@layer wsb-v4-components {
  .wsb-quote, .wsb-checkout, .wsb-review, .wsb-vehicle-review, .wsb-checkout__form, .wsb-confirmation { display: grid; gap: var(--wsb-space-s); }
  .wsb-quote__heading { display: grid; gap: var(--wsb-space-3xs); }
  .wsb-quote__heading p, .wsb-quote__empty, .wsb-route-options__status, .wsb-review__muted { color: var(--wsb-color-muted); }
  .wsb-checkout__inline, .wsb-checkout__actions { display: flex; flex-wrap: wrap; gap: .35rem; }
  .wsb-review__trip, .wsb-vehicle-card { border: .0625rem solid var(--wsb-color-border); border-radius: var(--wsb-radius-m); padding: var(--wsb-space-xs); background: var(--wsb-color-surface); }
  .wsb-quote { container-type: inline-size; border-top: .0625rem solid var(--wsb-color-border); padding-top: var(--wsb-space-s); }
  .wsb-quote[data-state="loading"] { min-height: 6rem; }
  .wsb-trip-progression { display: grid; grid-template-columns: minmax(0, .9fr) minmax(18rem, 1.1fr); align-items: center; gap: clamp(1rem, 3vw, 2rem); overflow: hidden; border: 1px solid color-mix(in srgb, var(--wsb-color-interaction) 15%, var(--wsb-color-border)); border-radius: var(--wsb-radius-m); padding: clamp(1rem, 2vw, 1.35rem); background: color-mix(in srgb, var(--wsb-color-interaction) 3%, var(--wsb-color-surface)); }
  .wsb-trip-progression__copy { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .3rem .75rem; align-items: center; }
  .wsb-trip-progression__copy h4, .wsb-trip-progression__copy p { grid-column: 2; }
  .wsb-trip-progression__copy p { color: var(--wsb-color-muted); }
  .wsb-trip-progression__icon { display: grid; grid-row: 1 / 3; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--wsb-color-interaction) 9%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-trip-progression__icon .wsb-icon { width: 1.25rem; height: 1.25rem; }
  .wsb-trip-progression__checklist { display: grid; gap: .35rem; margin: 0; border-left: 1px solid var(--wsb-color-border-subtle); padding: .15rem 0 .15rem clamp(1rem, 3vw, 2rem); list-style: none; }
  .wsb-trip-progression__checklist li { display: grid; min-height: 44px; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: center; gap: .5rem; color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-trip-progression__state { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: var(--wsb-color-success-soft); color: var(--wsb-color-success); }
  .wsb-trip-progression__state .wsb-icon { width: 16px; height: 16px; }
  .wsb-trip-progression__checklist li.is-unresolved .wsb-trip-progression__state { background: var(--wsb-color-warning-soft); color: var(--wsb-color-warning); }
  .wsb-trip-progression__checklist li.is-unresolved button { color: var(--wsb-color-warning); }
  .wsb-trip-progression__checklist button { width: fit-content; min-height: 44px; border: 0; padding: 0; background: transparent; color: var(--wsb-color-ink-strong); font: inherit; font-weight: 650; text-align: left; cursor: pointer; }
  .wsb-trip-progression__checklist button:hover, .wsb-trip-progression__checklist button:focus-visible { color: var(--wsb-color-interaction); outline: 2px solid color-mix(in srgb, var(--wsb-color-interaction) 35%, transparent); outline-offset: 2px; }
  .wsb-route-hero--refreshing { position: relative; }
  .wsb-route-refresh-overlay { position: absolute; z-index: 4; inset: 0; display: grid; place-items: center; border-radius: inherit; background: color-mix(in srgb, var(--wsb-color-surface) 72%, transparent); color: var(--wsb-color-interaction); font-weight: 500; pointer-events: none; }
  .wsb-route-state-loading { display: grid; gap: .75rem; border: 1px solid color-mix(in srgb, var(--wsb-color-interaction) 12%, var(--wsb-color-border)); border-radius: var(--wsb-radius-m); padding: clamp(1rem, 2vw, 1.35rem); background: color-mix(in srgb, var(--wsb-color-interaction) 2%, var(--wsb-color-surface)); }
  .wsb-quote__updating { color: var(--wsb-color-muted); }
  .wsb-vehicle-filter-status { width: fit-content; border-radius: var(--wsb-radius-full); padding: 5px 9px; background: color-mix(in srgb, var(--wsb-color-interaction) 8%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 11px; font-weight: 600; animation: wsb-filter-status-in var(--wsb-motion-fast) ease 120ms both; }
  .wsb-quote__vehicle-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--wsb-space-xs); margin-top: var(--wsb-space-xs); }
  .wsb-quote__vehicle-help { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
  .wsb-quote__info-action { min-height: 34px; border-color: transparent; padding: 5px 8px; color: var(--wsb-color-interaction); font-size: 11px; }
  .wsb-quote__info-action:hover, .wsb-quote__info-action:focus-visible { border-color: color-mix(in srgb, var(--wsb-color-interaction) 42%, var(--wsb-color-border)); background: color-mix(in srgb, var(--wsb-color-interaction) 6%, var(--wsb-color-surface)); }
  .wsb-route-hero { display: grid; grid-template-columns: minmax(20rem, .95fr) minmax(24rem, 1.25fr); min-height: 282px; overflow: hidden; border: 1.5px solid var(--wsb-color-interaction); border-radius: var(--wsb-radius-m); background: var(--wsb-color-surface); box-shadow: 0 10px 28px color-mix(in srgb, var(--wsb-color-interaction) 8%, transparent); }
  .wsb-route-hero__copy { display: grid; align-content: center; gap: .45rem; padding: clamp(1.25rem, 2.5vw, 2rem); }
  .wsb-route-hero__copy h5 { color: var(--wsb-color-ink-strong); font-size: clamp(22px, 2vw, 30px); font-weight: 600; }
  .wsb-route-hero__eyebrow { width: fit-content; border-radius: var(--wsb-radius-s); padding: 4px 8px; background: color-mix(in srgb, var(--wsb-color-interaction) 8%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
  .wsb-route-hero__support { color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-route-hero__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: .8rem 0 0; border-top: 1px solid var(--wsb-color-border-subtle); padding-top: .8rem; }
  .wsb-route-hero__metric { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 1px 8px; padding: 0 12px; border-right: 1px solid var(--wsb-color-border); }
  .wsb-route-hero__metric:first-child { padding-left: 0; }
  .wsb-route-hero__metric:last-child { border-right: 0; padding-right: 0; }
  .wsb-route-hero__metric .wsb-icon { grid-row: 1 / 3; width: 20px; height: 20px; margin-top: 2px; color: var(--wsb-color-ink-strong); }
  .wsb-route-hero__metrics dt { color: var(--wsb-color-muted); font-size: 9px; text-transform: uppercase; }
  .wsb-route-hero__metrics dd { margin: 0; color: var(--wsb-color-ink-strong); font-size: 13px; font-weight: 600; }
  .wsb-route-hero__metric--tolls dd { width: fit-content; border-radius: var(--wsb-radius-s); padding: 2px 6px; background: color-mix(in srgb, var(--wsb-color-interaction) 8%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-route-map-pane { position: relative; min-width: 0; background: color-mix(in srgb, var(--wsb-color-info-soft) 62%, var(--wsb-color-canvas)); }
  .wsb-route-map { position: relative; width: 100%; min-height: 282px; height: 100%; overflow: hidden; background: color-mix(in srgb, var(--wsb-color-info-soft) 62%, var(--wsb-color-canvas)); }
  .wsb-route-map__runtime { position: absolute; z-index: 1; inset: 0; }
  .wsb-route-map__runtime > div, .wsb-route-map__runtime .gm-style { width: 100%; height: 100%; }
  .wsb-route-map__skeleton { position: absolute; z-index: 2; inset: 0; min-height: 100%; border-radius: 0; }
  .wsb-route-map__fallback { position: absolute; z-index: 2; inset: 0; display: none; place-items: center; padding: 24px; color: var(--wsb-color-muted); text-align: center; }
  .wsb-route-map[data-map-state="ready"] .wsb-route-map__skeleton, .wsb-route-map[data-map-state="ready"] .wsb-route-map__fallback { display: none; }
  .wsb-route-map[data-map-state="unavailable"] .wsb-route-map__skeleton { display: none; }
  .wsb-route-map[data-map-state="unavailable"] .wsb-route-map__fallback { display: grid; }
  .wsb-route-map__full-link { position: absolute; z-index: 3; top: 16px; right: 16px; border: 1px solid var(--wsb-color-border); border-radius: var(--wsb-radius-s); padding: 9px 12px; background: var(--wsb-color-surface); color: var(--wsb-color-ink-strong); font-size: 12px; font-weight: 600; text-decoration: none; box-shadow: var(--wsb-shadow-low); }
  .wsb-route-map__full-link:hover, .wsb-route-map__full-link:focus-visible { border-color: var(--wsb-color-interaction); color: var(--wsb-color-interaction); }
  .wsb-route-map-label { position: absolute; z-index: 4; display: grid; min-height: 44px; max-width: min(15rem, calc(100% - 1rem)); grid-template-columns: 18px auto; align-items: center; gap: 5px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--wsb-color-interaction) 30%, var(--wsb-color-border)); border-radius: var(--wsb-radius-full); padding: 4px 9px 4px 7px; background: color-mix(in srgb, var(--wsb-color-surface) 94%, transparent); color: var(--wsb-color-ink-strong); font: inherit; font-size: 12px; font-weight: 500; box-shadow: var(--wsb-shadow-low); pointer-events: auto; cursor: pointer; transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease, opacity 150ms ease; }
  .wsb-route-map-label[data-map-visible="false"] { visibility: hidden; opacity: 0; }
  .wsb-route-map-label__icon { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--wsb-color-interaction) 10%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 11px; }
  .wsb-route-map-label__icon .wsb-ui-icon { width: 12px; height: 12px; }
  .wsb-route-map-label__metrics { display: grid; line-height: 1.05; }
  .wsb-route-map-label__metrics strong { font-size: 12px; font-weight: 500; }
  .wsb-route-map-label__metrics small { color: var(--wsb-color-muted); font-size: 12px; font-weight: 400; }
  .wsb-route-map-label[data-selected="true"] { border-color: var(--wsb-color-interaction); color: var(--wsb-color-interaction); }
  .wsb-route-map-label[data-previewed="true"] { z-index: 6; border-color: var(--wsb-color-interaction); background: var(--wsb-color-surface); box-shadow: var(--wsb-shadow-medium); transform: translateY(-1px); }
  .wsb-route-hero, .wsb-route-options__list [data-route-option-id] { opacity: 1; filter: none; transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease; }
  .wsb-route-comparison--target { border-color: var(--wsb-color-interaction); background: color-mix(in srgb, var(--wsb-color-interaction) 4%, var(--wsb-color-surface)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--wsb-color-interaction) 12%, transparent); }
  .wsb-quote-skeleton { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wsb-space-xs); }
  .wsb-skeleton { min-height: 5.5rem; border-radius: var(--wsb-radius-s); background: linear-gradient(90deg, var(--wsb-color-canvas), var(--wsb-color-surface-raised), var(--wsb-color-canvas)); background-size: 200% 100%; animation: wsb-skeleton 1.2s ease-in-out infinite; }
  .wsb-skeleton:first-child { grid-column: 1 / -1; min-height: 9rem; }
  @keyframes wsb-skeleton { to { background-position: -200% 0; } }
  .wsb-route-options { display: grid; gap: 8px; }
  .wsb-route-options__intro { color: var(--wsb-color-muted); font-size: 11px; }
  .wsb-route-options__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wsb-space-xs); }
  .wsb-vehicle-drawer__list { display: grid; align-content: start; gap: var(--wsb-space-xs); overflow: auto; overscroll-behavior: contain; padding: 4px clamp(1rem, 2.5vw, 2rem) max(clamp(1rem, 2.5vw, 2rem), env(safe-area-inset-bottom)); }
  .wsb-vehicles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wsb-space-xs); transition: opacity var(--wsb-motion-fast) ease; }
  .wsb-vehicles--updating { opacity: .62; cursor: wait; }
  .wsb-vehicles--updating .wsb-vehicle-card { background-image: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--wsb-color-interaction) 7%, transparent) 48%, transparent 75%); background-size: 220% 100%; animation: wsb-vehicle-filter 1.05s ease-in-out infinite; }
  .wsb-route-options__list .wsb-trip__action { display: grid; min-height: 74px; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; text-align: left; }
  .wsb-route-options__list .wsb-trip__action:hover, .wsb-route-options__list .wsb-trip__action:focus-visible, .wsb-route-options__list .wsb-trip__action[aria-pressed="true"] { border-color: var(--wsb-color-interaction); background: color-mix(in srgb, var(--wsb-color-interaction) 5%, var(--wsb-color-surface)); }
  .wsb-route-option__icon { display: grid; width: 40px; aspect-ratio: 1; place-items: center; border-radius: var(--wsb-radius-full); background: color-mix(in srgb, var(--wsb-color-interaction) 10%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 21px; }
  .wsb-route-option__icon .wsb-ui-icon { width: 22px; height: 22px; }
  .wsb-route-option__copy { display: grid; min-width: 0; gap: 5px; }
  .wsb-route-option__head { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--wsb-color-ink-strong); }
  .wsb-route-option__head small { border-radius: var(--wsb-radius-full); padding: 2px 7px; background: color-mix(in srgb, var(--wsb-color-interaction) 7%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 9px; }
  .wsb-route-options__list .wsb-route-option__metrics { color: var(--wsb-color-muted); font-size: 11px; }
  .wsb-route-option__description { overflow: hidden; color: var(--wsb-color-ink-strong); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .wsb-route-option__chevron { width: 20px; height: 20px; color: var(--wsb-color-ink-strong); }
  .wsb-quote__availability-note, .wsb-review__caveat { border-radius: var(--wsb-radius-s); padding: .7rem .8rem; background: var(--wsb-color-warning-soft); color: var(--wsb-color-warning); }
  .wsb-vehicle-card { display: grid; align-content: start; gap: .7rem; min-width: 0; padding: 14px; transition: border-color var(--wsb-motion-fast) ease, background var(--wsb-motion-fast) ease, box-shadow var(--wsb-motion-fast) ease, transform var(--wsb-motion-fast) ease; }
  .wsb-vehicle-card[data-selectable="true"] { cursor: pointer; }
  .wsb-vehicle-card[data-selectable="true"]:hover, .wsb-vehicle-card[data-selectable="true"]:focus-visible { border-color: var(--wsb-color-interaction); background: color-mix(in srgb, var(--wsb-color-interaction) 4%, var(--wsb-color-surface)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--wsb-color-interaction) 18%, transparent); transform: translateY(-1px); outline: none; }
  .wsb-vehicle-card--selected { border-color: var(--wsb-color-success); background: var(--wsb-color-success-softer); box-shadow: 0 0 0 2px var(--wsb-color-success-border); }
  .wsb-vehicle-card--pending { border-color: var(--wsb-color-interaction); background: color-mix(in srgb, var(--wsb-color-interaction) 5%, var(--wsb-color-surface)); cursor: wait; }
  .wsb-vehicle-selection-recovery { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: var(--wsb-space-xs); border: 1px solid var(--wsb-color-warning); border-radius: var(--wsb-radius-s); padding: .65rem .75rem; background: var(--wsb-color-warning-soft); color: var(--wsb-color-ink-strong); font-size: 13px; }
  .wsb-vehicle-selection-recovery .wsb-trip__action { flex: 0 0 auto; }
  .wsb-vehicle-card p { color: var(--wsb-color-muted); font-size: 13px; }
  .wsb-vehicle-card__body { display: grid; grid-template-columns: minmax(88px, 38%) minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; }
  .wsb-vehicle-card__content { display: grid; align-content: center; gap: 5px; min-width: 0; }
  .wsb-vehicle-card__content h5 { color: var(--wsb-color-ink-strong); font-size: 15px; font-weight: 600; }
  .wsb-vehicle-card__media { display: grid; min-height: 98px; place-items: center; border-radius: var(--wsb-radius-s); background: linear-gradient(145deg, var(--wsb-color-surface-raised), var(--wsb-color-canvas)); }
  .wsb-vehicle-card__placeholder { width: 46px; height: 46px; color: var(--wsb-color-quiet); }
  .wsb-vehicle-card__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; border-top: 1px solid var(--wsb-color-border-subtle); padding-top: 10px; }
  .wsb-vehicle-card__footer .wsb-trip__action { min-width: 0; border-color: var(--wsb-color-interaction); padding-inline: 10px; color: var(--wsb-color-interaction); font-size: 13px; white-space: nowrap; }
  .wsb-vehicle-card--selected .wsb-vehicle-card__footer .wsb-trip__action { border-color: var(--wsb-color-success); background: var(--wsb-color-success-soft); color: var(--wsb-color-success); }
  .wsb-vehicle-card__capacity { display: flex; flex-wrap: wrap; gap: .35rem; }
  .wsb-vehicle-card__capacity > span { display: inline-flex; align-items: center; gap: .25rem; border-radius: var(--wsb-radius-full); padding: .25rem .45rem; background: var(--wsb-color-canvas); color: var(--wsb-color-muted); font-size: 10px; }
  .wsb-vehicle-card__capacity .wsb-icon { width: 14px; height: 14px; }
  .wsb-vehicle-card__price { display: grid; gap: .15rem; }
  .wsb-vehicle-card__price small { color: var(--wsb-color-muted); font-size: 10px; font-weight: 500; }
  .wsb-vehicle-card__price strong { color: var(--wsb-color-ink-strong); font-size: 16px; }
  .wsb-vehicle-card__route-price-preview { display: inline-flex; width: fit-content; min-height: 21px; grid-column: 1 / -1; align-items: center; border-radius: var(--wsb-radius-full); padding: 3px 7px; background: color-mix(in srgb, var(--wsb-color-interaction) 9%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); font-size: 12px; font-weight: 500; line-height: 15px; white-space: nowrap; }
  .wsb-vehicle-card__route-price-preview[hidden] { display: inline-flex; visibility: hidden; }
  .wsb-vehicle-card__badge { display: inline-flex; width: max-content; border-radius: var(--wsb-radius-s); padding: .2rem .45rem; background: var(--wsb-color-success-soft); color: var(--wsb-color-success); font-size: 9px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
  .wsb-vehicle-card__image { width: 100%; height: 98px; border-radius: var(--wsb-radius-s); object-fit: contain; }
  .wsb-price--changed { position: relative; overflow: hidden; border-radius: 4px; animation: wsb-price-settle 720ms cubic-bezier(.2, .8, .2, 1) both; }
  @keyframes wsb-price-settle {
    0% { background: linear-gradient(100deg, transparent 0%, var(--wsb-color-success-soft) 0%, transparent 20%); background-size: 240% 100%; background-position: 100% 0; box-shadow: 0 0 0 0 transparent; }
    50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--wsb-color-success) 10%, transparent); }
    100% { background-position: -100% 0; box-shadow: 0 0 0 0 transparent; }
  }
  @keyframes wsb-filter-status-in { from { opacity: 0; transform: translateY(-3px); } }
  @keyframes wsb-vehicle-filter { to { background-position: -220% 0; } }
  .wsb-vehicle-drawer__backdrop { position: fixed; z-index: 99999; inset: 0; display: grid; justify-items: end; background: var(--wsb-color-overlay); opacity: 0; transition: opacity var(--wsb-motion-medium) cubic-bezier(.2, .8, .2, 1); }
  .wsb-vehicle-drawer { display: grid; width: clamp(760px, 62vw, 1120px); max-width: 100vw; min-width: 0; min-height: 0; 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: .75; transform: translateX(100%); transition: transform var(--wsb-motion-medium) cubic-bezier(.2, .8, .2, 1), opacity var(--wsb-motion-medium) cubic-bezier(.2, .8, .2, 1); }
  .wsb-extras-drawer { width: clamp(680px, 60vw, 1040px); }
  .wsb-vehicle-drawer__backdrop[data-drawer-state="open"] { opacity: 1; }
  .wsb-vehicle-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
  .wsb-vehicle-drawer__header { position: sticky; z-index: 2; top: 0; display: flex; align-items: start; justify-content: space-between; gap: var(--wsb-space-s); border-bottom: 1px solid var(--wsb-color-border); padding: clamp(.85rem, 1.8vw, 1.35rem); background: var(--wsb-color-surface); }
  .wsb-vehicle-drawer__context { display: grid; min-width: 0; gap: 6px; }
  .wsb-vehicle-drawer__context .wsb-trip-context { gap: 6px; }
  .wsb-vehicle-drawer__list-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--wsb-color-ink-strong); font-size: 13px; font-weight: 600; }
  .wsb-vehicle-drawer__close { flex: 0 0 auto; }
  .wsb-vehicle-card--drawer { grid-template-columns: minmax(0, 1fr) minmax(260px, .6fr); align-items: center; }
  .wsb-vehicle-card--drawer .wsb-vehicle-card__body { grid-template-columns: 130px minmax(0, 1fr); }
  .wsb-vehicle-card--drawer .wsb-vehicle-card__footer { border-top: 0; border-left: 1px solid var(--wsb-color-border-subtle); padding-top: 0; padding-left: 18px; }
  .wsb-vehicle-drawer:focus { outline: .1875rem solid var(--wsb-color-interaction); outline-offset: -.25rem; }
  .wsb-vehicle-drawer__backdrop[data-drawer-state="closing"] { opacity: 0; }
  .wsb-vehicle-drawer[data-drawer-state="closing"] { opacity: .75; transform: translateX(100%); }
  @container (max-width: 52rem) {
    .wsb-vehicles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @container (max-width: 38rem) {
    .wsb-vehicles { grid-template-columns: 1fr; }
  }
  .wsb-review__trip > header { display: flex; align-items: center; justify-content: space-between; gap: var(--wsb-space-s); }
  .wsb-review__trip { display: grid; gap: var(--wsb-space-xs); }
  .wsb-review__route { display: grid; gap: 3px; color: var(--wsb-color-ink-strong); font-size: 14px; }
  .wsb-review__selection { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--wsb-space-s); border-radius: var(--wsb-radius-s); padding: var(--wsb-space-xs); }
  .wsb-review__selection > div { display: grid; gap: .2rem; }
  .wsb-review__status { color: var(--wsb-color-muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .wsb-review__price { font-size: 18px; }

  .wsb-booking-app .wsb-vehicle-review { gap: 14px; margin-top: var(--wsb-space-xs); }
  .wsb-booking-app .wsb-vehicle-review__hero { display: flex; align-items: start; justify-content: space-between; gap: var(--wsb-space-m); padding: 2px 0 8px; }
  .wsb-booking-app .wsb-vehicle-review__hero-copy { display: grid; min-width: 0; gap: 4px; }
  .wsb-booking-app .wsb-vehicle-review__hero h2 { color: var(--wsb-color-ink-strong); font-size: clamp(28px, 3vw, 38px); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; }
  .wsb-booking-app .wsb-vehicle-review__hero .wsb-booking-app__eyebrow { color: var(--wsb-color-interaction); font-size: 11px; font-weight: 700; }
  .wsb-booking-app .wsb-vehicle-review__support { max-width: 47rem; color: var(--wsb-color-muted); font-size: 14px; }
  .wsb-booking-app .wsb-stage-back-link { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; gap: .4rem; border: 0; padding: 6px 0; background: transparent; color: var(--wsb-color-ink-strong); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
  .wsb-booking-app .wsb-stage-back-link:hover,
  .wsb-booking-app .wsb-stage-back-link:focus-visible { background: transparent; color: var(--wsb-color-interaction); text-decoration: underline; text-underline-offset: 3px; }
  .wsb-booking-app .wsb-stage-back-link__arrow { font-size: 1rem; line-height: 1; text-decoration: none; }
  .wsb-booking-app .wsb-vehicle-review__back { margin-top: 28px; }

  .wsb-booking-app .wsb-vehicle-review__trip { min-width: 0; gap: 8px; border-color: var(--wsb-color-border); border-radius: var(--wsb-radius-m); padding: 14px 16px; box-shadow: 0 3px 14px color-mix(in srgb, var(--wsb-color-ink) 3%, transparent); }
  .wsb-booking-app .wsb-vehicle-review__trip--vehicle-needed { border-color: var(--wsb-color-border); }
  .wsb-booking-app .wsb-vehicle-review__trip-header { align-items: start; }
  .wsb-booking-app .wsb-trip-context--vehicle_review { gap: 4px; }
  .wsb-booking-app .wsb-vehicle-review__route-chip { max-width: 100%; overflow: hidden; background: color-mix(in srgb, var(--wsb-color-interaction) 8%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); text-overflow: ellipsis; white-space: nowrap; }
  .wsb-booking-app .wsb-vehicle-review__edit { width: 44px; min-width: 44px; min-height: 44px; flex: 0 0 auto; border-color: transparent; padding: 0; color: color-mix(in srgb, var(--wsb-color-muted) 46%, transparent); }
  .wsb-booking-app .wsb-vehicle-review__trip:hover .wsb-vehicle-review__edit,
  .wsb-booking-app .wsb-vehicle-review__trip:focus-within .wsb-vehicle-review__edit { color: color-mix(in srgb, var(--wsb-color-muted) 78%, transparent); }
  .wsb-booking-app .wsb-vehicle-review__edit:hover,
  .wsb-booking-app .wsb-vehicle-review__edit:focus-visible { border-color: color-mix(in srgb, var(--wsb-color-interaction) 35%, var(--wsb-color-border)); color: var(--wsb-color-interaction); }
  .wsb-booking-app .wsb-vehicle-review__trip .wsb-vehicle-review__edit:hover,
  .wsb-booking-app .wsb-vehicle-review__trip .wsb-vehicle-review__edit:focus-visible { color: var(--wsb-color-interaction); }
  .wsb-booking-app .wsb-vehicle-review__itinerary { min-width: 0; gap: 2px; font-size: 12px; }
  .wsb-booking-app .wsb-vehicle-review__date { display: flex; align-items: center; gap: 7px; color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-booking-app .wsb-vehicle-review__date .wsb-icon { width: 14px; height: 14px; }

  .wsb-booking-app .wsb-review-shuttle { display: grid; min-width: 0; grid-template-columns: 146px minmax(0, 1fr) minmax(132px, auto); align-items: center; gap: 14px; border: 1px solid; border-radius: 10px; padding: 10px; }
  .wsb-booking-app .wsb-review-shuttle--selected { border-color: var(--wsb-color-success-border); background: var(--wsb-color-success-softer); }
  .wsb-booking-app .wsb-review-shuttle--needed { border-color: color-mix(in srgb, var(--wsb-color-warning) 28%, var(--wsb-color-border)); background: var(--wsb-color-warning-softer); }
  .wsb-booking-app .wsb-review-shuttle__media { display: grid; width: 100%; min-height: 88px; place-items: center; overflow: hidden; border: 1px solid var(--wsb-color-border-subtle); border-radius: 9px; background: linear-gradient(145deg, var(--wsb-color-surface-raised), var(--wsb-color-canvas)); }
  .wsb-booking-app .wsb-review-shuttle__image { width: 100%; height: 88px; object-fit: contain; }
  .wsb-booking-app .wsb-review-shuttle__image--placeholder {
    height: 88px;
    padding: 4px;
    background: var(--wsb-color-canvas);
    object-fit: contain;
  }
  .wsb-booking-app .wsb-review-shuttle__placeholder { width: 42px; height: 42px; color: var(--wsb-color-quiet); }
  .wsb-booking-app .wsb-review-shuttle__illustration { border-color: color-mix(in srgb, var(--wsb-color-warning) 12%, var(--wsb-color-border)); background: color-mix(in srgb, var(--wsb-color-warning-softer) 60%, var(--wsb-color-surface)); }
  .wsb-booking-app .wsb-review-shuttle__content { display: grid; min-width: 0; align-content: center; gap: 3px; }
  .wsb-booking-app .wsb-review-shuttle__status { display: inline-flex; width: fit-content; align-items: center; gap: 5px; border: 1px solid; border-radius: var(--wsb-radius-full); padding: 3px 7px; letter-spacing: 0; text-transform: none; }
  .wsb-booking-app .wsb-review-shuttle--selected .wsb-review-shuttle__status { border-color: var(--wsb-color-success-border); background: var(--wsb-color-success-soft); color: var(--wsb-color-success); }
  .wsb-booking-app .wsb-review-shuttle--needed .wsb-review-shuttle__status { border-color: color-mix(in srgb, var(--wsb-color-warning) 20%, var(--wsb-color-border)); background: var(--wsb-color-warning-soft); color: var(--wsb-color-warning); }
  .wsb-booking-app .wsb-review-shuttle__check { display: inline-grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--wsb-color-success); color: var(--wsb-color-surface); }
  .wsb-booking-app .wsb-review-shuttle__check .wsb-icon { width: 11px; height: 11px; }
  .wsb-booking-app .wsb-review-shuttle__title { overflow: hidden; color: var(--wsb-color-ink-strong); font-size: 17px; font-weight: 600; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .wsb-booking-app .wsb-review-shuttle__models { overflow: hidden; color: var(--wsb-color-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .wsb-booking-app .wsb-review-shuttle__capacity { display: flex; min-width: 0; flex-wrap: wrap; gap: 7px 12px; padding-top: 4px; color: var(--wsb-color-muted); font-size: 10px; }
  .wsb-booking-app .wsb-review-shuttle__capacity > span { display: inline-flex; align-items: center; gap: 4px; }
  .wsb-booking-app .wsb-review-shuttle__capacity .wsb-icon { width: 13px; height: 13px; }
  .wsb-booking-app .wsb-review-shuttle__note { padding-top: 3px; color: var(--wsb-color-muted); font-size: 9px; line-height: 1.35; }
  .wsb-booking-app .wsb-review-shuttle__price { display: grid; min-width: 0; justify-items: end; gap: 1px; text-align: right; }
  .wsb-booking-app .wsb-review-shuttle__price strong { color: var(--wsb-color-ink-strong); font-size: 18px; font-weight: 650; white-space: nowrap; }
  .wsb-booking-app .wsb-review-shuttle__price > span { color: var(--wsb-color-muted); font-size: 10px; }
  .wsb-booking-app .wsb-review-shuttle__action { min-height: 38px; margin-top: 8px; padding: 7px 13px; white-space: normal; }
  .wsb-booking-app .wsb-review-shuttle__apply-all { min-height: 44px; border-color: transparent; padding: 4px 0; background: transparent; color: var(--wsb-color-interaction); opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity 300ms ease, transform 300ms ease; }
  .wsb-booking-app .wsb-vehicle-review__trip:hover .wsb-review-shuttle__apply-all,
  .wsb-booking-app .wsb-vehicle-review__trip:has(:focus-visible) .wsb-review-shuttle__apply-all,
  .wsb-booking-app .wsb-review-shuttle__apply-all:focus-visible { opacity: 1; transform: translateY(0); pointer-events: auto; transition-duration: 190ms; }

  @media (prefers-reduced-motion: reduce) {
    .wsb-booking-app .wsb-review-shuttle__apply-all { transition-duration: 0ms; }
  }
  .wsb-booking-app .wsb-drawer-primary-action { width: 100%; min-height: 56px; }
  .wsb-checkout { margin-top: var(--wsb-space-m); border-top: .0625rem solid var(--wsb-color-border); padding-top: var(--wsb-space-m); }
  .wsb-checkout__form fieldset { display: grid; min-width: 0; gap: var(--wsb-space-xs); border: .0625rem solid var(--wsb-color-border); border-radius: var(--wsb-radius-m); padding: var(--wsb-space-s); }
  .wsb-checkout__grid, .wsb-checkout__trip-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wsb-checkout__grid legend, .wsb-checkout__trip-fields legend { grid-column: 1 / -1; }
  .wsb-checkout__gateway, .wsb-checkout__check { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .wsb-checkout__errors { border-left: .25rem solid var(--wsb-color-danger); padding: .75rem .75rem .75rem 2rem; background: var(--wsb-color-danger-soft); color: var(--wsb-color-danger); }
  .wsb-checkout__totals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; border-top: .0625rem solid var(--wsb-color-border); padding-top: var(--wsb-space-s); }

  @media (max-width: 64rem) {
    .wsb-vehicle-drawer { width: 82vw; }
    .wsb-extras-drawer { width: 82vw; }
    .wsb-route-options__list, .wsb-route-hero, .wsb-quote-skeleton { grid-template-columns: 1fr; }
    .wsb-route-map, .wsb-route-hero { min-height: 250px; }
    .wsb-vehicle-card--drawer { grid-template-columns: 1fr; }
    .wsb-vehicle-card--drawer .wsb-vehicle-card__body { grid-template-columns: 7rem minmax(0, 1fr); }
    .wsb-vehicle-card--drawer .wsb-vehicle-card__footer { border-top: 1px solid var(--wsb-color-border-subtle); border-left: 0; padding-top: 10px; padding-left: 0; }
    .wsb-booking-app .wsb-review-shuttle { grid-template-columns: 112px minmax(0, 1fr); }
    .wsb-booking-app .wsb-review-shuttle__price { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: start; gap: 0 12px; border-top: 1px solid var(--wsb-color-border-subtle); padding-top: 8px; text-align: left; }
    .wsb-booking-app .wsb-review-shuttle__price > span { grid-column: 1; }
    .wsb-booking-app .wsb-review-shuttle__price .wsb-review-shuttle__action { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
    .wsb-booking-app .wsb-review-shuttle--needed .wsb-review-shuttle__action { grid-column: 1 / -1; width: 100%; }
  }

  @media (max-width: 35rem) {
    .wsb-trip-progression { grid-template-columns: 1fr; }
    .wsb-trip-progression__checklist { border-top: 1px solid var(--wsb-color-border-subtle); border-left: 0; padding: 1rem 0 0; }
    .wsb-vehicle-drawer__backdrop { align-items: end; justify-items: stretch; }
    .wsb-vehicle-drawer { width: 100%; min-height: 0; height: min(85dvh, 85vh); max-height: min(85dvh, 85vh); align-self: end; border-radius: var(--wsb-radius-l) var(--wsb-radius-l) 0 0; transform: translateY(100%); }
    .wsb-extras-drawer { width: 100%; height: min(85dvh, 85vh); max-height: min(85dvh, 85vh); }
    .wsb-vehicle-drawer[data-drawer-state="open"] { transform: translateY(0); }
    .wsb-vehicle-drawer__header { padding: 14px; }
    .wsb-vehicle-drawer__list { padding: 8px 12px max(12px, env(safe-area-inset-bottom)); }
    .wsb-vehicle-drawer[data-drawer-state="closing"] { transform: translateY(100%); }
    .wsb-vehicles { grid-template-columns: 1fr; }
    .wsb-vehicle-card__footer { grid-template-columns: 1fr; align-items: stretch; }
    .wsb-vehicle-card__footer .wsb-trip__action { width: 100%; }
    .wsb-booking-app .wsb-vehicle-review__hero { align-items: stretch; flex-direction: column; gap: 10px; }
    .wsb-booking-app .wsb-vehicle-review__hero h2 { font-size: 27px; }
    .wsb-booking-app .wsb-vehicle-review__back { width: fit-content; margin-top: 0; }
    .wsb-booking-app .wsb-vehicle-review__trip { padding: 12px; }
    .wsb-booking-app .wsb-vehicle-review__trip-header { align-items: stretch; flex-direction: column; gap: 8px; }
    .wsb-booking-app .wsb-vehicle-review__edit { width: 44px; align-self: end; }
    .wsb-booking-app .wsb-vehicle-review__route-row { display: grid; gap: 0; }
    .wsb-booking-app .wsb-vehicle-review__route-row > span { white-space: normal; }
    .wsb-booking-app .wsb-review-shuttle { grid-template-columns: 1fr; align-items: stretch; }
    .wsb-booking-app .wsb-review-shuttle__media { min-height: 108px; }
    .wsb-booking-app .wsb-review-shuttle__image { height: 108px; }
    .wsb-booking-app .wsb-review-shuttle__models { white-space: normal; }
    .wsb-booking-app .wsb-review-shuttle__price { grid-column: auto; grid-template-columns: 1fr; justify-items: stretch; text-align: left; }
    .wsb-booking-app .wsb-review-shuttle__price .wsb-review-shuttle__action,
    .wsb-booking-app .wsb-review-shuttle--needed .wsb-review-shuttle__action { grid-column: auto; grid-row: auto; width: 100%; margin-top: 8px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .wsb-skeleton, .wsb-vehicle-drawer, .wsb-vehicle-drawer__backdrop, .wsb-vehicle-filter-status, .wsb-vehicles--updating .wsb-vehicle-card, .wsb-price--changed { animation: none; }
    .wsb-vehicle-card, .wsb-vehicles, .wsb-vehicle-drawer, .wsb-vehicle-drawer__backdrop, .wsb-route-hero, .wsb-route-options__list [data-route-option-id] { transition-duration: 0s; }
    .wsb-price--changed { background: var(--wsb-color-success-soft); box-shadow: 0 0 0 2px var(--wsb-color-success-border); }
  }
}
