@layer wsb-v4-components {
  [data-wsb-trust-summary][hidden], [data-wsb-trust-sticky][hidden] { display: none; }
  .wsb-booking-app__summary-region { position: static; display: grid; min-width: 0; align-self: start; align-content: start; gap: 8px; }
  .wsb-booking-app__summary-region > .wsb-booking-app__summary { position: static; }
  .wsb-booking-app__stage-primary { display: grid; min-width: min(100%, 420px); gap: 8px; }
  .wsb-vehicle-review__shuttle-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
  .wsb-vehicle-review__shuttle-heading h3 { color: var(--wsb-color-ink-strong); font-size: 16px; font-weight: 500; }
  .wsb-vehicle-review__needed-copy { color: var(--wsb-color-muted); font-size: 13px; }
  .wsb-vehicle-review__vehicles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .wsb-review-vehicle { display: grid; min-width: 0; align-content: start; grid-template-rows: minmax(24px, auto) 112px auto auto auto 1fr auto; gap: 8px; border: 1px solid var(--wsb-color-border); border-radius: var(--wsb-radius-m); padding: 12px; background: var(--wsb-color-surface); box-shadow: 0 4px 14px color-mix(in srgb, var(--wsb-color-ink) 4%, transparent); transition: border-color var(--wsb-motion-fast) ease, box-shadow var(--wsb-motion-fast) ease, transform var(--wsb-motion-fast) ease; }
  .wsb-review-vehicle:hover, .wsb-review-vehicle:focus-within { border-color: color-mix(in srgb, var(--wsb-color-interaction) 42%, var(--wsb-color-border)); transform: translateY(-1px); }
  .wsb-review-vehicle--selected { border-color: var(--wsb-color-success-border); background: var(--wsb-color-success-softer); box-shadow: 0 0 0 1px var(--wsb-color-success-border); }
  .wsb-review-vehicle--pending { border-color: var(--wsb-color-interaction); cursor: wait; }
  .wsb-review-vehicle__top { display: flex; min-height: 24px; flex-wrap: wrap; align-items: start; justify-content: flex-end; gap: 5px; }
  .wsb-review-vehicle__badge { display: inline-flex; width: fit-content; align-items: center; border-radius: var(--wsb-radius-full); padding: 4px 7px; font-size: 12px; font-weight: 500; line-height: 1.2; }
  .wsb-review-vehicle__badge--recommendation { background: var(--wsb-color-success-soft); color: var(--wsb-color-success); }
  .wsb-review-vehicle__badge--premium { background: color-mix(in srgb, var(--wsb-color-interaction) 10%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-review-vehicle__badge--included { background: var(--wsb-color-canvas); color: var(--wsb-color-muted); }
  .wsb-review-vehicle__media { display: grid; min-width: 0; min-height: 112px; place-items: center; border-radius: var(--wsb-radius-s); background: linear-gradient(145deg, var(--wsb-color-surface), var(--wsb-color-canvas)); }
  .wsb-review-vehicle__image { width: 100%; height: 108px; object-fit: contain; }
  .wsb-review-vehicle__placeholder { width: 64px; height: 64px; color: var(--wsb-color-quiet); }
  .wsb-review-vehicle__title { display: flex; min-width: 0; align-items: center; gap: 3px; }
  .wsb-review-vehicle__title h4 { min-width: 0; overflow: hidden; color: var(--wsb-color-ink-strong); font-size: 16px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
  .wsb-review-vehicle__info { display: inline-grid; width: 44px; min-width: 44px; height: 44px; place-items: center; border: 0; padding: 0; background: transparent; color: var(--wsb-color-muted); cursor: pointer; }
  .wsb-review-vehicle__info:hover, .wsb-review-vehicle__info:focus-visible { color: var(--wsb-color-interaction); outline: 2px solid color-mix(in srgb, var(--wsb-color-interaction) 28%, transparent); outline-offset: -8px; }
  .wsb-review-vehicle__info .wsb-icon { width: 17px; height: 17px; }
  .wsb-review-vehicle__models { min-height: 38px; color: var(--wsb-color-muted); font-size: 13px; line-height: 1.45; }
  .wsb-review-vehicle__benefits { min-height: 26px; }
  .wsb-review-vehicle__metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--wsb-color-border-subtle); padding-block: 10px; }
  .wsb-review-vehicle__meta { display: grid; min-width: 0; align-content: start; gap: 5px; padding-inline: 7px; border-left: 1px solid var(--wsb-color-border-subtle); text-align: left; }
  .wsb-review-vehicle__meta:first-child { border-left: 0; padding-left: 0; }
  .wsb-review-vehicle__meta-value { display: flex; align-items: center; gap: 5px; color: var(--wsb-color-ink-strong); }
  .wsb-review-vehicle__meta-value .wsb-icon { width: 16px; height: 16px; flex: 0 0 auto; }
  .wsb-review-vehicle__meta-value strong { font-size: 14px; font-weight: 500; }
  .wsb-review-vehicle__meta-label { overflow-wrap: anywhere; color: var(--wsb-color-muted); font-size: 12px; line-height: 1.35; }
  .wsb-review-vehicle__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
  .wsb-review-vehicle__price { display: grid; gap: 2px; }
  .wsb-review-vehicle__price small { color: var(--wsb-color-muted); font-size: 12px; }
  .wsb-review-vehicle__price strong { color: var(--wsb-color-ink-strong); font-size: 18px; font-weight: 500; }
  .wsb-review-vehicle__select { min-height: 44px; border: 1px solid var(--wsb-color-border-strong); border-radius: var(--wsb-radius-s); padding: 9px 12px; background: var(--wsb-color-surface); color: var(--wsb-color-ink-strong); font-size: 13px; font-weight: 500; cursor: pointer; }
  .wsb-review-vehicle__select:hover:not(:disabled), .wsb-review-vehicle__select:focus-visible:not(:disabled) { border-color: var(--wsb-color-interaction); color: var(--wsb-color-interaction); }
  .wsb-review-vehicle__select[aria-pressed="true"] { border-color: transparent; background: var(--wsb-cta-gradient); color: #fff; }
  .wsb-review-vehicle__select:disabled { cursor: default; opacity: 1; }
  .wsb-review-vehicle__select .wsb-icon { width: 16px; height: 16px; margin-left: 4px; }
  [data-wsb-trust-summary] { display: grid; gap: 4px; padding-inline: 2px; padding-bottom: 1.5rem; justify-content: end; }
  .wsb-trust-summary-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 72px; border: 1px solid color-mix(in srgb, var(--wsb-color-success) 28%, var(--wsb-color-border)); border-radius: var(--wsb-radius-m); padding: 11px; background: color-mix(in srgb, var(--wsb-color-success) 5%, var(--wsb-color-surface)); color: var(--wsb-color-ink); text-align: left; cursor: pointer; }
  .wsb-trust-summary-card:hover, .wsb-trust-summary-card:focus-visible { border-color: var(--wsb-color-success); box-shadow: 0 0 0 2px color-mix(in srgb, var(--wsb-color-success) 15%, transparent); }
  .wsb-trust-summary-card__copy { display: grid; gap: 3px; }
  .wsb-trust-summary-card__copy strong { color: var(--wsb-color-success); font-size: 14px; font-weight: 500; }
  .wsb-trust-summary-card__copy span { color: var(--wsb-color-muted); font-size: 12px; line-height: 1.4; }
  .wsb-trust-summary-card > .wsb-icon { width: 16px; height: 16px; color: var(--wsb-color-muted); }
  .wsb-trust-medallion { position: relative; display: inline-grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border: 2px solid color-mix(in srgb, var(--wsb-color-interaction) 44%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--wsb-color-interaction) 10%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-trust-medallion .wsb-icon { position: absolute; width: 36px; height: 36px; opacity: .24; }
  .wsb-trust-medallion strong { position: relative; font-size: 15px; font-weight: 500; }
  .wsb-trust-art { display: block; width: 48px; height: 48px; object-fit: contain; }
  .wsb-trust-art--full { width: 132px; height: 96px; }
  .wsb-trust-included-link { display: inline-flex; width: fit-content; min-height: var(--wsb-assistance-link-min-height); align-items: center; gap: 7px; border: 0; padding: 5px 2px; background: transparent; color: var(--wsb-color-interaction); font-size: var(--wsb-assistance-link-font-size); font-weight: var(--wsb-assistance-link-font-weight); line-height: var(--wsb-assistance-link-line-height); cursor: pointer; }
  .wsb-trust-included-link:hover, .wsb-trust-included-link:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
  .wsb-trust-included-link .wsb-icon { width: var(--wsb-assistance-link-icon-size); height: var(--wsb-assistance-link-icon-size); }
  .wsb-trust-sticky-link { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; gap: 7px; border: 0; padding: 4px 8px; background: transparent; color: var(--wsb-color-success); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .wsb-trust-sticky-link:hover, .wsb-trust-sticky-link:focus-visible { color: var(--wsb-color-success-strong, var(--wsb-color-success)); text-decoration: underline; text-underline-offset: 3px; }
  .wsb-trust-sticky-link .wsb-icon { width: 16px; height: 16px; }
  .wsb-trust-drawer__backdrop { position: fixed; z-index: 100020; inset: 0; display: grid; justify-items: end; background: var(--wsb-color-overlay); opacity: 0; pointer-events: none; transition: opacity 420ms ease; }
  .wsb-trust-drawer { display: grid; width: min(480px, 100vw); height: 100dvh; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; 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: .96; transform: translateX(100%); transition: transform 420ms cubic-bezier(.22, 1, .36, 1), opacity 420ms ease; }
  .wsb-trust-drawer__backdrop[data-drawer-state="open"] { opacity: 1; pointer-events: auto; }
  .wsb-trust-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
  .wsb-trust-drawer__backdrop[data-drawer-state="closing"] { opacity: 0; pointer-events: none; }
  .wsb-trust-drawer[data-drawer-state="closing"] { opacity: .96; transform: translateX(100%); }
  .wsb-trust-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--wsb-color-border); padding: 16px 18px; }
  .wsb-trust-drawer__title { display: flex; min-width: 0; align-items: center; gap: 12px; }
  .wsb-trust-drawer__title > .wsb-icon { width: 32px; height: 32px; color: var(--wsb-color-interaction); }
  .wsb-trust-drawer__title h2 { color: var(--wsb-color-ink-strong); font-size: 22px; font-weight: 500; }
  .wsb-trust-drawer__close { display: inline-grid; width: 44px; min-width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--wsb-color-ink); cursor: pointer; }
  .wsb-trust-drawer__close:hover, .wsb-trust-drawer__close:focus-visible { background: var(--wsb-color-canvas); color: var(--wsb-color-interaction); }
  .wsb-trust-drawer__close .wsb-icon { width: 20px; height: 20px; }
  .wsb-trust-drawer__body { overflow: auto; overscroll-behavior: contain; padding: 20px 18px; }
  .wsb-trust-drawer__done { display: grid; width: auto; min-height: 52px; place-items: center; margin: 0 18px max(18px, env(safe-area-inset-bottom)); border: 0; border-radius: var(--wsb-radius-s); background: linear-gradient(115deg, var(--wsb-color-brand), var(--wsb-color-interaction)); color: var(--wsb-color-surface); font-size: 15px; font-weight: 500; line-height: 1.2; text-align: center; cursor: pointer; }
  .wsb-guarantee, .wsb-included { display: grid; gap: 16px; }
  .wsb-guarantee__hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; border-bottom: 1px solid var(--wsb-color-border); padding-bottom: 20px; }
  .wsb-guarantee__hero h3 { color: var(--wsb-color-ink-strong); font-size: clamp(24px, 4vw, 32px); font-weight: 500; line-height: 1.15; }
  .wsb-guarantee__hero h3 em { color: var(--wsb-color-interaction); font-style: normal; }
  .wsb-guarantee__hero p { color: var(--wsb-color-muted); font-size: 14px; line-height: 1.5; }
  .wsb-guarantee__hero .wsb-trust-medallion { grid-column: 2; grid-row: 1 / 3; width: 84px; height: 84px; }
  .wsb-guarantee__hero .wsb-trust-medallion .wsb-icon { width: 62px; height: 62px; }
  .wsb-guarantee__hero .wsb-trust-medallion strong { font-size: 24px; }
  .wsb-guarantee__hero .wsb-trust-art--full { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .wsb-guarantee__section { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; border-bottom: 1px solid var(--wsb-color-border-subtle); padding-bottom: 16px; }
  .wsb-guarantee__section-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: var(--wsb-radius-s); background: color-mix(in srgb, var(--wsb-color-interaction) 9%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-guarantee__section-icon .wsb-icon { width: 26px; height: 26px; }
  .wsb-guarantee__section h4, .wsb-included__benefit h4 { color: var(--wsb-color-ink-strong); font-size: 15px; font-weight: 500; }
  .wsb-guarantee__section p, .wsb-included__benefit p, .wsb-included__lead p { margin-top: 4px; color: var(--wsb-color-muted); font-size: 13px; line-height: 1.5; }
  .wsb-guarantee__steps { display: grid; gap: 7px; margin: 7px 0 0; padding-left: 21px; color: var(--wsb-color-muted); font-size: 13px; line-height: 1.45; }
  .wsb-guarantee__links { display: grid; gap: 8px; }
  .wsb-guarantee__link { width: 100%; }
  .wsb-guarantee__link .wsb-icon { width: 16px; height: 16px; }
  .wsb-included__lead { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px; border: 1px solid color-mix(in srgb, var(--wsb-color-interaction) 18%, var(--wsb-color-border)); border-radius: var(--wsb-radius-m); padding: 14px; }
  .wsb-included__lead h3, .wsb-included__airport > h3 { color: var(--wsb-color-ink-strong); font-size: 18px; font-weight: 500; }
  .wsb-included__list, .wsb-included__airport { display: grid; gap: 8px; }
  .wsb-included__airport { padding-top: 8px; }
  .wsb-included__benefit { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: start; gap: 10px; border: 1px solid var(--wsb-color-border-subtle); border-radius: var(--wsb-radius-s); padding: 10px; }
  .wsb-included__benefit > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--wsb-color-interaction) 8%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-included__benefit .wsb-icon { width: 21px; height: 21px; }
  .wsb-booking-app .wsb-vehicle-review__edit { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
  .wsb-vehicle-card--compact { gap: 8px; padding: 10px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__badges { display: flex; min-height: 24px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__badge { border-radius: var(--wsb-radius-full); padding: 4px 8px; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
  .wsb-vehicle-card__badge--included, .wsb-vehicle-card--compact .wsb-vehicle-card__badge--included { order: -1; background: var(--wsb-color-canvas); color: var(--wsb-color-muted); }
  .wsb-vehicle-card--compact .wsb-vehicle-card__badge--premium { background: color-mix(in srgb, var(--wsb-color-interaction) 10%, var(--wsb-color-surface)); color: var(--wsb-color-interaction); }
  .wsb-vehicle-card--compact .wsb-vehicle-card__body { grid-template-columns: 1fr; gap: 8px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__media { min-height: 112px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__image { height: 112px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__content { gap: 3px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__capacity { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 5px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__capacity > span { justify-content: flex-start; border-radius: 0; border-left: 1px solid var(--wsb-color-border-subtle); padding: 4px 6px; background: transparent; color: var(--wsb-color-ink-strong); font-size: 15px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__capacity > span:first-child { border-left: 0; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__capacity .wsb-icon { width: 20px; height: 20px; }
  .wsb-vehicle-card--compact .wsb-vehicle-card__footer { padding-top: 8px; }
  .wsb-vehicle-card--compact.wsb-vehicle-card--selected { border-color: var(--wsb-color-success-border); background: var(--wsb-color-success-softer); box-shadow: 0 0 0 1px var(--wsb-color-success-border); }
  .wsb-vehicle-card--compact .wsb-vehicle-card__footer .wsb-trip__action { border-color: var(--wsb-color-ink-strong); background: var(--wsb-color-surface); color: var(--wsb-color-ink-strong); }
  .wsb-vehicle-card--compact.wsb-vehicle-card--selected .wsb-vehicle-card__footer .wsb-trip__action { border-color: transparent; background: var(--wsb-cta-gradient); color: #fff; }
  @media (max-width: 760px) {
    .wsb-vehicle-review__vehicles { grid-template-columns: 1fr; }
    .wsb-review-vehicle { grid-template-rows: auto; }
    .wsb-review-vehicle__media { min-height: 136px; }
    .wsb-review-vehicle__image { height: 132px; }
    .wsb-review-vehicle__models { min-height: 0; }
    .wsb-review-vehicle__footer { align-items: stretch; grid-template-columns: 1fr; }
    .wsb-trust-drawer__backdrop { align-items: end; justify-items: stretch; }
    .wsb-trust-drawer { width: 100%; height: min(88dvh, 88vh); border-radius: var(--wsb-radius-l) var(--wsb-radius-l) 0 0; transform: translateY(100%); }
    .wsb-trust-drawer[data-drawer-state="open"] { transform: translateY(0); }
    .wsb-trust-drawer[data-drawer-state="closing"] { transform: translateY(100%); }
  }
  @media (max-width: 1024px) { .wsb-booking-app__summary-region { position: static; } }
  @media (max-width: 430px) {
    .wsb-review-vehicle__metadata { gap: 4px; }
    .wsb-review-vehicle__meta { padding-inline: 5px; }
    .wsb-trust-sticky-link { line-height: 1.35; text-align: center; }
    .wsb-guarantee__hero { grid-template-columns: 1fr; }
    .wsb-guarantee__hero .wsb-trust-medallion { grid-column: 1; grid-row: 1; width: 68px; height: 68px; }
    .wsb-guarantee__hero .wsb-trust-art--full { grid-column: 1; grid-row: 1; width: 112px; height: 76px; }
    .wsb-guarantee__hero h3 { grid-row: 2; }
  }
  @media (prefers-reduced-motion: reduce) { .wsb-review-vehicle, .wsb-trust-drawer, .wsb-trust-drawer__backdrop { transition-duration: 0s; animation: none; } }
}
