:root{--red:#7A1022;--red2:#5c0b19;--black:#141414;--grey:#6b6b6b;--light:#f4f4f4;--line:#e3e3e3;--white:#fff}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Poppins',sans-serif;color:var(--black);background:var(--white);line-height:1.6}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5vw;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--red)}
.brand img{height:56px}
#menu{display:flex;gap:28px;font-size:14px;font-weight:500}
#menu a:hover{color:var(--red)}
.nav-right{display:flex;gap:10px;align-items:center}
.nav select{border:1px solid var(--red);color:var(--red);background:#fff;border-radius:999px;padding:6px 12px;font:500 13px Poppins}
.burger{display:none;background:none;border:0;font-size:24px;color:var(--red);cursor:pointer}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:72px 5vw;color:#fff;background:linear-gradient(110deg,rgba(20,20,20,.94) 35%,rgba(122,16,34,.88)),url('https://images.unsplash.com/photo-1597212618440-806262de4f6b?w=1600') center/cover}
.tag{color:#e8b4bd;font-weight:500;margin-bottom:14px}
.hero h1{font-size:clamp(34px,5vw,60px);line-height:1.1;font-weight:600;margin-bottom:20px;max-width:14em}
.hero-text>p:not(.tag){color:#ddd;max-width:30em;margin-bottom:28px}
.btn{display:inline-block;background:var(--red);color:#fff;border:0;border-radius:10px;padding:14px 28px;font:600 15px Poppins;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--red2)}
.hero .btn{background:#fff;color:var(--red)}
.hero .btn:hover{background:var(--light)}
.card{background:#fff;color:var(--black);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.card h2{font-size:22px;color:var(--red)}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--grey)}
input,select{font:400 14px Poppins;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:var(--black);background:#fff;width:100%}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.summary{background:var(--light);border-left:4px solid var(--red);padding:10px 14px;border-radius:8px;font-size:14px}
.error{color:#b00020;font-size:13px;min-height:0}
.section{padding:84px 5vw}
.section h2{font-size:clamp(28px,3.5vw,40px);font-weight:600;color:var(--red)}
.sub{color:var(--grey);max-width:40em;margin:8px 0 28px}
.tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.tabs button{border:1px solid var(--line);background:#fff;padding:10px 24px;border-radius:999px;font:500 14px Poppins;cursor:pointer}
.tabs button.active{background:var(--red);border-color:var(--red);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px}
.car{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .25s}
.car:hover{box-shadow:0 16px 40px rgba(0,0,0,.12)}
.car img{width:100%;height:180px;object-fit:cover;background:var(--light)}
.car-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.car h3{font-size:18px}
.specs{display:flex;flex-wrap:wrap;gap:8px}
.specs span{background:var(--light);border-radius:999px;padding:4px 12px;font-size:12px;color:#333}
.price{margin-top:auto;display:flex;justify-content:space-between;align-items:end}
.price strong{font-size:22px;color:var(--red)}
.price small{color:var(--grey)}
.car .btn{padding:10px 18px;font-size:14px}
.dark{background:var(--black);color:#fff}
.dark .sub{color:#bbb}
.dark h2{color:#fff}
.vip-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.check{list-style:none;padding:0;display:grid;gap:10px}
.check li::before{content:"✓";color:#e8b4bd;margin-right:10px}
#map{height:420px;border-radius:18px;border:1px solid var(--line);z-index:1}
.hint{color:var(--grey);font-size:13px;margin-top:10px}
footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px 5vw;background:var(--red);color:#fff;font-size:14px}
footer img{height:36px}
@media(max-width:860px){
 .hero,.vip-wrap{grid-template-columns:1fr}
 .burger{display:block}
 #menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line)}
 #menu.open{display:flex}
 #menu a{padding:14px 5vw;border-top:1px solid var(--line)}
 .brand span{display:none}
 .row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.wa-top{
  display:inline-flex; align-items:center; gap:8px;
  background:none; color:var(--red); text-decoration:none;
  font-weight:600; font-size:14px;
  padding:0;
  white-space:nowrap;
  flex-shrink:0;
  transition:color .15s;
}
.wa-top:hover{ color:var(--red2); }
@media (max-width:640px){
  .wa-top span{ display:none; }
}

/* ===== Nouvelles sections ===== */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}
.alt{background:var(--light)}
.mt{margin-top:64px}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.feat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}
.feat .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#f6e9ec}
.feat .ico svg{width:28px;height:28px;stroke:var(--red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feat h3{margin:10px 0 6px;font-size:17px}
.feat p,.step p{color:var(--grey);font-size:14px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:24px;counter-reset:s}
.step{background:#fff;border-radius:18px;padding:26px;border-top:4px solid var(--red)}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-weight:600;margin-bottom:12px}
.step h3{font-size:17px;margin-bottom:4px}
.faq{max-width:820px;display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:16px 20px;background:#fff}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--grey);margin-top:10px;font-size:14px}
.extras{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;gap:6px;min-width:0}
.extras legend{font-size:13px;font-weight:500;color:var(--grey);padding:0 6px}
.chk{flex-direction:row;align-items:center;gap:10px;color:var(--black);font-weight:400}
.chk input{width:auto}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

.vip-img{width:100%;height:300px;object-fit:cover;border-radius:18px;margin-top:28px;background:#222}
.swipe-hint{display:none}
@media(max-width:640px){
 .grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:0 -5vw;padding:4px 5vw 16px;scroll-padding:0 5vw;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .grid::-webkit-scrollbar{display:none}
 .grid .car{flex:0 0 82%;scroll-snap-align:center}
 .swipe-hint{display:block;text-align:center;color:var(--grey);font-size:13px;margin-top:4px}
}

/* ===== Avis : défilement infini vers la droite ===== */
.avis-marquee{overflow:hidden;margin:0 -5vw;padding:6px 0 10px}
.avis-track{display:flex;width:max-content;animation:avis-right 40s linear infinite}
.avis-marquee:hover .avis-track{animation-play-state:paused}
.avis-group{display:flex}
.avis-group blockquote{width:340px;margin-right:22px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.avis-group blockquote p{font-size:15px;color:var(--black)}
.avis-group cite{font-style:normal;font-size:13px;font-weight:500;color:var(--red)}
@keyframes avis-right{from{transform:translateX(-25%)}to{transform:translateX(0)}}
@media(max-width:640px){
 .avis-group blockquote{width:260px;margin-right:16px;padding:20px}
}
@media(prefers-reduced-motion:reduce){
 .avis-track{animation:none}
 .avis-marquee{overflow-x:auto}
}

/* ===== Instagram (footer) ===== */
.insta{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);color:#fff;transition:background .2s,color .2s}
.insta:hover{background:#fff;color:var(--red)}
.insta svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* ===== Avis : drapeau + étoiles ===== */
.avis-group blockquote{width:360px;gap:14px}
.avis-head{display:flex;align-items:center;gap:12px;direction:ltr}
.flag{width:30px;height:20px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.who{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.who cite{font-style:normal;font-weight:600;font-size:14px;color:var(--black)}
.who span{font-size:12px;color:var(--grey)}
.stars{display:flex;gap:2px;margin-left:auto}
.stars svg{width:16px;height:16px;fill:#f5a623}
.stars svg.off{fill:#ddd}
.avis-group blockquote p[dir="rtl"]{text-align:right;font-size:16px;line-height:1.8;font-family:'Segoe UI',Tahoma,'Noto Sans Arabic',Arial,sans-serif}
@media(max-width:640px){
 .avis-group blockquote{width:285px}
}