/* Explore merchant surfaces: opaque reading areas inside a restrained glass shell. */
.explore-merchant-category { display:flex; align-items:center; gap:6px; min-width:0; margin:0 0 11px; color:var(--merchant-accent,#227e78); font-size:10px; line-height:1.4; font-weight:750; letter-spacing:.035em; }
.explore-merchant-category img { flex:0 0 17px; width:17px; height:17px; }
.explore-merchant-category span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.explore-place-card { position:relative; padding:18px; border:1px solid #dce6e9; border-radius:19px; background:linear-gradient(135deg,#fff 65%,#f2f8f7); box-shadow:0 3px 12px #183d4b06; transition:border-color .18s,box-shadow .18s,background .18s; }
.explore-place-card::before { content:""; position:absolute; inset:20px auto 20px 0; width:3px; border-radius:0 4px 4px 0; background:var(--merchant-accent,#227e78); opacity:.45; }
.explore-place-card:hover,.explore-place-card.is-hovered { border-color:#a5c7c4; box-shadow:0 7px 22px #254b5510; }
.explore-place-card.is-active,.explore-place-card.is-scroll-focused { border-color:var(--merchant-accent,#227e78); background:linear-gradient(135deg,#fff,#eef8f5); box-shadow:0 0 0 2px #287d7914,0 9px 25px #183d4b0d; }
.explore-place-card:is(.is-active,.is-scroll-focused)::before { opacity:1; }
.explore-merchant-heading { grid-template-columns:48px minmax(0,1fr) auto; gap:10px; }
.explore-merchant-thumb { width:48px; height:48px; border-radius:13px; background:#fff; box-shadow:0 3px 9px #203e4810; }
.explore-merchant-name h3 { font-size:15px; line-height:1.45; letter-spacing:-.015em; }
.explore-merchant-distance { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:8px; font-size:11px; font-weight:700; color:#246f67; font-variant-numeric:tabular-nums; }
.explore-merchant-heading .explore-heart-btn { width:34px; min-width:34px; height:34px; border-radius:50%; background:#fff; }
.explore-merchant-facts { margin-top:15px; padding:12px; border:1px solid #e7edef; border-radius:12px; background:#f5f8fa; gap:8px; }
.explore-merchant-facts p { font-size:12px; line-height:1.5; color:#465c69; }
.explore-merchant-facts p:first-child i { color:#237c72; }
.explore-merchant-address span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.explore-place-tags { gap:5px; margin-top:10px; }
.explore-place-tags > span { padding:4px 7px; border-radius:6px; background:#edf2f4; color:#51636c; font-size:10px; line-height:1.4; }
.explore-place-tags.is-rec > span { background:#fff5e6; color:#805f2c; }
.explore-offers { border-radius:12px; border:1px solid #efdccc; background:#fffaf3; }
.explore-offer-label { letter-spacing:.025em; }
.explore-place-card:focus-visible,.explore-preview :is(button,a,select):focus-visible { outline:3px solid #318eaa; outline-offset:3px; }

.explore-preview { display:flex; flex-direction:column; width:370px; overflow:hidden; border-radius:24px; border:1px solid #ffffffdc; background:linear-gradient(145deg,#f7fffff2,#e7f2f2e6); box-shadow:0 25px 70px #102f4560,inset 0 1px 0 #fff; backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); }
#explorePreviewContent { flex:1 1 auto; min-height:0; max-height:min(760px,calc(100dvh - 170px)); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#91b5bc transparent; }
.explore-preview .explore-map-popup { padding:20px; background:transparent; overflow:visible; }
.explore-preview-close { z-index:5; top:12px; right:12px; width:38px; height:38px; border:1px solid #ffffffbd; color:#274450; background:#f6fbfbeb; box-shadow:0 3px 16px #122e4325; }
.explore-preview .explore-gallery { margin:-20px -20px 18px; border-radius:23px 23px 14px 14px; border-bottom:1px solid #fff9; }
.explore-preview .explore-gallery-track > img,.explore-preview .explore-gallery-track > .explore-image-fallback { height:200px; }
.explore-preview .explore-gallery-controls { position:absolute; inset:auto 12px 10px auto; gap:10px; padding:4px; border:1px solid #ffffff7a; border-radius:12px; background:#173342ce; backdrop-filter:blur(10px); }
.explore-preview .explore-gallery-controls button { width:32px; height:32px; background:#ffffff15; border-color:#ffffff30; color:#fff; }
.explore-preview .explore-gallery-counter { color:#fff; min-width:34px; text-align:center; }
.explore-preview .explore-merchant-category { width:fit-content; max-width:calc(100% - 40px); margin-bottom:12px; padding:5px 8px; border:1px solid #d8e5e7; border-radius:8px; background:#ffffffcf; }
.explore-preview .explore-map-popup-head { gap:11px; margin-bottom:16px; padding-right:0; }
.explore-preview .explore-map-popup-head img { width:46px; height:46px; border-radius:13px; padding:4px; }
.explore-preview .explore-map-popup-head h4 { font-size:19px; line-height:1.35; letter-spacing:-.025em; color:#193d4b; margin-bottom:8px; overflow-wrap:anywhere; }
.explore-preview .explore-map-popup-head span { background:#dceeea; color:#20695f; border:1px solid #c8e3db; font-size:11px; }
.explore-preview .explore-map-popup > p:not(.explore-route-budget-note) { display:flex; align-items:baseline; gap:9px; margin:0 0 8px; padding:12px; border:1px solid #dce7e9; border-radius:12px; background:#ffffffc9; color:#385563; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.explore-preview .explore-map-popup > p > i { flex:0 0 16px; color:#3c8b90; font-size:13px; }
.explore-preview .explore-map-popup-badge { display:inline-flex; gap:6px; padding:7px 10px; border:1px solid #c9dfea; background:#e9f4fb; color:#366981; font-size:11px; border-radius:9px; }
.explore-preview .explore-map-popup-promo { padding:12px; border:1px solid #ebd9bb; border-radius:12px; background:#fff8ea; color:#805f30; }
.explore-preview .explore-popup-actions { position:sticky; bottom:0; z-index:3; margin:16px -20px -20px; padding:14px 20px 12px; border-top:1px solid #c6dddd; background:#f0f8f7f5; box-shadow:0 -9px 20px #25434d08; backdrop-filter:blur(12px); }
.explore-preview .explore-popup-actions :is(button,a) { min-height:44px; border-radius:11px; }
.explore-preview .explore-details-action { background:linear-gradient(130deg,#ed6970,#db4d67); box-shadow:0 4px 12px #db4d6720; }
.explore-preview .explore-route-start { border:1px solid #afd0cc; background:#deefeb; color:#216960; }
.explore-preview .explore-directions { color:#496775; }
.explore-preview .explore-route-planner { padding:12px; border-radius:14px; border:1px solid #bfd8db; background:#f7fbfbd9; }
.explore-preview .has-route-planner > p:not(.explore-route-budget-note) { display:none; }
.explore-preview .explore-route-status { padding:10px; border-radius:9px; background:#e0eeef; color:#254e59; font-variant-numeric:tabular-nums; }
[data-map-theme="dark"] .explore-preview { background:linear-gradient(145deg,#254d5bea,#132c3af2); border-color:#8fb9c35c; box-shadow:0 25px 80px #06182299,inset 0 1px 0 #c2eef326; }
[data-map-theme="dark"] .explore-preview .explore-map-popup-head h4 { color:#f1f8fa; }
[data-map-theme="dark"] .explore-preview .explore-map-popup > p:not(.explore-route-budget-note) { background:#244452e8; border-color:#84adb533; color:#d9e9ed; }
[data-map-theme="dark"] .explore-preview .explore-map-popup > p > i { color:#8ed2ce; }
[data-map-theme="dark"] .explore-preview .explore-popup-actions { background:#193542f5; border-color:#769da646; }
[data-map-theme="dark"] .explore-preview .explore-directions { color:#d6e9ed; }
[data-map-theme="dark"] .explore-preview .explore-route-budget-note { color:#efb9c4; }
[data-map-theme="dark"] .explore-place-choices h3 { color:#eef8fb; }
@media(max-width:1199px) and (min-width:992px) { .explore-preview { width:330px; } }
@media(max-width:991px) {
    .explore-preview { width:auto; background:#f0f7f7f7; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
    #explorePreviewContent { flex:1 1 auto; min-height:0; max-height:calc(100dvh - 265px); }
    .explore-preview .explore-map-popup { padding:18px; }
    .explore-preview .explore-gallery { margin:-18px -18px 16px; }
    .explore-preview .explore-gallery-track > img,.explore-preview .explore-gallery-track > .explore-image-fallback { height:165px; }
    .explore-preview .explore-popup-actions { margin:16px -18px -18px; padding:12px 18px; }
    .explore-merchant-facts p { font-size:13px; }
    .explore-preview .explore-map-popup-head h4 { font-size:18px; }
    .explore-gallery-controls button { min-width:36px; min-height:36px; }
}
@media(prefers-reduced-motion:reduce) { .explore-place-card { transition:none; } }
@media(prefers-reduced-transparency:reduce) { .explore-preview { background:#f0f7f7; backdrop-filter:none; } [data-map-theme="dark"] .explore-preview { background:#193442; } }
@media(max-width:991px) {
    /* Keep the merchant close control clear of the floating services launcher. */
    .explore-map-page:has(.explore-preview:not([hidden])) #exploreTravelServicesButton { visibility:hidden; }
}

.explore-results-status { display:grid; gap:3px; flex-shrink:0; margin:-4px 2px 12px; padding:10px 12px; border:1px solid #dce8e9; border-radius:11px; background:#ffffffc9; color:#526975; font-size:11px; line-height:1.45; }
.explore-results-status strong { font-size:12px; color:#285d60; font-weight:650; }
.explore-results-status .explore-results-origin { font-size:10px; color:#607682; }
.explore-results-status.has-error { border-color:#e1bc94; background:#fff9f0; }
.explore-results-status [hidden] { display:none; }
.explore-search-area { max-width:calc(100% - 32px); min-height:44px; padding:8px 16px; border-radius:24px; border:1px solid #dce8e9; box-shadow:0 3px 12px #132b4020; font-size:14px; line-height:20px; white-space:nowrap; text-align:center; }
/* Temporarily hide area search on desktop and mobile; retain its logic for restoration. */
.explore-search-area { display:none; }
.explore-search-area:disabled { opacity:.65; cursor:wait; }
.explore-load-more-hint button { width:100%; min-height:44px; padding:10px 15px; border:1px solid #b8d5d1; border-radius:12px; background:#edf7f4; color:#246b63; font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
.explore-load-more-hint button:disabled { opacity:.6; cursor:wait; }
@media(max-width:991px) { .explore-results-status { margin:0 0 10px; padding:8px 11px; } }

/* One result toolbar; explanatory copy is available on demand. */
    .explore-results-header { position:relative; gap:8px; padding:2px 0 6px; min-height:48px; }
    .explore-results-header > div { display:none; }
    .explore-compact-results { display:block; flex:1; min-width:0; }
    .explore-compact-results summary { display:flex; align-items:center; width:fit-content; max-width:100%; min-height:44px; padding:5px 8px 5px 2px; list-style:none; color:#285d60; font-size:13px; font-weight:700; cursor:pointer; }
    .explore-compact-results summary::-webkit-details-marker { display:none; }
    .explore-compact-results summary:focus-visible { outline:2px solid #318eaa; outline-offset:2px; border-radius:5px; }
    .explore-compact-results p { position:absolute; top:calc(100% - 2px); inset-inline:0; z-index:8; margin:0; padding:13px; border:1px solid #c9dedd; border-radius:12px; background:#f7fcfc; color:#365a67; box-shadow:0 8px 24px #173d4926; font-size:12px; line-height:1.6; }
    .explore-results-status:not(.has-error) { display:none; }
    .explore-results-status.has-error { margin:0 0 8px; padding:6px 9px; }
    .explore-results-status.has-error strong { display:none; }
@media(max-width:991px) {
    .explore-place-card { padding:13px; margin-bottom:10px; border-radius:16px; }
    .explore-place-card::before { top:15px; bottom:15px; }
    .explore-place-card .explore-merchant-category { margin-bottom:7px; font-size:10px; }
    .explore-merchant-heading { grid-template-columns:42px minmax(0,1fr) auto; gap:8px; }
    .explore-merchant-thumb { width:42px; height:42px; padding:3px; border-radius:10px; }
    .explore-merchant-name h3 { font-size:14px; line-height:1.4; }
    .explore-merchant-distance { margin-top:5px; font-size:11px; }
    .explore-merchant-heading .explore-heart-btn { width:auto; min-width:44px; height:44px; }
    .explore-merchant-facts { margin-top:9px; padding:9px; gap:5px; }
    .explore-merchant-facts p { font-size:12px; line-height:1.45; }
    .explore-place-tags { margin-top:7px; gap:4px; }
    .explore-place-tags > span { padding:3px 6px; }
    .explore-place-tags.is-rec { margin-top:5px; }
}

.explore-results-tools { flex-shrink:0; min-width:0; }
@media(min-width:992px) {
    .explore-map-sidebar { padding:16px; }
    .explore-map-sidebar-header { margin-bottom:10px; }
    .explore-compact-controls { padding:9px 10px; margin-bottom:0; gap:8px; box-shadow:none; }
    .explore-compact-location { min-width:0; flex:1; }
    .explore-compact-location > span { font-size:10px; margin-bottom:3px; }
    .explore-location-main { display:flex; flex-direction:row; align-items:center; gap:5px; }
    .explore-location-main > #exploreLocationText { flex:1; min-width:0; margin:0; font-size:14px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .explore-location-main .explore-location-name { flex:0 0 30px; width:30px; min-height:32px; padding:0; margin:0; justify-content:center; border:0; background:transparent; box-shadow:none; }
    .explore-map-sidebar .explore-location-main .explore-location-name .explore-location-sub { display:none !important; }
    .explore-compact-actions { gap:5px; }
    .explore-compact-btn { width:32px; height:32px; }
    .explore-quick-categories { padding-top:10px; padding-bottom:5px; }
    .explore-quick-categories button { min-height:40px; }
    .explore-category-art { width:32px; height:32px; flex-basis:32px; }
    .explore-results-tools { display:grid; grid-template-columns:minmax(70px,1fr) auto; gap:0 8px; align-items:center; padding:4px 0 7px; margin-bottom:4px; border-bottom:1px solid #dbe6e9; }
    .explore-results-tools .explore-filter-summary { min-width:0; margin:0; }
    .explore-filter-open { min-height:40px; padding:4px 8px; gap:5px; border-radius:9px; background:#eef4f5; border:1px solid #dae6e7; box-shadow:none; }
    .explore-filter-open > div { min-width:0; }
    .explore-filter-open > div > span { display:block; font-size:9px; line-height:1.1; margin:0 0 2px; color:#536c76; font-weight:600; }
    .explore-filter-open #exploreFilterSummaryText { max-width:100%; margin:0; font-size:11px; font-weight:650; }
    .explore-filter-open > i { font-size:12px; flex-shrink:0; }
    .explore-results-header { padding:0; min-height:40px; gap:6px; }
    .explore-compact-results summary { min-height:40px; font-size:12px; padding-inline:0; }
    .explore-compact-results p { inset-inline-start:auto; inset-inline-end:0; width:310px; max-width:calc(100vw - 70px); }
    .explore-results-status { grid-column:1/-1; }
    .explore-results-header .explore-reset-btn { min-height:36px; padding:6px 9px; font-size:11px; }
}
@media(min-width:992px) and (max-height:800px) {
    .explore-map-sidebar { top:12px; bottom:12px; padding:12px 14px; border-radius:21px; }
    .explore-map-sidebar-header { margin-bottom:7px; }
    .explore-compact-controls { padding:7px 9px; }
    .explore-quick-categories { padding-top:7px; }
    .explore-place-card { padding:13px; margin-bottom:10px; }
    .explore-place-card .explore-merchant-category { margin-bottom:7px; }
    .explore-merchant-facts { margin-top:9px; padding:9px; gap:5px; }
    .explore-merchant-name h3 { font-size:14px; }
    .explore-place-tags { margin-top:7px; }
}

/* Practical filters live in the existing panel, keeping the listing viewport intact. */
.explore-practical-filters { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 12px; align-items:center; }
.explore-practical-filters > label { margin:0; font-size:13px; font-weight:650; }
.explore-practical-filters select { min-height:44px; width:100%; padding:8px; border:1px solid #d2e1e5; border-radius:10px; background:#f5fafb; color:#203d48; font-size:13px; }
.explore-practical-filters .explore-offers-toggle { grid-column:1/-1; display:flex; align-items:center; gap:9px; min-height:44px; cursor:pointer; }
.explore-offers-toggle input { width:18px; height:18px; accent-color:#227e78; }
.explore-place-choices > p { margin:-10px 0 15px; color:#56717b; font-size:12px; line-height:1.5; }
.explore-place-choices button { grid-template-columns:minmax(0,1fr) auto 12px; border-inline-start:3px solid var(--merchant-accent); min-height:76px; }
.explore-choice-info { min-width:0; }
.explore-choice-info > strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4; font-size:14px; }
.explore-choice-info .explore-merchant-category { margin:5px 0 0; font-size:11px; }
.explore-choice-distance { font-size:12px; font-weight:700; white-space:nowrap; }
.explore-place-choices button:focus-visible { outline:3px solid #227e78; outline-offset:2px; }
[data-map-theme="dark"] .explore-place-choices > p { color:#b6cbd3; }
[data-map-theme="dark"] .explore-place-choices button { background:#203c49; color:#eef8fb; border-color:#45616c; border-inline-start-color:var(--merchant-accent); }
@media(max-width:991px) { .explore-place-choices { padding:18px 14px 12px; } }

.explore-map-space-button,.explore-sheet-handle > strong,.explore-preview-expand { display:none; }
@media(max-width:991px) {
    .explore-map-space-button { display:block; min-height:44px; padding:0 12px; border:1px solid #c7dcdf; border-radius:12px; background:#e4f0f0; color:#235b61; font-size:12px; font-weight:700; }
    .explore-map-sidebar[data-sheet="collapsed"] { height:calc(52px + env(safe-area-inset-bottom)); }
    .explore-map-sidebar[data-sheet="collapsed"] :is(.explore-results-tools,.explore-listing) { display:none; }
    .explore-map-sidebar[data-sheet="collapsed"] .explore-sheet-handle { min-height:52px; height:52px; gap:12px; }
    .explore-map-sidebar[data-sheet="collapsed"] .explore-sheet-handle > strong { display:block; color:#235b61; font-size:13px; }
    .explore-map-page:has(.explore-map-sidebar[data-sheet="collapsed"]) .explore-mobile-toolbar .explore-quick-categories { display:none; }
    .explore-map-page:has(.explore-map-sidebar[data-sheet="collapsed"]) .explore-search-area { top:115px; }
    .explore-map-page:has(.explore-map-sidebar[data-sheet="collapsed"]) .explore-map-floating-card { display:none; }
    .explore-map-page:has(.explore-map-sidebar[data-sheet="collapsed"]) .mapboxgl-ctrl-bottom-right { bottom:calc(64px + env(safe-area-inset-bottom)); }
    .explore-preview { bottom:calc(62px + env(safe-area-inset-bottom)); max-height:calc(100% - 170px); }
    #explorePreviewContent { max-height:none; }
    .explore-preview-expand { display:block; min-height:44px; padding:10px; border:1px solid #bad6db; background:#e2f0f1; color:#205b65; font-weight:700; }
    .explore-preview[data-size="summary"] .explore-map-popup > :is(.explore-gallery,p,.explore-map-popup-badge,.explore-map-popup-promo) { display:none; }
    .explore-preview[data-size="summary"] :is(.explore-details-action,.explore-directions,.explore-map-popup-followers) { display:none; }
    .explore-preview[data-size="summary"] .explore-map-popup-head h4 { font-size:16px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .explore-preview[data-size="summary"] .explore-map-popup-head { margin-bottom:0; }
    .explore-preview[data-size="summary"] .explore-popup-actions { margin-top:12px; }
    .explore-preview[data-size="full"] .explore-preview-expand { grid-column:1/-1; }
    .explore-preview .has-route-planner .explore-preview-expand { display:none; }
    .explore-map-page:has(.explore-preview:not([hidden])) .mapboxgl-ctrl-bottom-right { display:none; }
}

.explore-merchant-history { flex:0 0 auto; display:flex; gap:6px; padding:10px 56px 8px 12px; border-bottom:1px solid #c8dcdf; }
.explore-merchant-history[hidden] { display:none; }
.explore-merchant-history button { display:flex; align-items:center; gap:6px; min-width:0; flex:1; min-height:44px; padding:6px 8px; border:1px solid #c8dcdf; border-radius:10px; background:#f5fafae8; color:#235b61; font-size:11px; text-align:start; }
.explore-merchant-history button span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.explore-merchant-history button:disabled { opacity:.45; }
[data-map-theme="dark"] .explore-merchant-history { border-color:#456470; }
[data-map-theme="dark"] .explore-merchant-history button { background:#244452; border-color:#456470; color:#e5f2f4; }
/* Keep the summary toggle mobile-only despite the shared action-button styles. */
.explore-preview .explore-popup-actions .explore-preview-expand { display:none; }
@media(max-width:991px) {
    .explore-preview .explore-popup-actions .explore-preview-expand { display:block; }
    .explore-preview .has-route-planner .explore-popup-actions .explore-preview-expand { display:none; }
}

.explore-share-dialog { max-width:min(420px,calc(100vw - 32px)); border:1px solid #d4e5e8; border-radius:20px; padding:22px; color:#234b57; box-shadow:0 20px 65px #183d4b40; }
.explore-share-dialog::backdrop { background:#17344065; backdrop-filter:blur(4px); }
.explore-share-dialog h3 { font-size:18px; }
.explore-share-dialog p { font-size:13px; line-height:1.6; }
.explore-share-dialog input { width:100%; min-height:44px; border:1px solid #aecdd1; border-radius:9px; padding:8px; font-size:13px; }
.explore-share-dialog button { min-height:44px; margin-top:14px; border:0; border-radius:10px; padding:8px 20px; background:#227e78; color:white; }
.explore-preview .explore-map-popup-head .explore-popup-heart { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:4px; min-width:40px; min-height:28px; height:28px; margin:0 0 0 6px; padding:3px 7px; border:1px solid #eed7dd; border-radius:14px; background:#fff8fa; color:#dc3157; vertical-align:middle; line-height:1; }
.explore-preview .explore-popup-heart .fa-heart { color:#dc3157; font-size:13px; }
.explore-popup-heart::after { content:""; position:absolute; inset:-8px -2px; }
.explore-preview .explore-map-popup-head .explore-popup-heart span { background:none; border:0; padding:0; color:#ae2444; }
.explore-pin-heading { position:absolute; bottom:100%; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:4px; padding:4px 7px; background:#fff; color:#14635c; border:1px solid #64bdb0; border-radius:9px; white-space:nowrap; font:700 11px sans-serif; pointer-events:none; }
.explore-pin-heading[hidden] { display:none; }
.explore-pin-heading b { display:inline-block; }
@media(max-width:991px) {
    .explore-map-main .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl:has(#exploreRecenter) { position:absolute; right:0; bottom:48px; }
    .explore-map-main .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl:has(#exploreCompass) { position:absolute; right:48px; bottom:48px; }
}

.explore-watch-video { cursor:pointer; min-height:36px; font:inherit; }
.explore-video-dialog { width:min(760px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:16px; border:1px solid #d3e5e8; border-radius:18px; background:#102e3a; color:#eef8fa; overflow:auto; }
.explore-video-dialog::backdrop { background:#071a29bb; }
.explore-video-head { display:flex; align-items:center; gap:12px; justify-content:space-between; margin-bottom:12px; }
.explore-video-head h3 { font-size:16px; margin:0; overflow-wrap:anywhere; }
.explore-video-head button { flex:0 0 44px; height:44px; border:0; border-radius:50%; background:#ffffff20; color:white; font-size:24px; }
.explore-video-player :is(iframe,video) { display:block; width:100%; aspect-ratio:16/9; max-height:65dvh; border:0; background:#000; }
.explore-video-original { display:inline-flex; align-items:center; min-height:44px; color:#bde9ef; font-size:13px; }
.explore-route-options-toggle,.explore-route-mobile-title { display:none; }
@media(max-width:991px) {
    .explore-preview[data-size="summary"] .explore-map-popup > .explore-watch-video { display:inline-flex; margin-top:8px; min-height:44px; }
    .explore-preview[data-size="full"] .explore-popup-actions .explore-preview-expand { grid-column:auto; }
    .explore-preview .explore-popup-actions .explore-directions { grid-column:auto; margin:0; min-height:44px; font-size:12px; }
    .explore-preview:has(.has-route-planner) .explore-merchant-history { display:none; }
    .explore-preview .has-route-planner { padding:12px; }
    .explore-preview .has-route-planner > :is(.explore-map-popup-head,.explore-merchant-category,.explore-popup-actions,.explore-watch-video) { display:none; }
    .explore-preview .has-route-planner .explore-route-planner { padding:0; border:0; background:none; }
    .explore-route-mobile-title { display:block; margin:0 38px 6px 0; font-size:14px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .explore-preview .has-route-planner .explore-route-back,.explore-route-options-toggle { display:inline-flex; align-items:center; min-height:44px; margin:0 5px 0 0; padding:6px 9px; border:1px solid #c7dfe2; border-radius:9px; background:#edf6f7; color:#285f66; font-size:12px; }
    .explore-preview .has-route-planner:not(.route-options-open) :is(.explore-route-endpoint-key,.explore-route-controls) { display:none; }
    .explore-preview .has-route-planner .explore-route-status { margin:6px 0 0; padding:8px; font-size:13px; }
    .explore-preview .has-route-planner .explore-route-budget-note:empty { display:none; }
}
.explore-video-head h3 { color:inherit; }
.explore-video-player iframe { min-height:200px; }

/* Keep category ordering visible beside the scrolling chips, including on mobile. */
.explore-category-toolbar { display:flex; align-items:center; gap:8px; min-width:0; flex-shrink:0; }
.explore-category-toolbar .explore-quick-categories { flex:1; min-width:0; }
.explore-category-order-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:44px; border-radius:10px; color:#536170; font-size:16px; }
.explore-category-order-icon:hover { background:#edf2f6; }
.explore-category-order-icon:focus-within { outline:2px solid #227e78; outline-offset:2px; }
.explore-category-order-icon i { pointer-events:none; }
/* Preserve the native mobile picker and keyboard selection behind the compact icon. */
.explore-category-order { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; font-size:16px; cursor:pointer; }
.explore-category-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.explore-category-heading h3 { margin-bottom:0; }
@media (max-width:991px) {
    .explore-map-page:has(.explore-map-sidebar[data-sheet="collapsed"]) .explore-mobile-toolbar .explore-category-toolbar { display:none; }
}
