/** V4.9 — one compact, accessible, dated 3-tab experience (Home + Book a Ride).
 * Layered after V4.8; keeps midnight-navy / champagne-gold / ivory palette.
 */
.sbs-site .sbs-v42-section {padding:26px 15px 36px!important}
.sbs-site .sbs-v42-shell {padding:23px 29px 17px!important;max-width:1190px}
.sbs-site .sbs-v42-heading {margin-bottom:17px!important;gap:15px}
.sbs-site .sbs-v42-heading h2 {font-size:clamp(28px,3vw,40px)!important;margin:3px 0 4px!important;line-height:1.15!important}
.sbs-site .sbs-v42-heading p {font-size:12px!important;line-height:1.55!important}
.sbs-site .sbs-v42-airport {padding:9px 12px!important}
.sbs-site .sbs-v45-tablist {margin-bottom:11px!important;padding:4px!important}
.sbs-site .sbs-v45-tablist>button {min-height:62px!important;padding:8px 12px!important;gap:9px!important}
.sbs-site .sbs-v45-tab-icon {width:36px!important;height:36px!important;flex-basis:36px!important;font-size:19px!important}
.sbs-site .sbs-v45-tablist b {font-size:12px!important}
.sbs-site .sbs-v45-panel {padding:17px 17px 14px!important}
.sbs-site .sbs-v42-shell .sbs-v42-form {display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px 11px!important;align-items:end!important}
.sbs-site .sbs-v42-shell .sbs-v42-field {gap:5px!important;min-width:0}
.sbs-site .sbs-v42-shell .sbs-v42-field>span,.sbs-site .sbs-v42-return-title,.sbs-site .sbs-v46-extras::before {font-size:10px!important;letter-spacing:.018em!important;color:#f5e2c3!important;margin-bottom:0!important}
.sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]),.sbs-site .sbs-v42-shell .sbs-v42-field>select {min-height:45px!important;height:45px!important;padding:8px 10px!important;border-radius:9px!important;font-size:12px!important;line-height:1.4!important}
.sbs-site .sbs-v46-pax-control,.sbs-site .sbs-v46-extras-trigger,.sbs-site .sbs-v42-toggle-label {min-height:45px!important;height:45px!important;border-radius:9px!important}
.sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {min-height:42px!important;height:42px!important;padding:7px 3px!important;font-size:12px!important}
.sbs-site .sbs-v46-icon-person {width:28px!important;height:28px!important}
.sbs-site .sbs-v46-icon-bag {width:29px!important;height:29px!important}
.sbs-site .sbs-v46-extras-trigger {gap:6px!important;padding:2px 10px!important}
.sbs-site .sbs-v46-extras-caption small {font-size:9px!important}
.sbs-site .sbs-v42-toggle-label {padding:0 12px!important}
.sbs-site .sbs-v42-button {min-height:45px!important;height:45px!important;padding:9px 14px!important;border-radius:9px!important}
.sbs-site .sbs-v42-return {gap:5px!important}
/* Consistent, deliberate grid — two rows for airport & regional journeys. */
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-direction {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-address {grid-column:span 5!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-service {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-passengers {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-address {grid-column:span 4!important}
.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-service {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-passengers {grid-column:span 2!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 {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v49-date,.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v49-date {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v49-time,.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v49-time {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-return,.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-return {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-button,.sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-button {grid-column:span 3!important}
/* Intercity remains a compact enquiry form; no automatic amount. */
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-pickup,.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-destination {grid-column:span 6!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v42-service {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v42-passengers {grid-column:span 2!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v46-extras {grid-column:span 4!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v49-date {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v49-time,.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v42-return,.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-name,.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-email {grid-column:span 3!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-notes {grid-column:span 9!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-consent {grid-column:span 12!important}
.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v42-button {grid-column:span 3!important}
/* Open only if Return is enabled. Native date/time controls use NZ-local values. */
.sbs-site .sbs-v42-shell .sbs-v49-return-fields {grid-column:span 9!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 11px;max-width:none;padding:12px 14px 8px;border:1px solid rgba(225,188,122,.43);border-radius:11px;background:rgba(215,178,110,.07)}
.sbs-site .sbs-v42-shell .sbs-v49-return-fields[hidden] {display:none!important}
.sbs-site .sbs-v49-return-fields .sbs-v42-field {min-width:0}
.sbs-site .sbs-v45-helper {margin-top:10px!important}
.sbs-site .sbs-v42-bottom {margin-top:14px!important}
.sbs-site .sbs-v42-disclaimer {margin-top:9px!important;line-height:1.5!important}
.sbs-site .sbs-v49-quote-dates {display:block;color:#765429!important;background:rgba(234,201,146,.18);margin-top:9px;padding:8px 11px;border-radius:6px;font-size:11px!important;line-height:1.5}
/* Booking page uses exactly same compact widget in step 1; after quoting, step 2 only. */
.sbs-site .sbs-v4-book-wrap .sbs-v42-section {background:transparent!important;padding:8px 0 35px!important}
.sbs-site .sbs-v4-book-wrap .sbs-v42-shell {width:100%!important}
.sbs-site .sbs-v49-step-caption {display:flex;gap:8px 20px;align-items:center;flex-wrap:wrap;margin:15px 0;padding:13px 18px;background:#132938;border-left:4px solid #d2ac73;border-radius:9px;color:#f7e8cd}
.sbs-site .sbs-v49-step-caption span {font-size:10px;letter-spacing:.14em;color:#c4b18d}
.sbs-site .sbs-v49-step-caption strong {font-size:13px;color:#f8e5b9}
.sbs-site .sbs-v49-step2 .sbs-v4-quote-heading,.sbs-site .sbs-v49-step2 .sbs-v4-trip-form {display:none!important}
.sbs-site .sbs-v49-step2 .sbs-v4-outer {padding-top:0!important}
/* Native form labels must remain visible, with enough room for browser date icons. */
.sbs-site .sbs-v49-date input[type=date],.sbs-site .sbs-v49-time input[type=time],.sbs-site .sbs-v49-return-fields input {min-width:0;color-scheme:light}
@media(max-width:1100px) and (min-width:721px) {
  .sbs-site .sbs-v42-shell .sbs-v42-form {grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-direction {grid-column:span 2!important}
  .sbs-site .sbs-v42-shell .sbs-v45-airport-form>.sbs-v42-address {grid-column:span 4!important}
  .sbs-site .sbs-v42-shell .sbs-v45-region-form>.sbs-v42-address {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-pickup,.sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-destination {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-city-notes {grid-column:span 6!important}
  .sbs-site .sbs-v42-shell .sbs-v45-city-form>.sbs-v45-consent {grid-column:span 6!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v49-return-fields {grid-column:1/-1!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-service {grid-column:span 3!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-passengers,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v46-extras,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v49-date,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v49-time,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-return,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-button {grid-column:span 3!important}
}
@media(max-width:720px) {
  .sbs-site .sbs-v42-section {padding:23px 9px 35px!important}
  .sbs-site .sbs-v42-shell {padding:20px 11px 14px!important}
  .sbs-site .sbs-v42-heading {margin-bottom:12px!important}
  .sbs-site .sbs-v42-heading h2 {font-size:clamp(26px,7vw,35px)!important}
  .sbs-site .sbs-v45-panel {padding:12px 9px!important}
  .sbs-site .sbs-v45-tablist>button {min-height:67px!important;padding:6px 3px!important;flex-direction:column!important;gap:3px!important}
  .sbs-site .sbs-v45-tab-icon {width:26px!important;height:26px!important;flex-basis:26px!important;font-size:16px!important}
  .sbs-site .sbs-v45-tablist b {font-size:9px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-direction,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-address,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-service,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-city-pickup,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-city-destination,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-city-name,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-city-email,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-city-notes,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v45-consent,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-button {grid-column:1 / -1!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-passengers,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v46-extras,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v49-date,.sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v49-time {grid-column:span 1!important}
  .sbs-site .sbs-v42-shell .sbs-v42-form>.sbs-v42-return {grid-column:1 / -1!important}
  .sbs-site .sbs-v42-shell .sbs-v49-return-fields {grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:11px 8px 9px;gap:8px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-field>input:not([type="hidden"]),.sbs-site .sbs-v42-shell .sbs-v42-field>select {min-height:46px!important;height:46px!important;padding:8px 7px!important;font-size:12px!important}
  .sbs-site .sbs-v46-pax-control,.sbs-site .sbs-v46-extras-trigger,.sbs-site .sbs-v42-toggle-label {min-height:46px!important;height:46px!important}
  .sbs-site .sbs-v46-passengers .sbs-v46-pax-control select {font-size:12px!important;min-height:44px!important;height:44px!important}
  .sbs-site .sbs-v42-button {min-height:46px!important;height:46px!important}
  .sbs-site .sbs-v42-shell .sbs-v42-field>span {font-size:10px!important}
  .sbs-site .sbs-v42-shell .sbs-v46-extras::before {font-size:10px!important}
}
@media(max-width:350px) {
  .sbs-site .sbs-v49-return-fields {grid-template-columns:1fr!important}
  .sbs-site .sbs-v42-shell .sbs-v45-tablist b {font-size:8px!important}
  .sbs-site .sbs-v46-icon-person {width:24px!important;height:24px!important}
}
@media(prefers-reduced-motion:reduce){.sbs-site .sbs-v45-panel{animation:none!important}}
/* With Return active, date/time use nine grid tracks and CTA fills the other three. */

.sbs-site .sbs-v49-step-caption a {margin-left:auto;color:#f7d69f;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:750}
.sbs-site .sbs-v49-step-caption a:focus-visible {outline:2px solid #f7d69f;outline-offset:4px}
