/* Catalogue véhicules — style professionnel et responsive */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.catalog-filters{display:flex;flex-wrap:wrap;gap:8px}
.catalog-filter{padding:10px 17px;border:1px solid #d9e0e9;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;transition:.2s}
.catalog-filter:hover{border-color:var(--red);color:var(--red)}
.catalog-filter.active{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 7px 18px rgba(10,102,194,.22)}
.catalog-search{width:min(330px,100%);height:46px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#fff;border:1px solid #d9e0e9;border-radius:12px;color:var(--muted)}
.catalog-search:focus-within{border-color:var(--red);box-shadow:0 0 0 4px rgba(10,102,194,.1)}
.catalog-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:600 13px var(--font);color:var(--text)}
.catalog-summary{margin:0 0 18px;color:var(--muted);font-size:13px;font-weight:650}
.catalog-summary strong{color:var(--navy);font-size:15px}
.catalog-empty{text-align:center;padding:60px 20px;border:1px dashed #cad3df;border-radius:16px;background:#fff;color:var(--muted);font-weight:700}

.catalog-card{border:0;box-shadow:0 8px 28px rgba(7,20,38,.08)}
.catalog-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(7,20,38,.14)}
.catalog-card-media{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e8edf3;text-align:initial}
.catalog-card-media>img,.catalog-card-media>video{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.catalog-card:hover .catalog-card-media>img,.catalog-card:hover .catalog-card-media>video{transform:scale(1.04)}
.catalog-card-media::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(3,10,18,.58));pointer-events:none}
.catalog-badge{position:absolute;z-index:2;top:14px;left:14px;padding:7px 11px;border-radius:7px;background:var(--navy);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.catalog-badge.hot{background:#d64545}.catalog-badge.deal{background:#138a5b}.catalog-badge.premium{background:#a87920}
.catalog-media-count{position:absolute;z-index:2;right:12px;bottom:11px;padding:6px 9px;border-radius:7px;background:rgba(4,11,21,.78);color:#fff;font-size:11px;font-weight:750;backdrop-filter:blur(5px)}
.catalog-version{margin-top:2px;color:var(--muted);font-size:12px;font-weight:650}
.catalog-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.65}
.catalog-card-actions{display:flex;gap:9px;margin-top:18px}
.catalog-card-actions .btn{flex:1;padding:12px 15px;border-radius:9px;font-size:13px}
.catalog-wa{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:9px;background:var(--whatsapp);color:#fff;font-size:18px;box-shadow:0 7px 16px rgba(37,211,102,.2)}
.catalog-no-media{display:grid;place-items:center;width:100%;height:100%;font-size:54px;background:#e8edf3}

body.modal-open{overflow:hidden}
.car-modal{position:fixed;inset:0;z-index:10000;display:none;padding:28px;align-items:center;justify-content:center}
.car-modal.open{display:flex}
.car-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,16,.78);backdrop-filter:blur(8px);animation:modalFade .2s ease}
.car-modal-dialog{position:relative;z-index:1;width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.42);animation:modalIn .25s ease}
.car-modal-close{position:absolute;z-index:5;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:rgba(4,11,21,.82);color:#fff;font-size:28px;line-height:1;box-shadow:0 5px 18px rgba(0,0,0,.25)}
.modal-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr)}
.modal-gallery{min-width:0;padding:18px;background:#071426}
.modal-main-media{height:min(62vh,610px);border-radius:13px;overflow:hidden;background:#02060b;display:grid;place-items:center}
.modal-main-media img,.modal-main-media video{width:100%;height:100%;object-fit:contain}
.modal-thumbs{display:flex;gap:9px;overflow-x:auto;padding-top:12px;scrollbar-width:thin}
.modal-thumb{position:relative;width:90px;height:64px;flex:0 0 90px;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#15253a;opacity:.65}
.modal-thumb.active{border-color:#fff;opacity:1}.modal-thumb:hover{opacity:1}
.modal-thumb img,.modal-thumb video{width:100%;height:100%;object-fit:cover}
.video-symbol{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff;font-size:20px;background:rgba(0,0,0,.28)}
.modal-info{padding:38px 32px 30px}
.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-right:32px}
.modal-ref{display:block;color:var(--red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.modal-heading h2{color:var(--navy);font-size:clamp(24px,3vw,34px);line-height:1.1;font-weight:900}
.modal-heading p{margin-top:5px;color:var(--muted);font-size:14px;font-weight:650}
.modal-year{padding:7px 10px;border-radius:7px;background:var(--grey);color:var(--navy);font-size:13px;font-weight:850}
.modal-price{margin:24px 0 18px;color:var(--red);font-size:31px;font-weight:900;line-height:1}
.modal-specs{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.modal-specs div{padding:12px;border-radius:10px;background:var(--grey)}
.modal-specs small{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}
.modal-specs strong{display:block;margin-top:2px;color:var(--navy);font-size:13px}
.modal-description{margin:20px 0;color:var(--muted);font-size:14px;line-height:1.75}
.modal-info h3{margin-bottom:10px;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.modal-features{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.modal-features li{color:var(--text);font-size:12px;font-weight:650}.modal-features li::first-letter{color:var(--green)}
.modal-location{margin-top:18px;padding-top:15px;border-top:1px solid #e9edf2;color:var(--muted);font-size:13px;font-weight:700}
.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions .btn{flex:1;padding:13px 16px}
.modal-no-media{color:#fff;font-weight:700}
@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:900px){.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.catalog-filter{flex:0 0 auto}.catalog-search{width:100%}.modal-layout{grid-template-columns:1fr}.car-modal{padding:12px;align-items:flex-start}.car-modal-dialog{max-height:calc(100vh - 24px)}.modal-main-media{height:min(48vh,450px)}.modal-info{padding:28px 22px}}
@media(max-width:520px){.car-modal{padding:0}.car-modal-dialog{max-height:100vh;min-height:100vh;border-radius:0}.modal-gallery{padding:8px}.modal-main-media{height:40vh;border-radius:8px}.modal-info{padding:24px 17px}.modal-heading{padding-right:35px}.modal-specs{gap:7px}.modal-features{grid-template-columns:1fr}.modal-actions{flex-direction:column}.car-modal-close{top:10px;right:10px}.catalog-card-actions .btn{font-size:12px}}
