/* Page Achat / Revente — public */
body { background:#080808; }

/* HERO */
.ar-hero { background:radial-gradient(ellipse at 75% 50%, rgba(232,0,30,0.07), transparent 60%), var(--bg); padding:70px 0 50px; border-bottom:1px solid var(--bdr); }
.ar-hero-inner { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:center; }
.ar-hero h1 { font-family:var(--fd); font-size:clamp(2.4rem, 5vw, 4rem); font-weight:900; line-height:0.95; letter-spacing:-1.2px; text-transform:uppercase; margin:14px 0 18px; }
.ar-hero h1 em { font-style:italic; color:var(--red); }
.ar-hero-sub { color:var(--muted); font-size:1rem; line-height:1.7; max-width:520px; margin-bottom:26px; }
.ar-hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.ar-trust { display:flex; flex-wrap:wrap; gap:14px; font-size:0.78rem; color:var(--muted); }
.ar-trust span { display:inline-flex; align-items:center; gap:6px; }
.ar-trust i { color:var(--red); }

.ar-hero-stats { display:grid; grid-template-columns:1fr; gap:14px; }
.ar-hero-stats > div { background:var(--bg-1); border:1px solid var(--bdr); border-radius:12px; padding:18px 22px; display:flex; align-items:baseline; justify-content:space-between; gap:14px; transition:border-color .2s; }
.ar-hero-stats > div:hover { border-color:var(--red); }
.ar-hero-stats strong { font-family:var(--fd); font-size:2.4rem; font-weight:900; color:var(--red); letter-spacing:-1px; line-height:1; }
.ar-hero-stats span { font-size:0.74rem; color:var(--muted); text-transform:uppercase; letter-spacing:1.2px; font-weight:700; }

/* STOCK */
.ar-stock { padding:60px 0 50px; }
.ar-stock-head h2 { font-family:var(--fd); font-size:2rem; font-weight:900; text-transform:uppercase; margin-bottom:8px; }
.ar-stock-head p { color:var(--muted); font-size:0.92rem; margin-bottom:24px; }

.ar-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:18px; padding:14px; background:var(--bg-1); border:1px solid var(--bdr); border-radius:12px; }
.ar-search { flex:1; min-width:220px; position:relative; }
.ar-search i { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--dim); font-size:0.84rem; }
.ar-search input { width:100%; padding:11px 14px 11px 38px; background:var(--bg-2); border:1px solid var(--bdr-2); border-radius:8px; color:#fff; font-size:0.88rem; outline:none; transition:border-color .18s; }
.ar-search input:focus { border-color:var(--red); }
.ar-toolbar select { padding:11px 14px; background:var(--bg-2); border:1px solid var(--bdr-2); border-radius:8px; color:#fff; font-size:0.84rem; cursor:pointer; }
.ar-toolbar select:focus { border-color:var(--red); }
.ar-toggle { display:flex; align-items:center; gap:6px; font-size:0.82rem; color:var(--muted); cursor:pointer; padding:0 8px; }
.ar-toggle input { accent-color:var(--red); }
.ar-clear { padding:11px 16px; background:transparent; border:1px solid var(--bdr-2); border-radius:8px; color:var(--muted); font-size:0.82rem; cursor:pointer; transition:all .18s; }
.ar-clear:hover { border-color:var(--red); color:var(--red); }
.ar-count { font-size:0.82rem; color:var(--muted); margin-bottom:14px; font-family:var(--fb); font-weight:600; }

.ar-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:18px; }
.ar-loading { grid-column:1/-1; text-align:center; padding:50px; color:var(--muted); }
.ar-loading i { font-size:1.4rem; color:var(--red); margin-right:8px; }
.ar-empty { grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--muted); }
.ar-empty i { font-size:3rem; color:var(--dim); margin-bottom:14px; opacity:0.4; display:block; }

/* Card véhicule */
.ar-card { background:var(--bg-1); border:1px solid var(--bdr); border-radius:14px; overflow:hidden; transition:all .22s; text-decoration:none; color:inherit; display:block; }
.ar-card:hover { transform:translateY(-3px); border-color:var(--red); box-shadow:0 12px 32px rgba(232,0,30,0.15); }
.ar-card.sold { opacity:0.6; }
.ar-card.sold:hover { opacity:1; }
.ar-card-photo { position:relative; aspect-ratio:16/10; background:#0a0a0a; overflow:hidden; }
.ar-card-photo img { width:100%; height:100%; object-fit:cover; object-position:center 45%; display:block; transition:transform .3s; }
.ar-card:hover .ar-card-photo img { transform:scale(1.04); }
.ar-card-nophoto { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--dim); font-size:3rem; }
.ar-card-tag { position:absolute; top:12px; left:12px; padding:5px 11px; border-radius:6px; font-family:var(--fb); font-size:0.7rem; font-weight:800; text-transform:uppercase; letter-spacing:1.2px; color:#fff; }
.ar-card-tag.sold { background:#0a0a0a; border:1px solid #444; }
.ar-card-tag.reserved { background:#f59e0b; }
.ar-card-discount { position:absolute; top:12px; right:12px; background:var(--red); color:#fff; padding:5px 10px; border-radius:6px; font-family:var(--fd); font-weight:900; font-size:0.92rem; }

.ar-card-body { padding:16px 18px 18px; }
.ar-card-title { font-family:var(--fb); font-size:1.1rem; font-weight:700; color:#fff; line-height:1.2; margin-bottom:3px; }
.ar-card-title span { color:var(--red); }
.ar-card-sub { font-size:0.78rem; color:var(--muted); margin-bottom:12px; }
.ar-card-specs { display:flex; gap:12px; flex-wrap:wrap; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--bdr); font-size:0.74rem; color:var(--muted); }
.ar-card-specs i { color:var(--dim); margin-right:4px; }
.ar-card-foot { display:flex; align-items:baseline; gap:10px; }
.ar-card-old { font-size:0.82rem; color:var(--dim); text-decoration:line-through; }
.ar-card-foot strong { font-family:var(--fd); font-size:1.5rem; font-weight:900; color:var(--red); letter-spacing:-0.5px; }

/* CTA BAND */
.ar-ctas-band { padding:50px 0; background:var(--bg-1); border-top:1px solid var(--bdr); border-bottom:1px solid var(--bdr); }
.ar-cta-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ar-cta-card { background:var(--bg); border:1px solid var(--bdr); border-radius:14px; padding:28px 30px; position:relative; overflow:hidden; }
.ar-cta-card::before { content:''; position:absolute; right:-30mm; top:-30mm; width:80mm; height:80mm; background:radial-gradient(circle, rgba(232,0,30,0.18), transparent 60%); pointer-events:none; }
.ar-cta-icon { width:54px; height:54px; background:rgba(232,0,30,0.1); border:1px solid rgba(232,0,30,0.25); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--red); font-size:1.4rem; margin-bottom:14px; }
.ar-cta-card h3 { font-family:var(--fd); font-size:1.5rem; text-transform:uppercase; margin-bottom:10px; letter-spacing:-0.3px; }
.ar-cta-card p { color:var(--muted); font-size:0.92rem; line-height:1.6; margin-bottom:18px; max-width:420px; }
.ar-cta-card strong { color:var(--off); }

/* PROCESS */
.ar-process { padding:60px 0; }
.ar-process h2 { font-family:var(--fd); font-size:2rem; font-weight:900; text-transform:uppercase; margin-bottom:28px; max-width:620px; line-height:1.05; }
.ar-process h2 em { font-style:italic; color:var(--red); }
.ar-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ar-step { background:var(--bg-1); border:1px solid var(--bdr); border-radius:12px; padding:22px; position:relative; transition:border-color .2s; }
.ar-step:hover { border-color:var(--red); }
.ar-step-n { font-family:var(--fd); font-size:0.84rem; font-weight:800; color:var(--red); letter-spacing:2px; }
.ar-step h4 { font-family:var(--fb); font-size:1.05rem; font-weight:700; margin:8px 0 8px; }
.ar-step p { font-size:0.84rem; color:var(--muted); line-height:1.5; }

/* CONTACT */
.ar-contact-band { padding:60px 0; background:linear-gradient(135deg, rgba(232,0,30,0.04), transparent 70%); border-top:1px solid var(--bdr); }
.ar-contact-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:center; }
.ar-contact-inner h2 { font-family:var(--fd); font-size:1.8rem; text-transform:uppercase; margin-bottom:8px; }
.ar-contact-inner p { color:var(--muted); font-size:0.92rem; }
.ar-contact-cards { display:flex; flex-direction:column; gap:10px; }
.ar-cc { display:flex; align-items:center; gap:14px; padding:14px 18px; background:var(--bg-1); border:1px solid var(--bdr); border-radius:10px; text-decoration:none; color:inherit; transition:all .2s; }
.ar-cc:hover { border-color:var(--red); transform:translateX(4px); }
.ar-cc > i { width:44px; height:44px; background:var(--bg-2); border-radius:9px; display:flex; align-items:center; justify-content:center; color:var(--red); font-size:1.1rem; flex-shrink:0; }
.ar-cc strong { display:block; font-family:var(--fb); font-weight:700; color:#fff; font-size:0.96rem; }
.ar-cc span { display:block; color:var(--muted); font-size:0.76rem; margin-top:2px; }
.ar-cc.red { background:var(--red); border-color:var(--red); }
.ar-cc.red > i { background:#fff; color:var(--red); }
.ar-cc.red strong, .ar-cc.red span { color:#fff; }
.ar-cc.red:hover { background:var(--red-d); }

/* FOOTER */
.ar-foot { padding:24px 0 36px; border-top:1px solid var(--bdr); color:var(--muted); font-size:0.82rem; }
.ar-foot .container { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.ar-foot a { color:var(--off); }
.ar-foot a:hover { color:var(--red); }
.ar-foot strong { color:#fff; }

/* RESPONSIVE */
@media (max-width:980px) {
    .ar-hero-inner { grid-template-columns:1fr; gap:28px; }
    .ar-hero-stats { grid-template-columns:repeat(3,1fr); }
    .ar-hero-stats > div { padding:14px; flex-direction:column; align-items:flex-start; gap:4px; }
    .ar-hero-stats strong { font-size:1.7rem; }
    .ar-cta-row { grid-template-columns:1fr; }
    .ar-steps { grid-template-columns:repeat(2,1fr); }
    .ar-contact-inner { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .ar-hero { padding:50px 0 36px; }
    .ar-hero h1 { font-size:2rem; }
    .ar-stock { padding:40px 0 30px; }
    .ar-stock-head h2 { font-size:1.6rem; }
    .ar-toolbar { gap:8px; }
    .ar-toolbar select, .ar-search input { font-size:0.84rem; padding:10px 12px 10px 36px; }
    .ar-grid { gap:14px; }
    .ar-steps { grid-template-columns:1fr; }
    .ar-cta-card { padding:22px 20px; }
    .ar-cc { padding:12px 14px; }
}
