@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,600&display=swap');

.wp-block-site-title,
.wp-block-site-title a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.03em;
}

.wp-site-blocks > main {
  margin-block-start: 0 !important;
  padding-block: 0 !important;
}

:root {
  --wp--style--global--content-size: 900px;
  --wp--style--global--wide-size: 1100px;
}

.home .wp-block-cover.alignfull {
  min-height: 92vh;
}

/* Metodo boxes */
@media (min-width: 782px) {
  .wp-block-columns:has(> .wp-block-column > .wp-block-group[style*="border-width"]) .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
  }
  .wp-block-columns:has(> .wp-block-column > .wp-block-group[style*="border-width"]) .wp-block-group {
    flex: 1 !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Footer nero */
.wp-site-blocks > footer {
  background-color: #0e0e0e !important;
  color: #f5f3ef !important;
}
.wp-site-blocks > footer .wp-block-site-title a {
  color: #f5f3ef !important;
}
.wp-site-blocks > footer .wp-block-site-tagline {
  color: #888888 !important;
}
.wp-site-blocks > footer .wp-block-navigation a {
  color: #f5f3ef !important;
}
.wp-site-blocks > footer .wp-block-navigation a:hover {
  color: #c8ff00 !important;
}
.wp-site-blocks > footer p {
  color: #888888 !important;
}

/* Footer compatto */
.wp-site-blocks > footer > .wp-block-group {
  padding-top: 2.5rem !important;
  padding-bottom: 2rem !important;
}
.wp-site-blocks > footer > .wp-block-group > .wp-block-group {
  padding-top: 1.5rem !important;
  margin-top: 0 !important;
}

/* Footer nav allineata a destra su desktop */
@media (min-width: 782px) {
  .wp-site-blocks > footer .wp-block-navigation__container {
    justify-content: flex-end !important;
    align-items: flex-end !important;
  }
  .wp-site-blocks > footer .wp-block-column:last-child {
    display: flex !important;
    justify-content: flex-end !important;
  }
}

@media (max-width: 781px) {
  .home .wp-block-cover.alignfull {
    min-height: 100svh !important;
    max-height: 100svh !important;
    height: 100svh !important;
    align-items: flex-end !important;
    overflow: hidden !important;
  }
  .home .wp-block-cover.alignfull .wp-block-cover__image-background {
    object-position: 75% 15% !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
  }
  .home .wp-block-cover.alignfull .wp-block-cover__background {
    background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.6) 55%, rgba(0,0,0,0.95) 80%, rgba(0,0,0,1) 100%) !important;
    opacity: 1 !important;
  }
  .home .wp-block-cover.alignfull .wp-block-cover__inner-container {
    padding: 1rem 1rem 1.5rem !important;
    margin-bottom: 5rem !important;
    width: 100% !important;
  }
  .home .wp-block-cover.alignfull h1.wp-block-heading {
    font-size: clamp(1.8rem, 7.5vw, 2.4rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 0.75rem !important;
  }
  .home .wp-block-cover.alignfull .wp-block-paragraph {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1.25rem !important;
  }
  .entry-content > .wp-block-group { padding-block: 2rem !important; }
  .wp-block-group .wp-block-heading { margin-block-end: 0.75rem !important; }
  .wp-block-group .wp-block-paragraph { margin-block: 0.5rem !important; }
}

@media (max-width: 781px) {
  /* Chi sono hero — mobile (full screen come homepage) */
  .page-id-301 .wp-block-cover.alignfull {
    min-height: 100svh !important;
    max-height: 100svh !important;
    height: 100svh !important;
    align-items: flex-end !important;
    overflow: hidden !important;
  }
  .page-id-301 .wp-block-cover.alignfull .wp-block-cover__image-background {
    object-position: 84% 20% !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
  }
  .page-id-301 .wp-block-cover.alignfull .wp-block-cover__background {
    background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.6) 55%, rgba(0,0,0,0.95) 80%, rgba(0,0,0,1) 100%) !important;
    opacity: 1 !important;
  }
  .page-id-301 .wp-block-cover.alignfull .wp-block-cover__inner-container {
    padding: 1rem 1rem 1.5rem !important;
    margin-bottom: 5rem !important;
    width: 100% !important;
  }
  .page-id-301 .wp-block-cover.alignfull h1.wp-block-heading {
    font-size: clamp(1.9rem, 8vw, 2.6rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 0.5rem !important;
  }
}

/* Chi sono — valori: centrato su desktop, sinistra su mobile */
@media (min-width: 782px) {
  .page-id-301 .wp-block-columns .wp-block-column .wp-block-group {
    text-align: center !important;
  }
}
@media (max-width: 781px) {
  .page-id-301 .wp-block-columns .wp-block-column .wp-block-group {
    text-align: left !important;
  }
}
/* Chi sono hero — desktop: titolo sinistra, foto destra */
@media (min-width: 782px) {
  .page-id-301 .wp-block-cover.alignfull {
    align-items: center !important;
  }
  .page-id-301 .wp-block-cover.alignfull .wp-block-cover__inner-container {
    max-width: 55% !important;
    padding-left: 3rem !important;
    padding-bottom: 3rem !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  .page-id-301 .wp-block-cover.alignfull .wp-block-cover__image-background {
    object-position: 62% 8% !important;
  }
  .page-id-301 .wp-block-cover.alignfull h1.wp-block-heading {
    font-size: clamp(2rem, 3.2vw, 3.2rem) !important;
    line-height: 1.08 !important;
  }
}
/* Freccia su tutti i pulsanti CTA */
.wp-block-button__link::after {
  content: ' →';
}
/* Come funziona — hero subtitle leggibile su mobile */
.page-id-293 .wp-block-group.alignfull > .wp-block-group__inner-container > .wp-block-paragraph,
.page-id-293 .wp-block-group.alignfull .wp-block-paragraph {
  font-size: clamp(1.05rem, 3.5vw, 1.25rem) !important;
  line-height: 1.6 !important;
}
/* Homepage metodo — lime left border */
.page-id-270 .wp-block-group.has-custom-primario-border-color.has-border-color {
  border: none !important;
  border-left: 4px solid #c8ff00 !important;
  border-radius: 0 !important;
}
/* Chi Sono — card valori: bordo lime sinistra */
.page-id-301 .wp-block-group.has-custom-primario-border-color.has-border-color {
  border: none !important;
  border-left: 4px solid #c8ff00 !important;
  border-radius: 0 !important;
}

/* Contatti — pulsanti: lime bg, testo nero (coerenza sito) */
.page-id-144 .wp-block-button__link {
  background-color: #c8ff00 !important;
  color: #0e0e0e !important;
}
.page-id-144 .wp-block-button__link:hover {
  background-color: #b8ef00 !important;
  color: #0e0e0e !important;
}

/* Nav — peso font leggermente più bold */
.wp-block-navigation a {
  font-weight: 600 !important;
}

/* Homepage — "Non sono un commercialista" H2 accent */
.page-id-270 .entry-content > h2.wp-block-heading:first-of-type {
  padding-bottom: 4px;
}
.page-id-270 .entry-content > h2.wp-block-heading:first-of-type::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: #c8ff00;
  margin-top: 14px;
}



/* Homepage — H2 accent: nero invece di lime (contrasto su bianco caldo) */
.page-id-270 .entry-content > h2.wp-block-heading:first-of-type::after {
  background: #0e0e0e !important;
}

/* Homepage — Quote block: dark full-bleed strip */
.page-id-270 .entry-content > .wp-block-group.has-global-padding {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: 0 !important;
  background: #0e0e0e !important;
  border-left: none !important;
  padding: 2.5rem clamp(1.5rem, 15%, 8rem) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* Quote — testo principale */
.page-id-270 .entry-content > .wp-block-group.has-global-padding .wp-block-paragraph:first-child {
  color: #f5f3ef !important;
  font-size: clamp(1.1rem, 2.2vw, 1.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 0.75rem !important;
  font-family: Montserrat, sans-serif !important;
}

/* Quote — attribution */
.page-id-270 .entry-content > .wp-block-group.has-global-padding .wp-block-paragraph.has-text-color {
  color: #c8ff00 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-family: Montserrat, sans-serif !important;
  margin-top: 0 !important;
}

/* ── HOMEPAGE LAYOUT FULL-BLEED ──────────────────────────────────── */

/* 1. Nasconde HR tra quote strip e "risultati reali" */
.page-id-270 .entry-content > .wp-block-group.has-global-padding + hr.wp-block-separator {
  display: none !important;
}

/* 2. H2 "risultati reali" — dark full-bleed, flusso continuo con case study */
.page-id-270 .entry-content > h2.wp-block-heading:nth-of-type(2) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 3rem clamp(1.5rem, 15%, 8rem) 1.5rem !important;
  margin-top: 3.5rem !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 781px) {
  .page-id-270 .entry-content > h2.wp-block-heading:nth-of-type(2) {
    font-size: clamp(1.2rem, 5.5vw, 1.8rem) !important;
    line-height: 1.2 !important;
  }
}

/* 3. HR dopo i case study — nasconde anche questo (i case study finiscono e basta) */
.page-id-270 .entry-content > .case-study-item:last-of-type + hr.wp-block-separator {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  opacity: 0.15 !important;
}


/* Gap bianco sopra footer — rimosso */
.wp-site-blocks > footer.wp-block-template-part {
  margin-top: 0 !important;
}

/* "risultati reali." — respiro bianco sopra, separato dalla quote strip */
.page-id-270 .entry-content > h2.wp-block-heading:nth-of-type(2) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 3rem clamp(1.5rem, 15%, 8rem) 1.5rem !important;
  margin-top: 3.5rem !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 781px) {
  .page-id-270 .entry-content > h2.wp-block-heading:nth-of-type(2) {
    font-size: clamp(1.2rem, 5.5vw, 1.8rem) !important;
    line-height: 1.2 !important;
  }
}

/* Gap bianco sopra footer — emptyDiv con margin-top: 19.2px */
.wp-site-blocks > .wp-block-group.has-global-padding.is-layout-constrained {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Header — sfondo nero per brand (#0e0e0e), come da CLAUDE.md */
.wp-site-blocks > header.wp-block-template-part {
  background-color: #0e0e0e !important;
}

/* ── SCROLL ANIMATIONS ─────────────────────────────────────────── */

/* Stato iniziale — elementi invisibili prima dell'animazione */
.reveal-item {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

/* Stato visibile — triggera quando IntersectionObserver aggiunge la classe */
.reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delays sequenziali per gli item della stessa sezione */
.reveal-item:nth-child(1) { transition-delay: 0ms; }
.reveal-item:nth-child(2) { transition-delay: 150ms; }
.reveal-item:nth-child(3) { transition-delay: 300ms; }
.reveal-item:nth-child(4) { transition-delay: 450ms; }

/* Nessuna animazione per chi preferisce ridotto movimento */
@media (prefers-reduced-motion: reduce) {
  .reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Nasconde vecchi case study (sostituiti dalla sticky scroll) */
.page-id-270 .entry-content > .case-study-item {
  display: none !important;
}


/* Case study cards + Method sticky — full-bleed */
.page-id-270 #cs-wrap {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
}
.page-id-270 #mt-wrap {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* ── Remove white gaps around full-bleed dark sections ── */
.page-id-270 #cs-wrap,
.page-id-270 #mt-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
/* Hide separator before cs-wrap */
.page-id-270 .entry-content > hr.wp-block-separator {
  display: none !important;
}
/* Script and style tags must not generate vertical space */
.page-id-270 .entry-content > script,
.page-id-270 .entry-content > style {
  display: block;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
/* Remove bottom margin from block just before cs-wrap / mt-wrap */
.page-id-270 .entry-content > .wp-block-group:not(.wp-block-cover) {
  margin-block-end: 0 !important;
}
/* Remove gap between mt-wrap and the CTA block below it */
.page-id-270 #mt-wrap ~ * {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* Fix: mt-step-num-mob explicit color on mobile (inherited dark color was invisible on dark bg) */
@media(max-width:781px) {
  .mt-step-num-mob {
    color: rgba(200,255,0,0.55) !important;
    font-family: Montserrat, sans-serif !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-bottom: 0.4rem !important;
  }
  #mt-content {
    min-height: 0 !important;
    position: relative !important;
  }
}

/* Mobile method: 400vh so each step needs a full viewport scroll (prevents inertia-scroll flythrough) */
/* mobile mt-wrap height — now handled in block */

/* ── Chi sono — val-wrap full-bleed + no gaps ── */
.page-id-301 #val-wrap {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.page-id-301 .entry-content > script,
.page-id-301 .entry-content > style {
  display: block;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.page-id-301 #val-wrap ~ * {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* Come funziona — full-bleed dark sections */
.page-id-293 #cf-mt-wrap, .page-id-293 #cf-lv-wrap {
  width: 100vw !important; max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
  margin-top: 0 !important; margin-bottom: 0 !important;
  margin-block-start: 0 !important; margin-block-end: 0 !important;
}
.page-id-293 .entry-content > script, .page-id-293 .entry-content > style {
  display: block; height: 0 !important; max-height: 0 !important;
  margin: 0 !important; padding: 0 !important; overflow: hidden !important;
}

/* casi-reali full-bleed dark sections */
.page-id-597 #cr-wrap,
.page-id-597 #cr-cta {
  width: 100vw !important; max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
  margin-top: 0 !important; margin-bottom: 0 !important;
  margin-block-start: 0 !important; margin-block-end: 0 !important;
}

/* casi-reali: prevent horizontal overflow from full-bleed */
.page-id-597 .entry-content { overflow-x: hidden; }

/* homepage: remove gap between mt-wrap and CTA block on mobile */
@media (max-width: 781px) {
  .page-id-270 #mt-wrap { margin-bottom: 0 !important; }
  .page-id-270 #mt-wrap + * { margin-block-start: 0 !important; }
}