/* Top-level events map review: homepage palette and typography, 8px spacing grid. */
:root{--background:#f4f4ee;--surface:#fffefa;--primary:#285b4f;--secondary:#18332e;--accent:#d4ef7a;--muted:#66736c;--border:#dfe4dc;--success:#28734a;--warning:#986222;--danger:#9b3f37;--ink:#18332e;--land:#e4edda;--filter-surface:#e9ede5;--filter-border:#dce2d8;--filter-muted:#596b62;--hero-text:#f6f9f1;--hero-muted:#cfdcd2;--hero-eyebrow:#b9d399;--shadow:0 14px 40px rgba(24,51,46,.07)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font-family:inherit}
.map-review-hero{position:relative;margin:0 -34px;padding:40px 34px 32px;border:0;background:var(--primary);box-shadow:0 0 0 100vmax var(--primary);clip-path:inset(0 -100vmax)}.map-review-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--accent);box-shadow:0 0 0 100vmax var(--accent);clip-path:inset(0 -100vmax)}
.map-review-hero h1{color:var(--hero-text);font-size:clamp(30px,4vw,52px);line-height:1.1;font-weight:500;letter-spacing:-.025em;margin:8px 0 16px}.map-review-hero .eyebrow{color:var(--hero-eyebrow);font-family:inherit}.map-review-hero .lead{max-width:none;width:100%;color:var(--hero-muted);font-size:18px;line-height:1.6}
.event-filter-bar{padding:16px;background:var(--filter-surface);border:1px solid var(--filter-border);border-radius:17px;box-shadow:none;margin-top:24px}
.event-filter-bar h2{font:800 12px/1.4 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}.event-filter-bar>p{font-size:12px;color:var(--filter-muted);margin:0 0 16px}
.event-filter-fields{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.event-filter-fields>.category-multi{display:grid;gap:4px;flex:1 1 232px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.category-multi>.filter-label{font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.category-trigger{min-height:36px;width:100%;padding:7px 0 0;border:0;background:transparent;color:var(--ink);font:700 13px/1.4 Inter,ui-sans-serif,system-ui,sans-serif}
.category-multi{position:relative}.category-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.category-trigger .filter-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-chevron{flex:none;transition:transform .2s}.category-trigger[aria-expanded="true"] .category-chevron{transform:rotate(180deg)}
.category-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(300px,calc(100vw - 68px));max-height:min(400px,70vh);overflow:auto;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #172c3033}.category-menu[hidden]{display:none}.category-menu-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:1px 5px 8px;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px}.category-menu-head button{min-height:32px;padding:3px 0;border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:700;cursor:pointer}
#month-menu{left:auto;right:0}
.category-group+.category-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.category-menu .category-option{display:flex;align-items:center;gap:9px;min-height:40px;padding:6px 7px;border-radius:8px;color:var(--ink);font-size:12px;font-weight:500;cursor:pointer}.category-menu .category-option:hover,.category-menu .category-option:focus-within{background:var(--background)}.category-menu .category-group-option{font-weight:700;color:var(--secondary)}.category-children{padding-left:7px;margin-left:17px;border-left:1px solid var(--border)}.category-option input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--primary)}.category-menu-help{font-size:10px!important;line-height:1.5;margin:6px 5px 9px!important}.category-done{width:100%;min-height:40px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;cursor:pointer}
#reset-filters{min-height:44px;padding:8px 12px;align-self:center;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#reset-filters:hover{color:var(--secondary)}
.event-filter-fields>.fixed-location-filter{display:flex;align-items:center;gap:8px;flex:0 1 216px;min-height:66px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.fixed-location-filter input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--primary)}.fixed-location-filter small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.fixed-location-filter:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.event-workspace{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(320px,.9fr);grid-template-areas:'map list' 'detail list';align-items:stretch;gap:16px;margin-top:16px}.event-map-card,.event-list-card,.event-detail-card{min-width:0;border:1px solid var(--border);border-radius:19px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.event-map-card{grid-area:map}.event-list-card{grid-area:list;display:flex;flex-direction:column}.event-detail-card{grid-area:detail;padding:24px;min-height:180px;background:linear-gradient(135deg,var(--background),var(--surface))}
.event-card-head{padding:16px 24px 8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.event-card-head h2{font:700 16px/1.3 Arial,sans-serif;letter-spacing:0;margin:0}.event-card-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.event-map-controls{display:flex;gap:8px;align-items:center}.event-map-controls button{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--secondary);font-size:20px;line-height:1;cursor:pointer}.event-map-controls button:hover{border-color:var(--primary);background:var(--background)}#zoom-reset{font-size:12px;font-weight:700;padding:8px 12px}
.event-map-viewport{position:relative;width:calc(100% - 32px);aspect-ratio:1200/530;min-height:280px;overflow:hidden;margin:8px 16px;background:var(--background);border-radius:8px;touch-action:none}.event-map-viewport svg{display:block;width:100%;height:100%;cursor:grab}.event-map-viewport svg:active{cursor:grabbing}.event-land{fill:var(--land);stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}
.event-map-markers{position:absolute;inset:0;pointer-events:none}.event-pin{position:absolute;display:grid;place-items:center;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;pointer-events:auto;font:700 12px/1 Arial,sans-serif;color:var(--secondary);z-index:1}.event-pin::before{content:'';position:absolute;width:16px;height:16px;background:var(--primary);border:3px solid var(--surface);border-radius:50%;box-shadow:0 2px 8px #172c3055}.event-pin--cluster{color:#fff}.event-pin--cluster::before{width:40px;height:40px;border:3px solid var(--surface);background:var(--secondary)}.event-pin--cluster{isolation:isolate}.event-pin--cluster::before{z-index:-1}.event-pin--uncertain::before{background:var(--surface);border:3px solid var(--warning)}.event-pin:hover::before,.event-pin[aria-pressed="true"]::before{background:var(--accent);border-color:var(--secondary)}.event-pin:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:50%;z-index:3}
.map-tooltip{position:absolute;z-index:4;max-width:220px;padding:8px 12px;border-radius:8px;background:var(--secondary);color:#fff;font:600 12px/1.4 Arial,sans-serif;pointer-events:none;box-shadow:0 8px 24px #172c3055}.map-tooltip[hidden]{display:none}.event-map-foot{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;padding:8px 24px 16px;color:var(--muted);font-size:11px;line-height:1.5}.event-map-foot p{margin:0}.event-map-foot .map-key{display:flex;align-items:center;gap:8px}.map-key i{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--primary);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.map-key i.pending{background:var(--surface);border:2px solid var(--warning)}
.cluster-popover{position:absolute;z-index:5;width:min(300px,calc(100% - 16px));max-height:240px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #172c3055}.cluster-popover[hidden]{display:none}.cluster-popover p{margin:0;padding:8px;font-size:12px;font-weight:700}.cluster-popover button{display:block;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--secondary);font:600 13px/1.4 Arial,sans-serif;text-align:left;cursor:pointer}.cluster-popover button:hover{background:var(--background)}
.event-list-card{align-self:start}.event-list-card .event-card-head{border-bottom:1px solid var(--border);flex-shrink:0}.event-count{font-size:12px;color:var(--primary);font-weight:700}.event-list{list-style:none;padding:0;margin:0;overflow:auto;max-height:640px}.event-list li+li{border-top:1px solid var(--border)}.event-list button{display:grid;gap:3px;width:100%;min-height:64px;padding:12px 24px;text-align:left;background:transparent;border:0;color:var(--ink);cursor:pointer;font:400 12px/1.4 Arial,sans-serif}.event-list button:hover,.event-list button[aria-pressed="true"]{background:var(--background)}.event-list button[aria-pressed="true"]{box-shadow:inset 4px 0 var(--primary)}.event-list strong{font-size:14px;color:var(--secondary)}.event-list-place{color:var(--muted)}.event-list-meta{color:var(--primary);font-weight:700}.empty-state{padding:16px 24px;color:var(--muted)}
.event-detail-card[hidden]{display:none}.event-detail-card .detail-kicker{font:700 11px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin:0 0 8px}.event-detail-card h3{font-size:28px;margin:0 0 8px}.detail-place{color:var(--muted);font-size:14px;margin-bottom:16px}.detail-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.detail-facts span{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;font-weight:700}.detail-note{font-size:13px;line-height:1.6;max-width:70ch;margin:0 0 8px}.event-detail-card a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:700}.event-detail-card h3 a{font-size:inherit;line-height:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px}
.tennis-guide-link{margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.tennis-guide-link a{color:var(--primary);font-weight:700}.tennis-guide-link span{font-size:12px}.event-detail-card a+a{margin-left:16px}
.event-method{max-width:900px;padding:24px 0 48px}.event-method h2{font-size:26px}.event-method p,.event-method li{font-size:13px;line-height:1.7;color:var(--muted)}.event-method ul{padding-left:24px;margin:0 0 16px}.event-method li+li{margin-top:8px}
.event-card-head h2,.event-pin,.map-tooltip,.cluster-popover button,.event-list button,.event-detail-card .detail-kicker{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
@media(max-width:900px){.wn-header-inner{flex-wrap:wrap;gap:8px}.wn-nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:4px}.wn-nav a{min-height:44px;white-space:normal}}
@media(max-width:1024px){.event-workspace{grid-template-columns:1fr;grid-template-areas:'map' 'detail' 'list'}.event-list{max-height:360px}}@media(max-width:768px){.shell{padding-left:14px;padding-right:14px}.map-review-hero{margin:0 -14px;padding:26px 14px 30px}.map-review-hero .lead{font-size:16px}.event-map-viewport{min-height:240px}.event-filter-bar{padding:16px}.event-map-controls{gap:4px}.event-card-head{padding:16px}.event-map-foot{padding:8px 16px 16px}}@media(max-width:520px){.event-map-viewport{width:calc(100% - 16px);min-height:280px;margin:8px}.event-card-head{align-items:start}.event-card-head h2{max-width:180px}.event-map-controls{flex-wrap:wrap;justify-content:end}.event-map-controls button{min-width:40px;min-height:40px}.event-map-foot{display:block}.event-map-foot .map-key{margin-top:8px}.event-list{max-height:400px}.event-filter-fields>.fixed-location-filter{flex:1 1 100%}}
@media(max-width:520px){.wn-nav a{flex:1 1 30%;justify-content:center;text-align:center;padding:8px}}
@media print{.map-review-hero{margin:0;background:none;box-shadow:none;clip-path:none}.map-review-hero::after{display:none}.map-review-hero h1,.map-review-hero .lead{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.category-chevron{transition:none}}
