/* Apex Executive Travel theme for the booking app (book.apexexecutivetravel.com).
   Same palette and type as apexexecutivetravel.com: black, gold, Cinzel + Montserrat. */
@font-face { font-family: "Cinzel"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/static/fonts/cinzel.woff2) format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/static/fonts/montserrat.woff2) format("woff2"); }

:root {
  --apex-bg: #050505;
  --apex-bg-2: #0d0c0a;
  --apex-card: #12110e;
  --apex-line: rgba(212, 175, 55, .22);
  --apex-gold: #d4af37;
  --apex-gold-hi: #f6dc8a;
  --apex-gold-lo: #9c7420;
  --apex-text: #ece8df;
  --apex-muted: #a39d90;
  --apex-serif: "Cinzel", "Times New Roman", serif;
  --apex-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

html, body { background-color: var(--apex-bg) !important; }
body { font-family: var(--apex-sans) !important; color: var(--apex-text); }
h1, h2, h3, .font-serif { font-family: var(--apex-serif) !important; letter-spacing: .04em; }
h1 { background: linear-gradient(180deg, var(--apex-gold-hi), var(--apex-gold) 45%, var(--apex-gold-lo));
     -webkit-background-clip: text; background-clip: text; color: transparent !important; }

/* Background: Apex night photo instead of P2A's Plymouth picture. */
#ffixed-bg::before {
  background-image: url("/static/img/apex-bg.webp") !important;
  filter: brightness(.42) saturate(.75) sepia(.2);
}
#overlay-bg .bg-overlay { background: radial-gradient(ellipse 70% 55% at 50% 18%, rgba(212, 175, 55, .10), rgba(5, 5, 5, .78) 72%) !important; }
video, .hero-video, [data-bg-video] { filter: grayscale(.35) brightness(.55) sepia(.25); }

/* P2A's sky/cyan/teal accents -> Apex gold. */
[class*="border-sky-"], [class*="border-cyan-"], [class*="border-teal-"] { border-color: rgba(212, 175, 55, .38) !important; }
[class*="bg-sky-"], [class*="bg-cyan-"], [class*="bg-teal-"] { background-color: rgba(212, 175, 55, .10) !important; }
[class*="text-sky-"], [class*="text-cyan-"], [class*="text-teal-"] { color: var(--apex-gold-hi) !important; }
[class*="ring-sky-"], [class*="ring-cyan-"], [class*="ring-blue-"] { --tw-ring-color: rgba(212, 175, 55, .8) !important; }
[aria-pressed="true"], [aria-checked="true"]:not([role="switch"]), .is-selected, .selected, .active-vehicle {
  border-color: var(--apex-gold) !important;
  box-shadow: 0 0 0 1px var(--apex-gold), 0 10px 30px rgba(212, 175, 55, .18) !important;
}
label, .text-lg.font-medium { letter-spacing: .02em; }

/* Cards and panels: deep black glass with a gold hairline. */
.bg-white\/10, .bg-white\/5, .bg-black\/40, .bg-black\/50, .bg-black\/60, .bg-gray-900, .bg-gray-800, .bg-slate-900, .bg-slate-800 {
  background-color: rgba(18, 17, 14, .82) !important;
  border-color: var(--apex-line) !important;
}
.rounded-xl, .rounded-2xl { border-color: var(--apex-line); }
input, select, textarea {
  background-color: rgba(5, 5, 5, .55) !important;
  border-color: rgba(212, 175, 55, .28) !important;
  color: var(--apex-text) !important;
}
input:focus, select:focus, textarea:focus { border-color: var(--apex-gold) !important; box-shadow: 0 0 0 3px rgba(212, 175, 55, .25) !important; outline: none; }
::placeholder { color: rgba(236, 232, 223, .5) !important; }

/* Primary actions: P2A uses blue/sky/emerald utility classes. */
#get-quote-btn, #get-quote-btn:hover, [class*="bg-blue-7"], [class*="hover:bg-red-"]:hover,
.bg-blue-600, .bg-blue-500, .bg-sky-600, .bg-sky-500, .bg-indigo-600, .bg-emerald-600, .bg-green-600,
.hover\:bg-blue-700:hover, .hover\:bg-sky-700:hover, .hover\:bg-blue-600:hover, .hover\:bg-green-700:hover,
button[type="submit"], #book-now, #get-quote, #calculate-btn {
  background: linear-gradient(180deg, var(--apex-gold-hi), var(--apex-gold) 55%, var(--apex-gold-lo)) !important;
  color: #1a1305 !important;
  border-color: var(--apex-gold) !important;
  letter-spacing: .06em;
  font-weight: 700;
  box-shadow: 0 8px 30px rgba(212, 175, 55, .22), inset 0 1px 0 rgba(255, 255, 255, .45);
}
.text-blue-400, .text-blue-300, .text-sky-400, .text-sky-300, .text-indigo-300, .text-emerald-400, .text-yellow-400 { color: var(--apex-gold-hi) !important; }
#get-quote-btn { border-radius: 999px; padding-inline: 2.4rem; }
.border-blue-700, .border-blue-500, .border-sky-500, .border-blue-400, .border-sky-400 { border-color: var(--apex-gold) !important; }
.focus\:ring-sky-400\/70:focus, .focus\:ring-blue-500:focus { --tw-ring-color: rgba(212, 175, 55, .7) !important; }
a:hover { color: var(--apex-gold-hi); }

/* Header: dark glass. */
header .fade-mask, header.fixed, header.sticky { background: rgba(5, 5, 5, .78) !important; border-bottom: 1px solid var(--apex-line); }
.baby-track, .pet-track { background-color: #3a352a; }
[data-active="1"] .baby-track, [aria-checked="true"] .baby-track, [aria-checked="true"] .pet-track { background-color: var(--apex-gold) !important; }

/* Fare card: gold everywhere. */
.p2a-single-fare-card, .p2a-fare-choice { border-color: var(--apex-gold) !important; background: linear-gradient(160deg, #15130e, #050505) !important; }
.p2a-single-fare-price { color: var(--apex-gold-hi) !important; font-family: var(--apex-serif); }

/* CP login */
.tenant-login-bg { background: radial-gradient(ellipse 60% 50% at 50% 35%, rgba(212, 175, 55, .16), transparent 70%), var(--apex-bg); }

/* The P2A footer is replaced by the Apex footer below. */
body > footer:not(.apex-footer), .p2a-footer, footer.site-footer { display: none !important; }

.apex-footer { background: var(--apex-bg-2); border-top: 1px solid var(--apex-line); color: var(--apex-muted);
  font: 400 14px/1.6 var(--apex-sans); padding: 40px 16px 28px; margin-top: 48px; text-align: center; }
.apex-footer a { color: var(--apex-gold-hi); text-decoration: none; }
.apex-footer a:hover { color: #fff; }
.apex-footer .af-wrap { max-width: 1160px; margin: 0 auto; display: grid; gap: 18px; }
.apex-footer .af-brand { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; }
.apex-footer .af-brand img { height: 46px; width: auto; }
.apex-footer .af-name { font: 600 18px/1.2 var(--apex-serif); letter-spacing: .18em; color: var(--apex-gold); }
.apex-footer .af-name small { display: block; font-size: 10px; letter-spacing: .42em; color: var(--apex-muted); margin-top: 4px; }
.apex-footer .af-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; }
.apex-footer .af-legal { font-size: 12px; max-width: 760px; margin: 0 auto; }
.apex-footer .af-platform { font-size: 12px; padding-top: 14px; border-top: 1px solid rgba(212, 175, 55, .12); }


/* Premium platform signature */
.platform-premium-banner,.af-platform{box-sizing:border-box;position:relative;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 20px;margin:20px 0 0!important;padding:22px 20px!important;background:linear-gradient(90deg,transparent 0%,#030303 13%,#030303 87%,transparent 100%)!important;color:#aaa69d!important;font:12px/1.6 system-ui,sans-serif!important;text-align:center!important;border:0!important}
.platform-premium-banner:before,.af-platform:before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,#c8a96a66,transparent)}
.platform-premium-banner a,.af-platform a{color:#d8bf84!important;text-decoration:none!important}.platform-premium-name{color:#e4c88b;font-size:23px;font-weight:750;letter-spacing:.14em}.platform-premium-name small{display:block;font-size:8px;letter-spacing:.25em;line-height:1.3;color:#d7c396}.platform-premium-owner{color:#bbb6aa}
@media(max-width:600px){.platform-premium-banner,.af-platform{gap:5px 12px;padding:20px 24px!important;font-size:11px!important}.platform-premium-name{flex:0 0 100%;margin-bottom:5px}.platform-premium-owner{flex:0 0 100%}}
