/* ============================================
   GuitareVernon — Vinyl theme (v1)
   Basé sur la maquette mockups/vinyl.html
   ============================================ */

:root{
  --bleu:#3b5f81;
  --bleu-fonce:#253f57;
  --bleu-encre:#1a2f44;
  --moutarde:#d4a437;
  --moutarde-clair:#e8bd5a;
  --rouille:#b8502c;
  --rouille-clair:#d26a3e;
  --creme:#faf3e0;
  --creme-fonce:#f0e6cb;
  --encre:#1a1612;
  --gris:#6a6258;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
section[id]{scroll-margin-top:80px}
body{
  font-family:'Work Sans',sans-serif;
  background:var(--creme);
  color:var(--encre);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse at top, rgba(212,164,55,.08), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .05 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)'/%3E%3C/svg%3E");
}
.v-serif{font-family:'Playfair Display',serif}
.v-moutarde{color:var(--moutarde)}

/* ============================================
   NAV
   ============================================ */
.v-nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:28px 40px;
  border-bottom:1px solid rgba(26,22,18,.12);
  position:sticky;top:0;z-index:20;
  background:rgba(250,243,224,.95);backdrop-filter:blur(8px);
}
.v-logo{
  font-family:'Playfair Display',serif;font-weight:900;font-size:24px;
  letter-spacing:-.01em;color:var(--encre);text-decoration:none;
}
.v-logo em{color:var(--rouille);font-style:italic;font-weight:500}
.v-logo:hover{text-decoration:none}
.v-clef{
  font-family:'Noto Music','Segoe UI Symbol','Apple Symbols','Lucida Grande',serif;
  font-weight:normal;font-style:normal;
  font-size:1.6em;line-height:1;
  color:var(--rouille);
  vertical-align:-0.15em;
  margin-right:4px;
  display:inline-block;
}
.v-menu{
  display:flex;gap:32px;list-style:none;align-items:center;
}
.v-menu li{padding:0;border:none}
.v-menu li::before{display:none}
.v-menu a{
  display:inline-block;
  color:var(--encre);text-decoration:none;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;padding:6px 0;position:relative;
  transform-origin:center bottom;
  transition:color .2s ease, transform .25s ease;
}
.v-menu a:hover{
  color:var(--rouille);text-decoration:none;
  transform:scale(1.2);
}
.v-menu a.active{color:var(--rouille)}
.v-menu a.active::after{
  content:"";position:absolute;bottom:-2px;left:0;right:0;
  height:2px;background:var(--moutarde);
}

/* ============================================
   HERO (home)
   ============================================ */
.v-hero{
  padding:100px 40px 80px;max-width:1100px;margin:0 auto;
}
.v-hero-text{max-width:800px}
.v-kicker{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:22px;color:var(--rouille);margin-bottom:16px;
}
.v-artist{
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  font-size:16px;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--bleu-fonce);
  margin-bottom:12px;
}
.v-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(60px,10vw,130px);
  line-height:.92;letter-spacing:-.02em;color:var(--bleu-fonce);
}
.v-hero h1 em{font-style:italic;color:var(--rouille);font-weight:500}
.v-lead{font-size:18px;color:#3a3530;margin:32px 0;max-width:480px}
.v-hero-buttons{display:flex;gap:16px;flex-wrap:wrap}

.v-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:17px 34px;
  text-decoration:none;
  font-family:'Work Sans',sans-serif;font-weight:500;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  border-radius:100px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, color .25s ease,
             border-color .25s ease, box-shadow .3s ease;
  white-space:nowrap;
  line-height:1;
}
.v-btn::after{
  content:"→";
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:18px;font-weight:400;
  transition:transform .3s ease;
  display:inline-block;margin-top:-1px;
}
.v-btn:hover{text-decoration:none;transform:translateY(-2px)}
.v-btn:hover::after{transform:translateX(5px)}
.v-btn:active{transform:translateY(0)}

.v-btn-primary{
  background:var(--bleu-fonce);color:var(--creme);
  border-color:var(--bleu-fonce);
  box-shadow:0 10px 24px -10px rgba(37,63,87,.55);
}
.v-btn-primary:hover{
  background:var(--rouille);color:var(--creme);
  border-color:var(--rouille);
  box-shadow:0 18px 36px -10px rgba(184,80,44,.55);
}

.v-btn-ghost{
  background:transparent;color:var(--bleu-fonce);
  border-color:var(--bleu-fonce);
}
.v-btn-ghost:hover{
  background:var(--bleu-fonce);color:var(--creme);
  border-color:var(--bleu-fonce);
  box-shadow:0 14px 28px -10px rgba(37,63,87,.5);
}

/* CTA après tracklist */
.v-tracks-cta{
  display:flex;gap:16px;flex-wrap:wrap;justify-content:center;
  margin-top:60px;padding-top:40px;
  border-top:1px dotted rgba(26,22,18,.2);
}


/* ============================================
   TRACKLIST
   ============================================ */
.v-tracklist{padding:50px 40px 90px;max-width:1200px;margin:0 auto}
.v-track-head{
  display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:60px;align-items:end;
}
.v-side{
  font-family:'Playfair Display',serif;font-style:italic;
  color:var(--rouille);font-size:20px;margin-bottom:8px;
}
.v-track-head h2{
  font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,68px);
  line-height:1;color:var(--bleu-fonce);
}
.v-track-head h2 em{color:var(--rouille);font-weight:500}
.v-intro{font-size:17px;color:#3a3530;line-height:1.75}
.v-intro a{color:var(--rouille);text-decoration:underline;text-underline-offset:3px}
.v-intro a:hover{color:var(--bleu)}

.v-tracks{list-style:none;padding:0;margin:0}
.v-track{
  display:grid;grid-template-columns:60px 1fr auto;gap:30px;align-items:center;
  padding:26px 0;border-top:1px solid rgba(26,22,18,.12);
  transition:padding .3s;
}
.v-track:last-child{border-bottom:1px solid rgba(26,22,18,.12)}
.v-track:hover{padding-left:20px}
.v-track-num{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:26px;color:var(--rouille);
}
.v-track-title{
  font-family:'Playfair Display',serif;font-size:28px;
  color:var(--bleu-fonce);margin-bottom:4px;
}
.v-track-desc{font-size:14px;color:#6a6258}
.v-track-desc .has-preview{
  color:var(--rouille);cursor:pointer;
  border-bottom:1px dotted var(--rouille);
  text-decoration:none;transition:color .2s, border-color .2s;
}
.v-track-desc .has-preview:hover{color:var(--bleu);border-color:var(--bleu)}
.v-track-year{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:18px;color:#8a8278;
}

/* ============================================
   POCHETTES (cours)
   ============================================ */
.v-pochettes{background:var(--bleu-fonce);color:var(--creme);padding:60px 40px 110px}
.v-pochettes-inner{max-width:1200px;margin:0 auto}
.v-pochettes-head{text-align:center;margin-bottom:60px}
.v-pochettes-head .v-side{color:var(--moutarde)}
.v-pochettes-head h2{
  font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,64px);
  color:var(--creme);line-height:1;
}
.v-pochettes-head h2 em{color:var(--moutarde);font-style:italic;font-weight:500}
.v-pochettes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}
.v-pochette{transition:transform .3s}
.v-pochette:hover{transform:translateY(-10px)}
.v-pochette-art{
  aspect-ratio:1/1;
  background-color:var(--rouille);
  background-size:cover;background-position:center;
  border-radius:3px;
  box-shadow:0 30px 50px rgba(0,0,0,.4);
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:28px;
  transition:transform .5s ease;
}
.v-pochette:hover .v-pochette-art{transform:scale(1.02)}
.v-pochette-art::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(37,63,87,.3) 0%, rgba(0,0,0,.1) 40%, rgba(0,0,0,.8) 100%);
}
.v-pochette:nth-child(1) .v-pochette-art::after{background:linear-gradient(180deg, rgba(184,80,44,.35) 0%, rgba(0,0,0,.1) 40%, rgba(0,0,0,.8) 100%)}
.v-pochette:nth-child(2) .v-pochette-art::after{background:linear-gradient(180deg, rgba(212,164,55,.3) 0%, rgba(0,0,0,.1) 40%, rgba(0,0,0,.85) 100%)}
.v-pochette:nth-child(3) .v-pochette-art::after{background:linear-gradient(180deg, rgba(59,95,129,.35) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.85) 100%)}
.v-pochette-art::before{
  content:"";position:absolute;top:20px;right:20px;width:60px;height:60px;
  border-radius:50%;border:2px solid rgba(250,243,224,.5);
  background:radial-gradient(circle, rgba(250,243,224,.2) 0 30%, transparent 30%);
  z-index:1;
}
.v-pochette-art h3{
  font-family:'Playfair Display',serif;font-size:36px;line-height:1;
  color:var(--creme);position:relative;z-index:2;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.v-pochette-info{padding:20px 4px}
.v-pochette-info .v-tag{
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--moutarde);margin-bottom:8px;
}
.v-pochette-info p{font-size:15px;color:rgba(250,243,224,.75);line-height:1.7}

/* ============================================
   SESSION CTA
   ============================================ */
.v-session{padding:120px 40px;text-align:center;background:linear-gradient(180deg,var(--creme) 0%,var(--creme-fonce) 100%)}
.v-session-inner{max-width:800px;margin:0 auto}
.v-session .v-side{color:var(--rouille)}
.v-session h2{
  font-family:'Playfair Display',serif;font-size:clamp(44px,7vw,90px);
  line-height:1;color:var(--bleu-fonce);margin-bottom:16px;
}
.v-session h2 em{color:var(--rouille);font-style:italic;font-weight:500}
.v-session p{font-size:19px;color:#3a3530;margin-bottom:40px}
.v-session .v-btn-primary{background:var(--rouille);padding:20px 44px;font-size:15px}
.v-session .v-btn-primary:hover{background:var(--bleu-fonce)}

/* ============================================
   SECTIONS GÉNÉRIQUES (tarifs, plan, partenaires)
   ============================================ */
.v-section-inner{max-width:1200px;margin:0 auto}
.v-section-head{margin-bottom:50px}
.v-h3{font-size:clamp(32px,4vw,48px);color:var(--bleu-fonce);line-height:1;margin-bottom:24px}
.v-h3 em{color:var(--rouille);font-style:italic;font-weight:500}

/* ============================================
   TARIFS
   ============================================ */
.v-tarifs{padding:60px 40px 110px;background:var(--creme)}
.v-tarifs-grid{
  display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start;
}
.v-price-card{
  background:var(--bleu-fonce);color:var(--creme);
  padding:48px 36px;border-radius:6px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
  position:sticky;top:110px;
}
.v-price-card .v-tag{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--moutarde);font-weight:600;margin-bottom:12px;
}
.v-price{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.v-price-amount{
  font-family:'Playfair Display',serif;font-size:96px;line-height:1;
  color:var(--creme);font-weight:700;letter-spacing:-.03em;
}
.v-price-cur{
  font-family:'Playfair Display',serif;font-size:48px;
  color:var(--moutarde);font-weight:500;
}
.v-price-sub{
  font-size:14px;color:rgba(250,243,224,.75);margin-bottom:28px;
  font-style:italic;
}
.v-price-features{list-style:none;padding:0;margin:0 0 32px}
.v-price-features li{
  position:relative;padding:10px 0 10px 24px;
  border-top:1px solid rgba(250,243,224,.12);
  font-size:14px;color:rgba(250,243,224,.9);
}
.v-price-features li:first-child{border-top:none}
.v-price-features li::before{
  content:"●";position:absolute;left:4px;top:10px;
  color:var(--moutarde);font-size:10px;
}
.v-price-features b{color:var(--creme);font-weight:600}
.v-price-card .v-btn-primary{
  background:var(--moutarde);color:var(--bleu-fonce);
  border-color:var(--moutarde);width:100%;text-align:center;
}
.v-price-card .v-btn-primary:hover{
  background:var(--creme);border-color:var(--creme);
}

.v-modalites p{font-size:16px;color:#3a3530;line-height:1.75;margin-bottom:14px}
.v-modalites b{color:var(--bleu-fonce);font-weight:600}
.v-modalites .v-h3{margin-bottom:20px}
.v-cal{list-style:none;padding:0;margin:20px 0 24px}
.v-cal li{
  padding:12px 0 12px 24px;position:relative;
  border-top:1px dotted rgba(26,22,18,.15);
  font-size:15px;color:#3a3530;
}
.v-cal li:last-child{border-bottom:1px dotted rgba(26,22,18,.15)}
.v-cal li::before{
  content:"♪";position:absolute;left:0;top:12px;
  color:var(--moutarde);font-size:14px;
}
.v-cal b{color:var(--bleu-fonce);font-weight:600;margin-right:4px}
.v-warning{
  background:rgba(184,80,44,.08);
  border-left:3px solid var(--rouille);
  padding:14px 18px;border-radius:2px;
  font-size:14px;color:var(--rouille);
}

/* ============================================
   PLAN
   ============================================ */
.v-plan{padding:60px 40px 110px;background:var(--creme-fonce)}
.v-plan-grid{
  display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center;
}
.v-plan h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(40px,5vw,64px);
  line-height:1;color:var(--bleu-fonce);margin-bottom:24px;
}
.v-plan h2 em{color:var(--rouille);font-style:italic;font-weight:500}
.v-address{
  font-style:normal;font-family:'Playfair Display',serif;
  font-size:24px;color:var(--bleu-fonce);line-height:1.5;
  margin-bottom:16px;
}
.v-address-extra{
  font-size:15px;color:#6a6258;margin-bottom:28px;font-style:italic;
}
.v-map-wrap{
  border-radius:6px;overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
  aspect-ratio:4/3;
  border:1px solid rgba(26,22,18,.1);
}
.v-map-wrap iframe{
  width:100%;height:100%;border:0;display:block;
}

/* ============================================
   CONTACT FORM
   ============================================ */
.v-contact{
  padding:60px 40px 120px;
  background:linear-gradient(180deg,var(--creme) 0%,var(--creme-fonce) 100%);
}
.v-contact-inner{max-width:760px;margin:0 auto;text-align:center}
.v-contact-head{margin-bottom:50px}
.v-contact .v-side{color:var(--rouille)}
.v-contact h2{
  font-family:'Playfair Display',serif;font-size:clamp(44px,7vw,80px);
  line-height:1;color:var(--bleu-fonce);margin-bottom:20px;
}
.v-contact h2 em{color:var(--rouille);font-style:italic;font-weight:500}
.v-contact-lead{font-size:18px;color:#3a3530;max-width:520px;margin:0 auto}

.v-form{
  background:var(--creme);
  padding:44px 40px;border-radius:6px;
  text-align:left;
  border:1px solid rgba(26,22,18,.1);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.2);
}
/* Honeypot antispam — invisible pour humains, visible pour bots */
.v-hp{
  position:absolute;left:-9999px;top:-9999px;
  width:1px;height:1px;
  overflow:hidden;opacity:0;
  pointer-events:none;
}
.v-form-row{margin-bottom:22px}
.v-form-row label{
  display:block;font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris);font-weight:600;
  margin-bottom:8px;
}
.v-form-row input,
.v-form-row textarea{
  width:100%;
  font-family:'Work Sans',sans-serif;font-size:16px;
  padding:14px 16px;
  background:var(--creme-fonce);
  border:1px solid rgba(26,22,18,.15);
  border-radius:3px;color:var(--encre);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.v-form-row input:focus,
.v-form-row textarea:focus{
  outline:none;border-color:var(--rouille);background:#fff;
  box-shadow:0 0 0 3px rgba(184,80,44,.12);
}
.v-form-row textarea{resize:vertical;min-height:140px;font-family:inherit}
.v-form-submit{
  display:flex;justify-content:space-between;align-items:center;
  gap:20px;flex-wrap:wrap;margin-top:28px;
  padding-top:22px;border-top:1px dotted rgba(26,22,18,.15);
}
.v-form-submit button.v-btn{
  font-family:'Work Sans',sans-serif;cursor:pointer;
}
.v-tel-inline{
  font-family:'Playfair Display',serif;font-style:italic;
  color:var(--rouille);font-size:18px;text-decoration:none;
}
.v-tel-inline:hover{color:var(--bleu);text-decoration:underline}

.v-form-alert{
  padding:18px 22px;border-radius:4px;margin-bottom:24px;
  font-size:15px;
}
.v-form-alert p{margin:0}
.v-form-ok{background:rgba(212,164,55,.15);border-left:3px solid var(--moutarde);color:var(--bleu-fonce)}
.v-form-err{background:rgba(184,80,44,.12);border-left:3px solid var(--rouille);color:var(--rouille)}
.v-form-alert a{color:inherit;font-weight:600;text-decoration:underline}

/* ============================================
   PARTENAIRES
   ============================================ */
.v-partenaires{padding:50px 40px 40px;background:var(--creme-fonce)}
.v-partenaires .v-section-inner{text-align:center}
.v-partenaires .v-h3{margin-bottom:28px}
.v-links{list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px}
.v-links li{padding:0;border:none}
.v-links li::before{display:none}
.v-links a{
  color:var(--bleu-fonce);font-size:15px;
  text-decoration:none;border-bottom:1px dotted var(--rouille);
  padding-bottom:2px;transition:color .2s, border-color .2s;
}
.v-links a:hover{color:var(--rouille);border-color:var(--bleu-fonce)}

/* ============================================
   FOOTER
   ============================================ */
.v-footer{
  background:var(--encre);color:var(--creme-fonce);padding:40px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  font-size:13px;letter-spacing:.03em;
}
.v-footer em{font-family:'Playfair Display',serif;color:var(--moutarde);font-style:italic}
.v-footer a,
.v-footer a:link,
.v-footer a:visited,
.v-footer a:active{
  color:var(--moutarde)!important;
  text-decoration:none!important;
  transition:color .2s;
}
.v-footer a:hover,
.v-footer a:focus{
  color:var(--creme)!important;
  text-decoration:none!important;
}
/* Neutralise le style par défaut iOS/Safari sur tel: links */
a[href^="tel:"]{
  color:inherit;
  text-decoration:none;
}

/* ============================================
   PAGES SATELLITES — wrapper .contenu
   ============================================ */
.contenu{
  max-width:900px;margin:60px auto;
  background:var(--creme-fonce);padding:50px 48px;
  border-radius:6px;
  box-shadow:0 20px 50px -30px rgba(0,0,0,.15);
  border:1px solid rgba(26,22,18,.08);
  color:var(--encre);line-height:1.75;
}
.contenu p{margin:0 0 1.2em;color:#2a2520}
.contenu a{color:var(--rouille);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.contenu a:hover{color:var(--bleu)}
.contenu img{max-width:100%;height:auto;border-radius:4px;margin:10px 0}
.contenu iframe{
  width:100%;min-height:450px;border:none;border-radius:4px;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.25);margin-top:8px;
}

.montitre{
  font-family:'Playfair Display',serif;
  font-size:clamp(28px,4vw,44px);color:var(--bleu-fonce);
  line-height:1.1;margin:0 0 28px;font-weight:700;
  position:relative;padding-bottom:18px;
}
.montitre::after{
  content:"";position:absolute;bottom:0;left:0;
  width:60px;height:3px;background:var(--moutarde);
}
.contenu .montitre + br{display:none}

.contenu ul{list-style:none;padding:0;margin:0 0 1.6em}
.contenu ul li{
  position:relative;padding:10px 0 10px 28px;color:#2a2520;
  border-bottom:1px dotted rgba(26,22,18,.15);
}
.contenu ul li:last-child{border-bottom:none}
.contenu ul li::before{
  content:"●";position:absolute;left:4px;top:10px;
  color:var(--moutarde);font-size:12px;
}
.contenu ul li b{color:var(--bleu-fonce)}

/* Formulaire */
.contenu form{margin-top:8px}
.contenu form table{width:100%;border-collapse:separate;border-spacing:0 14px}
.contenu form table td{
  padding:6px 12px 6px 0;vertical-align:top;
  font-size:14px;color:var(--gris);text-transform:uppercase;
  letter-spacing:.1em;font-weight:500;
}
.contenu form table td:first-child{width:110px}
.contenu form textarea{
  width:100%;max-width:100%;
  font-family:'Work Sans',sans-serif;font-size:15px;padding:12px 14px;
  background:var(--creme);border:1px solid rgba(26,22,18,.15);
  border-radius:4px;color:var(--encre);resize:vertical;
  transition:border-color .2s, box-shadow .2s;
}
.contenu form textarea:focus{
  outline:none;border-color:var(--rouille);
  box-shadow:0 0 0 3px rgba(184,80,44,.15);
}
.contenu form input[type="submit"]{
  background:var(--bleu-fonce);color:var(--creme);border:none;cursor:pointer;
  padding:14px 36px;border-radius:2px;
  font-family:'Work Sans',sans-serif;font-weight:600;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s, transform .2s;
}
.contenu form input[type="submit"]:hover{background:var(--rouille);transform:translateY(-1px)}

/* Anciens styles populart neutralisés */
#menu,#left,#haut,#page,#content,#siteInfo,#titre,
.contener,.cadreB,.labeltitre,.nom,.diplome,.lieu,
.hautgauche,.hautdroit,.basgauche,.basdroit{all:unset;display:block}
.labeltitre,#menu,#siteInfo{display:none}

/* has-preview */
.has-preview{position:relative}
.has-preview .preview{
  display:none;position:fixed;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:#fff;border:1px solid var(--encre);padding:6px;
  z-index:9999;width:600px;max-width:90%;max-height:80%;
  box-sizing:border-box;overflow:auto;border-radius:4px;
  box-shadow:0 40px 80px rgba(0,0,0,.4);
}
.has-preview .preview img{width:100%;height:auto;display:block;margin:0}
.has-preview:hover .preview,
.has-preview:focus-within .preview{display:block}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:900px){
  html{scroll-padding-top:120px}
  section[id]{scroll-margin-top:120px}
  .v-nav{padding:14px 20px;flex-wrap:wrap;gap:10px}
  .v-menu{gap:14px;flex-wrap:wrap;justify-content:flex-start;width:100%}
  .v-menu a{font-size:11px;letter-spacing:.05em}
  .v-hero{padding:60px 20px 40px}
  .v-track-head{grid-template-columns:1fr;gap:30px}
  .v-tracklist,.v-pochettes,.v-session,
  .v-tarifs,.v-plan,.v-contact,.v-partenaires{padding:70px 20px}
  .v-track{grid-template-columns:40px 1fr;gap:16px}
  .v-track-year{display:none}
  .v-tarifs-grid,.v-plan-grid{grid-template-columns:1fr;gap:40px}
  .v-price-card{position:static;top:auto}
  .v-form{padding:30px 22px}
  .v-form-submit{flex-direction:column;align-items:stretch}
  .v-form-submit .v-btn{width:100%;text-align:center}
  .v-form-submit .v-tel-inline{text-align:center}
  .v-footer{flex-direction:column;gap:10px;text-align:left}
  .contenu{margin:30px 20px;padding:32px 24px}
  .contenu form table td:first-child{width:auto;display:block;padding-bottom:4px}
  .contenu form table,
  .contenu form tbody,
  .contenu form tr,
  .contenu form td{display:block;width:100%}
}
