/* ============================================================
   La Vinothèque · RSVP — feuille de style du site
   Charte : Cormorant Garamond / Oswald / Inter, rouge BF1E2E
   ============================================================ */
:root{
  --vt-blanc:#FFF; --vt-encre:#231F20; --vt-filet:#D8D8D8;
  --vt-papier:#F1F1F1; --vt-rose:#FAF3F4;
  --vt-rouge:#BF1E2E; --vt-rouge-fonce:#8E1622; --vt-cartone:#D1995C;
  --vt-display:'Cormorant Garamond',Georgia,serif;
  --vt-label:'Oswald','Helvetica Neue',Helvetica,Arial,sans-serif;
  --vt-texte:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vt-papier);color:var(--vt-encre);
  font-family:var(--vt-texte);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--vt-rouge)}

/* ---- Bandeau de navigation ---- */
.vt-nav{display:flex;align-items:center;gap:30px;background:var(--vt-rose);
  border-bottom:.5px solid rgba(191,30,46,.14);padding:16px 34px;
  position:sticky;top:0;z-index:50}
.vt-nav-logo{flex:none;display:block;width:118px;height:38px;
  background-size:contain;background-repeat:no-repeat;background-position:left center}
.vt-nav-voci{flex:1;display:flex;align-items:center;justify-content:center;gap:30px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vt-nav-voci::-webkit-scrollbar{display:none}
.vt-nav-voci a{font-family:var(--vt-display);font-size:19px;line-height:1.2;
  color:var(--vt-encre);text-decoration:none;white-space:nowrap;
  padding-bottom:5px;border-bottom:2px solid transparent;opacity:.88}
.vt-nav-voci a:hover{opacity:1;color:var(--vt-rouge)}
.vt-nav-voci a.attiva{color:var(--vt-rouge);border-bottom-color:var(--vt-rouge);opacity:1}

/* ---- Entete de page ---- */
.vt-hero{position:relative;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--vt-encre);aspect-ratio:16/7}
.vt-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vt-hero .vt-hero-logo{position:relative;z-index:2;width:22%;min-width:150px;height:70px;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  filter:drop-shadow(0 2px 18px rgba(0,0,0,.45))}
.vt-titolo{background:var(--vt-papier);text-align:center;padding:44px 24px 10px}
.vt-titolo h1{font-family:var(--vt-display);font-weight:400;font-size:46px;
  line-height:1.08;margin:0 0 14px}
.vt-titolo h1 em{font-style:italic;color:var(--vt-rouge)}
.vt-titolo .vt-chapo{font-family:var(--vt-display);font-size:18px;line-height:1.6;
  max-width:660px;margin:0 auto;opacity:.84}

/* ---- Corps ---- */
.vt-corpo{max-width:1180px;margin:0 auto;padding:48px 70px 70px}
.vt-bloc{background:var(--vt-blanc);padding:46px 52px;margin-bottom:34px;
  border-top:3px solid var(--vt-rouge)}
.vt-bloc h2{font-family:var(--vt-display);font-weight:400;font-size:34px;
  line-height:1.15;margin:0 0 8px}
.vt-bloc h2 em{font-style:italic;color:var(--vt-rouge)}
.vt-bloc h3{font-family:var(--vt-display);font-weight:400;font-size:24px;margin:26px 0 6px}
.vt-occhiello{display:block;font-family:var(--vt-label);font-weight:300;font-size:10px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--vt-rouge);margin-bottom:12px}
.vt-bloc p{margin:0 0 14px;max-width:70ch}
.vt-filetto{border:0;border-top:1px solid var(--vt-filet);margin:34px 0}

/* ---- Boutons ---- */
.vt-bottone{display:inline-block;font-family:var(--vt-label);font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;font-size:12px;text-decoration:none;
  color:var(--vt-blanc);background:var(--vt-rouge);padding:15px 30px;margin:8px 6px 8px 0;
  border:1px solid var(--vt-rouge);transition:background .25s ease}
.vt-bottone:hover{background:var(--vt-rouge-fonce);border-color:var(--vt-rouge-fonce)}
.vt-bottone.chiaro{background:transparent;color:var(--vt-rouge)}
.vt-bottone.chiaro:hover{background:var(--vt-rouge);color:var(--vt-blanc)}

/* ---- Grilles ---- */
.vt-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.vt-griglia img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.vt-scheda{background:var(--vt-blanc)}
.vt-scheda .vt-testo{padding:20px 22px 26px}
.vt-scheda h3{margin:0 0 2px;font-size:22px}
.vt-ruolo{font-family:var(--vt-label);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--vt-rouge);display:block;margin-bottom:10px}
.vt-scheda p{font-size:14.5px;line-height:1.6;margin:0;opacity:.84}

/* ---- Calendrier ---- */
.vt-mese{font-family:var(--vt-label);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--vt-rouge);margin:34px 0 14px;
  padding-bottom:7px;border-bottom:.5px solid var(--vt-filet)}
.vt-evento{display:grid;grid-template-columns:132px 1fr;gap:0 26px;
  padding:18px 0;border-bottom:.5px solid var(--vt-filet)}
.vt-data{font-family:var(--vt-display);font-size:17px;color:var(--vt-rouge);line-height:1.3}
.vt-evento h3{margin:0 0 4px;font-size:22px}
.vt-evento p{margin:0 0 6px;font-size:15px}
.vt-dettagli{font-family:var(--vt-texte);font-size:12.5px;opacity:.6;margin:0}


/* ---- Serate gia passate : visibili ma barrate ---- */
.vt-evento.passato{opacity:.42}
.vt-evento.passato .vt-data,
.vt-evento.passato h3{text-decoration:line-through;text-decoration-thickness:1.5px}
.vt-evento.passato .vt-data{color:var(--vt-encre)}
.vt-mese.passato{opacity:.45;text-decoration:line-through}

/* ---- Formulaire ---- */
.vt-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;max-width:760px}
.vt-form .vt-largo{grid-column:1/-1}
.vt-form label{display:block;font-family:var(--vt-label);font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.vt-form input,.vt-form textarea{width:100%;font-family:var(--vt-texte);font-size:15px;
  padding:13px 14px;border:.5px solid var(--vt-filet);background:var(--vt-blanc);
  color:var(--vt-encre);border-radius:0}
.vt-form textarea{min-height:140px;resize:vertical}
.vt-form input:focus,.vt-form textarea:focus{outline:0;border-color:var(--vt-rouge)}
.vt-consenso{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;opacity:.8}
.vt-consenso input{width:auto;flex:none;margin-top:3px}

/* ---- Instagram ---- */
.vt-ig{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.vt-ig a{display:block;position:relative;aspect-ratio:1/1;overflow:hidden}
.vt-ig img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vt-ig a:hover img{transform:scale(1.06)}

/* ---- Pied de page ---- */
.vt-pie{background:var(--vt-encre);color:rgba(255,255,255,.78);
  padding:50px 34px 40px;text-align:center;font-size:13.5px;line-height:1.8}
.vt-pie a{color:rgba(255,255,255,.9)}
.vt-pie-logo{width:150px;height:48px;margin:0 auto 22px;
  background-size:contain;background-repeat:no-repeat;background-position:center}
.vt-pie-fine{margin-top:26px;font-size:11.5px;opacity:.5}

/* ---- Telephone ---- */
@media (max-width:820px){
  .vt-corpo{padding:34px 20px 44px}
  .vt-bloc{padding:30px 22px}
  .vt-titolo h1{font-size:33px}
  .vt-titolo{padding:32px 18px 6px}
  .vt-bloc h2{font-size:27px}
  .vt-hero{aspect-ratio:4/3}
  .vt-hero .vt-hero-logo{width:46%}
  .vt-nav{gap:16px;padding:12px 16px}
  .vt-nav-logo{width:92px;height:30px}
  .vt-nav-voci{justify-content:flex-start;gap:20px}
  .vt-nav-voci a{font-size:16px}
  .vt-form{grid-template-columns:1fr}
  .vt-evento{grid-template-columns:1fr;gap:6px}
  .vt-data{font-size:15px}
}
@media (max-width:560px){
  .vt-corpo{padding:26px 14px 36px}
  .vt-nav{flex-direction:column;align-items:stretch;gap:10px}
  .vt-nav-logo{margin:0 auto;background-position:center}
}

/* ---- La locandina della stagione ---- */
.vt-locandina{text-align:center}
.vt-locandina p{max-width:62ch;margin-left:auto;margin-right:auto}
.vt-locandina-foto{margin:28px auto 0;max-width:620px}
.vt-locandina-foto img{width:100%;height:auto;box-shadow:0 14px 44px rgba(0,0,0,.18)}

/* ---- Blocs avec photo (accueil) ---- */
.vt-bloc.vt-con-foto{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:46px;align-items:center}
.vt-con-foto.inverti .vt-bloc-img{order:-1}
.vt-bloc-img{margin:0}
.vt-bloc-img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
/* ---- Carte ---- */
.vt-mappa{margin:28px 0 30px;aspect-ratio:16/9;background:var(--vt-papier)}
.vt-mappa iframe{width:100%;height:100%;border:0;display:block}
/* ---- Team 2 + 2 + 1 ---- */
.vt-griglia.vt-team{grid-template-columns:repeat(2,minmax(0,1fr))}
.vt-team .vt-scheda:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 13px)}
/* ---- Hero calendario ---- */
.vt-hero-cal{flex-direction:column;gap:22px}
.vt-hero-eventi{position:relative;z-index:2;color:#fff;text-align:center;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
.vt-he-t{display:block;font-weight:700;font-size:clamp(48px,7.5vw,118px);line-height:.95;letter-spacing:-.02em}
.vt-he-s{display:block;font-size:clamp(16px,1.9vw,28px);margin-top:10px;opacity:.95}
.vt-hero-cal .vt-hero-logo{filter:none}
@media (max-width:820px){
  .vt-bloc.vt-con-foto{grid-template-columns:1fr;gap:24px}
  .vt-con-foto .vt-bloc-img{order:-1}
  .vt-bloc-img img{aspect-ratio:4/3}
  .vt-griglia.vt-team{grid-template-columns:1fr}
  .vt-team .vt-scheda:last-child:nth-child(odd){width:auto}
  .vt-mappa{aspect-ratio:4/3}
  .vt-hero-cal{gap:12px}
}
.vt-hero-nologo .vt-hero-logo{display:none}
.vt-hero-basso{align-items:flex-end}
.vt-hero-basso .vt-hero-logo{margin-bottom:3.5%}
.vt-mappa-btn{width:100%;height:100%;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(rgba(35,31,32,.55),rgba(35,31,32,.55)),url(/foto/hero-location-1400.webp) center/cover;color:#fff;font-family:var(--vt-texte)}.vt-mappa-t{font-family:var(--vt-label);letter-spacing:.2em;text-transform:uppercase;font-size:14px;border:1px solid #fff;padding:12px 22px}.vt-mappa-s{font-size:12px;opacity:.85}
.vt-pie-fine a{color:inherit}
.vt-privacy h3{font-family:var(--vt-display);font-weight:400;font-size:22px;margin:26px 0 6px}.vt-privacy p{max-width:760px}
