.wsb-booking-app, .wsb-booking-app__portal, .pac-container, gmp-place-autocomplete { color-scheme: light; }
.pac-container { background: #fff; color: var(--wsb-color-ink, #18151c); }
.wsb-progressive-step { margin-top: 14px; overflow: visible; border: 1px solid var(--wsb-color-border); border-radius: var(--wsb-radius-m); background: var(--wsb-color-surface); }
.wsb-progressive-step.is-open { border-color: color-mix(in srgb, var(--wsb-color-interaction) 55%, var(--wsb-color-border)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--wsb-color-interaction) 9%, transparent); }
.wsb-progressive-step__header { display: grid; width: 100%; min-height: 74px; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 0; padding: 14px 18px; background: transparent; color: var(--wsb-color-ink); text-align: left; cursor: pointer; }
.wsb-progressive-step__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--wsb-color-canvas); color: var(--wsb-color-ink); }
.wsb-progressive-step.is-open .wsb-progressive-step__icon { background: var(--wsb-color-brand-soft); color: var(--wsb-color-interaction); }
.wsb-progressive-step__copy { display: grid; min-width: 0; gap: 4px; }
.wsb-progressive-step__copy strong { font-size: 17px; }
.wsb-progressive-step__copy small { overflow: hidden; color: var(--wsb-color-muted); text-overflow: ellipsis; white-space: nowrap; }
.wsb-progressive-step__summary-mobile { display: none; }
.wsb-progressive-step__status { color: var(--wsb-color-muted); }
.wsb-progressive-step.is-complete .wsb-progressive-step__status { color: var(--wsb-color-success); }
.wsb-progressive-step.is-locked { opacity: .58; }
.wsb-progressive-step__panel-shell { display: grid; grid-template-rows: 0fr; overflow: hidden; opacity: 0; visibility: hidden; transition: grid-template-rows 420ms cubic-bezier(.22, 1, .36, 1), opacity 300ms ease, visibility 0s linear 420ms; }
.wsb-progressive-step.is-open .wsb-progressive-step__panel-shell { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition-delay: 0s; }
.wsb-progressive-step.is-open .wsb-progressive-step__panel-shell,
.wsb-progressive-step.is-open .wsb-progressive-step__panel { overflow: visible; }
.wsb-progressive-step__panel { display: grid; min-height: 0; overflow: hidden; gap: 18px; border-top: 1px solid transparent; padding: 0 20px; transition: border-color 220ms ease, padding 420ms cubic-bezier(.22, 1, .36, 1); }
.wsb-progressive-step.is-open .wsb-progressive-step__panel { border-top-color: var(--wsb-color-border-subtle); padding: 20px; }
.wsb-progressive-step .wsb-transfer-route__date-point > .wsb-trip__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wsb-progressive-step__next { justify-self: end; min-width: min(360px, 100%); }
.wsb-progressive-step__next.wsb-booking-app__button--ready:not(:disabled) { border-color: transparent; background: var(--wsb-cta-gradient); color: #fff; }
.wsb-progressive-step__next:disabled { border-color: var(--wsb-color-border); background: var(--wsb-color-canvas); color: var(--wsb-color-quiet); box-shadow: none; }
.wsb-progressive-step--vehicle.is-open .wsb-progressive-step__panel { border-top-color: transparent; }
.wsb-travel-needs { border: 1px solid var(--wsb-color-border); border-radius: var(--wsb-radius-m); transition: border-color 180ms ease, box-shadow 180ms ease; }
.wsb-travel-needs.is-open { border-color: color-mix(in srgb, var(--wsb-color-interaction) 32%, var(--wsb-color-border)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--wsb-color-interaction) 5%, transparent); }
.wsb-progressive-step__content > .wsb-travel-needs { margin-top: 16px; }
.wsb-travel-needs__toggle { display: grid; width: 100%; grid-template-columns: minmax(13rem, 1fr) minmax(0, auto) auto auto; align-items: center; gap: 10px; border: 0; padding: 14px 16px; background: transparent; color: var(--wsb-color-ink); text-align: left; cursor: pointer; }
.wsb-travel-needs__toggle > span:first-child { display: grid; gap: 3px; }
.wsb-travel-needs__toggle > .wsb-icon { transition: transform 180ms ease; }
.wsb-travel-needs.is-open .wsb-travel-needs__toggle > .wsb-icon { transform: rotate(180deg); }
.wsb-travel-needs__toggle small { color: var(--wsb-color-muted); }
.wsb-travel-needs__status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.wsb-travel-needs__categories { display: none; }
.wsb-travel-needs__badge { flex: 0 0 auto; font-weight: 400; }
.wsb-travel-needs__badge.is-empty { background: #f1f2f4; color: var(--wsb-color-muted); box-shadow: inset 0 0 0 1px var(--wsb-color-border-subtle); }
.wsb-travel-needs__empty { white-space: nowrap; }
@media (min-width: 30.0625rem) {
  .wsb-vehicle-card__badge--selection { display: none; }
}
.wsb-text-link { border: 0; padding: 0; background: transparent; color: var(--wsb-color-interaction); text-decoration: none; cursor: pointer; }
.wsb-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.wsb-text-link:focus-visible { outline: 2px solid var(--wsb-color-interaction); outline-offset: 3px; text-decoration: underline; text-underline-offset: 3px; }
.wsb-travel-needs__edit, .wsb-quote__show-all-top { border: 0; background: transparent; color: var(--wsb-color-interaction); font-weight: 600; cursor: pointer; }
.wsb-travel-needs__panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 360ms cubic-bezier(.22, 1, .36, 1), opacity 260ms ease; }
.wsb-travel-needs__panel-inner { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear 360ms; }
.wsb-travel-needs.is-open .wsb-travel-needs__panel { grid-template-rows: 1fr; opacity: 1; }
.wsb-travel-needs.is-open .wsb-travel-needs__panel,
.wsb-travel-needs.is-open .wsb-travel-needs__panel-inner { overflow: visible; }
.wsb-travel-needs.is-open .wsb-travel-needs__panel-inner { visibility: visible; transition-delay: 0s; }
.wsb-travel-needs .wsb-trip__group--extras { border-top: 1px solid var(--wsb-color-border-subtle); padding: 16px; }
@media (max-width: 600px) {
  .wsb-travel-needs__toggle { grid-template-columns: minmax(0, 1fr) auto auto; }
  .wsb-travel-needs__status { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
}
.wsb-quote__route-heading { display: grid; gap: 4px; margin-top: 24px; }
.wsb-quote__route-heading h5, .wsb-quote__route-heading p { margin: 0; }
.wsb-quote__route-heading p { color: var(--wsb-color-muted); font-size: var(--wsb-font-size-min); }
.wsb-stop-duration { position: relative; display: inline-flex; }
.wsb-stop-duration__badge { display: inline-flex; height: 46px; min-height: 46px; align-items: center; gap: 7px; border: 1px solid color-mix(in srgb, var(--wsb-color-interaction) 36%, var(--wsb-color-border)); border-radius: 10px; padding: 0 12px; background: var(--wsb-color-brand-soft); color: var(--wsb-color-interaction); font-weight: 700; cursor: pointer; }
.wsb-stop-duration__menu { position: absolute; z-index: 35; top: calc(100% + 8px); right: 0; display: grid; width: min(260px, calc(100vw - 32px)); overflow: hidden; border: 1px solid var(--wsb-color-border); border-radius: 14px; padding: 8px; background: #fff; box-shadow: var(--wsb-shadow-medium); }
.wsb-stop-duration__menu button { display: grid; min-height: 48px; grid-template-columns: 22px 1fr; align-items: center; gap: 10px; border: 0; border-radius: 9px; padding: 10px 12px; background: transparent; color: var(--wsb-color-ink); text-align: left; cursor: pointer; }
.wsb-stop-duration__menu button[aria-checked="true"] { background: var(--wsb-color-brand-soft); color: var(--wsb-color-interaction); }
.wsb-charter-place { grid-template-columns: minmax(0, 1fr) auto auto !important; }
.wsb-charter-place__media { display: none !important; }
.wsb-vehicle-card__route-price-preview { display: inline-block; margin-inline-start: .45rem; color: var(--wsb-color-interaction); font-size: .9em; font-weight: 700; opacity: 0; transform: translateY(2px); transition: opacity 180ms ease, transform 180ms ease; white-space: nowrap; }
.wsb-vehicle-card__route-price-preview.is-visible { opacity: .72; transform: translateY(0); }
.wsb-vehicle-card__price-values { display: inline-flex; align-items: baseline; white-space: nowrap; }
.wsb-cancellation-drawer { width: min(42rem, 100vw); opacity: .96; transform: translateX(100%); transition: transform 420ms cubic-bezier(.22, 1, .36, 1), opacity 420ms ease; }
.wsb-cancellation-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
.wsb-cancellation-drawer[data-drawer-state="closing"] { opacity: .96; transform: translateX(100%); }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer__backdrop { opacity: 0; pointer-events: none; transition: opacity 420ms ease; }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer__backdrop[data-drawer-state="open"] { opacity: 1; pointer-events: auto; }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer__backdrop[data-drawer-state="closing"] { opacity: 0; pointer-events: none; }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer { opacity: .96; transform: translateX(100%); transition: transform 420ms cubic-bezier(.22, 1, .36, 1), opacity 420ms ease; }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
.wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer[data-drawer-state="closing"] { opacity: .96; transform: translateX(100%); }
.wsb-vehicle-drawer__backdrop { transition-duration: 420ms; transition-timing-function: ease; }
.wsb-vehicle-drawer { transition-duration: 420ms; transition-timing-function: cubic-bezier(.22, 1, .36, 1), ease; }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) { width: min(74rem, calc(100vw - 1.5rem)); }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer { grid-template-columns: minmax(0, 1fr) minmax(19rem, .5fr); }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__body { grid-template-columns: 8.5rem minmax(21rem, 1fr); }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__title,
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__details,
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__price > small,
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-trip__action { white-space: nowrap; }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__details { overflow: hidden; text-overflow: ellipsis; }

/* Drawer rows reserve independent space for copy, price, and the action. */
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer {
  grid-template-columns: minmax(0, 1fr) minmax(28rem, .68fr);
  min-height: 7.75rem;
  padding: 1rem 1.125rem;
  align-items: center;
  overflow: hidden;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__title-row,
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__badges {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .45rem;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__title-row { flex-wrap: nowrap; }
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__badges { flex: 0 0 auto; flex-wrap: wrap; }

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__title-row h5 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer > * {
  min-width: 0;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__footer {
  display: grid;
  grid-template-columns: minmax(11rem, 1fr) 10.75rem;
  align-items: center;
  column-gap: 1rem;
  width: 100%;
  max-width: 100%;
  padding-right: 1rem;
  box-sizing: border-box;
  min-width: 0;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__price {
	min-width: 0;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__price > small,
.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__price-values {
	display: block;
	width: max-content;
	max-width: none;
	white-space: nowrap;
}

.wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-trip__action {
  position: relative;
  z-index: 1;
  justify-self: end;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 10.75rem;
  padding-inline: .875rem;
}

/* The booking summary keeps one disclosure state across Trip Details, review, and Checkout. */
.wsb-booking-app__summary-region { position: relative; width: clamp(320px, 28vw, 440px); min-width: 0; overflow: clip; transition: width 420ms cubic-bezier(.22, 1, .36, 1), border-color 420ms ease, background-color 420ms ease, box-shadow 420ms ease; }
.wsb-booking-app__layout { grid-template-columns: minmax(0, 1fr) auto; transition: gap 420ms cubic-bezier(.22, 1, .36, 1); }
.wsb-booking-app__summary-panel { display: grid; min-width: 0; align-content: start; gap: 8px; opacity: 1; transform: translateX(0); visibility: visible; transition: opacity 280ms ease 100ms, transform 420ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear; }
.wsb-booking-app__summary-toggle { z-index: 4; width: var(--wsb-target-min); height: var(--wsb-target-min); flex: 0 0 auto; padding: 0; }
.wsb-booking-app__summary-toggle:focus-visible { outline: 2px solid var(--wsb-color-interaction); outline-offset: 2px; }
.wsb-booking-app__summary-toggle .wsb-icon { width: 2rem; height: 2rem; }
.wsb-booking-app__summary-toggle--expanded .wsb-icon { transform: rotate(-90deg); }
.wsb-booking-app__summary-toggle--collapsed .wsb-icon { transform: rotate(90deg); }
.wsb-booking-app__summary-heading > div,
.wsb-checkout-summary__title { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.wsb-booking-app__summary-toggle--expanded { position: static; }
.wsb-booking-app__summary-toggle--collapsed { position: absolute; display: grid; opacity: 0; visibility: hidden; pointer-events: none; transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease, opacity 180ms ease, visibility 0s linear 180ms; }
.wsb-booking-app__summary-compact { position: absolute; inset: 0; display: grid; align-content: start; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 180ms ease, visibility 0s linear 180ms; }
.wsb-booking-app[data-summary-disclosure="collapsed"] .wsb-booking-app__layout { grid-template-columns: minmax(0, 1fr) auto; gap: clamp(.75rem, 1.2vw, 1rem); }
.wsb-booking-app[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-region { width: 7rem; }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] { min-height: 100%; border: 0; border-radius: var(--wsb-radius-m); background: #fff; box-shadow: 0 8px 24px color-mix(in srgb, var(--wsb-color-ink) 8%, transparent); }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-panel { opacity: 0; transform: translateX(14px); visibility: hidden; pointer-events: none; transition: opacity 180ms ease, transform 420ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 420ms; }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-toggle--collapsed { top: 1rem; left: 50%; opacity: 1; visibility: visible; transform: translateX(-50%); pointer-events: auto; transition-delay: 100ms, 100ms, 100ms, 100ms, 100ms, 0s; }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-compact { align-content: start; justify-items: center; gap: .75rem; padding-top: calc(var(--wsb-target-min) + 2rem); color: var(--wsb-color-muted); font-size: .8rem; text-align: center; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 120ms, 0s; }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-compact strong { color: var(--wsb-color-ink-strong); font-size: .95rem; white-space: nowrap; }
.wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-compact .wsb-summary-trip-count { padding: 5px 10px; white-space: nowrap; }

@media (max-width: 1024px) {
  .wsb-booking-app__layout,
  .wsb-booking-app[data-summary-disclosure="collapsed"] .wsb-booking-app__layout { grid-template-columns: 1fr; }
  .wsb-booking-app__summary-region,
  .wsb-booking-app[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-region { width: 100%; }
  .wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] { min-height: 4.5rem; border: 1px solid var(--wsb-color-border-subtle); border-radius: var(--wsb-radius-m); }
  .wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-panel { display: none; }
  .wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-toggle--collapsed { top: 50%; right: .75rem; left: auto; transform: translateY(-50%); }
  .wsb-booking-app__summary-region[data-summary-disclosure="collapsed"] .wsb-booking-app__summary-compact { display: flex; align-items: center; justify-content: space-between; padding: 1rem 4.25rem 1rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .wsb-booking-app__layout,
  .wsb-booking-app__summary-region,
  .wsb-booking-app__summary-panel,
  .wsb-booking-app__summary-compact,
  .wsb-booking-app__summary-toggle--collapsed { transition-duration: 0s; }
}
.wsb-cancellation-drawer__header { min-height: 84px; padding: 20px 24px; }
.wsb-cancellation-drawer__header h3 { font-size: 24px; line-height: 1.25; white-space: nowrap; }
.wsb-cancellation-drawer__body { gap: 18px; padding: 24px; font-size: 15px; }
.wsb-cancellation-drawer__intro { font-size: 15px; line-height: 1.65; }
.wsb-cancellation-drawer__card { gap: 16px; border-radius: 14px; padding: 20px; }
.wsb-cancellation-drawer__card strong { font-size: 16px; line-height: 1.4; }
.wsb-cancellation-drawer__card p { font-size: 15px; line-height: 1.65; }
.wsb-cancellation-drawer__done { min-height: 54px; margin: 0 24px 24px; }
.wsb-booking-app__stage-action[hidden] { display: none !important; }
.wsb-booking-app :is(.wsb-booking-app__toolbar, .wsb-vehicle-review__hero, .wsb-checkout-hero) h2 { color: var(--wsb-color-ink-strong); font-size: var(--wsb-font-size-section-title); font-weight: var(--wsb-font-weight-medium); line-height: 1.15; }
.wsb-booking-app :is(.wsb-booking-app__toolbar, .wsb-vehicle-review__hero, .wsb-checkout-hero) p { color: var(--wsb-color-muted); font-size: 15px; font-weight: var(--wsb-font-weight-body); line-height: 1.4; }
.wsb-trip__header { scroll-margin-top: calc(var(--wsb-sticky-offset, 0px) + 24px); }
.wsb-trip__group--charter-locations .wsb-place-field__status:empty { display: none; min-height: 0; }
.wsb-trip__group--charter-locations .wsb-place-field__status:not(:empty) { min-height: 0; }
.wsb-progressive-step__content > .wsb-trip__group--charter-locations + .wsb-trip__group--notes { margin-top: 0; }
.wsb-place-field__input-shell:has(> input[data-place-state="confirmed"]) { border-radius: var(--wsb-place-control-radius); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wsb-color-success) 32%, var(--wsb-color-border)), 0 0 0 2px color-mix(in srgb, var(--wsb-color-success) 5%, transparent); }
.wsb-place-field__input-shell:has(> input[data-place-state="typing"]),
.wsb-place-field__input-shell:has(> input[data-place-state="stale"]),
.wsb-place-field__input-shell:has(> input[aria-invalid="true"]) { border-radius: var(--wsb-place-control-radius); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wsb-color-warning) 45%, var(--wsb-color-border)), 0 0 0 2px color-mix(in srgb, var(--wsb-color-warning) 7%, transparent); }
.wsb-place-field__input-shell:has(> input[data-place-state="confirmed"]):focus-within { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wsb-color-success) 48%, var(--wsb-color-border)), 0 0 0 3px color-mix(in srgb, var(--wsb-color-success) 12%, transparent); }
.wsb-place-field__input-shell:has(> input:is([data-place-state="typing"], [data-place-state="stale"], [aria-invalid="true"])):focus-within { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wsb-color-warning) 62%, var(--wsb-color-border)), 0 0 0 3px color-mix(in srgb, var(--wsb-color-warning) 14%, transparent); }
.wsb-place-field__input-shell:has(> input:is([data-place-state="confirmed"], [data-place-state="typing"], [data-place-state="stale"], [aria-invalid="true"])) > gmp-place-autocomplete::part(input) { border-color: transparent; background: transparent; }
.wsb-place-field__input-shell--google-new .wsb-place-field__inside-actions { z-index: 4; border-radius: var(--wsb-place-control-radius); background: var(--wsb-color-surface); }
.wsb-booking-app .wsb-vehicle-review__hero-actions { margin-top: -7px; }
.wsb-route-hero--return .wsb-route-hero__copy { align-content: start; gap: 12px; }
.wsb-route-hero__leg { display: grid; gap: 6px; border-radius: 10px; transition: background-color 220ms ease, box-shadow 220ms ease; }
.wsb-route-hero--return .wsb-route-hero__leg { cursor: pointer; }
.wsb-route-hero--return .wsb-route-hero__leg:hover, .wsb-route-hero--return .wsb-route-hero__leg:focus-visible { background: color-mix(in srgb, var(--wsb-color-interaction) 6%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--wsb-color-interaction) 6%, transparent); outline: none; }
.wsb-route-hero--return .wsb-route-hero__leg + .wsb-route-hero__leg { border-top: 1px solid var(--wsb-color-border-subtle); padding-top: 12px; }
.wsb-route-hero--return .wsb-route-hero__leg h5, .wsb-route-hero--return .wsb-route-hero__leg p { margin: 0; }
.wsb-route-hero--return .wsb-route-hero__leg h5 { font-size: 15px; line-height: 1.3; font-weight: 700; }
@media (max-width: 720px) {
  .wsb-progressive-step__header { min-height: 66px; grid-template-columns: 36px minmax(0, 1fr) auto; padding: 12px; }
  .wsb-progressive-step__icon { width: 34px; height: 34px; }
  .wsb-progressive-step__panel { padding-inline: 12px; }
  .wsb-progressive-step.is-open .wsb-progressive-step__panel { padding: 14px 12px; }
  .wsb-progressive-step__next { width: 100%; min-width: 0; }
  .wsb-progressive-step__copy small { white-space: normal; }
  .wsb-stop-duration__menu { right: auto; left: 0; }
  .wsb-cancellation-drawer { width: 100%; height: min(88dvh, 780px); align-self: end; border-radius: 20px 20px 0 0; transform: translateY(100%); }
  .wsb-cancellation-drawer[data-drawer-state="open"] { transform: translateY(0); }
  .wsb-cancellation-drawer[data-drawer-state="closing"] { transform: translateY(100%); }
  .wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer { transform: translateY(100%); }
  .wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer[data-drawer-state="open"] { transform: translateY(0); }
  .wsb-booking-app__portal[data-drawer-owner="cancellation"] .wsb-cancellation-drawer[data-drawer-state="closing"] { transform: translateY(100%); }
  .wsb-cancellation-drawer__header h3 { white-space: normal; }
  .wsb-booking-app .wsb-vehicle-review__hero h2 { font-size: 22px; }
}
@media (prefers-reduced-motion: no-preference) { .wsb-booking-app__stage-action:not([hidden]) { animation: wsb-r14-footer-in 180ms ease-out both; } }
@keyframes wsb-r14-footer-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (min-width: 761px) {
  .wsb-vehicle-card__breakdown-link { min-height: 30px; justify-content: flex-start; border: 0; padding: 0; background: transparent; color: var(--wsb-color-interaction); font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
  .wsb-vehicle-card__breakdown-link:hover, .wsb-vehicle-card__breakdown-link:focus-visible { color: color-mix(in srgb, var(--wsb-color-interaction) 78%, #000); text-decoration-thickness: 2px; }
  .wsb-price-breakdown-drawer__backdrop { position: fixed; z-index: 100001; inset: 0; display: grid; justify-items: end; background: color-mix(in srgb, var(--wsb-color-overlay) 72%, transparent); opacity: 0; transition: opacity 320ms ease; }
  .wsb-price-breakdown-drawer__backdrop[data-drawer-state="open"] { opacity: 1; }
  .wsb-price-breakdown-drawer__backdrop[data-drawer-state="closing"] { opacity: 0; }
  .wsb-price-breakdown-drawer { display: grid; width: min(68rem, calc(100vw - 1.5rem)); max-width: 100vw; height: 100dvh; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border-radius: var(--wsb-radius-l) 0 0 var(--wsb-radius-l); background: var(--wsb-color-surface); box-shadow: var(--wsb-shadow-medium); opacity: .9; transform: translateX(100%); transition: transform 420ms cubic-bezier(.22, 1, .36, 1), opacity 320ms ease; }
  .wsb-price-breakdown-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
  .wsb-price-breakdown-drawer[data-drawer-state="closing"] { opacity: .9; transform: translateX(100%); }
  .wsb-price-breakdown-drawer__header { display: flex; align-items: start; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--wsb-color-border-subtle); padding: 18px 20px; }
  .wsb-price-breakdown-drawer__header h2, .wsb-price-breakdown-drawer__header p { margin: 0; }
  .wsb-price-breakdown-drawer__header h2 { color: var(--wsb-color-ink-strong); font-size: 22px; font-weight: 600; }
  .wsb-price-breakdown-drawer__header p { margin-top: 4px; color: var(--wsb-color-muted); font-size: 13px; }
  .wsb-price-breakdown-drawer__body { min-height: 0; display: grid; align-content: start; gap: 16px; overflow-y: auto; padding: 18px 20px 28px; background: color-mix(in srgb, var(--wsb-color-canvas) 40%, var(--wsb-color-surface)); }
  .wsb-vehicle-drawer__vehicle-summary, .wsb-vehicle-drawer__breakdown, .wsb-vehicle-drawer__operational-legs { border: 1px solid var(--wsb-color-border-subtle); border-radius: 14px; padding: 16px; background: var(--wsb-color-surface); box-shadow: 0 7px 20px color-mix(in srgb, var(--wsb-color-ink) 5%, transparent); }
  .wsb-vehicle-drawer__vehicle-summary { display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto; align-items: center; gap: 14px; }
  .wsb-vehicle-drawer__detail-media { min-height: 76px; display: grid; place-items: center; border-radius: 10px; overflow: hidden; background: var(--wsb-color-canvas); }
  .wsb-vehicle-drawer__detail-image { width: 100%; height: 76px; object-fit: contain; }
  .wsb-vehicle-drawer__detail-copy { min-width: 0; display: grid; gap: 5px; }
  .wsb-vehicle-drawer__detail-copy h3, .wsb-vehicle-drawer__detail-copy p { margin: 0; }
  .wsb-vehicle-drawer__detail-copy h3, .wsb-vehicle-drawer__breakdown h3, .wsb-vehicle-drawer__operational-legs h3 { font-size: 17px; font-weight: 600; }
  .wsb-vehicle-drawer__detail-copy p { color: var(--wsb-color-muted); font-size: 13px; }
  .wsb-vehicle-drawer__detail-total { display: grid; justify-items: end; gap: 5px; text-align: right; white-space: nowrap; }
  .wsb-vehicle-drawer__detail-total small { color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-vehicle-drawer__detail-total strong { color: var(--wsb-color-interaction); font-size: 22px; }
  .wsb-vehicle-drawer__breakdown h3, .wsb-vehicle-drawer__operational-legs h3 { margin: 0 0 12px; }
  .wsb-vehicle-drawer__breakdown-lines { margin: 0; }
  .wsb-vehicle-drawer__breakdown-group { margin: 12px 0 2px; padding: 10px 2px 5px; color: var(--wsb-color-interaction); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .wsb-vehicle-drawer__breakdown-group:first-child { margin-top: 0; padding-top: 0; }
  .wsb-vehicle-drawer__breakdown-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; border-top: 1px solid var(--wsb-color-border-subtle); padding: 11px 2px; }
  .wsb-vehicle-drawer__breakdown-line:first-child { border-top: 0; }
  .wsb-vehicle-drawer__breakdown-line dt, .wsb-vehicle-drawer__breakdown-line dd { margin: 0; }
  .wsb-vehicle-drawer__breakdown-line dt { display: grid; gap: 3px; }
  .wsb-vehicle-drawer__breakdown-line dt small { color: var(--wsb-color-muted); font-size: 11px; font-weight: 400; }
  .wsb-vehicle-drawer__breakdown-line dd { color: var(--wsb-color-ink-strong); font-weight: 600; }
  .wsb-vehicle-drawer__breakdown-line--included dd { color: var(--wsb-color-success); }
  .wsb-vehicle-drawer__breakdown-line--total { margin-top: 5px; color: var(--wsb-color-ink-strong); font-weight: 700; }
  .wsb-vehicle-drawer__breakdown-line--total dd { color: var(--wsb-color-interaction); font-size: 17px; }
  .wsb-vehicle-drawer__leg-list { display: grid; gap: 10px; }
  .wsb-vehicle-drawer__leg { display: grid; gap: 5px; border: 1px solid var(--wsb-color-border-subtle); border-radius: 10px; padding: 12px; }
  .wsb-vehicle-drawer__leg span { color: var(--wsb-color-ink-strong); }
  .wsb-vehicle-drawer__leg small { color: var(--wsb-color-muted); }
  .wsb-price-breakdown-drawer__leg-lines { margin-top: 8px; border-top: 1px solid var(--wsb-color-border-subtle); }
  .wsb-price-breakdown-drawer__leg-lines .wsb-vehicle-drawer__breakdown-line { padding-inline: 0; }
  .wsb-price-breakdown-drawer__context-card { border: 1px solid var(--wsb-color-border-subtle); border-radius: 14px; padding: 16px; background: var(--wsb-color-surface); }
  .wsb-price-breakdown-drawer__context-card h3 { margin: 0 0 12px; font-size: 17px; font-weight: 600; }
  .wsb-price-breakdown-drawer__context-rows { display: grid; gap: 8px; margin: 0; }
  .wsb-price-breakdown-drawer__context-rows > div { display: grid; grid-template-columns: minmax(9rem, .75fr) minmax(0, 1fr); gap: 12px; }
  .wsb-price-breakdown-drawer__context-rows dt, .wsb-price-breakdown-drawer__context-rows dd { margin: 0; }
  .wsb-price-breakdown-drawer__context-rows dt { color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-price-breakdown-drawer__context-rows dd { color: var(--wsb-color-ink-strong); font-size: 13px; font-weight: 600; }
  .wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card--drawer .wsb-vehicle-card__footer { align-items: start; }
  .wsb-vehicle-drawer:not(.wsb-extras-drawer) .wsb-vehicle-card__price .wsb-vehicle-card__breakdown-link { justify-self: start; width: auto; max-width: 100%; min-height: 26px; margin-top: 3px; padding: 0; white-space: normal; }
}
