/**
 * CLASSIC SERIES 1.0
 * Visual bridge for newly added 4.9 calculator/booking widgets only.
 * The customer-supplied V1 style.css is copied byte-for-byte, unchanged.
 * Brand palette exclusively V1 navy, cyan, soft blue and white.
 */
.sbs-site .sbs-v42-section {padding:0!important;background:transparent!important;color:var(--sbs-text)!important;margin:0!important;}
.sbs-site .sbs-v42-shell {padding:0!important;margin:0!important;width:100%!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--sbs-text)!important;}
.sbs-site .sbs-v42-shell::before {display:none!important;}
.sbs-site .sbs-v42-heading {display:none!important;}
.sbs-site .sbs-v45-tablist {background:#f2f8fc!important;border:1px solid #dce8f1!important;border-radius:13px!important;padding:5px!important;gap:6px!important;margin:0 0 17px!important;}
.sbs-site .sbs-v45-tablist >button {border-radius:10px!important;border:1px solid transparent!important;background:transparent!important;color:#27435d!important;min-height:60px!important;transition:background .18s,border-color .18s!important;}
.sbs-site .sbs-v45-tablist >button:hover {background:#e4f7f9!important;}
.sbs-site .sbs-v45-tablist >button[aria-selected="true"] {background:linear-gradient(125deg,#ddfbfc,#c7f4f8)!important;color:#0d3752!important;border:1px solid #a4e8ed!important;box-shadow:0 4px 15px #18779d19!important;}
.sbs-site .sbs-v45-tablist >button:focus-visible {outline:2px solid #06aebf!important;outline-offset:2px!important;}
.sbs-site .sbs-v45-tab-icon,.sbs-site .sbs-v45-tablist>button[aria-selected="true"] .sbs-v45-tab-icon {color:#0b9eae!important;}
.sbs-site .sbs-v45-tablist b {color:inherit!important;}
.sbs-site .sbs-v45-tablist small {color:inherit!important;}
.sbs-site .sbs-v45-panel {background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;}
.sbs-site .sbs-v42-shell .sbs-v42-field,.sbs-site .sbs-v42-return,.sbs-site .sbs-v46-extras::before,
.sbs-site .sbs-v42-shell .sbs-v42-field>span,.sbs-site .sbs-v42-return-title,
.sbs-site .sbs-v42-shell .sbs-v42-field>label,.sbs-site .sbs-v42-shell .sbs-v42-field>label span {color:#4d6378!important;font-size:11px!important;font-weight:800!important;letter-spacing:.012em!important;}
.sbs-site .sbs-v42-shell .sbs-v42-field b {color:#069fb0!important;}
.sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]),.sbs-site .sbs-v42-shell .sbs-v42-field>select,
.sbs-site .sbs-v42-shell .sbs-v45-city-form textarea,.sbs-site .sbs-v42-shell .sbs-v45-city-form input {
  background:#f9fbfd!important;color:#0b2340!important;border:1px solid #dce6ee!important;border-radius:10px!important;
  box-shadow:none!important;min-height:46px!important;height:46px!important;outline-offset:2px!important;
}
.sbs-site .sbs-v42-shell .sbs-v42-field>input:focus,.sbs-site .sbs-v42-shell .sbs-v42-field>select:focus,
.sbs-site .sbs-v42-shell .sbs-v45-city-form textarea:focus {border-color:#13b8c7!important;box-shadow:0 0 0 3px #1bc7d320!important;}
.sbs-site .sbs-v42-shell .sbs-v45-city-form textarea {height:auto!important;min-height:54px!important;}
.sbs-site .sbs-v46-pax-control {background:#f9fbfd!important;border:1px solid #dce6ee!important;border-radius:10px!important;box-shadow:none!important;}
.sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {color:var(--sbs-ink)!important;}
.sbs-site .sbs-v46-extras-trigger {background:#f9fbfd!important;border:1px solid #dce6ee!important;border-radius:10px!important;box-shadow:none!important;color:var(--sbs-ink)!important;}
.sbs-site .sbs-v46-extras.sbs-v46-has-items .sbs-v46-extras-trigger {border-color:#19b8c7!important;background:#e8fcfc!important;}
.sbs-site .sbs-v46-extras-caption strong {color:#103861!important;}
.sbs-site .sbs-v46-extras-caption small {color:#62758b!important;}
.sbs-site .sbs-v46-chevron {color:#088fa3!important;}
.sbs-site .sbs-v46-extras-panel {background:#fff!important;border:1px solid #d6e6ef!important;border-radius:12px!important;box-shadow:0 16px 30px #0e38552b!important;color:#163752!important;}
.sbs-site .sbs-v46-extra-row {border-bottom-color:#e7eff6!important;}
.sbs-site .sbs-v46-extra-row:hover {background:#f4fcfd!important;}
.sbs-site .sbs-v46-extra-info strong {color:#153858!important;}
.sbs-site .sbs-v46-extra-info small {color:#62758b!important;}
.sbs-site .sbs-v46-qty-select {border-color:#dce6ee!important;border-radius:9px!important;background:#fff!important;color:#0b2340!important;}
.sbs-site .sbs-v42-toggle-label {background:#f9fbfd!important;border:1px solid #dce6ee!important;border-radius:10px!important;color:#233952!important;}
.sbs-site .sbs-v42-toggle-label strong {color:#233952!important;}
.sbs-site .sbs-v42-toggle-label input {accent-color:#06aebf!important;}
.sbs-site .sbs-v49-return-fields {background:#f5fbfc!important;border:1px solid #dce8f1!important;border-radius:11px!important;}
.sbs-site .sbs-v42-button,.sbs-site .sbs-v4-calculate {
  background:linear-gradient(120deg,#24d6d9,#16bbcd)!important;color:#082b3d!important;
  border:1px solid #1bbbc9!important;border-radius:10px!important;box-shadow:0 9px 23px #0ecbca25!important;
  font:800 13px/1.35 Inter,'Segoe UI',system-ui,sans-serif!important;
}
.sbs-site .sbs-v42-button:hover,.sbs-site .sbs-v4-calculate:hover {background:#18c7cf!important;color:#082b3d!important;}
.sbs-site .sbs-v42-button:disabled {opacity:.6!important;cursor:wait!important;}
.sbs-site .sbs-v45-helper,.sbs-site .sbs-v42-disclaimer,.sbs-site .sbs-v42-bottom,
.sbs-site .sbs-v42-footnote {color:#62758b!important;}
.sbs-site .sbs-v42-bottom a {color:#0a90a3!important;}
.sbs-site .sbs-v42-notice {background:#eaf7fa!important;color:#274960!important;border-left:3px solid #17c6d0!important;border-radius:7px!important;}
.sbs-site .sbs-v42-notice.is-error {background:#fff2f2!important;color:#992d33!important;border-color:#d84444!important;}
.sbs-site .sbs-v42-result {background:linear-gradient(140deg,#f3fbfd,#fff)!important;color:#0b2340!important;border:1px solid #cceaf1!important;border-left:5px solid #1fcbd3!important;border-radius:13px!important;box-shadow:0 10px 30px #13375c18!important;}
.sbs-site .sbs-v42-result .sbs-v42-kicker {color:#098b9e!important;}
.sbs-site .sbs-v42-total {color:#0b2340!important;font:850 clamp(35px,4vw,50px)/1.12 Inter,'Segoe UI',system-ui,sans-serif!important;}
.sbs-site .sbs-v42-result .sbs-v42-summary {color:#516d83!important;}
.sbs-site .sbs-v42-next,.sbs-site .sbs-v47-pay-button {background:#0d2d50!important;color:#fff!important;border:1px solid #0d2d50!important;border-radius:10px!important;box-shadow:none!important;}
.sbs-site .sbs-v42-next:hover,.sbs-site .sbs-v47-pay-button:hover {background:#16507e!important;color:#fff!important;}
.sbs-site .sbs-v49-quote-dates {background:#eaf7fa!important;color:#285369!important;border-radius:8px!important;}
.sbs-site .sbs-v45-city-ref {color:#103861!important;}
.sbs-site .sbs-v45-consent,.sbs-site .sbs-v45-consent a {color:#304d66!important;}
.sbs-site .sbs-v45-consent a {text-decoration:underline!important;}
.sbs-site .sbs-v45-tablist>button,.sbs-site .sbs-v42-button {font-family:Inter,'Segoe UI',system-ui,sans-serif!important;}
/* The same original V1 white/blue section geometry on Book a Ride. */
.sbs-site .sbs-classic-booking {background:linear-gradient(to bottom,#eff6fa,#fff)!important;padding:32px 0 62px!important;}
.sbs-site .sbs-booking-classic-card {max-width:1210px;margin:auto;}
.sbs-site .sbs-v4-outer {background:transparent!important;padding:0!important;color:var(--sbs-text)!important;}
.sbs-site .sbs-v4-quote {width:100%!important;max-width:1210px!important;margin:auto!important;border:1px solid #deebf5!important;background:#fff!important;border-radius:22px!important;box-shadow:0 16px 54px #13375c18!important;padding:24px 28px!important;}
.sbs-site .sbs-v4-quote:before {display:none!important;}
.sbs-site .sbs-v4-book-intro {display:none!important;}
.sbs-site .sbs-v49-step-caption {background:#eaf7fa!important;border-left:4px solid #1fcbd3!important;color:#0b2340!important;}
.sbs-site .sbs-v49-step-caption span {color:#0a8f9d!important;}
.sbs-site .sbs-v49-step-caption strong {color:#103861!important;}
.sbs-site .sbs-v49-step-caption a {color:#08798e!important;}
.sbs-site .sbs-v4-eyebrow {color:#0b9bad!important;}
.sbs-site .sbs-v4-quote-heading h2,.sbs-site .sbs-v4-extras-head h3 {font-family:Inter,'Segoe UI',system-ui,sans-serif!important;color:#0b2340!important;font-weight:800!important;}
.sbs-site .sbs-v4-quote-heading em,.sbs-site .sbs-v4-book-intro em {color:#06aebf!important;}
.sbs-site .sbs-v4-quote-heading p {color:#657d8f!important;}
.sbs-site .sbs-v4-badge {background:#eaf7fa!important;color:#267f8c!important;border:1px solid #cceaf1!important;border-radius:8px!important;}
.sbs-site .sbs-v4-field {color:#4d6378!important;}
.sbs-site .sbs-v4-field input,.sbs-site .sbs-v4-field select,.sbs-site .sbs-v4-field textarea {color:#0b2340!important;background:#f9fbfd!important;border:1px solid #dce6ee!important;border-radius:10px!important;}
.sbs-site .sbs-v4-field input:focus,.sbs-site .sbs-v4-field select:focus {border-color:#13b8c7!important;box-shadow:0 0 0 3px #1bc7d320!important;}
.sbs-site .sbs-v4-return-row,.sbs-site .sbs-v4-addon {background:#f6fafc!important;border:1px solid #e4eef5!important;border-radius:10px!important;}
.sbs-site .sbs-v4-return-row input,.sbs-site .sbs-v4-consent input {accent-color:#06aebf!important;}
.sbs-site .sbs-v4-addon-text strong {color:#163c59!important;}
.sbs-site .sbs-v4-addon-text small {color:#62758b!important;}
.sbs-site .sbs-v4-result {background:#eaf7fa!important;color:#0b2340!important;border-color:#cceaf1!important;border-radius:12px!important;}
.sbs-site .sbs-v4-result h3,.sbs-site .sbs-v4-result strong {color:#103861!important;}
.sbs-site .sbs-v4-message.good {background:#e2f8f6!important;color:#165348!important;border-color:#18a9a5!important;}
.sbs-site .sbs-v4-message.bad {background:#fff3f1!important;color:#9b3131!important;border-color:#e48484!important;}
.sbs-site .sbs-v4-consent {color:#4d6378!important;}
.sbs-site .sbs-v4-consent a {color:#087f99!important;text-decoration:underline!important;}
.sbs-site .sbs-v4-predictions,.sbs-site .sbs-v42-suggestions {border:1px solid #dce6ee!important;border-radius:8px!important;background:#fff!important;}
.sbs-site .sbs-v4-suggestion:hover,.sbs-site .sbs-v42-suggestion:hover {background:#eaf7fa!important;}
.sbs-site .sbs-v4-policy summary {color:#0b6381!important;}
.sbs-site .sbs-v4-next .sbs-v4-calculate {color:#082b3d!important;}
/* The whole V1 public site is untouched outside the new functional widgets. */
@media(max-width:720px) {
  .sbs-site .sbs-v42-shell {padding:0!important;}
  .sbs-site .sbs-v45-panel {padding:0!important;}
  .sbs-site .sbs-v45-tablist>button {padding:7px 4px!important;border-radius:9px!important;}
  .sbs-site .sbs-v45-tablist b {font-size:10px!important;}
  .sbs-site .sbs-quote-card,.sbs-site .sbs-v4-quote {padding:21px 15px!important;}
  .sbs-site .sbs-v46-extras-panel {max-width:min(360px,calc(100vw - 36px));}
  .sbs-site .sbs-v42-form [type=date],.sbs-site .sbs-v42-form [type=time] {min-width:0;font-size:12px!important;}
}
@media(max-width:375px) {
  .sbs-site .sbs-v45-tablist small {font-size:9px!important;}
  .sbs-site .sbs-v49-return-fields {grid-template-columns:1fr!important;}
}

/* Opt-in hero photo: if uploaded through the legacy V4.9 admin control,
 * replace ONLY the V1 vector slot. No photo = untouched original V1 hero. */
.sbs-site .sbs-classic-hero-photo {position:absolute;left:3%;top:17%;width:94%;height:72%;object-fit:cover;object-position:center;border:1px solid #3e9bb7a0;border-radius:15px;box-shadow:0 24px 36px #02122094;z-index:2;}
.sbs-site .sbs-shuttle-illustration[hidden] {display:none!important;}


/* CLASSIC SERIES 1.0.1 — Astra / global-theme heading-color compatibility.
   Restores the *existing V1 palette* (white text on midnight-blue and
   cyan emphasis) without editing the customer's original V1 style.css.
   This is a contrast fix, not a design/theme redesign. */
.sbs-site .sbs-hero .sbs-hero-copy h1,
.sbs-site .sbs-page-banner h1,
.sbs-site .sbs-band h2,
.sbs-site .sbs-book-aside > div h3 {
  color:#ffffff !important;
}
.sbs-site .sbs-hero .sbs-hero-copy h1 em {
  color:var(--sbs-cyan) !important;
}

/* Classic Series V1.0.4: layout ONLY. Preserve ALL original V1 palette/font assets. */
.sbs-site .sbs-header .sbs-logo-img {width:232px!important;max-height:68px!important;height:auto!important;object-fit:contain!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v46-extras {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v46-extras {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v46-extras {grid-column:span 3!important}
@media(max-width:1100px) and (min-width:721px) {
  .sbs-site .sbs-header .sbs-logo-img {width:212px!important;max-height:63px!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v46-extras,
  .sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v46-extras,
  .sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v46-extras {grid-column:span 3!important}
}
@media(max-width:720px) {
  .sbs-site .sbs-header .sbs-logo-img {width:190px!important;max-height:56px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v46-extras {grid-column:span 1!important}
}
@media(max-width:350px) {
  .sbs-site .sbs-header .sbs-logo-img {width:172px!important}
}

/* Classic Series V1.0.6 — ONLY make the existing logo wider.
 * "Since 2006" stays in its ORIGINAL top-strip location, NOT next to the logo.
 * On desktop the logo width aligns with the right end of the top-strip text.
 * Maintain original navy/cyan/white V1 layout and menu. */
.sbs-site .sbs-header .sbs-header-inner {min-width:0}
.sbs-site .sbs-header .sbs-logo {min-width:0;display:inline-flex;align-items:center;flex-shrink:0}
.sbs-site .sbs-header .sbs-logo-img {
  width:305px!important;max-width:305px!important;max-height:71px!important;
  height:auto!important;object-fit:contain!important;flex-shrink:1;
}

/* The original V1 base stylesheet applies FAQ-style padding to ALL <details>.
 * Extras uses <details>, so that global 18px padding made it appear raised
 * above adjacent controls. Remove it ONLY in the quick-fare form and match
 * label gap and field bottom alignment without altering any fare/JS logic. */
.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v46-extras {
  padding:0!important;
  border:0!important;
  margin:0!important;
  align-self:end!important;
  box-shadow:none!important;
}
.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v46-extras::before {
  margin:0 0 5px!important;
  line-height:1.4!important;
}

/* Scale the same unmodified logo artwork responsively on smaller screens. */
@media (max-width:1160px) and (min-width:921px) {
  .sbs-site .sbs-header .sbs-logo-img {width:280px!important;max-width:280px!important;max-height:65px!important}
}
@media (max-width:920px) {
  .sbs-site .sbs-header .sbs-logo-img {width:265px!important;max-width:265px!important;max-height:61px!important}
}
@media (max-width:720px) {
  .sbs-site .sbs-header .sbs-logo-img {width:238px!important;max-width:238px!important;max-height:55px!important}
}
@media (max-width:365px) {
  .sbs-site .sbs-header .sbs-logo-img {width:202px!important;max-width:202px!important;max-height:48px!important}
}
