/* HTGF community map (events + meet-ups) v1, 2026-11-01. Scoped to .hcm; brand tokens forest/cream/mustard/sage,
   Montserrat headings, Nunito body. Dark scheme via prefers-color-scheme (and .hcm--dark for previews). No cookies. */
.hcm{--hcm-forest:#214E3B;--hcm-ink:#15231B;--hcm-cream:#FAFAF6;--hcm-mustard:#E8B647;--hcm-sage:#8FA58A;
--hcm-bg:#FAFAF6;--hcm-card:#FFFFFF;--hcm-tx:#15231B;--hcm-mu:#4A5A4F;--hcm-ln:rgba(33,78,59,.18);--hcm-lk:#214E3B;
--hcm-h:#214E3B;--hcm-chip-bg:#FFFFFF;--hcm-chip-on:#214E3B;--hcm-chip-on-tx:#FAFAF6;--hcm-box:#F4EEDB;
display:block;box-sizing:border-box;max-width:100%;margin:1.2em 0 2.4em;padding:16px;border-radius:5px;
background:var(--hcm-bg);color:var(--hcm-tx);font-family:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.hcm *,.hcm *::before,.hcm *::after{box-sizing:border-box}
@media (prefers-color-scheme:dark){.hcm:not(.hcm--light){--hcm-bg:#15231B;--hcm-card:#1C2F25;--hcm-tx:#F2EFE6;--hcm-mu:#C2CDC4;
--hcm-ln:rgba(250,250,246,.18);--hcm-lk:#FFB98F;--hcm-h:#F2EFE6;--hcm-chip-bg:#1C2F25;--hcm-chip-on:#E8B647;
--hcm-chip-on-tx:#15231B;--hcm-box:#233B2F}
.hcm:not(.hcm--light) .hcm-map .leaflet-tile-pane{filter:brightness(.82) contrast(1.05) saturate(.85)}}
.hcm.hcm--dark{--hcm-bg:#15231B;--hcm-card:#1C2F25;--hcm-tx:#F2EFE6;--hcm-mu:#C2CDC4;--hcm-ln:rgba(250,250,246,.18);
--hcm-lk:#FFB98F;--hcm-h:#F2EFE6;--hcm-chip-bg:#1C2F25;--hcm-chip-on:#E8B647;--hcm-chip-on-tx:#15231B;--hcm-box:#233B2F}
.hcm.hcm--dark .hcm-map .leaflet-tile-pane{filter:brightness(.82) contrast(1.05) saturate(.85)}
.hcm p{margin:0 0 12px}
.hcm a{color:var(--hcm-lk);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.hcm a:hover{text-decoration-color:var(--hcm-mustard)}
.hcm a:focus-visible,.hcm button:focus-visible{outline:3px solid var(--hcm-mustard);outline-offset:2px;border-radius:3px}
.hcm .htgf-answer{font-size:18px;line-height:1.6;margin:0 0 14px;color:var(--hcm-tx)}
.hcm-checked{background:var(--hcm-box);border-left:4px solid var(--hcm-mustard);border-radius:5px;padding:12px 16px;margin:0 0 4px;font-size:15px}
.hcm-checked p{margin:0}
.hcm .hcm-checked .hcm-checked-h{margin:0 0 4px;font-family:'Montserrat',system-ui,sans-serif;color:var(--hcm-h)}
.hcm-checked-h strong{font-weight:800}
.hcm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:18px 0 10px}
.hcm-chips,.hcm-zoom{display:flex;flex-wrap:wrap;gap:8px}
.hcm button.hcm-chip,.hcm button.hcm-zbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;height:auto;margin:0;
padding:8px 16px;border-radius:999px;border:1.5px solid var(--hcm-forest);background:var(--hcm-chip-bg);color:var(--hcm-h);
font:700 15px/1.2 'Montserrat',system-ui,sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;cursor:pointer}
.hcm button.hcm-chip[aria-pressed="true"]{border-width:2px;border-color:var(--hcm-chip-on);box-shadow:inset 0 0 0 1px var(--hcm-chip-on)}
.hcm button.hcm-chip[aria-pressed="false"]{opacity:.62;border-style:dashed;text-decoration:line-through;text-decoration-thickness:1.5px}
.hcm button.hcm-chip b{font-weight:800}
.hcm button.hcm-zbtn{font-weight:600;font-size:14px;border-color:var(--hcm-ln)}
.hcm button.hcm-zbtn[aria-pressed="true"]{border-color:var(--hcm-mustard);box-shadow:inset 0 0 0 1.5px var(--hcm-mustard)}
.hcm-sw{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%}
.hcm-sw--ev{background:#214E3B;box-shadow:0 0 0 2px #FAFAF6}
.hcm-sw--gr{border:3.5px solid #8FA58A;background:rgba(143,165,138,.25);box-shadow:0 0 0 1px rgba(21,35,27,.45)}
.hcm-map{position:relative;z-index:0;height:min(64vh,540px);min-height:340px;border-radius:5px;overflow:hidden;
border:1px solid var(--hcm-ln);background:#DDE7DA}
.hcm .hcm-map-fallback{margin:0;padding:24px;color:#15231B}
.hcm .hcm-note{font-size:14px;color:var(--hcm-mu);margin:8px 0 0}
.hcm h2{font:800 clamp(22px,4.6vw,28px)/1.25 'Montserrat',system-ui,sans-serif;color:var(--hcm-h);margin:32px 0 8px;letter-spacing:-.01em}
.hcm h3{font:800 20px/1.3 'Montserrat',system-ui,sans-serif;color:var(--hcm-h);margin:28px 0 6px;padding-bottom:6px;border-bottom:2px solid var(--hcm-mustard)}
.hcm h3 .hcm-n{font-weight:600;font-size:15px;color:var(--hcm-mu)}
.hcm h4.hcm-city{font:700 16px/1.3 'Montserrat',system-ui,sans-serif;color:var(--hcm-tx);margin:16px 0 8px}
.hcm ul.hcm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:720px){.hcm ul.hcm-list{grid-template-columns:1fr 1fr}}
.hcm li.hcm-item{margin:0;padding:12px 14px;background:var(--hcm-card);border:1px solid var(--hcm-ln);border-left:5px solid #214E3B;border-radius:5px;list-style:none}
.hcm li.hcm-item--gr{border-left-color:#8FA58A}
.hcm li.hcm-item::before{content:none}
.hcm-item>span{display:block}
.hcm .hcm-tag{font:700 12px/1.3 'Montserrat',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--hcm-mu)}
.hcm .hcm-name{font:700 17px/1.35 'Montserrat',system-ui,sans-serif;margin:2px 0}
.hcm .hcm-name a{display:inline-block;min-height:44px;padding:8px 0}
.hcm .hcm-when{font-weight:600}
.hcm .hcm-area{font-size:15px;color:var(--hcm-mu)}
.hcm .hcm-src{font-size:14px;color:var(--hcm-mu);margin-top:4px}
.hcm .hcm-src a{display:inline-block;padding:12px 0;margin:-12px 0}
.hcm [hidden]{display:none!important}
.hcm .hcm-missing{margin:28px 0 0;padding:14px 16px;border-radius:5px;background:var(--hcm-box);border-left:4px solid var(--hcm-forest);font-weight:600}
.hcm .hcm-missing a{display:inline-block;padding:10px 0;margin:-10px 0}
.hcm .hcm-sources{font-size:14px;font-style:italic;color:var(--hcm-mu);margin-top:20px}
/* pins: a 44px tap target with the visible mark centred */
.hcm .hcm-pinwrap{background:none;border:0}
.hcm-pin{position:relative;display:block;width:44px;height:44px}
.hcm-pin i{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.hcm-pin .hcm-dot{width:18px;height:18px;background:#214E3B;border:2.5px solid #FAFAF6;box-shadow:0 1px 4px rgba(21,35,27,.5)}
.hcm-pin .hcm-ring{width:26px;height:26px;border:5px solid #8FA58A;background:rgba(143,165,138,.22);box-shadow:0 0 0 1px rgba(21,35,27,.55),inset 0 0 0 1px rgba(21,35,27,.3)}
.hcm-pin--both .hcm-ring{width:32px;height:32px}
.hcm-pin--both .hcm-dot{width:14px;height:14px;border-width:2px}
.hcm-pin .hcm-count{position:absolute;right:1px;top:1px;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#E8B647;
color:#15231B;font:800 11px/19px 'Montserrat',system-ui,sans-serif;text-align:center;box-shadow:0 0 0 1.5px #FAFAF6}
.hcm .leaflet-marker-icon.hcm-pinwrap:focus-visible{outline:3px solid #E8B647;outline-offset:-6px;border-radius:50%}
.hcm .leaflet-bar a{width:44px;height:44px;line-height:44px;font-size:22px;text-decoration:none;color:#214E3B}
.hcm .leaflet-container a.leaflet-popup-close-button{text-decoration:none}
.hcm .leaflet-control-attribution{background:rgba(250,250,246,.88);color:#15231B;font-size:11px}
.hcm .leaflet-control-attribution a{color:#214E3B}
.hcm .leaflet-popup-content-wrapper{border-radius:5px;background:var(--hcm-card);color:var(--hcm-tx);box-shadow:0 4px 18px rgba(21,35,27,.28)}
.hcm .leaflet-popup-tip{background:var(--hcm-card)}
.hcm .leaflet-popup-content{margin:10px 40px 10px 14px;font:15px/1.45 'Nunito',system-ui,sans-serif}
.hcm .leaflet-container a.leaflet-popup-close-button{width:40px;height:40px;font:24px/40px system-ui,sans-serif;color:var(--hcm-mu)}
.hcm-pop-item{padding:6px 0;border-top:1px solid var(--hcm-ln)}
.hcm-pop-item:first-child{border-top:0;padding-top:0}
.hcm-pop-item>*{display:block}
.hcm .hcm-pop-tag{font:700 11px/1.3 'Montserrat',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--hcm-mu)}
.hcm .hcm-pop-item--events .hcm-pop-tag::before,.hcm .hcm-pop-item--groups .hcm-pop-tag::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.hcm .hcm-pop-item--events .hcm-pop-tag::before{background:#214E3B}
.hcm .hcm-pop-item--groups .hcm-pop-tag::before{border:2.5px solid #8FA58A;width:10px;height:10px}
.hcm a.hcm-pop-name{display:flex;align-items:center;min-height:44px;padding:6px 0;font:700 15px/1.3 'Montserrat',system-ui,sans-serif;color:var(--hcm-lk)}
.hcm .hcm-pop-when{font-weight:600}
.hcm .hcm-pop-place{font-size:14px;color:var(--hcm-mu)}
@media (max-width:480px){.hcm{padding:14px 12px}.hcm .htgf-answer{font-size:17px}.hcm-bar{flex-direction:column;align-items:stretch}}
@media (prefers-reduced-motion:reduce){.hcm *{scroll-behavior:auto!important;transition:none!important}}
