/* v0.4 – swipeable car cards, filter drawer, vehicle gallery */

/* ---------- Car card ---------- */
.car-card .ph{position:relative}
.car-card .ph-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.car-card .ph-track::-webkit-scrollbar{display:none}
.car-card .ph-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:block;background:var(--line)}
.car-card .ph-slide img{width:100%;height:100%;object-fit:cover;display:block}
.car-card .ph-more{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(20,18,58,.72);color:#fff;font-weight:800;font-size:20px;text-align:center;line-height:1.3}
.car-card .ph-more span{font-size:15px;font-weight:700;text-decoration:underline}
.car-card .ph-count{position:absolute;right:10px;bottom:10px;background:rgba(20,18,58,.78);color:#fff;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px;pointer-events:none}
.ph-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--navy);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;padding:0 0 3px}
.ph-btn.prev{left:8px}.ph-btn.next{right:8px}
.car-card:hover .ph-btn,.ph-btn:focus-visible{opacity:1}
.ph-btn[disabled]{visibility:hidden}
@media (hover:none){.ph-btn{display:none}}
.car-card .bd{text-decoration:none;color:var(--ink)}
.car-card .bd:hover .t{color:var(--indigo)}
.car-card .badge-sold{z-index:2}

/* ---------- Filters ---------- */
.filters-head{display:flex;justify-content:space-between;align-items:center}
.filters-close{display:none;border:0;background:none;font-size:32px;line-height:1;cursor:pointer;color:var(--navy);padding:4px 8px}
.seg legend{font-weight:700;margin-bottom:6px}
.seg-row{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--border,#C9C9DA);border-radius:12px;padding:4px;gap:4px}
.seg-row label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;border-radius:9px;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink)}
.seg-row input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg-row label:has(input:checked){background:var(--navy);color:#fff}
.seg-row label:has(input:focus-visible){outline:3px solid var(--indigo);outline-offset:2px}
[data-mode-panel][hidden]{display:none}
.results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.fbar{display:none}

@media (min-width:901px){
  .js .filters-go{display:none} /* desktop: results update on change */
}
@media (max-width:900px){
  .listing{display:block}
  .results-bar{position:sticky;top:76px;z-index:20;background:#fff;margin:-8px -16px 16px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
  .fbar{display:flex;gap:8px;width:100%}
  .fbar .btn{flex:1;min-height:46px;padding:10px 14px}
  .msort{flex:1;display:flex}
  .msort select{width:100%;min-height:46px;border-radius:12px;border:2px solid var(--ink);font-weight:700;padding:0 14px;background:#fff;color:var(--ink);font-size:16px}
  .js .filters{position:fixed;inset:0;z-index:100;max-width:none;border-radius:0;overflow-y:auto;padding:20px 20px 100px;transform:translateY(100%);transition:transform .25s ease;visibility:hidden}
  .js .filters.open{transform:none;visibility:visible}
  .js .filters-close{display:block}
  .js .filters .filters-sort{display:none}
  .js .filters-go{position:fixed;left:16px;right:16px;bottom:16px;width:auto;z-index:101}
  body.filters-open{overflow:hidden}
}

/* ---------- Vehicle gallery ---------- */
.gal{display:flex;flex-direction:column;gap:10px;min-width:0}
.gal-stage{position:relative;border-radius:20px;overflow:hidden;background:var(--line);aspect-ratio:16/10}
.gal-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gal-track::-webkit-scrollbar{display:none}
.gal-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;border:0;padding:0;margin:0;background:var(--line);cursor:zoom-in}
.gal-slide img{width:100%;height:100%;object-fit:cover;display:block}
.gal .gal-btn,.gal-box .gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--navy);font-size:32px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;padding:0 0 4px;z-index:2}
.gal-btn.prev{left:12px}.gal-btn.next{right:12px}
.gal-btn[disabled]{opacity:.35;cursor:default}
.gal-count{position:absolute;left:12px;bottom:12px;background:rgba(20,18,58,.8);color:#fff;font-weight:700;font-size:14px;padding:5px 12px;border-radius:999px;z-index:2}
.gal-full{position:absolute;right:12px;bottom:12px;background:rgba(20,18,58,.8);color:#fff;font-weight:700;font-size:14px;padding:6px 12px;border-radius:999px;border:0;cursor:pointer;z-index:2}
.gal-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:thin}
.gal-thumbs button{flex:0 0 calc((100% - 56px) / 7.5);min-width:84px;aspect-ratio:4/3;padding:0;border:3px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--line);scroll-snap-align:start}
.gal-thumbs button[aria-current=true]{border-color:var(--indigo)}
.gal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:640px){
  .gal-stage{border-radius:14px;aspect-ratio:4/3}
  .gal .gal-btn{width:40px;height:40px;font-size:26px}
  .gal-thumbs button{flex-basis:calc((100% - 32px) / 4.5);min-width:0}
}
@media (hover:none){.gal .gal-btn{opacity:.85}}

/* Full screen */
.gal-box{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0b0a1f}
.gal-box::backdrop{background:#0b0a1f}
.gal-box[open]{display:block}
.gal-box-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gal-box-track::-webkit-scrollbar{display:none}
.gal-box-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gal-box-slide img{width:100%;height:100%;object-fit:contain;touch-action:pan-x pan-y pinch-zoom;transition:transform .2s;cursor:zoom-in}
.gal-box-slide img.zoom{transform:scale(2);cursor:zoom-out}
.gal-box-close{position:absolute;top:12px;right:12px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--navy);font-size:32px;line-height:1;cursor:pointer;z-index:3;padding:0 0 4px}
.gal-box .gal-count{left:50%;transform:translateX(-50%);bottom:16px}
@media (prefers-reduced-motion:reduce){.gal-track,.gal-box-track,.car-card .ph-track{scroll-behavior:auto}}
