:root{
  --theme-blue:var(--blue,#1261D6);
  --theme-blue-dark:var(--navy,#0B2A5B);
  --theme-blue-hover:var(--blue-2,#0B4FB3);
  --theme-red:var(--amber,#D92D2D);
  --theme-red-dark:color-mix(in srgb,var(--amber,#D92D2D) 82%,#000);
  --theme-paper:var(--paper,#F7F9FC);
  --theme-white:#fff;
  --theme-ink:#14213D;
  --theme-muted:#5D6B82;
  --theme-line:#DDE4EE;
  --theme-success:#16834A;
  --theme-radius:10px;
}
body{background:var(--theme-paper);color:var(--theme-ink);}
a{color:var(--theme-blue);}
a:hover{color:var(--theme-red);}
h1,h2,h3,h4{color:var(--theme-blue-dark);letter-spacing:-.02em;}
.container{max-width:1200px;padding-left:24px;padding-right:24px;}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--theme-line);box-shadow:0 3px 12px rgba(20,33,61,.06);}
.site-header .container{padding-top:13px;padding-bottom:13px;}
.header-inner{min-height:66px;}
.brand{color:var(--theme-blue-dark);gap:10px;}
.brand:hover{color:var(--theme-red);text-decoration:none;}
.brand-mark{width:42px;height:42px;flex:0 0 42px;}
.brand-mark-fallback svg{width:42px;height:42px;display:block;}
.brand-copy strong{display:block;font-size:1.15rem;line-height:1.1;}
.brand-copy small{display:block;color:#738198;font-size:.58rem;letter-spacing:.1em;margin-top:4px;font-weight:700;}
.nav{gap:6px;}
.nav a{color:#34435B;font-weight:650;padding:10px 13px;border-radius:6px;}
.nav a:not(.btn):hover,.nav a:not(.btn).active{background:color-mix(in srgb,var(--theme-blue) 8%,#fff);color:var(--theme-blue);text-decoration:none;}
.nav a.nav-book{margin-left:7px;}
.nav-toggle{border:1px solid var(--theme-line);background:#fff;color:var(--theme-blue-dark);border-radius:6px;}
@media(max-width:820px){
 .nav{background:#fff;border-bottom:1px solid var(--theme-line);box-shadow:0 10px 20px rgba(20,33,61,.08);padding:12px 24px 18px;}
 .nav a{width:100%;}
 .nav a.nav-book{margin-left:0;text-align:center;}
}

/* Free kilometres strip */
.free-km-banner{background:#fff;border-bottom:1px solid var(--theme-line);}
.free-km-inner{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:.86rem;color:var(--theme-muted);}
.free-km-badge{display:inline-flex;align-items:center;padding:5px 9px;background:var(--theme-red);color:#fff;font-weight:800;font-size:.7rem;letter-spacing:.08em;border-radius:4px;}
.free-km-inner a{font-weight:750;}
.free-km-inner a:hover{color:var(--theme-red);}

/* Global buttons */
.btn{border-radius:6px;border-width:2px;font-weight:750;box-shadow:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease;}
.btn-primary{background:var(--theme-blue);border-color:var(--theme-blue);color:#fff;}
.btn-primary:hover{background:var(--theme-red);border-color:var(--theme-red);color:#fff;transform:translateY(-1px);text-decoration:none;}
.btn-dark{background:var(--theme-blue-dark);border-color:var(--theme-blue-dark);color:#fff;}
.btn-dark:hover{background:var(--theme-red);border-color:var(--theme-red);color:#fff;text-decoration:none;}
.btn-outline{background:#fff;color:var(--theme-blue);border-color:var(--theme-blue);}
.btn-outline:hover{background:var(--theme-red);border-color:var(--theme-red);color:#fff;text-decoration:none;}
.btn-danger{background:var(--theme-red);border-color:var(--theme-red);color:#fff;}

/* Existing homepage hero: white-first, no gradients */
.hero{background:#fff;color:var(--theme-ink);padding:64px 0 0;border-bottom:1px solid var(--theme-line);}
.hero .container{padding-bottom:60px;}
.hero-eyebrow{color:var(--theme-red);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.hero h1{color:var(--theme-blue-dark);max-width:760px;}
.hero p.lead{color:var(--theme-muted);font-size:1.08rem;}
.hero-actions .btn-outline{color:var(--theme-blue);border-color:var(--theme-blue);}
.hero-actions .btn-outline:hover{background:var(--theme-red);color:#fff;border-color:var(--theme-red);}
.hero-art{background:color-mix(in srgb,var(--theme-blue) 7%,#fff);border:1px solid color-mix(in srgb,var(--theme-blue) 18%,#fff);border-radius:10px;padding:14px;}
.hero-road{filter:none;}
.quickbar{background:#fff;border:1px solid var(--theme-line);border-radius:8px;box-shadow:0 10px 28px rgba(20,33,61,.10);margin-bottom:-54px;}
.quickbar input,.quickbar select{border:1px solid #C9D3E2;border-radius:6px;min-height:44px;}
.quickbar input:focus,.quickbar select:focus{border-color:var(--theme-blue);outline:3px solid rgba(18,97,214,.12);}
.quickbar .btn-dark{background:var(--theme-blue);border-color:var(--theme-blue);}
.quickbar .btn-dark:hover{background:var(--theme-red);border-color:var(--theme-red);}

/* Sections */
section{padding:86px 0 58px;}
.stat-strip{background:#fff;border-color:var(--theme-line);}
.stat{border-left:3px solid var(--theme-blue);}
.stat b{color:var(--theme-blue-dark);}
.section-head{margin-bottom:30px;}
.section-head h2{font-weight:800;}

/* Fleet cards */
.fleet-grid{gap:22px;}
.car-card{background:#fff;border:1px solid var(--theme-line);border-radius:8px;box-shadow:0 4px 14px rgba(20,33,61,.05);overflow:hidden;}
.car-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(20,33,61,.12);border-color:color-mix(in srgb,var(--theme-blue) 28%,#fff);}
.car-media{background:color-mix(in srgb,var(--theme-blue) 6%,#fff);}
.car-media .chip{background:var(--theme-blue);border-radius:4px;font-weight:800;}
.car-body{padding:18px;}
.car-body h3{font-weight:800;}
.car-price{border-top:1px solid var(--theme-line);}
.car-price b{color:var(--theme-blue-dark);}
.car-price .btn-dark{background:var(--theme-blue);border-color:var(--theme-blue);}
.car-price .btn-dark:hover{background:var(--theme-red);border-color:var(--theme-red);}
.badge-available{background:#E8F7EF;color:var(--theme-success);border:1px solid #A8DEC0;}
.badge-booked{background:#FDECEC;color:var(--theme-red-dark);border:1px solid #F2B8B8;}
.badge-maintenance{background:#FFF4E8;color:#9B5B00;border:1px solid #EBC58C;}

/* Why cards */
.why-grid{gap:22px;}
.why-card{background:#fff;border:1px solid var(--theme-line);border-left:4px solid var(--theme-blue);border-radius:8px;padding:24px;box-shadow:0 4px 12px rgba(20,33,61,.04);}
.why-card:hover{border-left-color:var(--theme-red);}

/* CTA */
.cta-band{background:var(--theme-blue-dark);padding:52px 0;}
.cta-band h2{color:#fff;}
.cta-band p{color:color-mix(in srgb,#fff 86%,var(--theme-blue));}
.cta-band .btn-primary{background:#fff;color:var(--theme-blue);border-color:#fff;}
.cta-band .btn-primary:hover{background:var(--theme-red);border-color:var(--theme-red);color:#fff;}

/* Filters / details */
.filter-bar{background:#fff;border:1px solid var(--theme-line);border-radius:8px;box-shadow:0 4px 14px rgba(20,33,61,.04);}
.filter-bar input,.filter-bar select{width:100%;min-height:44px;border:1px solid #C9D3E2;border-radius:6px;background:#fff;font:inherit;padding:.65em .75em;}
.filter-bar input:focus,.filter-bar select:focus{border-color:var(--theme-blue);outline:3px solid rgba(18,97,214,.12);}
.filter-bar .btn-dark{background:var(--theme-blue);border-color:var(--theme-blue);}
.filter-bar .btn-dark:hover{background:var(--theme-red);border-color:var(--theme-red);}
.car-detail-media,.spec-list,.booking-card{border-color:var(--theme-line);border-radius:8px;}
.spec-list{background:#fff;}
.booking-card{background:#fff;box-shadow:0 8px 24px rgba(20,33,61,.08);}
.booking-card .price{color:var(--theme-blue-dark);}
.feature-badges .chip{border-radius:5px;background:color-mix(in srgb,var(--theme-blue) 7%,#fff);border-color:color-mix(in srgb,var(--theme-blue) 18%,#fff);color:var(--theme-blue-dark);}
.car-gallery-thumbs .gallery-thumb{border-radius:6px;}
.car-gallery-thumbs .gallery-thumb.active{border-color:var(--theme-blue);}

/* Forms: consistent and comfortable */
form.form-grid,.form-grid{gap:16px;}
.field label{color:var(--theme-blue-dark);font-weight:750;margin-bottom:6px;}
.field input,.field select,.field textarea,
.booking-card input,.booking-card select,.booking-card textarea{
 width:100%;background:#fff;color:var(--theme-ink);border:1px solid #C7D1DF;border-radius:6px;
 padding:.78em .85em;font:inherit;min-height:46px;transition:border-color .15s ease,box-shadow .15s ease;
}
.field textarea,.booking-card textarea{min-height:130px;resize:vertical;}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#9FB0C6;}
.field input:focus,.field select:focus,.field textarea:focus,
.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus{
 border-color:var(--theme-blue);outline:none;box-shadow:0 0 0 3px rgba(18,97,214,.12);
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--theme-blue);min-height:auto;width:auto;}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;}
.alert{border-radius:6px;border-width:1px;padding:12px 14px;}
.alert-success{background:#EAF8F0;border-color:#A9DDBF;color:#146C3B;}
.alert-error{background:#FDEEEE;border-color:#F0BABA;color:#9F1D1D;}

/* CMS pages */
.theme-page-card{background:#fff;border:1px solid var(--theme-line);border-radius:8px;padding:clamp(24px,4vw,48px);box-shadow:0 5px 18px rgba(20,33,61,.05);}
.theme-page-card h1{margin-top:0;}
.page-kicker{display:inline-block;color:var(--theme-red);font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;margin-bottom:8px;}
.cms-page-content img{border-radius:7px;}
.cms-page-content table{width:100%;border-collapse:collapse;}
.cms-page-content th,.cms-page-content td{padding:10px;border:1px solid var(--theme-line);text-align:left;}
.cms-page-content th{background:color-mix(in srgb,var(--theme-blue) 7%,#fff);color:var(--theme-blue-dark);}

/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--theme-line);color:var(--theme-muted);}
.site-footer h4{color:var(--theme-blue-dark);margin-bottom:10px;}
.footer-brand{display:flex;align-items:center;gap:10px;color:var(--theme-blue-dark);font-size:1.15rem;margin-bottom:12px;}
.footer-brand .brand-mark{width:38px;height:38px;flex-basis:38px;}
.footer-brand .brand-mark-fallback svg{width:38px;height:38px;}
.footer-main p{max-width:38ch;}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:7px;}
.footer-links a{color:#52617A;}
.footer-links a:hover{color:var(--theme-red);}
.footer-km{display:inline-flex;flex-direction:column;gap:3px;background:color-mix(in srgb,var(--theme-blue) 7%,#fff);border-left:4px solid var(--theme-red);padding:10px 12px;color:var(--theme-blue-dark);font-weight:850;font-size:.78rem;}
.footer-km span{font-weight:500;color:var(--theme-muted);font-size:.78rem;}
.footer-book{margin-top:14px;}
.footer-bottom{border-top:1px solid var(--theme-line);color:#77849A;}

/* Accessibility */
:focus-visible{outline:3px solid rgba(217,45,45,.5);outline-offset:3px;}
@media(max-width:760px){
 .free-km-inner{justify-content:flex-start;padding-top:9px;padding-bottom:9px;}
 .hero{padding-top:48px;}
 .quickbar{grid-template-columns:1fr;margin-bottom:-30px;}
 .stat-strip .container{grid-template-columns:1fr 1fr;}
 section{padding:64px 0 44px;}
 .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
 .container{padding-left:18px;padding-right:18px;}
 .footer-grid{grid-template-columns:1fr;}
 .hero-actions{flex-direction:column;align-items:stretch;}
 .hero-actions .btn{justify-content:center;}
 .stat-strip .container{grid-template-columns:1fr;}
}


/* Builder-first presentation */
.builder-content, .page-builder-content { width:100%; }
.cms-theme-page { min-height:45vh; }
.cms-theme-page > .container { max-width:1200px; }
.cms-page-content > :first-child { margin-top:0; }
.cms-page-content > :last-child { margin-bottom:0; }

/* Global chrome is intentionally presentation-only: content should live in CMS/Builder data. */
.theme-global-banner { border-bottom:1px solid var(--theme-line); background:var(--theme-paper); }
.theme-global-banner[hidden] { display:none; }
.theme-global-banner .container { min-height:42px; }

/* Stronger mobile tap targets */
@media (max-width:760px){
  .nav a{min-height:44px;display:flex;align-items:center;}
  .btn{min-height:44px;}
}
