.ba-agent-entry { margin-top: 0; }
.ba-agent-entry button { background:transparent;color:inherit;border:1px solid currentColor;padding:10px 18px;border-radius:6px;cursor:pointer;font:inherit; }
.ba-agent-dialog { box-sizing:border-box;width:420px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:32px;border:1px solid #e5e9e4;border-radius:20px;background:#fff;color:#263d34;font-size:14px;line-height:1.5;box-shadow:0 24px 80px #142a3440;margin:auto; }
.ba-agent-dialog::backdrop { background:#12272180;backdrop-filter:blur(4px); }
.ba-agent-dialog .ba-agent-heading { margin:0 0 24px;text-align:left; }
.ba-agent-emblem { display:grid;place-items:center;width:44px;height:44px;border:1px solid #dfe7df;border-radius:12px;background:#f1f5ef;color:#365c4b;margin-bottom:18px; }
.ba-agent-emblem svg { width:24px;height:24px; }
.ba-agent-brand { font-size:10px;letter-spacing:.16em;color:#8c795a; }
.ba-agent-dialog h2 { font:600 24px/1.3 Arial,"Microsoft YaHei",sans-serif;letter-spacing:0;text-align:left;color:#243e32;margin:7px 0 10px;padding:0; }
.ba-agent-dialog p { font-size:13px;line-height:1.7;color:#758078;text-align:left;margin:0; }
.ba-agent-dialog label { display:block;margin:0 0 18px;font-size:13px;font-weight:600;color:#3d5145;text-align:left; }
.ba-agent-dialog input,.ba-booking input,.ba-booking select,.ba-booking textarea { display:block;width:100%;padding:12px 14px;margin-top:7px;border:1px solid #bdc9c6;border-radius:7px;background:white;color:#20342e;font:inherit;min-height:46px;box-sizing:border-box; }
.ba-agent-dialog button,.ba-booking button,.ba-booking .ba-button { padding:12px 22px;background:#244f44;color:white;border:1px solid #244f44;border-radius:7px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block; }
.ba-agent-dialog button { margin:8px 8px 0 0; }
.ba-agent-dialog .ba-secondary,.ba-booking .ba-secondary { background:transparent;color:#244f44; }
.ba-agent-dialog input { height:46px;min-height:46px;border-color:#dbe2da;border-radius:8px;background:#fafbf8;font-size:15px;font-weight:400;transition:border-color .15s,box-shadow .15s; }
.ba-agent-dialog input:focus { outline:none;border-color:#567a65;box-shadow:0 0 0 3px #567a6518;background:white; }
.ba-agent-dialog .ba-agent-actions { display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:24px; }
.ba-agent-dialog button { margin:0;font-size:14px;font-weight:600;line-height:20px;min-height:44px;transition:background .15s; }
.ba-agent-dialog .ba-agent-actions button { width:100%; }
.ba-agent-dialog button[type=submit]:hover { background:#183c30; }
.ba-agent-dialog button:disabled { opacity:.5;cursor:wait; }
.ba-agent-dialog .ba-secondary { border-color:#dde3dc;color:#69766c; }
.ba-agent-dialog .ba-secondary:hover { background:#f3f5f0; }
.ba-agent-dialog .ba-agent-close { position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#839086;font:24px/1 Arial,sans-serif; }
.ba-agent-dialog .ba-agent-close:hover { background:#f1f4ee; }
.ba-agent-dialog .ba-error:not(:empty) { padding:10px 12px;border-radius:8px;background:#fff3f0;margin-top:4px;font-size:12px; }
@media(max-width:480px) { .ba-agent-dialog { padding:24px; }.ba-agent-dialog h2 { font-size:22px; } }
.ba-booking button:disabled { opacity:.5;cursor:wait; }
.ba-booking :focus-visible,.ba-agent-dialog :focus-visible { outline:3px solid #bc963e;outline-offset:3px; }
.ba-booking { background:#f5f5ef;color:#20342e;padding-bottom:70px;min-height:70vh;font-size:16px;line-height:1.6; }
.ba-booking [hidden] { display:none!important; }
.ba-booking { text-align:left;font-family:Arial,"Microsoft YaHei",sans-serif; }
.ba-booking h1,.ba-booking h2,.ba-booking h3 { color:#203d32;text-align:left;font-family:inherit;font-weight:600; }
.ba-booking p { text-align:left; }
.ba-receipt h1,.ba-receipt p { text-align:center; }
.ba-agent-dialog { text-align:left;font-family:Arial,"Microsoft YaHei",sans-serif; }
.ba-hero { padding:48px max(24px,calc((100% - 1200px)/2)) 34px;background:#e7ece5; }
.ba-eyebrow { letter-spacing:.18em;font-size:12px;color:#637b66;margin-bottom:12px; }
.ba-hero h1 { font-size:clamp(30px,4vw,46px);line-height:1.18;letter-spacing:-.025em;margin:8px 0 16px; }
.ba-hero p { max-width:720px;margin:0;color:#53645b; }
.ba-wrap { max-width:1200px;margin:auto;padding:0 24px; }
.ba-steps { display:flex;gap:28px;margin:28px 0;padding:0;list-style:none;color:#718077; }
.ba-steps li { display:flex;gap:10px;align-items:center; }
.ba-steps span { display:grid;place-items:center;width:30px;height:30px;border:1px solid #9baaa0;border-radius:50%;font-size:14px; }
.ba-steps [aria-current=step] { color:#244f44;font-weight:700; }
.ba-steps [aria-current=step] span { background:#244f44;color:white; }
.ba-layout { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start; }
.ba-panel,.ba-summary { background:white;border:1px solid #dde3d9;border-radius:12px;padding:28px; }
.ba-panel h2,.ba-summary h2 { font-size:22px;margin:0 0 22px; }
.ba-filters,.ba-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.ba-filters { grid-template-columns:1.4fr 1fr 1fr;margin-bottom:24px; }
.ba-booking label { font-size:14px;font-weight:600; }
.ba-products { display:grid;gap:16px; }
.ba-product { border:1px solid #d8e0d7;border-radius:10px;padding:22px; }
.ba-product.is-selected { border:2px solid #244f44;padding:21px;background:#f9fbf7; }
.ba-product h3 { font-size:19px;line-height:1.4;margin:0 0 12px; }
.ba-product p { margin:8px 0;color:#5a695f;font-size:14px; }
.ba-product details { margin:14px 0; }
.ba-product summary { cursor:pointer;font-size:14px; }
.ba-product-footer { display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px; }
.ba-price { font-size:23px;font-weight:700;line-height:1.3; }
.ba-price small { display:block;font-size:12px;font-weight:400;color:#68756b;margin-top:4px; }
.ba-summary { position:sticky;top:110px; }
.ba-summary h3 { font-size:18px;line-height:1.5; }
.ba-summary p { color:#647067;font-size:14px; }
.ba-summary hr { border:0;border-top:1px solid #e0e5dc;margin:22px 0; }
.ba-summary .ba-price { margin:12px 0; }
.ba-summary a { color:#244f44; }
.ba-summary button { font-size:13px;width:100%; }
.ba-actions { display:flex;justify-content:space-between;gap:16px;margin-top:28px; }
.ba-note { font-size:13px;color:#67786d;margin:12px 0 20px; }
.ba-booking fieldset { border:0;border-top:1px solid #e0e5dc;padding:24px 0 0;margin:24px 0 0;min-width:0; }
.ba-booking legend { font-size:20px;font-weight:600;padding:0 16px 0 0; }
.ba-counts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.ba-travellers { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.ba-wide { grid-column:1/-1; }
.ba-error { color:#a6312c!important;font-size:14px;margin:16px 0; }
.ba-review { display:grid;grid-template-columns:140px 1fr;margin:0;gap:12px; }
.ba-review dt { color:#66766b; }
.ba-review dd { margin:0;overflow-wrap:anywhere;white-space:pre-wrap; }
.ba-terms { background:#f5f7f1;border-radius:8px;padding:20px;margin:24px 0; }
.ba-terms h3 { margin:0 0 12px; }
.ba-terms p { font-size:14px; }
.ba-booking .ba-check { display:flex;gap:12px;align-items:flex-start; }
.ba-booking .ba-check input { width:20px;min-height:20px;height:20px;flex-shrink:0;margin:3px 0; }
.ba-receipt { max-width:650px;margin:36px auto;text-align:center;background:white;padding:48px 24px;border-radius:14px; }
.ba-receipt strong { display:block;font-size:24px;overflow-wrap:anywhere;margin:12px 0; }
.ba-flow-steps { justify-content:space-between;gap:14px; }
.ba-flow-steps li { flex:1; }
.ba-trip-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid #d6dfd5;margin:-4px 0 28px; }
.ba-booking .ba-trip-tabs button { border:0;border-radius:0;background:transparent;color:#7b8478;padding:14px 4px;border-bottom:3px solid transparent; }
.ba-booking .ba-trip-tabs [aria-pressed=true] { color:#244f44;border-bottom-color:#a38b52;font-weight:700; }
.ba-booking .ba-counts { margin-top:22px; }
.ba-results-header { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px; }
.ba-results-header h2 { margin:0; }
.ba-booking .ba-results-header button { padding:8px 12px;font-size:13px; }
.ba-service-table-head { display:grid;grid-template-columns:1fr 130px 110px;gap:12px;padding:12px 14px;background:#f1f4ed;color:#697965;font-size:13px; }
.ba-service-row { display:grid!important;grid-template-columns:20px 1fr 130px 110px;gap:12px;align-items:center;padding:20px 14px;border-bottom:1px solid #e0e6dc;cursor:pointer;font-size:14px!important;font-weight:400!important; }
.ba-service-row:has(input:checked) { background:#f4f7ef;box-shadow:inset 3px 0 #426750; }
.ba-booking .ba-service-row input { width:18px;height:18px;min-height:18px;margin:0;accent-color:#365e46; }
.ba-service-row small { display:block;font-size:12px;color:#758575;margin-top:8px; }
.ba-service-row.is-unavailable { opacity:.5;cursor:not-allowed; }
.ba-service-row > span:nth-last-child(2) { font-size:12px; }
.ba-service-row > strong { font-size:14px; }
.ba-empty { padding:35px 10px;text-align:center!important; }
.ba-service-details { padding: 20px 24px 24px 46px; background: #f4f7ef; border-bottom: 1px solid #e0e6dc; box-shadow: inset 3px 0 #426750; overflow-wrap: anywhere; }
.ba-service-details h3 { margin: 0 0 12px; font-size: 16px; line-height: 1.5; }
.ba-service-details ul { margin: 0; padding-left: 20px; }
.ba-service-details li { list-style: disc outside; margin: 6px 0; color: #53645b; font-size: 14px; line-height: 1.7; }
.ba-service-details p { margin: 0; font-size: 14px; color: #53645b; }
@media (max-width: 760px) { .ba-service-details { padding: 16px 16px 20px 38px; } }
.ba-check-payment { margin-top:20px;width:100%; }
@media(max-width:1100px) { .ba-service-table-head { grid-template-columns:1fr 90px 90px; }.ba-service-row { grid-template-columns:18px 1fr 90px 90px;gap:8px;padding:16px 8px; } }
@media(max-width:760px) { .ba-flow-steps { flex-wrap:wrap;row-gap:12px; }.ba-flow-steps li { flex:0 0 calc(50% - 12px); }.ba-service-table-head { display:none; }.ba-service-row { grid-template-columns:20px 1fr;gap:10px; }.ba-service-row > span:nth-last-child(2) { grid-column:2; }.ba-service-row > strong { grid-column:2; }.ba-results-header { align-items:flex-start; }.ba-booking .ba-trip-tabs button { font-size:14px; } }
@media(max-width:1000px) { .ba-layout { grid-template-columns:minmax(0,1fr) 270px;gap:18px; }.ba-filters { grid-template-columns:1fr; }.ba-panel,.ba-summary { padding:22px; } }
@media(max-width:760px) { .ba-layout { grid-template-columns:1fr; }.ba-summary { position:static; }.ba-wrap { padding:0 16px; }.ba-steps { gap:12px;justify-content:space-between;font-size:12px; }.ba-steps li { gap:6px; }.ba-steps span { width:24px;height:24px; }.ba-hero { padding:32px 20px; }.ba-fields,.ba-travellers { grid-template-columns:1fr; }.ba-counts { gap:10px; }.ba-product-footer { align-items:flex-start;flex-direction:column; }.ba-review { grid-template-columns:90px 1fr; }.ba-panel { padding:20px; }.ba-actions button { padding:12px 16px; } }

.ba-flight-query { display:flex; align-items:end; gap:10px; }
.ba-flight-query label { flex:1; min-width:0; }
.ba-booking .ba-flight-query button { flex-shrink:0; padding:12px 14px; min-height:48px; white-space:nowrap; }
.ba-flight-results { display:grid; gap:8px; }
.ba-booking .ba-flight-results button { text-align:left; white-space:normal; font-size:14px; line-height:1.6; }
.ba-addons { margin: 24px 0; padding: 20px; border: 1px solid #dce2d8; border-radius: 12px; }
.ba-addons legend { padding: 0 8px; font-weight: 700; }
#ba-payment-details { margin-top: 24px; overflow-wrap: anywhere; }
#ba-payment-details canvas { background: white; }
.ba-payment-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.ba-payment-cards button { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; padding: 24px; text-align: left; }
.ba-payment-cards button span { font-size: 14px; }
@media(max-width:600px) { .ba-payment-cards { grid-template-columns: 1fr; } }
.ba-phone>span { display:block; font-weight:700; margin-bottom:7px; }
.ba-phone-controls { display:flex; gap:10px; align-items:stretch; }
.ba-booking .ba-phone-controls button,.ba-booking .ba-phone-controls input[type=tel] { height:48px; min-height:48px; margin:0; box-sizing:border-box; }
.ba-phone-controls button { flex:0 0 100px; padding:12px; }
.ba-phone-controls input[type=tel] { min-width:0; flex:1; }
/* Country picker: isolate typography from the legacy marketing-page headings. */
.ba-country-dialog { width:min(480px,calc(100vw - 32px)); max-height:82vh; box-sizing:border-box; padding:24px; border:1px solid #e1e6df; border-radius:18px; background:#fff; color:#263d36; box-shadow:0 24px 80px #14271e30; font-family:inherit; text-align:left; }
.ba-country-dialog::backdrop { background:#13251e66; backdrop-filter:blur(3px); }
.ba-country-dialog h2 { margin:0 48px 22px 0; padding:0; color:#263d36; font-family:inherit; font-size:22px; font-weight:600; line-height:1.4; text-align:left; letter-spacing:0; text-transform:none; }
.ba-country-dialog .ba-country-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#f2f5f1; color:#61716a; font:24px/1 Arial,sans-serif; cursor:pointer; }
.ba-country-dialog .ba-country-close:hover { background:#e6ece5; color:#244f44; }
.ba-country-dialog input { display:block; width:100%; height:48px; box-sizing:border-box; margin:0; padding:12px 16px; border:1px solid #d9e1da; border-radius:10px; background:#f7f9f6; color:#263d36; font:inherit; font-size:15px; line-height:22px; outline:none; }
.ba-country-dialog input:focus { border-color:#648276; box-shadow:0 0 0 3px #42675012; background:white; }
.ba-country-dialog input::placeholder { color:#8b968f; }
.ba-country-list { max-height:48vh; overflow:auto; margin-top:16px; padding-right:4px; scrollbar-width:thin; scrollbar-color:#cbd5cd transparent; }
.ba-country-dialog .ba-country-list h3 { margin:16px 0 6px; padding:0 12px; color:#8a968e; font-family:inherit; font-size:11px; font-weight:600; line-height:20px; text-align:left; letter-spacing:1px; }
.ba-country-dialog .ba-country-list button { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; min-height:52px; box-sizing:border-box; padding:12px; border:0; border-radius:9px; background:white; color:#34473f; font-family:inherit; font-size:15px; font-weight:400; line-height:24px; text-align:left; cursor:pointer; }
.ba-country-list button span:last-child { flex-shrink:0; color:#718077; font-variant-numeric:tabular-nums; }
.ba-country-dialog .ba-country-list button:hover,.ba-country-dialog .ba-country-list button:focus-visible { background:#f0f4ee; outline:2px solid transparent; }
.ba-country-dialog .ba-country-list button[aria-pressed=true] { background:#edf3ec; color:#244f44; font-weight:600; }
.ba-country-list button[aria-pressed=true] span:last-child { color:#244f44; }
.ba-country-list p { padding:20px 12px; margin:0; color:#7b887f; font-size:14px; text-align:center; }
@media(max-width:600px) { .ba-country-dialog { padding:20px; border-radius:16px; } .ba-country-dialog h2 { font-size:20px; } }
#ba-booking.ba-checkout { padding-top:40px; }
.ba-checkout .ba-wrap { max-width:1160px; margin:0 auto; }
.ba-checkout .ba-layout { grid-template-columns:minmax(0,1fr) 320px; gap:24px; }
.ba-checkout .ba-panel,.ba-checkout .ba-summary { min-width:0; padding:28px; border-radius:16px; box-sizing:border-box; }
.ba-checkout .ba-panel h1 { font-size:28px; line-height:1.35; margin:8px 0 12px; letter-spacing:0; }
.ba-checkout-eyebrow { font-size:11px; font-weight:600; letter-spacing:2px; color:#8a977f; }
.ba-checkout .ba-panel>p { font-size:14px; color:#738078; margin:0 0 24px; line-height:1.7; }
#ba-booking.ba-checkout .ba-payment-cards { display:grid; grid-template-columns:1fr; gap:12px; margin:24px 0; width:100%; }
#ba-booking.ba-checkout .ba-payment-cards button { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; width:100%; min-width:0; min-height:88px; margin:0; padding:18px 20px; border:1px solid #dce4dc; border-radius:12px; background:white; color:#243e34; text-align:left; box-sizing:border-box; gap:16px; }
#ba-booking.ba-checkout .ba-payment-cards button:not(:disabled):hover { border-color:#6d8e7c; background:#f7faf5; box-shadow:0 3px 12px #244f440a; }
#ba-booking.ba-checkout .ba-payment-cards button:disabled { opacity:1; cursor:not-allowed; background:#f6f7f5; color:#8b958e; }
.ba-checkout .ba-pay-content { flex:1; min-width:0; }
.ba-checkout .ba-pay-content strong { display:block; font-size:17px; line-height:1.4; font-weight:600; }
.ba-checkout .ba-pay-content small { display:block; font-size:12px; color:#7b887f; margin-top:5px; line-height:1.5; }
.ba-checkout .ba-pay-arrow { margin-left:auto; color:#85988b; font-size:22px; }
.ba-checkout .ba-pay-logo { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; padding:6px; box-sizing:border-box; border-radius:10px; background:#f2f5f8; }
.ba-checkout .ba-pay-logo svg { width:100%; height:100%; }
.ba-pay-logo.wechat { color:#19ad19; background:#eff9ed; }.ba-pay-logo.wechat svg { fill:currentColor; }.ba-pay-logo.wechat circle { fill:white; }
.ba-pay-logo.alipay { color:#1677ff; background:#eef5ff; }.ba-pay-logo.alipay svg { fill:currentColor; }
.ba-pay-logo.TWD_BANK circle { fill:#e60012; }.ba-pay-logo.TWD_BANK path { fill:white; }
.ba-pay-logo.TNG circle { fill:#1268a8; }.ba-pay-logo.TNG text { fill:white; font:800 15px Arial,sans-serif; }.ba-pay-logo.TNG .tng-yellow,.ba-pay-logo.TNG .tng-red { fill:none; stroke-width:5; stroke-linecap:round; }.ba-pay-logo.TNG .tng-yellow { stroke:#ffd200; }.ba-pay-logo.TNG .tng-red { stroke:#ed1c24; }
.ba-checkout .ba-summary h2 { font-size:19px; margin-bottom:24px; }
.ba-order-reference { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.ba-order-reference>span { min-width:0; overflow-wrap:anywhere; font-size:13px; line-height:1.7; font-family:ui-monospace,monospace; }
#ba-booking.ba-checkout .ba-order-reference button { width:auto; flex-shrink:0; margin:0; padding:4px 8px; background:#f1f5ef; color:#476351; border:0; border-radius:5px; font-size:12px; }
.ba-checkout .ba-summary a { display:block; overflow-wrap:anywhere; font-size:13px; }
.ba-checkout .ba-summary .ba-price { font-size:27px; margin:8px 0 24px; }
@media(max-width:760px) { #ba-booking.ba-checkout { padding-top:24px; }.ba-checkout .ba-layout { grid-template-columns:minmax(0,1fr); }.ba-checkout .ba-summary { position:static; }.ba-checkout .ba-panel,.ba-checkout .ba-summary { padding:22px; }.ba-checkout .ba-panel h1 { font-size:24px; } }
@media(max-width:400px) { #ba-booking.ba-checkout .ba-payment-cards button { padding:16px 12px; gap:12px; }.ba-checkout .ba-pay-content strong { font-size:15px; } }
.ba-checkout-nav { display:flex; gap:24px; align-items:center; margin:0 0 20px; }
.ba-checkout-nav a { color:#476653; text-decoration:none; font-size:14px; font-weight:600; }
.ba-checkout-nav a:hover { text-decoration:underline; }
.ba-order-details { margin:24px 0; }
.ba-order-details>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid #edf0ea; }
.ba-order-details dt { color:#7c8980; font-size:14px; }
.ba-order-details dd { margin:0; overflow-wrap:anywhere; font-size:15px; }
#ba-booking.ba-checkout #ba-payment-details { padding:24px; background:#f7f9f5; border:1px solid #e1e8dc; border-radius:12px; }
#ba-booking.ba-checkout #ba-payment-details p { margin:0 0 16px; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
#ba-booking.ba-checkout #ba-payment-details button,#ba-booking.ba-checkout #ba-check { display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:180px; min-height:44px; height:auto; box-sizing:border-box; margin:8px 0 0; padding:12px 20px; font-size:14px; line-height:20px; border-radius:8px; white-space:nowrap; }
.ba-checkout-actions { display:flex; gap:12px; margin-top:16px; }
@media(max-width:480px) { .ba-order-details>div { grid-template-columns:88px minmax(0,1fr); gap:10px; } #ba-booking.ba-checkout #ba-payment-details { padding:18px; } #ba-booking.ba-checkout #ba-payment-details button,#ba-booking.ba-checkout #ba-check { width:100%; min-width:0; } }

/* Small screens: allow grid contents, translated labels and actions to reflow. */
@media (max-width: 760px) {
  .ba-booking:is([data-stage="search"], [data-stage="services"], [data-stage="customer"]) .ba-summary { display: none; }
  .ba-layout > *, .ba-fields > *, .ba-counts > *, .ba-service-row > * { min-width: 0; }
  .ba-booking input, .ba-booking select, .ba-booking textarea,
  .ba-agent-dialog input, .ba-country-dialog input { min-width: 0; max-width: 100%; font-size: 16px; }
  .ba-steps span { flex-shrink: 0; }
  .ba-booking button, .ba-booking .ba-button { min-height: 44px; width: auto; max-width: 100%; box-sizing: border-box; white-space: normal; }
  .ba-summary button, .ba-check-payment { width: 100%; }
  .ba-service-row { overflow-wrap: anywhere; }
  .ba-actions, .ba-checkout-actions, .ba-checkout-nav { flex-wrap: wrap; }
  .ba-actions > *, .ba-checkout-actions > * { flex: 1 1 130px; text-align: center; }
  .ba-results-header { flex-wrap: wrap; }
  #ba-payment-details img, #ba-payment-details canvas { max-width: 100%; height: auto; }
  .ba-agent-dialog .ba-agent-close, .ba-country-dialog .ba-country-close { width: 44px; height: 44px; min-height: 44px; }
  .ba-country-dialog { max-height: calc(100dvh - 32px); overflow-y: auto; }
  .ba-country-list { max-height: 45dvh; overscroll-behavior-y: contain; }
}
@media (max-width: 480px) {
  .ba-panel, .ba-summary, .ba-checkout .ba-panel, .ba-checkout .ba-summary { padding: 18px; }
  .ba-counts { grid-template-columns: 1fr; }
  .ba-flight-query { flex-wrap: wrap; }
  .ba-flight-query label { flex-basis: 100%; }
  .ba-booking .ba-flight-query button { width: 100%; }
  .ba-review { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ba-review dd { margin-bottom: 12px; }
  .ba-terms { padding: 16px; }
  .ba-order-details > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ba-booking { padding-bottom: max(40px, env(safe-area-inset-bottom)); }
}
