.yt-map-switch { display:flex; gap:.35rem; padding:.3rem; width:max-content; border:1px solid rgba(36,61,46,.14); border-radius:999px; background:#fff; }
.yt-map-switch button { min-height:2.65rem; padding:.55rem 1rem; border:0; border-radius:999px; background:transparent; color:#33483b; font-weight:650; }
.yt-map-switch button[aria-pressed="true"] { background:#ddea62; color:#17251c; }
.yt-map-status { color:#59675f; font-size:.9rem; }
.yt-map-panel { position:relative; display:none; min-width:0; }
.yt-map-canvas { position:relative; width:100%; height:min(68vh,760px); min-height:31rem; overflow:hidden; border:1px solid rgba(36,61,46,.14); border-radius:1.25rem; background:#f4f7ef; }
.yt-map-empty { display:grid; place-items:center; min-height:22rem; padding:2rem; text-align:center; color:#526058; }
.yt-map-empty-overlay { position:absolute; z-index:2; left:50%; top:50%; translate:-50% -50%; width:min(28rem,calc(100% - 2rem)); padding:1rem 1.15rem; border:1px solid rgba(36,61,46,.14); border-radius:1rem; background:rgba(255,255,255,.94); color:#526058; text-align:center; box-shadow:0 8px 22px rgba(24,42,31,.12); }
.yt-map-preview { position:absolute; z-index:3; left:1rem; right:1rem; bottom:1rem; display:none; gap:.8rem; align-items:center; max-width:27rem; padding:.75rem; border:1px solid rgba(255,255,255,.78); border-radius:1rem; background:rgba(255,255,255,.93); box-shadow:0 8px 22px rgba(24,42,31,.16); }
.yt-map-preview.is-visible { display:flex; }
.yt-map-preview img { width:5rem; height:4.25rem; flex:0 0 auto; border-radius:.75rem; object-fit:cover; }
.yt-map-preview-copy { min-width:0; flex:1; }
.yt-map-preview-copy strong,.yt-map-preview-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yt-map-preview-copy span { color:#5a685f; font-size:.8rem; }
.yt-map-preview a { min-height:2.5rem; display:inline-flex; align-items:center; padding:.45rem .75rem; border-radius:999px; background:#ddea62; color:#17251c; font-weight:650; text-decoration:none; }
.yt-discovery-layout.is-map .yt-map-panel { display:block; }
@media (min-width: 992px) {
  .yt-discovery-layout.is-map { display:grid; grid-template-columns:minmax(0,44fr) minmax(30rem,56fr); gap:1.25rem; align-items:start; }
  .yt-discovery-layout.is-map .yt-map-panel { position:sticky; top:1rem; }
  .yt-discovery-layout:not(.is-map) .yt-discovery-list { width:100%; }
  .yt-discovery-layout.is-map .yt-discovery-list { max-height:min(68vh,760px); overflow:auto; padding-right:.35rem; scrollbar-width:thin; }
  .yt-discovery-layout.is-map .yt-discovery-list .row > [class*="col-"] { width:100%; max-width:100%; }
  .yt-discovery-layout.is-map .yt-search-card { display:grid; grid-template-columns:7.25rem minmax(0,1fr); min-height:7.5rem; border-radius:1rem; }
  .yt-discovery-layout.is-map .yt-search-card > a:first-child { min-height:100%; }
  .yt-discovery-layout.is-map .yt-search-card .card-img-top { width:100%; height:100%; min-height:7.5rem; object-fit:cover; }
  .yt-discovery-layout.is-map .yt-search-card .card-body { min-width:0; padding:.75rem; }
  .yt-discovery-layout.is-map .yt-search-card h4 { overflow:hidden; margin:.2rem 0!important; font-size:1rem!important; text-overflow:ellipsis; white-space:nowrap; }
  .yt-discovery-layout.is-map .yt-search-card .yt-search-excerpt,
  .yt-discovery-layout.is-map .yt-search-card .card-body > a.btn { display:none; }
  .yt-discovery-layout.is-map .yt-search-card .offer-card-location,
  .yt-discovery-layout.is-map .yt-search-card .card-body > p { overflow:hidden; margin-bottom:.25rem!important; font-size:.82rem!important; text-overflow:ellipsis; white-space:nowrap; }
  .yt-discovery-layout.is-map .yt-search-card.is-map-selected { border-color:#b9cf35; box-shadow:0 0 0 2px rgba(221,234,98,.65); }
  .yt-discovery-layout.is-map .yt-search-card.is-map-unmapped { display:none!important; }
}
@media (max-width: 991.98px) {
  .yt-map-canvas { height:calc(100svh - 12.5rem); min-height:28rem; border-radius:1rem; }
  .yt-discovery-layout.is-map .yt-discovery-list { display:none; }
  .yt-map-preview { left:.65rem; right:.65rem; bottom:max(.65rem,env(safe-area-inset-bottom)); }
}
@media (max-width: 374px) {
  .yt-map-preview { align-items:flex-start; flex-wrap:wrap; }
  .yt-map-preview img { width:4.4rem; height:3.8rem; }
}
