/* path: wp-content/plugins/Bizdash/assets/css/wizard-front.css */
/* ======================================================================
   BIZDASH · WIZARD FRONT – GOLD STANDARD UI
   ---------------------------------------------------------------------- */

/* ========================= TOKENS & THEME VARS ========================= */
.promo-banner-capitolo{
  --banner-bg: var(--tertiary, #465a8c);
  --banner-fg: #fdfaf5;
  --accent:    var(--secondary, #fcc400);
  --btn-primary-fg: #111111;
  --btn-secondary-fg: #fdfaf5;

  --lead-submit-bg: var(--accent);
  --lead-submit-fg: var(--btn-primary-fg);

  /* NEW: colore testo input lead (inline) */
  --lead-input-fg: #111111;

  color-scheme: light;
}

/* Design tokens locali (scala spazi/typo/radii/shadow) */
.promo-banner-capitolo{
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-s:  12px;
  --space-m:  16px;
  --space-l:  20px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --space-3xl: 40px;

  --ff: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-body:  clamp(15px, 1.3vw, 16px);
  --fs-small: clamp(14px, 1.1vw, 15px);
  --fs-cta:   clamp(16px, 1.4vw, 18px);
  --fs-h1:    clamp(22px, 2.6vw, 28px);
  --fs-lead-title: clamp(16px, 1.5vw, 18px); /* tra body e CTA */

  --lh-tight: 1.2;
  --lh-body:  1.55;

  --cta-h: 48px;
  --radius-m: 12px;
  --radius-l: 14px;
  --radius-pill: 999px;

  --border-strong: 1.5px;
  --border-regular: 1px;
  --shadow-1: 0 6px 18px rgba(0,0,0,.12);
  --shadow-2: 0 18px 54px rgba(0,0,0,.16), 0 6px 16px rgba(0,0,0,.10);

  --dur-1: .18s;
  --dur-2: .45s;
  --ease-std: cubic-bezier(.2,.6,.2,1);

  --media-w: clamp(220px, 28vw, 360px);
  --media-brd: 3px;
}

/* ============================== LAYOUT BASE ============================= */
.promo-banner-capitolo{
  position: relative;
  display: flex !important;
  align-items: center;
  gap: clamp(var(--space-s), 2vw, var(--space-m));
  background: var(--banner-bg);
  color: var(--banner-fg);
  padding: clamp(10px, 1.8vw, 16px);
  margin: 10px 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  font: 400 var(--fs-body)/var(--lh-body) var(--ff);
}

/* Riga interna: media + colonna testi (tutto il wizard) */
.promo-banner-capitolo .wb-scroll{
  display: flex;
  align-items: center;
  gap: clamp(var(--space-s), 2vw, var(--space-m));
}

/* Durante il fade blocchiamo l'interazione */
.promo-banner-capitolo.-is-fading .wb-scroll{ pointer-events: none; }

/* Se esiste un tasto Exit, riserva spazio (fallback legacy con classe) */
.promo-banner-capitolo.has-exit{
  padding-bottom: calc(clamp(10px, 1.8vw, 16px) + 52px);
}

/* Chrome (X) solo per il popup */
.promo-banner-capitolo .wb-chrome{ display: none; }

/* Bordo alto in accent per inline */
.promo-banner-capitolo:not(.in-popup){
  border-top: 5px solid var(--accent);
}

/* ============================== MEDIA BLOCK ============================= */
.promo-banner-capitolo .wb-media{
  position: relative;
  flex: 0 0 auto;
  width: var(--media-w);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: rgba(0,0,0,.06);
  border: var(--media-brd) solid var(--accent);
  border-radius: var(--radius-l);
  box-sizing: border-box;
}
.promo-banner-capitolo .wb-media img,
.promo-banner-capitolo .wb-media video{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block; border: 0; border-radius: 0;
}
.promo-banner-capitolo .wb-media video{ opacity: 0; pointer-events: none; transition: opacity var(--dur-1) var(--ease-std); }
.promo-banner-capitolo .wb-media.is-playing video{ opacity: 1; pointer-events: auto; }
.promo-banner-capitolo .wb-media.is-playing img{ opacity: 0; }

/* Play badge */
.promo-banner-capitolo .wb-media .wb-play{
  all: unset;
  position: absolute; left: 12px; bottom: 12px;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 9px 12px;
  background: rgba(0,0,0,.55); color: #fff;
  font: 700 var(--fs-small)/1 var(--ff);
  border-radius: 10px; cursor: pointer; backdrop-filter: blur(2px);
}
.promo-banner-capitolo .wb-media .wb-play::before{
  content: ''; width: 0; height: 0;
  border-left: 14px solid currentColor;
  border-top: 8px solid transparent; border-bottom: 8px solid transparent;
}
.promo-banner-capitolo .wb-media.is-playing .wb-play{ opacity: 0; }

/* Play grande */
.promo-banner-capitolo .wb-media .wb-playbig{
  all: unset;
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(64px, 9vw, 80px);
  aspect-ratio: 1 / 1;
  pointer-events: none; z-index: 3;
}
.promo-banner-capitolo .wb-media .wb-playbig::before{
  content: ''; position: absolute; inset: 0;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(2px);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.promo-banner-capitolo .wb-media .wb-playbig::after{
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 42%; aspect-ratio: 1 / 1;
  transform: translate(-40%, -50%) scaleX(-1);
  background: rgba(0,0,0,.86);
  clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
.promo-banner-capitolo .wb-media.is-playing .wb-playbig{ opacity: 0; }

/* ============================== TEXT COLUMN ============================= */
/* Wrapper delle card (statico, niente overlay) */
.promo-banner-capitolo .wb-screens{
  position: relative;
  flex: 1 1 320px; min-width: 0;
}

/* Le card */
.promo-banner-capitolo .wb-screens > .screen[hidden]{ display: none !important; }
.promo-banner-capitolo .screen[aria-hidden="true"] * { pointer-events: none; }
.promo-banner-capitolo .screen[aria-hidden="false"] *{ pointer-events: auto !important; }


.promo-text-capitolo{
  display: flex; flex-direction: column; justify-content: center;
  gap: var(--space-s); color: var(--banner-fg); text-align: left;
}
.promo-text-capitolo strong:not(.wb-lead-title){
  display: block;
  font-weight: 800;
  font-size: var(--fs-h1);
  line-height: var(--lh-tight);
}
.promo-text-capitolo p{
  margin: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

/* Micro‑copy pre‑lead */
.promo-banner-capitolo .wb-lead-title{
  display: block;
  font-weight: 700;
  font-size: var(--fs-lead-title) !important;
  line-height: 1.25;
  margin: 0 0 var(--space-2xs);
}
.promo-banner-capitolo .wb-lead-intro{
  margin: var(--space-xs) 0 var(--space-xs);
  font-size: var(--fs-small);
  line-height: 1.45;
}

/* Divider tra CTA e pre‑lead */
.promo-banner-capitolo .wb-divider{
  border: 0; height: 0;
  border-top: 1px solid rgba(0,0,0,.14);
  margin: 16px 0 12px; opacity: 1;
}
@media (min-width: 768px){
  .promo-banner-capitolo .wb-divider{ margin: 20px 0 16px; }
}
@supports (color: color-mix(in srgb, white, black)) {
  .promo-banner-capitolo .wb-divider{
    border-top-color: color-mix(in srgb, var(--accent) 35%, transparent);
  }
}

/* ============================== CTA BUTTONS ============================ */
.promo-actions{
  display: flex; flex-wrap: wrap; gap: var(--space-s);
  margin-top: 6px; margin-bottom: 8px;
}
.promo-button-capitolo{
  all: unset;
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--cta-h);
  padding: 0 22px;
  border-radius: var(--radius-pill);
  border: var(--border-strong) solid transparent;
  font: 700 var(--fs-cta)/1 var(--ff);
  cursor: pointer; white-space: nowrap; text-align: center;
  color: var(--banner-fg);
  transition: background-color var(--dur-1) var(--ease-std),
              border-color var(--dur-1) var(--ease-std),
              transform .06s linear, color var(--dur-1) var(--ease-std), filter var(--dur-1) var(--ease-std);
}
.promo-button-capitolo .price{
  display: inline-block; margin-left: 10px; padding-left: 10px;
  border-left: 1px solid rgba(0,0,0,.15); opacity: .95; font-weight: 700;
}

.promo-button-capitolo.primary{
  background: var(--accent);
  border-color: var(--accent);
  color: var(--btn-primary-fg) !important;
}
.promo-button-capitolo.secondary{
  background: transparent;
  border-color: var(--accent);
  color: var(--btn-secondary-fg);
}
.promo-button-capitolo:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.promo-button-capitolo:active{ transform: none; }
.promo-button-capitolo:focus-visible{
  outline: 3px solid #fff; outline-offset: 2px;
}

/* Icona ↗ sui link esterni */
.promo-button-capitolo[data-action="out-link"]::after{
  content: "↗"; font-size: .9em; margin-left: .5em; line-height: 1; display: inline-block;
}

/* ================================ EXIT BTN ============================= */
.promo-banner-capitolo .wb-exit-wrap{
  display: flex;
  justify-content: flex-start;
  margin-top: 16px;
  width: 100%;
}
.promo-banner-capitolo .wb-exit{
  all: unset;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(255,255,255,.92);
  color: #111;
  font: 700 var(--fs-small)/1 var(--ff);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  cursor: pointer; opacity: .95;
  transition: opacity .15s, transform .15s;
}
.promo-banner-capitolo .wb-exit:hover{ opacity: 1; transform: translateY(-1px); }
.promo-banner-capitolo .wb-exit .label{ white-space: nowrap; }

/* ================================ LEAD FORM ============================ */
.promo-banner-capitolo .wb-leadgen form fieldset,
.promo-banner-capitolo .wb-leadgen form{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  gap: 0;
  padding: 4px;
  border: var(--border-strong) solid var(--lead-submit-bg);
  border-radius: var(--radius-pill);
  background: #fff;
  overflow: hidden;
}
.promo-banner-capitolo .wb-leadgen .ff-el-input--label,
.promo-banner-capitolo .wb-leadgen .ff-el-group.ff-el-form-top .ff-el-input--label{ display: none !important; }
.promo-banner-capitolo .wb-leadgen .ff-el-group{ margin: 0 !important; }

.promo-banner-capitolo .wb-leadgen .ff-el-form-control,
.promo-banner-capitolo .wb-leadgen input[type="email"],
.promo-banner-capitolo .wb-leadgen input[type="text"]{
  width: 100%;
  min-height: calc(var(--cta-h) - 8px) !important;
  padding: 8px 14px !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  background: transparent !important;
  /* NEW: colore testo input (inline) */
  color: var(--lead-input-fg, #111) !important;
  font: var(--fs-body)/1.4 var(--ff) !important;
  box-shadow: none !important; outline: none !important;
}
.promo-banner-capitolo .wb-leadgen .ff-el-form-control::placeholder,
.promo-banner-capitolo .wb-leadgen input[type="email"]::placeholder,
.promo-banner-capitolo .wb-leadgen input[type="text"]::placeholder{
  /* NEW: usa lo stesso colore base del testo input, con opacità */
  color: var(--lead-input-fg, #111) !important; opacity: .65;
}

.promo-banner-capitolo .wb-leadgen .ff-btn-submit,
.promo-banner-capitolo .wb-leadgen button[type="submit"]{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: calc(var(--cta-h) - 8px) !important;
  padding: 0 22px !important;
  border-radius: var(--radius-pill) !important;
  border: var(--border-strong) solid var(--lead-submit-bg) !important;
  background: var(--lead-submit-bg) !important;
  color: var(--lead-submit-fg) !important;
  font: 700 var(--fs-cta)/1 var(--ff) !important;
  cursor: pointer; transition: filter var(--dur-1) var(--ease-std);
}
.promo-banner-capitolo .wb-leadgen .ff-btn-submit:hover,
.promo-banner-capitolo .wb-leadgen button[type="submit"]{ filter: brightness(1.05); }

.promo-banner-capitolo .wb-leadgen .ff-error{
  color: #b32d2e; font-size: 14px; font-weight: 600; margin-top: 6px;
}

/* ================================ MOBILE =============================== */
@media (max-width: 640px){
  .promo-banner-capitolo{
    flex-direction: column;
    text-align: center;
    padding: 10px 12px 12px;
    margin: 10px 0;
  }
  .promo-banner-capitolo .wb-scroll{ flex-direction: column; align-items: stretch; }
  .promo-banner-capitolo .wb-media{
    width: min(520px, 92vw);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
  }
  .promo-text-capitolo, .promo-text-capitolo p, .promo-text-capitolo strong:not(.wb-lead-title){ text-align: center; }
  .promo-text-capitolo strong:not(.wb-lead-title){ margin-top: 8px; }

  .promo-actions{
    display: grid; grid-template-columns: 1fr; row-gap: 14px; width: 100%;
    justify-items: stretch;
  }
  .promo-actions .promo-button-capitolo{
    width: 100% !important; justify-content: center; box-sizing: border-box;
  }

  .promo-banner-capitolo .wb-exit-wrap{
    justify-content: center;
  }

  .promo-banner-capitolo .wb-leadgen form,
  .promo-banner-capitolo .wb-leadgen form fieldset{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* === MOBILE: input con stessi colori del desktop (inline) === */
  .promo-banner-capitolo .wb-leadgen .ff-el-form-control,
  .promo-banner-capitolo .wb-leadgen input[type="email"]{
    min-height: 52px !important;
    padding: 12px 16px !important;
    border: var(--border-strong) solid var(--lead-submit-bg) !important;
    border-radius: var(--radius-pill) !important;
    background: transparent !important;
    color: var(--lead-input-fg, #111) !important;
    font-size: 16px !important;
    box-shadow: none !important;
  }
  .promo-banner-capitolo .wb-leadgen .ff-el-form-control::placeholder,
  .promo-banner-capitolo .wb-leadgen input[type="email"]::placeholder{
    color: var(--lead-input-fg, #111) !important; opacity: .65;
  }
  .promo-banner-capitolo .wb-leadgen .ff-btn-submit,
  .promo-banner-capitolo .wb-leadgen button[type="submit"]{
    width: 100%; min-height: 56px !important;
    font: 800 18px/1.1 var(--ff) !important;
    border: var(--border-strong) solid var(--lead-submit-bg) !important;
    background: var(--lead-submit-bg) !important;
    color: var(--lead-submit-fg) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,.08);
  }

  .promo-banner-capitolo .wb-leadgen{ margin-top: 12px !important; padding-top: 10px; position: relative; }
  .promo-banner-capitolo .wb-leadgen::before{
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 0;
    border-top: 1px solid color-mix(in srgb, var(--banner-fg) 22%, transparent); opacity: .6;
  }

  /* ===== FIX: in MOBILE + POP‑UP i bordi input usano l'accent del POP‑UP ===== */
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen .ff-el-form-control,
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="email"],
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="text"]{
    border-color: var(--popup-lead-submit-bg, var(--popup-accent, var(--accent))) !important;
  }
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen .ff-el-form-control:focus,
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="email"]:focus,
  .fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="text"]:focus{
    border-color: var(--popup-lead-submit-bg, var(--popup-accent, var(--accent))) !important;
    outline: none !important;
    box-shadow: none !important;
  }
}

/* ================================ POPUP ================================ */
.fbiz-sticky{
  position: fixed; left: 0; right: 0; bottom: 0; width: 100%;
  z-index: 9999;
  transform: translateY(110%); opacity: 0;
  transition: transform var(--dur-2) var(--ease-std), opacity var(--dur-2) var(--ease-std);
  text-align: center;

  /* Variabili di spacing del pop-up (override in mobile) */
  --pop-pad: clamp(12px, 2vw, 18px);
  --pop-top-extra: 36px;          /* extra spazio sopra il contenuto per la X (anche desktop) */
  --pop-bottom-pad: var(--pop-pad);
}
.fbiz-sticky.show{ transform: translateY(0); opacity: 1; }

.fbiz-sticky .promo-banner-capitolo{
  background: var(--popup-bg, var(--banner-bg));
  color: var(--popup-fg, var(--banner-fg));
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 0;
  /* nuovo schema padding: top = pad + extra; bottom riducibile */
  padding: calc(var(--pop-pad) + var(--pop-top-extra)) var(--pop-pad) var(--pop-bottom-pad);
  margin: 20px auto var(--pop-bottom-pad);
  display: inline-block !important; /* FIX: sovrascrive il flex !important dell'inline */
  width: auto;
  max-width: min(980px, 95%);
  box-shadow: var(--shadow-2);
  border-top: 5px solid var(--popup-accent, var(--accent));
}

/* POP‑UP: contenuto centrato (testi e CTA) */
.fbiz-sticky .promo-text-capitolo,
.fbiz-sticky .promo-text-capitolo p,
.fbiz-sticky .promo-text-capitolo strong:not(.wb-lead-title){
  text-align: center;
}
.fbiz-sticky .promo-actions{
  justify-content: center;
}

/* NEW: colore testo input lead nel POPUP (override) */
.fbiz-sticky .promo-banner-capitolo .wb-leadgen .ff-el-form-control,
.fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="email"],
.fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="text"]{
  color: var(--popup-lead-input-fg, var(--lead-input-fg)) !important;
}
.fbiz-sticky .promo-banner-capitolo .wb-leadgen .ff-el-form-control::placeholder,
.fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="email"]::placeholder,
.fbiz-sticky .promo-banner-capitolo .wb-leadgen input[type="text"]::placeholder{
  color: var(--popup-lead-input-fg, var(--lead-input-fg)) !important; opacity: .65;
}

/* altezza scrollabile: considera anche l'extra top e il bottom pad */
.fbiz-sticky .promo-banner-capitolo{ max-height: var(--fbiz-pop-vh, 85vh); }
.fbiz-sticky .promo-banner-capitolo .wb-scroll{
  max-height: calc(
    var(--fbiz-pop-vh, 85vh) - (var(--pop-pad) + var(--pop-top-extra) + var(--pop-bottom-pad))
  );
  overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch;
}

.fbiz-sticky .promo-banner-capitolo .wb-chrome{
  position: absolute; inset: 0; pointer-events: none; z-index: 3; display: block;
}
.fbiz-sticky .promo-banner-capitolo .wb-chrome .promo-close-capitolo{
  all: unset;
  position: absolute; top: 10px; right: 10px;
  width: 30px; height: 30px; display: grid; place-items: center;
  background: #fff; color: #111; border: 1px solid rgba(0,0,0,.22);
  font: 900 18px/1 var(--ff);
  border-radius: 10px; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.18);
  pointer-events: auto;
}
.fbiz-sticky .promo-banner-capitolo .wb-chrome .promo-close-capitolo:hover{
  background: #f0f0f0; color: #000;
}

.fbiz-sticky .promo-text-capitolo{ color: var(--popup-fg, var(--banner-fg)); }
.fbiz-sticky .promo-button-capitolo.primary{
  background: var(--popup-accent, var(--accent));
  border-color: var(--popup-accent, var(--accent));
  color: var(--popup-btn-primary-fg, var(--btn-primary-fg)) !important;
}
.fbiz-sticky .promo-button-capitolo.secondary{
  border-color: var(--popup-accent, var(--accent));
  color: var(--popup-btn-secondary-fg, var(--btn-secondary-fg)) !important;
}

.fbiz-sticky .promo-banner-capitolo .wb-leadgen form,
.fbiz-sticky .promo-banner-capitolo .wb-leadgen form fieldset{
  border-color: var(--popup-lead-submit-bg, var(--lead-submit-bg)) !important;
}
.fbiz-sticky .promo-banner-capitolo .wb-leadgen .ff-btn-submit,
.fbiz-sticky .promo-banner-capitolo .wb-leadgen button[type="submit"]{
  border-color: var(--popup-lead-submit-bg, var(--lead-submit-bg)) !important;
  background: var(--popup-lead-submit-bg, var(--lead-submit-bg)) !important;
  color: var(--popup-lead-submit-fg, var(--lead-submit-fg)) !important;
}

/* Popup: se non c’è media, non riservare spazio */
.fbiz-sticky .promo-banner-capitolo .wb-media:not(:has(img, video)){ display: none !important; }
/* Fallback :has() */
.fbiz-sticky .promo-banner-capitolo .wb-media[style*="display: none"]{ display: none !important; }

/* In popup usa l’accent del popup per il bordo media */
.fbiz-sticky .promo-banner-capitolo .wb-media{ border-color: var(--popup-accent, var(--accent)); }

/* Riduci spazio extra sotto al testo nel popup */
.fbiz-sticky .promo-banner-capitolo .promo-text-capitolo p{ margin-bottom: 0 !important; padding-bottom: 0 !important; }
.fbiz-sticky .promo-banner-capitolo .promo-text-capitolo{ gap: 8px !important; }

/* Opzione: nascondere media nel popup via classe */
.fbiz-sticky .promo-banner-capitolo.-hide-media .wb-media,
.fbiz-sticky .promo-banner-capitolo.-hide-media .wb-play,
.fbiz-sticky .promo-banner-capitolo.-hide-media .wb-playbig,
.fbiz-sticky .promo-banner-capitolo.-hide-media video,
.fbiz-sticky .promo-banner-capitolo.-hide-media figure img{ display: none !important; }

/* ================================ A11Y & MISC ========================== */
@media (prefers-reduced-motion: reduce){
  .promo-button-capitolo, .fbiz-sticky{ transition: none !important; }
}

/* ===================== PATCH — Tipografia inline = tema ===================== */
.promo-banner-capitolo:not(.in-popup){
  font: inherit !important;
}
.promo-banner-capitolo:not(.in-popup) .promo-text-capitolo strong:not(.wb-lead-title){
  font-family: inherit !important;
  font-size: 1.5em !important;
  line-height: 1.2 !important;
  font-weight: 800;
}
.promo-banner-capitolo:not(.in-popup) .promo-text-capitolo p{
  font-size: 1em !important;
  line-height: inherit !important;
}

/* Micro‑copy inline */
.promo-banner-capitolo:not(.in-popup) .wb-lead-title{
  font-size: var(--fs-lead-title) !important;
  line-height: 1.25 !important;
}
.promo-banner-capitolo:not(.in-popup) .wb-lead-intro{
  font-size: .95em !important;
  line-height: 1.45 !important;
}

/* =================== Compact spacing inline + rimozione doppio divisore =================== */
.promo-banner-capitolo .promo-actions:empty{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@supports selector(:has(*)) {
  .promo-banner-capitolo .promo-actions:not(:has(.promo-button-capitolo)){
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
.promo-banner-capitolo .wb-divider{
  margin: 12px 0 10px !important;
  border-top-width: 1px !important;
}
@media (min-width: 768px){
  .promo-banner-capitolo .wb-divider{
    margin: 14px 0 12px !important;
  }
}
@media (max-width: 767px){
  .promo-banner-capitolo .wb-divider{
    margin: 10px 0 8px !important;
  }
}
.promo-banner-capitolo .wb-leadgen{
  margin-top: 8px !important;
  padding-top: 0 !important;
  position: static !important;
}
.promo-banner-capitolo .wb-leadgen::before{ content: none !important; }
.promo-banner-capitolo .wb-lead-title{ margin: 6px 0 2px !important; }
.promo-banner-capitolo .wb-lead-intro{ margin: 4px 0 8px !important; }

/* NEW: se la lead (o la sua micro-copy) è il primo elemento visibile, azzera il margine alto */
.promo-banner-capitolo .promo-text-capitolo > .wb-leadgen:first-child{ margin-top: 0 !important; }
.promo-banner-capitolo .promo-text-capitolo > .wb-lead-title:first-child{ margin-top: 0 !important; }
.promo-banner-capitolo .promo-text-capitolo > .wb-lead-intro:first-child{ margin-top: 0 !important; }

@media (max-width: 767px){
  .promo-banner-capitolo:not(.in-popup) .wb-leadgen{ margin-top: 6px !important; }
  .promo-banner-capitolo:not(.in-popup) .wb-lead-title{ margin-top: 4px !important; }
  .promo-banner-capitolo:not(.in-popup) .wb-lead-intro{ margin: 2px 0 8px !important; }
}

.fbiz-sticky .promo-banner-capitolo .wb-lead-title{
  font-size: var(--fs-lead-title) !important;
}

/* === Lead wrapper: niente full-radius sull'intero blocco === */
/* Non tocchiamo input (.ff-el-form-control) né submit (.ff-btn) */

.promo-banner-capitolo .wb-leadgen,
.promo-banner-capitolo .wb-leadgen .fluentform,             /* wrapper FF */
.promo-banner-capitolo .wb-leadgen .ffs_modern_b_wrap,      /* skin wrapper FF */
.promo-banner-capitolo .wb-leadgen form.ff-el-form-top,     /* form */
.promo-banner-capitolo .wb-leadgen form.ff-el-form-top fieldset {
  border-radius: 50px !important;
  overflow: visible !important;          /* evita il “pill” combinato con overflow */
  background: transparent !important;    /* se la skin dava bg al wrapper */
  box-shadow: none !important;           /* ombra curva sul wrapper */
}

/* Solo per sicurezza: il gruppo del submit non fa “pill” al container */
.promo-banner-capitolo .wb-leadgen .ff_submit_btn_wrapper {
  border-radius: 0 !important;
}

/* ====== POP‑UP: override mobile per spazi ottimizzati ====== */
@media (max-width: 640px){
  .fbiz-sticky{
    /* extra top per lasciare la X su una riga dedicata, bottom più compatto */
    --pop-top-extra: 36px;
    --pop-bottom-pad: 12px;
  }
  .fbiz-sticky .promo-banner-capitolo{
    margin: 12px auto var(--pop-bottom-pad);
  }
  .fbiz-sticky .promo-actions{
    margin-bottom: 6px; /* ancora più compatto sotto ai CTA */
  }
}

/* ===================== BLUR ELEGANTE DELLO SFONDO QUANDO IL POP‑UP È APERTO ===================== */
/* Base: pseudo‑elemento sempre presente (invisibile) per consentire una transizione fluida */
body::before{
  content: "";
  position: fixed; inset: 0;
  z-index: 9998;                 /* subito sotto al .fbiz-sticky (9999) */
  opacity: 0;                    /* nascosto di default */
  pointer-events: none;          /* non intercetta i click */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: transparent;
  transition:
    opacity var(--dur-2, .45s) var(--ease-std, cubic-bezier(.2,.6,.2,1));
  will-change: opacity;
}

/* Stato attivo: quando il pop‑up è visibile, applica blur + dim, con fade‑in/out elegante */
@supports selector(:has(*)){
  body:has(.fbiz-sticky.show)::before{
    opacity: 1;
    backdrop-filter: blur(var(--fbiz-pop-blur, 10px));
    -webkit-backdrop-filter: blur(var(--fbiz-pop-blur, 10px));
    background: var(--fbiz-pop-dim, rgba(17,17,17,.35));
    /* NB: lasciamo pointer-events: none così non blocchiamo la pagina;
       se vuoi impedire interazioni dietro al pop‑up, imposta a 'auto'. */
  }
}

/* Fallback per browser che NON supportano backdrop-filter:
   usa un blur diretto sui figli del body (escluso il pop‑up). */
@supports selector(:has(*)) {
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    body:has(.fbiz-sticky.show) > :not(.fbiz-sticky){
      filter: blur(var(--fbiz-pop-blur, 10px));
      transition: filter var(--dur-2, .45s) var(--ease-std, cubic-bezier(.2,.6,.2,1));
      will-change: filter;
    }
  }
}

/* Accessibilità: se l'utente riduce le animazioni, niente transizioni */
@media (prefers-reduced-motion: reduce){
  body::before{ transition: none !important; }
  @supports selector(:has(*)){
    body:has(.fbiz-sticky.show) > :not(.fbiz-sticky){ transition: none !important; }
  }
}

/* ========================= REVIEWS SECTION ========================= */
.promo-banner-capitolo .wb-reviews{
  margin: 0 0 var(--space-m) 0;
}

/* Badge area (WP Review Slider shortcode) */
.promo-banner-capitolo .wb-reviews-badge{
  text-align: left;
}
@media (max-width: 640px){
  .promo-banner-capitolo .wb-reviews-badge{
    text-align: center;
  }
}

/* WP Review Slider badge: usa colore e dimensione testo coerenti con la card */
.promo-banner-capitolo .wb-reviews-badge,
.promo-banner-capitolo .wb-reviews-badge *{
  color: var(--banner-fg) !important;
  font-size: var(--fs-small) !important;
  line-height: 1.4 !important;
}
.promo-banner-capitolo .wb-reviews-badge a{
  color: var(--banner-fg) !important;
  text-decoration: none;
}
.promo-banner-capitolo .wb-reviews-badge a:hover{
  color: var(--accent) !important;
}
/* WP Review Slider Pro: override colori specifici */
.promo-banner-capitolo .wb-reviews-badge [class*="wppro_badge"],
.promo-banner-capitolo .wb-reviews-badge [id^="wprev-badge"] *{
  color: var(--banner-fg) !important;
}
/* Allinea verticalmente stelle e testo */
.promo-banner-capitolo .wb-reviews-badge [id^="wprev-badge"]{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}
.promo-banner-capitolo .wb-reviews-badge .svgicons{
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  flex-shrink: 0;
}
.promo-banner-capitolo .wb-reviews-badge svg{
  vertical-align: middle !important;
}

/* Slider container */
.promo-banner-capitolo .wb-reviews-slider{
  position: relative;
  overflow: hidden;
  min-height: 100px;
}

/* Slides */
.promo-banner-capitolo .wb-reviews-slide{
  display: none;
  opacity: 0;
  transition: opacity var(--dur-2) var(--ease-std);
}
.promo-banner-capitolo .wb-reviews-slide.active{
  display: block;
  opacity: 1;
}

/* Blockquote */
.promo-banner-capitolo .wb-reviews-text{
  margin: 0;
  padding: 0;
  font-style: italic;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--banner-fg);
  text-align: center;
}
.promo-banner-capitolo .wb-reviews-text::before{
  content: '"';
  font-size: 1.4em;
  opacity: .6;
}
.promo-banner-capitolo .wb-reviews-text::after{
  content: '"';
  font-size: 1.4em;
  opacity: .6;
}

/* Author */
.promo-banner-capitolo .wb-reviews-author{
  display: block;
  margin-top: var(--space-s);
  font-style: normal;
  font-weight: 700;
  font-size: var(--fs-small);
  text-align: center;
  color: var(--accent);
}

/* Navigation dots */
.promo-banner-capitolo .wb-reviews-dots{
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--space-m);
}
.promo-banner-capitolo .wb-reviews-dot{
  all: unset;
  width: 10px;
  height: 10px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.35);
  cursor: pointer;
  transition: background var(--dur-1) var(--ease-std), transform var(--dur-1) var(--ease-std);
}
.promo-banner-capitolo .wb-reviews-dot:hover{
  background: rgba(255,255,255,.55);
  transform: scale(1.15);
}
.promo-banner-capitolo .wb-reviews-dot.active{
  background: var(--accent);
}

/* === POPUP: nascondi recensioni (mostrale solo in inline) === */
.fbiz-sticky .promo-banner-capitolo .wb-reviews{
  display: none !important;
}

/* === MOBILE: reviews layout === */
@media (max-width: 640px){
  .promo-banner-capitolo .wb-reviews{
    margin: var(--space-s) 0;
  }
  .promo-banner-capitolo .wb-reviews-text{
    font-size: var(--fs-small);
  }
}