/* Independent map layer: existing calendar tickets, filters and header keep their styles. */
.cmp-map-entry{margin:0 0 24px}.cmp-map-preview{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:168px;padding:25px 30px;border:1px solid var(--appearance-border,#cbd1c6);border-radius:17px;overflow:hidden;text-align:left;cursor:pointer;background:#e6eee1;color:#14231d;box-shadow:0 3px 12px #14231d08}
.cmp-map-preview::before{content:"";position:absolute;inset:0;z-index:-2;background:url('calendar-map-preview.svg?v=20261015-3') center/cover no-repeat}.cmp-map-preview::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f5f0 0%,#f4f5f0f5 28%,#f4f5f095 50%,#f4f5f000 76%)}
.cmp-map-preview strong{display:block;max-width:390px;font-size:clamp(21px,2.8vw,31px);line-height:1.15;letter-spacing:-.5px}.cmp-map-preview small{display:block;margin-top:10px;font-size:13px;font-weight:400;color:#46584c}.cmp-map-preview .cmp-map-open{display:flex;align-items:center;gap:10px;align-self:flex-end;flex-shrink:0;background:#d5f273;color:#14231d;padding:13px 19px;border-radius:10px;font-size:14px;font-weight:750;box-shadow:0 2px 8px #14231d18}.cmp-map-preview svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.cmp-map-preview:hover{border-color:#839d49}.cmp-map-preview:focus-visible{outline:3px solid #8ba449;outline-offset:4px}
.cmp-map-consent{font-size:11px;line-height:1.5;margin:8px 3px 0;color:var(--muted,#69736c)}.cmp-map-consent a{text-decoration:underline;text-underline-offset:2px}
/* The expanded map uses the actual shared page header, navigation and footer. */
.cmp-map-page{--map-paper:var(--bg,#f4f5f0);--map-card:var(--panel,#fff);--map-ink:var(--text,#14231d);--map-muted:var(--muted,#59685f);--map-border:var(--line,#cdd5cb);padding:24px 0 0;color:var(--map-ink)}
.cmp-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.cmp-map-head h2{font-size:clamp(25px,3vw,38px);line-height:1.1;letter-spacing:-1px;margin:0}.cmp-map-head h2:focus{outline:none}.cmp-map-head p{font-size:13px;color:var(--map-muted);margin:7px 0 0}.cmp-map-close{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;background:transparent;border:1px solid var(--map-border);border-radius:12px;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:10px 13px}.cmp-map-close b{font-size:24px;line-height:20px;font-weight:400}
.cmp-map-filters{display:flex;gap:10px;margin:0 0 16px;flex-wrap:wrap;align-items:center}.cmp-map-filters label{min-width:0}.cmp-map-filters input[type=search],.cmp-map-filters select{font:inherit;font-size:13px;line-height:20px;min-height:42px;padding:10px 12px;width:100%;max-width:220px;border:1px solid var(--map-border);border-radius:12px;background:var(--map-card);color:var(--map-ink)}.cmp-map-filters .cmp-map-search{flex:1;min-width:160px}.cmp-map-filters .cmp-map-search input{max-width:none}.cmp-map-filters button,.cmp-map-retry{padding:10px 16px;border:0;background:#d5f273;color:#14231d;font:inherit;font-size:13px;font-weight:700;border-radius:10px;cursor:pointer;min-height:42px}
.cmp-map-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.cmp-map-summary p{font-size:13px;color:var(--map-muted);margin:0}.cmp-map-main{display:grid;grid-template-columns:minmax(360px,38%) minmax(0,1fr);height:clamp(500px,73dvh,820px);border:1px solid var(--map-border);border-radius:18px;overflow:hidden;background:var(--map-paper)}.cmp-map-cards{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:16px;scroll-behavior:smooth;position:relative}.cmp-map-canvas{position:relative;min-height:0;min-width:0;overflow:hidden}.cmp-map-surface{height:100%;width:100%;background:#e3e9df;z-index:0}.cmp-map-tile-error{position:absolute;top:12px;left:50px;right:12px;z-index:500;background:var(--map-card);color:var(--map-ink);border-radius:8px;padding:10px;font-size:12px;box-shadow:0 3px 12px #0002}
/* Calendar classes and the shared image renderer preserve both saved device layouts. */
.calendar-list .cmp-map-card.event-ticket-body{display:grid;grid-template-columns:30% minmax(0,1fr);gap:0;min-height:180px;position:relative;margin:0 0 14px;border:1px solid var(--map-border);border-radius:12px;overflow:hidden;background:var(--map-card)}.cmp-map-card.is-selected{outline:2px solid #8ba449;outline-offset:-1px;box-shadow:0 3px 12px #14231d14}.calendar-list .cmp-map-card .cmp-map-photo{height:100%;min-height:180px}.cmp-map-photo{position:relative;overflow:hidden;background:#111214;min-width:0}.cmp-map-photo>img.calendar-card-image{position:absolute;inset:auto;display:block;width:var(--card-render-width,100%);height:var(--card-render-height,100%);left:var(--card-render-left,0);top:var(--card-render-top,0);max-width:none;max-height:none;object-fit:contain;transform:none}.cmp-map-no-photo{display:grid;place-items:center;height:100%;min-height:150px;font-size:12px;color:#d5f273;padding:10px}.calendar-list .cmp-map-copy.event-copy{padding:16px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.calendar-list .cmp-map-copy h3{margin:0;font-size:18px;line-height:1.18;letter-spacing:-.3px}.cmp-map-select{padding:0;border:0;text-align:left;font:inherit;letter-spacing:inherit;font-weight:750;color:inherit;background:none;cursor:pointer;display:block;overflow-wrap:anywhere}.cmp-map-select:hover{text-decoration:underline}.calendar-list .cmp-map-copy .event-facts{display:grid;gap:6px;font-size:11px;line-height:1.4;margin:0;color:var(--map-muted)}.cmp-map-copy .event-facts p{display:flex;gap:6px;align-items:flex-start;margin:0}.cmp-map-copy .event-facts svg{flex:none;width:13px;height:13px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.7}.cmp-map-accuracy{font-size:10px;line-height:1.35;color:var(--map-muted);margin:0}.cmp-map-accuracy:empty{display:none}.cmp-map-event-link{display:inline-block;font-size:12px;line-height:1.5;color:inherit;font-weight:750;margin-top:auto;text-decoration:none}.cmp-map-event-link:hover{text-decoration:underline}.cmp-map-cancel{position:absolute!important;left:4%;top:50%;width:92%;height:auto;max-height:65%;object-fit:contain;transform:translateY(-50%) rotate(-8deg);filter:drop-shadow(0 1px 2px white)}
.cmp-map-controls{display:none;align-items:center;justify-content:center;gap:16px;margin:10px 0 0;color:var(--map-muted);font-size:11px}.cmp-map-controls button{min-height:44px;min-width:44px;border:1px solid var(--map-border);border-radius:50%;font-size:24px;background:var(--map-card);color:var(--map-ink);cursor:pointer}
/* One highly visible pin colour for every event; selection changes only its outline. */
.cmp-map-marker-wrap{background:none!important;border:0!important;pointer-events:none!important}.cmp-map-marker{pointer-events:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 2px;transform:rotate(-45deg);background:#d5f273;border:2px solid #183b2a;box-shadow:0 0 0 2px #fff,0 3px 8px #0007;margin:4px}.cmp-map-marker::after{content:"";width:8px;height:8px;border-radius:50%;background:#183b2a}.cmp-map-marker.selected{box-shadow:0 0 0 3px #fff,0 0 0 6px #183b2a,0 4px 12px #0007}.cmp-map-cluster{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#d5f273;border:2px solid #183b2a;font-size:15px;font-weight:800;color:#183b2a;box-shadow:0 0 0 2px white,0 3px 8px #0006}.cmp-map-cluster.selected{box-shadow:0 0 0 3px white,0 0 0 5px #183b2a}.cmp-map-cluster-menu{display:grid;gap:5px;max-height:210px;overflow:auto}.cmp-map-cluster-menu button{font:inherit;font-size:13px;padding:9px;border:1px solid #d3dbce;border-radius:6px;background:white;color:#14231d;cursor:pointer}.cmp-map-popup strong{font-size:14px}.cmp-map-popup p{margin:5px 0!important;font-size:11px}.cmp-map-popup a{color:#335d28!important}.cmp-map-empty{font-size:14px;line-height:1.6;padding:12px;color:var(--map-muted)}
@media(max-width:1000px) and (min-width:701px){.cmp-map-main{grid-template-columns:minmax(325px,42%) minmax(0,1fr)}.cmp-map-filters{gap:7px}.cmp-map-filters select{max-width:155px}.cmp-map-cards{padding:12px}.calendar-list .cmp-map-copy.event-copy{padding:13px 11px}.calendar-list .cmp-map-copy h3{font-size:17px}}
@media(max-width:700px){.cmp-map-entry{margin-bottom:19px}.cmp-map-preview{min-height:146px;padding:16px 18px;align-items:flex-start;flex-direction:column;gap:14px;border-radius:13px}.cmp-map-preview strong{font-size:22px;max-width:235px}.cmp-map-preview small{display:none}.cmp-map-preview::after{background:linear-gradient(90deg,#f4f5f0f5,#f4f5f0b0 53%,#f4f5f000)}.cmp-map-preview .cmp-map-open{align-self:flex-start;padding:9px 13px;min-height:40px;font-size:12px}.cmp-map-consent{font-size:10px;line-height:1.5;margin:7px 1px 0}.cmp-map-page{padding-top:20px}.cmp-map-head{gap:10px;margin-bottom:16px}.cmp-map-head h2{font-size:26px;max-width:240px}.cmp-map-head p{display:none}.cmp-map-close{padding:8px;flex:none}.cmp-map-close span{display:none}.cmp-map-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.cmp-map-filters .cmp-map-search{grid-column:1/3;grid-row:1;min-width:0}.cmp-map-filters>button{grid-column:3;grid-row:1;padding:8px;min-height:40px}.cmp-map-filters>label:not(.cmp-map-search){grid-row:2}.cmp-map-filters input[type=search],.cmp-map-filters select{min-height:40px;font-size:12px;padding:8px;max-width:none;width:100%;min-width:0}.cmp-map-main{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(300px,55dvh,560px) auto;border-radius:14px}.cmp-map-canvas{grid-row:1}.cmp-map-cards{grid-row:2;display:flex;gap:12px;padding:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:12px;border-top:1px solid var(--map-border);scrollbar-width:thin;align-items:stretch}.calendar-list .cmp-map-card.event-ticket-body{grid-template-columns:28% minmax(0,1fr);flex:0 0 calc(100% - 12px);max-width:460px;min-height:150px;height:auto;margin:0;scroll-snap-align:start;align-self:stretch}.calendar-list .cmp-map-card .cmp-map-photo{height:100%;min-height:150px}.calendar-list .cmp-map-copy.event-copy{padding:10px 12px;gap:6px}.calendar-list .cmp-map-copy h3{font-size:17px;line-height:1.17;letter-spacing:-.25px}.calendar-list .cmp-map-copy .event-facts{font-size:10px;gap:5px}.cmp-map-copy .event-facts svg{width:12px;height:12px}.cmp-map-accuracy{font-size:9px}.cmp-map-event-link{font-size:11px}.cmp-map-controls{display:flex}.cmp-map-cards .cmp-map-empty{flex:1}.cmp-map-surface .leaflet-control-attribution{font-size:9px}}
@media(max-width:359px){.calendar-list .cmp-map-copy.event-copy{padding:10px}.calendar-list .cmp-map-copy h3{font-size:16px}.cmp-map-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.cmp-map-cards{scroll-behavior:auto}}

/* Red marks editorial priority; selection keeps an additional ring. */
.cmp-map-marker.is-priority,.cmp-map-cluster.has-priority{background:#e23f38;border-color:#791c19;color:white}.cmp-map-marker.is-priority::after{background:white}.cmp-map-marker.is-priority.selected,.cmp-map-cluster.has-priority.selected{box-shadow:0 0 0 3px white,0 0 0 6px #791c19,0 4px 12px #0007}
#calendar-visibility-controls label{display:flex;align-items:center;gap:12px;margin:14px 0}#calendar-visibility-controls input[type=checkbox]{width:24px;height:24px;flex:0 0 24px}

#calendar-feed>.meet-card{border:1px solid #8a9682;border-radius:18px;overflow:hidden;margin:20px 0}#calendar-feed>.meet-card>a{display:grid;grid-template-columns:minmax(180px,35%) 1fr;color:inherit;text-decoration:none}#calendar-feed .meet-card-copy{padding:24px}#calendar-feed .calendar-card-frame{display:block;position:relative;min-height:220px;background:#141716;overflow:hidden}#calendar-feed .calendar-card-frame img{display:block;width:100%;height:100%;max-height:320px;object-fit:contain}#calendar-feed .meet-date{font-weight:700}@media(max-width:650px){#calendar-feed>.meet-card>a{grid-template-columns:1fr}#calendar-feed .calendar-card-frame{height:230px}}
