.ss-discover{max-width:var(--ss-wide);margin-inline:auto}
.ss-filters fieldset{display:flex;flex-wrap:wrap;gap:var(--ss-space-3) var(--ss-space-5);align-items:end;margin-block:0}
.ss-filters .ss-field-inline{display:flex;flex-direction:column;gap:var(--ss-space-1)}
.ss-discover label{font-weight:600}
.ss-status{margin:var(--ss-space-4) 0}
.ss-map{height:min(70vh,28rem);margin:var(--ss-space-4) 0;border-radius:var(--ss-radius-m);border:1px solid var(--ss-border-soft)}
.ss-list{list-style:none;padding:0;display:grid;gap:var(--ss-space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.ss-pin span{position:relative;display:flex;align-items:center;justify-content:center;color:var(--ss-on-accent);font-size:14px;line-height:1;width:38px;height:38px;border-radius:50%;background:var(--ss-accent);border:3px solid var(--ss-surface);box-shadow:0 0 0 2px var(--ss-text);box-sizing:border-box}
.ss-pin-hh span{background:var(--ss-brand);color:var(--ss-on-brand)}
.ss-pin .ss-glyph{width:22px;height:22px;display:block}
.ss-pin-star{position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;line-height:1;background:var(--ss-text);color:var(--ss-bg);box-shadow:0 0 0 2px var(--ss-surface)}
.ss-legend{list-style:none;margin:var(--ss-space-3) 0 var(--ss-space-4);padding:0;display:flex;flex-wrap:wrap;gap:var(--ss-space-2) var(--ss-space-5);font-size:var(--ss-text-s);color:var(--ss-muted)}
.ss-legend[hidden]{display:none}
.ss-legend li{display:flex;align-items:center;gap:var(--ss-space-2)}
.ss-pin-demo{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--ss-accent);color:var(--ss-on-accent);border:3px solid var(--ss-surface);box-shadow:0 0 0 2px var(--ss-text);box-sizing:border-box}
.ss-pin-demo .ss-glyph{width:18px;height:18px}
.ss-pin-demo-hh{background:var(--ss-brand);color:var(--ss-on-brand)}
.ss-pin:focus-visible span{outline:3px solid var(--ss-focus);outline-offset:3px}

/* D2: filters as a card, list and map side by side from 1024px. */
.ss-filters{background:var(--ss-surface);border:1px solid var(--ss-border-soft);border-radius:var(--ss-radius-m);padding:var(--ss-space-4);box-shadow:var(--ss-shadow-1)}
.ss-filters fieldset{border:0;padding:0;min-width:0}
.ss-filters legend{font-family:var(--ss-font-display);font-size:var(--ss-text-l);font-weight:600;padding:0;margin-bottom:var(--ss-space-3)}
.ss-filters .ss-field{min-width:min(100%,9rem)}
.ss-filters .ss-hint{display:block;margin:var(--ss-space-1) 0 0}
.ss-split{display:grid;gap:var(--ss-space-4)}
.ss-side .ss-list{grid-template-columns:1fr}
@media (min-width:64rem){
	.ss-split{grid-template-columns:minmax(18rem,26rem) 1fr;align-items:start}
	.ss-split .ss-map{position:sticky;top:var(--ss-space-4);height:calc(100vh - 2rem);max-height:48rem;margin:0}
	#ss-map-toggle{display:none}
	.ss-side .ss-list{margin-top:0}
}
@media (min-width:40rem) and (max-width:63.99rem){.ss-side .ss-list{grid-template-columns:repeat(2,1fr)}}

/* D2 refinements: wide breakout from the theme's narrow content column, tidy filter grid. */
#ss-discover.ss-discover{width:min(var(--ss-wide),calc(100vw - 2rem));max-width:none;position:relative;left:50%;transform:translateX(-50%)}
.ss-filters fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ss-space-3);align-items:start}
.ss-filters legend{float:left;width:100%}
.ss-filters legend+*{clear:both}
.ss-filters .ss-field{min-width:0;display:flex;flex-direction:column;gap:var(--ss-space-1)}
.ss-filters .ss-field:first-of-type{grid-column:1/-1}
.ss-filters .ss-check{flex-direction:row;align-items:center;gap:var(--ss-space-2)}
.ss-filters .ss-check label{font-weight:500}
.ss-filters .ss-check{grid-column:1/-1}
.ss-filters .ss-button{grid-column:1/-1}
.ss-filters input,.ss-filters select{width:100%;box-sizing:border-box}
.ss-filters input[type=checkbox]{width:1.25rem;height:1.25rem;flex:none}
.ss-side .ss-card{padding:var(--ss-space-3) var(--ss-space-4)}
.ss-filters .ss-field{margin:0}
.ss-filters .ss-field:nth-of-type(4){grid-column:1/-1}
.ss-filters .ss-hint{white-space:normal}
.ss-filters fieldset>*{margin-block:0}
main:has(.ss-discover) .wp-block-post-title{width:min(var(--ss-wide),calc(100vw - 2rem));max-width:none}
.ss-pop-haunts{margin:.5rem 0;padding-left:1.1rem}.ss-pop-haunts span{font-weight:700}
.ss-pin-ended{opacity:.6}

/* D2 Nachtkaart: dark map. The OpenStreetMap tiles are inverted and tinted in the browser, so no second map provider is needed. */
.ss-map,.ss-homemap{background:#0a0d11;border-color:var(--ss-border-soft);overflow:hidden}
.ss-map .leaflet-tile-pane,.ss-homemap .leaflet-tile-pane{filter:invert(1) hue-rotate(190deg) brightness(.8) contrast(.92) saturate(.5)}
.ss-map .leaflet-container,.ss-homemap.leaflet-container,.ss-map.leaflet-container{background:#0a0d11;font-family:var(--ss-font-body)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--ss-surface);color:var(--ss-text);border:1px solid var(--ss-border-soft);box-shadow:var(--ss-shadow-2)}
.leaflet-popup-content-wrapper{border-radius:var(--ss-radius-m)}
.leaflet-popup-content a{color:var(--ss-link)}
.leaflet-popup-content a.ss-button{color:var(--ss-on-accent)}
.leaflet-container a.leaflet-popup-close-button{color:var(--ss-muted)}
.leaflet-bar a,.leaflet-bar a:hover{background-color:var(--ss-surface);color:var(--ss-text);border-bottom-color:var(--ss-border-soft)}
.leaflet-bar a:hover{background-color:var(--ss-sunken)}
.leaflet-bar{border:1px solid var(--ss-border-soft);box-shadow:none}
.leaflet-control-attribution,.leaflet-control-attribution a{background:color-mix(in srgb,var(--ss-bg) 85%,transparent);color:var(--ss-muted)}
.leaflet-control-attribution a{color:var(--ss-link)}
/* Pins: rounded squares with a soft glow, amber for places, teal for Hidden Haunts. */
.ss-pin span,.ss-pin-demo{border-radius:11px;border:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--ss-accent) 32%,transparent),0 2px 8px rgba(0,0,0,.5)}
.ss-pin-hh span,.ss-pin-demo-hh{box-shadow:0 0 0 3px color-mix(in srgb,var(--ss-brand) 32%,transparent),0 2px 8px rgba(0,0,0,.5)}
.ss-pin span{width:36px;height:36px}
.ss-pin-star{background:var(--ss-text);color:var(--ss-bg);box-shadow:0 0 0 2px var(--ss-bg)}
.ss-pin:hover span{transform:scale(1.1)}
/* Map first: on narrow screens the map comes above the filters. */
@media (max-width:63.99rem){
	.ss-split .ss-map{order:-1;height:min(48vh,26rem);margin:0}
	.ss-split{display:flex;flex-direction:column}
}
.ss-card{transition:border-color var(--ss-motion-base) var(--ss-ease),transform var(--ss-motion-base) var(--ss-ease)}
.ss-card:hover{border-color:var(--ss-accent)}
/* Home map */
.ss-homemap{height:min(60vh,30rem);border:1px solid var(--ss-border-soft);border-radius:var(--ss-radius-l);margin:0 0 var(--ss-space-3)}
.ss-homemap[hidden]{display:none}

/* F1: quick dates, view switch and month calendar */
.ss-list[hidden],.ss-calwrap[hidden]{display:none}
.ss-quick-dates{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--ss-space-2)}
.ss-views{display:flex;gap:var(--ss-space-2);margin:var(--ss-space-3) 0}
.ss-views .ss-button[aria-pressed="true"]{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-on-accent)}
.ss-calwrap{margin-block:var(--ss-space-3)}
.ss-cal-nav{display:flex;align-items:center;gap:var(--ss-space-2);flex-wrap:wrap;margin-bottom:var(--ss-space-2)}
.ss-cal-nav strong{flex:1 1 8rem;text-align:center;font-family:var(--ss-font-display);font-size:var(--ss-text-l);text-transform:capitalize}
.ss-cal{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}
.ss-cal th{font-size:var(--ss-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ss-muted);padding:var(--ss-space-1) 0;text-align:center}
.ss-cal td{height:3.25rem;padding:0;text-align:center;vertical-align:middle;border-radius:var(--ss-radius-s);background:var(--ss-surface);border:1px solid var(--ss-border-soft)}
.ss-cal td.ss-cal-off{background:transparent;border-color:transparent}
.ss-cal td.ss-cal-today{border-color:var(--ss-accent)}
.ss-cal-num{color:var(--ss-muted);font-size:var(--ss-text-s)}
.ss-cal-day{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:44px;color:var(--ss-text);font-weight:700;border-radius:var(--ss-radius-s)}
.ss-cal-day:hover{background:var(--ss-sunken)}
.ss-cal-day:focus-visible{outline:3px solid var(--ss-focus);outline-offset:1px}
.ss-cal-day[aria-pressed="true"]{background:var(--ss-accent);color:var(--ss-on-accent)}
.ss-cal-n{font-size:var(--ss-text-xs);font-weight:600;color:var(--ss-accent)}
.ss-cal-day[aria-pressed="true"] .ss-cal-n{color:var(--ss-on-accent)}
.ss-cal-h{margin:var(--ss-space-4) 0 var(--ss-space-2);font-family:var(--ss-font-display);text-transform:capitalize}
@media (max-width:30rem){.ss-cal td{height:2.9rem}.ss-cal-nav .ss-ghost{margin-left:auto}}
.ss-filters .ss-field{min-width:0}.ss-filters select,.ss-filters input[type=date],.ss-filters input[type=number]{width:100%;max-width:100%;box-sizing:border-box}
.ss-filters select,.ss-filters input[type=date],.ss-filters input[type=number]{min-width:0}
.ss-quick-dates .ss-button,.ss-views .ss-button,.ss-cal-nav .ss-button{min-height:44px;min-width:44px}
