/* ================================================================
   DriveX UI/UX Pro Max Redesign — Visual Layer Only
   No business logic changes. CSS overrides + enhancements.
   Generated via UI/UX Pro Max skill — Marketplace/Dark/Premium
================================================================ */

/* ---------------------------------------------------------------
   0. HORIZONTAL-OVERFLOW GUARD
   No overflow on <html> or <body> — both break position:fixed on iOS Safari.
   Horizontal overflow is contained at the element level (grid fixes, etc.).
--------------------------------------------------------------- */
img, video, iframe, svg, table { max-width: 100%; }
.al-container, main, .al-detail-layout { min-width: 0; }
@media (max-width: 768px) {
  main { overflow-x: hidden; }
}

/* ---------------------------------------------------------------
   1. ENHANCED DESIGN TOKENS
--------------------------------------------------------------- */
:root {
  /* Elevate shadow system */
  --shadow-xs:   0 1px 3px rgba(0,0,0,0.4);
  --shadow-sm:   0 2px 8px rgba(0,0,0,0.35);
  --shadow:      0 4px 20px rgba(0,0,0,0.45);
  --shadow-md:   0 8px 32px rgba(0,0,0,0.5);
  --shadow-lg:   0 16px 56px rgba(0,0,0,0.55);
  --shadow-glow: 0 0 28px rgba(249,115,22,0.18);
  --shadow-glow-sm: 0 0 12px rgba(249,115,22,0.12);

  /* Spacing scale */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;
  --sp-12: 48px;--sp-16: 64px;

  /* Enhanced radius */
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius:    12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

  /* Transition scale */
  --t-fast: all 0.12s ease;
  --t-base: all 0.2s ease;
  --t-slow: all 0.35s cubic-bezier(0.4,0,0.2,1);

  /* Premium card border */
  /* ── Global palette: Midnight Navy + Orange ── */
  --bg: #050a12;
  --bg2: #08101c;
  --bg3: #0d1929;
  --bg4: #122035;
  --card: #0a1120;
  --card2: #0f1829;
  --card-hover: #0d1525;
  --border: #1a2336;
  --border2: #1e2d40;
  --accent: #f97316;
  --accent2: #fb923c;
  --accent-dark: #ea6c0a;
  --accent-rgb: 249,115,22;
  --shadow-glow: 0 0 28px rgba(249,115,22,0.18);
  --shadow-glow-sm: 0 0 12px rgba(249,115,22,0.12);
  --border-hover: rgba(249,115,22,0.35);
  --card-hover: #0d1525;
  --green-rgb:  61,214,140;
  --blue-rgb:   74,158,255;
  --red-rgb:    232,82,82;
  --purple-rgb: 155,109,255;
}

/* ---------------------------------------------------------------
   2. BODY & TYPOGRAPHY REFINEMENTS
--------------------------------------------------------------- */
body {
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: -0.01em;
}

h1,h2,h3,h4,h5,h6 {
  letter-spacing: -0.03em;
  line-height: 1.2;
}

/* Better selection color */
::selection { background: rgba(249,115,22,0.25); color: var(--text); }

/* ---------------------------------------------------------------
   3. NAVIGATION — Premium Glass
--------------------------------------------------------------- */
.al-nav {
  height: 64px;
  background: rgba(8,10,13,0.92);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 4px 24px rgba(0,0,0,0.3);
}

.al-logo {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.5px;
}
.al-logo span { color: var(--accent); }

.al-nav-link {
  font-size: 13px;
  font-weight: 500;
  color: var(--text2);
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  transition: var(--t-base);
  position: relative;
}
.al-nav-link:hover {
  color: var(--text);
  background: rgba(255,255,255,0.06);
}
.al-nav-link.active {
  color: var(--accent);
  background: rgba(249,115,22,0.08);
}

/* Post Ad button in nav — more prominent */
.al-nav .al-btn-primary {
  font-size: 13px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: var(--radius-sm);
  box-shadow: 0 2px 12px rgba(249,115,22,0.3);
  letter-spacing: -0.1px;
  transition: var(--t-base);
}
.al-nav .al-btn-primary:hover {
  box-shadow: 0 4px 20px rgba(249,115,22,0.45);
  transform: translateY(-1px);
}

/* ---------------------------------------------------------------
   4. HERO SECTION — More Impact
--------------------------------------------------------------- */
.al-hero {
  padding: 72px 0 52px;
  min-height: 560px;
  display: flex;
  align-items: center;
}

.al-hero::before {
  background: radial-gradient(ellipse 80% 60% at 60% 0%,
    rgba(249,115,22,0.08) 0%,
    rgba(155,109,255,0.04) 45%,
    transparent 70%);
}

/* Badge above headline */
.al-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(249,115,22,0.08);
  border: 1px solid rgba(249,115,22,0.2);
  border-radius: 99px;
  padding: 5px 14px 5px 10px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.3px;
  margin-bottom: 20px;
}

/* Headline */
.al-hero h1 {
  font-size: clamp(36px, 5.5vw, 64px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin-bottom: 18px;
}

/* Subtitle */
.al-hero-sub {
  font-size: 16px;
  color: var(--text2);
  line-height: 1.7;
  max-width: 560px;
  margin-bottom: 32px;
}

/* Hero stats strip */
.al-hero-stats {
  display: flex;
  gap: 36px;
  margin-bottom: 32px;
  padding: 16px 24px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius);
  backdrop-filter: blur(8px);
  width: fit-content;
}
.al-stat-num {
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -0.5px;
  line-height: 1;
}
.al-stat-label {
  font-size: 11px;
  color: var(--text3);
  font-weight: 500;
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ---------------------------------------------------------------
   5. SEARCH BOX — Premium Upgrade
--------------------------------------------------------------- */
.al-search-box {
  background: rgba(19,22,30,0.95);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-xl);
  padding: 6px 6px 18px;
  backdrop-filter: blur(20px);
  box-shadow: 0 24px 72px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.06);
  max-width: 860px;
}

.al-search-tabs {
  display: flex;
  gap: 3px;
  padding: 6px;
  background: rgba(255,255,255,0.04);
  border-radius: var(--radius-lg);
  margin-bottom: 16px;
}
.al-search-tab {
  flex: 1;
  padding: 10px 16px;
  border-radius: var(--radius);
  background: transparent;
  border: none;
  color: var(--text3);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--t-base);
  white-space: nowrap;
  min-height: 44px;
}
.al-search-tab:hover {
  color: var(--text);
  background: rgba(255,255,255,0.06);
}
.al-search-tab.active {
  background: var(--accent);
  color: #0a0c0f;
  box-shadow: 0 2px 12px rgba(249,115,22,0.3);
}

.al-search-grid {
  padding: 0 12px;
  gap: 10px;
}

.al-field label {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 6px;
  display: block;
}
.al-field select,
.al-field input[type="date"],
.al-field input[type="text"],
.al-field input[type="number"] {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-size: 14px;
  padding: 10px 12px;
  width: 100%;
  min-height: 44px;
  transition: var(--t-base);
  -webkit-appearance: none;
  appearance: none;
}
.al-field select:focus,
.al-field input:focus {
  outline: none;
  border-color: rgba(249,115,22,0.45);
  background: rgba(249,115,22,0.04);
  box-shadow: 0 0 0 3px rgba(249,115,22,0.08);
}

/* Search submit button */
.al-search-grid > button[type="submit"],
.al-search-grid > .al-btn-primary {
  height: 44px;
  align-self: end;
  font-size: 14px;
  font-weight: 700;
  border-radius: var(--radius-sm);
  padding: 0 22px;
  box-shadow: 0 2px 16px rgba(249,115,22,0.3);
  transition: var(--t-base);
  min-height: 44px;
  white-space: nowrap;
}
.al-search-grid > button[type="submit"]:hover,
.al-search-grid > .al-btn-primary:hover {
  box-shadow: 0 4px 24px rgba(249,115,22,0.45);
  transform: translateY(-1px);
}

/* ---------------------------------------------------------------
   6. PROMO BANNER — More Visible
--------------------------------------------------------------- */
.dx-promo-banner {
  background: linear-gradient(90deg,
    rgba(61,214,140,0.12) 0%,
    rgba(249,115,22,0.1) 50%,
    rgba(155,109,255,0.08) 100%);
  border-bottom: 1px solid rgba(61,214,140,0.2);
  padding: 10px 0;
}
.dx-promo-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 13px;
}
.dx-promo-badge {
  background: rgba(61,214,140,0.2);
  border: 1px solid rgba(61,214,140,0.35);
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 99px;
  letter-spacing: 0.8px;
  white-space: nowrap;
}
.dx-promo-cta {
  margin-left: auto;
  background: var(--green);
  color: #0a0c0f;
  font-weight: 700;
  font-size: 12px;
  padding: 7px 16px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  white-space: nowrap;
  transition: var(--t-base);
}
.dx-promo-cta:hover { background: #4ee8a0; transform: translateY(-1px); }
.dx-promo-close {
  background: transparent;
  border: none;
  color: var(--text3);
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 28px; min-height: 28px;
  transition: var(--t-base);
}
.dx-promo-close:hover { color: var(--text); background: rgba(255,255,255,0.08); }

/* ---------------------------------------------------------------
   7. TRUST BAR — More Premium
--------------------------------------------------------------- */
.al-trust-bar {
  padding: 18px 0;
  background: rgba(19,22,30,0.8);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  backdrop-filter: blur(10px);
}
.al-trust-grid {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.al-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.al-trust-icon {
  width: 36px;
  height: 36px;
  background: rgba(249,115,22,0.1);
  border: 1px solid rgba(249,115,22,0.2);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--accent);
  flex-shrink: 0;
  transition: var(--t-base);
}
.al-trust-item:hover .al-trust-icon {
  background: rgba(249,115,22,0.18);
  box-shadow: var(--shadow-glow-sm);
}
.al-trust-text strong {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text);
  display: block;
  letter-spacing: -0.1px;
}
.al-trust-text span {
  font-size: 11px;
  color: var(--text3);
  margin-top: 1px;
  display: block;
}

/* ---------------------------------------------------------------
   8. SECTION HEADERS
--------------------------------------------------------------- */
.al-section-title {
  font-family: var(--font-head);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: var(--text);
}
.al-section-title span { color: var(--accent); }

.al-section-sub {
  font-size: 13px;
  color: var(--text3);
  margin-top: 5px;
  line-height: 1.6;
}
.al-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
  gap: 16px;
  flex-wrap: wrap;
}

/* ---------------------------------------------------------------
   9. VEHICLE CARDS — Premium Upgrade
--------------------------------------------------------------- */
.al-vehicles-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.al-vcard {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--t-slow);
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--shadow-xs);
}
.al-vcard:hover {
  border-color: var(--border-hover);
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg), var(--shadow-glow-sm);
  background: var(--card-hover);
}

/* Image area — taller, with gradient overlay */
.al-vcard-img {
  height: 210px;
  position: relative;
  overflow: hidden;
  background: var(--bg3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.al-vcard-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.1) 40%,
    transparent 70%
  );
  z-index: 1;
  pointer-events: none;
}
.al-vcard-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
}
.al-vcard:hover .al-vcard-img img { transform: scale(1.07); }

/* Badges */
.al-vcard-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 2;
}
.al-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  backdrop-filter: blur(6px);
}
.al-badge-featured {
  background: rgba(249,115,22,0.95);
  color: #0a0c0f;
  box-shadow: 0 2px 10px rgba(249,115,22,0.4);
}
.al-badge-urgent {
  background: rgba(232,82,82,0.92);
  color: #fff;
  box-shadow: 0 2px 8px rgba(232,82,82,0.35);
}
.al-badge-ev {
  background: rgba(61,214,140,0.92);
  color: #0a0c0f;
}

/* Favourite button */
.al-fav-btn {
  position: absolute;
  top: 10px; right: 10px;
  width: 36px; height: 36px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.1);
  cursor: pointer;
  color: var(--text2);
  font-size: 16px;
  transition: var(--t-base);
  z-index: 2;
  min-width: 36px; min-height: 36px;
}
.al-fav-btn:hover { color: #ff6b6b; background: rgba(232,82,82,0.25); border-color: rgba(232,82,82,0.3); }
.al-fav-btn.active { color: #ff6b6b; background: rgba(232,82,82,0.2); }

/* Card body */
.al-vcard-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.al-vcard-make {
  font-size: 10px;
  color: var(--accent);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 3px;
}
.al-vcard-name {
  font-family: var(--font-head);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text);
  line-height: 1.3;
  letter-spacing: -0.2px;
}
.al-vcard-price {
  font-size: 20px;
  font-weight: 800;
  color: var(--accent);
  margin-bottom: 10px;
  line-height: 1;
  letter-spacing: -0.5px;
}
.al-vcard-price .price-note {
  font-size: 11px;
  color: var(--text3);
  font-weight: 400;
}
.al-vcard-specs {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.al-spec-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  color: var(--text2);
  background: rgba(255,255,255,0.05);
  padding: 3px 8px;
  border-radius: 99px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: var(--t-fast);
}
.al-vcard:hover .al-spec-tag {
  background: rgba(249,115,22,0.06);
  border-color: rgba(249,115,22,0.15);
}
.al-vcard-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-top: auto;
}
.al-vcard-loc {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: var(--text3);
}
.al-vcard-time { font-size: 10.5px; color: var(--text3); }

/* ---------------------------------------------------------------
   10. CATEGORY CARDS
--------------------------------------------------------------- */
.dx-cat-grid {
  display: grid;
  grid-template-columns: repeat(8,1fr);
  gap: 10px;
}
/* Target the inline-styled category links */
section a[href*="/vehicles/"],
section a[href*="/rentals/"],
section a[href*="/airport-taxi/"] {
  border-radius: var(--radius) !important;
  transition: var(--t-slow) !important;
}

/* ---------------------------------------------------------------
   11. BRAND BAR
--------------------------------------------------------------- */
.al-brand-bar {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.al-brand-bar::-webkit-scrollbar { display: none; }
.al-brand-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  padding: 14px 16px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--text2);
  text-align: center;
  transition: var(--t-base);
  flex-shrink: 0;
  min-width: 72px;
}
.al-brand-item:hover {
  border-color: var(--border-hover);
  color: var(--text);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm), var(--shadow-glow-sm);
  background: var(--card-hover);
}
.al-brand-logo {
  width: 42px; height: 42px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -0.3px;
  color: var(--text);
  transition: var(--t-base);
}
.al-brand-item:hover .al-brand-logo {
  background: rgba(249,115,22,0.12);
  border-color: rgba(249,115,22,0.3);
  color: var(--accent);
}
.al-brand-name { font-size: 11px; font-weight: 600; letter-spacing: -0.2px; }

/* ---------------------------------------------------------------
   12. BUTTON SYSTEM — Full Upgrade
--------------------------------------------------------------- */
.al-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: var(--t-base);
  border: 1px solid transparent;
  letter-spacing: -0.1px;
  min-height: 40px;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.al-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Primary */
.al-btn-primary {
  background: var(--accent);
  color: #0a0c0f;
  box-shadow: 0 2px 14px rgba(249,115,22,0.25);
  font-weight: 700;
}
.al-btn-primary:hover {
  background: var(--accent2);
  box-shadow: 0 4px 22px rgba(249,115,22,0.4);
  transform: translateY(-1px);
}
.al-btn-primary:active { transform: translateY(0); box-shadow: none; }

/* Ghost */
.al-btn-ghost {
  background: rgba(255,255,255,0.05);
  color: var(--text2);
  border: 1px solid rgba(255,255,255,0.1);
}
.al-btn-ghost:hover {
  color: var(--text);
  border-color: rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.08);
}

/* WhatsApp */
.al-btn-whatsapp {
  background: linear-gradient(135deg,#25D366,#1dae55);
  color: #fff;
  font-size: 15px;
  padding: 12px 24px;
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 20px rgba(37,211,102,0.3);
  font-weight: 700;
}
.al-btn-whatsapp:hover {
  background: linear-gradient(135deg,#1fbd5c,#18a04c);
  box-shadow: 0 6px 28px rgba(37,211,102,0.45);
  transform: translateY(-2px);
}

/* Sizes */
.al-btn-sm { padding: 7px 14px; font-size: 12px; min-height: 34px; border-radius: var(--radius-xs); gap: 5px; }
.al-btn-lg { padding: 14px 32px; font-size: 15px; min-height: 50px; border-radius: var(--radius-sm); }
.al-btn-full { width: 100%; }
.al-btn-purple { background: var(--purple); color: #fff; box-shadow: 0 2px 14px rgba(155,109,255,0.25); }
.al-btn-purple:hover { background: #8a5dee; box-shadow: 0 4px 22px rgba(155,109,255,0.4); transform: translateY(-1px); }
.al-btn-green { background: var(--green); color: #0a0c0f; }
.al-btn-green:hover { background: #4ee8a0; transform: translateY(-1px); }

/* ---------------------------------------------------------------
   13. FORM INPUTS — Consistent & Accessible
--------------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="number"],
input[type="password"], input[type="tel"], input[type="url"],
input[type="search"], input[type="date"], input[type="datetime-local"],
select, textarea {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 14px;
  padding: 10px 14px;
  width: 100%;
  min-height: 44px;
  transition: var(--t-base);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(249,115,22,0.5);
  background: rgba(249,115,22,0.03);
  box-shadow: 0 0 0 3px rgba(249,115,22,0.1);
}
input::placeholder, textarea::placeholder { color: var(--text3); }

/* ---------------------------------------------------------------
   14. STAT / METRIC MINI CARDS
--------------------------------------------------------------- */
.dx-stat-mini {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius);
  padding: 14px;
  text-align: center;
  transition: var(--t-base);
}
.dx-stat-mini:hover {
  border-color: rgba(249,115,22,0.2);
  background: var(--card-hover);
}
.dx-stat-mini .num {
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1;
}
.dx-stat-mini .lbl {
  font-size: 10px;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 5px;
  font-weight: 600;
}

/* ---------------------------------------------------------------
   15. ARCHIVE / LISTING PAGE FILTER SIDEBAR
--------------------------------------------------------------- */
.al-archive-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 24px;
  align-items: start;
}
.al-filter-sidebar {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg);
  padding: 20px;
  position: sticky;
  top: 80px;
  box-shadow: var(--shadow-sm);
}
.al-filter-title {
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--text2);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.al-filter-group {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.al-filter-group:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.al-filter-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  display: block;
}
.al-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.al-filter-chip {
  padding: 5px 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 99px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text2);
  cursor: pointer;
  transition: var(--t-base);
  min-height: 32px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.al-filter-chip:hover,
.al-filter-chip.active {
  border-color: rgba(249,115,22,0.4);
  color: var(--accent);
  background: rgba(249,115,22,0.07);
}

/* Sort / results bar */
.al-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 12px 16px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-sm);
  gap: 12px;
  flex-wrap: wrap;
}
.al-results-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--text2);
}
.al-results-count strong { color: var(--text); }

/* ---------------------------------------------------------------
   16. SINGLE VEHICLE PAGE — Gallery + Seller Card
--------------------------------------------------------------- */
/* Gallery */
.al-gallery-main {
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  background: var(--bg3);
  aspect-ratio: 16/10;
}
.al-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.al-gallery-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.al-gallery-thumbs::-webkit-scrollbar { display: none; }
.al-gallery-thumb {
  width: 80px;
  height: 56px;
  border-radius: var(--radius-xs);
  overflow: hidden;
  flex-shrink: 0;
  cursor: pointer;
  border: 2px solid transparent;
  transition: var(--t-base);
}
.al-gallery-thumb:hover, .al-gallery-thumb.active {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(249,115,22,0.3);
}
.al-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Seller info card */
.al-seller-card {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: 22px;
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 80px;
}
.al-seller-card .al-btn-whatsapp {
  width: 100%;
  font-size: 15px;
  padding: 14px;
  justify-content: center;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
}

/* Price display on detail page */
.al-detail-price {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -1px;
  line-height: 1;
}

/* Spec table */
.al-spec-table { width: 100%; border-collapse: collapse; }
.al-spec-table tr { border-bottom: 1px solid rgba(255,255,255,0.06); }
.al-spec-table tr:last-child { border-bottom: none; }
.al-spec-table td {
  padding: 10px 0;
  font-size: 13px;
  vertical-align: top;
}
.al-spec-table td:first-child {
  color: var(--text3);
  font-weight: 500;
  width: 42%;
}
.al-spec-table td:last-child { color: var(--text); font-weight: 600; }

/* ---------------------------------------------------------------
   17. SELLER PORTAL / DASHBOARD
--------------------------------------------------------------- */
/* Dashboard stat cards */
.al-dash-stat {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg);
  padding: 20px;
  transition: var(--t-base);
  position: relative;
  overflow: hidden;
}
.al-dash-stat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--accent);
  opacity: 0;
  transition: var(--t-base);
}
.al-dash-stat:hover::before { opacity: 1; }
.al-dash-stat:hover {
  border-color: rgba(249,115,22,0.2);
  box-shadow: var(--shadow-sm);
}
.al-dash-stat-num {
  font-family: var(--font-head);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 6px;
}
.al-dash-stat-label {
  font-size: 12px;
  color: var(--text3);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Dashboard navigation tabs */
.al-portal-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text2);
  cursor: pointer;
  transition: var(--t-base);
  text-decoration: none;
  white-space: nowrap;
  min-height: 44px;
  background: transparent;
  border: none;
}
.al-portal-tab:hover {
  color: var(--text);
  background: rgba(255,255,255,0.06);
}
.al-portal-tab.active {
  color: var(--accent);
  background: rgba(249,115,22,0.1);
}
.al-portal-tab i { font-size: 16px; }

/* Listing row cards in portal */
.al-listing-row {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius);
  padding: 14px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  transition: var(--t-base);
  margin-bottom: 10px;
}
.al-listing-row:hover {
  border-color: rgba(255,255,255,0.12);
  background: var(--card-hover);
}
.al-listing-row-img {
  width: 90px;
  height: 64px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg3);
}
.al-listing-row-img img { width: 100%; height: 100%; object-fit: cover; }

/* Wallet card */
.al-wallet-card {
  background: linear-gradient(135deg, var(--card), var(--card2));
  border: 1px solid rgba(249,115,22,0.2);
  border-radius: var(--radius-xl);
  padding: 28px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow), 0 0 40px rgba(249,115,22,0.06);
}
.al-wallet-card::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(249,115,22,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.al-wallet-balance {
  font-family: var(--font-head);
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -2px;
  color: var(--accent);
  line-height: 1;
}
.al-wallet-label {
  font-size: 11px;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  margin-bottom: 8px;
}

/* ---------------------------------------------------------------
   18. STATUS PILLS — Improved
--------------------------------------------------------------- */
.al-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.al-status-pill::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.al-status-active  { background: rgba(61,214,140,0.12); color: var(--green); border: 1px solid rgba(61,214,140,0.2); }
.al-status-pending { background: rgba(249,115,22,0.12); color: var(--accent); border: 1px solid rgba(249,115,22,0.2); }
.al-status-rejected { background: rgba(232,82,82,0.1); color: var(--red); border: 1px solid rgba(232,82,82,0.2); }
.al-status-draft { background: rgba(90,96,112,0.15); color: var(--text3); border: 1px solid rgba(90,96,112,0.2); }

/* ---------------------------------------------------------------
   19. CARDS — Generic Section Cards
--------------------------------------------------------------- */
.al-card {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg);
  padding: 22px;
  transition: var(--t-base);
}
.al-card:hover {
  border-color: rgba(255,255,255,0.12);
  box-shadow: var(--shadow-sm);
}

/* Feature card (Why DriveX section) */
.dx-feature-card {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg);
  padding: 24px;
  transition: var(--t-slow);
  position: relative;
  overflow: hidden;
}
.dx-feature-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(249,115,22,0.04), transparent 60%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.dx-feature-card:hover {
  border-color: rgba(249,115,22,0.2);
  box-shadow: var(--shadow-sm), var(--shadow-glow-sm);
  transform: translateY(-2px);
}
.dx-feature-card:hover::after { opacity: 1; }

.dx-feature-icon {
  width: 44px; height: 44px;
  background: rgba(249,115,22,0.1);
  border: 1px solid rgba(249,115,22,0.15);
  border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  color: var(--accent);
  margin-bottom: 14px;
  transition: var(--t-base);
}
.dx-feature-card:hover .dx-feature-icon {
  background: rgba(249,115,22,0.18);
  box-shadow: var(--shadow-glow-sm);
}

/* ---------------------------------------------------------------
   20. DISTRICT PILLS
--------------------------------------------------------------- */
a[href*="district="] {
  padding: 8px 16px !important;
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 99px !important;
  font-size: 12.5px !important;
  color: var(--text2) !important;
  text-decoration: none !important;
  transition: var(--t-base) !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 36px !important;
}
a[href*="district="]:hover {
  border-color: rgba(249,115,22,0.4) !important;
  color: var(--accent) !important;
  background: rgba(249,115,22,0.06) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-glow-sm) !important;
}

/* ---------------------------------------------------------------
   21. DEALER CTA SECTION
--------------------------------------------------------------- */
.dx-dealer-cta {
  background: linear-gradient(135deg, var(--card), var(--bg2));
  border: 1px solid rgba(249,115,22,0.15);
  border-radius: var(--radius-xl);
  padding: 48px;
  position: relative;
  overflow: hidden;
}
.dx-dealer-cta::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(249,115,22,0.07) 0%, transparent 70%);
  pointer-events: none;
}

/* ---------------------------------------------------------------
   22. EMPTY STATES
--------------------------------------------------------------- */
.al-empty-state {
  text-align: center;
  padding: 64px 24px;
  color: var(--text3);
}
.al-empty-icon {
  font-size: 52px;
  display: block;
  margin-bottom: 16px;
  opacity: 0.3;
}
.al-empty-state p { font-size: 14px; color: var(--text3); }
.al-empty-state a { color: var(--accent); font-weight: 600; }

/* ---------------------------------------------------------------
   23. AI MARKET ANALYSIS CARD (single vehicle)
--------------------------------------------------------------- */
.al-ai-analysis-card {
  background: linear-gradient(135deg,rgba(155,109,255,0.07),rgba(74,158,255,0.04));
  border: 1px solid rgba(155,109,255,0.2);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-bottom: 16px;
}
.al-ai-analysis-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(155,109,255,0.9);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* ---------------------------------------------------------------
   24. BOOST MODAL & PAYMENTS
--------------------------------------------------------------- */
.al-boost-option {
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius);
  padding: 16px;
  cursor: pointer;
  transition: var(--t-base);
  position: relative;
}
.al-boost-option:hover,
.al-boost-option.selected {
  border-color: rgba(249,115,22,0.4);
  background: rgba(249,115,22,0.04);
  box-shadow: var(--shadow-glow-sm);
}
.al-boost-option.popular::before {
  content: 'POPULAR';
  position: absolute;
  top: -9px; left: 50%;
  transform: translateX(-50%);
  background: var(--accent);
  color: #0a0c0f;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 10px;
  border-radius: 99px;
  letter-spacing: 0.8px;
}

/* ---------------------------------------------------------------
   25. FOOTER
--------------------------------------------------------------- */
.al-footer {
  background: var(--bg2);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 52px 0 24px;
}
.al-footer-logo {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.3px;
  margin-bottom: 10px;
}
.al-footer-logo span { color: var(--accent); }

/* ---------------------------------------------------------------
   26. MOBILE EXPERIENCE — Touch Targets & Responsive
--------------------------------------------------------------- */
@media (max-width: 768px) {
  /* Bigger touch targets */
  .al-btn { min-height: 44px; }
  .al-btn-sm { min-height: 38px; padding: 8px 14px; }
  .al-nav-link, .al-portal-tab { min-height: 44px; }
  .al-fav-btn { width: 40px; height: 40px; }

  /* Hero */
  .al-hero {
    padding: 40px 0 32px;
    min-height: auto;
  }
  .al-hero h1 { font-size: 30px; margin-bottom: 12px; }
  .al-hero-sub { font-size: 14px; }
  .al-hero-stats { gap: 20px; padding: 14px 16px; width: 100%; overflow-x: auto; }
  .al-stat-num { font-size: 20px; }

  /* Search box */
  .al-search-box { border-radius: var(--radius-lg); padding: 4px 4px 14px; }
  .al-search-tabs { gap: 2px; padding: 4px; }
  .al-search-tab { padding: 9px 12px; font-size: 12px; min-height: 40px; }
  .al-search-grid { padding: 0 8px; gap: 8px; }

  /* Trust bar */
  .al-trust-grid { gap: 20px; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .al-trust-item { flex-shrink: 0; }

  /* Vehicle cards — full width on mobile */
  .al-vehicles-grid { grid-template-columns: 1fr; gap: 12px; }
  .al-vcard { flex-direction: row; border-radius: var(--radius); }
  .al-vcard-img {
    width: 120px;
    height: auto;
    min-height: 100%;
    flex-shrink: 0;
    border-radius: 0;
  }
  .al-vcard-img::after { display: none; }
  .al-vcard-body { padding: 12px; }
  .al-vcard-name { font-size: 14px; }
  .al-vcard-price { font-size: 16px; margin-bottom: 6px; }
  .al-vcard-specs { display: none; }

  /* Category grid */
  .dx-cat-grid { grid-template-columns: repeat(4,1fr) !important; gap: 8px; }

  /* Sections */
  .al-section { padding: 0 0 36px; }
  .al-section-title { font-size: 20px; }

  /* Archive layout */
  .al-archive-layout { grid-template-columns: 1fr; }
  .al-filter-sidebar { position: static; }

  /* Dealer CTA */
  .dx-dealer-cta { padding: 28px 20px; }

  /* Wallet */
  .al-wallet-balance { font-size: 32px; }

  /* Dashboard */
  .al-dash-stat-num { font-size: 26px; }
}

@media (max-width: 480px) {
  .al-container { padding: 0 16px; }
  .al-vcard-img { width: 100px; }
  .al-hero h1 { font-size: 26px; }
  .al-wallet-balance { font-size: 28px; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .al-vehicles-grid { grid-template-columns: repeat(2,1fr); }
  .al-hero h1 { font-size: 42px; }
  .dx-cat-grid { grid-template-columns: repeat(4,1fr) !important; }
  .al-archive-layout { grid-template-columns: 220px 1fr; }
}

/* ---------------------------------------------------------------
   27. MICRO-INTERACTIONS & LOADING STATES
--------------------------------------------------------------- */

/* Pulse animation for live indicators */
@keyframes dxPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.15); }
}
.dx-live-dot {
  width: 7px; height: 7px;
  background: var(--green);
  border-radius: 50%;
  animation: dxPulse 2s ease-in-out infinite;
  display: inline-block;
}

/* Skeleton loading */
@keyframes dxSkeleton {
  0% { background-position: -200px 0; }
  100% { background-position: calc(200px + 100%) 0; }
}
.dx-skeleton {
  background: linear-gradient(90deg, var(--bg3) 25%, var(--bg4) 50%, var(--bg3) 75%);
  background-size: 400px 100%;
  animation: dxSkeleton 1.4s ease infinite;
  border-radius: var(--radius-sm);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------------------------------------------------------------
   28. PAGINATION
--------------------------------------------------------------- */
.al-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 36px;
  flex-wrap: wrap;
}
.al-page-btn {
  min-width: 40px; min-height: 40px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 10px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-sm);
  color: var(--text2);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--t-base);
  text-decoration: none;
}
.al-page-btn:hover {
  border-color: rgba(249,115,22,0.3);
  color: var(--accent);
  background: rgba(249,115,22,0.06);
}
.al-page-btn.active {
  background: var(--accent);
  color: #0a0c0f;
  border-color: var(--accent);
  font-weight: 700;
}

/* ---------------------------------------------------------------
   29. MODAL UPGRADES
--------------------------------------------------------------- */
.al-modal-overlay {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: rgba(0,0,0,0.7);
}
.al-modal {
  background: var(--bg2);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg), 0 0 80px rgba(0,0,0,0.6);
  max-width: 480px;
  width: calc(100% - 32px);
  margin: auto;
}
.al-modal-header {
  padding: 22px 24px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.al-modal-title {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.3px;
}
.al-modal-close {
  width: 32px; height: 32px;
  background: rgba(255,255,255,0.07);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: none;
  color: var(--text2);
  font-size: 16px;
  transition: var(--t-base);
}
.al-modal-close:hover { background: rgba(255,255,255,0.12); color: var(--text); }

/* ---------------------------------------------------------------
   30. ALERT / NOTICE BARS
--------------------------------------------------------------- */
.al-alert {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
  margin-bottom: 12px;
}
.al-alert-success { background: rgba(61,214,140,0.1); border: 1px solid rgba(61,214,140,0.25); color: var(--green); }
.al-alert-warning { background: rgba(249,115,22,0.1); border: 1px solid rgba(249,115,22,0.25); color: var(--accent); }
.al-alert-error   { background: rgba(232,82,82,0.1); border: 1px solid rgba(232,82,82,0.25); color: var(--red); }
.al-alert-info    { background: rgba(74,158,255,0.1); border: 1px solid rgba(74,158,255,0.25); color: var(--blue); }

/* ---------------------------------------------------------------
   31. CONVERSION: STICKY MOBILE CTA BAR
--------------------------------------------------------------- */
.dx-mobile-cta-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 900;
  background: rgba(10,12,15,0.96);
  backdrop-filter: blur(16px);
  padding: 12px 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
  gap: 10px;
}
@media (max-width: 768px) {
  .dx-mobile-cta-bar { display: flex; }
}
.dx-mobile-cta-bar .al-btn {
  flex: 1;
  min-height: 46px;
  font-size: 14px;
  border-radius: var(--radius-sm);
  justify-content: center;
}

/* Extra bottom padding on mobile so fixed bar doesn't cover content */
@media (max-width: 768px) {
  body { padding-bottom: 76px; }
}

/* ---------------------------------------------------------------
   32. CONVERSION: SECTION DIVIDER UPGRADE
--------------------------------------------------------------- */
.al-section-divider {
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(249,115,22,0.15) 30%,
    rgba(249,115,22,0.15) 70%,
    transparent 100%);
  margin: 0;
}

/* ---------------------------------------------------------------
   33. PRICE BADGE HIGHLIGHT
--------------------------------------------------------------- */
.dx-price-fair {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  color: var(--green);
  background: rgba(61,214,140,0.1);
  border: 1px solid rgba(61,214,140,0.2);
  border-radius: 99px;
  padding: 3px 9px;
}
.dx-price-high {
  color: var(--accent);
  background: rgba(249,115,22,0.1);
  border-color: rgba(249,115,22,0.2);
}
.dx-price-low {
  color: #60D0FF;
  background: rgba(96,208,255,0.1);
  border-color: rgba(96,208,255,0.2);
}

/* ---------------------------------------------------------------
   34. SCROLL SNAP (horizontal sliders)
--------------------------------------------------------------- */
.dx-scroll-snap {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.dx-scroll-snap::-webkit-scrollbar { display: none; }
.dx-scroll-snap > * {
  scroll-snap-align: start;
  flex-shrink: 0;
}

/* ---------------------------------------------------------------
   35. FOCUS STYLES — Accessibility
--------------------------------------------------------------- */
*:focus-visible {
  outline: 2px solid rgba(249,115,22,0.7);
  outline-offset: 2px;
  border-radius: 3px;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid rgba(249,115,22,0.7);
  outline-offset: 3px;
}

