.elementor-kit-9{--e-global-color-primary:#02142B;--e-global-color-secondary:#6C819B;--e-global-color-text:#02142B;--e-global-color-accent:#9A8D7D;--e-global-color-bfgsand:#E7DDD1;--e-global-color-bfgsky:#D0D9E8;--e-global-color-bfgsteel:#7F94A8;--e-global-color-bfgdeep:#031A25;--e-global-color-bfgwhite:#FFFFFF;--e-global-color-bfglight:#F9F9F9;--e-global-typography-primary-font-family:"Abhaya Libre";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Abhaya Libre";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.43em;--e-global-typography-accent-letter-spacing:0.07em;--e-global-typography-bfgmainhead-font-family:"Abhaya Libre";--e-global-typography-bfgmainhead-font-size:66px;--e-global-typography-bfgmainhead-font-weight:800;--e-global-typography-bfgmainhead-text-transform:uppercase;--e-global-typography-bfgmainhead-line-height:1.05em;--e-global-typography-bfgheading-font-family:"Abhaya Libre";--e-global-typography-bfgheading-font-size:40px;--e-global-typography-bfgheading-font-weight:800;--e-global-typography-bfgheading-text-transform:uppercase;--e-global-typography-bfgheading-line-height:1.05em;--e-global-typography-bfgsubheading-font-family:"Abhaya Libre";--e-global-typography-bfgsubheading-font-size:37px;--e-global-typography-bfgsubheading-font-weight:800;--e-global-typography-bfgsubheading-text-transform:uppercase;--e-global-typography-bfgsubheading-line-height:1.05em;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{background-color:#E7DDD1;font-family:"Inter", Sans-serif;font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:#02142B;border-radius:0px 0px 0px 0px;padding:20px 36px 20px 36px;}.elementor-kit-9 button:hover,.elementor-kit-9 button:focus,.elementor-kit-9 input[type="button"]:hover,.elementor-kit-9 input[type="button"]:focus,.elementor-kit-9 input[type="submit"]:hover,.elementor-kit-9 input[type="submit"]:focus,.elementor-kit-9 .elementor-button:hover,.elementor-kit-9 .elementor-button:focus{background-color:#02142B;color:#FFFFFF;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1199px){.elementor-kit-9{--e-global-typography-bfgmainhead-font-size:48px;--e-global-typography-bfgheading-font-size:40px;--e-global-typography-bfgsubheading-font-size:33px;}}@media(max-width:1024px){.elementor-kit-9{--e-global-typography-accent-font-size:12px;--e-global-typography-bfgmainhead-font-size:48px;--e-global-typography-bfgheading-font-size:36px;--e-global-typography-bfgsubheading-font-size:29px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9{--e-global-typography-accent-font-size:12px;--e-global-typography-bfgmainhead-font-size:32px;--e-global-typography-bfgheading-font-size:32px;--e-global-typography-bfgsubheading-font-size:29px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== BFG componenti (classi bfgn-*) =====
   Solo gli effetti che Elementor non ha come opzione: linee, frecce, puntini, animazioni al passaggio del mouse.
   Colori, testi, spaziature e caratteri si cambiano dai pannelli dei singoli elementi. */

/* Parole in grassetto nei titoli: blu polvere (come nel design) */
.bfgn-h strong { color: var(--e-global-color-secondary); font-weight: inherit; }
.bfgn-h-block strong { display: block; }

/* --- Banner home --- */
.bfgn-banner .elementor-background-video-container { opacity: 1; }
.bfgn-banner .elementor-background-video-hosted { object-fit: cover; }
.bfgn-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(2,20,43,0) 70%, rgba(2,20,43,.7) 100%), rgba(2,20,43,.35); }
.bfgn-banner > .e-con-inner > .elementor-element { position: relative; z-index: 2; }
.elementor .bfgn-banner-mainhead strong { display: block; text-align: right; color: #7F94A8; font-weight: 800; }
@media (max-width: 1024px) { .bfgn-banner-mainhead strong { text-align: center; } }
.bfgn-banner-links { width: 100%; }
.elementor .bfgn-banner-links .elementor-icon-list-items.elementor-inline-items { margin: 0; justify-content: space-between; row-gap: 20px; column-gap: 20px; }
.elementor .bfgn-banner-links .elementor-inline-items .elementor-icon-list-item { margin: 0; position: relative; }
.elementor .bfgn-banner-links .elementor-icon-list-item a { position: relative; }
.elementor .bfgn-banner-links .elementor-icon-list-item a::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 0; height: 1px; background: #9A8D7D; transition: all .45s; }
.elementor .bfgn-banner-links .elementor-icon-list-item a:hover::after { width: 100%; left: 0; }
.elementor .bfgn-banner-links .elementor-icon-list-item:not(:last-child)::before { content: ""; position: absolute; right: 0; top: 10px; width: 6px; height: 6px; background: #7F94A8; border-radius: 50%; opacity: .4; margin-right: -60px; }
@media (max-width: 1439px) { .elementor .bfgn-banner-links .elementor-icon-list-item:not(:last-child)::before { margin-right: -45px; } }
@media (max-width: 1280px) { .elementor .bfgn-banner-links .elementor-icon-list-item:not(:last-child)::before { margin-right: -40px; } }
@media (max-width: 1199px) { .elementor .bfgn-banner-links .elementor-icon-list-item:not(:last-child)::before { margin: 0; right: -20px; } }
@media (max-width: 1024px) {
  .elementor .bfgn-banner-links .elementor-icon-list-items.elementor-inline-items { justify-content: center; column-gap: 50px; }
  .bfgn-banner-links .elementor-icon-list-item:not(:last-child)::before { right: -28px; }
}

/* --- Loghi --- */
.elementor .bfgn-logos-car .swiper-slide { display: flex; align-items: center; justify-content: center; min-height: 100px; }
.elementor .bfgn-logos-car .swiper-slide-image { width: auto !important; }
.elementor .bfgn-logos-car .elementor-swiper-button:hover { color: #02142B; }

/* --- Intro --- */
.bfgn-intro-img { top: 0; z-index: 1; }
.bfgn-intro-img img { height: 100%; width: auto; max-width: none; }
@media (max-width: 1024px) {
  .bfgn-intro-img { position: relative !important; top: auto; right: auto !important; bottom: auto !important; padding-top: 40px; }
  .bfgn-intro-img img { height: auto; max-width: 100%; }
}

/* --- Card "Who We Serve" --- */
.bfgn-card { position: relative; overflow: hidden; transition: all .3s ease-in-out; text-decoration: none; }
.bfgn-card::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: #9A8D7D; transform: scaleX(0); transform-origin: left; transition: transform .35s ease-in-out; }
.bfgn-card:hover { background-color: #fff !important; box-shadow: 0 8px 40px rgba(108,129,155,.18); border-color: transparent !important; }
.bfgn-card:hover::after { transform: scaleX(1); }
.bfgn-card-cta .elementor-heading-title { display: flex; align-items: center; column-gap: 8px; transition: color .3s ease-in-out; }
.bfgn-card-cta span { display: inline-block; transition: transform .3s ease-in-out; }
.bfgn-card:hover .bfgn-card-cta .elementor-heading-title { color: #02142B; }
.bfgn-card:hover .bfgn-card-cta span { transform: translateX(5px); }

/* --- Striscia ricerca immobili: cerchi decorativi --- */
.bfgn-strip-left { --width: auto; flex: 1 1 0 !important; min-width: 0; --flex-grow: 1; }
.bfgn-strip { background-image:
  radial-gradient(circle 160px at 80px 80px, rgba(154,141,125,.08) 99%, transparent 100%),
  radial-gradient(circle 110px at calc(100% - 50px) calc(100% - 50px), rgba(108,129,155,.08) 99%, transparent 100%); }
.bfgn-strip-btn .elementor-button { white-space: nowrap; }

/* --- Servizi: card che si aprono al passaggio del mouse --- */
.bfgn-services::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(2,20,43,0) 40%, rgba(2,20,43,.6) 100%); }
.bfgn-services > .e-con-inner { position: relative; z-index: 2; }
.bfgn-service { position: relative; height: 116px; }
.bfgn-service .bfgn-service-main { position: absolute; left: 0; right: 0; bottom: 0; height: 116px; overflow: hidden; transition: all .3s ease; }
.bfgn-service:hover .bfgn-service-main { height: 360px; background-color: #9A8D7D !important; }
.bfgn-service-icon img { width: auto; max-height: 52px; }
.bfgn-service-icon { flex-shrink: 0; min-width: 50px; }
.bfgn-service-text { padding: 0 30px 30px; height: 220px; overflow: hidden; }
@media (max-width: 1199px) {
  .bfgn-service { height: 100%; }
  .bfgn-service .bfgn-service-main { position: relative; height: 100%; }
  .bfgn-service-text { height: auto; overflow: visible; }
}
@media (max-width: 767px) { .bfgn-service:hover .bfgn-service-main { height: auto; } }

/* --- Immagini con la cornice a L azzurra --- */
.bfgn-imgline { position: relative; }
.bfgn-imgline::before { content: ""; position: absolute; left: -15px; top: -15px; width: 98%; height: 98%; border-left: 4px solid #D0D9E8; border-top: 4px solid #D0D9E8; pointer-events: none; }

/* --- Link nei testi (Why choose, protezione) --- */
.bfgn-links a { font-weight: 600; color: #02142B; text-decoration: underline; }
.bfgn-links a:hover { text-decoration: none; color: #6C819B; }

/* --- Box "Why choose" --- */
.bfgn-about-box { transition: all .3s ease-in-out; }
.bfgn-about-box:hover { background-color: #fff !important; box-shadow: 0 0 32px rgba(108,129,155,.28); }
.bfgn-about-box.bfgn-about-last:hover { box-shadow: none; }
.bfgn-about-icon { flex-shrink: 0; }

/* --- Testimonianze --- */
.elementor .bfgn-testi-car .swiper { padding: 30px 0; }
.elementor .bfgn-testi-car .swiper-wrapper { align-items: stretch; }
.elementor .bfgn-testi-car .swiper-slide { height: auto !important; display: flex; }
.elementor .bfgn-testi-car .swiper-slide > .e-con, .elementor .bfgn-testi-car .bfgn-testi-box { flex: 1 1 auto; height: 100%; }
.elementor .bfgn-testi-car .swiper-pagination { position: static; margin-top: 14px; padding-top: 16px; padding-bottom: 14px; line-height: 16px; }
.bfgn-testi-name { position: relative; padding-bottom: 14px; }
.bfgn-testi-name::after { content: ""; position: absolute; left: 0; bottom: 0; width: 52px; height: 2px; background: #9A8D7D; }
.bfgn-testi-h strong { padding-left: 60px; }
.bfgn-testi-rating { background: url("data:image/svg+xml,%3Csvg width='49' height='40' viewBox='0 0 49 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.4962 0L20.0078 4.96124C15.5117 9.6124 12.721 14.5736 11.4807 19.3798C17.0621 19.3798 21.5582 24.031 21.5582 29.7674C21.5582 35.1938 17.0621 40 11.1706 40C4.3489 40 0.0078125 33.7985 0.0078125 25.2713C0.0078125 17.9845 3.5737 11.3178 13.4962 0ZM40.938 0L47.4497 4.96124C42.9536 9.6124 40.1629 14.5736 38.9225 19.3798C44.5039 19.3798 49.0001 24.031 49.0001 29.7674C49.0001 35.1938 44.5039 40 38.6125 40C31.7908 40 27.4497 33.7985 27.4497 25.2713C27.4497 17.9845 31.0156 11.3178 40.938 0Z' fill='%23D0D9E8'/%3E%3C/svg%3E") no-repeat right center; }
.bfgn-testi-text { flex-grow: 1; }
.elementor .bfgn-testi-car .swiper-pagination-bullet { width: 16px !important; height: 16px !important; background: #6C819B; opacity: .16; margin: 0 10px !important; }
.elementor .bfgn-testi-car .swiper-pagination-bullet-active, .elementor .bfgn-testi-car .swiper-pagination-bullet:hover { opacity: 1; }
@media (max-width: 1199px) { .bfgn-testi-h strong { padding-left: 0; } }

/* --- Processo: linea centrale tratteggiata, box sfalsati, frecce e pallini --- */
.bfgn-process-grid { position: relative; }
.bfgn-process-grid::after { content: ""; position: absolute; left: 50%; margin-left: -1px; top: 0; width: 2px; height: 100%; border-left: 2px dashed #D0D9E8; pointer-events: none; }
.bfgn-pbox { position: relative; align-self: start; margin-top: 160px; transition: all .3s ease-in-out; }
.bfgn-pbox:nth-child(odd) { margin-top: 0; margin-bottom: 160px; }
.bfgn-pbox:hover { background-color: #fff !important; box-shadow: 0 0 32px rgba(108,129,155,.28); }
.bfgn-pbox::before { content: ""; position: absolute; inset: auto; right: -36px; top: 110px; width: 0; height: 0; border: 18px solid; border-color: transparent transparent rgba(208,217,232,.32) rgba(208,217,232,.32); transform-origin: 0 0; transform: rotate(-135deg); transition: all .3s ease-in-out; opacity: 1; background: none; }
.bfgn-pbox:hover::before { border-color: transparent transparent #fff #fff; box-shadow: -3px 3px 3px 0 rgba(108,129,155,.06); }
.bfgn-pbox:nth-child(even)::before { right: auto; left: 0; top: 60px; transform: rotate(45deg); }
.bfgn-pbox::after { content: ""; position: absolute; right: -72px; top: 72px; width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%; background: #E7DDD1; border: 4px solid #9A8D7D; }
.bfgn-pbox:nth-child(even)::after { right: auto; left: -72px; }
.bfgn-ptop { position: relative; }
.bfgn-picon { flex-shrink: 0 !important; --flex-shrink: 0; height: 80px; }
@media (max-width: 767px) { .elementor .bfgn-intro-title .elementor-heading-title { font-size: 40px !important; } }
.bfgn-picon img { width: auto; }
.elementor .bfgn-plist .elementor-icon-list-item { align-items: flex-start !important; }
@media (max-width: 1024px) {
  .bfgn-process-grid::after, .bfgn-pbox::after { display: none; }
  .bfgn-pbox, .bfgn-pbox:nth-child(odd) { margin: 0; }
  .bfgn-pbox::before, .bfgn-pbox:nth-child(even)::before { transform: rotate(-45deg); right: auto; top: auto; left: 47%; bottom: -36px; }
  .bfgn-pbox:last-child::before { display: none; }
}

/* --- FAQ --- */
.elementor .bfgn-faq-acc .e-n-accordion-item { background: #fff; border: 0; }
.elementor .bfgn-faq-acc .e-n-accordion-item + .e-n-accordion-item { margin-top: 30px; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title { position: relative; min-height: 85px; padding: 10px 150px 10px 25px; display: flex; align-items: center; justify-content: flex-start; border: 0; background: #fff; cursor: pointer; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title-text { font-family: "Inter", sans-serif; font-weight: 600; font-size: 20px; line-height: 28px; color: #02142B; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title-icon { position: absolute; right: 0; top: 0; width: 60px; height: 85px; background: #02142B; display: flex; align-items: center; justify-content: center; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title-icon svg, .elementor .bfgn-faq-acc .e-n-accordion-item-title-icon i { fill: #fff !important; color: #fff !important; width: 26px; height: 26px !important; font-size: 26px; }
.elementor .bfgn-faq-acc .e-n-accordion-item > .e-con { border: 0; padding-top: 0; }
@media (max-width: 1199px) {
  .elementor .bfgn-faq-acc .e-n-accordion-item-title { padding-right: 75px; padding-left: 15px; }
  .bfgn-faq-acc .e-n-accordion-item-title-text { font-size: 18px; line-height: 22px; }
}
@media (max-width: 767px) {
  .elementor .bfgn-faq-acc .e-n-accordion-item-title { padding-right: 65px; }
  .bfgn-faq-acc .e-n-accordion-item-title-text { font-size: 16px; }
}
/* --- Banner scuri (contatti, profili): sfumature sopra la foto --- */
.bfgn-darkbanner::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(2,20,43,.8) 0%, rgba(2,20,43,0) 50%), linear-gradient(180deg, rgba(2,20,43,0) 70%, rgba(2,20,43,.7) 100%); }
.bfgn-darkbanner > .e-con-inner { position: relative; z-index: 2; }
.bfgn-mainhead strong { display: block; color: #7F94A8; font-weight: 800; }
@media (max-width: 767px) { .bfgn-profile-banner::after { background: linear-gradient(180deg, rgba(2,20,43,.8) 0%, rgba(2,20,43,0) 50%); } }

/* --- Profilo --- */
.bfgn-profile-banner { z-index: 1; }
.bfgn-profile-photo { flex-shrink: 0; height: 350px; }
.bfgn-profile-img, .bfgn-profile-img img { width: 100%; height: 100%; }
.bfgn-profile-img img { object-fit: cover; object-position: center top; }
.bfgn-profile-info { height: fit-content; }

/* --- Contatti --- */
.bfgn-contact-logo img { position: relative; margin: 0 auto -60px; }
@media (max-width: 1199px) { .bfgn-contact-logo img { margin: 0 auto; } }

/* --- Team --- */
.bfgn-team-photo { height: 500px; overflow: hidden; }
.bfgn-team-img, .bfgn-team-img img { width: 100%; height: 100%; }
.bfgn-team-img img { object-fit: cover; object-position: center top; transition: all .3s ease-in-out; }
.bfgn-team-box:hover .bfgn-team-img img { transform: scale(1.1); }
.bfgn-team-content { position: relative; transition: all .3s ease-in-out; }
.bfgn-team-box:hover .bfgn-team-content { background: #6C819B; }
.bfgn-team-arrow { position: absolute !important; right: 0; top: 0; width: 50px !important; height: 100%; background: #6C819B; display: flex; align-items: center; justify-content: center; }
@media (max-width: 1024px) { .bfgn-team-photo { height: 330px; } }
@media (max-width: 767px) { .bfgn-team-photo { height: auto; } }

/* --- Testi lunghi (profili, e in futuro pagine e articoli): titoli, elenchi con trattino, link --- */
.bfgn-content h1, .bfgn-content h2, .bfgn-content h3, .bfgn-content h4 { font-family: "Abhaya Libre", serif; font-weight: 800; color: #02142B; text-transform: uppercase; }
.bfgn-content h1 { font-size: 80px; line-height: .9; margin: 0 0 30px; }
.bfgn-content h2 { font-size: 72px; line-height: .9; margin: 0 0 30px; }
.bfgn-content h3 { font-size: 40px; line-height: 1.1; margin: 0 0 25px; }
.bfgn-content h4 { font-size: 30px; line-height: 1.1; margin: 0 0 25px; }
.bfgn-content-profile h2 { font-size: 40px; }
.bfgn-content p a { font-weight: 600; color: #02142B; text-decoration: underline; }
.bfgn-content p a:hover { color: #6C819B; }
.bfgn-content ul, .bfgn-content ol { margin: 0 0 30px; padding: 0; list-style: none; }
.bfgn-content ul li, .bfgn-content ol li { position: relative; font-size: 19px; font-weight: 500; line-height: 1.52; color: #02142B; margin: 0 0 10px; padding-left: 40px; }
.bfgn-content ul li::before, .bfgn-content ol li::before { content: ""; position: absolute; left: 0; top: 11px; width: 24px; height: 5px; background-color: #9A8D7D; }
.bfgn-content hr { margin: 60px 0; border: solid 1px #E7DDD1; }
@media (max-width: 1199px) {
  .bfgn-content h1 { font-size: 60px; } .bfgn-content h2 { font-size: 50px; } .bfgn-content-profile h2 { font-size: 40px; }
  .bfgn-content hr { margin: 30px 0; }
}
@media (max-width: 767px) {
  .bfgn-content h1 { font-size: 42px; } .bfgn-content h2, .bfgn-content-profile h2 { font-size: 36px; }
  .bfgn-content-profile h2 { font-size: 30px; } .bfgn-content h3 { font-size: 30px; } .bfgn-content h4 { font-size: 24px; }
}
/* --- Sidebar di landing e articoli --- */
.bfgn-rating { min-width: 156px; padding-right: 24px; margin-right: 24px; border-right: 1px solid #D0D9E8; flex-shrink: 0; }
.bfgn-rating sup { line-height: 12px; }
@media (max-width: 1280px) { .bfgn-rating { padding-right: 20px; margin-right: 20px; } }
@media (max-width: 767px) { .bfgn-rating { min-width: 130px; } }
.bfgn-sservice { transition: all .3s ease-in-out; text-decoration: none;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='18' viewBox='0 0 9 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.33398 1L8.00065 9L1.33398 17' stroke='%23D0D9E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center right 30px; }
.bfgn-sservice:hover { background-color: #6C819B !important;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='18' viewBox='0 0 9 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.33398 1L8.00065 9L1.33398 17' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.bfgn-sservice-icon { width: 48px !important; min-width: 48px; height: 34px; margin-right: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bfgn-sservice-icon img { width: auto; max-height: 34px; transition: all .3s ease-in-out; }
.bfgn-sservice:hover .bfgn-sservice-icon img { filter: brightness(0) invert(1); }
.bfgn-sservice-title .elementor-heading-title { transition: color .3s ease-in-out; }
.bfgn-sservice:hover .bfgn-sservice-title .elementor-heading-title { color: #fff; }
.bfgn-loc-left { flex: 1 1 0 !important; min-width: 0; --width: auto; --flex-grow: 1; }
.bfgn-loc-right { flex-shrink: 0 !important; --flex-shrink: 0; }
.elementor .bfgn-sidebar ul li::before { display: none; }
.elementor .bfgn-sidebar ul li { padding-left: 0; margin: 0; }
.bfgn-loc-img, .bfgn-loc-img img { width: 100%; height: 100%; }
.bfgn-loc-img img { object-fit: cover; }
/* la foto riempie il riquadro: l'altezza la decide il testo */
.bfgn-loc-right { position: relative; min-height: 170px; }
.bfgn-loc-right > .bfgn-loc-img { position: absolute !important; inset: 0; }
.bfgn-loc-right > .bfgn-loc-img img { position: absolute; inset: 0; }
/* Business Immigration: "IMMIGRATION" non sta a 75px su mobile */
@media (max-width: 767px) { .page-id-6054 .landing-banner .mainhead .elementor-heading-title, .page-id-6089 .landing-banner .mainhead .elementor-heading-title, .page-id-6090 .landing-banner .mainhead .elementor-heading-title { font-size: clamp(36px, 12vw, 75px); line-height: 1; } }
.bfgn-loc-title { position: relative; padding-bottom: 14px; }
.bfgn-loc-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px; background: #9A8D7D; }
/* --- Blog e archivi (Loop Grid) --- */
.bfgn-blog-box { transition: all .5s ease-in-out; text-decoration: none; }
.bfgn-blog-imgbox { height: 250px; overflow: hidden; }
.bfgn-blog-img, .bfgn-blog-img img { width: 100%; height: 100%; }
.bfgn-blog-img img { object-fit: cover; object-position: center top; transition: .7s ease-in-out; }
.bfgn-blog-box:hover .bfgn-blog-img img { transform: scale(1.05); }
.bfgn-blog-box .elementor-heading-title, .bfgn-blog-box .bfgn-card-excerpt { transition: color .5s ease-in-out; }
.bfgn-blog-box:hover .elementor-heading-title, .bfgn-blog-box:hover .bfgn-card-excerpt { color: #6C819B !important; }
.elementor .bfgn-loop .elementor-pagination { display: flex; justify-content: center; column-gap: 10px; margin-top: 30px; }
.elementor .bfgn-loop .page-numbers { display: inline-block; padding: 10px 14px; border: 1px solid #eee; font-size: 16px; color: #012722; line-height: 1; border-radius: 2px; font-weight: 600; background: #f9f9f9; text-decoration: none; }
.elementor .bfgn-loop .page-numbers.current, .elementor .bfgn-loop a.page-numbers:hover { color: #fff; background: #02142B; }
/* --- Articoli recenti --- */
.bfgn-recent-row { text-decoration: none; }
.bfgn-recent-thumb { flex-shrink: 0; }
.bfgn-recent-img, .bfgn-recent-img img { width: 100%; }
.bfgn-recent-text { flex: 1 1 0 !important; --flex-grow: 1; min-width: 0; }
/* --- Footer: sedi e social --- */
.bfgn-fsede-left { flex-shrink: 0 !important; }
.bfgn-fsede-img img { display: block; width: 100%; height: auto; }
.bfgn-fsede-right { flex: 1 1 0 !important; min-width: 0; --flex-grow: 1; }
.bfgn-fsede-title { position: relative; padding-bottom: 14px; }
.bfgn-fsede-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px; background: #9A8D7D; }
.elementor .bfgn-fsedi ul li::before { display: none; }
.elementor .bfgn-fsedi ul li { padding-left: 0; margin: 0; }
.elementor .bfgn-social .elementor-social-icon { border-radius: 0; }
/* ===== Home v2 (richieste del 10/10/2026): classi bfgv-* ===== */
.bfgn-banner-h1 .elementor-heading-title { text-shadow: 0 2px 6px rgba(0,0,0,.5); }
.bfgv-display span { color: #9c7a3c; }
.bfgv-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 16px; }
.bfgv-eyebrow .elementor-heading-title::after { content: ""; width: 110px; height: 2px; background: currentColor; opacity: .55; }
.bfgv-copy strong, .bfgv-re-sub strong { color: #3a4f78; }
.bfgv-copy u, .bfgv-re-sub u { text-underline-offset: 5px; text-decoration-thickness: 2px; }
.bfgv-outline .elementor-button { min-width: 230px; justify-content: center; }
/* Parte 2: card */
.bfgv-card { overflow: hidden; }
.elementor .bfgv-checks .elementor-icon-list-item { align-items: flex-start !important; }
.elementor .bfgv-checks .elementor-icon-list-icon { flex-shrink: 0; }
/* Parte 3: skyline e linee verticali */
.bfgv-biz { position: relative; overflow: hidden; }
.bfgv-biz > .e-con-inner { position: relative; z-index: 1; }
.bfgv-biz-grid > .bfgv-biz-item + .bfgv-biz-item { border-left: 1px solid rgba(11,31,69,.28); }
@media (max-width: 1024px) {
  .bfgv-biz-grid > .bfgv-biz-item + .bfgv-biz-item { border-left: 0; }
  .bfgv-biz::after { height: 200px; }
}
/* Parte 4: mini diagramma (solo titoli) + tre schede */
.bfgv-mv { position: relative; width: min(100%, 440px); aspect-ratio: 1 / .93; margin-inline: auto; }
.bfgv-mv > .bfgv-mv-c { position: absolute !important; width: 58% !important; aspect-ratio: 1; border-radius: 50%; padding: 0 9%; }
.bfgv-mv-re { left: 0; top: 0; background: #0b3170; padding-bottom: 14% !important; padding-right: 16% !important; }
.bfgv-mv-bl { right: 0; top: 0; background: rgba(79,108,152,.88); padding-bottom: 14% !important; padding-left: 16% !important; }
.bfgv-mv-ep { left: 21%; bottom: 0; background: rgba(214,176,103,.82); padding-top: 18% !important; }
.bfgv-mv > .bfgv-mv-core { position: absolute !important; left: 50%; top: 47%; transform: translate(-50%, -50%); width: 21% !important;
  aspect-ratio: 1; border-radius: 50%; background: #fffaf0; box-shadow: 0 4px 18px rgba(11,31,69,.18); z-index: 2; }
.bfgv-ac { border-radius: 14px; }
.bfgv-ac-re { background: #0b3170; }
.bfgv-ac-bl { background: #4f6c98; }
.bfgv-ac-ep { background: #ead7ab; }
.bfgv-ac-icon img { width: 44px; }
.bfgv-ac-shared { border-top: 1px solid rgba(255,255,255,.3); padding-top: 18px; }
.elementor .bfgv-ac-list .elementor-icon-list-item { align-items: flex-start !important; }
.elementor .bfgv-ac-list .elementor-icon-list-icon { margin-top: .3em; }
@media (max-width: 767px) {
  .bfgv-mv { width: min(100%, 300px); }
  .elementor .bfgv-mv-label .elementor-heading-title { font-size: 12px !important; }
  .elementor .bfgv-mv-core .elementor-heading-title { font-size: 11px !important; }
}

/* Parte 2 su mobile: schede che scorrono in orizzontale, la successiva si intravede */
@media (max-width: 767px) {
  .elementor .bfgv-cards { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important;
    margin-inline: -15px; padding: 4px 15px 14px; scrollbar-width: none; }
  .elementor .bfgv-cards::-webkit-scrollbar { display: none; }
  .elementor .bfgv-cards > .bfgv-card { flex: 0 0 86% !important; scroll-snap-align: start; }
  .bfgv-card-head { min-height: 92px !important; }
  .elementor .bfgv-checks { --e-icon-list-icon-size: 24px; --e-icon-list-icon-align: left; --e-icon-list-icon-margin: 0 10px 0 0; }
  .elementor .bfgv-checks .elementor-icon-list-icon { width: 24px !important; min-width: 24px; }
  .elementor .bfgv-checks .elementor-icon-list-icon svg, .elementor .bfgv-checks .elementor-icon-list-icon img { width: 24px !important; height: 24px !important; }
  .elementor .bfgv-checks .elementor-icon-list-text { padding-left: 8px !important; }
  .elementor .bfgv-checks, .elementor .bfgv-checks > .elementor-widget-container { padding: 0 !important; }
  .elementor .bfgv-checks { padding: 18px 16px 20px !important; }
  .elementor .bfgv-checks .elementor-icon-list-icon { padding-right: 0 !important; }
  .elementor .bfgv-checks .elementor-icon-list-text { font-size: 16px !important; }
  .bfgv-re-left .bfgv-copy { margin-bottom: 0; }
}

/* bfg-mobile-vertical (Beatrice 06/11): solo telefono, schede Real Estate, Business e Our Advantage una sotto l'altra */
@media (max-width: 767px) {
  .elementor .bfgv-re .bfgv-cards, .elementor .bfgv-biz .bfgv-cards, .elementor .bfgv-adv .bfgv-cards { flex-direction: column !important; flex-wrap: nowrap !important; overflow: visible; scroll-snap-type: none; margin-inline: 0; padding: 0; gap: 16px !important; }
  .elementor .bfgv-re .bfgv-cards > .bfgv-card, .elementor .bfgv-biz .bfgv-cards > .bfgv-card, .elementor .bfgv-adv .bfgv-cards > .bfgv-card { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; }
}
/* Parte 3 su tablet/mobile: griglia 2x2 compatta */
@media (max-width: 1024px) {
  .elementor .bfgv-biz-grid { grid-template-columns: repeat(2, 1fr) !important; row-gap: 28px !important; }
  .bfgv-biz-grid > .bfgv-biz-item:nth-child(even) { border-left: 1px solid rgba(11,31,69,.28) !important; }
}
@media (max-width: 767px) {
  .bfgv-biz-item { padding: 0 10px !important; }
  .bfgv-biz-icon { width: 56px !important; margin-bottom: 12px !important; }
  .elementor .bfgv-biz-item .elementor-heading-title { font-size: 17px !important; }
  .elementor .bfgv-biz-item .elementor-widget-text-editor { font-size: 14px !important; line-height: 1.4 !important; }
}

/* Hero su mobile */
@media (max-width: 767px) {
  .bfgn-banner-head { padding: 56px 0 40px !important; }
  .elementor .bfgn-banner-sub .elementor-heading-title { font-size: 19px !important; margin-top: 10px; }
  .elementor .bfgn-banner-links .elementor-icon-list-items.elementor-inline-items { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .elementor .bfgn-banner-links .elementor-icon-list-item { justify-content: center; text-align: center; border: 1px solid rgba(255,255,255,.35);
    padding: 10px 8px; font-size: 13px; }
  .elementor .bfgn-banner-links .elementor-icon-list-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .elementor .bfgn-banner-links .elementor-icon-list-item::before { display: none !important; }
}

/* Sede senza foto (Minnesota, apertura a breve): riquadro blu con il logo */
.bfgn-fsede-soon, .bfgn-loc-soon { background: #0d2a52; display: flex; align-items: center; justify-content: center; }
.bfgn-fsede-soon { align-self: center; aspect-ratio: 152 / 230; }
.bfgn-loc-soon { align-self: stretch; }
.bfgn-fsede-logo img, .bfgn-loc-logo img { width: 70% !important; margin-inline: auto; display: block; }
/* ===== fine BFG componenti ===== */

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }

/* Bottone WhatsApp (footer, posizione fissa) */
.bfg-wa.elementor-fixed { position: fixed; }
.bfg-wa .elementor-button { box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.bfg-wa .elementor-button-icon svg { width: 26px; height: 26px; fill: currentColor; }
@media (max-width: 767px) {
	.bfg-wa .elementor-button { padding: 15px !important; }
	.bfg-wa .elementor-button-text { display: none; }
	.bfg-wa .elementor-button-content-wrapper { gap: 0; }
}

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }

/* Bottone WhatsApp (footer, posizione fissa) */
.bfg-wa .elementor-button { box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.bfg-wa .elementor-button-icon svg { width: 26px; height: 26px; fill: currentColor; }
@media (max-width: 767px) {
	.bfg-wa .elementor-button { padding: 15px !important; }
	.bfg-wa .elementor-button-text { display: none; }
	.bfg-wa .elementor-button-content-wrapper { gap: 0; }
}

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }

a.bfgv-biz-item { text-decoration: none; color: inherit; }
a.bfgv-biz-item .elementor-heading-title { transition: color .3s ease-in-out; }
a.bfgv-biz-item:hover .elementor-heading-title { color: #6C819B !important; }
a.bfgv-biz-item .bfgv-biz-icon img { transition: transform .3s ease-in-out; }
a.bfgv-biz-item:hover .bfgv-biz-icon img { transform: translateY(-4px); }
/* ===== Revisione cliente 30/10: barra aree con "/" ===== */
.elementor .bfgn-banner-links .elementor-icon-list-item::before { display: none !important; }
.elementor .bfgn-banner-links .elementor-icon-list-item:not(:has(a)) { color: #9A8D7D; }
@media (min-width: 768px) { .elementor .bfgn-banner-links .elementor-icon-list-item a { white-space: nowrap; padding: 8px 0; } }
@media (min-width: 768px) and (max-width: 1199px) {
  .elementor .bfgn-banner-links .elementor-icon-list-items.elementor-inline-items { flex-wrap: nowrap; justify-content: space-between; column-gap: 6px; }
  .elementor .bfgn-banner-links .elementor-icon-list-item .elementor-icon-list-text { font-size: clamp(9px, 1.12vw, 12px); letter-spacing: .01em; }
}
@media (max-width: 767px) { .elementor .bfgn-banner-links .elementor-icon-list-item:not(:has(a)) { display: none !important; } }

/* ===== Revisione cliente 30/10: sezione Business come il design del cliente ===== */
.bfgv-biz .bfgv-display span { display: block; color: #E7DDD1; }
.elementor .bfgv-biz-ico { width: 66px; height: 66px; border-radius: 50%; background: rgba(255,255,255,.7); display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; }
.elementor .bfgv-biz-ico img { width: 37px !important; height: 37px; }
.bfgv-biz-right .bfgv-card-head { justify-content: flex-start !important; }
.bfgv-biz-note p { margin: 0; }
@media (max-width: 767px) {
  .bfgv-biz .bfgv-display span { display: inline; }
  .elementor .bfgv-biz-ico { width: 47px; height: 47px; margin-bottom: 10px; }
  .elementor .bfgv-biz-ico img { width: 29px !important; height: 29px; }
}
.elementor .bfgv-biz .bfgv-checks { --e-icon-list-icon-size: 18px; }
.elementor .bfgv-biz .bfgv-checks .elementor-icon-list-icon { width: 18px !important; min-width: 18px; padding: 0 !important; margin-top: 2px; }
.elementor .bfgv-biz .bfgv-checks .elementor-icon-list-icon svg { flex: 0 0 18px; min-width: 18px; }
.elementor .bfgv-biz .bfgv-checks .elementor-icon-list-icon svg, .elementor .bfgv-biz .bfgv-checks .elementor-icon-list-icon img { width: 18px !important; height: 18px !important; }
.elementor .bfgv-biz .bfgv-checks .elementor-icon-list-text { padding-left: 9px !important; font-size: 13px !important; line-height: 1.6; }
.elementor .bfgv-biz .bfgv-checks .elementor-icon-list-item:not(:last-child) { padding-bottom: 14px !important; }

/* ===== Revisione cliente 30/10: Our Advantage come il cliente (schede + fascia) ===== */
.bfgv-adv .bfgv-display span { display: block; }
.elementor .bfgv-adv .bfgv-checks { --e-icon-list-icon-size: 18px; }
.elementor .bfgv-adv .bfgv-checks .elementor-icon-list-icon { width: 18px !important; min-width: 18px; padding: 0 !important; margin-top: 2px; }
.elementor .bfgv-adv .bfgv-checks .elementor-icon-list-icon svg, .elementor .bfgv-adv .bfgv-checks .elementor-icon-list-icon img { width: 18px !important; height: 18px !important; flex: 0 0 18px; min-width: 18px; }
.elementor .bfgv-adv .bfgv-checks .elementor-icon-list-text { padding-left: 9px !important; font-size: 13px !important; line-height: 1.6; }
.elementor .bfgv-adv .bfgv-checks .elementor-icon-list-item:not(:last-child) { padding-bottom: 14px !important; }
.bfgv-adv-note-text p { margin: 0; }
@media (max-width: 767px) { .bfgv-adv .bfgv-display span { display: inline; } }
.elementor .bfgv-biz-ico > *, .elementor .bfgv-biz-ico a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.elementor .bfgv-biz-ico img { display: block; margin: 0 auto; }

/* ===== Revisione cliente 30/10: testimonianze come il cliente ===== */
.bfgn-testi-h strong { padding-left: 0 !important; display: inline; }
.bfgn-testi-h .elementor-heading-title { text-transform: uppercase; }
.elementor .bfgn-testi-car .swiper { padding: 10px 2px 20px; }
.bfgn-testi-name::after { width: 40px; }
.bfgn-testi-rating { background-size: 30px auto; }
.elementor .bfgn-testi-car { position: relative; }
.elementor .bfgn-testi-car .elementor-swiper-button { position: absolute; top: -26px !important; bottom: auto; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
  border: 1px solid #D0D9E8; background: #fff; color: #02142B; transform: none; font-size: 16px; }
.elementor .bfgn-testi-car .elementor-swiper-button svg { width: 16px; height: 16px; fill: #02142B !important; }
.elementor .bfgn-testi-car .elementor-swiper-button:hover { background: #6C819B; }
.elementor .bfgn-testi-car .elementor-swiper-button:hover svg { fill: #fff !important; }
.elementor .bfgn-testi-car .elementor-swiper-button-prev { left: auto !important; right: 50px !important; }
.elementor .bfgn-testi-car .elementor-swiper-button-next { right: 0 !important; }
.elementor .bfgn-testi-car .swiper-pagination-fraction { position: static; transform: none !important; display: block; width: 100% !important; text-align: center; font-size: 11px; color: #6C819B; margin-top: 0; padding: 0; }
@media (max-width: 767px) {
  .elementor .bfgn-testi-car .elementor-swiper-button { width: 34px; height: 36px; top: -24px !important; }
  .elementor .bfgn-testi-car .elementor-swiper-button-prev { right: 39px !important; }
}

/* ===== Revisione cliente 30/10: Our Process come il cliente ===== */
@media (min-width: 1025px) {
  .bfgn-process-grid::after { width: 1px; margin-left: 0; border-left: 1px dashed #D0D9E8; }
  .bfgn-pbox, .bfgn-pbox:nth-child(odd) { margin: 0 !important; }
  .bfgn-pbox:nth-child(even) { transform: translateY(45px); }
  .bfgn-pbox::before { display: none !important; }
  .bfgn-pbox::after { right: -41px; top: 36px; width: 12px; height: 12px; border-width: 3px; }
  .bfgn-pbox:nth-child(even)::after { left: -41px; right: auto; }
}

/* ===== Revisione cliente 30/10: FAQ come il cliente + fascia finale ===== */
.bfgn-faq-h strong { display: block; }
.elementor .bfgn-faq-img img { width: 330px; max-width: 100%; height: 330px; object-fit: cover; object-position: top; border: 6px solid #fff; margin-top: 25px; }
.elementor .bfgn-faq-acc .e-n-accordion-item + .e-n-accordion-item { margin-top: 13px; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title { min-height: 65px; padding: 17px 72px 17px 21px; }
html body .elementor .bfgn-faq-acc .e-n-accordion-item-title-text { font-size: 14px; line-height: 1.5; font-weight: 600; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title-icon { top: 0; bottom: 0; height: auto; width: 52px; }
.elementor .bfgn-faq-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: #6C819B; }
.elementor .bfgn-faq-acc .e-n-accordion-item-title-icon svg, .elementor .bfgn-faq-acc .e-n-accordion-item-title-icon i { width: 14px; height: 14px !important; font-size: 14px; }
.elementor .bfgn-faq-acc .e-n-accordion-item > .e-con { padding: 0 21px 18px; }
.elementor .bfgn-faq-acc .e-n-accordion-item > .e-con p { font-size: 14px; line-height: 1.7; margin: 12px 0 0; }
.bfg-arrow-ne .elementor-button-text::after { content: "↗"; margin-left: 24px; }
.bfgn-closing-tel a { color: #D0D9E8; }
.bfgn-closing-tel a:hover { color: #fff; }
.bfgn-closing-tel p { margin: 0; }
@media (max-width: 1199px) {
  .elementor .bfgn-faq-acc .e-n-accordion-item-title { padding-right: 56px; padding-left: 16px; }
  .elementor .bfgn-faq-acc .e-n-accordion-item-title-icon { width: 40px; }
  html body .elementor .bfgn-faq-acc .e-n-accordion-item-title-text { font-size: 14px; line-height: 1.5; }
}
@media (max-width: 767px) {
  .elementor .bfgn-faq-img img { width: 100%; height: 210px; object-position: center 20%; margin-top: 20px; }
  .elementor .bfgn-faq-acc .e-n-accordion-item + .e-n-accordion-item { margin-top: 10px; }
  .elementor .bfgn-faq-acc .e-n-accordion-item > .e-con { padding: 0 16px 16px; }
}

/* ===== Home degli Stati (Colorado, Minnesota) 30/10 ===== */
.bfgs-hero-link .elementor-button { border-bottom: 1px solid rgba(255,255,255,.44) !important; }
.bfgs-hero-link .elementor-button-text::after { content: "↓"; margin-left: 12px; }
.elementor .bfgs-sec .bfgv-checks { --e-icon-list-icon-size: 18px; }
.elementor .bfgs-sec .bfgv-checks .elementor-icon-list-icon { width: 18px !important; min-width: 18px; padding: 0 !important; margin-top: 2px; }
.elementor .bfgs-sec .bfgv-checks .elementor-icon-list-icon svg, .elementor .bfgs-sec .bfgv-checks .elementor-icon-list-icon img { width: 18px !important; height: 18px !important; flex: 0 0 18px; min-width: 18px; }
.elementor .bfgs-sec .bfgv-checks .elementor-icon-list-text { padding-left: 9px !important; font-size: 13px !important; line-height: 1.6; }
.elementor .bfgs-sec .bfgv-checks .elementor-icon-list-item:not(:last-child) { padding-bottom: 14px !important; }
.bfgs-sec .bfgv-display span { display: block; }
.bfgs-note p { margin: 0; }
.bfgs-more-h span { color: #E7DDD1; }
.bfgs-text-link .elementor-button { border-bottom: 1px solid rgba(255,255,255,.44) !important; }
.bfgs-text-link .elementor-button-text::after { margin-left: 12px !important; }
.bfgs-more-text p { margin: 0; max-width: 500px; }
.bfgs-faq-h strong { display: inline !important; }
.bfgs-credit p { margin: 0; }
.bfgs-credit a { color: #b7c3d2; text-decoration: underline; text-underline-offset: 3px; }
.bfgs-credit a:hover { color: #fff; }
.bfgn-faq-answer a { color: #02142B; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { .bfgs-sec .bfgv-display span { display: inline; } }



/* Minnesota Estate Planning (bfgm-*) */
.bfgm-p p,.bfgm-legal-text p{margin:0}
.bfgm-legal-text p+p{margin-top:8px}
.bfgm-legal-text a{color:#52667b;text-decoration:underline}
.bfgm-docs .elementor-icon-list-item{align-items:flex-start!important}
.bfgm-docs .elementor-icon-list-icon{margin-top:2px}
.bfgm-docs .elementor-icon-list-text strong{display:block;font-weight:600}
.bfgm-docs .elementor-icon-list-text span{display:block;margin-top:4px;font-size:13px;line-height:1.7;color:#64758a}
.bfgm-docs-dark .elementor-icon-list-text span{color:#D0D9E8}
.bfgm-nowrap .elementor-button{white-space:nowrap}
.bfgm-h-dark .elementor-heading-title{color:#FFFFFF}
.bfgm-h-dark strong{color:#b7c3d2}
.bfgm-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
@media (max-width:767px){.bfgm-photo img{aspect-ratio:4/3}}
/* telefono nell'hero: sottolineato senza freccia; piede delle schede in basso */
.bfgm-call .elementor-button-text::after{content:none}
.bfgm-card-foot{margin-top:auto!important}
/* fine Minnesota Estate Planning */


/* Blog (bfgb-*) */
/* hero: l'eyebrow e il testo arrivano dai tag dinamici */
.bfgb-lead p{margin:0}
/* schede degli articoli (elenco e archivi) */
.elementor .bfgn-blog-box{border:1px solid #D0D9E8!important;background:#FFFFFF!important;transition:border-color .2s}
.elementor .bfgn-blog-box:hover{border-color:#6C819B!important}
.elementor .bfgn-blog-title .elementor-heading-title{font-size:20px!important;line-height:1.2!important}
.elementor .bfgn-card-excerpt,.elementor .bfgn-card-excerpt p{font-size:14px!important;line-height:1.7!important;color:#64758a!important}
/* paginazione: su mobile va a capo invece di uscire dallo schermo */
.elementor .bfgn-blog .elementor-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0}
/* articolo: testo a 16px, titoli in scala con le pagine */
.single-post .bfg-post-thumb img{width:100%;height:auto}
.single-post .bfg-post-content p,.single-post .bfg-post-content li{font-size:16px!important;line-height:1.75!important}
.single-post .cms-case .bfg-post-content h2{font-size:30px!important;line-height:1.15!important;margin-top:40px}
.single-post .cms-case .bfg-post-content h3{font-size:24px!important;line-height:1.2!important}
.single-post .cms-case .bfg-post-content h4{font-size:20px!important;line-height:1.25!important}
.single-post .author-bio h3,.single-post .author-bio h4{font-size:24px!important;line-height:1.2!important}
.single-post .cms-case{padding-top:70px!important}
/* sidebar */
.elementor .bfgn-recent>.elementor-widget-heading .elementor-heading-title,
.elementor .bfgn-sservices>.elementor-widget-heading .elementor-heading-title,
.elementor .bfgn-slocations>.elementor-widget-heading .elementor-heading-title{font-size:24px!important;line-height:1.15!important;text-transform:uppercase!important}
.elementor .bfgn-recent-title .elementor-heading-title{font-size:15px!important;line-height:1.3!important}
.elementor .bfgn-sservice-title .elementor-heading-title{font-size:16px!important;line-height:1.3!important}
.elementor .bfgn-loc-title .elementor-heading-title{font-size:16px!important;line-height:1.3!important}
.elementor .bfgn-cta-title .elementor-heading-title{font-size:24px!important;line-height:1.15!important}
@media (max-width:767px){
	.single-post .cms-case .bfg-post-content h2{font-size:26px!important}
	.single-post .cms-case .bfg-post-content h3{font-size:21px!important}
	.single-post .cms-case{padding-top:40px!important}
}
/* fine blog */

/* Pagine di servizio (bfgp-*) */
.bfgp-flow p+p{margin-top:14px}
.bfgp-dark strong{color:#FFFFFF}
.bfgp-photo{width:100%}
.bfgp-photo a{display:block}
.bfgp-photo img{width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover}
@media (max-width:1024px){.bfgp-photo img{aspect-ratio:16/10}}
/* titoli nelle colonne strette (27%) */
@media (min-width:1025px){.bfgp-narrow .elementor-heading-title{font-size:29px!important}}
/* team: foto orizzontale tagliata in alto */
.bfgp-team-photo img{aspect-ratio:5/4!important;object-position:center 20%}
/* team: schede alla stessa altezza */
.bfgp-team-card{height:100%}
.bfgp-team-body{flex-grow:1}
.bfgp-team-card h3 a{color:inherit}
/* barra dei servizi nell'hero: voce della pagina corrente */
.bfgp-current{padding-bottom:4px;border-bottom:1px solid #E7DDD1;color:#E7DDD1;white-space:nowrap}
/* mobile: l'ultima voce va a tutta larghezza solo se le voci visibili sono dispari (i separatori nascosti contano come figli) */
@media (max-width:1024px){.elementor .bfgn-banner-links .elementor-icon-list-item:last-child:nth-child(4n+3){grid-column:auto}}
@media (max-width:767px){.elementor .bfgn-banner-links .elementor-icon-list-item:has(.bfgp-current){display:flex!important;border-color:#E7DDD1}.bfgp-current{padding-bottom:0;border-bottom:0}}
/* link nel testo (guide, pagine collegate) */
.bfgp-inline{color:#02142B!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:#9A8D7D}
.bfgp-inline:hover{color:#6C819B!important}
/* pagine legali (bfgl-*) */
.bfgl-nav ul{margin:18px 0 0;padding:0;list-style:none}
.bfgl-nav li{padding:12px 0;border-top:1px solid #D0D9E8;font-size:14px}
.bfgl-nav li:last-child{border-bottom:1px solid #D0D9E8}
.bfgl-nav a{color:#64758a!important}
.bfgl-nav a:hover{color:#02142B!important}
.bfgl-current{color:#02142B;font-weight:600}
.bfgl-legal{color:#02142B;font-size:15px;line-height:1.8}
.bfgl-legal p{margin:0 0 16px}
.bfgl-legal h2,.bfgl-legal h3,.bfgl-legal h4{font-family:"Abhaya Libre",serif;font-weight:800;color:#02142B;text-transform:uppercase;line-height:1.2;margin:34px 0 14px}
.bfgl-legal h2{font-size:26px}.bfgl-legal h3{font-size:22px}.bfgl-legal h4{font-size:19px}
.bfgl-legal ul,.bfgl-legal ol{margin:0 0 16px;padding-left:20px}
.bfgl-legal li{margin-bottom:8px}
.bfgl-legal hr{border:0;border-top:1px solid #D0D9E8;margin:30px 0}
.bfgl-legal a{color:#02142B!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9A8D7D}
@media (max-width:1024px){.bfgl-section .e-con:has(>.elementor-widget.bfgl-nav){order:2}}
/* mobile: voci della barra allineate a sinistra (anche quelle su due righe e la voce corrente senza link) */
@media (max-width:767px){.elementor .bfgn-banner-links .elementor-icon-list-item{justify-content:flex-start;text-align:left}.elementor .bfgn-banner-links .elementor-icon-list-item a{justify-content:flex-start}.elementor .bfgn-banner-links .elementor-icon-list-text{text-align:left}}
/* landing Google Ads (modello Canvas): titolo dinamico [bfg_lander_h1] con lo stile dell'H1 dell'hero */
/* modello Canvas: nessun header fisso, quindi niente spazio in alto e hero non più sotto l'header */
body.elementor-template-canvas{padding-top:0!important}
body.elementor-template-canvas .bfgn-banner{margin-top:0!important}
.bfgl-h1-wrap{width:100%}
.bfg-lander-h1{margin:0;font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(32px,4.4vw,58px);line-height:1.15;text-transform:uppercase;letter-spacing:.02em;color:#FFFFFF;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.6)}
/* landing: hero chiaro come quello dell'agenzia (titolo serif in minuscolo, navy) */
.bfgl-h1-light .bfg-lander-h1{text-align:left;color:#02142B;text-transform:none;letter-spacing:0;text-shadow:none;font-size:clamp(32px,3.6vw,52px);line-height:1.12}
.bfgl-hero-photo img{width:100%!important;height:auto!important;aspect-ratio:5/6;object-fit:cover;object-position:center top}
.bfgl-top-link p{margin:0}.bfgl-top-link a{color:#64758a!important}.bfgl-top-link a:hover{color:#02142B!important}
.bfgl-tel-btn .elementor-button{white-space:nowrap}
.bfgl-top-right{margin-left:auto;justify-content:flex-end!important}.bfgl-top-logo{flex:0 0 auto}
@media (max-width:767px){.bfgl-top-link{display:none}.bfgl-hero-photo img{aspect-ratio:4/3}}
.bfgl-top-tel{text-align:right}.bfgl-top-tel p{margin:0}.bfgl-top-tel a{color:#FFFFFF!important;font-weight:600}
.bfgl-book-text a,.bfgl-foot-text a{color:#FFFFFF!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9A8D7D}
.bfgl-foot-text p{margin:0}
/* fine pagine di servizio */


/* Ancore: la sezione non finisce sotto l'header fisso (06/11) */
.elementor-element[id]:not(.bfg-header){scroll-margin-top:100px}

/* bfgr-inizio (landing allineate alla prod 06/11) */
.elementor .bfgr-trust { border-bottom: 1px solid #D0D9E8; }
.elementor .bfgr-trust-in { align-items: center; justify-content: space-between; gap: 30px; }
.elementor .bfgr-trust-in > .elementor-widget { width: auto !important; }
.elementor .bfgr-trust-left p { margin: 0; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: #6C819B; }
.elementor .bfgr-trust-left strong { color: #0A1F44; font-weight: 600; }
.elementor .bfgr-trust-right ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.elementor .bfgr-trust-right li { font-size: 14px; color: #0A1F44; padding-left: 22px; position: relative; }
.elementor .bfgr-trust-right li::before { content: "✓"; position: absolute; left: 0; color: #9A8D7D; font-weight: 700; }
.elementor .bfgr-revs-head { margin-bottom: 28px; }
.elementor .bfgr-revs-grid { gap: 20px; align-items: stretch; }
.elementor .bfgr-rev { flex: 1 1 220px !important; width: auto !important; background: #fff; border: 1px solid #D0D9E8; padding: 25px; }
.elementor .bfgr-rev p { margin: 0; }
.elementor .bfgr-stars { color: #C9A24B; font-size: 16px; letter-spacing: .1em; margin-bottom: 10px; }
.elementor .bfgr-kicker { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: #6C819B; margin-bottom: 12px; }
.elementor .bfgr-quote { font-size: 15px; line-height: 1.5; color: #0A1F44; margin-bottom: 14px; flex-grow: 1; }
.elementor .bfgr-author { font-size: 14px; font-weight: 600; color: #0A1F44; margin-bottom: 12px; }
.elementor .bfgr-full a { font-size: 12px; color: #6C819B; text-decoration: underline; }
.elementor .bfgr-revs-note { font-size: 12px; line-height: 1.6; color: #6C819B; margin-top: 24px; }
.elementor .bfgr-revs-note p { margin: 0; }
.elementor .bfgr-revs-foot { margin-top: 22px; }
.elementor .bfgr-closing-sub p { margin: 12px 0 0; color: #D0D9E8; font-size: 15px; }
.elementor .bfgr-proc-sub { text-align: center; margin-bottom: 30px; }
.elementor .bfgr-proc-sub p { margin: 0; font-size: 15px; line-height: 1.65; }
@media (max-width: 767px) {
  .elementor .bfgr-trust-in { flex-direction: column !important; align-items: flex-start; gap: 14px; }
  .elementor .bfgr-trust-right ul { flex-direction: column; }
  .elementor .bfgr-rev { flex: 1 1 100% !important; }
}
@media (min-width: 1025px) {
  .elementor .bfgc-outcome > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
  .elementor .bfgc-outcome > .elementor-widget-button { flex: 0 0 auto !important; }
}
/* bfgr-fine *//* End custom CSS */