.wsb-promo-host { grid-column: 1 / -1; margin-bottom: 2rem; background: var(--wsb-booking-canvas-bg); }
.wsb-promo-bar { min-height: 64px; display: flex; align-items: center; gap: 22px; padding: 8px 12px 8px 8px; border: 1px solid #ebd8fd; border-radius: 14px; background: linear-gradient(100deg, #f8f2ff 0%, #fff 52%, #fff0f5 100%); box-shadow: 0 6px 18px rgba(58, 27, 94, .05); color: #16131b; }
.wsb-promo-bar__visual { align-self: stretch; inline-size: 56px; flex: 0 0 56px; display: grid; place-items: center; border-radius: 10px; overflow: hidden; }
.wsb-promo-bar__asset { display: block; inline-size: 56px; block-size: 56px; object-fit: contain; }
.wsb-promo-bar__copy { display: flex; align-items: center; gap: 20px; font-size: 13px; line-height: 1.35; }
.wsb-promo-bar__copy > span:last-child { color: #6b20c8; font-weight: 500; }
.wsb-promo-bar__separator { inline-size: 1px; block-size: 22px; background: #aaa1b4; }
.wsb-promo-bar__code { min-height: 44px; display: inline-flex; align-items: center; gap: 3px; padding: 0 16px; border: 1px dashed #a665db; border-radius: 9px; background: rgba(255,255,255,.7); color: #6b20c8; font-size: 13px; cursor: pointer; }
.wsb-promo-bar__code:hover { border-color: #7920c4; background: #fff; }
.wsb-promo-bar__code:focus-visible { outline: 2px solid #7920c4; outline-offset: 2px; background: #fff; }
.wsb-promo-bar__code svg { inline-size: 17px; block-size: 17px; margin-inline-start: 6px; }
.wsb-promo-bar__actions { display: inline-flex; align-items: center; gap: 6px; }
.wsb-promo-bar__remove { inline-size: 44px; block-size: 44px; display: grid; place-items: center; border: 1px solid #d9c7e9; border-radius: 9px; background: rgba(255,255,255,.72); color: #6b20c8; cursor: pointer; }
.wsb-promo-bar__remove:focus-visible { outline: 2px solid #7920c4; outline-offset: 2px; }
.wsb-promo-bar__remove:disabled { cursor: wait; opacity: .65; }
.wsb-promo-bar__remove svg { inline-size: 18px; block-size: 18px; }
.wsb-promo-bar__apply { min-height: 44px; padding: 0 23px; border: 1px solid transparent; border-radius: 9px; background: linear-gradient(110deg, #7c18d5, #dc247f); color: #fff; font-size: 13px; font-weight: 500; cursor: pointer; opacity: 1; transform: translateY(0); transition: opacity 190ms ease, transform 190ms ease, color 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.wsb-promo-bar__apply:hover:not(:disabled) { border-color: #7920c4; background: transparent; color: #7920c4; box-shadow: 0 5px 14px rgb(115 25 190 / 14%); }
.wsb-promo-bar__apply:focus-visible { outline: 2px solid #7920c4; outline-offset: 3px; }
.wsb-promo-bar__apply:disabled { cursor: wait; opacity: .72; }
.wsb-promo-bar__apply.is-exiting { opacity: 0; transform: translateY(-3px); }
.wsb-promo-bar__apply.is-entering { opacity: 0; transform: translateY(3px); }
.wsb-promo-bar__dismiss { margin-inline-start: auto; min-inline-size: 44px; min-block-size: 44px; display: grid; place-items: center; border: 0; background: transparent; color: #34303b; cursor: pointer; }
.wsb-promo-bar__dismiss svg { inline-size: 20px; block-size: 20px; }

.wsb-trip-context__eta { display: inline-flex; align-items: center; gap: 5px; margin-inline-start: 16px; color: inherit; font-size: inherit; font-weight: 400; white-space: nowrap; }
.wsb-trip-context__eta svg { inline-size: 16px; block-size: 16px; color: currentColor; }
.wsb-trip-context__eta strong { font-weight: 400; }

.wsb-reviews-card { padding: var(--wsb-sidebar-card-padding); border: 1px solid #ece9f0; border-radius: 13px; background: #fff; box-shadow: 0 8px 24px rgba(32, 24, 45, .06); }
.wsb-reviews-card h2 { margin: 0 0 3px; font-size: 24px; font-weight: 600; }
.wsb-reviews-card__client-count { width: fit-content; min-height: 34px; display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 10px; padding: 6px 16px 6px 12px; border: 1px solid rgba(117, 25, 201, .04); border-radius: 999px; background: linear-gradient(100deg, #f6edff 0%, #eee3fb 100%); color: var(--wsb-color-interaction); font-size: 14px; font-weight: 600; line-height: 1.2; }
.wsb-reviews-card__client-count .wsb-icon { width: 20px; height: 20px; flex: 0 0 20px; color: currentColor; }
.wsb-reviews-card > p { margin: 0 0 16px; color: #686275; font-size: 13px; }
.wsb-reviews-card__list { margin-inline: 4px; border-block: 1px solid #ebe8ee; }
.wsb-reviews-card__row { min-height: 58px; display: grid; grid-template-columns: minmax(86px, 1fr) auto 18px; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.wsb-reviews-card__row + .wsb-reviews-card__row { position: relative; }
.wsb-reviews-card__row + .wsb-reviews-card__row::before { position: absolute; inset: 0 8px auto; border-top: 1px solid #ebe8ee; content: ""; }
.wsb-reviews-card__row:not(a) { grid-template-columns: minmax(86px, 1fr) auto; }
.wsb-reviews-card__brand { font-size: 16px; font-weight: 500; }
.wsb-reviews-card__brand--google { color: #4285f4; }
.wsb-reviews-card__brand--tripadvisor { color: #148b64; font-size: 14px; }
.wsb-reviews-card__logo { display: block; width: min(100%, 92px); max-height: 28px; object-fit: contain; object-position: left center; }
.wsb-reviews-card__brand--tripadvisor .wsb-reviews-card__logo { width: min(100%, 112px); }
.wsb-reviews-card__brand--google .wsb-reviews-card__logo { width: min(100%, 110px); max-height: 44px; transform: scale(2); transform-origin: left center; }
.wsb-reviews-card__rating { font-size: 15px; font-weight: 500; }
.wsb-reviews-card__stars { color: #f7ae00; font-size: 15px; letter-spacing: 1px; }
.wsb-reviews-card__count { color: #60596b; font-size: 12px; white-space: nowrap; }
.wsb-reviews-card__stats { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; white-space: nowrap; }
.wsb-reviews-card__row > svg { inline-size: 15px; block-size: 15px; color: #5f5669; }
.wsb-reviews-card__all { min-height: 44px; display: flex; align-items: center; justify-content: space-between; margin-top: 8px; color: #7519c9; font-size: 15px; font-weight: 500; text-decoration: none; }
.wsb-reviews-card__all:hover, .wsb-reviews-card__all:focus-visible { color: #571292; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wsb-reviews-card__all svg { inline-size: 15px; block-size: 15px; }

.wsb-help-trigger { min-height: var(--wsb-assistance-link-min-height); display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 4px; border: 0; 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-help-trigger svg { inline-size: var(--wsb-assistance-link-icon-size); block-size: var(--wsb-assistance-link-icon-size); }
.wsb-help-trigger:hover > span:first-child, .wsb-help-trigger:focus-visible > span:first-child { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wsb-booking-app__toolbar .wsb-help-trigger { margin-inline-start: auto; }
.wsb-stage-utility-row, .wsb-vehicle-review__hero-actions, .wsb-checkout-hero__actions { display: flex; min-height: 44px; align-items: center; gap: 18px; }
.wsb-context-help-trigger--component { min-height: 36px; font-size: 13px; }
.wsb-quote__title-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.wsb-checkout-section__header > .wsb-help-trigger { margin-inline-start: auto; margin-inline-end: 12px; }
.wsb-booking-app[data-stage="checkout"] .wsb-help-trigger,
.wsb-booking-app[data-stage="checkout"] .wsb-trust-included-link { min-height: var(--wsb-assistance-link-min-height); padding: 0 4px; 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); }
.wsb-booking-app[data-stage="checkout"] .wsb-help-trigger .wsb-icon,
.wsb-booking-app[data-stage="checkout"] .wsb-trust-included-link .wsb-icon { width: var(--wsb-assistance-link-icon-size); height: var(--wsb-assistance-link-icon-size); }

.wsb-help-drawer__backdrop { position: fixed; inset: 0; z-index: 100040; display: flex; justify-content: flex-end; background: rgba(20, 16, 27, .58); opacity: 0; pointer-events: none; transition: opacity 420ms ease; }
.wsb-help-drawer { inline-size: min(100%, 445px); block-size: 100%; display: flex; flex-direction: column; background: #fff; box-shadow: -18px 0 48px rgba(20, 16, 27, .18); opacity: .96; transform: translateX(100%); transition: transform 420ms cubic-bezier(.22, 1, .36, 1), opacity 420ms ease; }
.wsb-help-drawer__backdrop[data-drawer-state="open"] { opacity: 1; pointer-events: auto; }
.wsb-help-drawer[data-drawer-state="open"] { opacity: 1; transform: translateX(0); }
.wsb-help-drawer__backdrop[data-drawer-state="closing"] { opacity: 0; pointer-events: none; }
.wsb-help-drawer[data-drawer-state="closing"] { opacity: .96; transform: translateX(100%); }
.wsb-help-drawer__header { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 30px 18px; border-bottom: 1px solid #eeeaf1; }
.wsb-help-drawer__header h2 { margin: 0; font-size: 25px; font-weight: 500; }
.wsb-help-drawer__close { min-inline-size: 44px; min-block-size: 44px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
.wsb-help-drawer__close svg { inline-size: 20px; block-size: 20px; }
.wsb-help-drawer__body { overflow-y: auto; padding: 24px 30px 34px; }
.wsb-help-drawer__lead { margin: 0 0 28px; color: #595264; font-size: 16px; line-height: 1.5; }
.wsb-help-drawer__body h3 { margin: 0 0 14px; font-size: 16px; font-weight: 500; }
.wsb-help-drawer__topics { display: grid; gap: 10px; }
.wsb-help-drawer__topic { min-height: 59px; display: grid; grid-template-columns: 34px 1fr 18px; align-items: center; gap: 11px; padding: 8px 13px; border: 1px solid #e5e0e8; border-radius: 9px; background: #fff; color: #211c29; font-size: 15px; text-align: left; cursor: pointer; box-shadow: 0 2px 7px rgba(28, 20, 38, .035); transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.wsb-help-drawer__topic:hover, .wsb-help-drawer__topic:focus-visible { border-color: #711bc2; box-shadow: 0 0 0 3px rgb(113 27 194 / 12%), 0 7px 18px rgb(52 25 78 / 10%); outline: 0; transform: translateY(-1px); }
.wsb-help-drawer__topic-icon { inline-size: 30px; block-size: 30px; display: grid; place-items: center; border-radius: 8px; background: #f7f3fb; color: #711bc2; }
.wsb-help-drawer__topic-icon .wsb-icon { inline-size: 17px; block-size: 17px; }
.wsb-help-drawer__topic > .wsb-icon { inline-size: 15px; block-size: 15px; color: #524a5b; }
.wsb-help-drawer__all, .wsb-help-drawer__back { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 0; border: 0; background: transparent; color: #7519c9; font-size: 15px; font-weight: 500; cursor: pointer; }
.wsb-help-drawer__all svg, .wsb-help-drawer__back svg { inline-size: 15px; block-size: 15px; }
.wsb-help-drawer__guided { display: grid; gap: 8px; margin-top: 18px; border-top: 1px solid #ebe8ee; padding-top: 18px; }
.wsb-help-drawer__guided > p { margin: 0; color: #686275; font-size: 13px; line-height: 1.5; }
.wsb-help-drawer__guided-action { min-height: 59px; }
.wsb-help-drawer__back { margin: -8px 0 24px; }
.wsb-help-drawer__eyebrow { margin: 0 0 5px; color: #711bc2; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.wsb-help-drawer__article-copy { margin: 0; color: #4e4757; font-size: 16px; line-height: 1.65; }
.wsb-help-drawer__promo-restore { min-height: 44px; margin-top: 16px; border: 1px solid #7519c9; border-radius: 9px; padding: 9px 14px; background: #fff; color: #7519c9; font: inherit; font-weight: 600; cursor: pointer; }
.wsb-help-drawer__search { inline-size: 100%; min-height: 48px; margin-bottom: 24px; padding: 0 14px; border: 1px solid #cfc8d5; border-radius: 9px; background: #fff; font-size: 15px; }
.wsb-help-drawer__empty { color: #5f5867; font-size: 15px; }
.wsb-help-drawer__support { display: grid; gap: 10px; margin-top: 34px; padding-top: 24px; border-top: 1px solid #eeeaf1; }
.wsb-help-drawer__support h3 { margin: 0; }
.wsb-help-drawer__support p { margin: -4px 0 7px; color: #686170; font-size: 14px; }
.wsb-help-drawer__support-action { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid #8b35d3; border-radius: 8px; background: #fff; color: #701bc1; font-size: 15px; font-weight: 500; text-decoration: none; transition: border-color 170ms ease, background 170ms ease, box-shadow 170ms ease, color 170ms ease, transform 170ms ease; }
.wsb-help-drawer__support-action:hover, .wsb-help-drawer__support-action:focus-visible { border-color: #711bc2; background: #faf7fd; color: #571292; box-shadow: 0 0 0 3px rgb(113 27 194 / 11%), 0 7px 18px rgb(52 25 78 / 9%); outline: 0; transform: translateY(-1px); }
.wsb-help-drawer__support-action svg { inline-size: 18px; block-size: 18px; }

@media (max-width: 760px) {
	.wsb-reviews-card h2 { font-size: 18px; font-weight: 600; }
  .wsb-promo-host { margin-bottom: 0; padding: 0 12px 12px; }
  .wsb-promo-bar { position: relative; min-height: 0; align-items: flex-start; flex-wrap: wrap; gap: 7px 10px; padding: 10px 48px 10px 10px; }
  .wsb-promo-bar__visual { inline-size: 42px; block-size: 42px; flex-basis: 42px; }
  .wsb-promo-bar__visual svg { inline-size: 21px; block-size: 21px; }
  .wsb-promo-bar__copy { flex: 1 1 calc(100% - 52px); flex-wrap: wrap; gap: 3px 10px; font-size: 13px; }
  .wsb-promo-bar__copy strong { flex-basis: 100%; }
  .wsb-promo-bar__separator { display: none; }
  .wsb-promo-bar__code { min-height: 40px; margin-inline-start: 52px; padding: 0 11px; font-size: 13px; }
  .wsb-promo-bar__apply { min-height: 40px; padding: 0 13px; font-size: 13px; }
  .wsb-promo-bar__dismiss { position: absolute; inset-block-start: 8px; inset-inline-end: 4px; }
  .wsb-trip-context__eta { display: flex; margin: 5px 0 0; }
  .wsb-reviews-card { padding: var(--wsb-sidebar-card-padding); }
	.wsb-reviews-card__row { grid-template-columns: minmax(75px, 1fr) auto 18px; gap: 6px; }
  .wsb-reviews-card__row:not(a) { grid-template-columns: minmax(75px, 1fr) auto auto; }
  .wsb-stage-utility-row, .wsb-vehicle-review__hero-actions, .wsb-checkout-hero__actions { align-items: flex-start; flex-direction: column; gap: 0; }
  .wsb-help-drawer__backdrop { align-items: flex-end; }
  .wsb-help-drawer { inline-size: 100%; block-size: min(88dvh, 760px); border-radius: 20px 20px 0 0; transform: translateY(100%); }
  .wsb-help-drawer[data-drawer-state="open"] { transform: translateY(0); }
  .wsb-help-drawer[data-drawer-state="closing"] { transform: translateY(100%); }
  .wsb-help-drawer__header { min-height: 76px; padding: 18px 20px 12px; }
  .wsb-help-drawer__header h2 { font-size: 22px; }
  .wsb-help-drawer__body { padding: 20px 20px 30px; }
}

@media (prefers-reduced-motion: reduce) { .wsb-help-drawer, .wsb-help-drawer__backdrop { transition-duration: 0ms; } .wsb-promo-bar__apply { transition-duration: 0ms; } }
