/* Lucia Corti — Additional CSS
   1) Palette · 2) Titolo-pagina · 3) Reveal · 4) Header vs admin-bar · 5) Sticky · 6) Menu fullscreen */

:root{
  --wp--preset--color--petrolio:#1B5D63; --wp--preset--color--petrolio-deep:#124045;
  --wp--preset--color--teal:#4FA3A8; --wp--preset--color--teal-light:#6FB8BC; --wp--preset--color--teal-xlight:#CFE8EA;
  --wp--preset--color--ivory:#FAF7F2; --wp--preset--color--ivory-deep:#F2EDE3;
  --wp--preset--color--gold:#C8A15A; --wp--preset--color--gold-soft:#DCBE86;
  --petrolio:#1B5D63; --petrolio-deep:#124045;
  --teal:#4FA3A8; --teal-light:#6FB8BC; --teal-xlight:#CFE8EA; --teal-wash:#E7F3F3;
  --ivory:#FAF7F2; --ivory-deep:#F2EDE3;
  --gold:#C8A15A; --gold-soft:#DCBE86; --grigio:#E6E7E8;
  --ink:#21302E; --ink-soft:#4C5C59; --ink-mute:#66736E; --serif:"Cormorant Garamond",Georgia,serif; --sans:"DM Sans",sans-serif; --ease:cubic-bezier(.22,.61,.36,1);
  /* Varianti TESTO accessibili (WCAG AA su sfondo chiaro). Usate solo per color: del testo leggibile su chiaro;
     teal/gold restano per sfondi, bordi, decori e testo su hero scuri. */
  --teal-ink:#2A6F75; --gold-ink:#96690D; --gold-display:#B08434;
}

/* 2) Titolo-pagina automatico */
.page .wp-block-post-title,.page .entry-title{display:none!important;}

/* 3) Reveal d'entrata scroll-driven */
@keyframes lcRevealUp{0%{opacity:0;transform:translateY(46px);}25%{opacity:1;transform:translateY(30px);}100%{opacity:1;transform:translateY(0);}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .lc-page [data-reveal]{animation:lcRevealUp both ease-out;animation-timeline:view();animation-range:entry 12% cover 46%;}
    .lc-page [data-reveal][data-delay="1"]{animation-range:entry 18% cover 52%;}
    .lc-page [data-reveal][data-delay="2"]{animation-range:entry 24% cover 58%;}
    .lc-page [data-reveal][data-delay="3"]{animation-range:entry 30% cover 64%;}
  }
}

/* 4) Header fisso: non finire dietro la barra admin (solo da loggati) */
body.admin-bar .nav{ top: var(--wp-admin--admin-bar--height, 32px) !important; }

/* 5) HEADER STICKY (tutto il sito) — base hero chiari; hero scuri sovrascrivono il testo */
.nav{ padding-block:1.1rem!important; transition:none!important; }
.nav.is-scrolled{ padding-block:1.1rem!important; }
@supports (animation-timeline: scroll()){
  .nav{ animation:navBgGlobal linear both; animation-timeline:scroll(root); animation-range:45px 155px; }
  @keyframes navBgGlobal{ from{ background-color:rgba(250,247,242,0); box-shadow:0 1px 0 rgba(31,78,74,0); backdrop-filter:blur(0px); -webkit-backdrop-filter:blur(0px); } to{ background-color:rgba(250,247,242,.9); box-shadow:0 1px 0 rgba(31,78,74,.09); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); } }
}
@supports not (animation-timeline: scroll()){
  .nav.is-scrolled{ background:rgba(250,247,242,.9)!important; box-shadow:0 1px 0 rgba(31,78,74,.09)!important; backdrop-filter:blur(12px)!important; }
}

/* 6) MENU FULLSCREEN (burger personalizzato + overlay avorio) */
.nav__links{ display:none!important; }
.nav__toggle{ display:none!important; }
.lc-menu__check{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }

.lc-burger{ position:relative; z-index:5; width:40px; height:30px; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:8px; margin-left:auto; cursor:pointer; color:var(--ink); }
.lc-burger > span{ display:block; height:2px; border-radius:2px; background:currentColor; transition:transform .45s var(--ease), width .45s var(--ease), opacity .3s; }
.lc-burger > span:nth-child(1){ width:32px; }
.lc-burger > span:nth-child(2){ width:21px; }
.lc-burger > i{ position:absolute; right:0; top:calc(50% - 2.5px); width:5px; height:5px; border-radius:50%; background:var(--gold); transition:opacity .3s, transform .4s var(--ease); }
.lc-burger:hover > span:nth-child(2){ width:32px; }
.lc-menu__check:checked + .lc-burger > span:nth-child(1){ width:30px; transform:translateY(5px) rotate(45deg); }
.lc-menu__check:checked + .lc-burger > span:nth-child(2){ width:30px; transform:translateY(-5px) rotate(-45deg); }
.lc-menu__check:checked + .lc-burger > i{ opacity:0; }

.lc-menu{ position:fixed; inset:0; z-index:4; background:var(--ivory); display:flex; flex-direction:column; justify-content:flex-start; overflow-y:auto; opacity:0; visibility:hidden; pointer-events:none; clip-path:inset(0 0 100% 0); transition:opacity .45s var(--ease), visibility .45s, clip-path .65s cubic-bezier(.76,0,.24,1); }
.lc-menu::before{ content:""; position:absolute; right:-8%; top:-12%; width:48vw; height:48vw; max-width:600px; max-height:600px; background:radial-gradient(circle, rgba(200,161,90,.18), rgba(200,161,90,0) 64%); pointer-events:none; }
body:has(.lc-menu__check:checked) .lc-menu{ opacity:1; visibility:visible; pointer-events:auto; clip-path:inset(0 0 0% 0); }
body:has(.lc-menu__check:checked){ overflow:hidden; }
body:has(.lc-menu__check:checked) .lc-burger{ color:var(--ink)!important; }

/* nav flessibile: ogni voce su una riga; i due CTA stanno affiancati e si impilano da soli se non c'e spazio */
.lc-menu__nav{ display:flex; flex-wrap:wrap; column-gap:clamp(.9rem,2vw,1.6rem); row-gap:clamp(.3rem,1.3vh,1rem); padding-inline:clamp(1.6rem,8vw,7rem); padding-block:clamp(4rem,9vh,6.5rem); margin-block:auto; max-width:100%; box-sizing:border-box; }
.lc-menu__item{ position:relative; display:inline-flex; align-items:baseline; gap:1.1rem; flex:0 0 100%; color:var(--ink); opacity:0; transform:translateY(36px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
body:has(.lc-menu__check:checked) .lc-menu__item{ opacity:1; transform:none; }
body:has(.lc-menu__check:checked) .lc-menu__item:nth-child(1){ transition-delay:.18s; }
body:has(.lc-menu__check:checked) .lc-menu__item:nth-child(2){ transition-delay:.26s; }
body:has(.lc-menu__check:checked) .lc-menu__item:nth-child(3){ transition-delay:.34s; }
.lc-menu__num{ font-family:var(--sans); font-size:.95rem; font-weight:600; letter-spacing:.08em; color:var(--gold-ink); transform:translateY(-.55em); transition:transform .45s var(--ease); }
.lc-menu__label{ position:relative; font-family:var(--serif); font-weight:500; line-height:.95; font-size:clamp(2.4rem,min(8.5vw,8.5vh),6.4rem); color:var(--ink); }
.lc-menu__label::after{ content:attr(data-text); position:absolute; left:0; top:0; color:var(--gold-ink); white-space:nowrap; clip-path:inset(-0.35em 100% -0.35em 0); transition:clip-path .5s var(--ease); }
.lc-menu__item:hover{ transform:translateX(12px); }
.lc-menu__item:hover .lc-menu__label::after{ clip-path:inset(-0.35em 0 -0.35em 0); }
.lc-menu__item:hover .lc-menu__num{ transform:translateY(-.55em) translateX(-6px); }

/* CTA affiancati (Quiz accanto a Prenota), allineati con lo stesso margine sopra */
.lc-menu__nav .lc-menu__cta{ flex:0 0 auto; align-self:start; margin-top:clamp(.8rem,2.4vh,1.9rem)!important; }

.lc-menu__foot{ position:absolute; left:clamp(1.6rem,8vw,7rem); bottom:clamp(1.6rem,4vw,3rem); display:flex; align-items:center; gap:1rem; font-family:var(--sans); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); opacity:0; transition:opacity .6s var(--ease) .42s; }
body:has(.lc-menu__check:checked) .lc-menu__foot{ opacity:1; }
.lc-menu__line{ width:42px; height:1px; background:var(--gold); }

@media (prefers-reduced-motion: reduce){
  .lc-menu,.lc-menu__item,.lc-menu__foot{ transition-duration:.01ms!important; }
  .lc-menu{ clip-path:none!important; }
}

/* 7) BACK-TO-TOP (creato da theme.js, appare oltre 400px di scroll) */
#lc-top{ position:fixed; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vw,34px); width:50px; height:50px; border:0; border-radius:50%; background:var(--petrolio,#1B5D63); color:var(--gold,#C8A15A); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .35s, transform .35s, background .2s; z-index:900; box-shadow:0 8px 22px rgba(18,64,69,.4); }
#lc-top.is-on{ opacity:1; visibility:visible; transform:none; }
#lc-top:hover{ background:var(--petrolio-deep,#124045); }
#lc-top svg{ width:22px; height:22px; }

/* 8) Anti-banda-bianca tra ultimo blocco e footer + gap avorio sopra l'hero */
footer.wp-block-template-part{ margin-top:0!important; }
main.wp-block-template-part, main#top, main.section{ margin-bottom:0!important; padding-bottom:0!important; }
main.wp-block-group{ margin-top:0!important; }
.wp-site-blocks{ margin-top:0!important; }
/* paragrafi vuoti (artefatti wpautop) non devono creare bande/gap */
p:empty{ display:none!important; margin:0!important; }

/* 9) Immagini responsive: nessuna immagine sfora il viewport (fix overflow mobile, es. logo .lc-mark su /in-costruzione) */
img{ max-width:100%; }
img.lc-mark{ max-width:100%; height:auto; }
/* full-bleed (width:100vw) + padding deve includere il padding nella larghezza, altrimenti sfora su mobile */
.lc-construction{ box-sizing:border-box; }

/* 12) Card risultato quiz condivisibile (fondo pagina risultato) */
.rs-share{ text-align:center; }
.rs-sharecard{ display:inline-block; margin:1.3rem auto 0; border-radius:16px; overflow:hidden; box-shadow:0 24px 60px -34px rgba(18,64,69,.55); transition:transform .4s var(--ease,ease), box-shadow .4s; }
.rs-sharecard:hover{ transform:translateY(-5px); box-shadow:0 34px 72px -34px rgba(18,64,69,.6); }
.rs-sharecard img{ display:block; width:300px; max-width:78vw; height:auto; }
.rs-sharehint{ margin-top:1rem; font-family:var(--sans); font-size:.92rem; color:var(--ink-soft); }

/* 11) Poster brandizzato sul riquadro "Video in arrivo" delle pagine risultato */
.rs-video--poster{ background-size:cover!important; background-position:center!important; }
.rs-video--poster .rs-play{ display:none!important; }
.rs-video--poster .rs-video__tag{ position:absolute; top:1rem; right:1.1rem; bottom:auto; left:auto; color:#FAF7F2; background:rgba(18,64,69,.5); padding:.45em 1em; border-radius:100px; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }

/* 10) Accenti su SEZIONI SCURE: l'ink (teal/gold scuro) serve solo per testo su chiaro;
   dentro i contenitori scuri gli accenti tornano luminosi per restare leggibili. */
/* gold-ink su scuro = gold-soft del brand #DCBE86 (4.2:1 su petrolio, 6-7:1 sui fondi più scuri; il paglierino #E3CB94 leggeva meglio ma era fuori palette — scelta estetica 2026-07-02). Su chiaro --gold-display è per gli accenti display ≥24px (#B08434, 3.17:1 AA-large, vicino all'oro del brand). */
.lu-hero, .lu-bg-deep, [class*="bg-deep"], [class*="bg-petrolio"], #metodo, #hero{ --teal-ink:var(--teal); --gold-ink:#DCBE86; --gold-display:#DCBE86; }
/* 13) pagine corte: il footer chiude la pagina (niente banda avorio sotto il footer scuro) */
.wp-site-blocks{min-height:100svh;display:flex;flex-direction:column}
.wp-site-blocks main{flex:1 0 auto}

/* scroll fluido per le ancore interne */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
