/*
 * Shuttle Bus Premium v4.3 — coherent Midnight Navy / Champagne Gold / Ivory UI.
 * Visual-only upgrade. Applies to PUBLIC Shuttle Bus shortcode pages exclusively.
 * Admin dashboard, Google APIs, MySQL schema and fare computation unchanged.
 * Loaded after the homepage, booking and compact fare widget styles.
 */
.sbs-site {
  --sbs43-midnight:#0b1520;
  --sbs43-navy:#152a3b;
  --sbs43-deep:#0d1d2b;
  --sbs43-gold:#d8b676;
  --sbs43-gold-light:#ebd29e;
  --sbs43-ivory:#fffdf8;
  --sbs43-cream:#f5f1e9;
  --sbs43-text:#253947;
  --sbs43-muted:#536472;
  --sbs43-border:#dfd2b9;
  background:var(--sbs43-cream);
}
/* Shared header, footer and keyboard affordances */
.sbs-site .topline {background:#080e15;color:#c4c5c1}
.sbs-site .site-head {background:#0b131e;border-bottom:1px solid #d9b67440}
.sbs-site .navlinks>a:not(.header-book) {color:#e4e6e5}
.sbs-site .navlinks>a.is-current,.sbs-site .navlinks>a:hover {color:#ebce95}
.sbs-site .header-book,
.sbs-site .sbs-v4-calculate,
.sbs-site .sbs-v42-button {background:linear-gradient(115deg,#f1d9a5,#c6a064);color:#102132!important;border:1px solid #e1bd7d;box-shadow:0 12px 22px #040c1533}
.sbs-site .sbs-lux-footer {background:linear-gradient(120deg,#0a1420,#101f2e);border-top:1px solid #c19f6655}
.sbs-site :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #d9af63!important;outline-offset:3px}
/* Match inner-page mastheads to the HOME hero, rather than the legacy cyan banner */
.sbs-site .sbs-page-banner {
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse at 81% 43%,#244255 0%,#122737 31%,transparent 65%),linear-gradient(115deg,#09121b 0%,#0d1b28 51%,#142738 100%)!important;
  color:#fdf8ef!important;border-top:1px solid #e4c78d1f;border-bottom:1px solid #b08a4d66;
  padding:76px 0 84px;
}
.sbs-site .sbs-page-banner:before {
  content:"";pointer-events:none;position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,transparent 0 95px,#edcf8e0b 96px,transparent 97px 190px);
  mask-image:linear-gradient(90deg,transparent 35%,black 100%);z-index:-1;
}
.sbs-site .sbs-page-banner:after {
  content:"";pointer-events:none;position:absolute;right:-180px;top:-260px;width:610px;height:610px;
  border-radius:50%;border:1px solid #d5b8792a;box-shadow:0 0 0 58px #d5b87908,0 0 0 120px #d5b87906;z-index:-1;
}
.sbs-site .sbs-page-banner .sbs-wrap {position:relative;z-index:1}
.sbs-site .sbs-page-banner .sbs-mini-eyebrow {
  color:#e0c28b!important;display:block;font-size:10px;font-weight:800;letter-spacing:.23em;
}
.sbs-site .sbs-page-banner h1 {
  color:#fffaf0!important;font:normal clamp(43px,5.3vw,70px)/1.1 Georgia,'Times New Roman',serif!important;
  letter-spacing:-.05em;margin:17px 0 14px!important;text-shadow:0 1px 1px #0002;
}
.sbs-site .sbs-page-banner p {color:#d4dde0!important;font-size:14px;line-height:1.85;max-width:710px;margin:0!important}
/* Repeat the homepage's ivory section / champagne outline rhythm */
.sbs-site .sbs-inner-page {
  background:radial-gradient(ellipse 65% 420px at 92% 0%,#d6bf9040,transparent 80%),linear-gradient(180deg,#f4efe6 0%,#fbf8f3 100%)!important;
  color:var(--sbs43-text);padding:68px 0 90px;
}
.sbs-site .sbs-inner-page .sbs-wrap {max-width:1200px}
.sbs-site .sbs-content-card {
  position:relative;border:1px solid #decfb3!important;border-radius:5px!important;
  background:var(--sbs43-ivory)!important;box-shadow:0 20px 54px #11273917;
  color:var(--sbs43-text);overflow:hidden;
}
.sbs-site .sbs-content-card:before {
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#aa8148,#f0d59c,#b38952);pointer-events:none;
}
.sbs-site .sbs-content-card.sbs-prose {color:var(--sbs43-text)!important;line-height:1.85}
.sbs-site .sbs-prose h2,
.sbs-site .sbs-form-title h2,
.sbs-site .sbs-content-card>h2 {
  color:#122738!important;font:normal clamp(27px,3.3vw,38px)/1.2 Georgia,'Times New Roman',serif!important;
  letter-spacing:-.025em;
}
.sbs-site .sbs-prose h3 {color:#1e3444!important;font:normal clamp(19px,2.1vw,25px)/1.3 Georgia,serif!important}
.sbs-site .sbs-prose p,.sbs-site .sbs-content-card>p,.sbs-site .sbs-prose li {color:#405262!important;line-height:1.85}
.sbs-site .sbs-prose strong {color:#1c3444!important}
.sbs-site .sbs-mini-eyebrow {color:#9a7139!important;letter-spacing:.16em}
.sbs-site .sbs-text-link,.sbs-site .sbs-terms-check a,.sbs-site .sbs-inline-info a {color:#82561f!important;text-underline-offset:3px}
.sbs-site .sbs-text-link:hover,.sbs-site .sbs-terms-check a:hover {color:#5c370b!important}
/* Ivory-on-navy highlight cards, like the four Service cards on home. */
.sbs-site .sbs-data-cards {gap:14px;margin:30px 0}
.sbs-site .sbs-data-cards>div {
  background:linear-gradient(155deg,#13283a,#101b25)!important;border:1px solid #b89a6759!important;
  border-radius:4px!important;position:relative;overflow:hidden;padding:28px 22px;
}
.sbs-site .sbs-data-cards>div:before {content:"";position:absolute;left:22px;top:0;width:40px;height:2px;background:#d8b676}
.sbs-site .sbs-data-cards>div b {color:#ecd098!important;font:normal clamp(19px,2.5vw,28px)/1.3 Georgia,serif;letter-spacing:-.02em}
.sbs-site .sbs-data-cards>div span {color:#d2dce1!important;font-size:12px;line-height:1.5}
/* FAQ is the light, elegant counterpoint to the dark masthead. */
.sbs-site .sbs-faq-list details {
  border:1px solid #e2d6c1!important;background:#fcfaf5;margin:11px 0;padding:0!important;border-radius:3px;
}
.sbs-site .sbs-faq-list details[open] {background:#f7f1e6;border-color:#c6a976!important}
.sbs-site .sbs-faq-list details summary {
  color:#192e3e!important;padding:20px 48px 20px 22px;font-size:15px;font-weight:750;line-height:1.5;
}
.sbs-site .sbs-faq-list details summary:after {color:#ad874d!important;right:18px;top:15px}
.sbs-site .sbs-faq-list details p {color:#405466!important;margin:0!important;padding:0 22px 21px;line-height:1.8}
/* Contact: mirror home Story area's deep navy callout. */
.sbs-site .sbs-contact-grid {gap:24px}
.sbs-site .sbs-contact-row {border-color:#e4d7c3;padding:17px 0}
.sbs-site .sbs-contact-row span {color:#9b7949!important}
.sbs-site .sbs-contact-row a,.sbs-site .sbs-contact-row b {color:#153247!important;overflow-wrap:anywhere}
.sbs-site .sbs-contact-grid .sbs-contact-aside,
.sbs-site .sbs-booking-layout .sbs-book-aside>div:not(.sbs-aside-note) {
  background:radial-gradient(ellipse at 100% 0%,#2e435080,transparent 61%),linear-gradient(140deg,#152b3c,#0b1620)!important;
  border:1px solid #c1a06d77;border-radius:4px;color:#fffaf0;
  box-shadow:0 19px 38px #09162128;
}
.sbs-site .sbs-contact-grid .sbs-contact-aside h2,
.sbs-site .sbs-booking-layout .sbs-book-aside>div:not(.sbs-aside-note) h3 {color:#fff8ea!important}
.sbs-site .sbs-contact-grid .sbs-contact-aside p,
.sbs-site .sbs-booking-layout .sbs-book-aside>div:not(.sbs-aside-note) p {color:#d6e0e2!important}
.sbs-site .sbs-contact-grid .sbs-contact-aside .sbs-mini-eyebrow,
.sbs-site .sbs-book-aside .sbs-mini-eyebrow {color:#eccb90!important}
.sbs-site .sbs-contact-grid .sbs-contact-aside a,
.sbs-site .sbs-booking-layout .sbs-book-aside>div:not(.sbs-aside-note) a {color:#f0d39d!important}
.sbs-site .sbs-contact-aside .sbs-btn-white {
  color:#0e2130!important;background:linear-gradient(110deg,#eecf97,#c39d60)!important;
  border:1px solid #e5cb92!important;box-shadow:0 9px 25px #0003;
}
/* Payments: premium dark cards with gold iconography and visible white body text. */
.sbs-site .sbs-pay-panels {gap:18px;margin:27px 0}
.sbs-site .sbs-pay-panels>div {
  background:linear-gradient(155deg,#172d3e 0%,#0c1824 100%)!important;
  border:1px solid #bfa06b88!important;border-radius:4px!important;padding:30px 27px;
  box-shadow:0 15px 28px #11202d1c;
}
.sbs-site .sbs-inner-page .sbs-prose .sbs-pay-panels>div h3 {color:#fff7ea!important;font:normal 23px/1.3 Georgia,serif!important;margin:12px 0!important}
.sbs-site .sbs-pay-panels>div p {color:#d2dfe3!important;font-size:13px;line-height:1.8}
.sbs-site .sbs-pay-panels .sbs-pay-icon {color:#eac68a!important;font-size:29px}
.sbs-site .sbs-pay-panels .sbs-btn-navy {
  color:#0d1c29!important;background:linear-gradient(115deg,#f1d8a3,#c8a166)!important;
  border:1px solid #efd4a2!important;
}
.sbs-site .sbs-pay-panels .sbs-notice-quiet {color:#e1c795!important}
.sbs-site .sbs-pay-panels .sbs-text-link {color:#f3d49c!important}
/* Vipassana: dark cards/ivory form to echo HOME cards and quick calculator. */
.sbs-site .sbs-vip-packages {gap:12px;margin:24px 0 28px}
.sbs-site .sbs-vip-packages>div {
  background:linear-gradient(150deg,#13283a,#101923)!important;
  border:1px solid #c5a36e66!important;border-radius:4px!important;
  padding:21px 19px;gap:11px;box-shadow:0 12px 20px #0b1b2422;
}
.sbs-site .sbs-vip-packages span {color:#eef1ef!important;font-size:12px;line-height:1.6}
.sbs-site .sbs-vip-packages b {color:#ebca8a!important;font:normal 30px/1.1 Georgia,serif!important}
.sbs-site .sbs-booking-form .sbs-input>span,.sbs-site .sbs-v4-field,
.sbs-site .sbs-input>span {color:#253c4a!important}
.sbs-site .sbs-booking-form .sbs-input :is(input,select,textarea),
.sbs-site .sbs-v4-field :is(input,select,textarea) {background:#fffefa!important;color:#1b2f3d!important;border:1px solid #d4c5a7!important;border-radius:3px!important}
.sbs-site .sbs-booking-form .sbs-input :is(input,select,textarea):focus,
.sbs-site .sbs-v4-field :is(input,select,textarea):focus {border-color:#ad864a!important;box-shadow:0 0 0 3px #ccaf7f44!important}
.sbs-site .sbs-terms-check {border-top-color:#e0d2ba;color:#304451}
.sbs-site .sbs-checkbox {color:#304452}
.sbs-site .sbs-booking-form legend {color:#1c3545!important;border-color:#dfceb3}
.sbs-site .sbs-booking-form legend>span {background:#eaddc6;color:#755427}
.sbs-site .sbs-btn-navy,.sbs-site .sbs-btn-cyan {
  background:linear-gradient(145deg,#112434,#192f40)!important;color:#f8e5bf!important;
  border:1px solid #b89a6c!important;border-radius:3px!important;
}
.sbs-site .sbs-submit-btn {background:linear-gradient(110deg,#edd29d,#c7a164)!important;color:#0c1b29!important;border:1px solid #dfba7c!important}
/* Additional charge policies, with real DB-fed text untouched */
.sbs-site .sbs-v4-policy-list {color:#374e5c;line-height:1.8;padding-left:23px}
.sbs-site .sbs-v4-policy-list li {padding:7px 0 7px 5px;color:#3f5161!important;border-bottom:1px solid #e6dbc8}
.sbs-site .sbs-v4-policy-list li::marker {color:#987143;font-weight:750}
.sbs-site .sbs-v4-policy {background:#faf7f0;border:1px solid #d8c5a3}
.sbs-site .sbs-v4-policy summary {color:#825e2d!important}
.sbs-site .sbs-v4-policy>div {color:#3d5160}
/* Booking screen must connect seamlessly to HOME's dark hero then cream panels. */
.sbs-site .sbs-v4-book-wrap {
  background:linear-gradient(180deg,#0c1721 0%,#162e40 305px,#f5f1e9 306px,#f5f1e9 100%)!important;
  padding:65px 0 86px;
}
.sbs-site .sbs-v4-book-intro {max-width:800px;padding-bottom:40px}
.sbs-site .sbs-v4-book-intro h1 {color:#fff9ed!important}
.sbs-site .sbs-v4-book-intro h1 em {color:#e3c289!important}
.sbs-site .sbs-v4-book-intro p {color:#d5dee1!important}
.sbs-site .sbs-v4-quote {
  background:#fffdf8;border:1px solid #d8bd8b;border-radius:4px;
  box-shadow:0 25px 70px #0c23302b;
}
.sbs-site .sbs-v4-addon {background:#f9f5ec;border:1px solid #dfd2bb}
.sbs-site .sbs-v4-addon-text strong {color:#1c3547!important}
.sbs-site .sbs-v4-addon-text small {color:#556876!important}
.sbs-site .sbs-v4-addon-right b {color:#8c672e!important}
.sbs-site .sbs-v4-action-row {background:linear-gradient(115deg,#142a3c,#0c1722)}
.sbs-site .sbs-v4-extras-head h3 {color:#1a3040!important}
.sbs-site .sbs-v4-consent,.sbs-site .sbs-v4-quote-heading p {color:#455c6b!important}
.sbs-site .sbs-v41-rate-board {background:#f5eee2;border:1px solid #decaab}
.sbs-site .sbs-v41-rate-board summary {color:#825c28!important}
.sbs-site .sbs-v41-service-rate {background:#fffdfa;border:1px solid #d9c6aa}
/* Compact home fare quote already navy: adjust its surrounding cream to unify the rhythm. */
.sbs-site .sbs-v42-section {background:linear-gradient(180deg,#f4f0e8 0%,#f8f5ef 100%)}
.sbs-site .sbs-v42-shell {background:linear-gradient(120deg,#162a3a,#0c1722);border-color:#c0a16e}
.sbs-site .sbs-v42-heading h2 {color:#fff8e9!important}
.sbs-site .sbs-v42-heading h2 em {color:#eccd91!important}
/* Small screens: tidy spacing; no cropped controls or low-contrast banners */
@media(max-width:820px){
  .sbs-site .sbs-page-banner {padding:55px 0 61px}
  .sbs-site .sbs-inner-page {padding:39px 0 65px}
  .sbs-site .sbs-contact-grid {grid-template-columns:1fr}
  .sbs-site .sbs-data-cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .sbs-site .sbs-page-banner {padding:42px 0 50px}
  .sbs-site .sbs-page-banner h1 {font-size:clamp(38px,10vw,49px)!important}
  .sbs-site .sbs-page-banner p {font-size:13px}
  .sbs-site .sbs-content-card {padding:26px 19px!important}
  .sbs-site .sbs-faq-list details summary {padding:17px 42px 17px 15px}
  .sbs-site .sbs-faq-list details p {padding:0 15px 18px}
  .sbs-site .sbs-data-cards {grid-template-columns:1fr}
  .sbs-site .sbs-pay-panels,.sbs-site .sbs-vip-packages {grid-template-columns:1fr}
  .sbs-site .sbs-v4-book-wrap {background:linear-gradient(180deg,#0c1721 0%,#152b3d 265px,#f5f1e9 266px,#f5f1e9 100%)!important;padding:35px 0 65px}
  .sbs-site .sbs-booking-layout {grid-template-columns:1fr}
  .sbs-site .sbs-form-grid {grid-template-columns:1fr}
  .sbs-site .sbs-content-card .sbs-booking-form {max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .sbs-site .sbs-page-banner:after {box-shadow:none}
}
