/* =====================================================================
   Layout aperto (come gli staging Stalle Lunghe): pagina a tutta larghezza,
   niente scatole con ombra, foto che arrivano al bordo dello schermo,
   fasce di colore piene, testi mai sovrapposti alle immagini.
   Caricato per ultimo su tutte le pagine.
   ===================================================================== */
:root{
  --va-max:1760px;
  --va-g:clamp(20px,5.5vw,110px);
  --va-edge:max(var(--va-g),calc((100vw - var(--va-max))/2 + var(--va-g)));
  --va-sh:none;
  --va-r:14px;
  --va-R:18px;
  --va-line:rgba(14,42,107,.14)
}
.va .va-h{overflow-wrap:normal;word-break:normal}
.va-intro,.va-head,.va-cinfo{min-width:0}

/* aperture: fascia piena senza angoli */
.va-hero{border-radius:0}

/* ---------- esperienze (plugin) ---------- */
.va-exp-row{grid-template-columns:minmax(0,4fr) minmax(0,8fr)!important;gap:clamp(32px,4vw,80px)!important}
.va-exp-row .va-intro .va-h2{font-size:clamp(34px,3.2vw,56px);overflow-wrap:normal}
.va-exp-row .pnen-list{gap:clamp(20px,2vw,36px)!important}
.va-exp-row .pnen-card{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.va-exp-row .pnen-image{border-radius:var(--va-r);overflow:hidden}
.va-exp-row .pnen-body{padding:16px 0 0!important}
.va-exp-row .pnen-name{font-size:clamp(20px,1.5vw,26px)}
.va-exp-row .pnen-summary{font-size:16px}
@media (max-width:900px){.va-exp-row{grid-template-columns:1fr!important}}

/* ---------- parco: foto grandi e piccole senza cornice ---------- */
.va-park-top{grid-template-columns:minmax(0,4fr) minmax(0,4.5fr) minmax(0,3.5fr);gap:clamp(16px,1.6vw,28px)}
.va-park-top .va-intro{padding-right:clamp(8px,2vw,40px)}
.va-big{min-height:clamp(320px,26vw,480px)}
.va-mini{gap:clamp(14px,1.4vw,24px)}
.va-mini-i,.va-mini-n{background:none!important;border:0!important;border-radius:0;box-shadow:none;overflow:visible}
.va-mini-pic{border-radius:var(--va-r)}
.va .va-mini-n .va-mini-pic{background:var(--va-navy)}
.va-mini-b{padding:12px 2px 0;min-height:0}
.va-mini-b .va-h{font-size:clamp(15px,1.1vw,19px)}
.va .va-mini-n .va-mini-b,.va .va-mini-n .va-mini-b .va-h{color:var(--va-navy)}

/* ---------- fasce blu a tutta larghezza (ingresso, dove dormire) ---------- */
.va-box,.va-stay{border-radius:0;margin-inline:calc(-1 * var(--va-edge));padding-inline:var(--va-edge)}
.va-box{padding-block:clamp(64px,7vw,120px);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px)}
.va-box-t p{max-width:34em;font-size:18px;line-height:1.7}
.va-tix{gap:0;border-top:2px solid rgba(255,255,255,.5)}
.va-tk{background:none!important;color:#fff;border-radius:0;min-height:0;padding:26px clamp(14px,2vw,32px) 6px;border-left:1px solid rgba(255,255,255,.22)}
.va-tk:first-child{border-left:0;padding-left:0}
.va-tk span{color:var(--va-sky)}
.va-tk b{font-size:clamp(36px,3.4vw,52px)}
.va-tk p{font-size:15px;color:#dfe7fb}
.va-tk svg{color:var(--va-sky)}
@media (max-width:980px){.va-box{grid-template-columns:1fr}}
@media (max-width:640px){.va-tix{grid-template-columns:1fr}.va-tk{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:20px 0}.va-tk:first-child{border-top:0}}
.va-sec:has(>.va-wrap>.va-box:only-child),.va-sec:has(>.va-wrap>.va-stay:only-child){padding-block:0}
.va-stay{min-height:clamp(340px,30vw,520px);overflow:hidden;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.va-stay-t{padding:clamp(48px,6vw,96px) 0;grid-column:1}
.va-stay-t p{font-size:18px;line-height:1.7;max-width:30em}
.va .va-stay-img{width:58%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}

/* ---------- compleanno in home: testo a sinistra, foto al bordo destro, nessuna sovrapposizione ---------- */
.va-bday{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"t p" "f p";gap:28px clamp(40px,6vw,110px);align-items:center}
.va-bday>.va-intro{grid-area:t;align-self:end}
.va-bday>.va-feats{grid-area:f;align-self:start}
.va-bday>:not(.va-intro):not(.va-feats){grid-area:p;width:calc(100% + var(--va-edge));max-width:none}
.va .va-bday-img{aspect-ratio:auto;height:clamp(380px,36vw,620px);border-radius:0;object-fit:cover}
.va-sec.va-pt0:has(>.va-bday){padding-top:clamp(72px,7.5vw,120px)}
.va-feats{background:none;border-radius:0;padding:22px 0 0;border-top:2px solid var(--va-navy);display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
.va-feats li{font-size:16px}
@media (max-width:900px){.va-bday{grid-template-columns:1fr;grid-template-areas:"t" "p" "f"}.va-bday>:not(.va-intro):not(.va-feats){width:calc(100% + 2 * var(--va-edge));margin-left:calc(-1 * var(--va-edge))}.va .va-bday-img{height:auto;aspect-ratio:4/3}.va-feats{grid-template-columns:1fr}}

/* ---------- l'altra stagione ---------- */
.va-other{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,4vw,80px)}

/* ---------- contatti: modulo senza riquadro ---------- */
.va-contact{max-width:var(--va-max);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,110px)}
.va-form{background:none;border-radius:0;padding:28px 0 0;border-top:2px solid var(--va-navy)}
.va-form .vf-in{border-radius:10px}
@media (max-width:900px){.va-contact{grid-template-columns:1fr;gap:32px}}
.va-cinfo .va-h2{font-size:clamp(32px,3.3vw,52px)}

/* ---------- pagine interne ---------- */
/* foto + testo: la foto arriva al bordo dello schermo */
.va-split{gap:clamp(40px,6vw,110px)}
.va-split-pic{border-radius:0;box-shadow:none;aspect-ratio:auto;min-height:0;height:clamp(420px,36vw,640px)}
.va-split:not(.rev)>.va-split-pic{margin-left:calc(-1 * var(--va-edge))}
.va-split.rev>.va-split-pic{margin-right:calc(-1 * var(--va-edge))}
.va-split-pic .va-logo-badge{left:var(--va-edge)}
.va-split.rev .va-split-pic .va-logo-badge{left:16px}
@media (max-width:860px){.va-split>.va-split-pic,.va-split.rev>.va-split-pic{margin-inline:calc(-1 * var(--va-edge));height:auto;aspect-ratio:4/3}.va-split-pic .va-logo-badge{left:var(--va-edge)}}
/* prezzi: tabella aperta, righe sopra e sotto */
.va-prices{border-radius:0;border:0;border-top:2px solid var(--va-navy);border-bottom:1px solid var(--va-line);background:none}
.va-price{background:none}
.va-price:first-child:not(.hl){padding-left:0}
.va-price.hl{background:var(--va-navy)}
/* card con foto: angoli leggeri, nessuna ombra */
.va-pack-pic,.va-person-pic{box-shadow:none}
.va-stay-c{border-radius:var(--va-r)}
.va-stays{gap:clamp(16px,1.6vw,28px)}
.va-embed{border:0;border-radius:0;padding:0;background:none}

/* ---------- home estate ---------- */
.vs-tc{border-radius:var(--va-r);box-shadow:none}
.vs-trio{gap:clamp(16px,1.6vw,28px)}
.vs-park-in{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,4vw,80px)}
.vs-park-big .va-big{min-height:clamp(240px,20vw,380px)}
.vs-camp-in{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:clamp(16px,1.6vw,28px)}
.vs-camp-main,.vs-camp-side>*{box-shadow:none}
/* compleanno estate: foto al bordo sinistro e testo accanto, non sopra */
.vs-bday{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,110px)}
.vs-bday-pic{border-radius:0;height:clamp(380px,36vw,620px)}
.vs-bday-card{background:none;box-shadow:none;border-radius:0;padding:0;margin:0 var(--va-edge) 0 0;grid-template-columns:1fr;gap:24px}
.vs-bday-card .va-feats{padding:22px 0 0;border-left:0;border-top:2px solid var(--va-navy)}
@media (max-width:900px){.vs-bday{grid-template-columns:1fr}.vs-bday-pic{height:auto;aspect-ratio:4/3}.vs-bday-card{margin:28px var(--va-g) 0}}
@media (max-width:1100px){.vs-park-in,.vs-camp-in{grid-template-columns:1fr}}
