﻿.tcu-map-discovery-page{display:grid;gap:14px;overflow-x:hidden;padding:10px 0 0}
.tcu-map-topbar{background:linear-gradient(180deg,#f8fbfd 0%,#f2f7fb 100%);border:1px solid #d7e4ee;border-radius:18px;padding:16px 16px 14px;box-shadow:0 8px 24px rgba(14,35,52,.06)}
.tcu-map-kicker{margin:0 0 6px;color:#0f7a5e;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tcu-map-topbar h1{margin:0 0 6px;font-size:clamp(24px,2.8vw,34px);line-height:1.1;letter-spacing:-.02em}
.tcu-map-subtitle{margin:0;color:#51697b;font-size:14px;line-height:1.5}
.tcu-map-shell{background:#fff;border:1px solid #d9e4ec;border-radius:16px;padding:10px;box-shadow:0 6px 20px rgba(13,34,50,.05)}
.tcu-map-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(120px,1fr)) auto auto;gap:8px;align-items:center}
.tcu-map-filter-item{min-width:0}
.tcu-map-filters input,.tcu-map-filters select,.tcu-map-nearby-btn{min-height:44px;border:1px solid #cfd9e6;border-radius:12px;padding:0 12px;background:#fff;color:#173649;font-weight:600}
.tcu-map-filters input:focus,.tcu-map-filters select:focus,.tcu-map-nearby-btn:focus{outline:none;border-color:#0f7a5e;box-shadow:0 0 0 3px rgba(15,122,94,.14)}
.tcu-map-filter-item-search input{background:#f8fbfd}
.tcu-map-toggle-pill{display:inline-flex;gap:7px;align-items:center;min-height:44px;padding:0 12px;border:1px solid #d8e2ee;border-radius:999px;background:#f9fcff;font-size:13px;font-weight:700;color:#2a4759;white-space:nowrap}
.tcu-map-toggle-pill input{accent-color:#0f7a5e}
.tcu-map-toggle-pill{position:relative;cursor:pointer}
.tcu-map-toggle-pill .tcu-map-toggle-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tcu-map-toggle-control{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid #b9c9d6;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px #fff}
.tcu-map-toggle-control::after{content:"";width:8px;height:8px;border-radius:999px;background:#0f7a5e;opacity:0;transform:scale(.65);transition:opacity .15s ease,transform .15s ease}
.tcu-map-toggle-pill.is-active,.tcu-map-toggle-pill:has(.tcu-map-toggle-input:checked){border-color:#0f7a5e;background:#edf8f4;color:#0b5f49}
.tcu-map-toggle-pill.is-active .tcu-map-toggle-control,.tcu-map-toggle-pill:has(.tcu-map-toggle-input:checked) .tcu-map-toggle-control{border-color:#0f7a5e}
.tcu-map-toggle-pill.is-active .tcu-map-toggle-control::after,.tcu-map-toggle-pill:has(.tcu-map-toggle-input:checked) .tcu-map-toggle-control::after{opacity:1;transform:scale(1)}
.tcu-map-toggle-input:focus-visible+.tcu-map-toggle-control{outline:2px solid rgba(15,122,94,.32);outline-offset:2px}
.tcu-map-nearby-btn{cursor:pointer;font-weight:800;background:#f4faf8}
.tcu-map-nearby-btn.is-active{background:#0f7a5e;color:#fff;border-color:#0f7a5e}
.tcu-map-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.tcu-map-chip{min-height:32px;padding:0 11px;border:1px solid #d4dfeb;border-radius:999px;background:#fff;color:#244357;font-size:12px;font-weight:700;cursor:pointer}
.tcu-map-chip.is-active{background:#0f7a5e;border-color:#0f7a5e;color:#fff}
.tcu-map-mobile-toggle{display:none;margin:8px 0 0;gap:8px;padding:4px;background:#f2f6fa;border-radius:999px;position:sticky;top:10px;z-index:5}
.tcu-map-mobile-toggle button{min-height:44px;padding:8px 14px;border:1px solid transparent;background:transparent;border-radius:999px;font-weight:800;color:#375466;flex:1}
.tcu-map-mobile-toggle .is-active{background:#c53126;color:#fff;border-color:#c53126;box-shadow:0 4px 14px rgba(197,49,38,.24)}
.tcu-map-layout{display:grid;grid-template-columns:minmax(320px,38%) 1fr;gap:12px;min-height:72vh}
.tcu-map-list{overflow:auto;border:1px solid #d9dde5;border-radius:14px;padding:10px;background:#fff;min-height:72vh}
.tcu-map-canvas{min-height:72vh;border-radius:14px;overflow:hidden;border:1px solid #d9dde5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.tcu-map-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px;border:1px solid #e8edf3;border-radius:12px;color:inherit;text-decoration:none;background:#fff;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}
.tcu-map-card:hover{border-color:#c7d6e7;box-shadow:0 4px 14px rgba(20,47,64,.08)}
.tcu-map-card.is-active{border-color:#0f7a5e;box-shadow:0 0 0 2px rgba(15,122,94,.18)}
.tcu-map-card-thumb img{width:100%;height:100%;min-height:96px;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.tcu-map-card-thumb-placeholder{display:grid;place-items:center;height:96px;background:#eef3f7;color:#496375;border-radius:9px;font-weight:700}
.tcu-map-card-body h3{margin:0 0 4px;font-size:15px;line-height:1.22}
.tcu-map-card-body h3 a{text-decoration:none;color:#132f40}
.tcu-map-card-meta{margin:0 0 4px;color:#607788;font-size:12px}
.tcu-map-card-stats{margin:0 0 6px;color:#385165;font-size:12px;font-weight:600}
.tcu-map-card-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tcu-map-verified,.tcu-map-badge,.tcu-map-distance{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800}
.tcu-map-verified{background:#edf8f4;color:#0c6f55}
.tcu-map-badge{background:#edf2f7;color:#334d62}
.tcu-map-distance{background:#fff5ea;color:#8f4a08}
.tcu-map-card-cta{display:inline-flex;align-items:center;min-height:31px;padding:0 10px;border-radius:999px;border:1px solid #d3dfeb;color:#143447;text-decoration:none;font-weight:800;font-size:12px}
.tcu-map-card-actions{display:flex;gap:6px;flex-wrap:wrap}
.tcu-map-card-cta.secondary{background:#f7fbff}
.tcu-map-card-cta.tertiary{background:#fff}
.tcu-map-marker-wrap{background:transparent;border:0}
.tcu-map-marker{display:flex;align-items:center;gap:4px;min-width:44px;max-width:74px;height:26px;padding:0 7px;border-radius:999px;background:var(--m,#375466);color:#fff;font-size:11px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.tcu-map-marker .r{line-height:1}
.tcu-map-marker .v{line-height:1;opacity:.95;font-size:10px}
.leaflet-popup.tcu-map-popup .leaflet-popup-content{margin:10px}
.leaflet-popup.tcu-map-popup .tcu-map-card{grid-template-columns:96px minmax(170px,1fr);min-width:260px;max-width:320px;border:0;margin:0;padding:0;background:transparent}
.leaflet-popup.tcu-map-popup .tcu-map-card-thumb img{height:96px;min-height:96px}
.leaflet-popup.tcu-map-popup .tcu-map-card-body h3 a{display:block;word-break:break-word}
.tcu-map-empty{margin:0;padding:12px;color:#516a7d}
.tcu-map-status{margin:2px 0 0;padding:10px 11px;border-radius:12px;border:1px solid #d9dde5;background:#f7fafc;color:#274255}
.tcu-map-status.is-loading{background:#f3f8ff;border-color:#cdddf8}
.tcu-map-status.is-error{background:#fff5f5;border-color:#f2c8c8;color:#912525}
.tcu-map-status.is-empty{background:#f8fafb;border-color:#d8e3eb;color:#4c6476}
.tcu-map-status.is-ok{background:#edf8f4;border-color:#c9e8dd;color:#145c48}
.tcu-map-bottom-sheet{display:none}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(15,122,94,.18)!important;border-radius:999px;box-shadow:0 6px 16px rgba(15,122,94,.2)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#0f7a5e!important;color:#fff!important;font-weight:800;font-size:12px}
.leaflet-marker-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}

@media (max-width:980px){
  .tcu-map-discovery-page{gap:10px;padding-top:4px}
  .tcu-map-topbar{padding:12px}
  .tcu-map-subtitle{font-size:13px}
  .tcu-map-shell{padding:8px}
  .tcu-map-filters{grid-template-columns:1fr 1fr;gap:7px}
  .tcu-map-layout{grid-template-columns:1fr;min-height:62vh}
  .tcu-map-list,.tcu-map-canvas{min-height:62vh}
  .tcu-map-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .tcu-map-mobile-toggle{display:flex}
  .tcu-map-layout[data-view="map"] .tcu-map-list{display:none}
  .tcu-map-layout[data-view="list"] .tcu-map-canvas{display:none}
  .tcu-map-bottom-sheet{display:block;position:fixed;left:0;right:0;bottom:calc(-100% - 16px);max-height:calc(58dvh - env(safe-area-inset-bottom));overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;padding:10px 10px calc(14px + env(safe-area-inset-bottom) + var(--tcu-stable-nav-height,88px));box-shadow:0 -10px 32px rgba(0,0,0,.2);z-index:1220;transition:bottom .2s ease}
  .tcu-map-bottom-sheet.is-open{bottom:0}
  .tcu-map-bottom-sheet-close{position:sticky;top:0;margin-left:auto;width:34px;height:34px;border-radius:999px;border:1px solid #d8e3ed;background:#fff;font-size:22px;line-height:1;display:grid;place-items:center;z-index:2}
}

@media (max-width:640px){
  .tcu-map-card{grid-template-columns:96px minmax(0,1fr);padding:8px}
  .tcu-map-card-body h3{font-size:14px}
  .tcu-map-card-actions{gap:5px}
}

/* Phase 77.1 - mobile map balance polish. */
@media (max-width: 782px) {
  .tcu-map-discovery-page {
    gap: 10px;
    padding: 0 0 calc(var(--tcu-phase77-bottom-nav-height, 78px) + env(safe-area-inset-bottom));
  }

  .tcu-map-topbar {
    border-radius: 16px;
    padding: 14px 12px;
  }

  .tcu-map-kicker {
    font-size: 11px;
    margin-bottom: 5px;
  }

  .tcu-map-topbar h1 {
    font-size: clamp(24px, 8.5vw, 32px);
    letter-spacing: 0;
    margin-bottom: 6px;
  }

  .tcu-map-subtitle {
    font-size: 13px;
    line-height: 1.45;
  }

  .tcu-map-shell {
    border-radius: 16px;
    padding: 8px;
  }

  .tcu-map-filters {
    align-items: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tcu-map-filter-item-search {
    grid-column: 1 / -1;
  }

  .tcu-map-filters input,
  .tcu-map-filters select,
  .tcu-map-nearby-btn,
  .tcu-map-toggle-pill,
  .tcu-map-filters > select[data-tcu-map-radius] {
    border-radius: 13px;
    font-size: 13px;
    min-height: 44px;
    width: 100%;
  }

  .tcu-map-toggle-pill,
  .tcu-map-nearby-btn {
    justify-content: center;
  }

  .tcu-map-filter-chips {
    display: grid;
    gap: 6px;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    margin: 8px -2px 0;
    overflow-x: auto;
    padding: 0 2px 4px;
    scrollbar-width: none;
  }

  .tcu-map-filter-chips::-webkit-scrollbar {
    display: none;
  }

  .tcu-map-chip {
    font-size: 12px;
    min-height: 34px;
    padding: 0 12px;
    white-space: nowrap;
  }

  .tcu-map-mobile-toggle {
    background: #f1f6f9;
    border: 1px solid #dbe6ee;
    border-radius: 999px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 8px 0 0;
    padding: 4px;
    position: static;
  }

  .tcu-map-mobile-toggle button {
    border-radius: 999px;
    min-width: 0;
  }

  .tcu-map-mobile-toggle .is-active {
    background: #078767;
    border-color: #078767;
    box-shadow: 0 6px 16px rgba(7, 135, 103, .2);
    color: #fff;
  }

  .tcu-map-status {
    font-size: 13px;
    margin-top: 8px;
    padding: 10px 12px;
  }

  .tcu-map-layout {
    gap: 8px;
    min-height: 0;
  }

  .tcu-map-list,
  .tcu-map-canvas {
    min-height: min(58dvh, 520px);
  }

  .tcu-map-list {
    max-height: min(62dvh, 560px);
    padding: 8px;
  }

  .tcu-map-canvas {
    border-radius: 16px;
  }

  .tcu-map-empty-state,
  .tcu-map-empty {
    border-radius: 14px;
    min-height: 150px;
    padding: 14px;
  }

  .tcu-map-bottom-sheet {
    padding-bottom: calc(16px + var(--tcu-phase77-bottom-nav-height, 78px) + env(safe-area-inset-bottom));
    z-index: 1100;
  }
}

@media (max-width: 430px) {
  .tcu-map-discovery-page {
    margin-left: -6px;
    margin-right: -6px;
  }

  .tcu-map-topbar,
  .tcu-map-shell {
    border-radius: 14px;
  }

  .tcu-map-filters {
    gap: 7px;
  }

  .tcu-map-card {
    gap: 8px;
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .tcu-map-card-thumb img,
  .tcu-map-card-thumb-placeholder {
    min-height: 88px;
  }
}

/* Phase 77.6 - mobile map collision guard. CSS only, no map query/data change. */
:root {
  --tcu-mobile-bottom-nav-height: 82px;
  --tcu-mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
  --tcu-z-bottom-sheet: 920;
}

@media (max-width: 782px) {
  html,
  body {
    overflow-x: hidden;
  }

  .tcu-map-discovery-page {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
    padding-bottom: calc(var(--tcu-mobile-bottom-nav-height) + var(--tcu-mobile-safe-bottom) + 20px) !important;
  }

  .tcu-map-shell,
  .tcu-map-topbar,
  .tcu-map-layout,
  .tcu-map-list,
  .tcu-map-canvas {
    box-sizing: border-box;
    max-width: 100%;
  }

  .tcu-map-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tcu-map-filters > * {
    min-width: 0;
  }

  .tcu-map-filter-chips {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .tcu-map-mobile-toggle {
    position: relative;
    z-index: 2;
  }

  .tcu-map-list,
  .tcu-map-canvas {
    min-height: min(56dvh, 520px);
  }

  .tcu-map-bottom-sheet {
    max-height: calc(72dvh - var(--tcu-mobile-safe-bottom));
    padding-bottom: calc(var(--tcu-mobile-bottom-nav-height) + var(--tcu-mobile-safe-bottom) + 16px) !important;
    z-index: var(--tcu-z-bottom-sheet);
  }
}

@media (max-width: 390px) {
  .tcu-map-filters {
    gap: 6px;
  }

  .tcu-map-filters input,
  .tcu-map-filters select,
  .tcu-map-nearby-btn,
  .tcu-map-toggle-pill,
  .tcu-map-filters > select[data-tcu-map-radius] {
    font-size: 12.5px;
    min-height: 42px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .tcu-map-chip {
    font-size: 11.5px;
    min-height: 32px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 340px) {
  .tcu-map-filters {
    grid-template-columns: 1fr;
  }
}

/* Phase 93.1 - responsive stability polish, preserving the existing palette. */
.tcu-map-discovery-page,
.tcu-map-shell,
.tcu-map-layout,
.tcu-map-list,
.tcu-map-canvas,
.tcu-map-card {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.tcu-map-topbar h1,
.tcu-map-card-body h3,
.tcu-map-card-body h3 a,
.tcu-map-chip,
.tcu-map-toggle-pill,
.tcu-map-nearby-btn {
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-orientation: mixed;
  word-break: normal;
  writing-mode: horizontal-tb;
}

.tcu-map-card {
  box-shadow: 0 4px 14px rgba(20, 47, 64, .05);
}

.tcu-map-card-thumb,
.tcu-map-card-thumb img {
  min-width: 0;
}

.tcu-map-card-thumb img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 782px) {
  .tcu-map-layout {
    overflow-x: hidden;
  }

  .tcu-map-card {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .tcu-map-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .tcu-map-card-cta {
    justify-content: center;
    min-width: 0;
  }
}

@media (max-width: 390px) {
  .tcu-map-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .tcu-map-card-actions {
    grid-template-columns: 1fr;
  }
}

/* Phase 94.4 - map discovery fit-bounds UI recovery. Scoped to /ban-do/. */
.tcu-map-discovery-page {
  --tcu-map-green: #078767;
  --tcu-map-green-dark: #075f4f;
  --tcu-map-ink: #122b3c;
  --tcu-map-muted: #617587;
  --tcu-map-line: #d9e5ee;
  gap: 16px;
}

.tcu-map-discovery-page .tcu-map-topbar {
  background: linear-gradient(135deg, #f7fbfa 0%, #eef7f4 100%);
  border-color: #d4e5df;
  border-radius: 20px;
  padding: 18px 18px 16px;
}

.tcu-map-discovery-page .tcu-map-shell {
  border-color: #d7e5ee;
  border-radius: 18px;
  padding: 12px;
}

.tcu-map-discovery-page .tcu-map-filters {
  grid-template-columns: minmax(240px, 1.7fr) repeat(4, minmax(130px, 1fr)) minmax(132px, auto) minmax(92px, auto) minmax(106px, auto);
  align-items: stretch;
}

.tcu-map-discovery-page .tcu-map-filter-item-search {
  grid-column: auto;
}

.tcu-map-discovery-page .tcu-map-filters input,
.tcu-map-discovery-page .tcu-map-filters select,
.tcu-map-discovery-page .tcu-map-nearby-btn,
.tcu-map-discovery-page .tcu-map-toggle-pill {
  border-color: #ccdae4;
  border-radius: 13px;
  color: var(--tcu-map-ink);
}

.tcu-map-discovery-page .tcu-map-nearby-btn,
.tcu-map-discovery-page .tcu-map-chip.is-active,
.tcu-map-discovery-page .tcu-map-mobile-toggle .is-active {
  background: var(--tcu-map-green);
  border-color: var(--tcu-map-green);
  color: #fff;
}

.tcu-map-discovery-page .tcu-map-layout {
  grid-template-columns: minmax(360px, 420px) minmax(0, 1fr);
  min-height: min(78vh, 760px);
}

.tcu-map-discovery-page .tcu-map-list {
  max-height: min(78vh, 760px);
  min-height: 620px;
  padding: 12px;
}

.tcu-map-discovery-page .tcu-map-canvas {
  height: min(78vh, 760px);
  min-height: 620px;
}

.tcu-map-discovery-page .tcu-map-card {
  border-color: #dfe8ef;
  border-radius: 14px;
  grid-template-columns: 116px minmax(0, 1fr);
  padding: 10px;
}

.tcu-map-discovery-page .tcu-map-card-thumb,
.tcu-map-discovery-page .tcu-map-card-thumb img,
.tcu-map-discovery-page .tcu-map-card-thumb-placeholder {
  display: block;
  height: 104px;
  min-height: 104px;
}

.tcu-map-discovery-page .tcu-map-card-body h3 {
  font-size: 15.5px;
  font-weight: 850;
}

.tcu-map-discovery-page .tcu-map-card-stats {
  color: #0c6f55;
}

.tcu-map-discovery-page .tcu-map-card-cta:first-child {
  background: var(--tcu-map-green);
  border-color: var(--tcu-map-green);
  color: #fff;
}

.tcu-map-discovery-page .tcu-map-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tcu-map-discovery-page .tcu-map-card-cta {
  justify-content: center;
  min-width: 0;
  text-align: center;
}

@media (max-width: 1180px) {
  .tcu-map-discovery-page .tcu-map-filters {
    grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(128px, 1fr)) repeat(3, minmax(108px, auto));
  }
}

@media (max-width: 980px) {
  .tcu-map-discovery-page .tcu-map-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tcu-map-discovery-page .tcu-map-filter-item-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 782px) {
  .tcu-map-discovery-page {
    gap: 10px;
    padding-left: 0;
    padding-right: 0;
  }

  .tcu-map-discovery-page .tcu-map-topbar {
    border-radius: 16px;
    padding: 12px;
  }

  .tcu-map-discovery-page .tcu-map-topbar h1 {
    font-size: clamp(23px, 7vw, 30px);
    line-height: 1.12;
  }

  .tcu-map-discovery-page .tcu-map-subtitle {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .tcu-map-discovery-page .tcu-context-strip {
    display: none;
  }

  .tcu-map-discovery-page .tcu-map-shell {
    border-radius: 16px;
    padding: 8px;
  }

  .tcu-map-discovery-page .tcu-map-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .tcu-map-discovery-page .tcu-map-filter-item-search {
    grid-column: 1 / -1;
  }

  .tcu-map-discovery-page .tcu-map-filter-item--location,
  .tcu-map-discovery-page .tcu-map-filter-item--district,
  .tcu-map-discovery-page .tcu-map-filter-item--rating,
  .tcu-map-discovery-page .tcu-map-radius-select {
    display: none;
  }

  .tcu-map-discovery-page .tcu-map-filter-item--verified,
  .tcu-map-discovery-page .tcu-map-nearby-btn {
    min-width: 0;
    width: 100%;
  }

  .tcu-map-discovery-page .tcu-map-filters input,
  .tcu-map-discovery-page .tcu-map-filters select,
  .tcu-map-discovery-page .tcu-map-nearby-btn,
  .tcu-map-discovery-page .tcu-map-toggle-pill {
    font-size: 13px;
    min-height: 42px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .tcu-map-discovery-page .tcu-map-filter-chips {
    display: grid;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    margin: 8px -2px 0;
    overflow-x: auto;
    padding: 0 2px 4px;
  }

  .tcu-map-discovery-page .tcu-map-mobile-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 8px;
    position: static;
  }

  .tcu-map-discovery-page .tcu-map-layout {
    display: block;
    min-height: 0;
  }

  .tcu-map-discovery-page .tcu-map-layout[data-view="list"] .tcu-map-canvas {
    display: none;
  }

  .tcu-map-discovery-page .tcu-map-layout[data-view="map"] .tcu-map-list {
    display: none;
  }

  .tcu-map-discovery-page .tcu-map-list {
    max-height: none;
    min-height: 0;
    padding: 8px;
  }

  .tcu-map-discovery-page .tcu-map-canvas {
    height: min(66dvh, 520px);
    min-height: 360px;
  }

  .tcu-map-discovery-page .tcu-map-card {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .tcu-map-discovery-page .tcu-map-card-thumb,
  .tcu-map-discovery-page .tcu-map-card-thumb img,
  .tcu-map-discovery-page .tcu-map-card-thumb-placeholder {
    height: 92px;
    min-height: 92px;
  }

  .tcu-map-discovery-page .tcu-map-card-flags {
    gap: 4px;
  }

  .tcu-map-discovery-page .tcu-map-card-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .tcu-map-discovery-page .tcu-map-filters {
    grid-template-columns: 1fr;
  }

  .tcu-map-discovery-page .tcu-map-card {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .tcu-map-discovery-page .tcu-map-card-actions {
    grid-template-columns: 1fr;
  }
}
