/* ===== VArisotto — Restaurant Landing Page components ===== */

/* On landing-style restaurant pages, the post content rebuilds title, badges,
   hero image and specialty box itself — hide the template's automatic ones
   so nothing is duplicated. Anche il link “Torna alla pagina principale”:
   la landing ha già le briciole di pane in cima. Practical-info stays hidden too: the landing
   content includes its own richer practical-info section. */
body.vr-landing-page .vr-single > .vr-home-link,
body.vr-landing-page .vr-single > .wp-block-post-title,
body.vr-landing-page .vr-single > .vr-badges,
body.vr-landing-page .vr-single > .wp-block-post-featured-image,
body.vr-landing-page .vr-single > .vr-specialty,
body.vr-landing-page .vr-single > .vr-practical{
  display:none;
}
body.vr-landing-page .vr-single{
  max-width:none !important;
  padding-top:0 !important;
}
body.vr-landing-page .wp-block-post-content{
  max-width:none !important;
}
/* Il padding laterale globale del tema lascerebbe due bordi crema ai lati
   delle fasce a tutta larghezza: lo annulliamo qui, il respiro lo danno
   .vr-inner / .vr-inner-narrow. */
body.vr-landing-page main.wp-block-group,
body.vr-landing-page .wp-block-post-content{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0;
  margin-right:0;
  max-width:none;
}
/* Nessuna fascia crema fra intestazione, contenuto e footer. */
body.vr-landing-page main.wp-block-group{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0;
  margin-bottom:0;
}
body.vr-landing-page main.wp-block-group>.wp-block-post-content{margin-top:0;margin-bottom:0}
body.vr-landing-page .wp-site-blocks>footer.wp-block-template-part,
body.vr-landing-page .wp-site-blocks>header.wp-block-template-part{margin-top:0;margin-bottom:0}

/* Design tokens (align with theme.json palette) */
.vr-land{
  --vr-bordeaux:#702d40;
  --vr-verde:#385247;
  --vr-cream:#faf6ef;
  --vr-cream-deep:#f5ecd1;
  --vr-border:#e6dcc9;
  --vr-ink:#2b2620;
  --vr-radius:16px;
  --vr-radius-sm:10px;
  --vr-shadow:0 2px 10px rgba(43,38,32,.06);
  --vr-shadow-hover:0 10px 26px rgba(43,38,32,.14);
  --vr-ease:cubic-bezier(.22,.61,.36,1);
  color:var(--vr-ink);
  overflow-x:hidden;
}
.vr-land *{box-sizing:border-box}
.vr-land img{max-width:100%;height:auto;display:block}
.vr-land section{padding:56px 0}
.vr-land .vr-inner{max-width:100%;margin:0 auto;padding:0 clamp(20px, 3vw, 56px)}
.vr-land .vr-inner-narrow{max-width:100%;margin:0 auto;padding:0 clamp(20px, 3vw, 56px)}
.vr-land h2{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.1rem);margin:0 0 .5em;line-height:1.2}
.vr-land h3{font-size:1.15rem;margin:0 0 .3em}
.vr-land p{line-height:1.7;margin:0 0 1em}
.vr-land .vr-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--vr-bordeaux);margin-bottom:.6em}
.vr-land .vr-section-alt{background:var(--vr-cream)}
.vr-land .vr-section-deep{background:var(--vr-cream-deep)}

/* fade-in on scroll */
.vr-land .vr-fade{opacity:0;transform:translateY(18px);transition:opacity .6s var(--vr-ease),transform .6s var(--vr-ease)}
.vr-land .vr-fade.vr-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .vr-land .vr-fade{opacity:1;transform:none;transition:none}
}

/* ---------- HERO ---------- */
.vr-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;border-radius:0 0 24px 24px;overflow:hidden;background:#2b2620}
.vr-hero-media{position:absolute;inset:0}
.vr-hero-media img{width:100%;height:100%;object-fit:cover}
.vr-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.15) 0%,rgba(20,16,12,.35) 55%,rgba(20,16,12,.82) 100%)}
.vr-hero-content{position:relative;z-index:2;width:100%;padding:40px clamp(20px, 3vw, 56px) 84px;max-width:100%;margin:0 auto;text-align:center}
.vr-hero h1{font-size:clamp(2rem,1.3rem + 3vw,3.4rem);margin:0 0 .3em;line-height:1.08}
.vr-hero-sub{font-size:clamp(1rem,.9rem + .4vw,1.25rem);max-width:640px;margin:0 auto 1.3em;opacity:.95;font-style:italic}
.vr-hero-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:1.6em}
.vr-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:600}
.vr-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.vr-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .25s var(--vr-ease),box-shadow .25s var(--vr-ease),background .25s var(--vr-ease)}
.vr-btn:hover{transform:translateY(-2px)}
.vr-btn-primary{background:var(--vr-bordeaux);color:#fff}
.vr-btn-primary:hover{background:#5c2434;box-shadow:0 8px 18px rgba(112,45,64,.35);color:#fff}
.vr-btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.7)}
.vr-btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff}
.vr-btn-outline{background:transparent;color:var(--vr-bordeaux);border-color:var(--vr-bordeaux)}
.vr-btn-outline:hover{background:var(--vr-bordeaux);color:#fff}
.vr-scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;width:26px;height:42px;border:2px solid rgba(255,255,255,.75);border-radius:14px}
.vr-scroll-cue::before{content:"";position:absolute;top:7px;left:50%;width:4px;height:8px;background:#fff;border-radius:2px;transform:translateX(-50%);animation:vrScrollDot 1.8s infinite}
@keyframes vrScrollDot{0%{opacity:1;top:7px}70%{opacity:0;top:22px}100%{opacity:0;top:7px}}
@media (prefers-reduced-motion: reduce){.vr-scroll-cue::before{animation:none}}

/* ---------- INFO CARDS ROW ---------- */
.vr-cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-56px;position:relative;z-index:3;padding:0 clamp(20px, 3vw, 56px);max-width:100%;margin-left:auto;margin-right:auto}
/* ATTENZIONE alla collisione di nomi: .vr-card e .vr-card-icon appartengono
   anche all'elenco dei ristoranti della home (explorer.css), dove sono una
   riga flex con l'icona dentro un cerchio di 34px. explorer.css e' una
   dipendenza di questo foglio, quindi quelle regole arrivano comunque qui:
   le proprieta' che non ridichiariamo (display, gap, align-items, border)
   restano le loro e appiattiscono icona, titolo e testo su un'unica riga.
   Per questo le regole seguenti sono legate a .vr-land e ripristinano in
   modo esplicito tutto cio' che potrebbe filtrare. */
.vr-land .vr-card{
  display:block;
  gap:0;
  align-items:stretch;
  border:0;
  min-width:0;
  background:#fff;
  border-radius:var(--vr-radius);
  padding:22px 18px;
  box-shadow:var(--vr-shadow);
  transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease);
}
.vr-land .vr-card:hover{transform:translateY(-6px);box-shadow:var(--vr-shadow-hover)}
.vr-land .vr-card-icon{
  position:static;
  display:block;
  place-items:normal;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  flex-shrink:1;
  font-size:1.6rem;
  line-height:1;
  margin-bottom:.45em;
}
.vr-land .vr-card h3{margin:0 0 .25em;font-size:1.02rem;line-height:1.25}
.vr-land .vr-card p{margin:0;font-size:.9rem;color:#5b5346;line-height:1.55}
.vr-cards-row{margin-bottom:8px}
@media (max-width:860px){.vr-cards-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.vr-cards-row{grid-template-columns:1fr;margin-top:-40px}}

/* ---------- QUOTE ---------- */
.vr-quote{max-width:760px;margin:1.4em auto 0;text-align:center;font-family:var(--wp--preset--font-family--serif,serif);font-size:clamp(1.15rem,1rem + .6vw,1.5rem);color:var(--vr-bordeaux);font-style:italic;line-height:1.5;position:relative;padding:0 12px}
.vr-quote::before{content:"“";display:block;font-size:2.6rem;line-height:0;height:0;margin-bottom:.5em;opacity:.5}

/* ---------- TIMELINE / PROCESS CARDS (prima che arrivi a tavola) ---------- */
.vr-process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vr-process-card{position:relative;border-radius:var(--vr-radius);overflow:hidden;aspect-ratio:3/4;background:#ddd2b8;color:#fff;isolation:isolate}
.vr-process-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--vr-ease)}
.vr-process-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(20,16,12,.82) 100%);z-index:1}
.vr-process-card:hover img{transform:scale(1.05)}
.vr-process-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px}
.vr-process-body h3{color:#fff;margin:0 0 4px}
.vr-process-desc{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s var(--vr-ease),opacity .35s var(--vr-ease);font-size:.85rem}
.vr-process-card:hover .vr-process-desc,.vr-process-card:focus-within .vr-process-desc{max-height:120px;opacity:1}
@media (max-width:860px){.vr-process{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.vr-process{grid-template-columns:1fr}.vr-process-card{aspect-ratio:16/10}.vr-process-desc{max-height:120px;opacity:1}}

/* ---------- SPLIT (recupero) ---------- */
.vr-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.vr-split-media{border-radius:var(--vr-radius);overflow:hidden;box-shadow:var(--vr-shadow)}
.vr-split .vr-quote{margin:1em 0 0;text-align:left;padding:0}
.vr-split .vr-quote::before{margin-bottom:.2em}
@media (max-width:780px){.vr-split{grid-template-columns:1fr}.vr-split-media{order:-1}}

/* ---------- PRODUCT CARDS ---------- */
.vr-products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vr-product-card{background:#fff;border-radius:var(--vr-radius);overflow:hidden;box-shadow:var(--vr-shadow);transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease);position:relative}
.vr-product-card:hover{transform:translateY(-6px);box-shadow:var(--vr-shadow-hover)}
.vr-product-media{aspect-ratio:4/3;background:var(--vr-cream-deep);display:flex;align-items:center;justify-content:center;font-size:2.2rem}
.vr-product-body{padding:14px 16px 18px}
.vr-product-body h3{margin:0 0 2px;font-size:1rem}
.vr-product-body p{margin:0;font-size:.82rem;color:#6a6153}
.vr-product-cta{position:absolute;top:10px;right:10px;background:var(--vr-bordeaux);color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s}
.vr-product-card:hover .vr-product-cta{opacity:1;transform:none}
@media (max-width:860px){.vr-products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.vr-products{grid-template-columns:1fr}}

/* ---------- TAGLIERE FEATURE ---------- */
.vr-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.vr-feature-media{border-radius:var(--vr-radius);overflow:hidden;box-shadow:var(--vr-shadow-hover)}
.vr-feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin:1em 0}
.vr-feature-chips .vr-chip{background:var(--vr-cream-deep);border-color:var(--vr-border);color:var(--vr-ink)}
.vr-feature .vr-quote{text-align:left;padding:0;margin:0.6em 0 0}
.vr-feature .vr-quote::before{display:none}
@media (max-width:780px){.vr-feature{grid-template-columns:1fr}}

/* ---------- SEASONAL TABS ---------- */
.vr-seasons{max-width:820px;margin:0 auto}
.vr-season-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.vr-season-tab{background:#fff;border:2px solid var(--vr-border);border-radius:999px;padding:10px 20px;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.vr-season-tab[aria-selected="true"]{background:var(--vr-bordeaux);border-color:var(--vr-bordeaux);color:#fff}
.vr-season-panels{position:relative;background:#fff;border-radius:var(--vr-radius);box-shadow:var(--vr-shadow);padding:28px 26px;min-height:150px}
.vr-season-panel{display:none}
.vr-season-panel[data-active="true"]{display:block;animation:vrFadePanel .35s var(--vr-ease)}
@keyframes vrFadePanel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vr-season-panel ul{margin:0;padding-left:1.2em}
.vr-season-panel li{margin-bottom:.35em}
@media (prefers-reduced-motion: reduce){.vr-season-panel[data-active="true"]{animation:none}}

/* ---------- CAMINO (impatto visivo) ---------- */
.vr-fire{position:relative;color:#fff;border-radius:var(--vr-radius);overflow:hidden;min-height:64vh;display:flex;align-items:center}
.vr-fire-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-attachment:fixed}
@media (max-width:780px){.vr-fire-bg{background-attachment:scroll}}
.vr-fire-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,12,.82) 0%,rgba(20,16,12,.45) 55%,rgba(20,16,12,.15) 100%)}
.vr-fire-content{position:relative;z-index:2;max-width:520px;padding:20px 24px}
.vr-fire h2{color:#fff}
.vr-fire .vr-quote{color:#f5ecd1;text-align:left;padding:0}
.vr-fire .vr-quote::before{display:none}

/* ---------- FAMILY TIMELINE ---------- */
.vr-timeline{display:flex;gap:26px;overflow-x:auto;padding:8px 4px 18px;scroll-snap-type:x proximity}
.vr-timeline-item{flex:0 0 240px;scroll-snap-align:start;position:relative;padding-left:0}
.vr-timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--vr-bordeaux);margin-bottom:10px}
.vr-timeline-item h3{font-size:1rem}
.vr-timeline-item p{font-size:.88rem;color:#5b5346}
.vr-timeline-line{position:relative}
.vr-timeline-line::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--vr-border);z-index:0}
@media (max-width:780px){
  .vr-timeline{flex-direction:column;overflow-x:visible}
  .vr-timeline-item{flex:none;padding-left:22px;border-left:2px solid var(--vr-border)}
  .vr-timeline-dot{position:absolute;left:-7px;top:2px}
  .vr-timeline-line::before{display:none}
}

/* ---------- SYMBOL (lepre) ---------- */
.vr-symbol{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.vr-symbol-media{display:flex;align-items:center;justify-content:center;background:var(--vr-cream-deep);border-radius:var(--vr-radius);aspect-ratio:1/1}
.vr-symbol-media img{width:60%}
.vr-symbol-words{display:flex;flex-wrap:wrap;gap:10px;margin-top:1em}
.vr-word-chip{background:var(--vr-verde);color:#fff;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.9rem}
@media (max-width:780px){.vr-symbol{grid-template-columns:1fr}.vr-symbol-media{max-width:220px;margin:0 auto}}

/* ---------- MADE HERE (produzione propria) ---------- */
.vr-made{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vr-made-card{background:#fff;border-radius:var(--vr-radius);padding:22px 16px;text-align:center;box-shadow:var(--vr-shadow);transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease)}
.vr-made-card:hover{transform:translateY(-6px);box-shadow:var(--vr-shadow-hover)}
.vr-made-card .vr-card-icon{font-size:1.8rem}
.vr-made-card small{display:block;color:#6a6153;font-size:.78rem;margin-top:.3em}
@media (max-width:860px){.vr-made{grid-template-columns:repeat(2,1fr)}}

/* ---------- PIANO ---------- */
.vr-piano{text-align:center;background:var(--vr-cream-deep);border-radius:var(--vr-radius)}
.vr-piano .vr-quote{margin-top:.8em}

/* ---------- WHY VISIT ---------- */
.vr-why{background:#fff;border-radius:var(--vr-radius);box-shadow:var(--vr-shadow-hover);padding:36px 28px}
.vr-why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.vr-why-list li{display:flex;align-items:flex-start;gap:10px;font-weight:600}
.vr-why-list li::before{content:"✓";color:var(--vr-verde);font-weight:900}
@media (max-width:600px){.vr-why-list{grid-template-columns:1fr}}

/* ---------- PRACTICAL INFO ---------- */
.vr-practical-land{background:#fff;border-radius:var(--vr-radius);box-shadow:var(--vr-shadow);padding:30px 26px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vr-practical-land dl{margin:0}
.vr-practical-land dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--vr-bordeaux);font-weight:700;margin-top:1em}
.vr-practical-land dt:first-child{margin-top:0}
.vr-practical-land dd{margin:.2em 0 0}
.vr-note{font-size:.82rem;color:#6a6153;margin-top:1em;padding-top:.8em;border-top:1px dashed var(--vr-border)}
.vr-practical-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.vr-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
@media (max-width:780px){.vr-practical-land{grid-template-columns:1fr}}

/* ---------- FINAL CTA ---------- */
.vr-final-cta{text-align:center;background:linear-gradient(135deg,var(--vr-bordeaux),#4d1f2c);color:#fff;border-radius:var(--vr-radius);padding:52px 24px}
.vr-final-cta h2{color:#fff}
.vr-final-cta p{opacity:.9;max-width:560px;margin:0 auto 1.4em}
.vr-final-cta .vr-hero-ctas{margin-top:.6em}

/* ---------- BREADCRUMB ---------- */
.vr-breadcrumb{max-width:100%;margin:0 auto;padding:14px clamp(20px, 3vw, 56px) 0}
.vr-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:#8a8070}
.vr-breadcrumb li{display:flex;align-items:center;gap:6px}
.vr-breadcrumb li:not(:last-child)::after{content:"›";margin-left:6px;color:#c9beac}
.vr-breadcrumb a{color:#8a8070;text-decoration:none}
.vr-breadcrumb a:hover{color:var(--vr-bordeaux);text-decoration:underline}
.vr-breadcrumb li[aria-current="page"]{color:var(--vr-ink);font-weight:600}

/* Schede correlate in fondo alla pagina editoriale */
.vr-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.4em}
.vr-related-card{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:var(--vr-radius);padding:18px 16px;box-shadow:var(--vr-shadow);text-decoration:none;color:inherit;transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease)}
.vr-related-card:hover,.vr-related-card:focus-visible{transform:translateY(-4px);box-shadow:var(--vr-shadow-hover)}
.vr-related-symbol{font-size:1.5rem;line-height:1}
.vr-related-name{font-weight:700;font-size:1rem;color:var(--vr-bordeaux)}
.vr-related-meta{font-size:.82rem;color:#5b5346}
@media (max-width:760px){.vr-related-grid{grid-template-columns:1fr}}

/* ============================================================
   COMPONENTI NARRATIVI — introdotti per la pagina del Molino
   del Torchio e riutilizzabili su qualsiasi altra scheda.
   Tutto vive dentro .vr-land, così non tocca home ed elenco.
   ============================================================ */

/* Respiro maggiore: il brief del Molino chiede 80–120px fra le
   sezioni. È una scelta per pagina, non un cambio globale: si
   attiva aggiungendo vr-land--wide al contenitore. */
.vr-land--wide section{padding:clamp(40px,7vw,110px) 0}
.vr-land--wide .vr-inner-narrow p{max-width:68ch}

/* ---------- SEGNAPOSTO IMMAGINE ----------
   Finché la fotografia non c'è, lo spazio non resta vuoto né
   mostra un rettangolo rotto: disegna un blocco di colore con
   un'emoji discreta. Sostituendo il div con un <img> la resa
   non cambia di una riga. */
.vr-slot{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:4/3;
  background:linear-gradient(150deg,#3f5a4c,#2b3f35);
  color:#f3efe4;
  font-size:2rem;
  overflow:hidden;
}
.vr-slot--tall{aspect-ratio:3/4}
.vr-slot--wide{aspect-ratio:16/9}
.vr-slot--square{aspect-ratio:1/1}
.vr-slot--warm{background:linear-gradient(150deg,#7a4a3a,#3d2419)}
.vr-slot--stone{background:linear-gradient(150deg,#6d675b,#3a352d)}
.vr-slot small{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:8px 12px;
  background:rgba(20,16,12,.55);
  font-size:.72rem;
  line-height:1.35;
  text-align:center;
  letter-spacing:.02em;
}

/* ---------- TRE PAROLE CHIAVE ---------- */
.vr-keywords{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--vr-border);
  border-block:1px solid var(--vr-border);
}
.vr-keyword{
  background:var(--vr-cream);
  padding:clamp(26px,4vw,46px) 20px;
  text-align:center;
}
.vr-keyword span{display:block;font-size:1.9rem;line-height:1;margin-bottom:.35em}
.vr-keyword strong{
  display:block;
  font-family:var(--wp--preset--font-family--serif,Georgia,serif);
  font-weight:400;
  font-size:clamp(1.1rem,1rem + .5vw,1.45rem);
  letter-spacing:.01em;
}
.vr-keyword small{display:block;margin-top:.5em;font-size:.82rem;color:#6a6153}
@media (max-width:700px){.vr-keywords{grid-template-columns:1fr}}

/* ---------- DATA IN EVIDENZA ---------- */
.vr-datestamp{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:.15em;
  padding:18px 30px;
  border:2px solid var(--vr-bordeaux);
  border-radius:var(--vr-radius);
  color:var(--vr-bordeaux);
  background:#fff;
}
.vr-datestamp b{
  font-family:var(--wp--preset--font-family--serif,Georgia,serif);
  font-weight:400;
  font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);
  line-height:1.1;
}
.vr-datestamp small{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}

/* ---------- TIMELINE FOTOGRAFICA ----------
   Estende la timeline già presente: aggiunge la fotografia e
   rende la tappa apribile. Orizzontale con scorrimento su
   schermi larghi, verticale su telefono (regola già esistente). */
.vr-timeline-photo{gap:18px}
.vr-timeline-photo .vr-timeline-item{flex:0 0 clamp(200px,22vw,260px)}
/* La tappa e' un contenitore normale, non un <button>: un titolo e un
   paragrafo dentro un pulsante non sono HTML valido. Il pulsante vive
   dentro l'h3 e, con ::after, rende cliccabile tutta la scheda: una sola
   tappa nel giro dei tab e la struttura dei titoli resta intatta. */
.vr-timeline-step{
  position:relative;
  display:block;
  width:100%;
  border:1px solid var(--vr-border);
  border-radius:var(--vr-radius);
  background:#fff;
  overflow:hidden;
  transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease),border-color .3s var(--vr-ease);
}
.vr-timeline-step:hover,.vr-timeline-step:focus-within{
  transform:translateY(-4px);
  box-shadow:var(--vr-shadow-hover);
  border-color:var(--vr-bordeaux);
}
.vr-timeline-open{
  appearance:none;
  padding:0;
  border:0;
  background:none;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.vr-timeline-open::after{content:"";position:absolute;inset:0}
.vr-timeline-open:focus-visible{outline:none}
.vr-timeline-step:focus-within{outline:3px solid var(--vr-bordeaux);outline-offset:3px}
.vr-timeline-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--vr-cream-deep)}
.vr-timeline-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--vr-ease)}
.vr-timeline-step:hover .vr-timeline-media img{transform:scale(1.04)}
.vr-timeline-body h3{margin:0 0 .25em;font-size:1rem}
.vr-timeline-media .vr-slot{aspect-ratio:4/3}
.vr-timeline-body{padding:14px 16px 18px}
.vr-timeline-phase{
  display:block;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--vr-bordeaux);
  margin-bottom:.3em;
}
.vr-timeline-body h3{margin:0 0 .25em;font-size:1rem}
.vr-timeline-body p{margin:0;font-size:.85rem;color:#5b5346;line-height:1.5}

/* ---------- CONFRONTO PRIMA / DOPO ----------
   Il cursore è un <input type="range"> sovrapposto: si trascina
   col mouse e si muove con le frecce, senza codice in più. */
.vr-compare{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  border-radius:var(--vr-radius);
  overflow:hidden;
  background:var(--vr-cream-deep);
  --vr-split:50%;
}
.vr-compare-layer{position:absolute;inset:0}
.vr-compare-layer img,.vr-compare-layer .vr-slot{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.vr-compare-after{clip-path:inset(0 0 0 var(--vr-split))}
.vr-compare-label{
  position:absolute;
  bottom:14px;
  z-index:3;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(20,16,12,.62);
  color:#f3efe4;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}
.vr-compare-label--before{left:14px}
.vr-compare-label--after{right:14px}
.vr-compare-handle{
  position:absolute;
  top:0;bottom:0;
  left:var(--vr-split);
  width:2px;
  margin-left:-1px;
  background:#f3efe4;
  z-index:2;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(20,16,12,.25);
}
.vr-compare-handle::after{
  content:"↔";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#f3efe4;
  color:var(--vr-bordeaux);
  font-size:1.05rem;
  box-shadow:0 2px 10px rgba(20,16,12,.3);
}
.vr-compare-range{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
}
.vr-compare-range:focus-visible{opacity:1;outline:3px solid var(--vr-bordeaux);outline-offset:-3px}

/* ---------- HOTSPOT SULLE FOTOGRAFIE ---------- */
.vr-hotspots{position:relative;border-radius:var(--vr-radius);overflow:hidden}
.vr-hotspots img,.vr-hotspots .vr-slot{width:100%;display:block}
.vr-hotspot{
  position:absolute;
  width:34px;height:34px;
  margin:-17px 0 0 -17px;
  border:2px solid #f3efe4;
  border-radius:50%;
  background:var(--vr-bordeaux);
  color:#fff;
  font:700 .82rem/1 Arial,sans-serif;
  display:grid;place-items:center;
  cursor:pointer;
  padding:0;
  box-shadow:0 2px 10px rgba(20,16,12,.35);
  transition:transform .25s var(--vr-ease);
}
.vr-hotspot::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:2px solid rgba(243,239,228,.55);
  animation:vr-hotspot-pulse 2.6s var(--vr-ease) infinite;
}
@keyframes vr-hotspot-pulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.vr-hotspot:hover,.vr-hotspot:focus-visible,.vr-hotspot[aria-expanded="true"]{transform:scale(1.12)}
/* Su schermi tattili il punto cresce fino alla soglia dei 44px: con il dito
   un cerchio da 34px si sbaglia. Il numero resta della stessa dimensione. */
@media (pointer:coarse){
  .vr-hotspot{width:44px;height:44px;margin:-22px 0 0 -22px}
}
.vr-hotspot-note{
  position:absolute;
  z-index:5;
  max-width:min(280px,72vw);
  padding:12px 14px;
  border-radius:var(--vr-radius-sm);
  background:#2b2620;
  color:#f3efe4;
  font-size:.83rem;
  line-height:1.5;
  box-shadow:0 10px 28px rgba(20,16,12,.4);
}
.vr-hotspot-note[hidden]{display:none}
.vr-hotspot-note strong{display:block;margin-bottom:.2em;color:#f0d9a8}

/* ---------- ALBUM DI FAMIGLIA ---------- */
.vr-album{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.vr-album-item{
  padding:0;
  border:0;
  background:#fff;
  border-radius:var(--vr-radius-sm);
  overflow:hidden;
  cursor:pointer;
  box-shadow:var(--vr-shadow);
  transition:transform .3s var(--vr-ease),box-shadow .3s var(--vr-ease);
}
.vr-album-item img,.vr-album-item .vr-slot{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.vr-album-item:hover,.vr-album-item:focus-visible{transform:translateY(-5px) rotate(0);box-shadow:var(--vr-shadow-hover)}
/* Leggero sfalsamento da album, solo dove c'è spazio per farlo. */
@media (min-width:861px){
  .vr-album-item:nth-child(4n+1){transform:rotate(-1.2deg)}
  .vr-album-item:nth-child(4n+3){transform:rotate(1deg)}
  .vr-album-item:nth-child(4n+4){transform:translateY(10px)}
}
@media (max-width:860px){.vr-album{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.vr-album{grid-template-columns:1fr}}

/* ---------- LIGHTBOX ---------- */
.vr-lightbox{
  border:0;
  padding:0;
  max-width:min(1100px,94vw);
  max-height:92vh;
  background:#17140f;
  color:#f3efe4;
  border-radius:var(--vr-radius);
  overflow:hidden;
}
.vr-lightbox::backdrop{background:rgba(12,10,8,.82)}
.vr-lightbox-figure{margin:0;display:grid;grid-template-rows:1fr auto}
.vr-lightbox-figure img{width:100%;max-height:72vh;object-fit:contain;display:block;background:#0e0c09}
.vr-lightbox-figure .vr-slot{aspect-ratio:16/9}
.vr-lightbox-caption{padding:16px 20px 20px}
.vr-lightbox-caption .vr-timeline-phase{color:#f0d9a8}
.vr-lightbox-caption h3{margin:0 0 .25em;font-size:1.1rem;color:#fff}
.vr-lightbox-caption p{margin:0;font-size:.88rem;color:#d8d1c3;line-height:1.55}
.vr-lightbox-close{
  position:absolute;
  top:10px;right:10px;
  width:44px;height:44px;
  border:0;
  border-radius:50%;
  background:rgba(243,239,228,.14);
  color:#f3efe4;
  font-size:1.2rem;
  cursor:pointer;
}
.vr-lightbox-close:hover{background:rgba(243,239,228,.28)}

/* ---------- SEZIONE VINO ---------- */
.vr-wine{
  background:linear-gradient(160deg,#5c2334,#2f1119);
  color:#f3efe4;
  text-align:center;
}
.vr-wine h2{color:#fff}
.vr-wine .vr-eyebrow{color:#e8b7c4}
.vr-wine-question{
  font-family:var(--wp--preset--font-family--serif,Georgia,serif);
  font-size:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);
  line-height:1.25;
  margin:.5em auto .4em;
  max-width:18ch;
}
.vr-wine p{color:#e9e0d5}
.vr-wine .vr-btn-outline{border-color:#f3efe4;color:#f3efe4}
.vr-wine .vr-btn-outline:hover{background:#f3efe4;color:#5c2334}

/* ---------- MOVIMENTO RIDOTTO ---------- */
@media (prefers-reduced-motion:reduce){
  .vr-timeline-step,.vr-album-item,.vr-hotspot,.vr-timeline-media img{transition:none}
  .vr-hotspot::before{animation:none}
  .vr-album-item:hover{transform:none}
}

/* ============================================================
   IL GESTORE — pagina dedicata (classe vr-land--gestore)
   Stessa identità di VArisotto (crema, bordeaux, verde, antracite)
   con piccoli tocchi champagne / ottone tenue e linee Liberty.
   Tutto è scoped: non tocca le altre landing.
   ============================================================ */
.vr-land--gestore{
  --vr-champagne:#efe6d3;
  --vr-champagne-deep:#e4d6b8;
  --vr-brass:#b49a62;          /* solo filetti e dettagli */
  --vr-brass-ink:#75622f;      /* testo: contrasto sufficiente su crema */
  --vr-anthracite:#2e3033;
}
.vr-land--gestore h1,
.vr-land--gestore h2{font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-weight:400;letter-spacing:.005em}
.vr-land--gestore h2{font-size:clamp(1.7rem,1.15rem + 2vw,2.7rem);line-height:1.15;margin-bottom:.6em}
.vr-land--gestore .vr-eyebrow{color:var(--vr-brass-ink);letter-spacing:.16em}
.vr-land--gestore .vr-btn{min-height:46px;justify-content:center}
.vr-land--gestore .vr-btn-champagne{background:var(--vr-champagne);color:var(--vr-anthracite);border-color:var(--vr-champagne)}
.vr-land--gestore .vr-btn-champagne:hover{background:#fff;border-color:#fff;color:var(--vr-anthracite);box-shadow:0 8px 18px rgba(0,0,0,.25)}
.vr-slot--wine{background:linear-gradient(150deg,#5c2434,#2a1019)}

/* Ritmo verticale: 80–120px desktop, 60–80 tablet, 40–60 mobile */
.vr-land--gestore .vr-g-section{padding:clamp(44px,8vw,110px) 0}
.vr-land--gestore .vr-g-section--short{padding:clamp(28px,5vw,64px) 0}
.vr-land--gestore .vr-g-section--soft{background:var(--vr-cream)}

/* Hero */
.vr-g-hero-text{max-width:640px;margin:0 auto 1.6em;font-size:clamp(.95rem,.9rem + .25vw,1.08rem);opacity:.94;line-height:1.65}

/* Filo narrativo Francia → Mediterraneo → Varese */
.vr-g-thread{background:var(--vr-champagne);padding:clamp(28px,5vw,56px) var(--vr-pad,20px);border-bottom:1px solid rgba(180,154,98,.45)}
.vr-g-thread-route{display:flex;flex-wrap:wrap;justify-content:center;gap:.4em 1.1em;margin:0 0 .4em!important;font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-size:clamp(1.2rem,1rem + 1.3vw,2rem);color:var(--vr-bordeaux)}
.vr-g-thread-route span+span::before{content:"→";margin-right:1.1em;color:var(--vr-brass)}
.vr-g-thread-line{margin:0!important;font-style:italic;color:#5b5346}

/* Linea Liberty */
.vr-liberty{display:flex;justify-content:center;margin:0;padding:0;color:var(--vr-brass)}
.vr-liberty svg{width:min(240px,55vw);height:24px;fill:none;stroke:currentColor;stroke-width:1;opacity:.8}
.vr-liberty svg path:last-child{fill:currentColor;opacity:.6}

.vr-g-note{font-style:italic;color:#6a6153;font-size:.95rem}
.vr-g-pull{font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-style:italic;font-size:clamp(1.3rem,1rem + 1.2vw,1.9rem)!important;line-height:1.35;color:var(--vr-bordeaux);border:0;margin:1.4em auto!important;padding:1em 0!important;position:relative}
.vr-g-pull::before,.vr-g-pull::after{content:"";display:block;width:min(120px,30%);height:1px;background:var(--vr-brass);margin:0 auto;opacity:.7}
.vr-g-pull::before{margin-bottom:.9em}
.vr-g-pull::after{margin-top:.9em}
.vr-g-sub{font-style:italic;color:#6a6153}

/* Foto: cornice leggera + zoom delicato */
.vr-g-frame{outline:1px solid rgba(255,255,255,.55);outline-offset:-10px;border-radius:6px 6px 34px 6px}
.vr-g-zoom img{transition:transform .4s var(--vr-ease)}
.vr-g-zoom:hover img{transform:scale(1.04)}

/* Timeline: orizzontale su desktop, verticale su mobile */
.vr-land--gestore .vr-inner>.vr-g-tl{list-style:none;margin:2.4em 0 1.6em;max-width:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.vr-g-tl::before{content:"";position:absolute;left:16.66%;right:16.66%;top:calc(2.4rem + 26px);height:1px;background:var(--vr-brass);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--vr-ease)}
.vr-g-tl.vr-visible::before{transform:scaleX(1)}
.vr-g-tl-step{display:flex;flex-direction:column;align-items:center;padding:0 clamp(16px,3vw,48px);position:relative}
.vr-g-tl-year{display:block;height:2.4rem;font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-size:1.7rem;line-height:2.4rem;color:var(--vr-bordeaux)}
.vr-g-tl-dot{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--vr-brass);font-size:1.3rem;position:relative;z-index:1;margin-bottom:.9em}
.vr-g-tl-step strong{font-size:1.05rem;margin-bottom:.3em}
.vr-g-tl-step p{margin:0!important;font-size:.95rem;color:#5b5346;max-width:34ch}
@media (max-width:780px){
  .vr-land--gestore .vr-inner>.vr-g-tl{grid-template-columns:1fr;gap:34px}
  .vr-g-tl::before{left:50%;right:auto;top:2.4rem;bottom:30px;width:1px;height:auto;transform:scaleY(0);transform-origin:top}
  .vr-g-tl.vr-visible::before{transform:scaleY(1)}
}

/* Villa: mosaico ampio, poche cornici */
.vr-g-mosaic{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;height:clamp(420px,52vw,760px);margin:clamp(24px,4vw,48px) 0}
.vr-g-mosaic .vr-slot{aspect-ratio:auto;height:100%;min-height:0;border-radius:0}
.vr-g-mosaic .vr-slot:nth-child(1){grid-row:1 / 3}
.vr-g-mosaic .vr-slot:nth-child(4){grid-column:2 / 4}
@media (max-width:700px){
  .vr-g-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none;height:auto}
  .vr-g-mosaic .vr-slot{aspect-ratio:4/3;height:auto}
  .vr-g-mosaic .vr-slot:nth-child(1),.vr-g-mosaic .vr-slot:nth-child(4){grid-column:1 / 3;grid-row:auto}
}

/* Pergola: foto a tutta larghezza, testo che si appoggia sul bordo */
.vr-land--gestore .vr-g-bleed{padding:0 0 clamp(44px,8vw,110px)}
.vr-g-bleed-media .vr-slot{aspect-ratio:auto;height:clamp(360px,62vh,720px);border-radius:0}
.vr-land--gestore .vr-g-bleed-text.vr-inner-narrow{position:relative;z-index:2;width:min(760px,92%)!important;max-width:min(760px,92%)!important;margin:clamp(-120px,-9vw,-40px) auto 0!important;padding:clamp(26px,4vw,48px)!important;background:rgba(250,246,239,.96);border:1px solid rgba(180,154,98,.5);border-radius:6px 6px 44px 6px}
.vr-land--gestore .vr-g-bleed-text>*{padding-left:0!important;padding-right:0!important}
.vr-g-inout{display:flex;justify-content:center;align-items:center;gap:1em;margin:1.2em auto 0!important;font-family:var(--wp--preset--font-family--serif,Georgia,serif);color:var(--vr-verde)}
.vr-g-inout span{border-bottom:1px solid var(--vr-brass);padding:0 .4em .15em}
.vr-g-inout b{color:var(--vr-brass);font-weight:400}
@media (max-width:700px){.vr-land--gestore .vr-g-bleed-text.vr-inner-narrow{margin-top:0!important;width:100%!important;max-width:100%!important;border-radius:0}}

/* Testo + immagine, alternati */
.vr-g-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.vr-g-split-media .vr-slot{aspect-ratio:auto;height:100%;min-height:clamp(320px,42vw,640px);border-radius:0}
.vr-land--gestore .vr-g-split-text.vr-inner-narrow{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(28px,5vw,90px)!important}
.vr-land--gestore .vr-g-split-text>*{padding-left:0!important;padding-right:0!important}
.vr-g-duo{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.vr-g-duo .vr-slot{aspect-ratio:auto;height:100%;min-height:clamp(240px,30vw,460px);border-radius:0}
@media (max-width:860px){
  .vr-g-split{grid-template-columns:1fr}
  .vr-g-split-media .vr-slot{aspect-ratio:4/3;height:auto;min-height:0}
  .vr-g-duo .vr-slot{aspect-ratio:1/1;min-height:0}
}

/* Percorsi (cucina, cantina): passi collegati da un filo */
.vr-land--gestore .vr-inner>.vr-g-path{list-style:none;margin:2em 0 1.4em;max-width:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.vr-land--gestore .vr-inner>.vr-g-path--4{grid-template-columns:repeat(4,1fr)}
.vr-g-path>li{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 clamp(14px,3vw,44px)}
.vr-g-path>li+li::before{content:"";position:absolute;top:32px;right:50%;width:100%;height:1px;background:var(--vr-brass);opacity:.8}
.vr-g-path-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fff;border:1px solid var(--vr-brass);font-size:1.6rem;position:relative;z-index:1;margin-bottom:.8em}
.vr-g-path strong{font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-weight:400;font-size:1.2rem;margin-bottom:.3em}
.vr-g-path p{margin:0!important;font-size:.95rem;color:#5b5346;max-width:32ch}
@media (max-width:780px){
  .vr-land--gestore .vr-inner>.vr-g-path,.vr-land--gestore .vr-inner>.vr-g-path--4{grid-template-columns:1fr;gap:30px}
  .vr-g-path>li+li::before{top:-30px;right:auto;left:50%;width:1px;height:30px}
}

/* Il viaggio: catena di parole */
.vr-g-chain{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 8px;margin:1.6em auto;padding:0!important}
.vr-g-chain li{font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-style:italic;font-size:1.1rem;color:var(--vr-verde)}
.vr-g-chain li:not(:last-child)::after{content:"→";margin-left:8px;color:var(--vr-brass);font-style:normal}

/* Francia nel piatto: fascia bordeaux con scorrimento leggero */
.vr-land--gestore .vr-g-section--france{background:linear-gradient(160deg,#5c2434,#3a1420);color:#f6efe4}
.vr-g-section--france h2{color:#fff}
.vr-g-section--france .vr-eyebrow{color:var(--vr-champagne-deep)}
.vr-g-section--france .vr-g-sub{color:#e6d9c8}
.vr-g-scroller{position:relative;padding:0 clamp(52px,6vw,90px);margin-top:1.6em}
.vr-g-track{list-style:none;margin:0;padding:6px 2px!important;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;outline-offset:4px}
.vr-g-track::-webkit-scrollbar{display:none}
.vr-g-dish{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6em;min-height:170px;padding:22px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(238,220,180,.35);border-radius:6px 6px 30px 6px;transition:transform .3s var(--vr-ease),background .3s var(--vr-ease)}
.vr-g-dish:hover{transform:translateY(-4px);background:rgba(255,255,255,.12)}
.vr-g-dish span{font-size:1.9rem;line-height:1}
.vr-g-dish strong{font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-weight:400;font-size:1.15rem;line-height:1.3}
.vr-g-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;min-height:46px!important;padding:0!important;border-radius:50%;border:1px solid rgba(238,220,180,.6)!important;background:transparent!important;color:#fff!important;font-size:1.6rem!important;line-height:1;cursor:pointer;transition:background .25s}
.vr-g-arrow:hover,.vr-g-arrow:focus-visible{background:rgba(255,255,255,.16)!important}
.vr-g-arrow--prev{left:clamp(0px,1vw,12px)}
.vr-g-arrow--next{right:clamp(0px,1vw,12px)}
@media (max-width:860px){.vr-g-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:560px){.vr-g-scroller{padding:0 var(--vr-pad,16px)}.vr-g-track{grid-auto-columns:78%}.vr-g-arrow{display:none}}

/* Mediterraneo: più luminoso */
.vr-land--gestore .vr-g-section--sun{background:linear-gradient(180deg,#fbf4e2,#f5e8c8)}
.vr-g-chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:1.6em auto 0!important;padding:0!important}
.vr-g-chips li{padding:9px 20px;border:1px solid var(--vr-brass);border-radius:999px;background:rgba(255,255,255,.6);font-family:var(--wp--preset--font-family--serif,Georgia,serif);color:var(--vr-anthracite)}

/* Stagioni: schede a misura del contenuto */
.vr-land--gestore .vr-seasons{margin-top:1.6em}
.vr-land--gestore .vr-season-tab{min-height:46px}
.vr-land--gestore .vr-season-tab[aria-selected="true"]{background:var(--vr-verde);border-color:var(--vr-verde)}
.vr-land--gestore .vr-season-panels{min-height:0;border-radius:6px 6px 30px 6px;border:1px solid rgba(180,154,98,.45);box-shadow:none}
.vr-land--gestore .vr-season-panel p{margin:0}

/* Cantina: antracite con dettagli champagne */
.vr-land--gestore .vr-g-section--cellar{background:var(--vr-anthracite);color:#ece6da}
.vr-g-section--cellar h2{color:#fff}
.vr-g-section--cellar .vr-eyebrow{color:var(--vr-champagne-deep)}
.vr-g-section--cellar .vr-g-sub{color:#cfc7b8}
.vr-g-section--cellar .vr-g-path-icon{background:transparent;border-color:var(--vr-champagne-deep)}
.vr-g-section--cellar .vr-g-path>li+li::before{background:var(--vr-champagne-deep);opacity:.55}
.vr-g-section--cellar .vr-g-path strong{color:#fff}

/* Un piatto. Un vino. Un incontro. */
.vr-g-trio{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:1.6em auto!important;padding:0!important}
.vr-g-trio li{display:flex;align-items:center;gap:.5em;padding:12px 24px;min-height:46px;border:1px solid rgba(180,154,98,.55);border-radius:999px;font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-size:1.1rem;background:#fff;transition:transform .3s var(--vr-ease),border-color .3s,box-shadow .3s}
.vr-g-trio li:hover,.vr-g-trio li:focus-visible{transform:translateY(-3px);border-color:var(--vr-bordeaux);box-shadow:0 8px 18px rgba(112,45,64,.14)}

/* Valori: pochissimo, molto spazio */
.vr-g-values{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;margin:clamp(28px,5vw,56px) auto 0!important;padding:0!important}
.vr-g-values li{padding:.4em clamp(18px,4vw,56px);font-family:var(--wp--preset--font-family--serif,Georgia,serif);font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);letter-spacing:.02em}
.vr-g-values li+li{border-left:1px solid rgba(180,154,98,.6)}
.vr-g-values span{display:block;font-size:1.15rem;margin-bottom:.4em;opacity:.85}
@media (max-width:600px){.vr-g-values{display:grid;grid-template-columns:1fr 1fr;gap:26px 0}.vr-g-values li:nth-child(3){border-left:0}}

/* Chiusura */
.vr-land--gestore .vr-g-final{position:relative;display:grid;align-items:end;min-height:clamp(520px,80vh,820px);color:#fff;padding:0;overflow:hidden}
.vr-g-final-media{position:absolute;inset:0}
.vr-g-final-media .vr-slot{aspect-ratio:auto;height:100%;border-radius:0}
.vr-g-final-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.25) 0%,rgba(20,16,12,.6) 55%,rgba(20,16,12,.88) 100%)}
.vr-land--gestore .vr-g-final-text.vr-inner-narrow{position:relative;z-index:2;padding:clamp(60px,10vw,120px) var(--vr-pad,20px)!important}
.vr-g-final h2{color:#fff}
.vr-g-final p{color:#f0e9dc}

@media (prefers-reduced-motion:reduce){
  .vr-g-tl::before{transform:none!important;transition:none}
  .vr-g-zoom img,.vr-g-dish,.vr-g-trio li{transition:none}
  .vr-g-track{scroll-behavior:auto}
}
