/* Functional catalogue layout only. Visual styling comes from Bootstrap 5.3.8. */
header .navbar-brand img{display:block;width:auto;max-width:min(210px,40vw);max-height:44px;object-fit:contain}
#search>#near-me{border-radius:.6rem!important}
.catalog-layout{min-height:70vh;padding:1rem!important}
.catalog-results{position:relative;min-width:0;overflow:visible;padding-right:1rem}
.catalog-results > h2:not(#results-heading),.catalog-results > #filters,#results-heading{display:none!important}
html.catalog-results-ready #results-heading{display:flex!important}
.catalog-toolbar{position:relative;z-index:4;margin-bottom:1rem}
.catalog-toolbar-slot{position:relative;z-index:20;padding:0 0 1rem!important}
.catalog-toolbar-slot[hidden]{display:none!important}
.catalog-toolbar-skeleton{display:flex;align-items:flex-start;gap:.5rem;height:54px}
.catalog-toolbar-skeleton span{display:block;height:38px;border-radius:.5rem;background:#e9ecef linear-gradient(105deg,#e9ecef 35%,#f8f9fa 48%,#e9ecef 61%);background-size:220% 100%;animation:catalog-skeleton-shimmer 1.5s linear infinite}
.catalog-toolbar-skeleton-button{flex:0 0 108px}
.catalog-toolbar-skeleton-search{flex:1 1 460px;max-width:460px}
.catalog-toolbar-skeleton-button:last-child{margin-left:auto}
html:not(.catalog-controls-ready) .catalog-toolbar{display:none!important}
html.catalog-controls-ready .catalog-toolbar-skeleton{display:none!important}
.catalog-quick-search{position:relative;display:flex;flex-wrap:nowrap!important;width:100%;min-width:0}
.catalog-quick-search .form-control{width:0!important;min-width:0!important;flex:1 1 0%!important;padding-right:3rem;border-radius:.5rem!important}
.catalog-quick-search #clear-catalog-filters{position:absolute;top:3px;right:3px;bottom:3px;z-index:10;display:grid;place-items:center;width:2.3rem;min-width:2.3rem;padding:0!important;border:0;border-radius:.35rem!important;background:transparent;color:var(--bs-secondary-color,#6c757d);box-shadow:none;white-space:nowrap}
.catalog-quick-search #clear-catalog-filters:hover,.catalog-quick-search #clear-catalog-filters:focus-visible{background:rgba(0,0,0,.07);color:var(--bs-body-color,#212529)}
.catalog-filter-choices:not(.is-expanded){max-height:var(--filter-preview-height,2.25rem);overflow:hidden}
.catalog-filter-choices[hidden],.catalog-filter-more[hidden]{display:none!important}
#filters .catalog-filter-chip{max-width:100%;min-height:2rem;padding:.35rem .65rem;border:0;border-radius:.45rem;background:var(--bs-tertiary-bg,#f5f5f5);color:var(--bs-body-color,#212529);box-shadow:none;font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap}
#filters .catalog-filter-chip span:last-child{overflow:hidden;text-overflow:ellipsis}
#filters .catalog-filter-chip:hover{border:0;background:var(--bs-secondary-bg,#e9ecef);color:var(--bs-body-color,#212529)}
#filters .btn-check:checked+.catalog-filter-chip,#filters .btn-check:checked+.catalog-filter-chip:hover{border:0;background:var(--geoui-accent-primary,#3d7f21);color:#fff}
#filters .btn-check:focus-visible+.catalog-filter-chip{outline:2px solid var(--geoui-accent-primary,#3d7f21);outline-offset:2px}
#filters .catalog-filter-more{margin-top:.45rem;padding:.25rem .45rem;border:0;background:transparent;color:var(--bs-secondary-color,#6c757d);font-size:.8rem;font-weight:600}
#filters .catalog-filter-more:hover,#filters .catalog-filter-more:focus-visible{background:rgba(0,0,0,.05);color:var(--bs-body-color,#212529)}
.catalog-numeric-filters:not(:empty){margin-top:1rem}
@media(max-width:575.98px){#toggle-filters{gap:.25rem!important}.catalog-sort-menu>summary{gap:.25rem!important}.catalog-toolbar .btn{padding-inline:.55rem}.catalog-quick-search .form-control{padding-left:.5rem;padding-right:3rem}}
.catalog-results-heading{font-size:.95rem;font-weight:600;color:var(--geoui-text-muted,#44554b);letter-spacing:.01em}
.catalog-results-heading .badge{min-width:2rem;padding:.42rem .55rem;font-size:.82rem}
.catalog-results .suggestions-title{margin:.35rem 0 .75rem;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--geoui-text-muted,#44554b)}
#catalog-results-controls{position:sticky;top:var(--catalog-header-height,70px);z-index:21;min-width:0}
#catalog-results-controls #results-heading{margin:0!important;min-width:0}
#catalog-results-controls .catalog-toolbar{margin:0;flex:0 0 auto}
#catalog-results-controls .catalog-toolbar-main{gap:.3rem!important}
#catalog-results-controls .catalog-toolbar .btn{padding:.2rem .45rem;border:0;background:transparent;color:var(--geoui-text-muted,#44554b);font-size:.95rem;font-weight:600}
#catalog-results-controls .catalog-toolbar .btn:hover,#catalog-results-controls .catalog-toolbar .btn:focus-visible{background:rgba(0,0,0,.05);color:var(--geoui-text-muted,#44554b)}
#catalog-results-controls .catalog-results-heading{flex:1 1 auto;flex-wrap:wrap;line-height:1.25}
#catalog-results-controls #active-filters{display:none!important}
body[data-catalog-filter-position="compact-results"] .catalog-filter-panel:not(.is-collapsed){position:absolute;top:calc(100% - .5rem);right:0;left:auto;z-index:22;width:min(620px,calc(100vw - 2rem));max-height:min(72vh,650px);overflow:auto;box-shadow:0 18px 50px rgba(23,74,49,.18)}
body[data-catalog-filter-position="compact-results"] #catalog-quick-search{margin-bottom:1rem}
.language-menu .language-flag{display:block;width:1.35rem;height:1rem;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #0002}
.language-menu .dropdown-item{min-width:10rem}
#status[hidden]{display:none!important}
.catalog-filter-panel{position:relative;z-index:3;margin-bottom:1rem;padding:1rem 1.25rem 1rem 1rem;background:#fff;border:1px solid var(--geoui-accent-border,#d9e6cf);border-radius:1rem;box-shadow:0 12px 30px rgba(0,0,0,.08);scrollbar-gutter:stable}
#favorites-filter-wrap[hidden]{display:none!important}
.catalog-filter-panel.is-collapsed{position:absolute;width:min(760px,calc(100vw - 2rem));height:1px;margin:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none;opacity:0}
.catalog-sort-menu{position:relative}
.catalog-toolbar #toggle-filters,.catalog-toolbar .catalog-sort-menu>summary{border:0;background:transparent;color:var(--geoui-text-muted,#44554b)}
.catalog-toolbar #toggle-filters:hover,.catalog-toolbar #toggle-filters:focus-visible,.catalog-toolbar .catalog-sort-menu>summary:hover,.catalog-toolbar .catalog-sort-menu>summary:focus-visible{border:0;background:rgba(0,0,0,.05);color:var(--geoui-text-muted,#44554b)}
.catalog-sort-menu>summary{list-style:none}
.catalog-sort-menu>summary::-webkit-details-marker{display:none}
.catalog-sort-options{position:absolute;z-index:10;top:calc(100% + .5rem);right:0;min-width:220px;padding:.4rem;background:#fff;border:1px solid var(--geoui-accent-border,#d9e6cf);border-radius:.8rem}
.catalog-sort-option{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;border-radius:.5rem;white-space:nowrap;cursor:pointer}
.catalog-sort-option:hover{background:rgba(0,0,0,.05)}
.catalog-sort-option input{accent-color:var(--geoui-accent-primary,#3d7f21)}
.catalog-price-histogram{display:flex;align-items:end;gap:2px;height:54px;margin:0 0 1.2rem;padding:0 .4rem;border-bottom:1px solid var(--geoui-histogram-border,#bcd7c7)}
.catalog-price-histogram span{flex:1;min-width:2px;background:var(--geoui-histogram-bar,#a7c9b3);border-radius:3px 3px 0 0}
.catalog-price-histogram span:hover{background:var(--geoui-accent-primary,#3d7f21)}
.catalog-map-shell{position:sticky!important;top:calc(var(--catalog-header-height,70px) + 1rem);height:calc(100dvh - var(--catalog-header-height,70px) - 2rem);min-height:420px;align-self:flex-start}
/* Keep result updates inside a fixed desktop column. Shrinking a long list must
   not shorten the document and clamp window.scrollY while the map is in use. */
@media(min-width:992px){
  .catalog-results{display:flex;flex-direction:column;height:calc(100dvh - var(--catalog-header-height,70px) - 2rem);min-height:420px;align-self:flex-start}
  /* Allow scrolling to continue into the page at either end of the results.
     Hide scrollbar chrome without disabling wheel, touch or keyboard scrolling. */
  .catalog-results>#list{flex:1 1 0;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;overflow-anchor:none;scrollbar-width:none;padding-bottom:.5rem}
  .catalog-results>#list::-webkit-scrollbar{display:none;width:0;height:0}
  .catalog-results>#list>*{flex-shrink:0}
  .catalog-results>#catalog-results-controls,.catalog-results>#status{flex-shrink:0}
  #catalog-results-controls{top:0}
}
.catalog-mobile-switch{display:none!important}
.catalog-mobile-switch-slot{display:none}
.catalog-toolbar-slot .catalog-toolbar{margin-bottom:0}
.catalog-toolbar-slot .catalog-quick-search{flex:0 1 460px!important}.catalog-toolbar-slot .catalog-sort-menu{margin-left:auto}
.catalog-toolbar-slot .catalog-filter-panel:not(.is-collapsed){position:absolute;left:0;top:calc(100% - .5rem);z-index:12;max-height:min(72vh,650px);overflow:auto;width:min(760px,calc(100vw - 2rem));box-shadow:0 18px 50px rgba(23,74,49,.18)}
.seo-intro{padding-block:2.5rem!important}
.seo-intro nav{display:flex;flex-direction:column;gap:.35rem!important;min-width:0}
.seo-intro .taxonomy-scroll-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.25rem;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:.1rem 24px .1rem 0;scroll-padding-inline:24px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.seo-intro .taxonomy-scroll-row>.taxonomy-link{flex:0 0 auto;white-space:nowrap}
/* Auto margins center short rows without making overflowing links unreachable. */
.seo-intro .taxonomy-scroll-row>.taxonomy-link:first-child{margin-inline-start:auto}
.seo-intro .taxonomy-scroll-row>.taxonomy-link:last-child{margin-inline-end:auto}
.seo-intro .taxonomy-scroll-row:focus-visible{outline:2px solid var(--bs-secondary-color);outline-offset:2px}
.site-footer .btn.rounded-circle{width:2rem;height:2rem;display:grid;place-items:center}
.site-footer-logo{display:block;max-width:220px;max-height:72px;width:auto;height:auto;object-fit:contain}
.content-page{width:100%;min-height:40vh}.content-page-body{font-size:1.05rem;line-height:1.75}.content-page-body img{max-width:100%;height:auto}
#header-account-slot .account-button{width:100%;border-radius:.5rem!important;box-shadow:none!important;white-space:nowrap}
header #language-switcher{order:1}header .dropdown:has(#header-account-slot){order:2}
.catalog-map-shell>.catalog-map{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.catalog-skeleton-map{position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:inherit;pointer-events:none;background:#e9ecef url("map-skeleton.svg") center/cover no-repeat;opacity:1;transition:opacity .25s ease}
.catalog-skeleton-map.is-ready{opacity:0}
.catalog-skeleton-map::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffffffa6 48%,transparent 61%);background-size:220% 100%;animation:catalog-skeleton-shimmer 1.8s linear infinite}
.catalog-skeleton-map-label{position:absolute;top:18px;left:18px;z-index:1;padding:.45rem .7rem;border-radius:.5rem;background:#f8f9fa;color:#6c757d;font-size:.875rem;font-weight:600}
.catalog-list-skeleton{display:grid;gap:.7rem;border-radius:var(--catalog-surface-radius)}
.catalog-skeleton-card{display:flex;align-items:center;gap:1rem;min-height:112px;padding:.7rem 1rem;border:1px solid #e5e7eb;border-radius:var(--catalog-surface-radius);background:#fff}
.catalog-skeleton-thumb{display:block;flex:0 0 var(--catalog-thumbnail-width,110px);height:var(--catalog-thumbnail-height,100px);border-radius:.5rem;background:#e9ecef}
.catalog-skeleton-lines{display:grid;gap:.65rem;width:65%}.catalog-skeleton-lines span{display:block;height:12px;border-radius:10px;background:#e9ecef}.catalog-skeleton-lines span:last-child{width:60%}
.catalog-skeleton-thumb,.catalog-skeleton-lines span{background-image:linear-gradient(105deg,#e9ecef 35%,#f8f9fa 48%,#e9ecef 61%);background-size:220% 100%;animation:catalog-skeleton-shimmer 1.5s linear infinite}
.catalog-early-thumb{display:grid;place-items:center;flex:0 0 76px;width:76px;height:68px;background:var(--geoui-accent-soft,#eef6e8);font-size:1.7rem}
@keyframes catalog-skeleton-shimmer{to{background-position-x:-220%}}
.place-card{min-height:112px;margin-bottom:.7rem;padding:.7rem!important;border:1px solid var(--geoui-accent-border,#d9e6cf)!important;border-radius:var(--catalog-surface-radius)!important;background:#fff;touch-action:manipulation;transition:border-color .18s ease}
.place-card:hover,.place-card:focus-visible{border-color:var(--geoui-accent-primary,#3d7f21)!important}
.place-card.list-group-item-action:is(:hover,:focus,:active,.active){background-color:#fff!important}
.place-card > img.place-card__image{width:var(--catalog-thumbnail-width,110px);height:var(--catalog-thumbnail-height,100px);flex:0 0 var(--catalog-thumbnail-width,110px);object-fit:cover}
.place-card__content strong{font-size:1rem;line-height:1.25;color:var(--geoui-accent-ink,#1d3b10)}
.place-card-shell:has(.place-card__badges .badge:is(:hover,:focus-visible))>.place-card{position:relative;z-index:5}
.place-card__content small{line-height:1.35}
.place-card__arrow{display:grid;place-items:center;flex:0 0 var(--geoui-card-arrow-size,40px);width:var(--geoui-card-arrow-size,40px);height:var(--geoui-card-arrow-size,40px);border-radius:50%;background:var(--geoui-accent-soft,#eef6e8);color:var(--geoui-accent-primary,#3d7f21);font-size:1.15rem;line-height:1}
.place-card.catalog-list-highlight{border-color:var(--geoui-accent-primary,#3d7f21)!important}
/* Optional image-card results. The same place-card template and interactions work in both layouts. */
#list.catalog-list-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-content:start;align-items:stretch;gap:.9rem;background:transparent}
.catalog-list-cards .place-card-shell{min-width:0;height:100%}
.catalog-list-cards .place-card-shell>.place-card,.catalog-list-cards>.place-card{display:flex!important;flex-direction:column;align-items:stretch!important;gap:0!important;height:100%;min-width:0;margin:0;padding:0!important;overflow:visible;text-align:left}
.catalog-list-cards .place-card>img.place-card__image{display:block;width:100%;height:clamp(150px,18vw,210px);flex:none;object-fit:cover;border-radius:var(--catalog-surface-radius) var(--catalog-surface-radius) 0 0!important}
.catalog-list-cards .place-card__content{display:block;min-width:0;width:100%;padding:1rem}
.catalog-list-cards .place-card__content strong{font-size:1.05rem}
.catalog-list-cards .place-card__content small{min-width:0;overflow-wrap:anywhere}
.catalog-list-cards .place-card__arrow{display:none}
.catalog-list-cards>.catalog-list-skeleton{grid-column:1/-1;display:grid;grid-template-columns:inherit;gap:inherit}
.catalog-list-cards .catalog-skeleton-card{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;min-height:0;padding:0 0 1rem;overflow:hidden}
.catalog-list-cards .catalog-skeleton-thumb{width:100%;height:clamp(150px,18vw,210px);flex:none;border-radius:0}
.catalog-list-cards .catalog-skeleton-lines{width:auto;padding:0 1rem}
.catalog-list-cards>.catalog-early-thumb,.catalog-list-cards>.place-card .catalog-early-thumb{display:grid;width:100%;height:clamp(150px,18vw,210px);flex:none;border-radius:var(--catalog-surface-radius) var(--catalog-surface-radius) 0 0!important}
.catalog-list-cards>.place-card .d-grid{padding:1rem}
.catalog-list-cards>.suggestions-title,.catalog-list-cards>button:not(.place-card){grid-column:1/-1}
.catalog-marker-highlight{z-index:5!important}
.catalog-marker-highlight svg{filter:drop-shadow(0 0 7px rgba(255,193,7,.95));transform:scale(1.35);transform-origin:bottom center}
.taxonomy-icon{display:inline-block;width:1.25em;height:1.25em;max-width:1.25em;flex:0 0 1.25em;object-fit:contain;vertical-align:middle}
#autocomplete{z-index:1080;max-height:min(50dvh,360px);overflow-y:auto}
#autocomplete[hidden]{display:none!important}
#modal .modal-dialog{max-width:min(920px,calc(100vw - 24px))}
#modal .modal-content{max-height:calc(100dvh - 24px)}
#modal .modal-body{overscroll-behavior:contain}
#modal-map{height:300px}
.maplibregl-ctrl-attrib{max-width:78vw;font-size:9px}
@media(max-width:767.98px){
  .catalog-results{max-height:none;overflow:visible;padding-right:0;padding-bottom:1rem}
  #catalog-results-controls .catalog-toolbar .btn{font-size:.85rem;padding:.2rem .25rem}
  #catalog-results-controls .catalog-toolbar-main{gap:0!important}
  body[data-catalog-filter-position="compact-results"] .catalog-filter-panel:not(.is-collapsed){right:0;top:calc(100% - .5rem)}
  .catalog-map-shell{position:relative!important;top:auto;height:clamp(280px,42svh,430px);min-height:280px}
  .place-card > img.place-card__image{width:var(--catalog-thumbnail-mobile-width,90px);height:var(--catalog-thumbnail-mobile-height,90px);flex-basis:var(--catalog-thumbnail-mobile-width,90px)}
  .catalog-skeleton-thumb{height:var(--catalog-thumbnail-mobile-height,90px);flex-basis:var(--catalog-thumbnail-mobile-width,90px)}
  #autocomplete{position:fixed!important;top:calc(env(safe-area-inset-top) + 112px)!important;right:12px!important;left:12px!important}
}
@media(max-width:991.98px){
  .catalog-mobile-switch-slot{display:block;position:sticky;top:var(--catalog-header-height,70px);z-index:23;width:100%;padding:.4rem 0 .55rem}
  .catalog-mobile-switch{display:flex!important;position:relative;align-items:center;gap:3px;max-width:430px;margin:0 auto;padding:3px;background:var(--bs-secondary-bg,#f1f1f1);border-radius:999px;box-shadow:0 0 0 1px rgba(0,0,0,.04)}
  .catalog-mobile-switch__pill{position:absolute;top:3px;left:0;z-index:0;height:calc(100% - 6px);width:0;border-radius:999px;background:var(--bs-body-bg,#fff);box-shadow:0 1px 4px rgba(0,0,0,.1);transform:translateX(0);transition:transform 250ms cubic-bezier(.22,1,.36,1),width 250ms cubic-bezier(.22,1,.36,1);pointer-events:none;opacity:0}
  .catalog-mobile-switch.is-positioned .catalog-mobile-switch__pill{opacity:1}
  .catalog-mobile-switch__tab{position:relative;z-index:1;flex:1 1 50%;min-width:0;min-height:38px;padding:.4rem .75rem;border:0;border-radius:999px;background:transparent;color:var(--bs-secondary-color,#6c757d);font:inherit;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;transition:color 250ms cubic-bezier(.22,1,.36,1)}
  .catalog-mobile-switch__tab:is(:hover,[aria-pressed="true"]){color:var(--bs-body-color,#212529)}
  .catalog-mobile-switch__tab:focus-visible{outline:2px solid var(--geoui-accent-primary,#3d7f21);outline-offset:2px}
  #catalog-results-controls{top:calc(var(--catalog-header-height,70px) + 3.35rem)}
  html.catalog-mobile-ready:not([data-catalog-mobile-view="list"]) .catalog-results #list,
  html.catalog-mobile-ready:not([data-catalog-mobile-view="list"]) .catalog-results #status{display:none!important}
  html.catalog-mobile-ready:not([data-catalog-mobile-view="list"]) .catalog-results{padding-bottom:0}
  html.catalog-mobile-ready[data-catalog-mobile-view="list"] .catalog-map-shell{display:none!important}
  .catalog-map-shell{position:relative!important;top:auto;height:max(320px,calc(100dvh - var(--catalog-header-height,70px) - 9rem));min-height:320px}
  .catalog-filter-panel:not(.is-collapsed){max-height:calc(100dvh - var(--catalog-header-height,70px) - 8rem)!important}
}
@media(prefers-reduced-motion:reduce){.catalog-mobile-switch__pill,.catalog-mobile-switch__tab{transition:none!important}}
@media(prefers-reduced-motion:reduce){.catalog-layout *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.catalog-skeleton-map::before{animation:none}}
.seo-intro .taxonomy-primary{order:-3}.seo-intro .taxonomy-category{order:-2}.seo-intro .taxonomy-feature:not(.taxonomy-primary){order:-1}

/* Optional map-first homepage; modal and subpage layouts are unaffected. */
html[data-catalog-layout="map-only"] .catalog-layout{height:100dvh;min-height:100dvh;padding:0!important}
html[data-catalog-layout="map-only"] .catalog-layout>.row{height:100%;margin:0}
html[data-catalog-layout="map-only"] .catalog-results,
html[data-catalog-layout="map-only"] .catalog-mobile-switch-slot,
html[data-catalog-layout="map-only"] #catalog-toolbar-slot{display:none!important}
html[data-catalog-layout="map-only"] .catalog-map-shell{display:block!important;position:relative!important;top:0!important;width:100%;height:100%!important;min-height:0;border-radius:0;flex:0 0 100%;max-width:100%}
html[data-catalog-layout="map-only"] #map,
html[data-catalog-layout="map-only"] #map-skeleton{border-radius:0!important}
html[data-catalog-layout="map-only"] body>header.site-nav{position:absolute!important;top:max(1rem,env(safe-area-inset-top));left:1rem;right:1rem;width:auto;z-index:40;border:0!important;border-radius:1rem;box-shadow:0 3px 20px rgb(0 0 0/.15)}
html[data-catalog-layout="map-only"] .catalog-map-shell .maplibregl-ctrl-top-right{top:calc(var(--catalog-header-height,70px) + 2rem)}
html[data-catalog-layout="map-only"] .catalog-map-shell .maplibregl-ctrl-top-left{top:calc(var(--catalog-header-height,70px) + 6rem)}
html[data-catalog-layout="map-only"] .seo-intro,
html[data-catalog-layout="map-only"]:not([data-map-footer="true"]) body>footer{display:none!important}
.catalog-map-controls{position:absolute;top:calc(var(--catalog-header-height,70px) + 2rem);left:1rem;z-index:22;max-width:calc(100% - 5rem)}
.catalog-map-controls>.catalog-toolbar{background:var(--bs-body-bg,#fff);border-radius:.75rem;padding:.35rem .5rem;box-shadow:0 2px 12px rgb(0 0 0/.12);margin:0}
.catalog-map-controls .catalog-sort-menu,.catalog-map-controls #active-filters{display:none!important}
.catalog-map-controls>.catalog-filter-panel:not(.is-collapsed){position:absolute!important;top:calc(100% + .5rem)!important;left:0!important;width:min(620px,calc(100vw - 2rem));max-height:calc(100dvh - var(--catalog-header-height,70px) - 7rem);overflow:auto;box-shadow:0 4px 22px rgb(0 0 0/.15)}
html[data-catalog-layout="map-only"] .catalog-map-shell>#status:not([hidden]){position:absolute;bottom:2.75rem;left:1rem;right:4rem;z-index:10;width:fit-content;max-width:calc(100% - 5rem);background:var(--bs-body-bg,#fff);padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 2px 8px rgb(0 0 0/.12)}
@media(max-width:575.98px){html[data-catalog-layout="map-only"] body>header.site-nav{top:max(.5rem,env(safe-area-inset-top));left:.5rem;right:.5rem;padding-inline:.75rem!important}html[data-catalog-layout="map-only"] .site-nav .navbar-brand{margin-right:.5rem!important}}

/* Map frame: 1px border matching the place-card border */
.catalog-map-shell{border:1px solid var(--geoui-accent-border,#d9e6cf);border-radius:var(--catalog-surface-radius,.75rem);overflow:hidden;box-sizing:border-box}
.catalog-map-shell>.catalog-map,.catalog-map-shell>.catalog-skeleton-map{border-radius:inherit}
html[data-catalog-layout="map-only"] .catalog-map-shell{border:0}

/* Search autosuggest: spacing for region flag/image */
#autocomplete .taxonomy-icon,#autocomplete .taxonomy-emoji{margin-right:.15rem;flex:0 0 1.25em}
#autocomplete .min-w-0{min-width:0}
#clear-catalog-results[hidden]{display:none!important}

/* Phones/tablets: compact Map/List switch with the same rounded corners as the other controls (not a pill),
   no forced minimum height under a short list, tidier results heading. */
html{overflow-x:clip}
@media(max-width:991.98px){
  .catalog-layout{min-height:0}
  .catalog-mobile-switch-slot{padding:.25rem 0 .4rem}
  .catalog-mobile-switch{gap:2px;padding:3px;border-radius:.6rem}
  .catalog-mobile-switch__pill{top:3px;height:calc(100% - 6px);border-radius:.45rem}
  .catalog-mobile-switch__tab{min-height:32px;padding:.25rem .6rem;border-radius:.45rem;font-size:.875rem}
  #catalog-results-controls{top:calc(var(--catalog-header-height,70px) + 3.1rem)}
  #catalog-results-controls .catalog-results-heading{align-items:center;gap:.4rem!important;font-size:.9rem}
  #catalog-results-controls #clear-catalog-results{margin-left:0!important}
  .catalog-results{padding-bottom:.5rem}
}
/* "Show all places": a compact round-cornered × chip next to the result count (label hidden on phones, still in title/aria-label). */
#clear-catalog-results{border-radius:.5rem;border-color:var(--geoui-accent-border,#d9e6cf);background:#fff;color:var(--geoui-text-muted,#44554b);line-height:1;--bs-btn-hover-bg:var(--geoui-accent-soft,#eef6e8);--bs-btn-hover-color:var(--geoui-text-muted,#44554b)}
@media(max-width:575.98px){
  #clear-catalog-results{width:1.75rem;height:1.75rem;padding:0!important;justify-content:center;gap:0!important;flex:0 0 auto}
  #clear-catalog-results [data-clear-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #clear-catalog-results .fs-5{font-size:1.1rem!important}
  #catalog-results-controls .catalog-results-heading{flex-wrap:nowrap}
}
/* Phones: the Sort button shows only its icon (the label stays available to screen readers). */
@media(max-width:575.98px){
  .catalog-sort-menu>summary [data-sort-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .catalog-sort-menu>summary{gap:0!important}
}
/* No see-through strip between the sticky Map/List switch and the sticky results bar:
   the switch slot has a fixed height and the results bar tucks 3px under it. */
@media(max-width:991.98px){
  .catalog-mobile-switch-slot{box-sizing:border-box;height:3.1rem;padding-bottom:.4rem}
  #catalog-results-controls{top:calc(var(--catalog-header-height,70px) + 3.1rem - 3px)}
}
