/*
Theme Name: The Car Guy
Theme URI: https://thecarguy.ae
Author: The Car Guy
Author URI: https://thecarguy.ae
Description: Premium automotive theme for The Car Guy — used cars, repair, inspection, registration and insurance in Dubai. Built around a Vehicle custom post type with an easy admin form for managing 50+ listings, Sold/Reserved/Available status ribbons, and a lightweight CSS-driven homepage animation.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: thecarguy
*/

/* ==========================================================================
   THE CAR GUY — Design System
   Palette: Obsidian Black / Midnight Navy / Burgundy / Warm Ivory / Metallic Silver
   ========================================================================== */

:root{
  --charcoal:#080B10;      /* Obsidian Black — primary dark */
  --charcoal-2:#111C2F;    /* Midnight Navy — secondary dark surface */
  --charcoal-3:#1B2A42;    /* Navy tint — hover / elevated dark surface */
  --off-white:#F4F1EA;     /* Warm Ivory — light background */
  --white:#FFFFFF;
  --grey-100:#EAE6DC;      /* Ivory shade — alt section bg */
  --grey-300:#C7C9CD;      /* Silver tint — borders */
  --grey-500:#A7ABB2;      /* Metallic Silver — neutral */
  --grey-700:#535A66;      /* Navy/silver blend — body copy */
  --gold:#8A1735;          /* Burgundy — signature accent */
  --gold-light:#A8324D;    /* Burgundy tint — hover */
  --gold-dark:#6B1129;     /* Burgundy shade — on-light text/labels */
  --success:#3a9d6f;       /* Available — brighter green */
  --sold-green:#1f6b48;    /* Sold — deeper green (same family, distinct shade) */
  --danger:#8A1735;
  --whatsapp:#25d366;

  --font-head: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --maxw: 1320px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --shadow-sm: 0 2px 10px rgba(8,11,16,0.06);
  --shadow-md: 0 10px 30px rgba(8,11,16,0.10);
  --shadow-lg: 0 20px 60px rgba(8,11,16,0.18);
  --header-h: 84px;
  --header-h-scrolled: 64px;
  --transition: 220ms cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--off-white);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:16px;}

h1,h2,h3,h4{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:0.02em;
  font-weight:700;
  margin:0 0 .5em;
  color:var(--charcoal);
}
h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08;letter-spacing:0.01em;text-wrap:balance;}
h2{font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.15;text-wrap:balance;}
h3{font-size:1.15rem;letter-spacing:0.03em;}
h4{font-size:1.05rem;letter-spacing:0.03em;}
p{margin:0 0 1em;color:var(--grey-700);}
.eyebrow{
  display:inline-block;
  font-family:var(--font-head);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold-dark);
  margin-bottom:14px;
}
.eyebrow.on-dark{color:var(--gold-light);}

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
}
.section{padding:88px 0;}
.section-tight{padding:56px 0;}
@media(max-width:760px){
  .section{padding:56px 0;}
  .section-tight{padding:40px 0;}
}
.section-dark{background:var(--charcoal);color:var(--off-white);}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--white);}
.section-dark p{color:var(--grey-300);}
.section-alt{background:var(--grey-100);}

.section-head{max-width:680px;margin:0 auto 48px;text-align:center;}
.section-head.left{margin:0 0 40px;text-align:left;}
.section-head p{font-size:1.05rem;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:0.82rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:8px;
  border:1.5px solid transparent;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
  white-space:nowrap;
}
.btn-primary{background:var(--gold);color:var(--off-white);}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-dark{background:var(--charcoal);color:var(--off-white);}
.btn-dark:hover{background:var(--charcoal-2);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-outline{background:transparent;color:var(--charcoal);border-color:var(--charcoal);}
.btn-outline:hover{background:var(--charcoal);color:var(--off-white);}
.btn-outline-light{background:transparent;color:var(--off-white);border-color:rgba(247,246,243,0.5);}
.btn-outline-light:hover{background:var(--off-white);color:var(--charcoal);border-color:var(--off-white);}
.btn-whatsapp{background:var(--whatsapp);color:#fff;}
.btn-whatsapp:hover{background:#1ebe57;transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-sm{padding:11px 20px;font-size:0.72rem;}
.btn-block{width:100%;}
.btn-lg{padding:18px 38px;font-size:0.88rem;}
.btn[disabled]{opacity:0.5;pointer-events:none;}
@media(max-width:420px){
  .btn{white-space:normal;text-align:center;}
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;
  height:var(--header-h);
  background:rgba(8,11,16,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:height var(--transition), background var(--transition);
}
.site-header.scrolled{height:var(--header-h-scrolled);}
.site-header .container{
  height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:nowrap;max-width:1360px;
}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;}
.brand img{height:56px;width:56px;object-fit:contain;transition:height var(--transition),width var(--transition);border-radius:50%;}
.site-header.scrolled .brand img{height:44px;width:44px;}
.brand-word{font-family:var(--font-head);font-weight:800;letter-spacing:0.04em;color:var(--white);font-size:1.3rem;line-height:1.1;white-space:nowrap;}
.brand-word span{display:block;font-size:0.62rem;letter-spacing:0.2em;color:var(--gold-light);font-weight:600;white-space:nowrap;}

.main-nav{display:flex;align-items:center;gap:0;flex-shrink:1;min-width:0;}
.main-nav > ul{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;}
.main-nav a{
  display:block;padding:10px 13px;font-family:var(--font-head);font-size:0.74rem;white-space:nowrap;
  font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--grey-300);
  border-radius:6px;transition:color var(--transition), background var(--transition);
}
.main-nav a:hover,.main-nav a.active{color:var(--white);background:rgba(255,255,255,0.06);}
.has-dropdown{position:relative;}
.has-dropdown > a::after{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);}
.dropdown{
  position:absolute;top:100%;left:0;min-width:230px;background:var(--charcoal-2);
  border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:8px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--transition);
  box-shadow:var(--shadow-lg);
}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(4px);}
.dropdown a{padding:10px 12px;border-radius:6px;}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.icon-btn{
  display:flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,0.08);color:var(--white);
  transition:background var(--transition);
}
.icon-btn:hover{background:rgba(255,255,255,0.18);}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:none;}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);margin:0 auto;transition:transform var(--transition), opacity var(--transition);}

@media(max-width:1240px){
  .main-nav a{padding:10px 10px;font-size:0.68rem;letter-spacing:0.02em;}
  .header-actions{gap:6px;}
}
@media(max-width:1100px){
  .main-nav{display:none;}
  .header-actions .btn-outline-light,.header-actions .icon-btn{display:none;}
  .hamburger{display:flex;}
}
/* Below ~460px the logo + "Book Now" + hamburger no longer fit on one
   line (brand text alone can run ~160px) and were pushing the hamburger
   off-screen, causing the whole page to scroll horizontally. Tighten the
   gutter, shrink the wordmark, and drop the "Book Now" button (it's
   already the first item in the hamburger's mobile menu). */
@media(max-width:460px){
  .site-header .container{padding:0 14px;gap:8px;}
  .brand{gap:8px;}
  .brand img{height:42px;width:42px;}
  .brand-word{font-size:0.98rem;}
  .brand-word span{display:none;}
  .header-actions{gap:6px;}
  .header-actions .btn-primary.btn-sm{display:none;}
}

/* Mobile overlay menu */
.mobile-menu{
  position:fixed;inset:0;z-index:1500;background:var(--charcoal);
  transform:translateX(100%);transition:transform 320ms cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;overflow-y:auto;
}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,0.08);}
.mobile-menu-close{width:44px;height:44px;background:rgba(255,255,255,0.08);border:none;border-radius:50%;color:#fff;font-size:1.3rem;}
.mobile-menu nav{padding:20px 24px;flex:1;}
.mobile-menu nav ul{display:flex;flex-direction:column;}
.mobile-menu nav > ul > li{border-bottom:1px solid rgba(255,255,255,0.07);}
.mobile-menu nav a{display:block;padding:18px 4px;font-family:var(--font-head);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--white);}
.mobile-submenu{padding-left:14px;display:none;}
.mobile-submenu.open{display:block;}
.mobile-submenu a{font-size:0.9rem;color:var(--grey-300);padding:12px 4px;}
.mobile-menu-actions{padding:20px 24px 40px;display:flex;flex-direction:column;gap:12px;}
body.menu-open{overflow:hidden;}

/* Sticky mobile action bar */
.mobile-action-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;
  background:var(--charcoal);border-top:1px solid rgba(255,255,255,0.1);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  gap:10px;
}
.mobile-action-bar a{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px;border-radius:8px;font-family:var(--font-head);font-weight:700;
  font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;
}
.mobile-action-bar .maw{background:var(--whatsapp);color:#fff;}
.mobile-action-bar .macall{background:var(--gold);color:var(--off-white);}
@media(max-width:900px){
  .mobile-action-bar{display:flex;}
  body{padding-bottom:70px;}
}

/* ---------- Hero + CSS-only car animation ---------- */
.hero{
  position:relative;min-height:88vh;display:block;
  background:linear-gradient(180deg, rgba(8,11,16,0.55), rgba(8,11,16,0.88)),
    linear-gradient(120deg,#1c1e22,#2b2d33 55%,#1c1e22);
  color:var(--white);overflow:hidden;
}
.hero .container{position:relative;}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 78% 45%, rgba(138,23,53,0.16), transparent 55%);
}
.hero-inner{position:relative;z-index:2;padding:120px 0 80px;}
.hero h1{color:var(--white);margin-bottom:18px;}
.hero .subhead{font-family:var(--font-head);font-size:clamp(1rem,2vw,1.3rem);color:var(--gold-light);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;margin-bottom:18px;}
.hero .body-copy{max-width:560px;font-size:1.08rem;color:var(--grey-300);margin-bottom:36px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:20px;}
.hero-wa-link{display:inline-flex;align-items:center;gap:8px;color:var(--grey-300);font-size:0.9rem;margin-top:10px;}
.hero-wa-link:hover{color:var(--white);}

/* Real inventory video filling the hero, in place of the old sliding
   car-silhouette animation. Same dark gradient treatment as before so
   the headline stays legible; prefers-reduced-motion falls back to a
   static poster frame. */
.hero-video-layer{
  position:absolute;inset:0;z-index:0;overflow:hidden;background:#15171b;
}
.hero-video-layer video{
  width:100%;height:100%;object-fit:cover;object-position:50% 55%;
  filter:saturate(0.92);
}
.hero-video-static{
  display:none;width:100%;height:100%;object-fit:cover;object-position:50% 55%;
  filter:saturate(0.92);
}
.hero-video-layer::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,11,16,0.55), rgba(8,11,16,0.88)),
    linear-gradient(120deg, rgba(28,30,34,0.35), rgba(43,45,51,0.15) 55%, rgba(28,30,34,0.35));
}
@media (prefers-reduced-motion: reduce){
  .hero-video-layer video{display:none;}
  .hero-video-static{display:block;}
}

.services-strip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,0.12);margin-top:56px;}
.services-strip .container{display:flex;flex-wrap:wrap;gap:0;padding-top:26px;padding-bottom:6px;}
.services-strip span{
  font-family:var(--font-head);font-size:0.78rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--grey-300);padding:10px 26px 10px 0;margin-right:26px;
  border-right:1px solid rgba(255,255,255,0.15);
}
.services-strip span:last-child{border-right:none;}
@media(max-width:700px){
  .services-strip span{border-right:none;padding:8px 0;margin-right:0;display:block;}
  .hero-inner{padding:96px 0 60px;}
}

/* ---------- Need Today Cards ---------- */
.need-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;}
.need-card{
  background:var(--white);border-radius:var(--radius-md);padding:32px 24px;
  box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);
  border:1px solid var(--grey-300);display:flex;flex-direction:column;
}
.need-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--gold);}
.need-icon{
  width:52px;height:52px;border-radius:50%;background:var(--charcoal);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:1.3rem;
}
.need-card h4{margin-bottom:8px;font-size:1.15rem;letter-spacing:0.03em;}
.need-card p{font-size:0.92rem;flex:1;}
.need-card .btn{margin-top:18px;align-self:flex-start;white-space:normal;text-align:center;}
@media(max-width:1080px){.need-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){
  .need-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .need-grid > :last-child{grid-column:1 / -1;}
}
@media(max-width:420px){
  .need-grid{grid-template-columns:minmax(0,1fr);}
  .need-grid > :last-child{grid-column:auto;}
}

/* ---------- Vehicle Cards ---------- */
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;}
@media(max-width:360px){.vehicle-grid{grid-template-columns:minmax(0,1fr);}}
.vehicle-card{
  background:var(--white);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-sm);border:1px solid var(--grey-300);
  transition:transform var(--transition),box-shadow var(--transition);
  display:flex;flex-direction:column;
}
.vehicle-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.vehicle-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--grey-300);}
.vehicle-media img{width:100%;height:100%;object-fit:cover;transition:transform 420ms ease;}
.vehicle-card:hover .vehicle-media img{transform:scale(1.06);}
.badge{
  display:inline-block;padding:5px 11px;border-radius:5px;font-family:var(--font-head);
  font-size:0.66rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
}
.badge-spec{background:rgba(8,11,16,0.85);color:#fff;position:absolute;top:12px;left:12px;}
.badge-avail{position:absolute;top:12px;right:12px;}
.badge-avail.AVAILABLE{background:var(--success);color:#fff;}
.badge-avail.RESERVED{background:var(--grey-500);color:var(--charcoal);}
.badge-avail.SOLD{background:var(--sold-green);color:#fff;}

/* Diagonal corner ribbon variant — set per vehicle from the admin Availability
   field, no code edits needed. Toggle with the .ribbon-on modifier. */
.vehicle-media.ribbon-on::before{
  content: attr(data-ribbon-text);
  position:absolute; top:18px; left:-38px; z-index:3;
  width:160px; padding:6px 0; text-align:center;
  transform:rotate(-45deg);
  font-family:var(--font-head); font-size:0.68rem; font-weight:800;
  letter-spacing:0.08em; text-transform:uppercase; color:#fff;
  background:var(--ribbon-color, var(--sold-green));
  box-shadow:0 2px 8px rgba(0,0,0,0.25);
}
.vehicle-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.vehicle-title{font-family:var(--font-head);font-weight:700;font-size:1.02rem;text-transform:none;letter-spacing:0;margin-bottom:2px;color:var(--charcoal);}
.vehicle-trim{font-size:0.85rem;color:var(--grey-700);margin-bottom:12px;}
.vehicle-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:0.8rem;color:var(--grey-700);margin-bottom:14px;}
.vehicle-meta strong{color:var(--charcoal);}
.vehicle-price{font-family:var(--font-head);font-weight:800;font-size:1.35rem;color:var(--charcoal);margin:auto 0 16px;}
.vehicle-price span{font-size:0.7rem;color:var(--grey-700);font-weight:600;margin-left:4px;}
.vehicle-actions{display:flex;gap:10px;}
.vehicle-actions .btn{flex:1;padding:12px 10px;font-size:0.7rem;}

/* ---------- Journey Timeline ---------- */
.journey-track{display:flex;gap:0;position:relative;padding-top:10px;}
.journey-step{flex:1;text-align:center;position:relative;padding:0 12px;}
.journey-step .num{
  width:60px;height:60px;border-radius:50%;border:1.5px solid var(--gold);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
  font-family:var(--font-head);font-weight:800;color:var(--gold-light);background:var(--charcoal);
  position:relative;z-index:2;font-size:0.85rem;
}
.journey-step h4{color:var(--white);font-size:0.92rem;margin-bottom:0;transition:color 0.3s ease;}
.journey-line{position:absolute;top:40px;left:0;right:0;height:1px;background:rgba(255,255,255,0.18);z-index:1;}
.journey-step .num{transition:background 0.35s ease,border-color 0.35s ease,color 0.35s ease,transform 0.35s ease,box-shadow 0.35s ease;}
.journey-step.is-active .num{
  background:var(--gold);border-color:var(--gold);color:var(--charcoal);
  transform:scale(1.14);box-shadow:0 0 0 6px rgba(212,175,55,0.18);
}
.journey-step.is-active h4{color:var(--gold-light);}
.journey-car{
  position:absolute;top:10px;left:-4%;width:52px;height:24px;z-index:3;opacity:0;
  animation:tcgJourneyDrive 17.5s linear infinite;pointer-events:none;
}
.journey-car svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.35));}
@keyframes tcgJourneyDrive{
  0%    { left:-4%;    opacity:0; }
  2%    { left:-4%;    opacity:1; }
  9%    { left:7.14%;  opacity:1; }
  20%   { left:7.14%;  opacity:1; }
  23%   { left:21.43%; opacity:1; }
  34%   { left:21.43%; opacity:1; }
  37%   { left:35.71%; opacity:1; }
  48%   { left:35.71%; opacity:1; }
  51%   { left:50%;    opacity:1; }
  62%   { left:50%;    opacity:1; }
  65%   { left:64.29%; opacity:1; }
  76%   { left:64.29%; opacity:1; }
  79%   { left:78.57%; opacity:1; }
  90%   { left:78.57%; opacity:1; }
  93%   { left:92.86%; opacity:1; }
  97%   { left:92.86%; opacity:1; }
  100%  { left:104%;   opacity:0; }
}
@media(max-width:900px){
  .journey-track{flex-direction:column;gap:34px;}
  .journey-line{display:none;}
  .journey-car{display:none;}
  .journey-step{display:flex;align-items:center;gap:18px;text-align:left;padding:0;}
  .journey-step .num{margin:0;flex-shrink:0;}
}
@media(prefers-reduced-motion:reduce){
  .journey-car{display:none;}
}

/* ---------- Ask The Car Guy ---------- */
.ask-box{
  background:var(--white);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-md);
  max-width:760px;margin:0 auto;border:1px solid var(--grey-300);
}
.ask-box textarea{
  width:100%;border:1.5px solid var(--grey-300);border-radius:10px;padding:16px;
  min-height:110px;resize:vertical;font-size:1rem;margin-bottom:16px;
}
.ask-box textarea:focus{outline:none;border-color:var(--gold);}

/* ---------- How It Works ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.step-item .num{font-family:var(--font-head);font-weight:800;font-size:3.4rem;color:var(--gold);line-height:1;margin-bottom:14px;opacity:0.85;}
@media(max-width:800px){.steps-grid{grid-template-columns:1fr;gap:32px;}}

/* ---------- Reviews ---------- */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.review-card{background:var(--white);border-radius:var(--radius-md);padding:28px;border:1px solid var(--grey-300);box-shadow:var(--shadow-sm);}
.stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;font-size:1rem;}
.review-name{font-family:var(--font-head);font-weight:700;font-size:0.85rem;margin-top:14px;text-transform:uppercase;letter-spacing:0.03em;}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr;}}

/* ---------- Instagram grid ---------- */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.insta-grid a{aspect-ratio:1;overflow:hidden;border-radius:6px;position:relative;}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition);}
.insta-grid a:hover img{transform:scale(1.08);}
@media(max-width:900px){.insta-grid{grid-template-columns:repeat(3,1fr);}}

/* ---------- Cards (repair/inspection/services) ---------- */
.icon-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.icon-card{background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius-md);padding:26px 22px;box-shadow:var(--shadow-sm);transition:all var(--transition);}
.icon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gold);}
.icon-card h4{margin-bottom:6px;font-size:0.98rem;}
.icon-card p{font-size:0.86rem;margin-bottom:0;}
@media(max-width:900px){.icon-card-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.icon-card-grid{grid-template-columns:1fr;}}

.media-block{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/10;background:var(--grey-300);}
.media-block img{width:100%;height:100%;object-fit:cover;}

/* Two-col feature layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px;}}
.split.reverse .split-media{order:2;}

/* ---------- Forms ---------- */
.form-card{background:var(--white);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-md);border:1px solid var(--grey-300);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid.single{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:0.78rem;font-weight:700;font-family:var(--font-head);text-transform:uppercase;letter-spacing:0.04em;color:var(--charcoal);}
.field input,.field select,.field textarea{
  border:1.5px solid var(--grey-300);border-radius:8px;padding:13px 14px;font-size:0.96rem;
  background:var(--white);transition:border-color var(--transition);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.field textarea{min-height:100px;resize:vertical;}
.field-upload{border:1.5px dashed var(--grey-300);border-radius:8px;padding:20px;text-align:center;font-size:0.85rem;color:var(--grey-700);}
.form-foot{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.form-note{margin-top:16px;font-size:0.8rem;}
.form-success{display:none;text-align:center;padding:50px 20px;}
.form-success.show{display:block;}
.form-success .check{width:64px;height:64px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:1.8rem;}

/* ---------- Final CTA ---------- */
.final-cta{text-align:center;}
.final-cta .btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:30px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--charcoal);color:var(--grey-300);padding-top:70px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,0.08);}
.footer-brand img{height:46px;margin-bottom:16px;border-radius:50%;}
.footer-brand p{font-size:0.88rem;color:var(--grey-500);max-width:280px;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;transition:background var(--transition);}
.footer-social a:hover{background:var(--gold);color:var(--off-white);}
.footer-col h4{color:var(--white);font-size:0.78rem;letter-spacing:0.08em;margin-bottom:18px;}
.footer-col ul li{margin-bottom:11px;}
.footer-col a{font-size:0.88rem;color:var(--grey-300);transition:color var(--transition);}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:26px 0;font-size:0.8rem;color:var(--grey-500);}
.footer-bottom a{color:var(--grey-500);}
.footer-bottom a:hover{color:var(--gold-light);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- Utility ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:800px){.grid-2{grid-template-columns:1fr;}}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;}
.tag{padding:9px 16px;border:1.5px solid var(--grey-300);border-radius:30px;font-size:0.85rem;background:var(--white);}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 600ms ease, transform 600ms ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.breadcrumb{font-size:0.8rem;color:var(--grey-700);margin-bottom:18px;}
.breadcrumb a:hover{color:var(--gold-dark);}
.divider{height:1px;background:var(--grey-300);margin:40px 0;}
.page-hero{background:var(--charcoal);color:var(--white);padding:80px 0 60px;}
.page-hero h1{color:var(--white);}
.page-hero p{color:var(--grey-300);max-width:640px;}
.faq-item{border-bottom:1px solid var(--grey-300);padding:22px 0;}
.faq-item summary{font-family:var(--font-head);font-weight:700;cursor:pointer;font-size:0.98rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--gold-dark);}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:14px;margin-bottom:0;}

/* sticky enquiry bar on vehicle detail */
.sticky-enquiry{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--white);
  border-top:1px solid var(--grey-300);box-shadow:0 -6px 20px rgba(0,0,0,0.08);
  padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:10px;
}
@media(max-width:900px){
  .sticky-enquiry.active{display:flex;}
  .mobile-action-bar{display:none !important;}
}
.sticky-enquiry a{flex:1;text-align:center;padding:14px;border-radius:8px;font-family:var(--font-head);font-weight:700;font-size:0.78rem;text-transform:uppercase;}
.sticky-enquiry .se-wa{background:var(--whatsapp);color:#fff;}
.sticky-enquiry .se-book{background:var(--gold);color:var(--off-white);}

/* ---------- Single Vehicle template extras ---------- */
.gallery{display:grid;grid-template-columns:1fr 120px;gap:12px;}
.gallery-main{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--grey-300);}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:520px;}
.gallery-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;opacity:0.6;transition:opacity var(--transition);border:2px solid transparent;}
.gallery-thumbs img:hover,.gallery-thumbs img.active{opacity:1;border-color:var(--gold);}
@media(max-width:760px){
  .gallery{grid-template-columns:1fr;}
  .gallery-thumbs{flex-direction:row;max-height:none;}
  .gallery-thumbs img{width:80px;height:80px;flex-shrink:0;}
}
.vd-price{font-family:var(--font-head);font-weight:800;font-size:2rem;}
.vd-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 8px;}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--grey-300);}
.spec-table td{padding:13px 6px;font-size:0.92rem;}
.spec-table td:first-child{color:var(--grey-700);width:45%;}
.spec-table td:last-child{font-weight:600;color:var(--charcoal);}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;}
.feat-grid li{padding:10px 0;font-size:0.92rem;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--grey-300);}
.feat-grid li::before{content:"\2713";color:var(--gold-dark);font-weight:700;}
@media(max-width:700px){.feat-grid{grid-template-columns:1fr 1fr;}}
.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.history-card{background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius-md);padding:20px;}
.history-card h4{font-size:0.78rem;color:var(--grey-700);margin-bottom:8px;}
.history-card .val{font-family:var(--font-head);font-weight:700;font-size:1rem;}
@media(max-width:700px){.history-grid{grid-template-columns:1fr;}}

/* ---------- Filters bar (catalog) ---------- */
.filters-bar{background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius-md);padding:22px;margin-bottom:32px;box-shadow:var(--shadow-sm);}
.filters-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end;}
.filters-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;flex-wrap:wrap;gap:12px;}
.results-count{font-size:0.9rem;color:var(--grey-700);}
@media(max-width:1000px){.filters-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.filters-grid{grid-template-columns:1fr;}}

/* ---------- WP admin: Vehicle meta box + list table status pill ---------- */
.tcg-metabox-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.tcg-metabox-grid .full{grid-column:1/-1;}
.tcg-metabox-grid label{display:block;font-weight:600;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:#444;}
.tcg-metabox-grid input[type=text],.tcg-metabox-grid input[type=number],.tcg-metabox-grid input[type=date],.tcg-metabox-grid select,.tcg-metabox-grid textarea{width:100%;}
.tcg-gallery-grid{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;}
.tcg-gallery-grid img{width:90px;height:90px;object-fit:cover;border-radius:6px;border:1px solid #ddd;}
.tcg-gallery-item{position:relative;}
.tcg-gallery-item .remove-img{position:absolute;top:-6px;right:-6px;background:#8A1735;color:#fff;border-radius:50%;width:20px;height:20px;line-height:18px;text-align:center;font-size:12px;cursor:pointer;border:2px solid #fff;}
.tcg-status-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:#fff;}
.tcg-status-pill.AVAILABLE{background:#3a9d6f;}
.tcg-status-pill.RESERVED{background:#A7ABB2;color:#111;}
.tcg-status-pill.SOLD{background:#1f6b48;}
