/* =========================================================
   FOODIGITAL — FD CSS (THEME-FIRST / Blocksy friendly)
   Obiettivo:
   - Header/Menu/Footer gestiti da Blocksy (NON nascosti)
   - Fondo bianco solo nell’area FD (.fd-wrap)
   - Fix sticky/modal per Blocksy solo quando FD è presente
   - Tutto il resto scoped dentro .fd-wrap (no stili globali invasivi)
========================================================= */

/* =========================================================
   GLOBAL OVERRIDES (Foodigital global header/footer)
   - Nasconde Header/Footer Blocksy quando FD è attivo
   - Mantiene fondo bianco
   Nota: usiamo sia :has() (modern) sia body.fd-has-fd (fallback via JS)
========================================================= */

body:has(.fd-wrap), body.fd-has-fd { background:#fff; }

body:has(.fd-wrap) .ct-header,
body:has(.fd-wrap) .ct-footer,
body:has(.fd-wrap) header#header,
body:has(.fd-wrap) footer#footer,
body:has(.fd-wrap) .site-header,
body:has(.fd-wrap) .site-footer,
body.fd-has-fd .ct-header,
body.fd-has-fd .ct-footer,
body.fd-has-fd header#header,
body.fd-has-fd footer#footer,
body.fd-has-fd .site-header,
body.fd-has-fd .site-footer{
  display:none !important;
}

/* Evita spazio vuoto lasciato dal tema */
body:has(.fd-wrap) #main-container,
body:has(.fd-wrap) #content,
body:has(.fd-wrap) #primary,
body:has(.fd-wrap) .site-content,
body.fd-has-fd #main-container,
body.fd-has-fd #content,
body.fd-has-fd #primary,
body.fd-has-fd .site-content{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* -------------------------
   Blocksy: fix overflow/transform che possono rompere sticky/modal
   Applica SOLO quando FD è presente:
   - Chrome/Edge/Safari: :has(.fd-wrap)
   - Firefox fallback: body.fd-has-fd (aggiunta da fd-global.js)
------------------------- */

/* Chrome/Edge/Safari */
body:has(.fd-wrap) .ct-container,
body:has(.fd-wrap) .ct-content,
body:has(.fd-wrap) .site-content,
body:has(.fd-wrap) #main,
body:has(.fd-wrap) #primary,
body:has(.fd-wrap) .entry-content{
  overflow: visible !important;
  transform: none !important;
}

/* Firefox fallback via JS: body.fd-has-fd */
body.fd-has-fd .ct-container,
body.fd-has-fd .ct-content,
body.fd-has-fd .site-content,
body.fd-has-fd #main,
body.fd-has-fd #primary,
body.fd-has-fd .entry-content{
  overflow: visible !important;
  transform: none !important;
}

/* -------------------------
   Z-index forti per componenti FD (solo dentro FD)
------------------------- */
body:has(.fd-wrap) .fd-wrap .fd-topbar{ z-index: 999998 !important; }
body:has(.fd-wrap) .fd-wrap .fd-mega,
body:has(.fd-wrap) .fd-wrap .fd-modal,
body:has(.fd-wrap) .fd-wrap .fd-stickyCta{ z-index: 999999 !important; }

body.fd-has-fd .fd-wrap .fd-topbar{ z-index: 999998 !important; }
body.fd-has-fd .fd-wrap .fd-mega,
body.fd-has-fd .fd-wrap .fd-modal,
body.fd-has-fd .fd-wrap .fd-stickyCta{ z-index: 999999 !important; }

/* =========================================================
   UI CSS (SCOPED .fd-wrap)
   NOTE:
   - Niente font globali: eredita dal tema (Blocksy)
   - Sfondo bianco: solo area FD
========================================================= */

.fd-wrap{
  --fd-bg:#ffffff;
  --fd-card:#ffffff;
  --fd-ink:#0f172a;
  --fd-muted:#475569;
  --fd-border:rgba(15,23,42,.12);
  --fd-shadow-sm:0 10px 30px rgba(2,6,23,.08);
  --fd-shadow-md:0 18px 60px rgba(2,6,23,.12);
  --fd-radius:22px;
  --fd-radius-sm:16px;
  --fd-max:1120px;
  --fd-g:18px;
  --fd-t:260ms;
  --fd-e:cubic-bezier(.2,.8,.2,1);
  --fd-a:#ff4d2d;
  --fd-b:#0ea5e9;
  --fd-a2:rgba(255,77,45,.14);
  --fd-b2:rgba(14,165,233,.14);
  --fd-focus:0 0 0 4px rgba(14,165,233,.25);

  /* theme-first */
  font-family: inherit;
  color: inherit;

  background: var(--fd-bg);
}

/* Base reset (scoped) */
.fd-wrap, .fd-wrap *{box-sizing:border-box;}
.fd-wrap img, .fd-wrap video{max-width:100%; height:auto; display:block;}
.fd-wrap a{text-decoration:none; color:inherit;}
.fd-wrap :focus-visible{outline:none; box-shadow:var(--fd-focus); border-radius:14px;}

.fd-wrap .fd-shell{max-width:var(--fd-max); margin:0 auto; padding:16px 14px 64px;}
@media (min-width:480px){ .fd-wrap .fd-shell{padding:18px 16px 72px;} }
@media (min-width:1024px){ .fd-wrap .fd-shell{padding:22px 18px 86px;} }

.fd-wrap .fd-h1{font-size:clamp(30px,3.6vw,54px); line-height:1.02; letter-spacing:-.03em; margin:12px 0 10px; font-weight:950; color:var(--fd-ink);}
.fd-wrap .fd-h2{font-size:clamp(22px,2.6vw,34px); line-height:1.1; letter-spacing:-.02em; margin:0 0 8px; font-weight:950; color:var(--fd-ink);}
.fd-wrap .fd-p{color:var(--fd-muted); font-size:16px; line-height:1.55; margin:0;}
.fd-wrap .fd-sub{color:var(--fd-muted); font-size:16px; line-height:1.6; margin:0 0 18px;}
.fd-wrap .fd-link{border-bottom:1px solid rgba(15,23,42,.25); font-weight:850;}
.fd-wrap .fd-link:hover{border-bottom-color:rgba(15,23,42,.55);}

/* TOPBAR (se la usi in una pagina specifica) */
.fd-wrap .fd-topbar{
  position:-webkit-sticky;
  position:sticky;
  top:calc(env(safe-area-inset-top, 0px) + 8px);
  z-index:999998;
  margin:8px 0 0;
}
@media (min-width:768px){
  .fd-wrap .fd-topbar{
    top:calc(env(safe-area-inset-top, 0px) + 10px);
    margin-top:10px;
  }
}
.fd-wrap .fd-topbar__in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 55px rgba(2,6,23,.10);
  backdrop-filter:saturate(140%) blur(10px);
}

.fd-wrap .fd-brand{display:flex; gap:10px; align-items:center; min-width:0;}
.fd-wrap .fd-brand__logo{
  width:38px; height:38px; border-radius:14px;
  background:linear-gradient(135deg,var(--fd-a),var(--fd-b));
  box-shadow:0 10px 24px rgba(2,6,23,.16);
}
.fd-wrap .fd-brand__name{display:block; font-weight:950; letter-spacing:-.02em; white-space:nowrap; color:var(--fd-ink);}
.fd-wrap .fd-brand__tag{display:none; font-size:12px; color:var(--fd-muted); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
@media (min-width:768px){ .fd-wrap .fd-brand__tag{display:block;} }

.fd-wrap .fd-topbar__actions{display:flex; align-items:center; gap:8px;}

/* Buttons */
.fd-wrap .fd-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 14px; border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  font-weight:950; letter-spacing:-.01em;
  transition:transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), filter var(--fd-t) var(--fd-e);
  color:var(--fd-ink);
}
.fd-wrap .fd-btn:hover{transform:translateY(-1px); box-shadow:var(--fd-shadow-sm); filter:saturate(1.05);}
.fd-wrap .fd-btn:active{transform:translateY(1px);}
.fd-wrap .fd-btn--primary{
  background:linear-gradient(90deg, rgba(255,77,45,.95), rgba(14,165,233,.95));
  color:#fff; border-color:transparent;
  box-shadow:0 18px 45px rgba(255,77,45,.16);
}
.fd-wrap .fd-btn--ghost{background:#fff; border-color:rgba(15,23,42,.14);}
.fd-wrap .fd-btn--full{width:100%;}

/* Menu button */
.fd-wrap .fd-menuBtn{
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-menuBtn:hover{transform:translateY(-1px); box-shadow:var(--fd-shadow-sm);}
.fd-wrap .fd-menuBtn:active{transform:translateY(1px);}
.fd-wrap .fd-menuBtn__lines{width:18px; height:12px; position:relative;}
.fd-wrap .fd-menuBtn__lines:before{
  content:""; position:absolute; left:0; right:0; top:0;
  height:2px; border-radius:99px;
  background:rgba(15,23,42,.85);
  box-shadow:0 5px 0 0 rgba(15,23,42,.85);
}
.fd-wrap .fd-menuBtn__lines:after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; border-radius:99px;
  background:rgba(15,23,42,.85);
}

/* Mobile/desktop visibility */
@media (max-width:767px){
  .fd-wrap .fd-topbar__actions .fd-btn{display:none;}
  .fd-wrap .fd-topbar__actions .fd-menuBtn{display:inline-flex;}
}
@media (min-width:768px){
  .fd-wrap .fd-topbar__actions .fd-btn{display:inline-flex;}
  .fd-wrap .fd-topbar__actions .fd-menuBtn{display:inline-flex;}
}

/* =========================================================
   MEGA MENU (solo se lo usi)
========================================================= */
.fd-wrap .fd-mega{position:fixed; inset:0; z-index:260;}
.fd-wrap .fd-mega[hidden]{display:none;}
.fd-wrap .fd-mega__backdrop{position:absolute; inset:0; background:rgba(2,6,23,.45);}

.fd-wrap .fd-mega__panel{
  position:absolute;
  left:12px; right:12px; top:18px;
  background:#fff;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 30px 110px rgba(2,6,23,.18);
  overflow:hidden;
  transform:translateY(-6px);
  opacity:0;
  transition:transform var(--fd-t) var(--fd-e), opacity var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-mega.fd-open .fd-mega__panel{transform:translateY(0); opacity:1;}

@media (min-width:768px){
  .fd-wrap .fd-mega__panel{
    width:min(920px, calc(100% - 80px));
    left:50%;
    right:auto;
    transform:translate(-50%,-6px);
  }
  .fd-wrap .fd-mega.fd-open .fd-mega__panel{transform:translate(-50%,0); opacity:1;}
}

.fd-wrap .fd-mega__head{
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 22px;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.fd-wrap .fd-mega__title{font-weight:950; letter-spacing:-.02em; font-size:18px; color:var(--fd-ink);}

.fd-wrap .fd-mega__close{
  width:44px; height:44px; border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff; cursor:pointer;
  display:grid; place-items:center;
  position:relative;
}
.fd-wrap .fd-mega__close:before,
.fd-wrap .fd-mega__close:after{
  content:""; width:16px; height:2px; border-radius:2px;
  background:rgba(15,23,42,.85);
  position:absolute;
}
.fd-wrap .fd-mega__close:before{transform:rotate(45deg);}
.fd-wrap .fd-mega__close:after{transform:rotate(-45deg);}

.fd-wrap .fd-mega__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  padding:22px;
}
@media (min-width:768px){
  .fd-wrap .fd-mega__grid{grid-template-columns:repeat(3,1fr); gap:40px;}
}

.fd-wrap .fd-mega__col{border:0; background:transparent; padding:0;}
.fd-wrap .fd-mega__k{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  color:rgba(15,23,42,.55);
  margin-bottom:14px;
}
.fd-wrap .fd-mega__a,
.fd-wrap .fd-mega__link{
  display:block;
  padding:10px 0;
  font-weight:800;
  color:rgba(15,23,42,.92);
}
.fd-wrap .fd-mega__a:hover,
.fd-wrap .fd-mega__link:hover{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:2px;
}

.fd-wrap .fd-mega__cta,
.fd-wrap .fd-mega__ctaRow{
  display:flex;
  gap:12px;
  padding:18px 22px;
  border-top:1px solid rgba(15,23,42,.06);
  background:rgba(15,23,42,.02);
}
@media (max-width:480px){
  .fd-wrap .fd-mega__cta,
  .fd-wrap .fd-mega__ctaRow{flex-direction:column;}
  .fd-wrap .fd-mega__cta .fd-btn,
  .fd-wrap .fd-mega__ctaRow .fd-btn{width:100%;}
}
@media (prefers-reduced-motion: reduce){
  .fd-wrap .fd-mega__panel{transition:none;}
}

/* =========================================================
   HERO / SEZIONI / STACK / FAQ / FORM / STICKY / FOOTER
   (ripreso dal tuo file, scoped)
========================================================= */

.fd-wrap .fd-hero{padding:18px 0 0;}
.fd-wrap .fd-hero__grid{display:grid; grid-template-columns:1fr; gap:14px;}
@media (min-width:768px){
  .fd-wrap .fd-hero__grid{grid-template-columns:1.08fr .92fr; align-items:stretch;}
}

.fd-wrap .fd-badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.85);
  font-weight:950; font-size:13px;
  color:var(--fd-ink);
}
.fd-wrap .fd-badge__dot{width:10px; height:10px; border-radius:99px; background:linear-gradient(135deg,var(--fd-a),var(--fd-b));}

.fd-wrap .fd-hero__ctas{display:flex; flex-direction:column; gap:10px; margin:16px 0 10px;}
@media (min-width:480px){ .fd-wrap .fd-hero__ctas{flex-direction:row;} }

.fd-wrap .fd-proofList{
  margin:10px 0 0; padding:0; list-style:none;
  display:flex; flex-wrap:wrap; gap:10px;
}
.fd-wrap .fd-proofList li{
  font-size:13px; font-weight:900; color:rgba(15,23,42,.75);
  padding:8px 10px; border-radius:999px;
  background:rgba(15,23,42,.04);
  border:1px solid rgba(15,23,42,.08);
}

.fd-wrap .fd-videoCard{
  border:1px solid rgba(15,23,42,.12);
  border-radius:var(--fd-radius);
  overflow:hidden;
  background:radial-gradient(900px 320px at 10% 0%, var(--fd-a2), transparent 60%),
             radial-gradient(900px 320px at 90% 0%, var(--fd-b2), transparent 60%),
             #fff;
  box-shadow:var(--fd-shadow-sm);
}

.fd-wrap .fd-videoCard__btn{display:block; width:100%; border:0; background:none; padding:0; cursor:pointer; text-align:left;}
.fd-wrap .fd-videoCard__img{position:relative; min-height:240px; background:#eaf2ff; overflow:hidden;}
.fd-wrap .fd-videoCard__img img{width:100%; height:100%; object-fit:cover; display:block; opacity:0;}
.fd-wrap .fd-videoCard__bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.fd-wrap .fd-videoCard__img:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(2,6,23,.42), rgba(2,6,23,0) 55%),
             radial-gradient(800px 320px at 30% 15%, rgba(14,165,233,.18), transparent 60%);
  pointer-events:none;
}
.fd-wrap .fd-play{
  position:absolute; left:16px; bottom:16px;
  width:52px; height:52px; border-radius:18px;
  background:rgba(255,255,255,.92);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 40px rgba(2,6,23,.18);
  z-index:2;
}
.fd-wrap .fd-play:before{
  content:""; width:0;height:0;
  border-left:12px solid rgba(15,23,42,.85);
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  margin-left:2px;
}
.fd-wrap .fd-videoCard__meta{display:block; padding:12px 14px 14px;}
.fd-wrap .fd-videoCard__t{display:block; font-weight:950; letter-spacing:-.02em; color:var(--fd-ink);}
.fd-wrap .fd-videoCard__s{display:block; margin-top:2px; color:var(--fd-muted); font-weight:750; font-size:13px;}
.fd-wrap .fd-videoCard__mini{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 14px 14px;}
.fd-wrap .fd-miniStat{border:1px solid rgba(15,23,42,.10); border-radius:18px; padding:12px; background:#fff;}
.fd-wrap .fd-miniStat__k{font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:950; color:rgba(15,23,42,.7);}
.fd-wrap .fd-miniStat__v{margin-top:2px; font-weight:950; letter-spacing:-.02em; color:var(--fd-ink);}

.fd-wrap .fd-sec{padding:28px 0;}
@media (min-width:1024px){ .fd-wrap .fd-sec{padding:44px 0;} }
.fd-wrap .fd-sec__head{margin-bottom:14px;}

.fd-wrap .fd-card{
  border:1px solid rgba(15,23,42,.12);
  border-radius:var(--fd-radius);
  background:#fff;
  box-shadow:var(--fd-shadow-sm);
  padding:16px;
  transition:transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), border-color var(--fd-t) var(--fd-e);
}

.fd-wrap .fd-stackSentinel{height:1px;}

.fd-wrap .fd-methodStack{
  margin:14px auto 0;
  display:block;
  max-width:920px;
  padding-bottom:var(--fd-stack-space, 18vh);
  position:relative;
}
.fd-wrap .fd-methodStack .fd-step{
  position:sticky;
  top:var(--fd-stack-top, 18vh);
  transform:translateY(calc(var(--fd-i, 0) * var(--fd-stack-gap, 18px)));
  z-index:calc(10 + var(--fd-i, 0));
  margin-bottom:18px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:var(--fd-radius);
  background:#fff;
  box-shadow:var(--fd-shadow-sm);
  padding:16px;
  border-color:rgba(15,23,42,.14);
  will-change:transform;
}
.fd-wrap .fd-methodStack .fd-step:after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:0 22px 70px rgba(2,6,23,.12);
  opacity:.85;
}
.fd-wrap .fd-methodStack.fd-stack-off .fd-step{position:relative; top:auto; transform:none; z-index:auto;}
.fd-wrap .fd-methodStack.fd-stack-off{padding-bottom:0 !important; margin-bottom:0 !important;}

@media (max-width:479px){.fd-wrap .fd-methodStack{--fd-stack-gap:14px;}}
@media (min-width:480px) and (max-width:1023px){.fd-wrap .fd-methodStack{--fd-stack-gap:16px;}}
@media (min-width:1024px){.fd-wrap .fd-methodStack{max-width:880px; --fd-stack-gap:22px;}}

@media (prefers-reduced-motion: reduce){
  .fd-wrap .fd-methodStack .fd-step{position:relative !important; top:auto !important; transform:none !important;}
  .fd-wrap .fd-methodStack{padding-bottom:0 !important;}
}

/* FAQ */
.fd-wrap .fd-faqList{display:grid; grid-template-columns:1fr; gap:10px;}
.fd-wrap .fd-faqItem{border:1px solid rgba(15,23,42,.12); border-radius:18px; background:#fff; box-shadow:var(--fd-shadow-sm); overflow:hidden;}
.fd-wrap summary{list-style:none;}
.fd-wrap summary::-webkit-details-marker{display:none;}
.fd-wrap .fd-faqQ{cursor:pointer; padding:14px 14px; font-weight:950; letter-spacing:-.01em; color:var(--fd-ink);}
.fd-wrap .fd-faqA{padding:0 14px 14px; color:var(--fd-muted); font-weight:750; line-height:1.55;}
.fd-wrap details[open] .fd-faqQ{border-bottom:1px solid rgba(15,23,42,.08);}

/* Form */
.fd-wrap .fd-form{border:1px solid rgba(15,23,42,.12); border-radius:var(--fd-radius); background:#fff; box-shadow:var(--fd-shadow-md); padding:16px;}
.fd-wrap .fd-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.fd-wrap .fd-field{display:grid; gap:8px; margin-bottom:12px;}
.fd-wrap .fd-label{font-weight:900; font-size:14px; color:var(--fd-ink);}
.fd-wrap .fd-input{width:100%; padding:12px 12px; border-radius:16px; border:1px solid rgba(15,23,42,.14); background:#fff; font-weight:750; font-size:15px; color:var(--fd-ink);}
.fd-wrap .fd-input:focus{outline:none; border-color:rgba(14,165,233,.55); box-shadow:var(--fd-focus);}
.fd-wrap .fd-check{display:flex; gap:10px; align-items:flex-start; margin:10px 0 14px;}
.fd-wrap .fd-input--err{border-color:rgba(255,77,45,.65) !important; box-shadow:0 0 0 4px rgba(255,77,45,.14) !important;}

/* Sticky CTA */
.fd-wrap .fd-stickyCta{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:300;
  display:flex; gap:10px; padding:10px;
  border-radius:20px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 18px 50px rgba(2,6,23,.16);
  backdrop-filter:saturate(120%) blur(6px);
  transition:transform var(--fd-t) var(--fd-e), opacity var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-stickyCta--off{opacity:0; transform:translateY(12px); pointer-events:none;}
.fd-wrap .fd-stickyCta__btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 12px; border-radius:16px; font-weight:950; font-size:14px;
}
.fd-wrap .fd-stickyCta__btn--wa{background:#fff; border:1px solid rgba(15,23,42,.12); color:var(--fd-ink);}
.fd-wrap .fd-stickyCta__btn--cta{background:linear-gradient(90deg, rgba(255,77,45,.95), rgba(14,165,233,.95)); color:#fff;}
@media (min-width:768px){.fd-wrap .fd-stickyCta{display:none;}}

/* Footer (se lo usi DENTRO la pagina; se usi Blocksy footer, puoi rimuoverlo dal markup) */
.fd-wrap .fd-footer{
  margin-top:46px;
  border-top:1px solid rgba(15,23,42,.10);
  padding:28px 0 0;
}
.fd-wrap .fd-footer__grid{display:grid; gap:22px; align-items:start; grid-template-columns:1fr;}
@media (min-width:1024px){
  .fd-wrap .fd-footer__grid{grid-template-columns:1.3fr 1fr 1fr 1fr; gap:28px;}
}
.fd-wrap .fd-footer__brand{display:grid; gap:12px;}
.fd-wrap .fd-footer__logoRow{display:flex; gap:12px; align-items:flex-start;}
.fd-wrap .fd-footer__logo{width:120px; height:auto; display:block;}
.fd-wrap .fd-footer__payoff{font-weight:950; letter-spacing:-.02em; color:var(--fd-ink);}
.fd-wrap .fd-footer__desc{color:var(--fd-muted); font-size:14px; line-height:1.55; margin-top:4px; max-width:42ch;}
.fd-wrap .fd-footer__cta{display:flex; flex-direction:column; gap:10px; align-items:flex-start;}
.fd-wrap .fd-footer__social{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.fd-wrap .fd-social{
  width:40px; height:40px; border-radius:999px; display:grid; place-items:center;
  border:1px solid rgba(15,23,42,.12); background:#fff;
  transition:transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), border-color var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-social:hover{transform:translateY(-1px); box-shadow:var(--fd-shadow-sm); border-color:rgba(15,23,42,.18);}
.fd-wrap .fd-footer__k{font-size:12px; color:var(--fd-muted); font-weight:950; text-transform:uppercase; letter-spacing:.10em; margin-bottom:10px;}
.fd-wrap .fd-footer__item{color:var(--fd-muted); font-size:14px; line-height:1.55; display:block; margin:8px 0;}
.fd-wrap .fd-footer__bottom{
  margin-top:18px; padding:14px 0 20px; border-top:1px solid rgba(15,23,42,.10);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center;
}
.fd-wrap .fd-footer__copy{color:var(--fd-muted); font-size:13px;}
/* =========================================================
FD PATCH v1 — sticky header + footer white + faq/contact
(INCOLLA IN FONDO a fd-global.fixed.css)
========================================================= */

/* Base: forza tipografia/colore (se Blocksy sovrascrive) */
.fd-wrap{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--fd-ink);
}

/* Assicura pieno bianco per le sezioni globali (evita “cornici scure” del tema) */
.fd-wrap.fd-global{
  background: #fff !important;
  width: 100%;
  display: block;
}

/* =========================
TOPBAR: sempre visibile (fixed)
========================= */
.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  position: fixed !important;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1140px, calc(100% - 24px));
  z-index: 999999;
}

/* Spazio sopra SOLO sulla landing (così l’Hero non va sotto la topbar) */
.fd-wrap[data-fd-page="landing"] .fd-shell{
  padding-top: calc(var(--fd-topbar-space, 88px) + 16px) !important;
}

/* =========================
FOOTER: bianco, non scuro
========================= */
.fd-wrap[data-fd-global="footer"],
.fd-wrap[data-fd-global="footer"] .fd-footer{
  background: #fff !important;
}
.fd-wrap[data-fd-global="footer"] .fd-footer{
  color: var(--fd-ink);
}

/* =========================
FAQ (mancava nel tuo global)
========================= */
.fd-wrap .fd-acc{display:grid;gap:10px;margin-top:14px}
.fd-wrap .fd-qa{
  background: var(--fd-card);
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius);
  box-shadow: var(--fd-shadow-sm);
  overflow:hidden;
}
.fd-wrap .fd-qa__q{
  width:100%;
  text-align:left;
  cursor:pointer;
  padding:14px;
  background:transparent;
  border:0;
  font-weight:900;
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color: var(--fd-ink);
}
.fd-wrap .fd-qa__i{width:18px;height:18px;position:relative;flex:0 0 auto}
.fd-wrap .fd-qa__i:before,
.fd-wrap .fd-qa__i:after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:16px; height:2px;
  background: var(--fd-ink);
  border-radius:2px;
  transform:translate(-50%,-50%);
  transition:transform var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-qa__i:after{transform:translate(-50%,-50%) rotate(90deg)}
.fd-wrap .fd-qa[data-open="true"] .fd-qa__i:after{transform:translate(-50%,-50%) rotate(0deg)}
.fd-wrap .fd-qa__a{padding:0 14px 14px;color:var(--fd-muted);line-height:1.65}

/* =========================
CONTACT / FORM (mancava nel tuo global)
========================= */
.fd-wrap .fd-contactGrid{display:grid;gap:12px;margin-top:14px}
@media (min-width:1024px){
  .fd-wrap .fd-contactGrid{grid-template-columns:1.05fr .95fr;gap:14px;align-items:start}
}
.fd-wrap .fd-form{
  background: var(--fd-card);
  border: 1px solid var(--fd-border);
  border-radius: var(--fd-radius);
  box-shadow: var(--fd-shadow-sm);
  padding:16px;
}
@media (min-width:768px){ .fd-wrap .fd-form{padding:18px} }
.fd-wrap .fd-form__row{display:grid;gap:10px}
@media (min-width:768px){ .fd-wrap .fd-form__row{grid-template-columns:1fr 1fr} }
.fd-wrap .fd-field{display:grid;gap:8px;margin-top:10px}
.fd-wrap .fd-label{font-weight:850;letter-spacing:-.01em;font-size:13px;color:var(--fd-ink)}
.fd-wrap .fd-input{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  font-size:16px;
  line-height:1.2;
  color: var(--fd-ink);
  transition:border-color var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e);
}
.fd-wrap .fd-input:focus{outline:none;border-color:rgba(14,165,233,.55);box-shadow:var(--fd-focus)}
.fd-wrap .fd-input::placeholder{color:rgba(71,85,105,.75)}
.fd-wrap .fd-form__submit{width:100%;margin-top:12px}
.fd-wrap .fd-form__note{margin:10px 0 0;font-size:13px;color:var(--fd-muted);line-height:1.45}
.fd-wrap .fd-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px}
.fd-wrap .fd-check__box{margin-top:2px;width:18px;height:18px}
.fd-wrap .fd-check__text{font-size:14px;color:var(--fd-muted);line-height:1.45}
.fd-wrap .fd-link{text-decoration:underline;text-underline-offset:3px}
.fd-wrap .fd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.fd-wrap .fd-contactCard{
  border-radius: var(--fd-radius);
  border: 1px solid var(--fd-border);
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,245,249,.70));
  box-shadow: var(--fd-shadow);
  padding:16px;
  display:grid;
  gap:10px;
}
@media (min-width:768px){ .fd-wrap .fd-contactCard{padding:18px} }
.fd-wrap .fd-contactMini{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding-top:8px;border-top:1px solid rgba(15,23,42,.10);
  font-size:14px;color:var(--fd-muted);
}
/* ===== Fix spazio above-the-fold ===== */
.fd-wrap[data-fd-page="landing"] .fd-shell{
  /* prima era troppo alto */
  padding-top: calc(var(--fd-topbar-space, 64px) + 8px) !important;
}

/* topbar un filo più vicina al top */
.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  top: 8px !important;
}
/* ===== Hamburger button (per fd-menuBtn) ===== */
.fd-menuBtn{
  width:42px;height:42px;border-radius:999px;
  border:1px solid var(--fd-border);
  background:#fff;cursor:pointer;
  display:grid;place-items:center;
  transition:transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), border-color var(--fd-t) var(--fd-e);
}
.fd-menuBtn:hover{transform:translateY(-1px); box-shadow:var(--fd-shadow-sm); border-color:rgba(15,23,42,.18)}
.fd-menuBtn__lines{
  width:18px;height:12px; position:relative; display:block;
}
.fd-menuBtn__lines:before,
.fd-menuBtn__lines:after{
  content:""; position:absolute; left:0; right:0; height:2px;
  background:var(--fd-ink); border-radius:2px;
}
.fd-menuBtn__lines:before{top:0}
.fd-menuBtn__lines:after{bottom:0}

/* Close button del mega (se usi .fd-mega__close senza svg) */
.fd-mega__close{
  width:42px;height:42px;border-radius:999px;
  border:1px solid var(--fd-border);
  background:#fff;cursor:pointer; position:relative;
}
.fd-mega__close:before,
.fd-mega__close:after{
  content:""; position:absolute; left:50%; top:50%;
  width:18px; height:2px; background:var(--fd-ink); border-radius:2px;
}
.fd-mega__close:before{transform:translate(-50%,-50%) rotate(45deg)}
.fd-mega__close:after{transform:translate(-50%,-50%) rotate(-45deg)}
/* ===== FD PATCH: hamburger "failsafe" ===== */
.fd-wrap [aria-controls="fd-mega"]{
  position:relative;
}

/* Disegna 3 linee con pseudo-elementi */
.fd-wrap [aria-controls="fd-mega"]::before,
.fd-wrap [aria-controls="fd-mega"]::after{
  content:"";
  position:absolute;
  left:50%;
  width:18px;
  height:2px;
  background:var(--fd-ink);
  border-radius:2px;
  transform:translateX(-50%);
}
.fd-wrap [aria-controls="fd-mega"]::before{ top:14px; }
.fd-wrap [aria-controls="fd-mega"]::after{ top:26px; }

/* linea centrale */
.fd-wrap [aria-controls="fd-mega"] span,
.fd-wrap [aria-controls="fd-mega"] .fd-menuBtn__lines,
.fd-wrap [aria-controls="fd-mega"] .fd-iconBtn__lines{
  position:absolute;
  left:50%;
  top:20px;
  width:18px;
  height:2px;
  background:var(--fd-ink);
  border-radius:2px;
  transform:translateX(-50%);
  display:block;
}

/* se non esiste nessuno span interno, la linea centrale la facciamo via box-shadow */
.fd-wrap [aria-controls="fd-mega"]:not(:has(span)):not(:has(.fd-menuBtn__lines)):not(:has(.fd-iconBtn__lines)){
  background-image: linear-gradient(var(--fd-ink),var(--fd-ink));
  background-repeat:no-repeat;
  background-size:18px 2px;
  background-position:center 20px;
}
/* ===== FD PATCH: meno spazio sopra hero ===== */
.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  top: 6px !important;
}

.fd-wrap[data-fd-page="landing"] .fd-shell{
  /* prima era troppo: abbasso */
  padding-top: calc(var(--fd-topbar-space, 58px) + 6px) !important;
}

.fd-wrap[data-fd-page="landing"] .fd-hero{
  padding-top: 8px !important;
  padding-bottom: 0 !important;
}
/* =========================================================
FD PATCH v2 — stop jump + topbar centrata senza translate
========================================================= */

/* 1) Topbar fixed centrata con left/right (NO translateX) */
.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  position: fixed !important;
  top: 10px !important;
  left: 12px !important;
  right: 12px !important;
  margin: 0 auto !important;
  max-width: 1140px !important;
  transform: none !important;
  z-index: 999999 !important;
}

/* 2) STOP al padding dinamico che ti crea troppo spazio + salti
   Impostiamo un valore fisso e stabile (niente var che cambia durante scroll) */
.fd-wrap[data-fd-page="landing"] .fd-shell{
  padding-top: 86px !important; /* desktop */
}

/* mobile/tablet: meno spazio */
@media (max-width: 768px){
  .fd-wrap[data-fd-page="landing"] .fd-shell{
    padding-top: 74px !important;
  }
}

/* 3) Hero più “tight” (meno aria vuota) */
.fd-wrap[data-fd-page="landing"] .fd-hero{
  padding-top: 8px !important;
  padding-bottom: 4px !important;
}

/* Riduci padding del box hero (se ti sembra troppo grande) */
.fd-wrap[data-fd-page="landing"] .fd-hero__copy{
  padding: 14px 14px !important;
}
@media (min-width: 768px){
  .fd-wrap[data-fd-page="landing"] .fd-hero__copy{
    padding: 18px 18px !important;
  }
}
/* Hamburger sempre visibile (anche se markup cambia) */
.fd-wrap [aria-controls="fd-mega"]{position:relative}
.fd-wrap [aria-controls="fd-mega"]::before,
.fd-wrap [aria-controls="fd-mega"]::after{
  content:"";
  position:absolute;
  left:50%;
  width:18px;height:2px;
  background:var(--fd-ink);
  border-radius:2px;
  transform:translateX(-50%);
}
.fd-wrap [aria-controls="fd-mega"]::before{top:14px}
.fd-wrap [aria-controls="fd-mega"]::after{top:26px}
.fd-wrap [aria-controls="fd-mega"]{
  background-image: linear-gradient(var(--fd-ink),var(--fd-ink));
  background-repeat:no-repeat;
  background-size:18px 2px;
  background-position:center 20px;
}

/* =========================================================
FD PATCH v3 — topbar FIXED stabile + hero meno spazio + no jump
========================================================= */

/* TOPBAR: fixed e centrata senza translate (non “balla” mai) */
.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  position: fixed !important;
  top: 10px !important;
  left: 12px !important;
  right: 12px !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
  transform: none !important;
  z-index: 999999 !important;

  /* annulla eventuali margin che cambiano tra stato sticky/non-sticky */
  margin-top: 0 !important;
}

/* NON usare più padding-top dinamici sulla shell (creano spazio enorme e salti) */
.fd-wrap[data-fd-page="landing"] .fd-shell{
  padding-top: 16px !important; /* torna “normale” */
}

/* Spacer stabile sotto la topbar (gestisce l’offset senza JS) */
.fd-wrap[data-fd-page="landing"] .fd-topbarSpacer{
  height: 86px; /* desktop */
}
@media (max-width: 768px){
  .fd-wrap[data-fd-page="landing"] .fd-topbarSpacer{ height: 74px; }
}

/* HERO: riduci aria (quella che vedi enorme) */
.fd-wrap[data-fd-page="landing"] .fd-hero{
  padding-top: 6px !important;
  padding-bottom: 0 !important;
}
.fd-wrap[data-fd-page="landing"] .fd-hero__copy{
  padding: 14px 14px !important;
}
@media (min-width: 768px){
  .fd-wrap[data-fd-page="landing"] .fd-hero__copy{
    padding: 18px 18px !important;
  }
}

/* Hamburger “failsafe” (anche se il markup cambia) */
.fd-wrap [aria-controls="fd-mega"]{position:relative}
.fd-wrap [aria-controls="fd-mega"]::before,
.fd-wrap [aria-controls="fd-mega"]::after{
  content:"";
  position:absolute;
  left:50%;
  width:18px;height:2px;
  background:var(--fd-ink);
  border-radius:2px;
  transform:translateX(-50%);
}
.fd-wrap [aria-controls="fd-mega"]::before{top:14px}
.fd-wrap [aria-controls="fd-mega"]::after{top:26px}
.fd-wrap [aria-controls="fd-mega"]{
  background-image: linear-gradient(var(--fd-ink),var(--fd-ink));
  background-repeat:no-repeat;
  background-size:18px 2px;
  background-position:center 20px;
}

/* =========================================================
FD PATCH — reset liste + proofList + componenti che Blocksy altera
========================================================= */

/* reset UL/OL solo dentro la landing */
.fd-wrap[data-fd-page="landing"] ul,
.fd-wrap[data-fd-page="landing"] ol{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* reset LI (Blocksy spesso mette margin) */
.fd-wrap[data-fd-page="landing"] li{
  margin: 0;
  padding: 0;
}

/* proof list (micro-prove) */
.fd-wrap[data-fd-page="landing"] .fd-proofList{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top: 14px;
}

.fd-wrap[data-fd-page="landing"] .fd-proofList__item{
  font-size:13px;
  line-height: 1.1;
  color: var(--fd-ink);
  background:#fff;
  border:1px solid var(--fd-border);
  padding:8px 10px;
  border-radius:999px;
}

/* se Blocksy ti “scolora” testi dentro fd-wrap */
.fd-wrap[data-fd-page="landing"] .fd-kicker,
.fd-wrap[data-fd-page="landing"] .fd-lead,
.fd-wrap[data-fd-page="landing"] .fd-p{
  color: var(--fd-muted) !important;
}
/* =========================================================
FD PATCH — topbar più bassa + spacer coerente
========================================================= */

.fd-wrap[data-fd-global="topbar"] .fd-topbar{
  top: 10px !important;
}


/* spacer più alto (per mantenere hero sotto la topbar) */
.fd-wrap[data-fd-page="landing"] .fd-topbarSpacer{ height: 0px; }
@media (max-width: 768px){
  .fd-wrap[data-fd-page="landing"] .fd-topbarSpacer{ height: 0px; }
}
/* ZERO spazio tra topbar e contenuto */
.fd-wrap[data-fd-page="landing"] .fd-topbarSpacer{ display:none !important; height:0 !important; }

/* Hero attaccato (senza padding extra) */
.fd-wrap[data-fd-page="landing"] .fd-shell{ padding-top: 0 !important; }
.fd-wrap[data-fd-page="landing"] .fd-hero{ padding-top: 0 !important; margin-top: 0 !important; }
/* =========================================================
FD PATCH — Book stack scroll stable
========================================================= */

/* =========================================================
FD PATCH — Book stack anche su mobile (no jump)
========================================================= */

/* Evita “scroll anchoring” (causa micro-salti quando cambiano classi) */
.fd-wrap .fd-method{ overflow-anchor: none; }

/* MOBILE: stack attivo con gap più piccolo e top più basso */
@media (max-width: 767px){
  .fd-wrap .fd-methodStack{ --fd-stack-gap: 12px; }
  .fd-wrap .fd-methodStack .fd-step{
    position: sticky;
    top: var(--fd-stack-top, 92px);
    transform: translateY(calc(var(--fd-i, 0) * var(--fd-stack-gap, 12px)));
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d;
  }
}

/* TABLET+DESKTOP: stack attivo */
@media (min-width: 768px){
  .fd-wrap .fd-methodStack .fd-step{
    position: sticky;
    top: var(--fd-stack-top, 14vh);
    transform: translateY(calc(var(--fd-i, 0) * var(--fd-stack-gap, 18px)));
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d;
  }
}

/* RILASCIO SENZA SALTO:
   quando arriva il sentinel non cambiamo position.
   Togliamo solo il transform -> diventa “lista” senza jump */
.fd-wrap .fd-methodStack.fd-stack-off .fd-step{
  position: sticky !important;
  top: var(--fd-stack-top, 14vh) !important;
  transform: none !important;
  z-index: auto !important;
}


/* 2) Desktop/Tablet: limita padding-bottom (evita vuoti enormi) */
@media (min-width: 768px){
  .fd-wrap .fd-methodStack{
    padding-bottom: clamp(80px, 14vh, 190px) !important;
  }
}

/* 3) Performance: riduci “jitter” sui transform sticky */
.fd-wrap .fd-methodStack .fd-step{
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
/* blocca scroll pagina quando menu aperto */
html/* =========================================================
FD PATCH — Layout più pieno (mobile + desktop)
========================================================= */

/* Contenitore più largo su desktop */
.fd-wrap .fd-shell{
  max-width: 1340px; /* prima era ~1140 */
}

/* Mobile: più spazio utile (meno “aria” laterale) */
@media (max-width: 479px){
  .fd-wrap .fd-shell{ padding-left:12px; padding-right:12px; }
}

/* Tablet+Desktop: padding più “tight” e premium */
@media (min-width: 768px){
  .fd-wrap .fd-shell{ padding-left:24px; padding-right:24px; }
}
@media (min-width: 1024px){
  .fd-wrap .fd-shell{ padding-left:28px; padding-right:28px; }
}


/* Hero: più “full” e meno vuoti */
.fd-wrap .fd-hero{ padding-bottom: 0; }
.fd-wrap .fd-hero__grid{ gap: 14px; }
@media (min-width: 1024px){
  .fd-wrap .fd-hero__grid{ gap: 18px; }
}

/* Sezioni: meno distanza verticale per riempire */
.fd-wrap .fd-sec{ padding-top: 26px; }
@media (min-width: 768px){
  .fd-wrap .fd-sec{ padding-top: 34px; }
}

/* CTA band: più piena */
.fd-wrap .fd-ctaBand__grid{ padding: 16px; }
@media (min-width: 768px){
  .fd-wrap .fd-ctaBand__grid{ padding: 20px; }
}

/* Form + card: più “presenti” */
.fd-wrap .fd-form,
.fd-wrap .fd-contactCard{
  padding: 16px;
}
@media (min-width: 768px){
  .fd-wrap .fd-form,
  .fd-wrap .fd-contactCard{
    padding: 20px;
  }
}
/* =========================================================
FD PATCH — Menu mobile: pannello scrollabile e completo
========================================================= */
@media (max-width: 767px){
  .fd-mega__panel{
    max-height: calc(100dvh - 20px);
    overflow:auto;
    -webkit-overflow-scrolling: touch;
  }

  /* spazio interno per respirare */
  .fd-mega__grid{ padding-bottom: 14px; }
}
/* blocca lo scroll quando menu aperto */
html/* nascondi i 2 pulsanti fissi quando menu aperto */
.fd-wrap.fd-menu-open .fd-stickyCta{
  opacity:0 !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
}

/* =========================================================
HIDE sticky buttons when mobile menu is open
========================================================= */

/* Oculta completamente los 2 botones inferiores */
html/* (Opcional) bloquea scroll de la página cuando el menú está abierto */
html/* =========================================================
FD — Mobile mega menu: contenido scroll + CTA sticky abajo
========================================================= */

.fd-mega__panel{
  display:flex;
  flex-direction:column;
  max-height: calc(100dvh - 24px);
}

/* zona scrollable del menú */
.fd-mega__body{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0; /* opcional */
}

/* fila de botones fija abajo (dentro del panel) */
.fd-mega__ctaRow{
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: #fff;
  border-top: 1px solid var(--fd-border);
  padding: 14px 16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* para que en mobile no se “corte” y siempre quepa */
@media (max-width: 767px){
  .fd-mega{ padding: 12px; }
  .fd-mega__panel{ width: 100%; }
  .fd-mega__ctaRow a{ flex:1; }
}

/* =========================================================
FD — Mobile accordion nel mega menu (solo mobile)
========================================================= */

.fd-mega__kBtn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  text-align:left;
}

/* freccina */
.fd-mega__chev{
  width:18px;height:18px; position:relative; flex:0 0 auto;
}
.fd-mega__chev:before,
.fd-mega__chev:after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:12px; height:2px;
  background: currentColor;
  border-radius:2px;
  transform-origin:center;
  transform:translate(-50%,-50%) rotate(45deg);
}
.fd-mega__chev:after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

@media (max-width: 767px){
  /* in mobile una colonna, sezioni stacked */
  .fd-mega__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  /* lista collapsable */
  .fd-mega__list{
    margin-top:10px;
    display:grid;
    gap:8px;
  }

  /* stato chiuso */
  .fd-mega__kBtn[aria-expanded="false"] + .fd-mega__list{
    display:none;
  }

  /* ruota freccia quando aperto */
  .fd-mega__kBtn[aria-expanded="true"] .fd-mega__chev{
    transform:rotate(180deg);
    transition:transform var(--fd-t) var(--fd-e);
  }
}

/* Desktop: resta come 3 colonne aperte */
@media (min-width: 768px){
  .fd-mega__kBtn{ cursor:default; }
  .fd-mega__chev{ display:none; }
}

/* =========================================================
FD — Mobile accordion: freccia (chiuso) / X (aperto)
========================================================= */

.fd-mega__kBtn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  text-align:left;
}

/* icona base */
.fd-mega__icon{
  width:18px;
  height:18px;
  position:relative;
  flex:0 0 auto;
}

/* --- STATO CHIUSO: freccia (V) --- */
/* CHIUSO = freccia vera (chevron >) */
.fd-mega__kBtn[aria-expanded="false"] .fd-mega__icon:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translate(-50%,-50%) rotate(-45deg);
  border-radius:1px;
}

/* IMPORTANTISSIMO: niente :after nello stato chiuso */
.fd-mega__kBtn[aria-expanded="false"] .fd-mega__icon:after{
  content:none;
}
  content:"";
  position:absolute;
  top:50%;
  width:10px;
  height:2px;
  background: currentColor;
  border-radius:2px;
  transform-origin:center;
}
.fd-mega__kBtn[aria-expanded="false"] .fd-mega__icon:before{
  left:3px;
  transform:translateY(-50%) rotate(45deg);
}
.fd-mega__kBtn[aria-expanded="false"] .fd-mega__icon:after{
  right:3px;
  transform:translateY(-50%) rotate(-45deg);
}

/* --- STATO APERTO: X --- */
.fd-mega__kBtn[aria-expanded="true"] .fd-mega__icon:before,
.fd-mega__kBtn[aria-expanded="true"] .fd-mega__icon:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  background: currentColor;
  border-radius:2px;
  transform-origin:center;
}
.fd-mega__kBtn[aria-expanded="true"] .fd-mega__icon:before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.fd-mega__kBtn[aria-expanded="true"] .fd-mega__icon:after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

@media (max-width: 767px){
  /* menu in colonna */
  .fd-mega__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  /* lista chiusa di default */
  .fd-mega__kBtn[aria-expanded="false"] + .fd-mega__list{
    display:none;
  }

  /* lista aperta */
  .fd-mega__kBtn[aria-expanded="true"] + .fd-mega__list{
    display:grid;
    gap:8px;
    margin-top:10px;
  }
}

/* Desktop: sempre visibile, nessun toggle */
@media (min-width: 768px){
  .fd-mega__kBtn{ cursor:default; }
  .fd-mega__icon{ display:none; }
  .fd-mega__list{ display:grid !important; gap:8px; margin-top:10px; }
}

/* ================================
FD — Book Stack "pagine" alternate
Pagina dispari = colorata (Foodigital)
Pagina pari = normale (bianca)
================================ */

/* Base: tutte le pagine coerenti */
.fd-wrap .fd-methodStack .fd-step{
  position: sticky; /* già lo usi, qui non cambia nulla */
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  overflow:hidden;
}

/* ===== Book Stack: pagine colorate più piene (meno trasparenza) ===== */
.fd-wrap .fd-methodStack .fd-step:nth-of-type(odd){
  background:
    radial-gradient(900px 360px at 18% 10%, rgba(255,77,45,.20), transparent 62%),
    radial-gradient(900px 360px at 82% 0%, rgba(14,165,233,.20), transparent 62%),
    linear-gradient(180deg, rgba(241,245,249,.85), rgba(255,255,255,.98));
  border-color: rgba(15,23,42,.16);
}

.fd-wrap .fd-methodStack .fd-step:nth-of-type(odd)::before{
  opacity:.18; /* prima era ~.10 */
}

.fd-wrap .fd-methodStack .fd-step:nth-of-type(odd)::after{
  opacity:1;   /* top line piena */
}


/* Pagina PARI (2,4,6...) = normale pulita */
.fd-wrap .fd-methodStack .fd-step:nth-of-type(even){
  background:#fff;
}

/* Riga top gradiente solo sulle pagine colorate (effetto premium) */
.fd-wrap .fd-methodStack .fd-step:nth-of-type(odd)::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background: var(--fd-grad);
  opacity:.9;
  pointer-events:none;
}

/* Micro bordo “premium” (solo dispari) */
.fd-wrap .fd-methodStack .fd-step:nth-of-type(odd)::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background: linear-gradient(135deg, rgba(255,77,45,.55), rgba(14,165,233,.55));
  opacity:.10;
  pointer-events:none;
  z-index:-1;
}

/* Se vuoi che "riempia" di più lo spazio verticale (senza rompere lo stack) */
.fd-wrap .fd-method{
  padding-bottom: 10px;
}

/* Reduced motion safe */
@media (prefers-reduced-motion: reduce){
  .fd-wrap .fd-methodStack .fd-step{ will-change:auto; }
}

/* Nascondi i 2 pulsanti fissi sotto quando il mega menu è aperto (solo mobile) */
@media (max-width: 767px){
  body.fd-menu-open .fd-stickyCta{
    opacity: 0 !important;
    transform: translateY(14px) !important;
    pointer-events: none !important;
  }
}

/* Sticky CTA: solo mobile */
.fd-stickyCta{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 300;
  display: flex;
  gap: 10px;
  padding: 10px;
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 50px rgba(2,6,23,.16);
  backdrop-filter: saturate(120%) blur(6px);
  transition: transform 240ms cubic-bezier(.2,.8,.2,1), opacity 240ms cubic-bezier(.2,.8,.2,1);
}

.fd-stickyCta--off{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.fd-stickyCta__btn{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  font-weight: 950;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: -.01em;
}

.fd-ico{
  width: 26px;
  height: 26px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 1000;
  background: rgba(15,23,42,.06);
  color: #0f172a;
}

.fd-stickyCta__btn--wa{
  background: #fff;
  color: #0f172a;
  border: 1px solid rgba(15,23,42,.12);
}

.fd-stickyCta__btn--cta{
  background: linear-gradient(90deg, rgba(255,77,45,.95), rgba(14,165,233,.95));
  color: #fff;
}

/* desktop off */
@media (min-width: 768px){
  .fd-stickyCta{ display:none; }
}

/* quando apro il menu mobile: NASCONDI sticky */
body.fd-menu-open .fd-stickyCta{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

/* ==========================================================
FD PREMIUM SYSTEM — GLOBAL (riutilizzabile su tutte le pagine)
========================================================== */

/* 1) Spaziature & ritmo (meno “tutto attaccato”) */
.fd-wrap .fd-shell{
  padding-bottom: clamp(96px, 10vw, 140px);
}
.fd-wrap .fd-sec{
  padding-top: clamp(48px, 6vw, 84px);
}
.fd-wrap .fd-sec__head{
  max-width: 920px;
  margin-inline: auto;
}
.fd-wrap .fd-sec__head.is-center{ text-align:center; }
.fd-wrap .fd-sec__head.is-center .fd-p{
  max-width: 70ch;
  margin-inline:auto;
}

/* 2) Bande (sezioni a fasce con colore) */
.fd-band{
  border-radius: var(--fd-radius);
  padding: clamp(16px, 2.6vw, 26px);
  background: linear-gradient(180deg, rgba(2,6,23,.02), rgba(2,6,23,0));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 16px 44px rgba(2,6,23,.06);
}
.fd-band--brand{
  background:
    radial-gradient(900px 380px at 15% 0%, rgba(255,77,45,.11), transparent 60%),
    radial-gradient(900px 380px at 85% 0%, rgba(14,165,233,.11), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.75), rgba(241,245,249,.62));
}
.fd-divider{
  height: 10px;
  border-radius: 999px;
  max-width: 220px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, rgba(255,77,45,.55), rgba(14,165,233,.55));
  opacity: .9;
}

/* 3) Superfici premium (cards / tile / box) */
.fd-surface{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--fd-radius);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 56px rgba(2,6,23,.08);
  overflow: hidden;
}
.fd-surface--soft{
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(241,245,249,.70));
}
.fd-surface__pad{ padding: clamp(14px, 2.2vw, 20px); }

/* 4) Griglie più leggibili */
.fd-grid{
  display: grid;
  gap: clamp(12px, 2.2vw, 18px);
  margin-top: clamp(16px, 2.6vw, 24px);
}
@media (min-width:768px){
  .fd-grid--2{ grid-template-columns: 1fr 1fr; }
  .fd-grid--3{ grid-template-columns: repeat(3, 1fr); }
}
@media (min-width:1024px){
  .fd-grid--4{ grid-template-columns: repeat(4, 1fr); }
}

/* 5) Hover premium (non “aggressivo”, ma percepibile) */
.fd-hover{
  transition: transform var(--fd-t) var(--fd-e),
              box-shadow var(--fd-t) var(--fd-e),
              border-color var(--fd-t) var(--fd-e);
}
.fd-hover:hover{
  transform: translateY(-3px);
  box-shadow: 0 24px 80px rgba(2,6,23,.12);
  border-color: rgba(15,23,42,.16);
}

/* 6) Tipografia leggermente più “editorial” */
.fd-wrap .fd-h1{ letter-spacing: -.035em; }
.fd-wrap .fd-h2{ letter-spacing: -.03em; }
.fd-wrap .fd-p{ font-size: clamp(15px, 1.6vw, 16.5px); }

/* 7) Carousel più premium (se lo riusi altrove) */
.fd-carousel{
  border-radius: var(--fd-radius);
  border: 1px solid rgba(15,23,42,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(241,245,249,.65));
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(2,6,23,.08);
}
.fd-carousel__track{
  display:flex;
  gap: 14px;
  padding: 16px;
  width: max-content;
  animation: fdMarquee 28s linear infinite;
  will-change: transform;
}
.fd-carousel:hover .fd-carousel__track{ animation-play-state: paused; }
.fd-carousel__item{
  width: 120px;
  height: 120px;
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.10);
  background:#fff;
  flex: 0 0 auto;
  box-shadow: 0 16px 40px rgba(2,6,23,.10);
}
@media (min-width:480px){ .fd-carousel__item{ width: 144px; height: 144px; } }
@media (min-width:1024px){ .fd-carousel__item{ width: 164px; height: 164px; } }
.fd-carousel__item img{ width:100%; height:100%; object-fit:cover; display:block; }
@keyframes fdMarquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ==========================================================
FD MOTION — GLOBAL (solo se prefers-reduced-motion non attivo)
Uso: data-fd-anim="fade-up|fade-in|zoom-soft"
Opzionale: data-fd-stagger sul container
========================================================== */

.fd-anim{
  opacity: 0;
  transform: translateY(10px);
  filter: blur(6px);
  transition:
    opacity 650ms var(--fd-e),
    transform 650ms var(--fd-e),
    filter 650ms var(--fd-e);
  transition-delay: var(--fd-delay, 0ms);
  will-change: opacity, transform, filter;
}

.fd-anim[data-fd-anim="fade-in"]{ transform:none; filter: blur(6px); }
.fd-anim[data-fd-anim="zoom-soft"]{ transform: scale(.98); filter: blur(6px); }

.fd-anim.fd-inview{
  opacity: 1;
  transform: none;
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce){
  .fd-anim{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
}

/* =========================
FD GLOBAL — Premium Bands + Motion System
Safe: si attiva solo dentro .fd-wrap
========================= */

/* Palette band (riutilizzabile ovunque) */
.fd-wrap{
  --fd-bandA: radial-gradient(900px 420px at 12% 0%, rgba(255,77,45,.10), transparent 60%),
             radial-gradient(900px 420px at 88% 0%, rgba(14,165,233,.10), transparent 60%),
             linear-gradient(180deg, rgba(241,245,249,.70), rgba(255,255,255,0));

  --fd-bandB: radial-gradient(900px 420px at 18% 0%, rgba(14,165,233,.10), transparent 60%),
             radial-gradient(900px 420px at 82% 0%, rgba(255,77,45,.10), transparent 60%),
             linear-gradient(180deg, rgba(255,255,255,.60), rgba(241,245,249,.70));
}

/* Band container (riutilizzabile) */
.fd-wrap .fd-band{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: calc(var(--fd-radius) + 8px);
  padding: 20px 14px 22px;
  box-shadow: var(--fd-shadow-sm);
}
@media (min-width:768px){
  .fd-wrap .fd-band{ padding: 26px 18px 28px; }
}
.fd-wrap .fd-band--tintA{ background: var(--fd-bandA); }
.fd-wrap .fd-band--tintB{ background: var(--fd-bandB); }

/* Divider brand (riutilizzabile) */
.fd-wrap .fd-divider{
  height: 10px;
  border-radius: 999px;
  max-width: 220px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, rgba(255,77,45,.55), rgba(14,165,233,.55));
  opacity: .92;
}

/* Motion system (riutilizzabile) */
.fd-wrap .fd-anim{
  opacity: 0;
  transform: translateY(10px);
  filter: blur(6px);
  transition:
    opacity 650ms var(--fd-e),
    transform 650ms var(--fd-e),
    filter 650ms var(--fd-e);
  transition-delay: var(--fd-delay, 0ms);
  will-change: opacity, transform, filter;
}
.fd-wrap .fd-anim[data-fd-anim="fade-in"]{ transform:none; }
.fd-wrap .fd-anim[data-fd-anim="zoom-soft"]{ transform: scale(.98); }
.fd-wrap .fd-anim.fd-inview{ opacity:1; transform:none; filter: blur(0); }

/* Premium hover glow (riutilizzabile) */
.fd-wrap .fd-glow{
  position: relative;
  isolation: isolate;
}
.fd-wrap .fd-glow:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,77,45,.55), rgba(14,165,233,.55));
  opacity: 0;
  pointer-events:none;
  z-index:-1;
  transition: opacity 240ms var(--fd-e);
}
@media (hover:hover){
  .fd-wrap .fd-glow:hover:before{ opacity: .22; }
  .fd-wrap .fd-glow:hover{
    transform: translateY(-2px);
    box-shadow: var(--fd-shadow);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .fd-wrap .fd-anim{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

/* ===== Centered block headings (riutilizzabile) ===== */
.is-center{ text-align:center; }

.is-center > h1,
.is-center > h2,
.is-center > h3{
  margin-left:auto;
  margin-right:auto;
}

.is-center > p{
  margin-left:auto;
  margin-right:auto;
  max-width: 72ch; /* descrizioni più leggibili */
}

/* opzionale: anche liste “micro” centrabili (se le usi come prova sociale) */
.is-center > ul{
  margin-left:auto;
  margin-right:auto;
}

/* ===== WOW Compare (Errore vs Approccio) ===== */
.fd-wrap[data-fd-page="method"] .fd-compareWow{
  position:relative;
  display:grid;
  gap:14px;
  margin-top:20px;
}

@media (min-width:1024px){
  .fd-wrap[data-fd-page="method"] .fd-compareWow{
    grid-template-columns: 1fr 1fr;
    gap:16px;
    align-items:stretch;
  }
  /* “connessione” centrale */
  .fd-wrap[data-fd-page="method"] .fd-compareWow:before{
    content:"";
    position:absolute;
    left:50%;
    top:18px;
    bottom:18px;
    width:1px;
    transform:translateX(-50%);
    background: linear-gradient(180deg,
      rgba(255,77,45,.0),
      rgba(255,77,45,.35),
      rgba(14,165,233,.35),
      rgba(14,165,233,.0)
    );
    opacity:.9;
    pointer-events:none;
  }
}

/* Colonne come “premium cards” */
.fd-wrap[data-fd-page="method"] .fd-compareWow__col{
  position:relative;
  border-radius: calc(var(--fd-radius) + 10px);
  padding:18px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: var(--fd-shadow-sm);
  overflow:hidden;
  transform-style: preserve-3d;
  transition: transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), border-color var(--fd-t) var(--fd-e);
}

/* bordo “gradient ring” */
.fd-wrap[data-fd-page="method"] .fd-compareWow__col:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  padding:1px;
  background: linear-gradient(135deg, rgba(255,77,45,.60), rgba(14,165,233,.60));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:.55;
  pointer-events:none;
}

/* glow soft */
.fd-wrap[data-fd-page="method"] .fd-compareWow__col:after{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(closest-side at 30% 20%, rgba(255,77,45,.14), transparent 60%),
    radial-gradient(closest-side at 70% 30%, rgba(14,165,233,.14), transparent 60%);
  transform: translateZ(-1px);
  opacity:.9;
  pointer-events:none;
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__col:hover{
  transform: translateY(-3px);
  box-shadow: var(--fd-shadow);
  border-color: rgba(15,23,42,.16);
}

@media (min-width:1024px){
  .fd-wrap[data-fd-page="method"] .fd-compareWow__col:hover{
    transform: translateY(-4px) rotateX(.6deg);
  }
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__head{
  text-align:center;
  margin-bottom:12px;
  position:relative;
  z-index:1;
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-weight:950;
  letter-spacing:-.01em;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.88);
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__dot{
  width:8px;height:8px;border-radius:50%;
  background: linear-gradient(135deg, rgba(255,77,45,.9), rgba(14,165,233,.9));
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__badge--bad{
  background: rgba(255,255,255,.86);
}
.fd-wrap[data-fd-page="method"] .fd-compareWow__badge--good{
  background: rgba(255,255,255,.92);
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__title{
  margin:10px auto 0;
  font-weight:980;
  letter-spacing:-.02em;
  color: var(--fd-ink);
  max-width: 44ch;
  font-size: 18px;
  line-height: 1.15;
}
@media (min-width:768px){
  .fd-wrap[data-fd-page="method"] .fd-compareWow__title{ font-size: 19px; }
}

.fd-wrap[data-fd-page="method"] .fd-compareWow__sub{
  margin:6px auto 0;
  max-width:46ch;
}

/* Mini grid */
.fd-wrap[data-fd-page="method"] .fd-miniGridWow{
  display:grid;
  gap:10px;
  margin-top:14px;
  position:relative;
  z-index:1;
}
@media (min-width:768px){
  .fd-wrap[data-fd-page="method"] .fd-miniGridWow{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px;
  }
}

/* Mini card WOW */
.fd-wrap[data-fd-page="method"] .fd-miniCardWow{
  position:relative;
  border-radius: 18px;
  padding:12px 12px 12px 40px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  box-shadow: var(--fd-shadow-sm);
  font-weight:950;
  letter-spacing:-.01em;
  color: var(--fd-ink);
  text-align:left;
  transition: transform var(--fd-t) var(--fd-e), box-shadow var(--fd-t) var(--fd-e), border-color var(--fd-t) var(--fd-e);
  overflow:hidden;
}

/* Iconcina */
.fd-wrap[data-fd-page="method"] .fd-miniCardWow:before{
  content: attr(data-icon);
  position:absolute;
  left:12px;
  top:50%;
  transform: translateY(-50%);
  width:22px;height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background: rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.08);
  font-size:14px;
}

/* Shine sweep */
.fd-wrap[data-fd-page="method"] .fd-miniCardWow:after{
  content:"";
  position:absolute;
  top:-40%;
  left:-60%;
  width:60%;
  height:180%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform: rotate(18deg);
  opacity:0;
  transition: opacity var(--fd-t) var(--fd-e), left 900ms var(--fd-e);
  pointer-events:none;
}

.fd-wrap[data-fd-page="method"] .fd-miniCardWow:hover{
  transform: translateY(-2px);
  box-shadow: var(--fd-shadow);
  border-color: rgba(15,23,42,.16);
}
.fd-wrap[data-fd-page="method"] .fd-miniCardWow:hover:after{
  opacity:1;
  left:120%;
}

/* Variante “good” con micro-accento */
.fd-wrap[data-fd-page="method"] .fd-miniCardWow--good{
  background: rgba(255,255,255,.88);
}
.fd-wrap[data-fd-page="method"] .fd-miniCardWow--good:before{
  background: rgba(14,165,233,.10);
  border-color: rgba(14,165,233,.18);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .fd-wrap[data-fd-page="method"] .fd-compareWow__col,
  .fd-wrap[data-fd-page="method"] .fd-miniCardWow{
    transition:none !important;
  }
  .fd-wrap[data-fd-page="method"] .fd-miniCardWow:after{ display:none !important; }
}



/* =========================================================
FD HOTFIX — rimuove il “blocco trasparente” della topbar globale
e ti permette di regolare quanto l’hero sta sotto.
INCOLLA IN FONDO a fd-global.fixed.css (ultimo blocco, così vince)
========================================================= */

/* 1) La section topbar NON deve occupare spazio nel layout (è fixed) */
.fd-wrap.fd-global[data-fd-global="topbar"]{
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* 2) La .fd-shell della topbar globale non deve avere padding “da pagina” */
.fd-wrap.fd-global[data-fd-global="topbar"] .fd-shell{
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: var(--fd-max, 1140px) !important;
}

/* 3) Posizionamento topbar: fixed, stabile, senza translate */
.fd-wrap.fd-global[data-fd-global="topbar"] .fd-topbar{
  position: fixed !important;
  top: 10px !important;
  left: 12px !important;
  right: 12px !important;
  margin: 0 auto !important;
  max-width: var(--fd-max, 1140px) !important;
  transform: none !important;
  z-index: 999999 !important;
}

/* 4) Il backdrop del mega menu: se lo vuoi completamente via (no overlay) */
.fd-wrap .fd-mega__backdrop{
  display: none !important;
  background: transparent !important;
}

/* 5) SPAZIO SOPRA L’ABOVE THE FOLD (regola SOLO questo numero)
   - Più basso = contenuto più su
   - Più alto = più respiro sotto la topbar
*/
:root{ --fd-topbar-offset: 76px; } /* prova 84 / 76 / 68 */

/* Applica offset quando la topbar FD esiste (Chrome/Edge/Safari) */
body:has(.fd-wrap.fd-global[data-fd-global="topbar"]){
  padding-top: var(--fd-topbar-offset) !important;
}

/* Fallback Firefox (la classe viene aggiunta dal tuo JS fd-global) */
body.fd-has-fd{
  padding-top: var(--fd-topbar-offset) !important;
}

/* Se Blocksy header è attivo e non vuoi spostare TUTTA la pagina,
   commenta le 2 regole body sopra e usa invece uno spacer nel contenuto. */
/* =========================================================


FD FAQ FIX — forza visibilità risposta quando open
========================================================= */
.fd-wrap .fd-qa__a[hidden]{ display:none !important; }
.fd-wrap .fd-qa[data-open="true"] .fd-qa__a{ display:block !important; }

/* Mobile: usa tutta la larghezza disponibile */
@media (max-width: 479px){
  .fd-wrap .fd-shell{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ==========================================
   1) TEMA (globale): togli il "tappo" di larghezza
   ========================================== */
:root{
  /* Se vuoi container "full" */
  --theme-container-edge-spacing: 100%;

  /* QUESTO è quello che spesso blocca tutto */
  --theme-normal-container-max-width: 100%;
  --theme-narrow-container-max-width: 100%;

  /* Gutenberg / blocchi (se il tema li usa) */
  --theme-block-max-width: 100%;
  --theme-block-wide-max-width: 100%;
}

/* Forza i container del tema a non limitare */
.ct-container,
.ct-container-narrow{
  max-width: none !important;
  width: 100% !important;
}

/* Padding laterali globali (mobile incluso) */
.ct-container,
.ct-container-narrow{
  padding-left: 12px !important;
  padding-right: 12px !important;
}
@media (min-width:768px){
  .ct-container,
  .ct-container-narrow{
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (min-width:1024px){
  .ct-container,
  .ct-container-narrow{
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}


/* ==========================================
   2) IL TUO LAYOUT FD: container e band larghi
   ========================================== */

/* fd-shell: non deve essere limitato */
.fd-wrap .fd-shell{
  max-width: none !important;
  width: 100%;
  margin: 0 auto;
  padding-left: 12px;
  padding-right: 12px;
}
@media (min-width:768px){
  .fd-wrap .fd-shell{
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width:1024px){
  .fd-wrap .fd-shell{
    padding-left: 28px;
    padding-right: 28px;
  }
}

/* IMPORTANTE: i tuoi band avevano padding laterali enormi (max 300px)
   se vuoi blocchi larghi devi RIDURLI, non aumentarli */
.fd-wrap[data-fd-page] .fd-band{
  --fd-band-pl: clamp(14px, 2vw, 28px);
  --fd-band-pr: clamp(14px, 2vw, 28px);
}
