﻿/* Extras, packages, gift cards, wallet, quotes, alerts, vendor portal and chat button (v3.1) */
.bms-extras { display: grid; gap: 10px; margin-bottom: 14px; }
.bms-extra { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid #e4e7ec; border-radius: 12px; cursor: pointer; background: #fff; }
.bms-extra input { margin-top: 4px; }
.bms-extra:hover { border-color: #ff7f00; }
.bms-muted { color: #667085; }
.bms-h3 { font-size: 18px; font-weight: 700; }
.bms-chat { position: fixed; bottom: 22px; inset-inline-end: 22px; width: 56px; height: 56px; border-radius: 50%; background: #25d366; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.2); z-index: 900; }
.bms-chat:hover { transform: scale(1.05); }
.bms-langmenu summary b { font-weight: 600; }
.bms-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.bms-chip { display: inline-block; padding: 8px 14px; border: 1px solid #d0d5dd; border-radius: 999px; background: #fff; cursor: pointer; font-weight: 600; }
.bms-chip input { display: none; }
.bms-chip.is-on, .bms-chip:has(input:checked) { border-color: #ff7f00; background: #fff4e6; }
.bms-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 20px; }
.bms-stat { background: #fff; border: 1px solid #e4e7ec; border-radius: 14px; padding: 16px; }
.bms-stat b { display: block; font-size: 22px; margin-top: 4px; }
.bms-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; }
.bms-table th, .bms-table td { padding: 10px 12px; border-bottom: 1px solid #eef0f3; text-align: start; font-size: 14px; vertical-align: top; }
.bms-table th { background: #f8f9fb; font-weight: 600; }
.bms-table .num { text-align: end; white-space: nowrap; }
.bms-table-wrap { overflow-x: auto; }
.bms-giftcard { background: linear-gradient(135deg, #111b38, #23356b); color: #fff; border-radius: 18px; padding: 24px; min-height: 160px; position: relative; }
.bms-giftcard b { font-size: 30px; display: block; margin-top: 18px; }
.bms-giftcard small { opacity: .8; }
.bms-copy { display: flex; gap: 8px; }
.bms-copy input { flex: 1; direction: ltr; }
.bms-days { list-style: none; padding: 0; margin: 0; }
.bms-days li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px dashed #e4e7ec; }
.bms-days .day { min-width: 64px; font-weight: 700; color: #ff7f00; }
.bms-badge-off { display: inline-block; background: #ff7f00; color: #fff; border-radius: 999px; padding: 2px 10px; font-size: 13px; font-weight: 700; }
.bms-social { display: grid; gap: 10px; margin: 14px 0; }
.bms-social a { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 14px; border-radius: 30px; border: 1px solid #d0d5dd; background: #fff; color: #101828; font-weight: 600; text-decoration: none; }
.bms-social a.apple { background: #000; color: #fff; border-color: #000; }
.bms-or { text-align: center; color: #667085; margin: 10px 0; font-size: 13px; }
.bms-wallet-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.bms-wallet-btns a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 10px; background: #000; color: #fff; text-decoration: none; font-weight: 600; font-size: 14px; }
.bms-alert-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.bms-alert-form .bms-field { margin: 0; }
@media (max-width: 640px) { .bms-chat { bottom: 16px; inset-inline-end: 16px; } }
.bms-vtabs { display: flex; flex-wrap: wrap; gap: 8px; }
.bms-vtab { padding: 8px 16px; border-radius: 999px; border: 1px solid #d0d5dd; background: #fff; color: #101828; text-decoration: none; font-weight: 600; }
.bms-vtab.is-active { background: #111b38; border-color: #111b38; color: #fff; }
.bms-city-links { display: flex; flex-wrap: wrap; gap: 8px; }
.bms-city-links a { padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid #e4e7ec; text-decoration: none; color: #101828; }

/* start times and hotel pickup on the booking form (Views/Booking/Create.cshtml) */
.bms-slots__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; float: none; width: auto; }
.bms-slot { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 96px; padding: 10px 14px; border: 1.5px solid var(--bms-line, #e3e6ec); border-radius: 12px; background: #fff; color: var(--bms-ink, #14203b); cursor: pointer; line-height: 1.25; transition: border-color .15s, background .15s; }
.bms-slot b { font-size: 16px; }
.bms-slot small { font-size: 12px; color: var(--bms-muted, #5f687c); }
.bms-slot small.note { color: #b54708; font-weight: 600; }
.bms-slot:hover:not(:disabled) { border-color: var(--bms-brand, #0a7279); }
.bms-slot.is-on { border-color: var(--bms-ink, #14203b); background: var(--bms-ink, #14203b); color: #fff; }
.bms-slot.is-on small { color: rgba(255, 255, 255, .8); }
.bms-slot:disabled { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.bms-slot:focus-visible { outline: 3px solid var(--bms-ticket, #ffc21a); outline-offset: 2px; }
.bms-pickup { clear: both; display: flow-root; width: 100%; }
.bms-pickup div, .bms-pickup p { float: none; }
.bms-pickup__choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; width: auto; }
.bms-pickup__opt { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--bms-line, #e3e6ec); border-radius: 12px; cursor: pointer; background: #fff; margin: 0; }
.bms-pickup__opt:has(input:checked) { border-color: var(--bms-brand, #0a7279); background: var(--bms-brand-soft, #e1f1f1); }
.bms-pickup__opt input { margin-top: 4px; }
.bms-pickup__opt b { display: block; color: var(--bms-ink, #14203b); }
.bms-pickup__opt small { display: block; color: var(--bms-muted, #5f687c); font-size: 13px; margin-top: 2px; }
.bms-pickup__included { padding: 10px 14px; border-radius: 10px; background: #f4fbf7; color: var(--bms-success, #1a8a55); font-weight: 600; margin: 0 0 12px; }
.bms-pickup__fields[hidden] { display: none; }
@media (max-width: 640px) { .bms-pickup__choice { grid-template-columns: 1fr; } .bms-slot { min-width: calc(50% - 4px); } }

/* ticket options on the booking form */
.bms-options { display: grid; gap: 10px; float: none; width: auto; }
.bms-option, .bms-field .bms-option { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1.5px solid var(--bms-line, #e3e6ec); border-radius: 12px; background: #fff; cursor: pointer; margin: 0; }
.bms-option:has(input:checked) { border-color: var(--bms-brand, #0a7279); background: var(--bms-brand-soft, #e1f1f1); }
.bms-option__body { flex: 1; min-width: 0; }
.bms-option__body b, .bms-option__price b { display: block; color: var(--bms-ink, #14203b); }
.bms-option__body small, .bms-option__price small { display: block; color: var(--bms-muted, #5f687c); font-size: 13px; }
.bms-option__price { text-align: end; white-space: nowrap; }

/* "Change date" on the booking page */
.bms-resched { float: none; width: 100%; }
.bms-resched > summary { list-style: none; cursor: pointer; text-align: center; }
.bms-resched > summary::-webkit-details-marker { display: none; }
.bms-resched form { padding: 16px; border: 1px solid var(--bms-line, #e3e6ec); border-radius: 12px; }

/* vendor portal: confirm / decline */
.bms-ven-confirm { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.bms-ven-confirm input[type=text] { flex: 1 1 140px; min-width: 0; padding: 6px 10px; border: 1px solid #d0d5dd; border-radius: 8px; font-size: 13px; }
.bms-badge { display: inline-block; padding: 2px 9px; border-radius: 30px; font-size: 12px; font-weight: 600; }
.bms-badge--ok { background: #e1f5ea; color: #1a8a55; }
.bms-badge--no { background: #fde8e8; color: #c93c3c; }
.bms-badge--wait { background: #fff4d6; color: #9a6b00; }
.bms-option input[type=radio], .bms-pickup__opt input[type=radio] { width: auto; height: auto; flex: none; margin: 0; float: none; }
.bms-option > span { float: none; }

/* booking messages */
.bms-thread { display: grid; gap: 10px; float: none; width: 100%; clear: both; margin-bottom: 14px; }
.bms-msg { max-width: 85%; padding: 10px 14px; border-radius: 14px; float: none; width: auto; }
.bms-msg.is-me { justify-self: end; background: var(--bms-brand-soft, #e1f1f1); border-bottom-right-radius: 4px; }
.bms-msg.is-them { justify-self: start; background: var(--bms-bg, #f4f5f8); border-bottom-left-radius: 4px; }
.bms-msg__meta { font-size: 12px; color: var(--bms-muted, #5f687c); margin-bottom: 4px; }
.bms-msg__text { white-space: pre-wrap; color: var(--bms-ink, #14203b); }

/* cookie consent banner */
.bms-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; max-width: 720px; margin: 0 auto; display: flex; gap: 16px; align-items: center; padding: 16px 18px; background: #fff; color: var(--bms-ink, #14203b); border-radius: 14px; box-shadow: 0 10px 40px rgba(20, 32, 59, .22); float: none; width: auto; }
.bms-consent[hidden] { display: none; }
.bms-consent__text { flex: 1 1 auto; float: none; width: auto; }
.bms-consent__text p { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: var(--bms-muted, #5f687c); }
.bms-consent__actions { display: flex; gap: 8px; flex: 0 0 auto; float: none; width: auto; }
.bms-consent__actions .bms-btn { white-space: nowrap; }
@media (max-width: 640px) {
    .bms-consent { flex-direction: column; align-items: stretch; left: 10px; right: 10px; bottom: 10px; }
    .bms-consent__actions { justify-content: stretch; }
    .bms-consent__actions .bms-btn { flex: 1 1 0; }
}
.bms-privacy-actions { display: flex; flex-wrap: wrap; gap: 10px; float: none; width: auto; clear: both; }

/* before your trip: guest details and waiver */
.bms-checklist { list-style: none; margin: 8px 0 0; padding: 0; float: none; width: auto; }
.bms-checklist li { float: none; width: auto; padding: 6px 0; font-size: 14px; }
.bms-checklist li.is-done { color: #1d7a46; }
.bms-checklist li.is-todo { color: #b45309; font-weight: 600; }
.bms-guests { float: none; width: auto; clear: both; margin-top: 10px; }
.bms-guest { border: 1px solid var(--bms-line, #e3e6ee); border-radius: 12px; padding: 10px 14px 4px; margin: 0 0 12px; float: none; width: auto; }
.bms-guest legend { font-size: 13px; font-weight: 700; padding: 0 6px; width: auto; border: 0; margin: 0; }
.bms-waiver { max-height: 220px; overflow: auto; white-space: pre-wrap; background: var(--bms-bg, #f4f5f8); border-radius: 10px; padding: 12px 14px; margin: 10px 0; font-size: 13px; line-height: 1.55; float: none; width: auto; }
.bms-check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; margin: 6px 0 10px; float: none; width: auto; }
.bms-check input { margin-top: 3px; }

/* price calendar on the activity page */
.bms-cal { float: none; width: auto; clear: both; border: 1px solid var(--bms-line, #e3e6ee); border-radius: 14px; padding: 14px; background: #fff; }
.bms-cal.is-loading { opacity: .55; }
.bms-cal__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; float: none; width: auto; flex-wrap: wrap; }
.bms-cal__title { flex: 1 1 auto; text-align: center; font-size: 16px; }
.bms-cal__nav { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--bms-line, #e3e6ee); background: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.bms-cal__nav:disabled { opacity: .3; cursor: default; }
[dir="rtl"] .bms-cal__nav { transform: scaleX(-1); }
.bms-cal__guests { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--bms-muted, #5f687c); flex: 0 0 auto; }
.bms-cal__guests select { width: auto; padding: 4px 8px; }
.bms-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; float: none; width: auto; }
.bms-cal__dow { text-align: center; font-size: 12px; color: var(--bms-muted, #5f687c); padding: 4px 0; float: none; width: auto; }
.bms-cal__day, .bms-cal__pad { float: none; width: auto; min-height: 54px; border-radius: 10px; }
.bms-cal__day { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px 2px; text-decoration: none; color: var(--bms-ink, #14203b); background: var(--bms-bg, #f4f5f8); }
.bms-cal__day .n { font-weight: 700; font-size: 14px; }
.bms-cal__day .p { font-size: 12px; color: var(--bms-muted, #5f687c); white-space: nowrap; }
.bms-cal__day .l { font-size: 10px; color: #b45309; }
a.bms-cal__day:hover, a.bms-cal__day:focus { outline: 2px solid var(--bms-brand, #FF7F00); }
.bms-cal__day.is-low { background: #e7f6ec; }
.bms-cal__day.is-low .p { color: #1d7a46; font-weight: 700; }
.bms-cal__day.is-past { background: transparent; color: #c3c8d4; }
.bms-cal__day.is-closed, .bms-cal__day.is-full { background: transparent; color: #c3c8d4; text-decoration: line-through; }
.bms-cal__day.is-closed .p, .bms-cal__day.is-full .p { text-decoration: none; color: #b0b6c3; }
.bms-cal__legend { font-size: 12px; color: var(--bms-muted, #5f687c); margin: 10px 0 0; float: none; width: auto; }
.bms-cal__key { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: middle; }
.bms-cal__key.is-low { background: #e7f6ec; border: 1px solid #1d7a46; }
@media (max-width: 480px) { .bms-cal { padding: 10px; } .bms-cal__day { min-height: 46px; } .bms-cal__day .p { font-size: 10px; } }

/* map view of activities */
.bms-actmap { height: 420px; border-radius: 14px; overflow: hidden; margin: 0 0 20px; float: none; width: auto; clear: both; border: 1px solid var(--bms-line, #e3e6ee); }
.bms-actmap * { float: none; }
.bms-actmap__pop { display: block; width: 180px; text-decoration: none; color: var(--bms-ink, #14203b); }
.bms-actmap__pop img { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 6px; }
.bms-actmap__pop b { display: block; font-size: 13px; line-height: 1.3; }
.bms-actmap__pop small { color: var(--bms-muted, #5f687c); }
@media (max-width: 640px) { .bms-actmap { height: 320px; } }

/* questions and answers */
.bms-qa { float: none; width: auto; display: grid; gap: 8px; }
.bms-qa__item { border: 1px solid var(--bms-line, #e3e6ee); border-radius: 12px; padding: 10px 14px; float: none; width: auto; }
.bms-qa__item summary { cursor: pointer; font-weight: 600; }
.bms-qa__q { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--bms-ink, #14203b); color: #fff; font-size: 12px; margin-inline-end: 6px; }
.bms-qa__q.is-a { background: var(--bms-brand, #FF7F00); flex: 0 0 auto; }
.bms-qa__a { display: flex; gap: 6px; margin-top: 10px; white-space: pre-wrap; float: none; width: auto; }
.bms-qa__form { float: none; width: auto; margin-top: 12px; }
#ask > summary { list-style: none; cursor: pointer; }
#ask > summary::-webkit-details-marker { display: none; }

/* newsletter box in the footer */
.bms-news { margin-top: 14px; float: none; width: auto; }
.bms-news label { display: block; font-size: 13px; margin-bottom: 6px; opacity: .85; }
.bms-news__row { display: flex; gap: 6px; float: none; width: auto; }
.bms-news__row input { flex: 1 1 auto; min-width: 0; padding: 8px 10px; border-radius: 8px; border: 0; }
.bms-news__row .bms-btn { flex: 0 0 auto; padding: 8px 14px; }

/* AI trip assistant */
.bms-ai { position: fixed; bottom: 18px; inset-inline-start: 18px; z-index: 9990; float: none; width: auto; }
.bms-ai__open { border: 0; border-radius: 30px; padding: 12px 18px; background: var(--bms-ink, #14203b); color: #fff; font-weight: 700; box-shadow: 0 8px 24px rgba(20, 32, 59, .3); cursor: pointer; }
.bms-ai__panel { position: absolute; bottom: 58px; inset-inline-start: 0; width: 360px; max-width: calc(100vw - 36px); height: 520px; max-height: calc(100vh - 110px); background: #fff; border-radius: 16px; box-shadow: 0 16px 48px rgba(20, 32, 59, .28); display: flex; flex-direction: column; overflow: hidden; float: none; }
.bms-ai__panel[hidden] { display: none; }
.bms-ai__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--bms-ink, #14203b); color: #fff; float: none; width: auto; }
.bms-ai__close { border: 0; background: none; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.bms-ai__log { flex: 1 1 auto; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; float: none; width: auto; }
.bms-ai__msg { max-width: 88%; padding: 9px 12px; border-radius: 14px; white-space: pre-wrap; font-size: 14px; line-height: 1.45; float: none; width: auto; }
.bms-ai__msg.is-bot { align-self: flex-start; background: var(--bms-bg, #f4f5f8); }
.bms-ai__msg.is-me { align-self: flex-end; background: var(--bms-brand-soft, #e1f1f1); }
.bms-ai__card { display: flex; gap: 8px; align-items: center; margin-top: 8px; padding: 6px; border-radius: 10px; background: #fff; text-decoration: none; color: var(--bms-ink, #14203b); white-space: normal; }
.bms-ai__card img { width: 56px; height: 44px; object-fit: cover; border-radius: 6px; flex: 0 0 auto; }
.bms-ai__card b { display: block; font-size: 13px; }
.bms-ai__card small { color: var(--bms-muted, #5f687c); }
.bms-ai__form { display: flex; gap: 6px; padding: 10px; border-top: 1px solid var(--bms-line, #e3e6ee); float: none; width: auto; }
.bms-ai__form textarea { flex: 1 1 auto; resize: none; min-width: 0; padding: 8px; border-radius: 8px; border: 1px solid var(--bms-line, #e3e6ee); font: inherit; }
.bms-ai__note { font-size: 11px; color: var(--bms-muted, #5f687c); margin: 0; padding: 0 12px 10px; float: none; width: auto; }
@media (max-width: 480px) { .bms-ai__open { padding: 10px 14px; font-size: 13px; } }

/* ---------- activities list: results bar, sorting, view switch, chips, map, pager ---------- */
.bms-results { position: relative; min-width: 0; float: none; width: auto; transition: opacity .2s ease; }
.bms-results * { float: none; }
.bms-listing.is-loading .bms-results { opacity: .45; pointer-events: none; }
.bms-listing.is-loading .bms-results::before { content: ""; position: absolute; inset: -6px 0 auto 0; height: 3px; border-radius: 3px; background: linear-gradient(90deg, transparent, var(--bms-brand, #0A7279), transparent); background-size: 50% 100%; background-repeat: no-repeat; animation: bms-progress 1s linear infinite; z-index: 2; }
@keyframes bms-progress { from { background-position: -50% 0; } to { background-position: 150% 0; } }

.bms-resbar { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; background: #fff; border-radius: 16px; box-shadow: var(--bms-shadow); padding: 10px 12px 10px 18px; margin: 0 0 16px; width: auto; }
[dir="rtl"] .bms-resbar { padding: 10px 18px 10px 12px; }
.bms-resbar__count { margin: 0; color: var(--bms-muted, #5f687c); font-size: 14px; }
.bms-resbar__count b { color: var(--bms-ink, #14203b); }
.bms-resbar__tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; width: auto; }

.bms-sort { display: inline-flex; align-items: center; gap: 4px; background: var(--bms-bg, #f4f5f8); border-radius: 999px; padding: 0 4px 0 16px; height: 40px; width: auto; margin: 0; }
[dir="rtl"] .bms-sort { padding: 0 16px 0 4px; }
.bms-sort__label { margin: 0; font-size: 13px; color: var(--bms-muted, #5f687c); font-weight: 500; white-space: nowrap; }
.bms-sort__select, .bms-toolbar .bms-sort__select { -webkit-appearance: none; appearance: none; min-width: 0; width: auto; height: 36px; border: 0; background: transparent; font: inherit; font-size: 14px; font-weight: 700; color: var(--bms-ink, #14203b); padding: 0 30px 0 6px; cursor: pointer; border-radius: 999px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%235f687c' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
[dir="rtl"] .bms-sort__select { padding: 0 6px 0 30px; background-position: left 10px center; }
.bms-sort__select:focus-visible { outline: 2px solid var(--bms-brand, #0A7279); outline-offset: 2px; }

.bms-viewswitch { display: inline-flex; background: var(--bms-bg, #f4f5f8); border-radius: 999px; padding: 4px; gap: 2px; width: auto; }
.bms-viewswitch__btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--bms-muted, #5f687c); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s, box-shadow .15s; }
.bms-viewswitch__btn:hover { color: var(--bms-ink, #14203b); }
.bms-viewswitch__btn.is-active { background: #fff; color: var(--bms-ink, #14203b); box-shadow: 0 1px 3px rgba(20, 32, 59, .14); }
.bms-viewswitch__btn:focus-visible { outline: 2px solid var(--bms-brand, #0A7279); outline-offset: 1px; }

.bms-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 16px; width: auto; }
.bms-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--bms-line, #e3e6ee); color: var(--bms-ink, #14203b); font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .15s, background .15s; }
[dir="rtl"] .bms-chip { padding: 6px 14px 6px 8px; }
.bms-chip span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--bms-bg, #f4f5f8); color: var(--bms-muted, #5f687c); font-size: 15px; line-height: 1; }
.bms-chip:hover { border-color: var(--bms-brand, #0A7279); }
.bms-chip:hover span { background: var(--bms-brand, #0A7279); color: #fff; }
.bms-chip--clear { background: transparent; border-style: dashed; color: var(--bms-brand, #0A7279); padding: 6px 14px; }

.bms-actmap { height: 460px; border-radius: 16px; overflow: hidden; margin: 0 0 22px; box-shadow: var(--bms-shadow); border: 0; position: relative; background: #e8eef0; animation: bms-fade-in .25s ease; }
.bms-actmap__loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--bms-muted, #5f687c); font-size: 14px; }
@keyframes bms-fade-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.bms-pager { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 38px 0 0; width: auto; }
.bms-pager .bms-pagination { margin: 0; gap: 6px; }
.bms-pager .bms-pagination a, .bms-pager .bms-pagination span { min-width: 42px; height: 42px; border-radius: 12px; font-weight: 700; transition: background .15s, color .15s, transform .15s; }
.bms-pager .bms-pagination a:hover { background: var(--bms-brand-soft, #E1F1F1); color: var(--bms-brand, #0A7279); transform: translateY(-1px); }
.bms-pager .bms-pagination .current { background: var(--bms-brand, #0A7279); color: #fff; box-shadow: 0 6px 16px rgba(10, 114, 121, .3); }
.bms-pager .bms-pagination .gap { background: transparent; box-shadow: none; min-width: 20px; padding: 0; color: var(--bms-muted, #5f687c); }
.bms-pager__step { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 12px; background: #fff; box-shadow: var(--bms-shadow); color: var(--bms-ink, #14203b); font-weight: 700; font-size: 14px; text-decoration: none; transition: background .15s, color .15s; }
a.bms-pager__step:hover { background: var(--bms-brand, #0A7279); color: #fff; }
.bms-pager__step.is-disabled { opacity: .4; box-shadow: none; cursor: default; }
.bms-pager__arrow { font-size: 20px; line-height: 1; display: inline-block; }
[dir="rtl"] .bms-pager__arrow { transform: scaleX(-1); }
.bms-pager__info { flex-basis: 100%; text-align: center; margin: 2px 0 0; color: var(--bms-muted, #5f687c); font-size: 13px; }

@media (max-width: 720px) {
    .bms-resbar { padding: 12px; }
    .bms-resbar__tools { width: 100%; justify-content: space-between; }
    .bms-sort { flex: 1 1 auto; min-width: 0; }
    .bms-sort__select { flex: 1 1 auto; min-width: 0; }
    .bms-actmap { height: 340px; }
}
@media (max-width: 520px) {
    .bms-pager .bms-pagination li.is-far { display: none; }
    .bms-pager__step { padding: 0 12px; }
    .bms-viewswitch__btn { padding: 0 10px; }
}
.bms-actmap[hidden] { display: none !important; }
/* the template gives every ul / li 100% width and a float: keep the pager on one line */
.bms-pager .bms-pagination { display: flex !important; flex-wrap: nowrap; width: auto !important; padding: 0; list-style: none; }
.bms-pager .bms-pagination li { width: auto !important; display: block; margin: 0; padding: 0; float: none; }
.bms-pager .bms-pagination li::before { display: none; }

/* currency menu: never laid out while closed (it widened Arabic pages on phones), and kept inside the screen */
.bms-currency:not([open]) > .bms-currency__menu { display: none !important; }
@media (max-width: 640px) {
    .bms-currency[open] > .bms-currency__menu { position: fixed; top: 64px; left: 12px; right: 12px; min-width: 0; max-width: none; }
}
