/*
Theme Name: Sky Business
Description: Thème de la vitrine Sky Business (véhicules et immobilier), blanc dominant, bleu et or du logo. À utiliser avec l'extension « Sky Business – Annonces ».
Version: 1.33.8
Requires at least: 6.4
Requires PHP: 7.4
Author: Sky Business
Text Domain: sky-theme
License: GPL-2.0-or-later
*/

:root {
	color-scheme: light;
	--bg: #ffffff; --surface: #ffffff; --surface-2: #f4f5fa; --fg: #0f1233; --fg-muted: #5c6080; --line: #e4e6f0;
	--accent: #1a1a9e; --accent-ink: #010080; --accent-fg: #ffffff; --accent-soft: #eef0fc;
	--gold: #f2b000; --gold-soft: #fdf1cc; --gold-ink: #2a1d00;
	--wa: #128c4a; --wa-soft: #e3f6eb;
	--ok: #17794a; --ok-soft: #dcf3e6; --warn: #9a5b00; --warn-soft: #fbecd0; --crit: #b3261e; --crit-soft: #fbe0de; --off: #5c6080; --off-soft: #eceef4;
	--car-bg1: #f3f5fc; --car-bg2: #e6eaf8; --car-body: #c9d0ec; --car-win: #ffffff; --car-wheel: #8e97c4;
	--font-display: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
	--font-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--radius: 16px;
	--shadow: 0 2px 10px rgba(15, 18, 51, .06);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: 15px; line-height: 1.5; padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
img { max-width: 100%; height: auto; }
a { color: var(--accent); }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--font-display); letter-spacing: -.01em; line-height: 1.2; text-wrap: balance; }
h1 { font-size: clamp(24px, 4.5vw, 34px); margin: 0 0 6px; }
h2 { font-size: 20px; margin: 0; }
.wrap { max-width: 1440px; margin-inline: auto; padding-inline: 16px; }
.num { font-variant-numeric: tabular-nums; }
.muted { color: var(--fg-muted); margin: 0; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 16px; top: 8px; z-index: 50; background: var(--surface); padding: 8px 12px; border-radius: 8px; }
[hidden] { display: none !important; }
.ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.wa-ico { stroke: none; }

/* Boutons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1.5px solid var(--accent); background: var(--accent); color: var(--accent-fg); border-radius: 12px; padding: 10px 16px; font-weight: 700; font-size: 14.5px; text-decoration: none; cursor: pointer; white-space: nowrap; transition: filter .15s, transform .15s; }
.btn:hover { filter: brightness(1.08); }
.btn:active { transform: translateY(1px); }
.btn .ico { width: 18px; height: 18px; }
.btn.ghost { background: var(--surface); color: var(--accent); }
.btn.gold { background: var(--gold); border-color: var(--gold); color: var(--gold-ink); }
.btn.wa { background: var(--wa); border-color: var(--wa); color: #fff; }
.btn.big { padding: 13px 18px; font-size: 15.5px; }
.btn.sm { padding: 8px 10px; font-size: 13.5px; border-radius: 10px; }
.link { border: 0; background: none; color: var(--accent); font-weight: 700; cursor: pointer; padding: 0; text-decoration: none; display: inline-flex; align-items: center; gap: 2px; font-size: 14px; }
.link .ico { width: 16px; height: 16px; }

/* En-tête */
.site-head { position: sticky; top: 0; z-index: 20; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
.head-row { display: flex; align-items: center; gap: 12px 20px; min-height: 68px; padding-block: 6px; }
.logo { flex: none; display: block; }
.logo img { display: block; height: 30px; width: auto; }
.head-search { display: none; flex: 1 1 140px; min-width: 0; max-width: 380px; align-items: center; gap: 8px; border: 1.5px solid var(--line); border-radius: 12px; padding: 0 12px; color: var(--fg-muted); background: var(--surface-2); }
.head-search input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; padding: 10px 0; color: var(--fg); }
.head-nav { display: none; gap: 4px; }
.head-nav a { text-decoration: none; color: var(--fg); font-weight: 600; padding: 8px 10px; border-radius: 10px; }
.head-nav a:hover { background: var(--surface-2); color: var(--accent); }
.head-acts { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.hide-sm { display: none; }
.burger { position: relative; }
.burger summary { list-style: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line); cursor: pointer; }
.burger summary::-webkit-details-marker { display: none; }
.burger[open] summary { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
.burger-panel { position: absolute; right: 0; top: 54px; z-index: 60; width: min(860px, calc(100vw - 32px)); max-height: calc(100vh - 90px); overflow-y: auto; overscroll-behavior: contain; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 24px 60px rgba(15, 18, 51, .22); padding: 14px; animation: mmIn .16s ease-out; }
@keyframes mmIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.burger-panel a { text-decoration: none; }
.mm-me { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: linear-gradient(120deg, #0b1240, #1a1a9e); color: #fff !important; }
.mm-me b { display: block; font-size: 16px; }
.mm-me small { display: block; color: rgba(255,255,255,.78); font-size: 13px; }
.mm-me.guest > span { flex: 1; }
.mm-ava { width: 42px; height: 42px; border-radius: 99px; background: var(--gold); color: var(--gold-ink); display: grid; place-items: center; font-weight: 800; font-size: 18px; flex: none; }
.mm-btn { padding: 9px 14px; border-radius: 12px; background: var(--gold); color: var(--gold-ink) !important; font-weight: 800; font-size: 14px; white-space: nowrap; }
.mm-btn.ghost { background: rgba(255,255,255,.12); color: #fff !important; border: 1px solid rgba(255,255,255,.35); }
.mm-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 10px; }
.mm-col { display: flex; flex-direction: column; gap: 2px; padding: 4px; min-width: 0; }
.mm-col + .mm-col { border-left: 1px solid var(--line); padding-left: 10px; }
.mm-h { margin: 6px 8px 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-muted); }
.mm-row { display: flex; align-items: center; gap: 11px; padding: 8px; border-radius: 12px; color: var(--fg); font-weight: 650; font-size: 14.5px; }
.mm-row:hover { background: var(--surface-2); }
.mm-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); flex: none; }
.mm-ic .ico { width: 18px; height: 18px; }
.mm-row.gold .mm-ic { background: var(--gold-soft); color: #8a6300; }
.mm-row.wa .mm-ic { background: var(--wa-soft); color: var(--wa); }
.mm-t { flex: 1; min-width: 0; line-height: 1.25; }
.mm-t small { display: block; font-weight: 500; font-size: 12.5px; color: var(--fg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mm-row .msg-badge { position: static; }
.mm-parts { display: flex; align-items: center; gap: 11px; margin-top: 8px; padding: 10px; border-radius: 14px; background: linear-gradient(120deg, var(--gold-soft), #fff8e3); border: 1px solid #f1d27a; color: var(--gold-ink); font-weight: 800; }
.mm-parts .mm-ic { background: var(--gold); color: var(--gold-ink); }
.mm-parts:hover { border-color: var(--gold); }
.mm-parts > .ico { color: #8a6300; }
.mm-sep { height: 1px; background: var(--line); margin: 6px 8px; }
.mm-out { margin: 6px 8px 0; font-size: 13.5px; font-weight: 700; color: var(--crit) !important; }
.mm-soc { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 8px 0; }
.mm-soc a { width: 36px; height: 36px; border-radius: 99px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--fg); transition: background .15s, color .15s; }
.mm-soc a:hover { background: var(--c); border-color: var(--c); color: #fff; }
@media (max-width: 900px) { .mm-cols { grid-template-columns: 1fr 1fr; } .mm-contact { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--line); padding-left: 4px !important; } }

body.admin-bar .site-head { top: 46px; }
@media (min-width: 783px) { body.admin-bar .site-head { top: 32px; } }
@media (max-width: 600px) { body.admin-bar .site-head { top: 0; } }

/* Barre d'onglets mobile */
.tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: grid; grid-template-columns: repeat(5, 1fr); background: var(--surface); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom, 0px); }
.tabbar a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px 9px; font-size: 11.5px; font-weight: 600; color: var(--fg-muted); text-decoration: none; }
.tabbar a[aria-current] { color: var(--accent); }
.tabbar .tab-menu { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px 9px; font: inherit; font-size: 11.5px; font-weight: 600; color: var(--fg-muted); background: none; border: 0; cursor: pointer; }
.tabbar .tab-menu[aria-expanded="true"] { color: var(--accent); }
.tab-ico { position: relative; display: inline-flex; }
.tabbar .tab-fav[aria-current] .ico { fill: currentColor; }
.msheet-search { display: flex; align-items: center; gap: 8px; margin: 4px 2px 8px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--fg-muted); }
.msheet-search input { flex: 1; border: 0; background: none; padding: 12px 0; font: inherit; font-size: 16px; outline: none; min-width: 0; }
.tab-ico .msg-badge { top: -7px; right: -12px; min-width: 18px; height: 18px; font-size: 11px; }
.msheet { position: fixed; inset: 0; z-index: 60; }
.msheet[hidden] { display: none; }
.msheet-bg { position: absolute; inset: 0; background: rgba(10, 12, 40, .45); }
.msheet-panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 85vh; overflow: auto; background: var(--surface); border-radius: 20px 20px 0 0; padding: 8px 10px calc(14px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; box-shadow: 0 -10px 40px rgba(0,0,0,.2); animation: msheet-up .22s ease; }
.msheet-h { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px 6px; font-size: 17px; }
.msheet-h button { border: 0; background: var(--surface-2); border-radius: 99px; width: 34px; height: 34px; font-size: 15px; cursor: pointer; }
.msheet-panel a { display: flex; align-items: center; gap: 12px; padding: 13px 12px; border-radius: 10px; text-decoration: none; color: var(--fg); font-weight: 600; }
.msheet-panel a:active { background: var(--surface-2); }
.msheet-panel .ico { color: var(--accent); }
html.msheet-on { overflow: hidden; }
/* Menu téléphone (v1.24) */
.msheet-panel { overflow-anchor: none; max-height: 92vh; padding: 6px 14px calc(18px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(180deg, #f3f4fb 0, var(--surface) 160px); gap: 0; }
.ms-grab { width: 42px; height: 5px; border-radius: 99px; background: #cfd3e6; margin: 4px auto 10px; flex: none; }
.ms-top { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.msheet-panel .ms-me { flex: 1; display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 16px; background: linear-gradient(120deg, #0b1240, #1a1a9e); color: #fff; box-shadow: 0 8px 20px rgba(16,20,90,.25); }
.ms-ava { width: 44px; height: 44px; border-radius: 99px; background: var(--gold); color: #2a1d00; display: grid; place-items: center; font-weight: 800; font-size: 19px; flex: none; }
.ms-who b { display: block; font-size: 16px; }
.ms-who small { color: rgba(255,255,255,.75); font-weight: 500; font-size: 13px; }
.ms-guest { flex: 1; padding: 14px; border-radius: 16px; background: linear-gradient(120deg, #0b1240, #1a1a9e); color: #fff; }
.ms-guest b { display: block; font-size: 16px; }
.ms-guest small { display: block; color: rgba(255,255,255,.78); font-size: 13px; margin: 2px 0 10px; }
.ms-guest-btns { display: flex; gap: 8px; }
.msheet-panel .ms-btn { flex: 1; justify-content: center; padding: 10px; border-radius: 12px; background: var(--gold); color: #2a1d00; font-weight: 800; font-size: 14px; }
.msheet-panel .ms-btn.ghost { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.35); }
.ms-x { flex: none; border: 0; background: #fff; border-radius: 99px; width: 38px; height: 38px; font-size: 15px; cursor: pointer; box-shadow: 0 2px 8px rgba(15,18,51,.12); }
.msheet-panel .msheet-search { margin: 0 0 6px; background: #fff; border-color: #e1e4f2; }
.ms-h { margin: 14px 4px 8px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-muted); }
.ms-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.msheet-panel .ms-tile { flex-direction: column; gap: 6px; padding: 10px 4px; border-radius: 14px; background: #fff; border: 1px solid var(--line); font-size: 12.5px; font-weight: 700; text-align: center; justify-content: center; }
.ms-pic { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(145deg, var(--qs), #fff); border: 1px solid color-mix(in srgb, var(--qc) 18%, transparent); }
.ms-pic .pict { width: 32px; height: 32px; }
.ms-wide, .ms-card { margin-top: 8px; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.ms-card { margin-top: 0; }
.msheet-panel .ms-row { gap: 12px; padding: 12px 14px; border-radius: 0; border-bottom: 1px solid #f0f1f6; }
.msheet-panel .ms-row:last-child { border-bottom: 0; }
.ms-row > .ico:last-child { width: 18px; height: 18px; color: #b5b9cf; flex: none; }
.ms-row .msg-badge.in { margin: 0; }
.ms-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--accent-soft); flex: none; }
.ms-ic .ico { width: 19px; height: 19px; color: var(--accent); }
.ms-ic.gold { background: #fff4d6; } .ms-ic.gold .ico { color: #a87700; }
.ms-ic.red { background: #fde8e7; } .ms-ic.red .ico { color: #d93025; }
.ms-t { flex: 1; display: flex; flex-direction: column; font-weight: 700; }
.msheet-panel > * { flex-shrink: 0; }
.ms-t small { font-weight: 500; font-size: 12.5px; color: var(--fg-muted); }
.msheet-panel .ms-parts { background: linear-gradient(90deg, #fffaf0, #fff); }
.ms-parts .ms-ic { background: #0b1240; } .ms-parts .ms-ic .ico { color: var(--gold); }
.ms-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.msheet-panel .ms-contact a { flex-direction: column; gap: 4px; padding: 12px 6px; justify-content: center; border-radius: 14px; background: #fff; border: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.ms-contact .ico { width: 22px; height: 22px; color: var(--accent); }
.msheet-panel .ms-contact a.wa { background: var(--wa); border-color: var(--wa); color: #fff; }
.ms-contact a.wa .ico { color: #fff; }
.ms-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.ms-soc { display: flex; gap: 6px; }
.msheet-panel .ms-soc a { width: 38px; height: 38px; padding: 0; justify-content: center; border-radius: 99px; background: #fff; border: 1px solid var(--line); color: var(--fg); }
.msheet-panel .ms-soc a:active { background: var(--c); color: #fff; }
.msheet-panel .ms-out { padding: 8px 10px; color: #b3261e; font-size: 14px; }
@keyframes msheet-up { from { transform: translateY(30px); opacity: .4; } to { transform: none; opacity: 1; } }
@media (max-width: 899px) {
	.head-acts .burger, .head-acts .msg-link { display: none; }
}
.tabbar .ico { width: 22px; height: 22px; }
.tabbar .sell .ico { background: var(--accent); color: #fff; border-radius: 10px; width: 40px; height: 26px; padding: 3px 9px; stroke-width: 2.6; }
.sky-fiche .tabbar { display: none; }

/* Accueil */
.hero { padding-block: 12px 12px; }
.hero-in { margin-top: 14px; }
/* Bannière d'accueil (image modifiable dans Apparence > Personnaliser) */
.hero-banner { position: relative; z-index: 5; border-radius: 18px; min-height: 300px; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; isolation: isolate; background: #14124f; box-shadow: 0 10px 30px rgba(15, 18, 51, .16); }
.hero-bg, .hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-bg, .hero-video, .hero-banner::after { border-radius: inherit; overflow: hidden; }
.hero-bg img { object-fit: cover; display: block; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .8s ease; pointer-events: none; }
.hero-video.on { opacity: 1; }
.hero-banner::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(8, 9, 40, var(--dim, .35)) 0%, rgba(8, 9, 40, calc(var(--dim, .35) * .6)) 55%, rgba(8, 9, 40, calc(var(--dim, .35) + .2)) 100%); }
.hero-content { position: relative; z-index: 1; width: 100%; min-width: 0; max-width: 980px; padding: 34px 16px 22px; text-align: center; color: #fff; }
.hero-search { position: relative; }
.hero-title { font-family: "Saira Condensed", "Arial Narrow", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .015em; line-height: 1.02; color: #fff; max-width: 24ch; margin: 20px auto 0; font-size: clamp(26px, 6.4vw, 54px); text-shadow: 0 3px 18px rgba(0, 0, 0, .55); text-wrap: balance; }
.hero-title::after { content: ""; display: block; width: 72px; height: 4px; border-radius: 4px; background: var(--gold); margin: 14px auto 0; }
.hero-sugg { position: absolute; left: 8px; right: 8px; top: calc(100% - 2px); z-index: 20; margin: 0; padding: 6px; list-style: none; background: #fff; color: var(--fg); border-radius: 14px; box-shadow: 0 18px 40px rgba(8, 9, 40, .28); text-align: left; max-height: 60vh; overflow: auto; }
.hero-sugg li a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: var(--fg); text-decoration: none; }
.hero-sugg li a[aria-selected="true"], .hero-sugg li a:hover { background: var(--accent-soft); }
.hero-sugg .sg-ic { width: 32px; height: 32px; flex: none; border-radius: 8px; background: var(--surface-2); display: grid; place-items: center; overflow: hidden; color: var(--accent); }
.hero-sugg .sg-ic img { max-width: 26px; max-height: 26px; }
.hero-sugg .sg-ic .ico { width: 18px; height: 18px; }
.hero-sugg b { font-weight: 600; }
.hero-sugg mark { background: none; color: var(--accent); font-weight: 800; }
.hero-sugg small { margin-left: auto; color: var(--fg-muted); font-size: 12.5px; white-space: nowrap; }
.hero-sugg .sg-h { padding: 8px 12px 4px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--fg-muted); }
.hero-search { padding: 8px; border-radius: 22px; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.hero-search-in { display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 15px; padding: 6px 6px 6px 14px; box-shadow: 0 0 0 2px rgba(242, 176, 0, .55), 0 6px 20px rgba(15, 18, 51, .18); }
.hero-search-in .hs-ico { color: var(--fg-muted); flex: none; width: 20px; height: 20px; }
.hero-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 10px 0; font-size: 16px; color: var(--fg); }
.hero-search input::placeholder { color: #7a7e99; }
.hero-search button { flex: none; width: 50px; height: 46px; border: 0; border-radius: 11px; background: var(--gold); color: var(--gold-ink); display: grid; place-items: center; cursor: pointer; transition: transform .12s, background .12s; }
.hero-search button:hover { background: #ffc21a; }
.hero-search button:active { transform: scale(.96); }
.hero-search button svg { width: 24px; height: 24px; }
.hero-search-in:focus-within { box-shadow: 0 0 0 3px var(--gold), 0 6px 20px rgba(15, 18, 51, .18); }
.hero-sub { color: rgba(255, 255, 255, .92); margin: 12px 0 0; font-size: 14px; text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }
.finder { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 14px; box-shadow: 0 10px 34px rgba(26, 26, 158, .08); display: flex; flex-direction: column; gap: 12px; }
.seg { display: flex; background: var(--surface-2); border-radius: 12px; padding: 4px; gap: 2px; }
.seg label { flex: 1; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg span { display: block; text-align: center; padding: 8px 6px; border-radius: 9px; font-weight: 700; color: var(--fg-muted); cursor: pointer; }
.seg input:checked + span { background: var(--surface); color: var(--accent); box-shadow: 0 1px 3px rgba(15, 18, 51, .12); }
.seg input:focus-visible + span { outline: 2px solid var(--accent); }
.finder-fields { display: grid; gap: 10px; }
.fld { display: flex; flex-direction: column; gap: 4px; min-width: 0; border: 0; padding: 0; margin: 0; }
.flab { font-weight: 600; font-size: 13px; color: var(--fg); padding: 0; }
.fld input, .fld select { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; background: var(--surface-2); min-width: 0; }
.fld select:disabled { opacity: .55; }
.quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px; }
.qcat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; color: var(--fg); background: var(--surface); text-align: center; }
.qcat b { font-size: 13px; }
.qcat small { color: var(--fg-muted); font-size: 12px; }
.qcat .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }

.sec { padding-block: 22px 4px; }
.sec-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.hscroll { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: thin; }
.hscroll > * { scroll-snap-align: start; }

.brands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.brand { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; color: var(--fg); background: var(--surface); text-align: center; min-width: 0; transition: border-color .15s, box-shadow .15s; }
.brand:hover { border-color: var(--accent); box-shadow: var(--shadow); }
.brand b { font-family: var(--font-display); font-size: 13px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand small { color: var(--fg-muted); font-size: 11.5px; }
.blogo { height: 40px; display: grid; place-items: center; }
.blogo img { max-height: 36px; max-width: 72px; object-fit: contain; display: block; }
.blogo .mono { width: 36px; height: 36px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; font-size: 13px; }
.blogo.sm { height: 22px; display: inline-grid; margin-right: 8px; vertical-align: middle; }
.blogo.sm img { max-height: 20px; max-width: 32px; }
.blogo.sm .mono { width: 20px; height: 20px; font-size: 9px; }
.allbrands { margin-top: 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 2px 12px; border: 1px solid var(--line); border-radius: 14px; padding: 10px 14px; }
.allbrands a { display: flex; align-items: center; padding: 7px 0; text-decoration: none; color: var(--fg); font-weight: 600; font-size: 14px; border-bottom: 1px solid var(--surface-2); }
.allbrands small { color: var(--fg-muted); margin-left: auto; font-weight: 400; }

.banner { position: relative; overflow: hidden; margin-block: 26px 6px; border-radius: 20px; background: var(--accent-ink); color: #fff; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.banner h2 { font-size: 22px; max-width: 20ch; position: relative; padding-right: 60px; }
.banner p { margin: 0; opacity: .85; max-width: 46ch; position: relative; }
.banner .btn { align-self: flex-start; position: relative; }
.banner-txt { display: flex; flex-direction: column; gap: 10px; }
.banner.has-img { padding: 0; gap: 0; }
.banner.has-img .banner-txt { padding: 22px; position: relative; overflow: hidden; }
.banner-img { order: -1; aspect-ratio: 4 / 3; overflow: hidden; position: relative; }
.banner-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; }
.banner .star { position: absolute; right: -14px; top: -14px; width: 90px; height: 90px; fill: var(--gold); stroke: none; opacity: .95; }
.contact-strip { margin-block: 30px 10px; border: 1px solid var(--line); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 14px; background: var(--surface-2); }
.contact-strip p { margin: 6px 0 0; color: var(--fg-muted); }
.contact-btns { display: grid; gap: 8px; }

/* Cartes */
.card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; transition: box-shadow .15s, border-color .15s; min-width: 0; }
.card:hover { box-shadow: 0 8px 24px rgba(15, 18, 51, .08); border-color: #d3d7ea; }
.card-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; flex: 1; }
.pic { position: relative; aspect-ratio: 16 / 10; background: linear-gradient(160deg, var(--car-bg1), var(--car-bg2)); display: grid; place-items: center; overflow: hidden; }
.pic .photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pic .ph-svg { width: 58%; height: auto; }
.pic.big { aspect-ratio: 4 / 3; border-radius: 14px; margin-bottom: 12px; }
.badges { position: absolute; left: 8px; top: 8px; display: flex; gap: 4px; flex-wrap: wrap; }
.pill { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: 12px; font-weight: 700; white-space: nowrap; background: var(--surface); }
.pill.vip { background: var(--gold); color: var(--gold-ink); }
.k-vente { color: var(--accent); } .k-import { color: var(--ok); } .k-location { color: var(--warn); } .k-immo { color: var(--off); } .k-immo-vente { color: var(--accent); } .k-immo-loc { color: var(--warn); }
.pill.sold { background: var(--crit-soft); color: var(--crit); }
.nph { position: absolute; right: 8px; bottom: 8px; background: rgba(15, 18, 51, .62); color: #fff; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 99px; }
.info { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 3px; }
.price { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--fg); }
.ttl { font-family: var(--font-body); font-size: 14.5px; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: 0; }
.specs { display: flex; flex-wrap: wrap; gap: 6px; color: var(--fg-muted); font-size: 13px; }
.specs span + span::before { content: "·"; margin-right: 6px; }
.cloc { display: flex; align-items: center; gap: 4px; color: var(--fg-muted); font-size: 13px; margin: 0; }
.cloc .ico { width: 15px; height: 15px; }
.acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 12px 12px; }
.card.mini { width: 250px; flex: none; }
.card.mini .price { font-size: 16px; }
.card .specs { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
.card.is-sold .pic { filter: grayscale(.6); }

/* Liste */
.listing { padding-block: 18px 30px; }
.crumbs { font-size: 13px; color: var(--fg-muted); margin-bottom: 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs a { color: var(--fg-muted); text-decoration: none; }
.crumbs a:hover { color: var(--accent); }
.list-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.sortform select { border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; background: var(--surface); font-weight: 600; }
.list-grid { display: grid; gap: 16px; }
.filters > summary { list-style: none; width: 100%; }
.filters > summary::-webkit-details-marker { display: none; }
.filter-form { margin-top: 10px; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; display: flex; flex-direction: column; gap: 12px; background: var(--surface); }
.filter-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: inline-block; border: 1px solid var(--line); border-radius: 99px; padding: 6px 12px; font-weight: 600; font-size: 13px; cursor: pointer; }
.chip input:checked + span { background: var(--accent); border-color: var(--accent); color: #fff; }
.chip input:focus-visible + span { outline: 2px solid var(--accent); }
.check { display: flex; gap: 8px; align-items: center; font-size: 13.5px; }
.filter-acts { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.pager { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 22px; }
.pager .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; color: var(--fg); font-weight: 600; }
.pager .current { background: var(--accent); border-color: var(--accent); color: #fff; }
.pager .dots { border: 0; }
.empty { text-align: center; padding: 40px 16px; color: var(--fg-muted); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.empty h1, .empty h2 { color: var(--fg); }

/* Fiche */
.fiche { padding-block: 14px 30px; }
.fiche-grid { display: grid; gap: 20px; }
.fiche-main { min-width: 0; }
.fiche-main > .cloc { margin-bottom: 12px; }
.fiche-side { display: none; }
.fiche-admin-m { margin: 18px 0; }
.sidebox { position: sticky; top: 90px; border: 1px solid var(--line); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--shadow); }
.sidebox .price { font-size: 26px; color: var(--accent); }
.seller { display: flex; gap: 10px; align-items: center; border-top: 1px solid var(--line); padding-top: 12px; margin-top: 4px; }
.seller img { height: 44px; width: auto; }
.seller b { display: block; }
.seller small { color: var(--fg-muted); }
.btn.chat { background: #fff; border-color: var(--accent); color: var(--accent); }
.btn.chat:hover { background: var(--accent); color: #fff; }
.actionbar.three { grid-template-columns: 1fr 1fr 1fr; }
.msg-link { position: relative; }
.acct-link .ava { width: 26px; height: 26px; border-radius: 99px; background: var(--accent); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.acct-link { padding-left: 8px; }
.fav-btn { position: absolute; top: 10px; right: 10px; z-index: 3; width: 38px; height: 38px; border-radius: 99px; border: 0; background: rgba(255,255,255,.92); display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.18); color: #3a3d55; transition: transform .15s; }
.fav-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.fav-btn.on { color: #d93025; }
.fav-btn.on svg { fill: currentColor; }
.fav-btn.pop { transform: scale(1.25); }
.fav-btn.inline { position: static; width: auto; height: auto; padding: 8px 14px; gap: 6px; display: inline-flex; align-items: center; font: inherit; font-weight: 700; font-size: 14px; border: 1.5px solid var(--line); box-shadow: none; background: var(--surface); flex: none; }
.fiche-title { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.fiche-title h1 { margin: 0; }
.fav-link.on, .fav-link svg { color: #d93025; }
.msg-badge.fav { background: #d93025; }
.msg-badge { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: #d93025; color: #fff; font-size: 12px; font-weight: 800; display: grid; place-items: center; line-height: 1; border: 2px solid var(--surface); }
.msg-badge.in { position: static; margin-left: auto; border: 0; }
.msg-badge[hidden] { display: none; }
.actionbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--surface); border-top: 1px solid var(--line); }
.similar { margin-top: 10px; }
/* Contenu produit par l'extension */
.sky-annonce .sky-actions { display: none; }
.sky-annonce .sky-prix { font-family: var(--font-display); font-size: 26px; }
.sky-annonce .sky-h { font-family: var(--font-display); }
.sky-annonce .sky-gal img { border-radius: 14px; }
.sky-annonce .sky-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }

/* Pages simples */
.wrap.page { padding-block: 24px 40px; max-width: 820px; }
.entry { font-size: 16px; }

/* Pied de page */
.site-foot { margin-top: 40px; border-top: 1px solid var(--line); background: var(--surface-2); padding-block: 30px 16px; }
.foot-grid { display: grid; gap: 24px; }
.foot-grid h2 { font-size: 15px; margin-bottom: 10px; }
.foot-grid a, .foot-grid span { display: flex; align-items: center; gap: 8px; color: var(--fg); text-decoration: none; padding: 4px 0; }
.foot-grid a:hover { color: var(--accent); }
.foot-grid p { color: var(--fg-muted); margin: 0 0 12px; }
.foot-grid .btn { display: inline-flex; color: var(--gold-ink); }
.foot-grid .ico { width: 18px; height: 18px; color: var(--accent); }
.foot-logo { height: 40px; width: auto; }
.foot-follow { margin: 4px 0 8px !important; font-weight: 700; color: var(--fg) !important; font-size: 14px; }
.socials { display: flex; flex-wrap: wrap; gap: 10px; }
.foot-grid .socials a.soc { width: 42px; height: 42px; padding: 0; justify-content: center; border-radius: 99px; background: var(--surface); border: 1px solid var(--line); color: var(--fg); transition: background .15s, color .15s, transform .15s, border-color .15s; }
.foot-grid .socials a.soc svg { width: 22px !important; height: 22px !important; flex: none; }
.foot-grid .socials a.soc:hover, .foot-grid .socials a.soc:focus-visible { background: var(--c); border-color: var(--c); color: #fff; transform: translateY(-2px); }
.foot-grid .socials a.soc-snapchat:hover { color: #111; }
.foot-grid .socials a.soc-instagram:hover { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.seller-ico { border-radius: 50%; border: 1px solid var(--line); flex: none; }
.foot-bottom { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--fg-muted); font-size: 13px; }

/* Tablette */
@media (min-width: 640px) {
	.brands { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.finder-fields { grid-template-columns: 1fr 1fr; }
	.contact-strip { flex-direction: row; align-items: center; justify-content: space-between; }
	.contact-btns { grid-template-columns: auto auto; }
	.foot-grid { grid-template-columns: 1fr 1fr; }
	.hide-sm { display: inline; }
	.btn.ghost.hide-sm { display: inline-flex; }
}

/* Ordinateur */
@media (min-width: 900px) {
	body { padding-bottom: 0; }
	.tabbar, .actionbar { display: none; }
	.head-search { display: flex; }
	.hero { padding-block: 20px 20px; }
	.logo img { height: 36px; }
	.hero-banner { min-height: 440px; border-radius: 22px; }
	.hero-content { padding: 48px 40px 36px; }
	.hero-search { padding: 12px; border-radius: 26px; }
	.hero-search-in { padding: 8px 8px 8px 20px; border-radius: 16px; }
	.hero-search input { font-size: 18px; padding: 12px 0; }
	.hero-search button { width: 62px; height: 54px; border-radius: 12px; }
	.hero-sub { font-size: 15px; }
	.finder-fields { grid-template-columns: 1.2fr 1.2fr 1fr auto; align-items: end; }
	.quick { max-width: none; gap: 12px; }
	.qcat { flex-direction: row; justify-content: flex-start; gap: 14px; padding: 14px 18px; text-align: left; }
	.qcat b { font-size: 15px; }
	.qcat small { margin-left: auto; font-size: 14px; }
	.qcat .ic { width: 46px; height: 46px; }
	.list-grid { grid-template-columns: 290px 1fr; align-items: start; }
	.filters { position: sticky; top: 90px; }
	.filters > summary { display: none; }
	.filter-form { margin-top: 0; max-height: calc(100vh - 110px); overflow: auto; }
	.fiche-grid { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
	.fiche-side { display: block; }
	.fiche-admin-m { display: none; }
	.sky-annonce .sky-prix { display: none; }
	.banner { padding: 32px; }
	.banner.has-img { display: grid; grid-template-columns: 1fr 1.1fr; align-items: stretch; }
	.banner.has-img .banner-txt { padding: 44px; justify-content: center; }
	.banner.has-img h2 { font-size: 34px; }
	.banner-img { order: 0; aspect-ratio: auto; min-height: 400px; }
	.banner.has-img .star { display: none; }
	.banner .star { width: 140px; height: 140px; right: -16px; top: -18px; }
	.sky-annonce .sky-specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.foot-grid { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
}
@media (min-width: 1100px) {
	.head-nav { display: flex; }
	.brands { grid-template-columns: repeat(9, minmax(0, 1fr)); }
}
@media (min-width: 900px) and (max-width: 1099px) {
	.brands { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* Espace vendeur */
.wrap.page .sky-auth, .wrap.page .sky-sell, .wrap.page .sky-mine { font-size: 15px; }
.wrap.page:has(.sky-sell), .wrap.page:has(.sky-auth) { max-width: 960px; }

/* Vendeur particulier sur la fiche */
.seller-ava{width:45px;height:45px;border-radius:50%;background:var(--accent,#0b1f44);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2rem;flex:none}
.seller-tip{font-size:.8rem;color:var(--fg-muted,#6b7280);margin:.6rem 0 0;line-height:1.4}

/* Galerie de la fiche (façon mosaïque) + visionneuse */
.fiche .sky-annonce > .sky-gal, .fiche .sky-annonce > .sky-galnote { display: none; }
.fgal { position: relative; display: flex; margin: 0 0 16px; }
.fgal .t1, .fgal .t2 { display: none; }
.fgal::-webkit-scrollbar { display: none; }
.fgal-tile { flex: 0 0 100%; padding: 0; border: 0; background: var(--surface-2); border-radius: 14px; overflow: hidden; cursor: zoom-in; scroll-snap-align: center; aspect-ratio: 4 / 3; }
.fgal-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.fgal-tile:hover img { transform: scale(1.03); }
.fgal-count { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 0; border-radius: 10px; background: rgba(15, 18, 51, .78); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; }
.fgal-count .ico { width: 18px; height: 18px; }
.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(6, 7, 26, .96); color: #fff; }
.lightbox[open] { display: grid; grid-template-rows: auto 1fr; }
.lightbox::backdrop { background: rgba(6, 7, 26, .96); }
.lb-top { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; }
.lb-x { width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.lb-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; min-height: 0; }
.lb-track::-webkit-scrollbar { display: none; }
.lb-slide { flex: 0 0 100%; margin: 0; display: grid; place-items: center; scroll-snap-align: center; padding: 0 8px 16px; min-height: 0; }
.lb-slide img { max-width: 100%; max-height: calc(100vh - 90px); width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.lb-prev, .lb-next { display: none; }
@media (min-width: 900px) {
	.fgal .t1, .fgal .t2 { display: block; }
	.fgal { display: grid; margin: 0 0 22px; padding: 0; height: clamp(380px, 42vw, 560px); grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; }
	.fgal.n1 { grid-template-columns: 1fr; }
	.fgal-tile { aspect-ratio: auto; border-radius: 0; }
	.fgal .t0 { grid-row: 1 / 3; border-radius: 16px 0 0 16px; }
	.fgal.n1 .t0 { border-radius: 16px; }
	.fgal.n2 .t1 { grid-row: 1 / 3; border-radius: 0 16px 16px 0; }
	.fgal.n3 .t1 { border-top-right-radius: 16px; }
	.fgal.n3 .t2 { border-bottom-right-radius: 16px; }
	.fgal-count { right: 14px; bottom: 14px; }
	.fiche-side { position: sticky; top: 90px; }
	.lb-prev, .lb-next { display: grid; place-items: center; position: fixed; top: 50%; transform: translateY(-50%); width: 54px; height: 54px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 34px; cursor: pointer; z-index: 2; }
	.lb-prev { left: 20px; } .lb-next { right: 20px; }
	.lb-prev:hover, .lb-next:hover { background: rgba(255, 255, 255, .26); }
}

/* Statistiques en direct (pied de page, ordinateur) */
.live-stats { display: none; }
@media (max-width: 899px) {
	.live-stats:not([hidden]) { display: block; margin-top: 22px; border-radius: 18px; padding: 16px 16px 14px; color: #fff; background: radial-gradient(120% 140% at 100% 0%, rgba(242, 176, 0, .22), transparent 45%), linear-gradient(135deg, var(--accent-ink), #12127a 60%, #0b0b4d); box-shadow: 0 10px 26px rgba(1, 0, 128, .2); }
	.ls-head { display: flex; align-items: center; gap: 8px; font-family: "Saira Condensed", var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; color: var(--gold); margin-bottom: 10px; }
	.ls-dot { width: 9px; height: 9px; border-radius: 50%; background: #2ee27a; animation: lsPulse 1.8s infinite; }
	.ls-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.ls-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .07); }
	.ls-item b { font-family: "Saira Condensed", var(--font-display); font-weight: 800; font-size: 30px; line-height: 1; }
	.ls-item:first-child b { color: #2ee27a; }
	.ls-item > span { font-size: 12.5px; line-height: 1.3; color: rgba(255, 255, 255, .85); }
	.ls-item small { display: block; color: rgba(255, 255, 255, .6); font-size: 11.5px; }
}
@media (min-width: 900px) {
	.live-stats:not([hidden]) { display: block; margin-top: 26px; border-radius: 20px; padding: 22px 28px 24px; color: #fff; background: radial-gradient(120% 140% at 100% 0%, rgba(242, 176, 0, .22), transparent 45%), linear-gradient(135deg, var(--accent-ink), #12127a 60%, #0b0b4d); box-shadow: 0 14px 34px rgba(1, 0, 128, .22); position: relative; overflow: hidden; }
	.live-stats::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; border: 28px solid rgba(255, 255, 255, .04); }
	.ls-head { display: flex; align-items: center; gap: 10px; font-family: "Saira Condensed", var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: 15px; color: var(--gold); margin-bottom: 14px; }
	.ls-dot { width: 10px; height: 10px; border-radius: 50%; background: #2ee27a; box-shadow: 0 0 0 0 rgba(46, 226, 122, .7); animation: lsPulse 1.8s infinite; }
	.ls-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
	.ls-item { display: flex; align-items: center; gap: 14px; padding: 6px 22px; border-left: 1px solid rgba(255, 255, 255, .14); }
	.ls-item:first-child { border-left: 0; padding-left: 0; }
	.ls-item b { font-family: "Saira Condensed", var(--font-display); font-weight: 800; font-size: 44px; line-height: 1; letter-spacing: .01em; min-width: 1ch; }
	.ls-item:first-child b { color: #2ee27a; }
	.ls-item > span { font-size: 13.5px; line-height: 1.35; color: rgba(255, 255, 255, .82); }
	.ls-item small { color: rgba(255, 255, 255, .6); font-size: 12px; }
}
@keyframes lsPulse { 0% { box-shadow: 0 0 0 0 rgba(46, 226, 122, .7); } 70% { box-shadow: 0 0 0 10px rgba(46, 226, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(46, 226, 122, 0); } }
@media (prefers-reduced-motion: reduce) { .ls-dot { animation: none; } }

/* Rayons d'annonces : chaque catégorie a sa couleur */
.rayon { --rc: var(--accent); --rc-soft: var(--accent-soft); --rc-ink: #fff; }
.r-vip { --rc: #e2a200; --rc-soft: #fff6dc; --rc-ink: #2a1d00; }
.r-vente { --rc: #1a1a9e; --rc-soft: #eef0fc; }
.r-location { --rc: #d9620b; --rc-soft: #fff0e3; }
.r-import { --rc: #0f7f7a; --rc-soft: #e2f5f3; }
.r-immo { --rc: #8a3d6b; --rc-soft: #f8e9f1; }
.r-marques { --rc: #2b2b3c; --rc-soft: #f1f2f6; }
button.rayon-all { border: 0; background: none; cursor: pointer; font: inherit; font-weight: 700; }
.rayon-in { position: relative; }
.rayon-h { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.rayon-ic { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; background: var(--rc); color: var(--rc-ink); box-shadow: 0 6px 14px color-mix(in srgb, var(--rc) 35%, transparent); }
.rayon-ic .ico { width: 22px; height: 22px; }
.rayon-t { min-width: 0; flex: 1; }
.rayon-eyebrow { display: block; font-family: "Saira Condensed", var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 12.5px; color: var(--rc); line-height: 1.2; }
.r-vip .rayon-eyebrow { color: #a87400; }
.rayon-h h2 { font-size: 20px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rayon-count { display: none; }
.rayon-nav { display: none; }
.rayon-all { flex: none; display: inline-flex; align-items: center; gap: 2px; font-weight: 700; font-size: 14px; color: var(--rc); text-decoration: none; }
.r-vip .rayon-all { color: #a87400; }
.rayon-all .ico { width: 16px; height: 16px; }
@media (min-width: 900px) {
	.sec.rayon { padding-block: 26px 6px; }
	.rayon-in { border-radius: 22px; padding: 22px 24px 18px; background: linear-gradient(180deg, var(--rc-soft), #fff 78%); border: 1px solid color-mix(in srgb, var(--rc) 18%, var(--line)); overflow: hidden; }
	.rayon-in::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 5px; border-radius: 0 6px 6px 0; background: var(--rc); }
	.rayon-h { gap: 16px; margin-bottom: 16px; }
	.rayon-ic { width: 52px; height: 52px; border-radius: 14px; }
	.rayon-ic .ico { width: 26px; height: 26px; }
	.rayon-eyebrow { font-size: 14px; }
	.rayon-h h2 { font-family: "Saira Condensed", var(--font-display); font-weight: 800; font-size: 32px; letter-spacing: .005em; text-transform: uppercase; line-height: 1.05; }
	.rayon-count { display: inline-flex; align-items: baseline; gap: 5px; padding: 6px 12px; border-radius: 99px; background: #fff; border: 1px solid color-mix(in srgb, var(--rc) 25%, var(--line)); color: var(--fg-muted); font-size: 13px; white-space: nowrap; }
	.rayon-count b { color: var(--fg); font-size: 15px; }
	.rayon-nav { display: flex; gap: 6px; }
	.rayon-arrow { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--fg); display: grid; place-items: center; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
	.rayon-arrow:hover { background: var(--rc); border-color: var(--rc); color: var(--rc-ink); }
	.rayon-arrow[data-dir="-1"] .ico { transform: rotate(180deg); }
	.rayon-arrow .ico { width: 18px; height: 18px; }
	.rayon-arrow:disabled { opacity: .35; cursor: default; background: #fff; color: var(--fg); border-color: var(--line); }
	.rayon-all, button.rayon-all { padding: 10px 16px; border-radius: 12px; background: var(--rc); color: var(--rc-ink); font-size: 14.5px; }
	.r-vip .rayon-all { color: var(--rc-ink); }
	.rayon-all:hover { filter: brightness(1.08); }
	.rayon-track { padding: 4px 2px 10px; scroll-padding-inline: 0; scrollbar-width: none; }
	.rayon-track::-webkit-scrollbar { display: none; }
	.rayon .card.mini { width: calc((100% - 4 * 14px) / 5); min-width: 230px; }
	.rayon .hscroll { gap: 14px; }
	.rayon .card.mini:hover { border-color: var(--rc); box-shadow: 0 10px 24px color-mix(in srgb, var(--rc) 18%, transparent); }
}

/* Type de vendeur (particulier / professionnel) */
.seller-kind { display: inline-block; padding: 1px 8px; border-radius: 99px; font-weight: 700; font-size: 12px; background: var(--surface-2); color: var(--fg-muted); }
.seller-kind.k-particulier { background: #e3f6eb; color: #17794a; }
.seller-kind.k-pro { background: #eef0fc; color: var(--accent); }
.card-seller { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: #17794a; margin-top: 2px; }
.card-seller.k-pro { color: var(--accent); }
.card-seller .ico { width: 14px; height: 14px; }

/* Bouton « Pièces détachées » sous les raccourcis de l'accueil */
.parts-cta { --qc: #e2a200; position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 14px; margin-top: 12px; padding: 14px 16px; border-radius: 18px; text-decoration: none; color: #fff; background: linear-gradient(120deg, #0b1240 0%, #1a1a9e 60%, #2a2ab8 100%); box-shadow: 0 10px 26px rgba(16, 20, 90, .22); transition: transform .15s, box-shadow .15s; isolation: isolate; }
.parts-cta::before { content: ""; position: absolute; right: -40px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(226,162,0,.35), transparent 65%); z-index: -1; }
.parts-cta::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 2px, transparent 2px 14px); z-index: -1; }
.parts-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(16, 20, 90, .32); }
.parts-ic { grid-row: span 2; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); --qc: #ffffff; }
.parts-ic .pict { width: 38px; height: 38px; }
.parts-ic .pict .pf { fill: #c9cff5; }
.parts-ic .pict .pw { fill: #1a1a9e; }
.parts-ic .pict .pd { fill: #0b1240; }
.parts-cta:hover .parts-ic .pict { transform: rotate(-12deg) scale(1.05); }
.parts-txt b { display: block; font-size: 17px; }
.parts-txt small { display: block; color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.35; }
.parts-go { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; background: var(--gold); color: #2a1d00; font-weight: 800; font-size: 14px; padding: 8px 14px; border-radius: 999px; }
.parts-go .ico { width: 16px; height: 16px; transition: transform .15s; }
.parts-cta:hover .parts-go .ico { transform: translateX(3px); }
.parts-cta.has-img { background: linear-gradient(90deg, rgba(11,18,64,.97) 0%, rgba(11,18,64,.88) 55%, rgba(11,18,64,.45) 100%), var(--parts-img) 72% center / cover no-repeat, #0b1240; }
.parts-cta.has-img::after { display: none; }
.parts-cta.has-img::before { left: -60px; right: auto; top: -80px; }
.parts-cta.has-img .parts-ic { background: rgba(11,18,64,.55); backdrop-filter: blur(4px); }
@media (min-width: 900px) {
	.parts-cta.has-img { min-height: 118px; background: linear-gradient(90deg, #0b1240 0%, #0b1240 30%, rgba(11,18,64,.82) 46%, rgba(11,18,64,.15) 72%, rgba(11,18,64,.35) 100%), var(--parts-img) right 40% / cover no-repeat, #0b1240; }
	.parts-cta.has-img .parts-go { box-shadow: 0 6px 18px rgba(0,0,0,.35); }
}
@media (min-width: 900px) {
	.parts-cta { grid-template-columns: auto 1fr auto; padding: 16px 22px; margin-top: 14px; }
	.parts-ic { grid-row: auto; width: 62px; height: 62px; }
	.parts-ic .pict { width: 44px; height: 44px; }
	.parts-txt b { font-size: 19px; }
	.parts-txt small { font-size: 14px; }
	.parts-go { grid-column: auto; margin: 0; font-size: 15px; padding: 12px 20px; }
}

/* Raccourcis de l'accueil : pictogrammes bicolores dans la couleur de chaque rubrique */
.qcat { --qc: #1a1a9e; --qs: #eef0fc; position: relative; overflow: hidden; transition: border-color .15s, box-shadow .15s, transform .15s; }
.q-vente { --qc: #1a1a9e; --qs: #eef0fc; }
.q-location { --qc: #d9620b; --qs: #fff0e3; }
.q-import { --qc: #0f7f7a; --qs: #e2f5f3; }
.q-immo { --qc: #8a3d6b; --qs: #f8e9f1; }
.qcat .ic { background: linear-gradient(145deg, var(--qs), #fff); border: 1px solid color-mix(in srgb, var(--qc) 18%, transparent); color: var(--qc); width: 48px; height: 48px; border-radius: 14px; }
.pict { width: 36px; height: 36px; display: block; }
.pict .pf { fill: var(--qc); }
.pict .pd { fill: #0f1233; }
.pict .pg { fill: var(--gold); }
.pict .pw { fill: #fff; }
.pict .ps { fill: none; stroke: var(--qc); stroke-width: 2; stroke-linecap: round; opacity: .55; }
.qcat b { color: var(--fg); }
.qcat small { color: var(--qc); font-weight: 700; }
.qcat::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--qc); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.qcat:hover { border-color: color-mix(in srgb, var(--qc) 40%, var(--line)); box-shadow: 0 10px 22px color-mix(in srgb, var(--qc) 14%, transparent); transform: translateY(-2px); }
.qcat:hover::after { transform: scaleX(1); }
.qcat:hover .pict { transform: scale(1.06); }
.pict { transition: transform .2s ease; }
@media (min-width: 900px) {
	.qcat .ic { width: 62px; height: 62px; border-radius: 16px; }
	.pict { width: 46px; height: 46px; }
	.qcat b { font-size: 17px; }
	.qcat small { font-size: 15px; padding: 4px 10px; border-radius: 99px; background: var(--qs); }
}
@media (prefers-reduced-motion: reduce) { .qcat, .qcat::after, .pict { transition: none; } .qcat:hover { transform: none; } }

/* Suggestions : marque / modèle, puis « neufs » et « d'occasion » */
.hero-sugg .sg-group { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 4px; }
.hero-sugg .sg-group:first-child { border-top: 0; }
.hero-sugg .sg-sub a { padding: 7px 12px 7px 54px; gap: 8px; }
.hero-sugg .sg-sub .sg-ic { width: 20px; height: 20px; background: none; color: var(--fg-muted); }
.hero-sugg .sg-sub .sg-ic .ico { width: 16px; height: 16px; }
.hero-sugg .sg-sub span:not(.sg-ic) { font-size: 14.5px; }
.hero-sugg .sg-neuf { color: #17794a; font-weight: 700; }
.hero-sugg .sg-occ { color: #d9620b; font-weight: 700; }

/* Promo slider (v1.14) */
.banner.promo-slider { display: block; padding: 0; min-height: 540px; isolation: isolate; background: #0b1240; }
.promo-slides { position: absolute; inset: 0; z-index: -2; }
.promo-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% 30%; opacity: 0; transition: opacity 1.2s ease, transform 7s ease; transform: scale(1.04); display: block; }
.promo-slide.is-on { opacity: 1; transform: scale(1); }
.banner.promo-slider::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to top, rgba(8,13,52,.97) 0%, rgba(8,13,52,.88) 38%, rgba(8,13,52,.25) 66%, rgba(8,13,52,0) 85%); }
.banner.promo-slider .banner-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 22px 40px; overflow: visible; }
.banner.promo-slider .star { display: none; }
.banner.promo-slider h2 { padding-right: 0; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.promo-dots { position: absolute; left: 22px; bottom: 16px; display: flex; gap: 8px; z-index: 2; }
.promo-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.45); cursor: pointer; transition: width .3s, background .3s; }
.promo-dots button.is-on { width: 26px; background: var(--gold); }
/* Téléphone : l'image en entier en haut (personnes et téléphone visibles), le texte en dessous */
@media (max-width: 899px) {
	.banner.promo-slider { --ph: clamp(220px, 64vw, 420px); min-height: 0; }
	.promo-slides { inset: 0 0 auto 0; height: var(--ph); }
	.promo-slide { object-position: 100% 40%; transform: none; }
	.promo-slide.is-on { transform: none; }
	.banner.promo-slider::before { inset: 0 0 auto 0; height: var(--ph); background: linear-gradient(to top, #0b1240 0%, rgba(11,18,64,.6) 14%, rgba(11,18,64,0) 34%); }
	.banner.promo-slider .banner-txt { position: relative; margin-top: calc(var(--ph) - 18px); padding: 6px 20px 46px; }
	.banner.promo-slider h2 { font-size: 24px; }
}
@media (min-width: 900px) {
	.banner.promo-slider { min-height: 460px; display: block; }
	.promo-slide { object-position: center 35%; }
	.banner.promo-slider::before { background: linear-gradient(90deg, rgba(8,13,52,.97) 0%, rgba(8,13,52,.9) 30%, rgba(8,13,52,.55) 46%, rgba(8,13,52,0) 62%); }
	.banner.promo-slider .banner-txt { top: 0; bottom: 0; right: auto; width: min(560px, 48%); padding: 48px 52px; justify-content: center; }
	.banner.promo-slider h2 { font-size: 38px; }
	.promo-dots { left: 52px; bottom: 26px; }
}
@media (prefers-reduced-motion: reduce) { .promo-slide { transition: none; transform: none; } }

@media (max-width: 1399px) { .hide-md { display: none; } }
.mm-parts .mm-t small { white-space: normal; }

/* Bandeau publicitaire (v1.29) */
.pub-band { display: grid; grid-template-columns: 1fr; gap: 14px; margin-block: 8px 26px; }
@media (min-width: 900px) { .pub-band { grid-template-columns: 1fr 1fr; } .pub-band.single { grid-template-columns: 1fr; max-width: 900px; } }
.pub-win { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #0b1240; box-shadow: 0 8px 26px rgba(15,18,51,.14); isolation: isolate; }
.pub-track, .pub-slide { position: absolute; inset: 0; }
.pub-slide { display: block; opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.pub-slide.is-on { opacity: 1; pointer-events: auto; }
.pub-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pub-tag { position: absolute; top: 10px; right: 10px; z-index: 3; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; padding: 3px 8px; border-radius: 99px; }
.pub-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 38px; height: 38px; border-radius: 99px; border: 0; background: rgba(255,255,255,.85); color: #0f1233; font-size: 24px; line-height: 1; cursor: pointer; opacity: 0; transition: opacity .2s; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
.pub-nav.prev { left: 10px; } .pub-nav.next { right: 10px; }
.pub-win:hover .pub-nav, .pub-nav:focus-visible { opacity: 1; }
@media (hover: none) { .pub-nav { display: none; } }
.pub-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; gap: 6px; }
.pub-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .3s, background .3s; }
.pub-dots button.is-on { width: 22px; background: var(--gold); }
@media (prefers-reduced-motion: reduce) { .pub-slide { transition: none; } }

/* ===== v1.30 : partage, vendeur vérifié, analyse, application, marques ===== */
.share-btn { position: absolute; z-index: 3; width: 38px; height: 38px; border-radius: 99px; border: 0; background: rgba(255,255,255,.92); color: #3a3d55; display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.18); padding: 0; }
.share-btn:hover { color: var(--accent); }
.share-btn.on-pic { top: 56px; right: 10px; }
.card.mini .share-btn.on-pic { top: 54px; }
.fgal { position: relative; }
.share-btn.on-gal { top: 12px; right: 12px; width: 44px; height: 44px; }
.share-sheet { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: end center; }
.share-sheet .ss-bg { position: absolute; inset: 0; background: rgba(10,12,30,.45); }
.ss-box { position: relative; width: min(420px, 100%); background: var(--surface, #fff); border-radius: 18px 18px 0 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); display: grid; gap: 8px; }
@media (min-width: 700px) { .share-sheet { place-items: center; } .ss-box { border-radius: 18px; } }
.ss-box b { font-family: var(--font-display); font-size: 17px; margin-bottom: 4px; }
.ss-box a, .ss-box button { display: block; text-align: center; padding: 12px; border-radius: 12px; font: inherit; font-weight: 700; text-decoration: none; border: 1.5px solid var(--line); background: var(--surface, #fff); color: var(--fg); cursor: pointer; }
.ss-box .ss-wa { background: #25d366; border-color: #25d366; color: #fff; }
.ss-box .ss-fb { background: #1877f2; border-color: #1877f2; color: #fff; }
.ss-box .ss-x { border: 0; color: var(--fg-muted); }
.sky-mini-toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%); z-index: 1001; background: #0f1233; color: #fff; padding: 12px 16px; border-radius: 12px; font-size: 14px; max-width: calc(100% - 32px); box-shadow: 0 6px 20px rgba(0,0,0,.25); transition: opacity .4s; }
.sky-mini-toast.out { opacity: 0; }

.verif { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: #1a73e8; font-size: 14px; }
.verif.sm { font-size: 12px; gap: 4px; margin-top: 2px; }
.verif svg { flex: none; }
.fiche-verif { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 6px 0 0; color: var(--fg-muted); font-size: 13.5px; }

.intel { margin: 22px 0; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, #f3f0ff 0%, #eef6ff 100%); border: 1px solid #ddd6fe; }
.intel-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.intel-h h2 { margin: 0; font-size: 18px; background: linear-gradient(90deg, #6d28d9, #1a73e8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.intel-ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #7c3aed, #1a73e8); font-size: 16px; }
.intel-tag { margin-left: auto; font-size: 12px; font-weight: 700; color: #6d28d9; background: #fff; border: 1px solid #ddd6fe; padding: 3px 10px; border-radius: 99px; }
.intel-res { margin: 12px 0 6px; font-weight: 600; }
.intel-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 700px) { .intel-list { grid-template-columns: 1fr 1fr; } }
.intel-list li { display: flex; gap: 10px; align-items: flex-start; background: rgba(255,255,255,.75); border-radius: 12px; padding: 10px 12px; }
.intel-list .ii { font-size: 20px; line-height: 1.2; }
.intel-list b { display: block; font-size: 14.5px; }
.intel-list small { display: block; color: var(--fg-muted); font-size: 13px; line-height: 1.4; }
.intel-note { margin: 12px 0 0; font-size: 12px; color: var(--fg-muted); }

.stores { display: flex; flex-wrap: wrap; gap: 10px; }
.store { display: inline-flex !important; align-items: center; gap: 8px; padding: 7px 14px 7px 11px !important; border-radius: 10px; background: #000; color: #fff !important; text-decoration: none; line-height: 1.05; min-width: 150px; border: 1px solid #333; }
.store span { display: flex; flex-direction: column; font-weight: 700; font-size: 17px; }
.store small { font-size: 10.5px; font-weight: 500; opacity: .9; }
.store:hover { background: #1c1c1c; }

.foot-app { margin-top: 22px; padding: 18px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); display: grid; gap: 14px; }
.foot-app h2 { font-size: 17px; margin: 0 0 4px; }
.foot-app p { margin: 0; color: var(--fg-muted); font-size: 14px; }
@media (min-width: 900px) { .foot-app { grid-template-columns: 1fr auto; align-items: center; } }

.app-promo { margin: 26px 0 6px; border-radius: 22px; overflow: hidden; background: linear-gradient(120deg, #0f1233 0%, #1a2fa8 55%, #1f3fd0 100%); color: #fff; display: grid; align-items: center; }
.app-promo .app-txt { padding: 24px 22px; }
.app-promo h2 { color: #fff; margin: 0 0 8px; font-size: 22px; }
.app-promo p { margin: 0 0 16px; color: rgba(255,255,255,.85); max-width: 46ch; }
.app-promo .app-img { display: block; width: auto; max-width: 100%; height: 340px; justify-self: center; object-fit: contain; }
@media (min-width: 800px) { .app-promo { grid-template-columns: 1.2fr 1fr; } .app-promo .app-txt { padding: 32px 36px; } .app-promo h2 { font-size: 26px; } }
@media (max-width: 799px) { .app-promo .app-img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; } }
html.is-app .app-promo, html.is-app .foot-app { display: none !important; }

.btabs { display: flex; gap: 8px; margin: 0 0 12px; }
.btab { font: inherit; font-weight: 700; font-size: 14px; padding: 8px 16px; border-radius: 99px; border: 1.5px solid var(--line); background: var(--surface); color: var(--fg); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btab.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.btab-n { font-size: 11px; background: rgba(0,0,0,.08); padding: 1px 7px; border-radius: 99px; }
.btab.on .btab-n { background: rgba(255,255,255,.25); }
.brand { position: relative; }
.brand-new { position: absolute; top: 6px; right: 6px; font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #fff; background: #e8590c; padding: 2px 6px; border-radius: 99px; }
.brands[hidden] { display: none !important; }
@media (max-width: 699px) {
	.brands { grid-template-columns: none; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-auto-columns: 30%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
	.brands::-webkit-scrollbar { display: none; }
	.brands .brand { scroll-snap-align: start; }
}
@media (max-width: 699px) { .hide-m { display: none; } }
.app-promo .app-img { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%); }
@media (max-width: 799px) { .app-promo .app-img { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%); mask-image: linear-gradient(180deg, transparent 0, #000 18%); } }
.aidesc { margin: 22px 0 0; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, #f3f0ff 0%, #eef6ff 100%); border: 1px solid #ddd6fe; }
.aidesc-t { margin-top: 10px; line-height: 1.6; }
.aidesc-t p { margin: 0 0 10px; }
.aidesc + .intel { margin-top: 14px; }

/* ===== v1.32 : bannière façon DubiCars (titre à gauche, panneau de recherche en bas, diaporama) ===== */
.hero-banner { min-height: 520px; place-items: stretch; overflow: visible; }
.hero-banner::after { background: linear-gradient(90deg, rgba(8, 9, 40, calc(var(--dim, .35) + .15)) 0%, rgba(8, 9, 40, calc(var(--dim, .35) * .4)) 45%, rgba(8, 9, 40, 0) 70%), linear-gradient(180deg, rgba(8, 9, 40, 0) 50%, rgba(8, 9, 40, .35) 100%); }
.hero-s2 { opacity: 0; transition: opacity 1.2s ease; z-index: 0; }
.hero-s2.show { opacity: 1; }
.hero-content { max-width: none; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: 34px 18px 18px; text-align: left; }
.hero-tag { font-family: "Poppins", system-ui, sans-serif; color: #fff; text-shadow: 0 2px 14px rgba(0, 0, 0, .45); max-width: 640px; }
.ht-small { margin: 0; font-weight: 500; font-size: clamp(16px, 2.2vw, 30px); line-height: 1.15; letter-spacing: .005em; }
.ht-big { margin: 4px 0 0; font-weight: 800; font-size: clamp(32px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -.01em; }
.ht-big span { color: var(--gold); }
.hero-panel { align-self: center; width: min(100%, 860px); padding: 16px; border-radius: 22px; text-align: center; background: rgba(40, 36, 46, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 14px 40px rgba(0, 0, 0, .25); position: relative; z-index: 6; }
.hp-title { margin: 0 0 12px; color: #fff; font-family: "Poppins", system-ui, sans-serif; font-weight: 700; font-size: clamp(18px, 2.2vw, 26px); }
.hero-panel .hero-search { padding: 0; background: none; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.hero-panel .hero-search-in { padding: 0 0 0 18px; border-radius: 99px; box-shadow: none; overflow: hidden; }
.hero-panel .hero-search-in:focus-within { box-shadow: 0 0 0 3px var(--gold); }
.hero-panel .hero-search input { font-size: 16px; padding: 15px 0; font-family: "Poppins", system-ui, sans-serif; }
.hero-panel .hero-search button { width: auto; height: auto; align-self: stretch; padding: 0 22px; border-radius: 99px; background: var(--accent); color: #fff; font: 700 16px/1 "Poppins", system-ui, sans-serif; white-space: nowrap; }
.hero-panel .hero-search button:hover { background: #24249e; filter: brightness(1.15); }
.hs-long { display: none; }
.hero-panel .hero-title { font-family: "Poppins", system-ui, sans-serif; text-transform: none; font-weight: 600; letter-spacing: 0; font-size: clamp(14px, 1.6vw, 17px); line-height: 1.35; max-width: none; margin: 12px 0 0; text-shadow: none; color: rgba(255, 255, 255, .95); }
.hero-panel .hero-title::after { display: none; }
.hero-panel .hero-sub { margin-top: 4px; font-size: 13px; text-shadow: none; color: rgba(255, 255, 255, .8); }
.hero-dots { position: absolute; right: 18px; top: 16px; display: flex; gap: 6px; z-index: 3; }
.hero-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .55); cursor: pointer; transition: width .3s; }
.hero-dots button[aria-current="true"] { width: 24px; background: #fff; }
@media (min-width: 700px) {
	.hs-long { display: inline; }
	.hs-short { display: none; }
	.hero-panel .hero-search input { font-size: 18px; padding: 18px 0; }
	.hero-panel .hero-search button { padding: 0 30px; font-size: 18px; }
}
@media (min-width: 900px) {
	.hero-banner { min-height: 600px; }
	.hero-content { padding: 56px 48px 26px; }
	.hero-panel { padding: 20px 28px 18px; }
}
@media (max-width: 699px) {
	.hero-banner { min-height: 560px; }
	.hero-banner::after { background: linear-gradient(180deg, rgba(8, 9, 40, calc(var(--dim, .35) + .1)) 0%, rgba(8, 9, 40, 0) 40%, rgba(8, 9, 40, .45) 100%); }
}
@media (max-width: 699px) { .hero-panel .hero-search button { padding: 0 16px; font-size: 15px; } .hero-panel .hero-search-in { padding-left: 14px; } }

/* v1.32.1 : le panneau de recherche déborde sous l'image pour laisser voir les voitures. */
.hero-banner { background: transparent; box-shadow: none; }
.hero-bg, .hero-banner::after { bottom: var(--panel-out, 0px); height: auto; border-radius: 18px; box-shadow: 0 10px 30px rgba(15, 18, 51, .16); }
.hero-bg img { object-position: center 78% !important; }
.hero-banner { --panel-out: 150px; padding-bottom: 0; }
.hero-content { padding-bottom: 0; }
.hero-panel { background: rgba(28, 26, 44, .78); }
@media (min-width: 900px) {
	.hero-banner { --panel-out: 96px; min-height: 640px; border-radius: 22px; }
	.hero-bg, .hero-banner::after { border-radius: 22px; }
	.hero-panel { width: min(100%, 820px); }
}
@media (max-width: 699px) {
	.hero-banner { --panel-out: 210px; min-height: 660px; }
	.hero-panel { background: #1f1c33; }
}

/* v1.32.2 : téléphone au format DubiCars (image large en haut, carte blanche de recherche dessous). */
@media (max-width: 699px) {
	.hero-banner { --img-h: 62vw; --panel-out: 0px; min-height: 0; display: block; }
	.hero-bg, .hero-banner::after { bottom: auto; height: var(--img-h); border-radius: 16px; }
	.hero-bg img { object-position: center center !important; }
	.hero-banner::after { background: linear-gradient(90deg, rgba(8, 9, 40, .45) 0%, rgba(8, 9, 40, .1) 60%, rgba(8, 9, 40, 0) 100%); }
	.hero-content { display: flow-root; padding: 0; }
	.hero-tag { position: absolute; top: 14px; left: 16px; right: 70px; z-index: 2; }
	.ht-small { font-size: 13px; }
	.ht-big { font-size: 25px; margin-top: 2px; }
	.hero-dots { top: 12px; right: 12px; }
	.hero-panel { margin: calc(var(--img-h) - 34px) 10px 0; width: auto; padding: 18px 16px 16px; text-align: left; border-radius: 18px; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 8px 26px rgba(15, 18, 51, .14); }
	.hp-title { color: #2b2b33; font-weight: 600; font-size: 22px; margin-bottom: 14px; }
	.hero-panel .hero-search-in { display: block; background: none; padding: 0; overflow: visible; box-shadow: none; }
	.hero-panel .hero-search-in .hs-ico { position: absolute; left: 16px; top: 15px; z-index: 1; }
	.hero-panel .hero-search input { width: 100%; box-sizing: border-box; background: #ebecf0; border-radius: 99px; padding: 14px 16px 14px 46px; font-size: 15px; }
	.hero-panel .hero-search-in:focus-within { box-shadow: none; }
	.hero-panel .hero-search input:focus { box-shadow: 0 0 0 2px var(--gold); }
	.hero-panel .hero-search button { width: 100%; margin-top: 12px; padding: 15px 16px; font-size: 17px; }
	.hs-long { display: inline; }
	.hs-short { display: none; }
	.hero-panel .hero-search-in [type="button"], .hero-panel .hero-search-in .hs-clear { position: absolute; right: 10px; top: 8px; width: auto; margin: 0; padding: 6px; background: none; color: var(--fg-muted); }
	.hero-panel .hero-title { color: #2b2b33; font-size: 14px; text-align: center; margin-top: 14px; }
	.hero-panel .hero-sub { color: var(--fg-muted); text-align: center; }
	.hero-sugg { top: 54px; left: 0; right: 0; }
}
@media (max-width: 699px) { .hero-sugg { z-index: 60; } .hero-panel { z-index: 30; } }

/* v1.32.4 : description IA compacte façon DubiCars (3 lignes + « En savoir plus »). */
.aidesc { margin: 22px 0 0; padding: 0; background: none; border: 0; border-radius: 0; }
.aidesc h2 { margin: 0 0 10px; font-size: 22px; display: flex; align-items: center; gap: 10px; }
.ai-tag { font-size: 11.5px; font-weight: 700; color: #6d28d9; background: #f3f0ff; border: 1px solid #ddd6fe; padding: 2px 8px; border-radius: 99px; letter-spacing: .02em; }
.aidesc-t { position: relative; max-height: 4.9em; overflow: hidden; line-height: 1.6; font-size: 16px; color: var(--fg); transition: max-height .3s ease; }
.aidesc-t::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.2em; background: linear-gradient(180deg, rgba(255,255,255,0), var(--bg, #fff)); pointer-events: none; }
.aidesc-t.open { max-height: 80em; }
.aidesc-t.open::after { display: none; }
.aidesc-t p { margin: 0 0 10px; }
.ai-note { font-size: 12.5px; color: var(--fg-muted); }
.ai-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 8px 0; border: 0; background: none; color: var(--accent); font: 700 16px/1 inherit; font-family: inherit; cursor: pointer; }
.ai-more svg { transition: transform .2s; }
.ai-more[aria-expanded="true"] svg { transform: rotate(180deg); }
.aidesc + .intel { margin-top: 18px; }

/* v1.33 : encadré « Sky Business Intelligence » (façon DubiCars). */
.sbi { margin: 22px 0 0; padding: 18px 18px 16px; border: 1.5px solid #c9d8f2; border-radius: 18px; background: #fff; }
.sbi-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 99px; background: #efe4f7; color: #1d4fd8; font-weight: 700; font-size: 17px; white-space: nowrap; }
.sbi-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 16px 0 6px; }
.sbi-row h2 { margin: 0; font-size: 19px; font-weight: 600; color: #2b2b33; }
.sbi-row span { color: #9a9aa6; font-size: 14.5px; white-space: nowrap; }
.sbi-pts { margin: 0 0 10px; padding-left: 22px; }
.sbi-pts li { margin: 6px 0; color: #2b2b33; font-size: 16px; }
.sbi-pts small { display: none; color: var(--fg-muted); font-size: 13.5px; }
.sbi.open .sbi-pts small { display: block; }
.sbi-txt { color: #3a3a44; font-size: 16px; line-height: 1.6; max-height: 6.4em; overflow: hidden; position: relative; }
.sbi-txt p { margin: 0 0 10px; }
.sbi-txt::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2em; background: linear-gradient(180deg, rgba(255,255,255,0), #fff); }
.sbi.open .sbi-txt { max-height: none; }
.sbi.open .sbi-txt::after { display: none; }
.sbi-note { font-size: 12.5px; color: var(--fg-muted); }
.sbi-more { display: block; width: 100%; margin-top: 12px; padding: 14px; border: 0; border-radius: 12px; background: #f3f3f5; color: #8e1a9e; font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; }
.sbi-more:hover { background: #ebebef; }
.sbi-pts b { font-weight: 500; }
.sbi + .intel { margin-top: 16px; }
@media (max-width: 699px) { .intel-h { flex-wrap: nowrap; } .intel-h h2 { font-size: 17px; white-space: nowrap; } .intel-tag { white-space: nowrap; font-size: 11px; padding: 3px 8px; } }
/* v1.33.3 : téléphone — la 2e image est cadrée sur la voiture (en entier, plaque visible). */
@media (max-width: 699px) {
	.hero-banner { --img-h: 66vw; }
	.hero-panel { margin-top: calc(var(--img-h) - 18px); }
	.hero-s2 img { object-position: 80% center !important; }
}

/* v1.33.6 : bouton « Messages reçus » sur ses propres annonces. */
.own-unread { display: inline-block; margin-left: 6px; background: #b3261e; color: #fff; border-radius: 99px; font-size: 12px; font-weight: 700; padding: 1px 8px; }
