/*
 * SHUTTLE BUS PREMIUM v4.8 — Ultra Luxury Fare Estimator.
 * Visual presentation only: all form fields, data attributes, calculations,
 * selected extras, Stripe options and backend/database operations stay intact.
 * High contrast, responsive, reduced-motion friendly. Scoped to quick fare.
 */
.sbs-site .sbs-v42-section {
  padding:clamp(38px,5vw,82px) 16px clamp(48px,6vw,90px);
  background:
    radial-gradient(ellipse 45% 90% at 7% 4%,rgba(197,164,113,.22),transparent 78%),
    radial-gradient(ellipse 34% 75% at 95% 97%,rgba(158,126,82,.13),transparent 77%),
    linear-gradient(135deg,#f6f1e9,#fcfaf6 51%,#f0e8db) !important;
}
.sbs-site .sbs-v42-shell {
  width:min(1230px,100%);
  border-radius:24px;
  padding:clamp(25px,3.9vw,48px) clamp(20px,4vw,52px) 26px;
  background:
    radial-gradient(ellipse 640px 430px at 112% -15%,rgba(200,161,95,.19),transparent 75%),
    radial-gradient(ellipse 520px 430px at -9% 106%,rgba(55,94,116,.30),transparent 75%),
    repeating-linear-gradient(125deg,transparent 0 98px,rgba(239,211,160,.026) 99px,transparent 100px 212px),
    linear-gradient(134deg,#122c3a,#0d1f2e 53%,#081520) !important;
  border:1px solid rgba(227,188,121,.66)!important;
  box-shadow:inset 0 1px 0 rgba(255,245,220,.16),inset 0 0 0 6px rgba(227,190,121,.023),
             0 0 0 7px rgba(175,136,84,.075),0 34px 72px rgba(10,24,35,.26),0 7px 21px rgba(10,24,35,.20)!important;
}
.sbs-site .sbs-v42-shell::before {
  height:3px;left:30px;right:30px;top:-1px;border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,rgba(172,122,57,0),#a67943 15%,#f7dfaa 51%,#a67943 85%,rgba(172,122,57,0));
  box-shadow:0 1px 14px rgba(212,177,112,.16);
}
.sbs-site .sbs-v42-heading {margin-bottom:30px;align-items:center;gap:24px}
.sbs-site .sbs-v42-kicker {
  font:800 10px/1.45 system-ui,sans-serif!important;letter-spacing:.22em!important;
  color:#eecb91!important;text-transform:uppercase;
}
.sbs-site .sbs-v42-heading h2 {
  color:#fff8eb!important;
  font:400 clamp(34px,4.05vw,55px)/1.07 Georgia,'Times New Roman',serif!important;
  margin:11px 0 13px!important;letter-spacing:-.048em!important;
  text-shadow:0 2px 9px rgba(0,0,0,.13);
}
.sbs-site .sbs-v42-heading h2 em {
  color:#ecc891!important;font-style:italic!important;font-weight:400!important;
}
.sbs-site .sbs-v42-heading p {max-width:630px;color:#cbd7dc!important;font-size:13px!important;line-height:1.75}
.sbs-site .sbs-v42-airport {
  flex:0 0 auto;min-width:242px;padding:16px 20px;border-radius:14px;
  background:linear-gradient(145deg,rgba(255,246,217,.075),rgba(4,13,22,.23));
  border:1px solid rgba(222,186,122,.40);
  box-shadow:inset 0 1px 0 rgba(255,245,225,.10),0 11px 25px rgba(0,0,0,.10);
  color:#d0d7d8!important;
}
.sbs-site .sbs-v42-airport strong {color:#f2d6a3!important;font-size:11px!important}
.sbs-site .sbs-v42-airport-icon {
  display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;
  color:#ffdda0!important;font-size:25px!important;
  border:1px solid rgba(238,201,142,.30);background:linear-gradient(150deg,rgba(231,186,115,.22),rgba(231,186,115,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13);
}
/* Three tabs look like a precision-crafted, raised instrument panel. */
.sbs-site .sbs-v45-tablist {
  border:1px solid rgba(212,174,108,.29)!important;
  border-radius:17px;padding:7px;gap:7px;margin:0 0 15px;
  background:linear-gradient(145deg,rgba(3,11,19,.76),rgba(12,31,43,.83))!important;
  box-shadow:inset 0 2px 13px rgba(0,0,0,.33),0 1px 0 rgba(255,248,227,.06);
}
.sbs-site .sbs-v45-tablist>button {
  min-height:78px;border-radius:12px;padding:13px 16px;gap:13px;
  color:#e3e9e6!important;border:1px solid transparent;
  background:linear-gradient(140deg,rgba(34,59,74,.42),rgba(16,34,47,.27));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
.sbs-site .sbs-v45-tablist>button:hover:not([aria-selected="true"]) {
  transform:translateY(-2px);
  background:linear-gradient(130deg,rgba(57,81,95,.70),rgba(29,52,65,.62));
  border-color:rgba(213,175,115,.22);
}
.sbs-site .sbs-v45-tablist>button[aria-selected="true"] {
  color:#122838!important;
  background:linear-gradient(135deg,#fff0cb 0%,#ebcb91 40%,#c49a60 100%)!important;
  border-color:#f9e1b6;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.63),inset 0 -2px 2px rgba(127,80,25,.15),0 7px 18px rgba(0,0,0,.26)!important;
}
.sbs-site .sbs-v45-tab-icon {
  display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;
  border-radius:12px;font-size:25px!important;color:#eac891!important;
  background:linear-gradient(155deg,#2d4350,#152938);
  border:1px solid rgba(223,190,132,.29);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 10px rgba(0,0,0,.21);
}
.sbs-site .sbs-v45-tablist>button[aria-selected="true"] .sbs-v45-tab-icon {
  color:#f0ce92!important;
  border-color:#4c5148;background:linear-gradient(155deg,#263b45,#102331);
}
.sbs-site .sbs-v45-tablist b {font-size:13px!important;font-weight:800!important;letter-spacing:-.005em}
.sbs-site .sbs-v45-tablist small {font-size:10px!important;line-height:1.45!important;opacity:.79}
.sbs-site .sbs-v45-panel {
  border:1px solid rgba(218,176,105,.22);
  border-radius:17px;
  padding:24px;
  background:linear-gradient(158deg,rgba(32,59,74,.47),rgba(13,29,42,.30));
  box-shadow:inset 0 1px 0 rgba(255,246,223,.07),0 12px 28px rgba(0,0,0,.09);
}
.sbs-site .sbs-v42-shell .sbs-v42-form {gap:17px 13px!important;align-items:end}
.sbs-site .sbs-v42-field,.sbs-site .sbs-v42-return,.sbs-site .sbs-v46-extras::before {
  color:#f5e3c1!important;font-size:11px!important;font-weight:750!important;letter-spacing:.025em!important;
}
.sbs-site .sbs-v42-field {gap:10px}
.sbs-site .sbs-v42-return {gap:10px}
.sbs-site .sbs-v42-shell .sbs-v42-field>label {color:#f5e3c1!important;font-size:11px!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-v46-pax-control,
.sbs-site .sbs-v42-shell .sbs-v42-toggle-label {
  min-height:57px!important;border-radius:10px!important;
}
.sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]),
.sbs-site .sbs-v42-shell .sbs-v42-field>select {
  padding:14px 15px!important;
  color:#1b3242!important;font-size:13px!important;font-weight:700;
  border:1px solid #dcc69d!important;
  background:linear-gradient(135deg,#fffefa,#f7f0e5)!important;
  box-shadow:inset 0 2px 3px rgba(25,36,42,.045),0 4px 10px rgba(0,0,0,.11)!important;
}
.sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]):focus,
.sbs-site .sbs-v42-shell .sbs-v42-field>select:focus,
.sbs-site .sbs-v46-passengers .sbs-v46-pax-control:focus-within {
  border-color:#f0c47c!important;outline:2px solid rgba(243,201,130,.70)!important;outline-offset:2px;
  box-shadow:0 0 0 4px rgba(241,201,134,.14),0 5px 12px rgba(0,0,0,.12)!important;
}
.sbs-site .sbs-v42-shell .sbs-v42-field>input::placeholder {color:#667785!important;font-weight:500}
.sbs-site .sbs-v46-pax-control {
  padding:0 9px 0 10px;background:linear-gradient(125deg,#fffefa,#f4eadd)!important;
  border:1px solid #dac39b!important;box-shadow:0 5px 12px rgba(0,0,0,.10),inset 0 1px 0 #fff!important;
}
.sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {
  border:0!important;border-radius:9px!important;background:transparent!important;
  box-shadow:none!important;color:#1b3242!important;padding:12px 3px!important;min-height:54px!important;
}
.sbs-site .sbs-v46-icon-person {
  border-radius:11px;background:linear-gradient(135deg,rgba(223,192,138,.25),rgba(237,223,188,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.sbs-site .sbs-v46-extras {filter:none!important}
.sbs-site .sbs-v46-extras::before {margin-bottom:10px!important}
.sbs-site .sbs-v46-extras-trigger {
  min-height:57px!important;padding:5px 12px!important;gap:10px;
  border-radius:10px!important;border:1px solid rgba(236,202,146,.65)!important;
  background:linear-gradient(145deg,#2a4754 0%,#142c3c 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 7px 15px rgba(0,0,0,.17)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.sbs-site .sbs-v46-extras-trigger:hover,.sbs-site .sbs-v46-extras-trigger:focus-visible {
  transform:translateY(-1px);border-color:#f5d69a!important;box-shadow:0 10px 17px rgba(0,0,0,.22)!important;
}
.sbs-site .sbs-v46-extras-caption strong {color:#fae4ba!important;font-weight:800!important}
.sbs-site .sbs-v46-extras-caption small {color:#d1dfdf!important}
.sbs-site .sbs-v46-extras-panel {
  border-radius:14px!important;border:1px solid #d4ac72!important;
  background:#fffaf0!important;box-shadow:0 24px 44px rgba(1,11,19,.46)!important;
  padding:12px 14px;
}
.sbs-site .sbs-v46-extras-panel .sbs-v46-extra-row {border-radius:6px}
.sbs-site .sbs-v46-extras-panel .sbs-v46-qty-select {border-radius:7px!important}
.sbs-site .sbs-v42-toggle-label {
  padding:0 16px!important;gap:13px;
  border:1px solid rgba(207,165,100,.39)!important;
  background:linear-gradient(145deg,rgba(46,75,88,.64),rgba(20,43,57,.73))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.sbs-site .sbs-v42-toggle-label:has(input:checked) {
  border-color:#e9c98c!important;
  background:linear-gradient(145deg,rgba(58,80,82,.72),rgba(36,60,66,.81))!important;
}
.sbs-site .sbs-v42-toggle-label input {width:20px!important;height:20px!important;accent-color:#dab67d}
.sbs-site .sbs-v42-toggle-label strong {color:#f8e9cd!important;font-size:13px!important}
.sbs-site .sbs-v42-button {
  position:relative;min-height:57px!important;overflow:hidden;
  border:1px solid #f4d49b!important;border-radius:11px!important;
  background:linear-gradient(110deg,#c49a59 0%,#f5dfad 34%,#edcc8e 56%,#b98b4f 100%)!important;
  color:#132838!important;font-size:13px!important;font-weight:850!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.58),inset 0 -2px 0 rgba(115,71,21,.19),0 11px 25px rgba(2,10,16,.28)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.27);
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;
}
.sbs-site .sbs-v42-button:hover:not(:disabled) {
  transform:translateY(-3px)!important;filter:brightness(1.07);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.62),0 16px 26px rgba(0,0,0,.27)!important;
}
.sbs-site .sbs-v42-button:active:not(:disabled) {transform:translateY(0)!important}
.sbs-site .sbs-v42-button:focus-visible {outline:3px solid #f6db9d!important;outline-offset:3px}
.sbs-site .sbs-v42-button span {font-size:22px}
.sbs-site .sbs-v45-helper {color:#b8c9cf!important;margin-top:17px!important;font-size:11px!important}
.sbs-site .sbs-v42-notice {
  padding:15px 18px;margin-top:18px;border-radius:9px!important;
  color:#f3e1c4!important;background:rgba(31,64,81,.93)!important;
  border:1px solid rgba(220,179,112,.26)!important;border-left:3px solid #dab478!important;
}
.sbs-site .sbs-v42-notice.is-error {border-left-color:#f59d8f!important;color:#ffdfdc!important}
/* One premium all-inclusive estimate, no itemised prices; JS / API untouched. */
.sbs-site .sbs-v42-result {
  position:relative;overflow:hidden;margin-top:24px!important;
  padding:clamp(23px,3vw,35px) clamp(23px,3.5vw,40px)!important;
  border:1px solid #e5c78e!important;border-left:5px solid #c49b5a!important;
  border-radius:16px!important;
  background:
    radial-gradient(ellipse 48% 115% at 100% 0%,rgba(220,192,142,.24),transparent 90%),
    linear-gradient(135deg,#fffcf6 0%,#f7efe3 100%)!important;
  box-shadow:inset 0 1px 0 #fff,0 15px 32px rgba(0,0,0,.23)!important;
}
.sbs-site .sbs-v42-result-top {gap:25px;align-items:center}
.sbs-site .sbs-v42-result .sbs-v42-kicker {
  color:#82592c!important;font-size:10px!important;letter-spacing:.22em!important
}
.sbs-site .sbs-v42-total {
  margin-top:7px!important;color:#102a3b!important;
  font:400 clamp(45px,5.6vw,70px)/1.08 Georgia,'Times New Roman',serif!important;
  letter-spacing:-.058em!important;text-shadow:0 1px 0 #fff;
}
.sbs-site .sbs-v42-result .sbs-v42-summary {
  color:#3e5462!important;max-width:660px;font-size:12px!important;line-height:1.65!important;margin-top:10px;
}
.sbs-site .sbs-v47-quote-actions {gap:11px}
.sbs-site .sbs-v47-quote-actions .sbs-v42-next {
  border-radius:9px!important;min-height:54px;padding:13px 20px!important;
  background:linear-gradient(140deg,#142f41,#0b1d2c)!important;
  color:#f9e3b9!important;font-weight:850!important;font-size:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 7px 15px rgba(0,0,0,.11);
  transition:transform .2s ease,box-shadow .2s ease;
}
.sbs-site .sbs-v47-quote-actions .sbs-v42-next:hover {transform:translateY(-2px);box-shadow:0 12px 19px rgba(0,0,0,.18)}
.sbs-site .sbs-v47-quote-actions .sbs-v47-pay-button {
  border:1px solid #ba884b!important;
  background:linear-gradient(145deg,#f6dcaa 0%,#cba268 100%)!important;
  color:#142b3d!important;
}
.sbs-site .sbs-v42-footnote {color:#556877!important;font-size:11px!important;margin-top:16px!important}
.sbs-site .sbs-v45-city-ref {color:#1b3542!important;font-size:clamp(23px,4vw,35px)!important;overflow-wrap:anywhere}
.sbs-site .sbs-v42-bottom {margin-top:21px;gap:9px 24px;color:#c4d4d5!important;font-size:10px!important}
.sbs-site .sbs-v42-bottom a {color:#f0cf94!important;font-weight:800}
.sbs-site .sbs-v42-disclaimer {color:#aebec4!important;font-size:10px!important;margin-top:16px!important;max-width:1040px}
.sbs-site .sbs-v42-suggestions {border-radius:10px;border-color:#c9aa76!important;box-shadow:0 16px 34px rgba(0,0,0,.28)}
.sbs-site .sbs-v42-suggestion:focus-visible {outline:2px solid #a87936;outline-offset:-3px}
.sbs-site .sbs-v45-consent {color:#e4e7e3!important}
.sbs-site .sbs-v45-consent a {color:#f1d398!important}
@media(max-width:1160px) {
  .sbs-site .sbs-v42-heading h2 {font-size:clamp(33px,4vw,49px)!important}
  .sbs-site .sbs-v45-panel {padding:22px}
  .sbs-site .sbs-v42-airport {display:none}
}
@media(max-width:720px) {
  .sbs-site .sbs-v42-section {padding:34px 12px 55px}
  .sbs-site .sbs-v42-shell {padding:26px 16px 21px;border-radius:19px}
  .sbs-site .sbs-v42-shell::before {left:20px;right:20px}
  .sbs-site .sbs-v42-heading {margin-bottom:23px}
  .sbs-site .sbs-v42-heading h2 {font-size:clamp(29px,8.5vw,40px)!important;line-height:1.13!important}
  .sbs-site .sbs-v42-heading p {font-size:12px!important}
  .sbs-site .sbs-v45-tablist {gap:5px;padding:5px;border-radius:14px;margin-bottom:13px}
  .sbs-site .sbs-v45-tablist>button {gap:6px;min-height:96px;padding:10px 5px;border-radius:10px}
  .sbs-site .sbs-v45-tab-icon {width:32px;height:32px;flex-basis:32px;font-size:18px!important;border-radius:9px}
  .sbs-site .sbs-v45-tablist b {font-size:10px!important;line-height:1.24}
  .sbs-site .sbs-v45-tablist small {display:none}
  .sbs-site .sbs-v45-panel {padding:15px 12px;border-radius:13px}
  .sbs-site .sbs-v42-shell .sbs-v42-form {gap:14px 10px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]),
  .sbs-site .sbs-v42-shell .sbs-v42-field>select {min-height:54px!important;padding:12px 10px!important;font-size:13px!important}
  .sbs-site .sbs-v46-pax-control,.sbs-site .sbs-v46-extras-trigger,.sbs-site .sbs-v42-toggle-label {min-height:54px!important}
  .sbs-site .sbs-v46-extras-trigger {gap:5px!important;padding:4px 7px!important}
  .sbs-site .sbs-v46-extras-panel {min-width:0!important;width:min(320px,calc(100vw - 58px))!important;right:0!important;left:auto!important}
  .sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {font-size:11px!important;padding:10px 0!important}
  .sbs-site .sbs-v42-shell .sbs-v42-return {grid-column:1/-1!important}
  .sbs-site .sbs-v42-toggle-label {width:100%}
  .sbs-site .sbs-v42-button {min-height:54px!important}
  .sbs-site .sbs-v42-result {padding:23px 19px!important;border-radius:11px!important}
  .sbs-site .sbs-v42-total {font-size:clamp(40px,11vw,54px)!important}
  .sbs-site .sbs-v47-quote-actions {width:100%;flex-direction:column}
  .sbs-site .sbs-v47-quote-actions .sbs-v42-next {width:100%;text-align:center}
  .sbs-site .sbs-v42-bottom {gap:8px 15px}
}
@media(max-width:360px) {
  .sbs-site .sbs-v42-shell {padding:24px 11px 19px}
  .sbs-site .sbs-v45-panel {padding:13px 10px}
  .sbs-site .sbs-v45-tablist b {font-size:9px!important}
  .sbs-site .sbs-v46-icon-person {width:23px;height:23px}
  .sbs-site .sbs-v46-icon-bag {width:25px;height:25px}
  .sbs-site .sbs-v46-extras-caption small {font-size:9px!important}
  .sbs-site .sbs-v46-extras-panel {width:min(265px,calc(100vw - 46px))!important}
}
@media (hover:hover) and (pointer:fine) {
  .sbs-site .sbs-v42-shell .sbs-v46-passengers:hover .sbs-v46-icon-person,
  .sbs-site .sbs-v42-shell .sbs-v46-extras-trigger:hover .sbs-v46-icon-bag {
    transform:rotateY(-11deg) translateY(-2px);
  }
}
@media (prefers-reduced-motion:reduce) {
  .sbs-site .sbs-v45-tablist>button,.sbs-site .sbs-v42-button,.sbs-site .sbs-v46-extras-trigger,
  .sbs-site .sbs-v47-quote-actions .sbs-v42-next {transition:none!important;animation:none!important}
  .sbs-site .sbs-v45-tablist>button:hover,.sbs-site .sbs-v42-button:hover,
  .sbs-site .sbs-v46-extras-trigger:hover {transform:none!important}
}
