/* Shared hero proportions, rhythm and palette across the public site. */
:root {
  --site-hero-title: 3rem;
  --site-hero-ink: #243a76;
  --site-hero-copy-width: 56.25rem;
  --site-hero-lead-width: 45rem;
  --site-hero-title-width: 30ch;
  --site-hero-visual-width: 23.75rem;
  --site-hero-column-gap: clamp(2rem, 5vw, 4.5rem);
}
body .hero, body .inner-hero, body .legal-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: 64px !important; padding-bottom: 64px !important;
  min-height: 0 !important;
  background-color: #243a76 !important;
}
body .hero > .container, body .inner-hero > .container, body .legal-hero > .container {
  position: relative;
  z-index: 1;
}
body .hero .hero-copy, body .inner-hero .inner-hero-copy,
body .inner-hero .how-v2-hero-copy {
  width: 100%;
  max-width: var(--site-hero-copy-width) !important;
}
body .hero h1, body .inner-hero h1, body .legal-hero h1,
body .coming-soon-message h1 {
  width: 100%;
  max-width: var(--site-hero-title-width) !important;
  font-size: var(--site-hero-title) !important; line-height: 1.14 !important;
  font-weight: 900 !important; letter-spacing: -.025em !important;
  margin-bottom: 24px !important; text-wrap: balance;
}
body .hero, body .inner-hero {
  background-image: linear-gradient(100deg, rgba(36,58,118,.97), rgba(16,29,65,.88) 60%, rgba(16,29,65,.65)), url('../img/hero-ristorante-telefono-ai.webp') !important;
  background-position: center, center right !important; background-size: cover !important;
  color: #fff !important;
}
body .hero.hero-clean, body .hero.landing-hero {
  background-image: linear-gradient(100deg, rgba(36,58,118,.97), rgba(16,29,65,.88) 60%, rgba(16,29,65,.65)), url('../img/hero-home-emozionale-v4.webp') !important;
}
body .hero::before, body .hero::after, body .inner-hero::before, body .inner-hero::after,
body .hero > .site-hero-backdrop, body .inner-hero > .site-hero-backdrop { display: none !important; }
body .hero h1, body .inner-hero h1, body .hero h1 span, body .inner-hero h1 span {
  color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important;
}
body .hero .hero-semantic-subtitle, body .inner-hero .hero-semantic-subtitle,
body .hero .lead, body .inner-hero .lead, body .legal-hero .lead {
  width: 100%;
  max-width: var(--site-hero-lead-width) !important;
}
body .hero .hero-semantic-subtitle, body .inner-hero .hero-semantic-subtitle {
  font-size: 1.25rem !important;
  line-height: 1.5 !important;
}
body .hero .lead, body .inner-hero .lead { color: #edf2ff !important; font-size: 1.18rem !important; line-height: 1.65 !important; }
body .hero .hero-actions, body .inner-hero .hero-actions { gap: 12px !important; margin-top: 28px !important; }
body .hero .hero-note, body .inner-hero .hero-note { color: #e0e8fa !important; }
body .hero .hero-final-conditions, body .inner-hero .hero-final-conditions {
  width: 100%;
  max-width: var(--site-hero-copy-width) !important;
}
body .inner-hero .how-v2-hero-grid, body .hero .landing-hero-grid {
  column-gap: var(--site-hero-column-gap) !important;
}
body .inner-hero .how-v2-hero-visual, body .hero .landing-hero-visual {
  width: min(100%, var(--site-hero-visual-width)) !important;
}
body .partner-hero .partner-referral-graphic {
  width: min(100%, 37.5rem);
  margin-left: auto;
}
body .legal-hero { background: #edf2fc !important; color: #243a76 !important; }
body .legal-hero h1 { color: #243a76 !important; }
@media(max-width:991.98px) {
  :root {
    --site-hero-title: 2.5rem;
    --site-hero-copy-width: 46rem;
    --site-hero-lead-width: 42rem;
  }
  body .hero, body .inner-hero, body .legal-hero { padding-block: 48px !important; }
  body .partner-hero .partner-referral-graphic { display: none; }
}
@media(max-width:575.98px) {
  :root {
    --site-hero-title: 2rem;
    --site-hero-title-width: 100%;
  }
  body .hero, body .inner-hero, body .legal-hero { padding-block: 36px !important; }
  body .hero .lead, body .inner-hero .lead { font-size: 1.0625rem !important; }
  body .hero .hero-semantic-subtitle, body .inner-hero .hero-semantic-subtitle {
    font-size: 1.0625rem !important;
    line-height: 1.5 !important;
  }
  body .hero .hero-actions, body .inner-hero .hero-actions,
  body .hero .hero-actions .btn, body .inner-hero .hero-actions .btn {
    width: 100%;
  }
  body .hero .hero-final-conditions-3, body .inner-hero .hero-final-conditions-3 {
    grid-template-columns: 1fr !important;
    margin-top: 24px !important;
  }
  body .hero .hero-final-conditions-3 > div,
  body .inner-hero .hero-final-conditions-3 > div {
    position: relative;
    display: block;
    min-height: 0 !important;
    padding: 14px 16px 14px 58px !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.18);
  }
  body .hero .hero-final-conditions-3 > div:first-child,
  body .inner-hero .hero-final-conditions-3 > div:first-child { border-top: 0; }
  body .hero .hero-final-conditions-3 > div:last-child,
  body .inner-hero .hero-final-conditions-3 > div:last-child { grid-column: auto !important; }
  body .hero .hero-final-conditions-3 > div > i,
  body .inner-hero .hero-final-conditions-3 > div > i {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 30px;
    height: 30px;
    margin: 0;
  }
}

/* Nested dynamic dates stay within their supporting sentence. */
body .hero-final-conditions [data-setup-deadline] { display:inline !important; white-space:nowrap; }
body .hero-final-conditions > div > i { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; margin-bottom:10px; border-radius:50%; color:#dceaff; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.25); font-size:1rem; }
