/* =====================================================================
   ECLYPSE64 — leggibilità delle micro-scritte sopra le foto
   (percorso "Home · …", sopratitoli e etichette delle card su immagine)
   File separato: per tornare alla versione precedente basta svuotarlo
   o togliere il <link> dalle pagine. I loghi non sono toccati.
   ===================================================================== */
:root{
  --label-on-photo: #2a2318;          /* bruno scurissimo, caldo come la palette */
  --label-accent-on-photo: #5e450c;   /* oro molto profondo per la voce corrente */
  --label-halo: 0 0 1px rgba(246,242,234,.95), 0 1px 6px rgba(246,242,234,.95), 0 0 16px rgba(246,242,234,.85);
}

/* testo: più scuro, un filo più grande e più pieno, spaziatura meno larga */
.hero__eyebrow,
.page-hero .breadcrumb, .page-hero .breadcrumb a, .page-hero .breadcrumb span,
.fullbleed__box .eyebrow,
.split-card .eyebrow,
.coll-card__loc, .coll-card__link,
.exp__tag,
.dest__meta,
.svc__num, .svc__link,
.gate__idx,
.scroll-cue{
  color:var(--label-on-photo);
  font-weight:500;
  letter-spacing:.2em;
  text-shadow:var(--label-halo);
}
.page-hero .breadcrumb,
.hero__eyebrow,
.fullbleed__box .eyebrow,
.split-card .eyebrow{ font-size:.78rem; }
.coll-card__loc, .coll-card__link,
.exp__tag, .dest__meta,
.svc__num, .svc__link,
.gate__idx{ font-size:.74rem; }

/* nel percorso la pagina corrente resta in oro, ma profondo */
.page-hero .breadcrumb > span:last-child,
.page-hero .breadcrumb span[lang]{ color:var(--label-accent-on-photo); }
.page-hero .breadcrumb a:hover{ color:var(--label-accent-on-photo); }

/* le etichette delle destinazioni erano semitrasparenti: piene da subito */
.dest__meta{ opacity:1; }

/* la lineetta oro accanto ai sopratitoli su foto: più visibile */
.hero__eyebrow .eyebrow-mark,
.fullbleed__box .eyebrow .eyebrow-mark,
.split-card .eyebrow .eyebrow-mark{ background:var(--label-accent-on-photo); }

/* hover come prima: oro di marca */
.coll-card:hover .coll-card__link, .svc:hover .svc__link{ color:var(--label-accent-on-photo); }

/* percorso e sopratitolo dell'apertura: piccola etichetta crema dietro il testo,
   così restano leggibili anche quando cadono su una zona scura della foto */
.page-hero .breadcrumb,
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5em;
  background:rgba(246,242,234,.86);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  padding:.55em 1.05em; border-radius:2px;
  text-shadow:none;
}
.page-hero .breadcrumb a, .page-hero .breadcrumb span{ text-shadow:none; }
.hero__eyebrow{ gap:.85em; }

/* =====================================================================
   FOTO DI APERTURA: niente velo/sfumatura sulla foto.
   I testi dell'intestazione stanno in un riquadro crema semitrasparente.
   (Per tornare al velo di prima: togliere da qui fino in fondo al file.)
   ===================================================================== */
.hero__veil, .page-hero__veil{ display:none; }

.hero-panel{
  /* vetro smerigliato leggero, senza cornici: la foto resta protagonista */
  position:relative;
  display:inline-block;
  max-width:min(540px, 100%);
  background:rgba(246,242,234,.72);
  -webkit-backdrop-filter:blur(18px) saturate(1.1); backdrop-filter:blur(18px) saturate(1.1);
  border:0;
  box-shadow:0 24px 60px -32px rgba(20,18,15,.32);
  padding:clamp(24px,2.6vw,38px) clamp(26px,2.8vw,42px);
  border-radius:2px;
}
/* riquadro allineato al margine sinistro del sito */
.hero__inner, .page-hero__inner{ display:flex; justify-content:flex-start; }

/* testi un filo più compatti e proporzionati al riquadro */
.hero-panel h1{ font-size:clamp(2.1rem,3.5vw,3.3rem); line-height:1.08; max-width:none; }
.hero-panel .lede, .hero-panel .hero__lede{ font-size:.98rem; line-height:1.7; max-width:none; }
.hero-panel .hero__actions{ gap:12px; }

/* dentro il riquadro: niente aloni, niente etichetta doppia */
.hero-panel h1, .hero-panel .lede, .hero-panel .hero__lede,
.hero-panel .breadcrumb, .hero-panel .breadcrumb a, .hero-panel .breadcrumb span,
.hero-panel .hero__eyebrow{ text-shadow:none; }
.hero-panel .breadcrumb,
.hero-panel .hero__eyebrow{
  background:none; -webkit-backdrop-filter:none; backdrop-filter:none; padding:0;
}
.hero-panel .breadcrumb{ margin-bottom:.2rem; }
.hero-panel .hero__eyebrow{ margin-bottom:1.4rem; }
.hero-panel h1{ margin-block:.8rem .7rem; }
.hero-panel .lede, .hero-panel .hero__lede{ color:var(--text-soft); margin-bottom:0; }
.hero-panel .hero__lede{ margin-bottom:2rem; }
.hero-panel > :last-child{ margin-bottom:0; }

/* "Scorri" in fondo alla home: piccola etichetta anche lui */
.scroll-cue > span:first-child{
  background:rgba(246,242,234,.86); padding:.45em .9em; border-radius:2px; text-shadow:none;
}

@media (max-width:720px){
  .hero-panel{ display:block; padding:22px 20px; }
  .hero__inner, .page-hero__inner{ display:block; }
}
/* home: il riquadro resta sopra la scritta "Scorri" senza toccarla */
.hero{ padding-bottom:clamp(130px,17vh,170px); }
/* riquadro allineato esattamente al logo: stessa larghezza e stesso margine dell'header */
.hero__inner, .page-hero__inner{ max-width:none; }
/* in alcune pagine (Ecosistema, Esperienze, Ravello, Aviazione) il riquadro sta a destra,
   allineato al margine destro dell'header */
.page-hero--right .page-hero__inner{ justify-content:flex-end; }

/* =====================================================================
   HEADER SEMPRE VISIBILE: fondo chiaro fin dall'apertura della pagina
   e niente scomparsa durante lo scorrimento.
   ===================================================================== */
.site-header,
.site-header[data-state="top"]{
  background:rgba(251,249,244,.90);
  -webkit-backdrop-filter:blur(16px) saturate(120%); backdrop-filter:blur(16px) saturate(120%);
  border-bottom-color:var(--line-soft);
}
.site-header.is-hidden{ transform:none; }

/* con il menu fisso, la foto di apertura parte subito sotto il menu:
   nessuna parte dell'immagine resta nascosta dietro la barra */
.hero__media, .page-hero__media{ top:var(--header-h); }
/* l'apertura recupera l'altezza occupata dal menu: la foto visibile resta grande come prima */
.page-hero{ min-height:calc(74vh + var(--header-h)); }
.page-hero--tall{ min-height:100svh; }
/* su telefono, nelle aperture col riquadro a destra il soggetto sta a sinistra: inquadratura spostata */
@media (max-width:720px){
  .page-hero--right .page-hero__media img{ object-position:28% 50%; }
}
/* home: riquadro a destra, la vista dalla vetrata a sinistra resta libera */
.hero--right .hero__inner{ justify-content:flex-end; }
@media (max-width:720px){
  .hero--right .hero__media img{ object-position:30% 50%; }
}

/* =====================================================================
   OTTIMIZZAZIONE MOBILE (telefono / tablet) — solo layout e spazi,
   nessun testo o immagine modificato.
   ===================================================================== */
/* pulsanti: mai più larghi dello schermo, il testo lungo va a capo centrato */
.btn{ max-width:100%; }
@media (max-width:720px){
  .btn{ white-space:normal; justify-content:center; text-align:center; line-height:1.45; letter-spacing:.2em; padding:1.1em 1.6em; }
  .btn--lg{ padding:1.2em 1.8em; }
  .hero__actions .btn, .claim__actions .btn{ flex:1 1 100%; }
}

/* moduli: una colonna su telefono (prima i campi affiancati uscivano dallo schermo) */
.field input, .field select, .field textarea{ min-width:0; max-width:100%; }
@media (max-width:560px){
  .grid.cols-2{ grid-template-columns:1fr; }
  .field{ margin-bottom:1.15rem; }
  .field input, .field select, .field textarea{ font-size:16px; }   /* niente zoom automatico di iPhone sui campi */
  form .btn{ width:100%; }
}

/* micro-etichette un filo più grandi e leggibili su telefono */
@media (max-width:720px){
  .field label, .spec span, .svc5__label, .partner__tag, .exp__tag, .coll-card__loc, .dest__meta, .contact-info dt{ font-size:.76rem; letter-spacing:.16em; }
  .scroll-cue{ font-size:.7rem; }
}

/* zone da toccare comode (almeno ~40 px) */
@media (max-width:1040px){
  .lang-btn{ padding:.85em .45em; }
}
@media (max-width:720px){
  .footer-col ul{ gap:0; }
  .footer-col li > a, .footer-col li > span{ display:inline-block; padding:.55rem 0; }
  .footer-social{ gap:6px 22px; }
  .footer-social a{ display:inline-block; padding:.7rem 0; }
  .footer-legal__links a{ display:inline-block; padding:.5rem 0; }
  .contact-info a{ display:inline-block; padding:.45rem 0; }
  .partner__site{ display:inline-block; padding:.7rem 0; }
  .link-arrow{ padding:.6rem 0; }
  .page-hero .breadcrumb a{ display:inline-block; padding:.35rem 0; }
}

/* spazi verticali più equilibrati su telefono */
@media (max-width:720px){
  .section{ padding-block:clamp(56px,9vh,84px); }
  .section--tight{ padding-block:clamp(44px,7vh,64px); }
  .cta-band{ padding-block:72px; }
  .hero{ padding-bottom:104px; }
  .hero-panel h1{ font-size:clamp(2rem,9vw,2.6rem); }
}

/* =====================================================================
   GDPR — pagine legali, consenso nei moduli, avviso cookie, CIN
   ===================================================================== */
/* pagine Privacy / Cookie Policy */
.legal-page{ padding-top:calc(var(--header-h) + clamp(40px,7vh,80px)); }
.legal-page .breadcrumb{ display:block; margin-bottom:1.2rem; color:var(--text-dim); }
.legal-page__title{ font-size:clamp(2.2rem,5vw,3.6rem); margin-bottom:.8rem; }
.legal-page__lede{ color:var(--text-soft); margin-bottom:clamp(30px,5vh,52px); }
.legal-prose{ color:var(--text-soft); line-height:1.75; font-size:1rem; }
.legal-prose h2{ font-family:var(--serif); font-weight:400; font-size:clamp(1.35rem,2.2vw,1.7rem); color:var(--text); margin:2.4rem 0 .8rem; }
.legal-prose p{ margin-bottom:1rem; }
.legal-prose ul{ margin:0 0 1.2rem; padding-left:1.2rem; list-style:disc; }
.legal-prose li{ margin-bottom:.55rem; }
.legal-prose li::marker{ color:var(--gold); }
.legal-prose strong{ font-weight:500; color:var(--text); }
.legal-prose a{ color:var(--gold-light); text-decoration:underline; text-underline-offset:3px; }
.legal-table-wrap{ overflow-x:auto; margin:0 0 1.2rem; }
.legal-table{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:520px; }
.legal-table th, .legal-table td{ text-align:left; padding:.75rem .8rem; border-bottom:1px solid var(--line); vertical-align:top; }
.legal-table th{ font-weight:500; color:var(--text); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.legal-table td:first-child{ font-family:ui-monospace,Menlo,monospace; font-size:.85rem; color:var(--text); white-space:nowrap; }
.legal-updated{ margin-top:2.4rem; font-size:.85rem; color:var(--text-dim); }

/* casella di consenso nei moduli */
.field--consent{ margin:.4rem 0 1.4rem; }
.field .consent, .consent{ display:flex; gap:.8rem; align-items:flex-start; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; font-size:.88rem !important; line-height:1.55; color:var(--text-soft) !important; }
.consent input{ flex:0 0 auto; width:20px !important; height:20px; margin-top:.15rem; padding:0 !important; accent-color:var(--gold); cursor:pointer; }
.consent a{ color:var(--gold-light); text-decoration:underline; text-underline-offset:2px; }

/* CIN nel footer */
.footer-cin{ display:flex; flex-wrap:wrap; gap:.35rem .6rem; align-items:baseline; font-size:.74rem; letter-spacing:.06em; color:var(--text-faint); width:100%; margin-top:.6rem; }
.footer-cin__label{ color:var(--gold); letter-spacing:.2em; font-weight:500; }

/* avviso cookie */
.cookie-notice{
  position:fixed; z-index:95; left:clamp(12px,2vw,28px); bottom:clamp(12px,2vw,28px);
  max-width:440px; padding:20px 22px;
  background:rgba(251,249,244,.96); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid var(--line-soft); border-radius:3px; box-shadow:0 22px 60px -28px rgba(20,18,15,.4);
  opacity:0; transform:translateY(16px); transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.cookie-notice.is-visible{ opacity:1; transform:none; }
.cookie-notice__text{ font-size:.88rem; line-height:1.6; color:var(--text-soft); margin:0 0 14px; }
.cookie-notice__actions{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cookie-notice__link{ font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text); text-decoration:underline; text-underline-offset:4px; padding:.6rem 0; }
.cookie-notice__ok{ padding:.95em 1.8em; }
@media (max-width:560px){
  .cookie-notice{ left:12px; right:12px; bottom:12px; max-width:none; }
  .has-cookie-notice .wa-float{ opacity:0; pointer-events:none; }
}

/* CIN nelle pagine delle singole strutture */
.villa-cin{ text-align:center; margin-top:clamp(18px,2.6vh,28px); font-size:.78rem; letter-spacing:.14em; color:var(--text-dim); }
.villa-cin__label{ color:var(--gold); font-weight:500; letter-spacing:.22em; margin-right:.4em; }
.villa-cin--left{ text-align:left; margin:0 0 1.2rem; }

/* esito invio moduli */
.form-note.is-error{ color:#8a3b2e; }
button[aria-busy="true"]{ opacity:.6; pointer-events:none; }
