/* A single friendly geometric type family, self-hosted under the SIL OFL. */
.catalog-controls{position:absolute;left:36px;bottom:116px;z-index:12;display:flex;gap:8px;max-width:calc(100% - 105px)}.catalog-controls[hidden]{display:none}.catalog-controls select,.catalog-controls button{font:500 12px/1.4 Figtree,Arial,sans-serif;max-width:100%;min-width:0;color:#fff;padding:12px 16px;border:0;border-radius:13px;background:#ffffff0a;backdrop-filter:blur(12px) brightness(.68);-webkit-backdrop-filter:blur(12px) brightness(.68);box-shadow:inset 0 1px 1px #ffffff55;cursor:pointer;transition:background .2s,transform .2s}.catalog-controls select{max-width:280px}.catalog-controls option{background:#303030;color:#fff}.catalog-controls button:hover,.catalog-controls select:hover{background:#ffffff14}.catalog-controls :focus-visible{outline:2px solid white;outline-offset:3px}.catalog-controls button:active{transform:scale(.97)}@media(max-width:760px){.catalog-controls{left:18px;bottom:118px}.catalog-controls select,.catalog-controls button{font-size:12px;min-height:44px;padding:10px 12px}}
@font-face{
 font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;
 src:url('./assets/figtree-variable.woff2') format('woff2');
}
:root{--font:Figtree,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:var(--font)}
:root :is(h1,h2,h3,.property-panel h1,.property-panel .section-title h2,.destination-card h2,.map-caption h1){font-family:var(--font)}
/* The existing Seekeye wordmark keeps its brand drawing. */
:root .wordmark{font-family:Manrope,var(--font)}

/* A label is part of its marker's button, including all of its text. */
:root #map :is(.atlas-pin--property,.atlas-pin--service,.atlas-pin--cluster) .atlas-pin__label,
:root #map :is(.atlas-pin--property,.atlas-pin--service,.atlas-pin--cluster) .atlas-pin__label *{
 pointer-events:auto;cursor:pointer;
}
:root #map .atlas-pin[inert]{pointer-events:none}
:root #map .atlas-pin:is([inert],.atlas-pin--pending,.atlas-pin--exiting) .atlas-pin__label,
:root #map .atlas-pin:is([inert],.atlas-pin--pending,.atlas-pin--exiting) .atlas-pin__label *{pointer-events:none}

/* Desktop categories share the logo and map-style row. They occupy their own
   bounded middle column, independent of the width of an open property panel. */
@media(min-width:761px){
 :root #workspace .category-filters{
  position:fixed;top:24px;left:178px;right:220px;min-height:44px;
  padding:0;gap:6px;align-items:center;justify-content:center;
  overflow:visible;z-index:8;
 }
 :root .category-filters button{min-height:44px;font-size:11px;padding:10px 12px;gap:6px}
 :root .category-filters button .icon{width:15px;height:15px}
 :root .map-topbar,:root body:not(.is-detail) .map-topbar{top:24px;right:28px}
}
@media(min-width:761px) and (max-width:980px){
 :root #workspace .category-filters{left:160px;right:210px;gap:4px}
 :root .category-filters button{padding:9px 7px;font-size:10px;gap:0}
 :root .category-filters button .icon{display:none}
}

/* A collection count becomes individual stays as the map approaches Corfu.
   MapLibre retains full ownership of each marker's geographic transform. */
:root #map .atlas-pin--cluster{width:44px;height:44px;z-index:3}
:root #map .atlas-pin--cluster>span{opacity:var(--cluster-opacity,1)}
:root #map .atlas-pin--cluster .atlas-cluster__count{
 border:0;border-radius:50%;background:#df6855;color:#fff;
 transform:none;scale:var(--cluster-scale,1);font-size:17px;font-weight:700;
 box-shadow:0 4px 16px #00000050;
}
:root #map .atlas-pin--cluster .atlas-cluster__label{
 left:54px;right:auto;top:50%;white-space:nowrap;
}
:root #map .atlas-pin--cluster[data-label-side=left] .atlas-cluster__label{left:auto;right:54px}
:root #map .atlas-cluster__label strong{font-size:11px;font-weight:650;letter-spacing:.15px}
:root #map .atlas-pin--property:not(.atlas-pin--pending):not(.atlas-pin--exiting)>span{
 opacity:var(--cluster-member-opacity,1);
}
:root #map .atlas-pin--property:not(.atlas-pin--pending):not(.atlas-pin--exiting) .atlas-pin__dot{
 scale:var(--cluster-member-scale,1);
}
:root #map .atlas-pin--cluster.atlas-pin--pending{visibility:hidden;pointer-events:none}
:root #map .atlas-pin--cluster.atlas-pin--pending>span,
:root #map .atlas-pin--cluster.atlas-pin--exiting>span{opacity:0}
:root #map .atlas-pin--cluster.atlas-pin--exiting{pointer-events:none}
@media(prefers-reduced-motion:reduce){
 :root #map :is(.atlas-pin--cluster,.atlas-pin--property)>span{transition:none!important}
}

/* The name tag is a single clear glass surface, matching the content windows.
   Its reflection stays centered while map pixels move naturally behind it. */
@media(forced-colors:none){
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root #map .atlas-pin__label{
   --tag-glint:.11;
   background:radial-gradient(ellipse 90% 75% at 50% 45%,rgba(255,255,255,var(--tag-glint)),rgba(255,255,255,0) 73%),transparent;
   border:0;border-radius:10px;text-shadow:none;
   -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
   box-shadow:0 8px 22px -12px var(--liquid-shade,rgba(0,0,0,.24)),
    inset 0 1px 1px rgba(255,255,255,.42),
    inset 1px 0 2px rgba(255,255,255,.14),
    inset 0 -1px 1px rgba(255,255,255,.24),
    inset 0 0 16px rgba(255,255,255,.035);
  }
  :root[data-theme=light] #map .atlas-pin__label{--tag-glint:.16}
  :root #map .atlas-pin__label :is(strong,small){text-shadow:none}
 }
}

/* Dense nearby groups retain their real map positions. Reveal their tag only
   when the visitor asks for one, keeping the surrounding map easy to read. */
:root #map :is(.atlas-pin--service,.atlas-pin--home)[data-compact-labels=true] .atlas-pin__label{display:none}
:root #map :is(.atlas-pin--service,.atlas-pin--home)[data-compact-labels=false]:not([aria-expanded=true]) .atlas-pin__label{display:block}
:root #map :is(.atlas-pin--service,.atlas-pin--home)[data-compact-labels=true]:not([aria-expanded=true]):is(:hover,:focus-visible) .atlas-pin__label{display:block;pointer-events:auto}
/* Short phones keep the controls in a narrow rail, leaving the coastline clear. */
@media(max-width:760px) and (max-height:620px){
 :root #workspace .map-controls{top:calc(134px + env(safe-area-inset-top));gap:4px}
 :root #workspace .map-controls .zoom-controls{display:flex;flex-direction:column}
 :root #workspace .map-controls .zoom-controls button+button{border-left:0}
}
