/* Phase 2 — parcours simplifié (fiche voiture, galerie, formulaire court), langues, RTL */

[hidden]{display:none!important}
section[id]{scroll-margin-top:84px}

/* ---------- search card (3 champs) ---------- */
.search-card{grid-template-columns:1fr 1fr 1.15fr auto}
@media(max-width:980px){.search-card{grid-template-columns:1fr 1fr}.search-card .field:nth-child(3){grid-column:1/-1}}

/* ---------- language menu ---------- */
.lang{position:relative}
.lang-btn{
  display:inline-flex;align-items:center;gap:.4rem;height:46px;padding:0 .95rem;border-radius:100px;
  border:1.5px solid rgba(255,255,255,.25);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.08em;
  transition:background .3s,border-color .3s
}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}
.lang-menu{
  position:absolute;top:calc(100% + .55rem);inset-inline-end:0;min-width:168px;padding:.4rem;list-style:none;
  background:var(--ink-2);border:1px solid var(--line-dark);border-radius:16px;box-shadow:var(--shadow-lg);z-index:60
}
.lang-menu button{
  width:100%;display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-radius:11px;
  color:#fff;font-size:.92rem;font-weight:600;text-align:start
}
.lang-menu button:hover{background:rgba(255,255,255,.08)}
.lang-menu button[aria-checked="true"]{background:rgba(255,75,18,.18);color:#fff;font-weight:800}
.nav-wa{padding:.8rem 1.3rem}
@media(max-width:820px){.nav-wa{display:none}.lang-btn{height:46px}}

/* ---------- fleet ---------- */
.sample-note{
  margin:0 0 1.4rem;padding:.8rem 1.05rem;border:1px dashed var(--line);border-radius:12px;
  font-size:.86rem;font-weight:600;color:var(--muted);background:rgba(255,255,255,.55)
}
.fleet-count{margin:1.5rem 0 1.25rem;font-size:.875rem;font-weight:700;color:var(--muted)}
.fleet-empty{padding:3rem 1rem;text-align:center;color:var(--muted);font-weight:600}
.vcard-media{display:block}
.vcard-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.15rem;flex-wrap:wrap}
.vcard-price-txt{font-size:.86rem;font-weight:700;color:var(--muted)}
.vcard-actions .btn{width:100%}

/* ---------- car page ---------- */
#car-view{padding:calc(var(--header-h,76px) + 1.6rem) 0 clamp(3.5rem,8vw,6rem);background:var(--cream);min-height:70vh}
.detail .back{display:inline-flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:800;letter-spacing:.04em;color:var(--ink);margin-bottom:1.6rem}
.detail .back .arr{width:15px;height:15px;transform:scaleX(-1)}
.detail .back:hover{color:var(--accent)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,3.2rem);align-items:start}

.gallery{position:relative;min-width:0}
.g-track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius-lg);
  background:#15171c;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain
}
.g-track::-webkit-scrollbar{display:none}
.g-slide{flex:0 0 100%;scroll-snap-align:center;display:block;aspect-ratio:3/2;cursor:zoom-in;background:#15171c}
.g-slide img{width:100%;height:100%;object-fit:cover;display:block}
.g-count{
  position:absolute;top:.9rem;inset-inline-start:.9rem;padding:.35rem .8rem;border-radius:100px;
  background:rgba(11,12,14,.66);color:#fff;font-size:.75rem;font-weight:700;backdrop-filter:blur(8px);pointer-events:none
}
.g-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;margin-top:.7rem}
.g-thumb{aspect-ratio:3/2;border-radius:12px;overflow:hidden;border:2px solid transparent;opacity:.62;transition:.3s;background:#15171c}
.g-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.g-thumb:hover{opacity:.9}
.g-thumb.active{border-color:var(--accent);opacity:1}

.request{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.1rem);box-shadow:var(--shadow-sm);min-width:0}
.request .d-cat{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:.55rem}
.request h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.03em;line-height:1.05}
.d-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin:.95rem 0 1.5rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.d-price{font-weight:800;font-size:.95rem}
.req-form h2{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.req-sub{margin:.35rem 0 1.15rem;color:var(--muted);font-size:.9rem;line-height:1.6}
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.req-grid .hint{font-size:.74rem;color:var(--muted);font-weight:600}
.req-go{width:100%;margin-top:1.3rem;padding:1.05rem 1.4rem}
.req-go[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:auto;box-shadow:none}
.req-go[aria-disabled="true"]:hover{background:var(--accent);color:#fff;transform:none}
.req-note{margin-top:.95rem;font-size:.79rem;line-height:1.65;color:var(--muted)}

@media(max-width:980px){.detail-grid{grid-template-columns:1fr}}
@media(max-width:480px){.req-grid{grid-template-columns:1fr}.g-thumbs{gap:.4rem}}

body.is-car .fab{display:none}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(6,7,9,.96);display:flex;flex-direction:column}
.lb-stage{flex:1;overflow:auto;display:grid;place-items:center;-webkit-overflow-scrolling:touch}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;transition:width .3s}
.lb-stage.zoom{place-items:start}
.lb-stage.zoom img{max-width:none;max-height:none;width:220%;cursor:zoom-out}
.lb-cap{padding:.9rem 1rem 1.1rem;text-align:center;color:rgba(255,255,255,.78);font-size:.85rem;font-weight:600}
.lb-close,.lb-nav{
  position:absolute;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.12);color:#fff;transition:background .3s
}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.24)}
.lb-close{top:1rem;inset-inline-end:1rem}
.lb-nav{top:50%;transform:translateY(-50%)}
.lb-prev{inset-inline-start:1rem}.lb-next{inset-inline-end:1rem}
[dir="rtl"] .lb-nav svg{transform:scaleX(-1)}

/* ---------- footer ---------- */
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-contact li span,.foot-contact li a{color:rgba(255,255,255,.7)}
.foot-contact li a:hover{color:#fff}

/* ---------- RTL / Arabic ---------- */
html[lang="ar"] body{font-family:'Noto Sans Arabic','Manrope',system-ui,sans-serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,
html[lang="ar"] .display,html[lang="ar"] .brand-name,html[lang="ar"] .btn,html[lang="ar"] .chip,
html[lang="ar"] .hero-meta .num,html[lang="ar"] .cov-badge .k,html[lang="ar"] .step .idx,html[lang="ar"] .feature .num-tag,
html[lang="ar"] .ticker-item,html[lang="ar"] .request h1,html[lang="ar"] .req-form h2{
  font-family:'Noto Sans Arabic','Archivo',system-ui,sans-serif
}
html[lang="ar"] .serif{font-family:'Noto Sans Arabic',serif;font-style:normal;font-weight:800}
html[lang="ar"] *{letter-spacing:0!important;text-transform:none!important}
html[lang="ar"] .display,html[lang="ar"] h2.section-title,html[lang="ar"] .cta-band h2{line-height:1.25;font-weight:800}
html[lang="ar"] .display{font-size:clamp(2.7rem,8.4vw,6.2rem)}
html[lang="ar"] .eyebrow,html[lang="ar"] .field label,html[lang="ar"] .form-field label,
html[lang="ar"] .hero-meta .lbl,html[lang="ar"] .cov-badge .l,html[lang="ar"] .vcard-cat{font-size:.82rem;font-weight:700}
html[lang="ar"] .btn{font-size:.95rem;font-weight:700}
html[lang="ar"] .lead,html[lang="ar"] p{line-height:1.9}

[dir="rtl"] .btn .arr,[dir="rtl"] .search-card .arr{transform:scaleX(-1)}
[dir="rtl"] .btn:hover .arr{transform:translateX(-4px) scaleX(-1)}
[dir="rtl"] .detail .back .arr{transform:none}
[dir="rtl"] .feature .num-tag{right:auto;left:1.55rem}
[dir="rtl"] .cta-band .rings{right:auto;left:-90px}
[dir="rtl"] .hero-copy,[dir="rtl"] .hero-lead{text-align:start}
[dir="rtl"] .field input[type="tel"],[dir="rtl"] .form-field input[type="tel"]{text-align:end}
[dir="rtl"] .ticker-track{animation-direction:reverse}

/* mobile header: marque + langue + menu sur 320 px */
@media(max-width:480px){
  .brand-sub{display:none}
  .lang-btn{padding:0 .75rem}
}

[dir="rtl"] .fab{right:auto;left:1.6rem}
html[lang="ar"] .display .line{line-height:1.15}

/* ---------- fiche : description, offres ---------- */
.d-desc{margin:-.4rem 0 1.3rem;color:var(--muted);line-height:1.75;font-size:.95rem}
.d-offers{margin:0 0 1.4rem;padding:.9rem 1rem;border:1.5px solid var(--accent);border-radius:14px;background:var(--accent-soft)}
.d-offers-t{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:.4rem}
.d-offers ul{list-style:none;display:grid;gap:.45rem}
.d-offers li{display:grid;gap:.1rem;font-size:.92rem}
.d-offers li span{font-size:.8rem;color:var(--muted)}
html[lang="ar"] .d-offers-t{letter-spacing:0;text-transform:none;font-size:.82rem}

/* ---------- assistant du site (optionnel) ---------- */
.assist{position:fixed;inset-inline-end:1.2rem;bottom:5.6rem;width:min(380px,calc(100vw - 2.4rem));max-height:min(540px,calc(100vh - 8rem));z-index:830;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}
.assist-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--ink);color:#fff}
.assist-head button{font-size:1.4rem;line-height:1;color:#fff;padding:0 .3rem}
.assist-log{flex:1;overflow-y:auto;padding:.9rem;display:grid;gap:.55rem;align-content:start;min-height:160px}
.msg{padding:.6rem .85rem;border-radius:14px;font-size:.9rem;line-height:1.55;max-width:90%;white-space:pre-wrap}
.msg.bot{background:var(--cream);justify-self:start}
.msg.you{background:var(--ink);color:#fff;justify-self:end}
.msg.proposal{display:grid;gap:.5rem;justify-items:start;background:var(--accent-soft)}
.msg.proposal .link{font-size:.8rem;font-weight:700;text-decoration:underline}
.btn-sm{padding:.55rem 1rem;font-size:.76rem}
.assist-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--line)}
.assist-form input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:100px;padding:.6rem .9rem;font:inherit;outline:none}
.assist-form input:focus{border-color:var(--accent)}
.assist-form .btn{padding:.6rem 1.1rem}
@media(max-width:480px){.assist{bottom:5.2rem}}
