/* ── Feuille de style partagée des pages villes — DJ Magic OZ ── */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --gold:#9A6D06;--gold2:#F0C040;
  --dark:#ECE5D7;--dark2:#FFFFFF;--dark3:#FFFFFF;--mid:#E2D9C6;
  --text:#1C1813;--muted:#4E4840;--white:#0F0D09;
}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--dark);color:var(--text);overflow-x:hidden;line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* Zones volontairement sombres */
nav, .vhero, footer, .vmenu{
  --gold:#D4A017;--gold2:#F0C040;--dark:#0A0A0F;--dark2:#12121A;--dark3:#1A1A26;
  --text:#E8E4D8;--muted:#8A8A9A;--white:#FFFFFF;
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;background:rgba(10,10,15,.97);border-bottom:1px solid rgba(212,160,23,.14);max-width:1600px;margin:0 auto;}
.nav-logo img{height:50px;width:auto;filter:drop-shadow(0 2px 8px rgba(212,160,23,.3));}
.nav-links{display:flex;gap:30px;}
.nav-links a{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-cta{background:var(--gold);color:var(--dark);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:10px 20px;border-radius:2px;white-space:nowrap;}
.nav-cta:hover{background:var(--gold2);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);}
.vmenu{display:none;position:fixed;inset:0;z-index:99;background:rgba(10,10,15,.98);flex-direction:column;align-items:center;justify-content:center;gap:26px;}
.vmenu.open{display:flex;}
.vmenu a{font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}
.vmenu a:hover{color:var(--gold);}
.vmenu .m-cta{background:var(--gold);color:var(--dark)!important;padding:14px 32px;border-radius:2px;margin-top:6px;font-weight:700;}

/* HERO */
.vhero{position:relative;padding:150px 48px 70px;background:var(--dark);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;}
.vhero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at 78% 40%,rgba(212,160,23,.10) 0%,transparent 70%);}
.vhero-inner{position:relative;z-index:1;max-width:820px;}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:24px;}
.breadcrumb a{color:var(--gold);}
.breadcrumb span{opacity:.4;}
.vtag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(212,160,23,.4);padding:6px 16px;border-radius:2px;margin-bottom:22px;}
.vhero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,68px);color:var(--white);line-height:1.02;margin-bottom:20px;}
.vhero h1 em{color:var(--gold);font-style:normal;}
.vhero-lead{font-size:18px;font-weight:300;line-height:1.75;color:rgba(232,228,216,.85);max-width:640px;}
.vhero-lead strong{color:var(--white);font-weight:600;}
.vhero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:32px;}
.btn-gold{background:var(--gold);color:var(--dark);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:background .2s;}
.btn-gold:hover{background:var(--gold2);}
.btn-tel{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:var(--white);}
.btn-tel:hover{color:var(--gold);}

/* SECTIONS */
main{max-width:1000px;margin:0 auto;padding:64px 24px 20px;}
.vsection{margin-bottom:56px;}
.vsection h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,4vw,42px);color:var(--white);line-height:1.05;margin-bottom:8px;}
.vsection h2 em{color:var(--gold);font-style:normal;}
.vsection .vsub{font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.vdivider{width:56px;height:3px;background:var(--gold);margin-bottom:26px;}
.vsection p{font-size:16px;font-weight:300;line-height:1.85;color:#211D17;margin-bottom:16px;}
.vsection p strong{color:var(--white);font-weight:600;}

/* Blocs prestation */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px;}
.vcard{background:#fff;border:1px solid rgba(20,16,10,.16);box-shadow:0 3px 16px rgba(30,24,10,.08);padding:24px 22px;}
.vcard h3{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--white);letter-spacing:.5px;margin-bottom:8px;}
.vcard .vc-ico{font-size:26px;margin-bottom:10px;}
.vcard p{font-size:14px;line-height:1.7;color:#3F3931;margin:0;}

/* Liste avantages */
.vlist{list-style:none;display:flex;flex-direction:column;gap:12px;margin:10px 0 0;}
.vlist li{display:flex;gap:12px;font-size:15.5px;color:#211D17;line-height:1.6;}
.vlist li::before{content:'';width:7px;height:7px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:8px;}
.vlist li strong{color:var(--white);}

/* Encadré local */
.vlocal{background:#fff;border-left:4px solid var(--gold);box-shadow:0 3px 16px rgba(30,24,10,.07);padding:22px 26px;}
.vlocal h3{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--white);margin-bottom:10px;letter-spacing:.5px;}
.vlocal p{font-size:15px;line-height:1.8;color:#2A251E;margin:0;}

/* Avis */
.vavis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:10px;}
.vavis-card{background:#fff;border:1px solid rgba(20,16,10,.14);box-shadow:0 3px 14px rgba(30,24,10,.07);padding:22px;}
.vstars{color:var(--gold);font-size:15px;letter-spacing:2px;margin-bottom:10px;}
.vavis-card p{font-size:15px;font-style:italic;color:#181510;line-height:1.65;margin-bottom:12px;}
.vauthor{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#3A342C;}

/* FAQ */
.vfaq details{background:#fff;border:1px solid rgba(20,16,10,.14);margin-bottom:10px;padding:4px 20px;}
.vfaq summary{font-family:'Barlow',sans-serif;font-size:16px;font-weight:600;color:var(--white);padding:14px 0;cursor:pointer;list-style:none;}
.vfaq summary::-webkit-details-marker{display:none;}
.vfaq summary::before{content:'+ ';color:var(--gold);font-weight:700;}
.vfaq details[open] summary::before{content:'– ';}
.vfaq details p{font-size:15px;line-height:1.75;color:#2A251E;padding:0 0 16px;margin:0;}

/* Maillage interne */
.vother{background:#fff;border:1px solid rgba(20,16,10,.12);padding:24px;margin-top:10px;}
.vother h3{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.vother-links{display:flex;flex-wrap:wrap;gap:10px;}
.vother-links a{font-size:13px;font-weight:600;color:var(--gold);border:1px solid rgba(154,109,6,.3);padding:8px 14px;border-radius:2px;transition:all .2s;}
.vother-links a:hover{background:rgba(154,109,6,.08);border-color:var(--gold);}

/* CTA final */
.vcta{background:var(--gold);text-align:center;padding:60px 24px;margin-top:20px;}
.vcta h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,5vw,48px);color:#0A0A0F;margin-bottom:12px;}
.vcta p{font-size:16px;color:rgba(10,10,15,.7);margin-bottom:26px;max-width:560px;margin-left:auto;margin-right:auto;}
.vcta .btn-dark{background:#0A0A0F;color:var(--gold2);font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:15px 34px;border-radius:2px;display:inline-block;}
.vcta .cta-tel{display:block;font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:3px;color:#0A0A0F;margin-top:18px;}

/* FOOTER */
footer{background:var(--dark2);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;border-top:1px solid rgba(255,255,255,.06);}
.footer-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;}
.footer-links a{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.footer-links a:hover{color:var(--gold);}

@media(max-width:820px){
  nav{padding:12px 20px;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .vhero{padding:120px 22px 50px;}
  .vgrid{grid-template-columns:1fr;}
  footer{flex-direction:column;text-align:center;}
}
