
/* =========================================================
   LimousineServiceVancouver.com
   Platform 7.2 Executive Edition
   Consolidated site overrides - loaded after Platform CSS
   ========================================================= */

:root{
  --lsv-ink:#071018;
  --lsv-ink-2:#101c27;
  --lsv-text:#172033;
  --lsv-muted:#4b5866;
  --lsv-gold:#d5b36b;
  --lsv-gold-dark:#785b19;
  --lsv-cream:#f7f5ef;
  --lsv-line:#ddd8ce;
  --lsv-white:#fff;
}

/* Header + navigation */
header.site-header,.site-header,.navbar,.nav-shell{
  background:#fff!important;
}
.site-header{
  border-bottom:1px solid rgba(7,16,24,.14)!important;
}
.top{
  background:var(--lsv-ink-2)!important;
  color:#e7edf2!important;
}
.crest{
  background:var(--lsv-ink)!important;
  color:#fff!important;
  border:1px solid var(--lsv-gold)!important;
}
nav[aria-label="Primary navigation"]>a,
nav[aria-label="Primary navigation"] summary,
.navbar a,.nav-shell a,.nav-group summary{
  color:var(--lsv-ink)!important;
}
nav[aria-label="Primary navigation"]>a:hover,
nav[aria-label="Primary navigation"] summary:hover,
.navbar a:hover,.nav-shell a:hover,.nav-group summary:hover{
  color:var(--lsv-gold-dark)!important;
}
.nav-drop,.nav-group[open] .nav-drop{
  background:#fff!important;
  border:1px solid rgba(7,16,24,.14)!important;
  box-shadow:0 18px 40px rgba(7,16,24,.13)!important;
}
.nav-drop a{color:var(--lsv-ink)!important}
.nav-drop a:hover{
  color:var(--lsv-ink)!important;
  background:#f3efe5!important;
}
.nav-drop-cities{
  columns:2;
  column-gap:10px;
  min-width:390px;
}

/* Hero */
.hero,.hero-system{
  background-color:var(--lsv-ink)!important;
  min-height:540px;
}
.hero::before,.hero-system::before{
  background:linear-gradient(90deg,rgba(7,16,24,.94),rgba(7,16,24,.68) 54%,rgba(7,16,24,.25))!important;
}
.hero h1,.hero-system h1,
.hero>div>h2,.hero-system>div>h2{
  color:#fff!important;
  letter-spacing:-.025em;
}
.hero .lead,.hero-system .lead{
  color:#dce5ec!important;
  max-width:780px;
}
.eyebrow,.rates-eyebrow{
  color:var(--lsv-gold)!important;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
}

/* Hero side card: one consistent white treatment */
.hero-card,
.hero .hero-card,
.hero-system .hero-card{
  background:rgba(255,255,255,.97)!important;
  color:var(--lsv-text)!important;
  border:1px solid rgba(213,179,107,.5)!important;
  border-radius:14px!important;
  box-shadow:0 22px 60px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(10px);
}
.hero-card h1,.hero-card h2,.hero-card h3,.hero-card h4,
.hero .hero-card h1,.hero .hero-card h2,.hero .hero-card h3,
.hero-system .hero-card h1,.hero-system .hero-card h2,.hero-system .hero-card h3{
  color:var(--lsv-ink)!important;
}
.hero-card p,.hero-card li,.hero-card span,.hero-card strong{
  color:var(--lsv-muted)!important;
}
.hero-card .eyebrow,.hero-card .rates-eyebrow{
  color:#8a681e!important;
}
.hero-card a:not(.btn){color:#5b4517!important}

/* Buttons */
.btn,.btn-primary{
  background:var(--lsv-gold)!important;
  color:var(--lsv-ink)!important;
  border-color:var(--lsv-gold)!important;
  border-radius:3px!important;
  font-weight:800;
}
.btn:hover,.btn-primary:hover{
  background:#ead8a8!important;
  border-color:#ead8a8!important;
  color:var(--lsv-ink)!important;
}
.btn.outline,.btn-secondary{
  background:transparent!important;
  color:#fff!important;
  border-color:#9fb1bf!important;
}
.hero-card .btn.outline,.hero-card .btn-secondary{
  color:var(--lsv-ink)!important;
  border-color:#8a681e!important;
}

/* Sections */
.section.cream{background:#ece9e1!important}
.section.dark,.dark{
  background:var(--lsv-ink)!important;
  color:#dce3ea!important;
}
.section.dark>.wrap>.heading h1,
.section.dark>.wrap>.heading h2,
.section.dark>.wrap>.heading h3,
.dark>.wrap>.heading h1,
.dark>.wrap>.heading h2,
.dark>.wrap>.heading h3{
  color:#fff!important;
}
.section.dark>.wrap>.heading p,
.dark>.wrap>.heading p{
  color:#dce3ea!important;
}

/* Cards */
.card{
  background:#fff!important;
  color:var(--lsv-text)!important;
  border:1px solid rgba(7,16,24,.12)!important;
  border-radius:7px!important;
  box-shadow:0 14px 34px rgba(7,16,24,.06)!important;
}
.card h1,.card h2,.card h3,.card h4{color:var(--lsv-ink)!important}
.card p,.card li,.card span{color:var(--lsv-muted)!important}
.card a{color:#684f18!important}
.section.dark .card,.dark .card{
  background:#fff!important;
  color:var(--lsv-text)!important;
}
.section.dark .card h1,.section.dark .card h2,.section.dark .card h3,.section.dark .card h4,
.dark .card h1,.dark .card h2,.dark .card h3,.dark .card h4{
  color:var(--lsv-ink)!important;
}
.section.dark .card p,.section.dark .card li,.section.dark .card span,.section.dark .card strong,
.dark .card p,.dark .card li,.dark .card span,.dark .card strong{
  color:var(--lsv-muted)!important;
}
.section.dark .card a,.dark .card a{color:#684f18!important}

/* Editorial blocks */
.editorial-split{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:42px;
  align-items:center;
}
.editorial-stat{
  padding:24px 26px;
  border-top:1px solid var(--lsv-gold);
}
.editorial-stat h3{color:var(--lsv-ink)}
.editorial-stat p{color:var(--lsv-muted)}
.section.dark .editorial-stat h3,.dark .editorial-stat h3{color:#fff!important}
.section.dark .editorial-stat p,.dark .editorial-stat p{color:#dce3ea!important}

/* Destination chips */
.destination-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.destination-strip a{
  display:inline-flex;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.3);
  color:#fff!important;
  text-decoration:none;
  background:rgba(255,255,255,.05);
}
.destination-strip a:hover{
  border-color:var(--lsv-gold);
  color:#ead8a8!important;
}

/* FAQ accordions */
.search-faq details,.rates-faq details{
  background:#fff!important;
  color:var(--lsv-text)!important;
  border:1px solid #e3dfd7!important;
  border-radius:12px!important;
  padding:0 18px;
  margin-bottom:10px;
}
.search-faq summary,.rates-faq summary{
  padding:17px 0;
  font-weight:800;
  cursor:pointer;
  color:var(--lsv-ink)!important;
}
.search-faq details p,.rates-faq details p,
.search-faq details li,.rates-faq details li{
  padding-bottom:17px;
  color:var(--lsv-muted)!important;
}
.section.dark .search-faq details,.dark .search-faq details,
.section.dark .rates-faq details,.dark .rates-faq details{
  background:#fff!important;
}
.section.dark .search-faq summary,.dark .search-faq summary,
.section.dark .rates-faq summary,.dark .rates-faq summary{
  color:var(--lsv-ink)!important;
}
.section.dark .search-faq details p,.dark .search-faq details p,
.section.dark .rates-faq details p,.dark .rates-faq details p{
  color:var(--lsv-muted)!important;
}

/* Rate pages */
.rates-hero{
  padding:58px 0 52px;
  background:linear-gradient(135deg,var(--lsv-ink),#172433);
  color:#fff;
}
.rates-hero h1,.rates-hero h2{color:#fff!important}
.rates-hero .lead{max-width:850px;color:rgba(255,255,255,.88)}
.rate-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.16);
  margin-top:28px;
  border-radius:16px;
  overflow:hidden;
}
.rate-fact{background:rgba(255,255,255,.07);padding:17px}
.rate-fact strong{display:block;color:#fff}
.rate-fact span{font-size:.9rem;color:rgba(255,255,255,.76)}
.rates-section{padding:72px 0}
.rates-section.alt{background:var(--lsv-cream)}
.rates-heading{max-width:880px;margin-bottom:28px}
.pricing-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--lsv-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 40px rgba(7,16,24,.09);
}
.pricing-table{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}
.pricing-table th{
  background:var(--lsv-ink)!important;
  color:#fff!important;
  padding:16px;
  text-align:left;
  white-space:nowrap;
  font-weight:800!important;
}
.pricing-table td{
  padding:15px 16px;
  border-top:1px solid #ece8df;
  color:var(--lsv-text)!important;
  background:#fff!important;
}
.pricing-table tbody tr:nth-child(even) td{background:#faf8f4!important}
.pricing-table td:first-child{font-weight:700}
.pricing-table td:not(:first-child){font-weight:800}
.price-note{
  margin-top:16px;
  padding:16px 18px;
  border-left:4px solid #c8a75a;
  background:#fff;
  color:var(--lsv-muted);
  border-radius:0 12px 12px 0;
}

/* Other utility sections */
.keyword-bridge{padding:68px 0}
.keyword-bridge .heading{max-width:880px}
.keyword-bridge .card h3{color:var(--lsv-ink)!important}
.quote-band{
  background:var(--lsv-ink-2)!important;
  color:#fff!important;
}
.quote-band h2,.quote-band h3{color:#fff!important}
.quote-band p{color:#e1e8ed!important}

/* Footer */
footer{
  background:var(--lsv-ink)!important;
  color:#cad5dd!important;
}
footer h2,footer h3,footer a{color:#fff!important}
footer a:hover{color:var(--lsv-gold)!important}

/* Mobile booking bar */
.mobilebar a:first-child{background:var(--lsv-ink-2)!important;color:#fff!important}
.mobilebar a+a{background:var(--lsv-gold)!important;color:var(--lsv-ink)!important}

@media(max-width:900px){
  .nav-drop-cities{columns:1;min-width:auto}
}
@media(max-width:850px){
  .editorial-split{grid-template-columns:1fr}
  .rate-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rates-section{padding:54px 0}
  .hero,.hero-system{min-height:auto}
}
@media(max-width:520px){
  .rate-facts{grid-template-columns:1fr}
  .pricing-table{min-width:650px}
}
