/* ===== IQS Vehicle Manager — front-end styles ===== */
.iqs-vm-wrap{
  --iqs-ink:#1a1a1a;
  --iqs-paper:#fafaf8;
  --iqs-paper-dim:#f0ede5;
  --iqs-accent:#2563eb;
  --iqs-accent-dark:#1e40af;
  --iqs-steel:#6b7280;
  --iqs-line:rgba(0,0,0,.1);
  font-family: 'Source Sans 3', system-ui, sans-serif;
  color: var(--iqs-ink);
  background: var(--iqs-paper);
  padding: 2.5rem 1.5rem;
}
.iqs-vm-wrap h1, .iqs-vm-wrap h2, .iqs-vm-wrap h3 { font-family:'Oswald', sans-serif; }
.iqs-vm-container{ max-width:1180px; margin-inline:auto; }

/* Grid + cards */
.iqs-vehicle-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px,300px));
  justify-content:start;
  gap:1.5rem;
}
.iqs-vehicle-card{
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:10px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iqs-vehicle-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px -18px rgba(0,0,0,.3);
  border-color:rgba(0,0,0,.1);
}
.iqs-vc-photo{ position:relative; aspect-ratio:16/10; background:#eceae4; overflow:hidden; }
.iqs-vc-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  max-width:100% !important;
}
.iqs-vc-noimg{ display:flex; align-items:center; justify-content:center; height:100%; color:#9a9a9a; font-size:.8rem; background:#eceae4; }
.iqs-vc-badge{ position:absolute; top:.65rem; left:.65rem; z-index:2; background:#b91c1c; color:#fff; font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; padding:.28rem .55rem; border-radius:3px; font-weight:600; }
.iqs-vc-body{ padding:.9rem 1rem 1rem; display:flex; flex-direction:column; gap:.55rem; }
.iqs-vc-body h3{ font-size:.95rem; text-transform:uppercase; margin:0; line-height:1.3; letter-spacing:.01em; }
.iqs-vc-meta{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:'IBM Plex Mono', monospace;
  border-top:1px solid rgba(0,0,0,.06); padding-top:.5rem; margin-top:.1rem;
}
.iqs-vc-km{ font-size:.78rem; color:var(--iqs-steel); }
.iqs-vc-price{ color:var(--iqs-ink); font-weight:600; font-size:1rem; }
.iqs-vc-cta{
  display:inline-flex; align-items:center; gap:.3rem;
  margin-top:.1rem; font-family:'Oswald', sans-serif; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.05em; color:var(--iqs-accent);
}
.iqs-vc-cta svg{ transition:transform .15s ease; }
.iqs-vehicle-card:hover .iqs-vc-cta svg{ transform:translateX(3px); }
.iqs-vm-empty{ text-align:center; color:var(--iqs-steel); padding:2rem; }

/* ===== Swipeable slider ===== */
.iqs-vs-wrap{ display:flex; align-items:center; gap:.75rem; }
.iqs-vs-track{
  display:flex; gap:1.25rem; flex:1; min-width:0;
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:.25rem .1rem .5rem; cursor:grab;
  scrollbar-width:none; -ms-overflow-style:none;
}
.iqs-vs-track::-webkit-scrollbar{ display:none; }
.iqs-vs-track.iqs-dragging{ cursor:grabbing; scroll-snap-type:none; user-select:none; }
.iqs-vs-item{ flex:0 0 calc((100% - 2*1.25rem)/3); min-width:0; scroll-snap-align:start; }
.iqs-vs-item .iqs-vehicle-card{ height:100%; }

@media (max-width:900px){
  .iqs-vs-item{ flex-basis:calc((100% - 1.25rem)/2); }
}
@media (max-width:600px){
  .iqs-vs-track{ gap:1rem; }
  .iqs-vs-item{ flex-basis:80%; }
}

.iqs-vs-arrow{
  flex-shrink:0; width:40px; height:40px; border-radius:50%;
  background:#fff; border:1px solid rgba(0,0,0,.1);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--iqs-ink);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.iqs-vs-arrow:hover:not(:disabled){ background:var(--iqs-accent); color:#fff; transform:scale(1.06); }
.iqs-vs-arrow:disabled{ opacity:.3; cursor:default; }
@media (max-width:640px){
  .iqs-vs-arrow{ display:none; } /* rely on native touch swipe on mobile */
}

/* Archive page: filter bar */
.iqs-vm-filters{
  display:flex; flex-wrap:wrap; gap:1rem; align-items:end;
  background:var(--iqs-paper-dim); border-radius:6px; padding:1.25rem; margin-bottom:2rem;
}
.iqs-vm-filters .field{ display:flex; flex-direction:column; gap:.3rem; font-size:.85rem; }
.iqs-vm-filters label{ font-family:'IBM Plex Mono', monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--iqs-steel); }
.iqs-vm-filters input, .iqs-vm-filters select{
  padding:.55rem .7rem; border:1px solid var(--iqs-line); border-radius:4px; font-family:inherit; font-size:.9rem; min-width:140px;
}
.iqs-vm-filters button{
  background:var(--iqs-accent); color:#fff; border:none; border-radius:4px;
  padding:.6rem 1.4rem; font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-size:.85rem; cursor:pointer;
}
.iqs-vm-filters button:hover{ background:var(--iqs-accent-dark); }
.iqs-vm-filters .clear{ font-size:.8rem; color:var(--iqs-steel); text-decoration:underline; align-self:center; }

.iqs-vm-count{ color:var(--iqs-steel); margin-bottom:1.25rem; font-size:.95rem; }

/* Pagination */
.iqs-vm-pagination{ display:flex; gap:.5rem; justify-content:center; margin-top:2.5rem; flex-wrap:wrap; }
.iqs-vm-pagination a, .iqs-vm-pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 .5rem;
  border:1px solid var(--iqs-line); border-radius:4px; text-decoration:none; color:var(--iqs-ink);
  font-family:'IBM Plex Mono', monospace; font-size:.85rem;
}
.iqs-vm-pagination .current{ background:var(--iqs-accent); color:#fff; border-color:var(--iqs-accent); }
.iqs-vm-pagination a:hover{ border-color:var(--iqs-accent); color:var(--iqs-accent); }

/* Single vehicle page */
.iqs-vm-single{ display:grid; grid-template-columns:1.4fr 1fr; gap:2.5rem; align-items:start; }
@media (max-width:860px){ .iqs-vm-single{ grid-template-columns:1fr; } }

.iqs-vm-gallery-main{ border-radius:6px; overflow:hidden; aspect-ratio:4/3; background:#eee; margin-bottom:.75rem; }
.iqs-vm-gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; }
.iqs-vm-gallery-thumbs{ display:flex; gap:.5rem; flex-wrap:wrap; }
.iqs-vm-gallery-thumbs img{ width:70px; height:70px; object-fit:cover; border-radius:4px; cursor:pointer; border:2px solid transparent; }
.iqs-vm-gallery-thumbs img.active{ border-color:var(--iqs-accent); }

.iqs-vm-panel{ background:#fff; border:1px solid var(--iqs-line); border-radius:6px; padding:1.75rem; }
.iqs-vm-panel h1{ font-size:1.6rem; text-transform:uppercase; margin-bottom:.5rem; }
.iqs-vm-panel .price{ font-size:2rem; font-weight:600; color:var(--iqs-accent); margin-bottom:1.25rem; font-family:'Oswald',sans-serif; }
.iqs-vm-panel .price.sold{ color:#b91c1c; }
.iqs-vm-specs{ width:100%; border-collapse:collapse; margin-bottom:1.5rem; font-size:.9rem; }
.iqs-vm-specs td{ padding:.5rem 0; border-bottom:1px solid var(--iqs-line); }
.iqs-vm-specs td:first-child{ color:var(--iqs-steel); font-family:'IBM Plex Mono',monospace; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
.iqs-vm-specs td:last-child{ text-align:right; font-weight:600; }
.iqs-vm-cta-row{ display:flex; flex-direction:column; gap:.75rem; }
.iqs-vm-btn{
  display:block; text-align:center; padding:.85rem 1.25rem; border-radius:4px;
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:.9rem;
  text-decoration:none;
}
.iqs-vm-btn--primary{ background:var(--iqs-accent); color:#fff; }
.iqs-vm-btn--primary:hover{ background:var(--iqs-accent-dark); }
.iqs-vm-btn--outline{ border:2px solid var(--iqs-ink); color:var(--iqs-ink); }
.iqs-vm-desc{ margin-top:2.5rem; line-height:1.7; }
.iqs-vm-back{ display:inline-block; margin-bottom:1.5rem; color:var(--iqs-steel); text-decoration:none; font-size:.9rem; }
.iqs-vm-back:hover{ color:var(--iqs-accent); }

/* ===== Branded header/footer for vehicle pages ===== */
body.iqs-vm-page{ margin:0; }
.iqs-vm-header{ background:var(--iqs-ink,#1a1a1a); color:#fafaf8; }
.iqs-vm-header-inner{
  max-width:1180px; margin-inline:auto; padding:1rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.iqs-vm-brand{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:'Oswald',sans-serif; font-weight:700; font-size:1.25rem;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:#fafaf8;
}
.iqs-vm-brand svg{ width:24px; height:24px; color:#2563eb; }
.iqs-vm-nav{ display:flex; gap:1.5rem; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:.85rem; }
.iqs-vm-nav a{ color:#fafaf8; text-decoration:none; padding-bottom:2px; border-bottom:2px solid transparent; }
.iqs-vm-nav a:hover{ border-color:#2563eb; }
.iqs-vm-header-phone{ font-family:'IBM Plex Mono',monospace; color:#2563eb; text-decoration:none; font-size:.9rem; }

.iqs-vm-footer{ background:var(--iqs-ink,#1a1a1a); color:rgba(250,250,248,.7); margin-top:3rem; }
.iqs-vm-footer-inner{ max-width:1180px; margin-inline:auto; padding:2.5rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }
.iqs-vm-footer-brand{ font-family:'Oswald',sans-serif; color:#fafaf8; font-size:1.2rem; text-transform:uppercase; letter-spacing:.06em; }
.iqs-vm-footer-info{ display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; font-size:.9rem; }
.iqs-vm-footer-info a{ color:#2563eb; text-decoration:none; }
.iqs-vm-footer-copy{ font-size:.8rem; color:rgba(250,250,248,.45); border-top:1px solid rgba(250,250,248,.1); padding-top:1rem; margin-top:.5rem; }

@media (max-width:640px){
  .iqs-vm-nav, .iqs-vm-header-phone{ display:none; }
}
