.elementor-138 .elementor-element.elementor-element-e52afd8{width:100%;max-width:100%;}.elementor-138 .elementor-element.elementor-element-e52afd8.elementor-element{--flex-grow:0;--flex-shrink:0;}/* Start custom CSS for html, class: .elementor-element-e52afd8 */@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Inter:wght@400;500;600;700&display=swap');

#libro-page {
  --navy: #1B2845;
  --orange: #DD752C;
  --cream: #FAF5EC;
  --cream-dark: #E8DFCE;
  --white: #FFFFFF;
  --muted: #7B8A9D;
  --text: #1B2845;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

/* Reset solo dentro la pagina libro, non globale */
#libro-page,
#libro-page * { box-sizing: border-box; }
#libro-page p,
#libro-page h1,
#libro-page h2,
#libro-page h3,
#libro-page h4,
#libro-page ul,
#libro-page ol { margin: 0; padding: 0; }

#libro-page h1,
#libro-page h2,
#libro-page h3,
#libro-page h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.01em;
  text-wrap: balance;
}

#libro-page p { margin-bottom: 1em; }
#libro-page a { color: var(--orange); text-decoration: none; }
#libro-page a:hover { text-decoration: underline; }

#libro-page .container { max-width: 1100px; margin: 0 auto; padding: 0 32px; }
#libro-page .container-narrow { max-width: 760px; margin: 0 auto; padding: 0 32px; }

/* EYEBROW */
#libro-page .eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--orange);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

/* BUTTONS */
#libro-page .btn {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 18px 36px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 2px solid transparent;
  cursor: pointer;
}
#libro-page .btn:hover { text-decoration: none; transform: translateY(-1px); }
#libro-page .btn-primary { background: var(--orange); color: var(--white); }
#libro-page .btn-primary:hover { background: #c66524; color: var(--white); }
#libro-page .btn-outline { background: transparent; color: var(--orange); border-color: var(--orange); }
#libro-page .btn-outline:hover { background: var(--orange); color: var(--white); }
#libro-page .btn-outline-light { background: transparent; color: var(--white); border-color: var(--white); }
#libro-page .btn-outline-light:hover { background: var(--white); color: var(--navy); }
#libro-page .btn-arrow::after { content: " →"; margin-left: 4px; }

/* HERO */
#libro-page .hero {
  background: var(--cream);
  padding: 80px 0 90px 0;
  position: relative;
  overflow: hidden;
}
#libro-page .hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 56px;
  align-items: center;
}
#libro-page .hero-badge {
  display: inline-block;
  background: var(--navy);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 8px 16px;
  margin-bottom: 24px;
}
#libro-page .hero-badge .dot { color: var(--orange); margin: 0 6px; }
#libro-page .hero h1 {
  font-size: 46px;
  line-height: 1.12;
  margin-bottom: 20px;
  letter-spacing: -0.015em;
}
#libro-page .hero-subtitle {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 21px;
  line-height: 1.45;
  color: var(--navy);
  margin-bottom: 28px;
  opacity: 0.85;
}
#libro-page .hero-meta {
  display: flex;
  gap: 24px;
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 32px;
  flex-wrap: wrap;
}
#libro-page .hero-meta strong { color: var(--navy); }
#libro-page .hero-cta {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
#libro-page .hero-cta-note { font-size: 13px; color: var(--muted); font-style: italic; }
#libro-page .hero-right { text-align: center; position: relative; }
#libro-page .hero-cover {
  max-width: 380px;
  width: 100%;
  height: auto;
  box-shadow: 0 30px 60px rgba(27, 40, 69, 0.25);
  border-radius: 4px;
}

/* SECTION */
#libro-page .section { padding: 80px 0; }
#libro-page .section-cream { background: var(--cream); }
#libro-page .section-navy { background: var(--navy); color: var(--white); }
#libro-page .section-navy h2,
#libro-page .section-navy h3 { color: var(--white); }
#libro-page .section-header { text-align: center; margin-bottom: 56px; }
#libro-page .section-header h2 {
  font-size: 38px;
  line-height: 1.2;
  margin-bottom: 16px;
}
#libro-page .section-header .lead {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 19px;
  color: var(--navy);
  opacity: 0.8;
  max-width: 620px;
  margin: 0 auto;
}
#libro-page .section-navy .section-header .lead { color: var(--white); opacity: 0.85; }

/* SINOSSI */
#libro-page .sinossi-body { font-size: 18px; line-height: 1.75; color: var(--text); }
#libro-page .sinossi-body p { margin-bottom: 22px; }
#libro-page .sinossi-body .pull {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--navy);
  background: var(--cream);
  border-left: 3px solid var(--orange);
  padding: 24px 32px;
  margin: 32px 0;
}

/* ESERCIZI */
#libro-page .exercises-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
#libro-page .exercise-card {
  background: var(--white);
  border: 1px solid var(--cream-dark);
  padding: 28px;
  transition: all 0.2s ease;
}
#libro-page .exercise-card:hover { border-color: var(--orange); }
#libro-page .exercise-num {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  color: var(--orange);
  line-height: 1;
  margin-bottom: 12px;
  display: block;
}
#libro-page .exercise-title {
  font-family: 'Playfair Display', serif;
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.3;
}
#libro-page .exercise-desc { font-size: 14px; line-height: 1.55; color: var(--muted); }

/* ACADEMY */
#libro-page .academy-intro {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 48px;
  font-size: 17px;
  line-height: 1.7;
  opacity: 0.9;
}
#libro-page .academy-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 800px;
  margin: 0 auto 48px;
}
#libro-page .academy-item { display: flex; gap: 16px; align-items: flex-start; }
#libro-page .academy-icon {
  width: 40px;
  height: 40px;
  background: var(--orange);
  color: var(--white);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  flex-shrink: 0;
}
#libro-page .academy-item-text { flex: 1; }
#libro-page .academy-item-text strong {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  margin-bottom: 4px;
  color: var(--white);
}
#libro-page .academy-item-text span { font-size: 14px; line-height: 1.55; opacity: 0.85; }
#libro-page .academy-cta { text-align: center; margin-top: 8px; }
#libro-page .academy-cta-note { font-size: 14px; opacity: 0.75; margin-top: 16px; font-style: italic; }

/* AUTORE */
#libro-page .author-grid {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 48px;
  align-items: center;
  max-width: 880px;
  margin: 0 auto;
}
#libro-page .author-photo {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: var(--cream);
  border: 3px solid var(--cream-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 60px;
  color: var(--navy);
  overflow: hidden;
}
#libro-page .author-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
#libro-page .author-text h3 { font-size: 28px; margin-bottom: 8px; }
#libro-page .author-text .role {
  color: var(--orange);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
#libro-page .author-text p { font-size: 16px; line-height: 1.7; margin-bottom: 16px; }

/* TESTIMONIAL */
#libro-page .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-top: 40px;
}
#libro-page .testimonial {
  background: var(--white);
  padding: 32px;
  border-left: 3px solid var(--orange);
}
#libro-page .testimonial-quote {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.55;
  color: var(--navy);
  margin-bottom: 20px;
}
#libro-page .testimonial-author { font-size: 13px; color: var(--muted); font-weight: 500; }
#libro-page .testimonial-author strong { color: var(--navy); font-weight: 600; display: block; margin-bottom: 2px; }

/* FAQ */
#libro-page .faq-list { max-width: 760px; margin: 0 auto; }
#libro-page .faq-item {
  border-bottom: 1px solid var(--cream-dark);
  padding: 24px 0;
}
#libro-page .faq-item:first-child { border-top: 1px solid var(--cream-dark); }
#libro-page .faq-q {
  font-family: 'Playfair Display', serif;
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.4;
}
#libro-page .faq-a { font-size: 16px; line-height: 1.65; color: var(--text); }

/* CTA FINALE */
#libro-page .cta-final {
  background: var(--navy);
  color: var(--white);
  padding: 80px 0;
  text-align: center;
}
#libro-page .cta-final h2 {
  color: var(--white);
  font-size: 42px;
  line-height: 1.15;
  margin-bottom: 16px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
#libro-page .cta-final-sub {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 20px;
  color: var(--white);
  opacity: 0.85;
  margin-bottom: 40px;
}
#libro-page .cta-final-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
#libro-page .cta-final-note { font-size: 14px; opacity: 0.7; font-style: italic; color: var(--white); }
#libro-page .cta-final-note a { color: var(--orange) !important; }

/* RESPONSIVE */
@media (max-width: 900px) {
  #libro-page .hero { padding: 60px 0 70px 0; }
  #libro-page .hero-grid { grid-template-columns: 1fr; gap: 48px; text-align: center; }
  #libro-page .hero h1 { font-size: 36px; }
  #libro-page .hero-subtitle { font-size: 18px; }
  #libro-page .hero-cta { justify-content: center; }
  #libro-page .hero-meta { justify-content: center; }

  #libro-page .section { padding: 60px 0; }
  #libro-page .section-header h2 { font-size: 30px; }
  #libro-page .section-header .lead { font-size: 17px; }

  #libro-page .exercises-grid { grid-template-columns: 1fr; gap: 16px; }
  #libro-page .academy-grid { grid-template-columns: 1fr; }
  #libro-page .author-grid { grid-template-columns: 1fr; text-align: center; gap: 24px; }
  #libro-page .author-photo { margin: 0 auto; }
  #libro-page .testimonials-grid { grid-template-columns: 1fr; }

  #libro-page .cta-final h2 { font-size: 30px; }
  #libro-page .cta-final-sub { font-size: 17px; }

  #libro-page .sinossi-body { font-size: 16px; }
  #libro-page .sinossi-body .pull { font-size: 18px; padding: 20px 24px; }
}/* End custom CSS */
/* Start custom CSS *//* === FIX LANDING /scopri + thank-you /grazie/scopri ===
   Disattiva padding/margin di default Elementor sulle landing custom HTML.
   Da applicare globalmente o solo a queste due pagine. */

body.elementor-page-NONE,
body[class*="page-id"] {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
}

/* azzera padding di tutti i wrapper Elementor sulla pagina */
.elementor-section,
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-container,
.elementor-row,
.elementor-column,
.elementor-column-wrap,
.elementor-widget-wrap,
.elementor-widget-html,
.elementor-widget-html > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* la sezione "full width" deve davvero essere full width */
.elementor-section.elementor-section-boxed {
  max-width: 100% !important;
}
.elementor-section-boxed > .elementor-container {
  max-width: 100% !important;
}

/* alcuni temi mettono padding sul main content */
main, #main, #content, .site-content, .site-main, .page-content, .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}
/* Elementor V4 / Atomic - reset wrapper Flexbox */
.e-flex,
.e-con,
.e-con-inner,
[class*="e-flex"],
[class*="e-con"] {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* HTML widget V4 */
.elementor-widget-html-v4,
[class*="elementor-widget-html"] {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* ============================================================
   OVERRIDE FLUENTFORMS · Landing /scopri
   ============================================================
   Da incollare in: WP Admin → Elementor → Site Settings → Custom CSS
   (oppure Aspetto → Personalizza → CSS aggiuntivo)

   Riallinea il form FluentForms reale al visual system della
   landing-lead-magnet-v2.html (mockup originale).

   I selettori usano la classe .ff-default e gli ID/data-attr di
   FluentForms 6.x. Se il tuo form ha un ID specifico, puoi
   prefissare con #fluentform_NUMERO per maggiore specificità.

   Tokens del visual system:
   --navy:       #262735
   --orange:     #DD752C
   --orange-dk:  #BF621F
   --beige:      #D6C8B5
   --beige-lt:   #EDE5D8
   --cream:      #F8F3EC
   --slate:      #7B8A9D
   --serif: 'Playfair Display'
   --sans:  'Inter'
   ============================================================ */


/* ── CONTAINER FORM: la "card bianca" tipo mockup ────────── */
.fluentform {
  background: #FEFEFE !important;
  border-radius: 12px !important;
  padding: 48px 44px 40px !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  position: relative !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,0.04),
    0 8px 16px rgba(0,0,0,0.08),
    0 24px 48px rgba(0,0,0,0.16),
    0 40px 80px rgba(0,0,0,0.12) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

/* Top border arancione 4px */
.fluentform::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: #DD752C !important;
  border-radius: 12px 12px 0 0 !important;
}

@media (max-width: 540px) {
  .fluentform {
    padding: 32px 24px 28px !important;
  }
}


/* ── HEADING / SOTTOTITOLO sopra il form (opzionale) ──────── */
/* Puoi aggiungere un widget HTML dentro Elementor con:
   <p class="ff-card-title">Dove ti mando il Kit?</p>
   <p class="ff-card-sub">Ti arriva nella stessa email. Nessuno spam, mai.</p>
   PRIMA dello shortcode FluentForms */
.ff-card-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #262735 !important;
  margin-bottom: 6px !important;
  line-height: 1.3 !important;
}
.ff-card-sub {
  font-size: 0.85rem !important;
  color: #7B8A9D !important;
  margin-bottom: 30px !important;
  line-height: 1.55 !important;
}


/* ── LABELS dei campi (NOME, EMAIL) ────────────────────────── */
.fluentform .ff-el-input--label label,
.fluentform label {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  color: #262735 !important;
  margin-bottom: 7px !important;
}

/* Nasconde l'asterisco rosso brutto dopo "Nome *" / "E-mail *" */
.fluentform label .ff-el-is-required.asterisk-right {
  color: #DD752C !important;
  font-weight: 700 !important;
}


/* ── INPUT TESTO / EMAIL ──────────────────────────────────── */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="url"] {
  width: 100% !important;
  padding: 13px 15px !important;
  border: 1.5px solid #D6C8B5 !important;
  border-radius: 5px !important;
  font-size: 0.97rem !important;
  font-family: 'Inter', sans-serif !important;
  color: #262735 !important;
  background: #F8F3EC !important;
  outline: none !important;
  transition: border-color .2s, background .2s, box-shadow .2s !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.4 !important;
}

.fluentform input[type="text"]:focus,
.fluentform input[type="email"]:focus,
.fluentform input[type="tel"]:focus,
.fluentform input[type="url"]:focus {
  border-color: #DD752C !important;
  background: #FEFEFE !important;
  box-shadow: 0 0 0 3px rgba(221,117,44,0.12) !important;
  outline: none !important;
}

.fluentform input::placeholder {
  color: #BBB !important;
  opacity: 1 !important;
}


/* ── SPAZIATURA tra i campi ───────────────────────────────── */
.fluentform .ff-el-group {
  margin-bottom: 18px !important;
}


/* ── CHECKBOX GDPR Privacy ────────────────────────────────── */
.fluentform .ff-el-form-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: 4px !important;
  margin-bottom: 22px !important;
  padding-left: 0 !important;
}

.fluentform .ff-el-form-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  accent-color: #DD752C !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: static !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
}

.fluentform .ff-el-form-check label {
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4A4A5A !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: inline !important;
}

.fluentform .ff-el-form-check label a {
  color: #BF621F !important;
  text-decoration: underline !important;
}


/* ── BOTTONE SUBMIT "Ricevi il Kit gratis →" ──────────────── */
.fluentform button.ff-btn-submit,
.fluentform .ff-btn.ff-btn-submit,
.fluentform .ff-el-group button[type="submit"] {
  width: 100% !important;
  background: #DD752C !important;
  color: white !important;
  border: none !important;
  padding: 16px 24px !important;
  border-radius: 5px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.97rem !important;
  cursor: pointer !important;
  margin-top: 4px !important;
  letter-spacing: 0.015em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 6px 20px rgba(221,117,44,0.35) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background .2s, transform .18s, box-shadow .2s !important;
  text-transform: none !important;
}

/* Sovrapposizione lucida in alto per dare profondità */
.fluentform button.ff-btn-submit::before,
.fluentform .ff-btn.ff-btn-submit::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0.1), transparent) !important;
  pointer-events: none !important;
}

/* Freccia "→" dopo il testo del bottone */
.fluentform button.ff-btn-submit::after,
.fluentform .ff-btn.ff-btn-submit::after {
  content: "→" !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: transform .2s !important;
}

.fluentform button.ff-btn-submit:hover,
.fluentform .ff-btn.ff-btn-submit:hover {
  background: #BF621F !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(221,117,44,0.45) !important;
}

.fluentform button.ff-btn-submit:hover::after,
.fluentform .ff-btn.ff-btn-submit:hover::after {
  transform: translateX(3px) !important;
}


/* ── MESSAGGI DI VALIDAZIONE / ERRORE ─────────────────────── */
.fluentform .error,
.fluentform .ff-el-is-error .text-danger,
.fluentform .ff-el-is-error .ff-el-form-check-label {
  color: #BF621F !important;
  font-size: 0.78rem !important;
  font-style: italic !important;
  margin-top: 6px !important;
}

.fluentform .ff-el-is-error input[type="text"],
.fluentform .ff-el-is-error input[type="email"] {
  border-color: #BF621F !important;
  background: rgba(191,98,31,0.04) !important;
}


/* ── MESSAGGIO DI SUCCESSO (se mai si vede prima del redirect) ── */
.ff-message-success,
.fluentform_v3 .ff-message-success {
  background: #F8F3EC !important;
  border-left: 4px solid #DD752C !important;
  color: #262735 !important;
  padding: 16px 20px !important;
  border-radius: 0 6px 6px 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
}


/* ── DIVIDER + PRIVACY FOOTER del form ──────────────────────
   Puoi aggiungere un widget HTML SOTTO lo shortcode con:
   <div class="ff-divider"></div>
   <div class="ff-form-privacy">
     <svg viewBox="0 0 16 16"><path d="M8 1L2 4v4c0 3.5 2.5 6.5 6 7 3.5-.5 6-3.5 6-7V4L8 1z"/></svg>
     <p>I tuoi dati non vengono ceduti a terzi. Puoi cancellarti
     in qualsiasi momento con un click. Informativa privacy
     completa su aipergenitori.it/privacy</p>
   </div>
*/
.ff-divider {
  height: 1px !important;
  background: #EDE5D8 !important;
  margin: 22px 0 18px !important;
}

.ff-form-privacy {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
.ff-form-privacy svg {
  width: 13px !important;
  height: 13px !important;
  fill: #7B8A9D !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}
.ff-form-privacy p {
  font-size: 0.72rem !important;
  color: #7B8A9D !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}


/* ── LOADING SPINNER al submit ────────────────────────────── */
.fluentform .ff_submit_btn_loader svg circle {
  stroke: white !important;
}
/* ============================================================
   FIX RIFINITURA · Round 2
   ============================================================ */


/* ── FIX 1: Annulla la card interna quando il form è dentro .form-card ──
   La .form-card esterna fornisce già container, border-radius,
   shadow e top border arancione. Il .fluentform interno deve essere
   "trasparente": niente background, niente shadow, niente padding extra. */
.form-card .fluentform,
.form-card div.fluentform {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.form-card .fluentform::before {
  display: none !important;
}


/* ── FIX 2: Asterisco "required" — discreto e in tono ── */
.fluentform .ff-el-input--label label .ff-el-is-required,
.fluentform label span.ff-el-is-required,
.fluentform label .ff-el-is-required.asterisk-right,
.fluentform .asterisk-right,
.fluentform [aria-label="required"] {
  color: #DD752C !important;
  font-weight: 700 !important;
  font-size: 0.85em !important;
  margin-left: 3px !important;
  vertical-align: super !important;
  opacity: 0.7 !important;
}


/* ── FIX 3: Spaziatura checkbox + testo privacy ── */
.fluentform .ff-el-form-check {
  gap: 12px !important;
  align-items: flex-start !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
}

.fluentform .ff-el-form-check input[type="checkbox"] {
  margin-top: 3px !important;
  margin-right: 4px !important;
}

.fluentform .ff-el-form-check label {
  padding-left: 0 !important;
  line-height: 1.6 !important;
}


/* ── FIX 4: Bottone "Ricevi il Kit gratis" — più presenza ── */
.fluentform button.ff-btn-submit,
.fluentform .ff-btn.ff-btn-submit,
.fluentform .ff-el-group button[type="submit"] {
  padding: 18px 28px !important;
  font-size: 1rem !important;
  margin-top: 12px !important;
  letter-spacing: 0.02em !important;
}


/* ── FIX 5: Toglie eventuale spazio extra residuo sotto il form ── */
.form-card .fluentform .ff_form_instance,
.form-card .fluentform form {
  margin: 0 !important;
  padding: 0 !important;
}/* End custom CSS */