.ba-launcher, .ba-dialog { font-family: 'Poppins', Arial, sans-serif; letter-spacing: 0; }
.ba-launcher { position: fixed; right: 24px; bottom: 24px; z-index: 2100; display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 12px 16px; border: 1px solid #b42318; border-radius: 8px; background: #d92d20; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; box-shadow: 0 4px 16px #10182820; }
.ba-launcher:hover { background: #b42318; }
.ba-dialog { position: fixed; inset: auto 24px 86px auto; margin: 0; width: 410px; max-width: calc(100% - 32px); max-height: calc(100dvh - 112px); padding: 0; border: 1px solid #d0d5dd; border-radius: 8px; color: #344054; background: #fff; box-shadow: 0 16px 48px #10182830; text-align: left; }
.ba-dialog[open] { display: flex; flex-direction: column; }
.ba-dialog::backdrop { background: #10182840; }
.ba-dialog *, .ba-dialog *::before, .ba-dialog *::after { box-sizing: border-box; }
.ba-dialog button, .ba-dialog input, .ba-dialog select { font: inherit; letter-spacing: 0; }
.ba-dialog button, .ba-dialog a { -webkit-tap-highlight-color: transparent; }
.ba-dialog button { cursor: pointer; }
.ba-dialog button:disabled { opacity: .6; cursor: wait; }
.ba-dialog [hidden] { display: none !important; }
.ba-dialog :focus-visible, .ba-launcher:focus-visible { outline: 3px solid #d92d2060; outline-offset: 3px; }
.ba-header { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid #e4e7ec; flex-shrink: 0; }
.ba-header img { width: 76px; height: 32px; object-fit: cover; flex-shrink: 0; }
.ba-dialog .ba-header h2 { margin: 0; font-size: 15px !important; font-weight: 600; line-height: 1.4 !important; color: #101828; }
.ba-actions { display: flex; gap: 3px; margin-left: auto; }
.ba-icon-button { display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 4px; color: #667085; background: transparent; }
.ba-icon-button:hover { background: #f2f4f7; color: #101828; }
.ba-form { display: flex; flex-direction: column; min-height: 0; margin: 0; }
.ba-body { padding: 20px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.ba-progress-label { margin: 0 0 6px; font-size: 11px; color: #667085; }
.ba-progress { display: block; width: 100%; height: 4px; margin: 0 0 22px; border: 0; border-radius: 0; accent-color: #d92d20; }
.ba-progress::-webkit-progress-bar { background: #edf0f3; }
.ba-progress::-webkit-progress-value { background: #d92d20; }
.ba-dialog .ba-question { margin: 0 0 18px; font-size: 20px !important; font-weight: 600; line-height: 1.4 !important; color: #101828; }
.ba-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 0; border: 0; }
.ba-option { display: flex; align-items: center; gap: 8px; padding: 14px 10px; min-width: 0; min-height: 56px; border: 1px solid #d0d5dd; border-radius: 6px; background: #fff; color: #344054; font-size: 13px; cursor: pointer; }
.ba-option:has(input:checked) { border-color: #d92d20; background: #fff4f2; color: #b42318; }
.ba-option input { accent-color: #d92d20; width: 15px; height: 15px; padding: 0; margin: 0; flex-shrink: 0; }
.ba-option i { font-size: 16px; }
.ba-label { display: block; margin: 16px 0 6px; color: #344054; font-size: 12px; font-weight: 600; }
.ba-field { display: block; width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #d0d5dd; border-radius: 6px; color: #101828; background: #fff; font-size: 13px !important; line-height: 1.5; }
.ba-field::placeholder { color: #667085; }
.ba-schedule { margin-top: 18px; }
.ba-schedule .ba-label:first-child { margin-top: 0; }
.ba-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 20px; color: #b42318; font-size: 12px; text-decoration: none; }
.ba-location-button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; width: 100%; margin: 10px 0 0; padding: 8px; border: 1px solid #d0d5dd; border-radius: 6px; color: #344054; background: #f9fafb; font-size: 12px !important; }
.ba-results { margin: 6px 0 0; padding: 0; max-height: 190px; overflow-y: auto; list-style: none; border: 1px solid #e4e7ec; border-radius: 6px; }
.ba-result { display: block; width: 100%; padding: 10px 12px; margin: 0; border: 0; border-bottom: 1px solid #e4e7ec; background: #fff; color: #344054; text-align: left; font-size: 12px !important; line-height: 1.6; overflow-wrap: anywhere; }
.ba-result:hover, .ba-result[aria-selected="true"] { background: #fff4f2; color: #b42318; }
.ba-result:last-child { border-bottom: 0; }
.ba-status { margin: 8px 0 0; color: #667085; font-size: 11px; line-height: 1.6; }
.ba-attribution { display: inline-block; margin-top: 8px; color: #667085; font-size: 10px; }
.ba-error { margin: 12px 0 0; color: #b42318; font-size: 12px; line-height: 1.6; }
.ba-summary { margin: 0; }
.ba-summary > div { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid #e4e7ec; font-size: 12px; }
.ba-summary dt { color: #667085; }
.ba-summary dd { margin: 0; color: #101828; overflow-wrap: anywhere; }
.ba-fee { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; color: #101828; font-size: 13px; }
.ba-fee strong { margin-left: auto; font-size: 24px; color: #b42318; }
.ba-fee del { color: #667085; font-size: 12px; }
.ba-note { margin: 8px 0 0; font-size: 11px; color: #667085; line-height: 1.6; }
.ba-footer { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid #e4e7ec; flex-shrink: 0; }
.ba-support { color: #667085; font-size: 12px; display: inline-grid; place-items: center; width: 34px; height: 34px; text-decoration: none; }
.ba-next { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 10px 16px; margin-left: auto; border: 1px solid #d92d20; border-radius: 6px; background: #d92d20; color: #fff; font-size: 13px !important; font-weight: 600 !important; }
.ba-next:hover { background: #b42318; }
.ba-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); }
@media (max-width: 640px) {
  .ba-launcher { right: 16px; bottom: 20px; width: 48px; height: 48px; padding: 0; justify-content: center; border-radius: 50%; font-size: 20px; }
  .ba-launcher span { display: none; }
  .ba-launcher.ba-with-booking-bar { bottom: 96px; }
  .ba-dialog { inset: auto 16px 16px; width: auto; max-width: none; max-height: calc(100dvh - 32px); }
  .ba-body { padding: 18px; }
  .ba-footer { padding: 14px 18px; }
  .ba-next { padding-inline: 10px; gap: 6px; font-size: 12px !important; }
  .ba-next span { white-space: nowrap; }
  .ba-header { padding: 14px; gap: 8px; }
  .ba-header img { width: 64px; height: 28px; }
  .ba-dialog .ba-header h2 { font-size: 14px !important; }
  .ba-option { font-size: 12px; gap: 6px; }
}
