:root {
    --hurr-brown: #773B34; --espresso: #4C3F42; --deep-mocha: #2E2628;
    --signal-red: #D4483E; --signal-dark: #B83530; --signal-deep: #9C2D29;
    --warm-gray: #A69C91; --light-gray: #E6E3E1; --sand-beige: #D9C8B6;
    --ivory: #F7F5F3; --off-white: #EBEBEB; --white: #FFFFFF;
    --shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);
    --shadow-lg: 0 10px 30px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
    --shadow-xl: 0 20px 40px rgba(0,0,0,.15);
    --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 20px; --radius-full: 9999px;
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; background: var(--ivory); color: var(--deep-mocha); line-height: 1.6; }
  [dir="rtl"] body { font-family: 'Tajawal', 'Inter', sans-serif; }
  img { max-width: 100%; display: block; }
  a { text-decoration: none; color: inherit; }
  .nav { background: var(--espresso); position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
  .nav-inner { max-width: 1440px; margin: 0 auto; display: flex; align-items: center; padding: 0 40px; height: 100px; gap: 40px; }
  .nav-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
  .logo-mark { width: 44px; height: 44px; background: var(--hurr-brown); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; color: var(--white); letter-spacing: -1px; }
  .logo-text { display: flex; flex-direction: column; }
  .logo-en { font-size: 16px; font-weight: 700; color: var(--white); letter-spacing: .5px; }
  .logo-ar { font-size: 11px; color: var(--sand-beige); }
  .nav-links { display: flex; gap: 4px; flex: 1; align-items: center; }
  .nav-brands-dd { display: inline-flex; align-items: center; }
  .nav-brands-dd > .nav-link { display: inline-flex; align-items: center; }
  .nav-link { padding: 8px 14px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 500; color: rgba(255,255,255,.8); transition: all 150ms ease; white-space: nowrap; }
  .nav-link:hover { background: rgba(255,255,255,.1); color: var(--white); }
  .nav-link.active { color: var(--sand-beige); }
  .nav-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
  .lang-switcher { display: flex; gap: 2px; background: rgba(255,255,255,.1); border-radius: var(--radius-sm); padding: 3px; }
  .lang-btn { padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.7); cursor: pointer; transition: all 150ms; }
  .lang-btn.active { background: var(--hurr-brown); color: var(--white); }
  .currency-btn { padding: 6px 12px; border-radius: var(--radius-sm); font-size: 13px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); cursor: pointer; }
  .nav-cta { padding: 10px 20px; background: var(--signal-red); color: var(--white); border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; transition: background 150ms; white-space: nowrap; }
  .nav-cta:hover { background: var(--signal-dark); }
  .hero { background: linear-gradient(135deg, var(--deep-mocha) 0%, var(--espresso) 50%, var(--hurr-brown) 100%); min-height: 640px; position: relative; overflow: hidden; display: flex; align-items: center; }
  .hero::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
  .hero-inner { max-width: 1440px; margin: 0 auto; padding: 80px 40px; position: relative; z-index: 1; width: 100%; }
  .hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-full); padding: 6px 16px; font-size: 13px; color: var(--sand-beige); margin-bottom: 24px; }
  .hero-badge span { width: 6px; height: 6px; background: var(--signal-red); border-radius: 50%; }
  .hero h1 { font-size: clamp(36px, 5vw, 64px); font-weight: 800; color: var(--white); line-height: 1.1; margin-bottom: 16px; max-width: 680px; }
  .hero h1 em { color: var(--sand-beige); font-style: normal; }
  .hero p { font-size: 18px; color: rgba(255,255,255,.75); max-width: 520px; margin-bottom: 48px; line-height: 1.7; }
  .trust-badges { display: flex; gap: 24px; flex-wrap: wrap; }
  .trust-badge { display: flex; align-items: center; gap: 8px; font-size: 14px; color: rgba(255,255,255,.7); }
  .trust-badge strong { color: var(--sand-beige); font-weight: 600; }
  .search-widget { background: var(--white); border-radius: var(--radius-xl); box-shadow: var(--shadow-xl); padding: 32px; max-width: 1100px; margin: -48px auto 0; position: relative; z-index: 10; margin-left: 40px; margin-right: 40px; }
  .search-tabs { display: flex; gap: 4px; margin-bottom: 24px; background: var(--ivory); border-radius: var(--radius-md); padding: 4px; }
  .search-tab { flex: 1; padding: 10px 16px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; text-align: center; cursor: pointer; color: var(--warm-gray); transition: all 200ms; border: none; background: none; }
  .search-tab.active { background: var(--white); color: var(--hurr-brown); box-shadow: var(--shadow-sm); }
  .search-tab .tab-sub { display: block; font-size: 11px; font-weight: 400; color: var(--warm-gray); margin-top: 2px; }
  .search-grid { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 16px; align-items: end; }
  .search-field label { display: block; font-size: 12px; font-weight: 600; color: var(--warm-gray); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px; }
  .search-field input, .search-field select { width: 100%; height: 52px; border: 1.5px solid var(--light-gray); border-radius: var(--radius-md); padding: 0 16px; font-size: 15px; font-family: 'Inter', sans-serif; color: var(--deep-mocha); background: var(--ivory); transition: border-color 200ms; -webkit-appearance: none; appearance: none; cursor: pointer; }
  .search-field input:focus, .search-field select:focus { outline: none; border-color: var(--hurr-brown); background: var(--white); }
  .search-btn { height: 52px; padding: 0 32px; background: var(--signal-red); color: var(--white); border: none; border-radius: var(--radius-md); font-size: 16px; font-weight: 700; cursor: pointer; transition: background 150ms; white-space: nowrap; display: flex; align-items: center; gap: 8px; }
  .search-btn:hover { background: var(--signal-dark); }
  .section { padding: 80px 40px; max-width: 1440px; margin: 0 auto; }
  .section-header { text-align: center; margin-bottom: 48px; }
  .section-tag { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--hurr-brown); margin-bottom: 12px; }
  .section-header h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 700; color: var(--deep-mocha); margin-bottom: 12px; }
  .section-header p { font-size: 17px; color: var(--warm-gray); max-width: 560px; margin: 0 auto; }
  .brands-row { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .brands-row::-webkit-scrollbar { display: none; }
  .brand-logo { flex-shrink: 0; width: 140px; height: 80px; background: var(--white); border: 1.5px solid var(--light-gray); border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: var(--espresso); transition: all 200ms; cursor: pointer; }
  .brand-logo:hover { border-color: var(--hurr-brown); box-shadow: var(--shadow-md); transform: translateY(-2px); }
  .categories-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
  .category-card { background: var(--white); border-radius: var(--radius-xl); padding: 28px 20px; text-align: center; border: 1.5px solid var(--light-gray); transition: all 200ms; cursor: pointer; }
  .category-card:hover { border-color: var(--hurr-brown); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
  .cat-icon { width: 64px; height: 64px; background: var(--ivory); border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 28px; }
  .category-card:hover .cat-icon { background: #EDE0D4; }
  .cat-name { font-size: 15px; font-weight: 600; color: var(--deep-mocha); margin-bottom: 4px; }
  .cat-count { font-size: 13px; color: var(--warm-gray); }
  .vehicles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .vehicle-card { background: var(--white); border-radius: var(--radius-xl); border: 1.5px solid var(--light-gray); overflow: hidden; transition: all 200ms ease; cursor: pointer; box-shadow: var(--shadow-sm); }
  .vehicle-card:hover { box-shadow: var(--shadow-xl); border-color: var(--hurr-brown); transform: translateY(-4px); }
  .vehicle-card:hover .vc-image-wrap img { transform: scale(1.03); }
  .vc-image-wrap { overflow: hidden; aspect-ratio: 16/9; background: var(--off-white); position: relative; }
  .vc-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
  .vc-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 48px; background: linear-gradient(135deg, #EDE0D4, #D9C8B6); }
  .vc-badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; }
  .badge { padding: 4px 10px; border-radius: var(--radius-full); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
  .badge-red { background: var(--signal-red); color: var(--white); }
  .badge-brown { background: #EDE0D4; color: var(--hurr-brown); }
  .badge-gray { background: var(--off-white); color: var(--warm-gray); }
  .vc-wishlist { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; background: var(--white); border-radius: 50%; box-shadow: var(--shadow-md); display: flex; align-items: center; justify-content: center; font-size: 16px; cursor: pointer; transition: all 200ms; }
  .vc-wishlist:hover { transform: scale(1.1); }
  .vc-body { padding: 16px 16px 0; }
  .vc-title { font-size: 17px; font-weight: 600; color: var(--deep-mocha); margin-bottom: 4px; }
  .vc-specs { font-size: 13px; color: var(--warm-gray); margin-bottom: 14px; }
  .vc-price { margin-bottom: 14px; }
  .price-label { font-size: 12px; color: var(--warm-gray); }
  .price-main { font-size: 26px; font-weight: 700; color: var(--hurr-brown); font-variant-numeric: tabular-nums; }
  .price-unit { font-size: 14px; color: var(--warm-gray); }
  .price-alt { font-size: 13px; color: var(--warm-gray); margin-top: 2px; }
  .vc-footer { background: var(--ivory); border-top: 1px solid var(--light-gray); padding: 10px 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .vc-btn { padding: 8px 6px; border-radius: var(--radius-sm); font-size: 12px; font-weight: 600; text-align: center; cursor: pointer; border: none; transition: all 150ms; display: flex; align-items: center; justify-content: center; gap: 4px; }
  .vc-btn-wa { background: var(--white); border: 1.5px solid var(--light-gray); color: var(--espresso); } .vc-btn-wa svg { color: #25D366; }
  .vc-btn-wa:hover { background: #20BD5C; }
  .vc-btn-call { background: var(--white); border: 1.5px solid var(--light-gray); color: var(--espresso); }
  .vc-btn-call:hover { border-color: var(--hurr-brown); color: var(--hurr-brown); }
  .vc-btn-detail { background: var(--white); border: 1.5px solid var(--light-gray); color: var(--espresso); }
  .vc-btn-detail:hover { border-color: var(--hurr-brown); color: var(--hurr-brown); }
  .vc-btn-book { background: var(--signal-red); color: var(--white); }
  .vc-btn-book:hover { background: var(--signal-dark); }
  .why-section { background: var(--white); }
  .why-inner { max-width: 1440px; margin: 0 auto; padding: 80px 40px; }
  .why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
  .why-card { text-align: center; }
  .why-icon { width: 72px; height: 72px; background: #EDE0D4; border-radius: var(--radius-xl); margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; font-size: 32px; }
  .why-title { font-size: 18px; font-weight: 700; color: var(--deep-mocha); margin-bottom: 8px; }
  .why-text { font-size: 15px; color: var(--warm-gray); line-height: 1.7; }
  .why-stat { font-size: 32px; font-weight: 800; color: var(--hurr-brown); margin-bottom: 4px; }
  .steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; position: relative; }
  .steps-grid::before { content: ''; position: absolute; top: 32px; left: calc(12.5% + 16px); right: calc(12.5% + 16px); height: 2px; background: var(--light-gray); z-index: 0; }
  .step { text-align: center; position: relative; z-index: 1; }
  .step-num { width: 64px; height: 64px; background: var(--hurr-brown); color: var(--white); border-radius: 50%; font-size: 22px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; box-shadow: 0 4px 16px rgba(119,59,52,.3); }
  .step-title { font-size: 17px; font-weight: 700; color: var(--deep-mocha); margin-bottom: 8px; }
  .step-text { font-size: 14px; color: var(--warm-gray); line-height: 1.6; }
  .cta-banner { background: linear-gradient(135deg, var(--deep-mocha), var(--espresso)); padding: 80px 40px; text-align: center; }
  .cta-banner h2 { font-size: 40px; font-weight: 800; color: var(--white); margin-bottom: 16px; }
  .cta-banner p { font-size: 18px; color: rgba(255,255,255,.7); margin-bottom: 36px; }
  .cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
  .btn-primary { padding: 16px 36px; background: var(--signal-red); color: var(--white); border-radius: var(--radius-lg); font-size: 16px; font-weight: 700; transition: background 150ms; display: inline-flex; align-items: center; gap: 8px; }
  .btn-primary:hover { background: var(--signal-dark); }
  .btn-secondary { padding: 16px 36px; border: 2px solid rgba(255,255,255,.3); color: var(--white); border-radius: var(--radius-lg); font-size: 16px; font-weight: 600; transition: all 150ms; }
  .btn-secondary:hover { border-color: var(--white); background: rgba(255,255,255,.08); }
  .footer { background: var(--deep-mocha); padding: 60px 40px 32px; }
  .footer-inner { max-width: 1440px; margin: 0 auto; }
  .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
  .footer-brand .logo-mark { background: var(--hurr-brown); margin-bottom: 16px; }
  .footer-tagline { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.7; max-width: 260px; margin-bottom: 24px; }
  .footer-contact { font-size: 14px; color: rgba(255,255,255,.7); line-height: 2; }
  .footer-contact a { color: var(--sand-beige); }
  .footer-col h4 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--sand-beige); margin-bottom: 20px; }
  .footer-links { display: flex; flex-direction: column; gap: 10px; }
  .footer-links a { font-size: 14px; color: rgba(255,255,255,.6); transition: color 150ms; }
  .footer-links a:hover { color: var(--white); }
  .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: rgba(255,255,255,.4); }
  .footer-bottom a { color: rgba(255,255,255,.5); margin-left: 24px; }
  .footer-bottom a:hover { color: var(--white); }
  @media (max-width: 1200px) { .vehicles-grid { grid-template-columns: repeat(3, 1fr); } .categories-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 900px) { .nav-links { display: none; } .nav-inner { padding: 0 20px; } .hero-inner { padding: 60px 20px; } .search-widget { margin-left: 20px; margin-right: 20px; padding: 20px; } .search-grid { grid-template-columns: 1fr; } .section { padding: 60px 20px; } .vehicles-grid { grid-template-columns: repeat(2, 1fr); } .categories-grid { grid-template-columns: repeat(2, 1fr); } .why-grid { grid-template-columns: repeat(2, 1fr); } .steps-grid { grid-template-columns: repeat(2, 1fr); } .steps-grid::before { display: none; } .footer-grid { grid-template-columns: 1fr 1fr; } .footer-bottom { flex-direction: column; gap: 16px; text-align: center; } }
  @media (max-width: 600px) { .vehicles-grid { grid-template-columns: 1fr; } .categories-grid { grid-template-columns: repeat(2, 1fr); } .why-grid { grid-template-columns: 1fr; } .steps-grid { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr; } .search-tabs { flex-wrap: wrap; } .hero h1 { font-size: 32px; } }
/* Brand logo image (header + footer) — schema v1.1 logo */
.site-logo { height: 56px; width: auto; max-width: 240px; display: block; object-fit: contain; }
.site-logo--footer { height: 96px; max-width: 360px; }
.logo-fallback { display: flex; align-items: center; gap: 12px; }
@media (max-width: 640px) { .site-logo { height: 32px; max-width: 160px; } }

/* All brand logos tinted to brand brown #773B34 (any source colour) */
.brand-mono { filter: brightness(0) saturate(100%) invert(20%) sepia(48%) saturate(638%) hue-rotate(327deg) brightness(94%) contrast(88%); }

/* Vehicle card — 3-col pricing + deposit + colour swatches (BRD 5.1.1) */
.vc-price3 { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:10px 0 6px; }
.vc-col { position:relative; text-align:center; padding:8px 4px; background:var(--ivory); border-radius:8px; }
.vc-col-lbl { font-size:10px; font-weight:700; color:var(--warm-gray); letter-spacing:.5px; }
.vc-col-price { font-size:15px; font-weight:800; color:var(--hurr-brown); line-height:1.2; }
.vc-col-unit { font-size:10px; color:var(--warm-gray); }
.vc-save { position:absolute; top:-7px; left:50%; transform:translateX(-50%); background:var(--signal-red); color:#fff; font-size:9px; font-weight:700; padding:1px 6px; border-radius:8px; white-space:nowrap; }
.vc-deposit { font-size:12px; color:var(--espresso); background:var(--success-bg,#EAF6EE); border-radius:6px; padding:5px 8px; margin-bottom:8px; }
.vc-swatches { display:flex; gap:6px; margin-bottom:10px; }
.vc-swatch { width:18px; height:18px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px var(--light-gray); cursor:pointer; transition:transform .12s; }
.vc-swatch:hover { transform:scale(1.2); box-shadow:0 0 0 2px var(--hurr-brown); }

/* Brands mega-dropdown — 7 logos per row */
.brands-mega { position:absolute; top:100%; inset-inline-start:0; background:#fff; border:1px solid var(--light-gray); border-radius:14px; box-shadow:var(--shadow-lg); padding:18px; display:grid; grid-template-columns:repeat(7,minmax(84px,1fr)); gap:10px; min-width:720px; z-index:80; }
.brands-mega-item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:10px; border-radius:10px; border:1px solid var(--light-gray); transition:border-color .15s; text-align:center; }
.brands-mega-item:hover { border-color:var(--hurr-brown); }
@media (max-width: 820px) { .brands-mega { grid-template-columns:repeat(4,1fr); min-width:380px; } }

/* Mobile nav drawer + hamburger */
.nav-toggle { display:none; background:none; border:none; color:var(--white); font-size:24px; line-height:1; cursor:pointer; padding:6px 8px; }
.nav-mobile { display:none; }
@media (max-width: 900px) {
  .nav-inner { justify-content: space-between; }
  .nav-toggle { display:block; }
  .nav-right .lang-switcher, .nav-right .currency-dd, .nav-right .nav-cta { display:none; }
  .nav-mobile { display:flex; flex-direction:column; position:absolute; top:72px; left:0; right:0; background:var(--deep-mocha); padding:10px 20px 18px; box-shadow:var(--shadow-lg); z-index:95; max-height:calc(100vh - 72px); overflow-y:auto; }
  .nav-mobile a { color:#fff; padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.10); font-size:15px; font-weight:500; }
  .nav-mobile a:last-child { border-bottom:none; }
  .nav-mobile-row { display:flex; align-items:center; justify-content:space-between; padding:12px 4px; border-bottom:1px solid rgba(255,255,255,.10); }
  .nm-label { color:var(--warm-gray); font-size:13px; }
  .nav-mobile-langs { display:flex; gap:8px; }
  .nav-mobile-langs a { border:none !important; padding:6px 10px; border-radius:6px; background:rgba(255,255,255,.08); font-size:13px; }
  .nav-mobile-langs a.active { background:var(--signal-red); }
  .nm-cta { margin-top:10px; background:var(--signal-red); border-radius:8px; text-align:center; font-weight:700; }
}

[x-cloak]{display:none !important;}

/* Fleet card a11y pass (ui-ux-pro-max): touch targets, focus, no-emoji, reduced-motion */
.vc-btn { min-height: 44px; }
a.vc-title { display: inline-block; text-decoration: none; }
a.vc-title:hover { color: var(--hurr-brown); }
.vc-swatch { width: 24px; height: 24px; padding: 0; }
.vc-wishlist { background: var(--white); border: none; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--warm-gray); cursor: pointer; box-shadow: var(--shadow-md); }
.vc-wishlist:hover { color: var(--signal-red); }
.vc-btn:focus-visible, .vc-swatch:focus-visible, a.vc-title:focus-visible, .vc-wishlist:focus-visible, .vehicle-card a:focus-visible { outline: 2px solid var(--hurr-brown); outline-offset: 2px; border-radius: 6px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }

/* Site-wide keyboard a11y (ui-ux-pro-max focus-states) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, summary:focus-visible, .nav-link:focus-visible, .lang-btn:focus-visible, .currency-btn:focus-visible { outline: 2px solid var(--hurr-brown); outline-offset: 2px; border-radius: 4px; }
.footer-contact svg { opacity: .85; margin-right: 2px; }

/* Homepage chrome SVG icons + wishlist toggle state (ui-ux-pro-max no-emoji) */
.trust-badge svg, .search-field label svg, .search-btn svg, .btn-secondary svg, .deposit-badge svg { flex-shrink: 0; }
.trust-badge { display: inline-flex; align-items: center; gap: 4px; }
.search-field label { display: inline-flex; align-items: center; gap: 4px; }
.vc-wishlist.wished { color: var(--signal-red); }
.vc-wishlist.wished svg { fill: var(--signal-red); }

/* === Site-wide premium design language (match homepage) === */
.serif { font-family: 'Playfair Display', Georgia, serif; }
/* premium inner-page hero (x-page-hero) */
.ph-hero { position: relative; overflow: hidden; background: linear-gradient(115deg, #1a1416 0%, var(--deep-mocha) 42%, var(--hurr-brown) 100%); color: #fff; }
.ph-aurora { position: absolute; inset: -40%; background: radial-gradient(38% 44% at 78% 25%, rgba(212,72,62,.5), transparent 60%), radial-gradient(42% 48% at 25% 75%, rgba(200,160,99,.4), transparent 60%); filter: blur(40px); animation: aurora 16s ease-in-out infinite alternate; mix-blend-mode: screen; }
.ph-inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 72px 40px; }
.ph-crumb { font-size: 13px; color: var(--sand-beige); margin-bottom: 14px; }
.ph-crumb a { color: var(--sand-beige); text-decoration: none; }
.ph-crumb a:hover { color: #fff; text-decoration: underline; }
.ph-crumb span { opacity: .5; margin: 0 4px; }
.ph-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); padding: 6px 15px; border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .04em; backdrop-filter: blur(6px); margin-bottom: 16px; }
.ph-eyebrow .ph-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--signal-red); }
.ph-hero h1 { font-size: clamp(34px, 5vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; }
.ph-hero p { margin-top: 14px; font-size: clamp(16px, 2vw, 19px); color: rgba(255,255,255,.82); max-width: 620px; line-height: 1.6; }
@media (max-width: 680px) { .ph-inner { padding: 52px 20px; } }
@media (prefers-reduced-motion: reduce) { .ph-aurora { animation: none; } }
/* unify section headings to Playfair across inner pages */
.section-header h2, .section h2:not(.hv2 *) { font-family: 'Playfair Display', Georgia, serif; }

/* ========== LUXURY LAYER — all public pages ========== */
::selection { background: var(--hurr-brown); color: #fff; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
/* refined scrollbar */
* { scrollbar-width: thin; scrollbar-color: var(--sand-beige) var(--ivory); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--ivory); }
::-webkit-scrollbar-thumb { background: var(--sand-beige); border-radius: 8px; border: 3px solid var(--ivory); }
::-webkit-scrollbar-thumb:hover { background: var(--hurr-brown); }
/* serif content headings on public pages (scoped to <main>, admin excluded) */
.lux-main h1, .lux-main h2, .lux-main h3 { font-family: 'Playfair Display', Georgia, serif; letter-spacing: -.01em; }
/* gold accent rule under proto section headers + page-hero */
.section-header h2 { position: relative; display: inline-block; }
.section-header h2::after { content: ''; display: block; width: 54px; height: 3px; margin: 14px auto 0; border-radius: 2px; background: linear-gradient(90deg, var(--hurr-brown), #c8a063); }
.ph-hero h1::after { content: ''; display: block; width: 56px; height: 3px; margin-top: 18px; border-radius: 2px; background: linear-gradient(90deg, var(--signal-red), #c8a063); }
/* premium buttons (site-wide) */
.btn-primary { background: linear-gradient(120deg, var(--signal-red), var(--signal-dark)) !important; box-shadow: 0 8px 22px rgba(212,72,62,.26); transition: transform .2s, box-shadow .2s, filter .2s; position: relative; overflow: hidden; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(212,72,62,.4); filter: brightness(1.05); }
.btn-primary::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.4), transparent); transform: skewX(-20deg); transition: left .6s; }
.btn-primary:hover::after { left: 130%; }
.btn-secondary { transition: transform .2s, border-color .2s, color .2s; }
.btn-secondary:hover { transform: translateY(-2px); border-color: var(--hurr-brown); color: var(--hurr-brown); }
/* global fail-safe scroll reveal (content pages) */
.lux-r { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.lux-r.lux-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn-primary::after { display: none; } .lux-r { opacity: 1 !important; transform: none !important; transition: none; } }

/* ===== Promo banner (admin-managed) ===== */
.promo-banner{width:100%;font-size:13px;line-height:1.3}
.promo-banner-inner{max-width:1280px;margin:0 auto;padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative}
.promo-banner-text{font-weight:600;text-align:center;text-decoration:none;letter-spacing:.2px}
a.promo-banner-text:hover{text-decoration:underline}
.promo-banner-x{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);background:none;border:0;font-size:20px;line-height:1;cursor:pointer;opacity:.8;padding:0 4px}
.promo-banner-x:hover{opacity:1}
@media(max-width:600px){.promo-banner-inner{padding:7px 36px 7px 14px}.promo-banner-text{font-size:12px}}

/* ===== Card original (was) price ===== */
.vc-col-orig { font-size: 11px; color: var(--warm-gray); text-decoration: line-through; line-height: 1; margin-bottom: 2px; }

/* ===== Global site footer (newsletter + columns) — applied site-wide ===== */
.vf-news { background:#241D1F; border-bottom:1px solid rgba(255,255,255,.08); }
.vf-news-in { max-width:1240px; margin:0 auto; padding:40px; display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.vf-news h3 { font-family:'Playfair Display',Georgia,serif; font-size:26px; color:#fff; font-weight:700; }
.vf-news p { color:rgba(255,255,255,.6); font-size:14px; margin-top:6px; }
.vf-news form { display:flex; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:6px; }
.vf-news input { flex:1; background:transparent; border:none; outline:none; color:#fff; padding:10px 14px; font-size:14px; }
.vf-news button { background:#773B34; color:#fff; border:none; border-radius:9px; width:46px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.vf { background:#1C1618; color:rgba(255,255,255,.7); }
.vf-in { max-width:1240px; margin:0 auto; padding:56px 40px 30px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr 1fr; gap:34px; }
.vf-logo { height:64px; width:auto; max-width:200px; object-fit:contain; display:block; }
.vf-about { font-size:13.5px; line-height:1.7; color:rgba(255,255,255,.6); margin:16px 0 18px; }
.vf-socials { display:flex; gap:10px; }
.vf-soc { width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.7); transition:all .2s; }
.vf-soc:hover { background:#773B34; border-color:#773B34; color:#fff; }
.vf h4 { color:#fff; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.vf-links { display:flex; flex-direction:column; gap:11px; }
.vf-links a { color:rgba(255,255,255,.62); font-size:14px; text-decoration:none; transition:color .2s; }
.vf-links a:hover { color:#C8A063; }
.vf-ci-label { color:#C8A063; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:14px 0 6px; }
.vf-ci-val { font-size:14px; color:rgba(255,255,255,.78); line-height:1.7; }
.vf-ci-val a { color:rgba(255,255,255,.78); text-decoration:none; }
.vf-ci-val a:hover { color:#C8A063; }
.vf-hours .d { color:#fff; font-weight:600; margin-top:12px; font-size:14px; }
.vf-hours .h { color:rgba(255,255,255,.58); font-size:13.5px; line-height:1.5; }
.vf-bottom { border-top:1px solid rgba(255,255,255,.08); }
.vf-bottom-in { max-width:1240px; margin:0 auto; padding:20px 40px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:rgba(255,255,255,.5); }
@media (max-width: 980px){ .vf-in{grid-template-columns:1fr 1fr;} .vf-news-in{grid-template-columns:1fr;} }
@media (max-width: 560px){ .vf-in{grid-template-columns:1fr;} }


/* ===== Luxury fleet filter bar ===== */
.fleet-content { max-width: 1280px; margin: 0 auto; padding: 28px 24px 64px; }
.flt-bar { background:#fff; border:1px solid var(--light-gray); border-radius:18px; padding:12px 14px; box-shadow:0 10px 30px rgba(46,38,40,.06); display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:18px; }
.flt-search { flex:1 1 220px; min-width:170px; position:relative; }
.flt-search input { width:100%; border:1px solid var(--light-gray); border-radius:12px; padding:11px 14px 11px 40px; font-size:14px; color:var(--deep-mocha); background:var(--ivory); outline:none; transition:border-color .15s; }
.flt-search input:focus { border-color:var(--hurr-brown); }
.flt-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--warm-gray); }
.flt-pills { display:flex; gap:8px; overflow-x:auto; flex:2 1 260px; scrollbar-width:none; padding:2px; }
.flt-pills::-webkit-scrollbar { display:none; }
.flt-pill { white-space:nowrap; border:1px solid var(--light-gray); background:#fff; color:var(--espresso); border-radius:999px; padding:9px 16px; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.flt-pill:hover { border-color:var(--hurr-brown); }
.flt-pill.active { background:var(--hurr-brown); color:#fff; border-color:var(--hurr-brown); }
.flt-pill .c { opacity:.55; margin-left:6px; font-size:11.5px; }
.flt-dd { position:relative; }
.flt-dd-btn { border:1px solid var(--light-gray); background:#fff; border-radius:12px; padding:11px 16px; font-size:13px; font-weight:600; color:var(--espresso); cursor:pointer; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.flt-dd-btn:hover { border-color:var(--hurr-brown); }
.flt-dd-btn .badge-n { background:var(--hurr-brown); color:#fff; border-radius:999px; font-size:11px; min-width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px; }
.flt-dd-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:60; background:#fff; border:1px solid var(--light-gray); border-radius:16px; box-shadow:0 20px 50px rgba(46,38,40,.16); padding:14px; min-width:250px; max-height:340px; overflow-y:auto; }
.flt-dd-title { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--warm-gray); margin:2px 0 8px; }
.flt-check { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:8px; font-size:14px; color:var(--espresso); cursor:pointer; }
.flt-check:hover { background:var(--ivory); }
.flt-price { display:flex; gap:8px; margin-top:4px; }
.flt-price input { width:100%; border:1px solid var(--light-gray); border-radius:10px; padding:9px 12px; font-size:13px; }
.flt-sort { border:1px solid var(--light-gray); background:#fff; border-radius:12px; padding:11px 14px; font-size:13px; color:var(--espresso); cursor:pointer; }
.flt-clear { color:var(--hurr-brown); font-size:13px; font-weight:600; background:none; border:none; cursor:pointer; padding:8px; }
@media (max-width:640px){ .fleet-content { padding:20px 16px 48px; } .flt-bar { padding:10px; } .flt-search { flex:1 1 100%; } }


/* ===== Card video icon + lightbox ===== */
.vc-video { position:absolute; bottom:12px; right:12px; width:32px; height:32px; background:var(--white); border-radius:50%; box-shadow:var(--shadow-md); display:flex; align-items:center; justify-content:center; cursor:pointer; border:none; color:var(--hurr-brown); transition:all .2s; padding:0; }
.vc-video:hover { color:var(--signal-red); transform:scale(1.06); }
.alh-vlb { position:fixed; inset:0; z-index:9999; background:rgba(12,9,10,.9); display:flex; align-items:center; justify-content:center; padding:24px; }
.alh-vlb-inner { position:relative; width:min(960px,100%); aspect-ratio:16/9; background:#000; border-radius:14px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.alh-vlb-inner iframe, .alh-vlb-inner video { width:100%; height:100%; border:0; display:block; object-fit:contain; background:#000; }
.alh-vlb-close { position:absolute; top:-46px; right:0; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.16); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.alh-vlb-close:hover { background:rgba(255,255,255,.3); }
@media (max-width:900px){ .vc-video { width:40px; height:40px; } }


/* ===== content protection: deter saving of media (best-effort) ===== */
img, video { -webkit-user-drag:none; -khtml-user-drag:none; -moz-user-drag:none; user-drag:none; -webkit-touch-callout:none; }
.vc-image-wrap img, .gallery img, .gallery video, .alh-vlb video, .hv2-hero-video, .hero-video { user-select:none; -webkit-user-select:none; }
