.map-modes{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid #e2ded6;border-radius:28px;background:#fff;width:fit-content;margin:20px 0}
.map-modes button{font:600 14px 'DM Sans',sans-serif;border:0;background:#fff;color:#183b31;border-radius:24px;padding:12px 18px;cursor:pointer;min-height:44px}.map-modes button.selected{background:#183b31;color:#fff}
.map-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.map-filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.map-filters input,.map-filters select{width:100%}.map-filters [hidden]{display:none}.map-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:15px 0}.map-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:#183b31;margin-right:7px}.map-legend span+span:before{background:#bb7144}.pc-map-pin{background:none;border:0}.pc-map-pin span{display:block;width:24px;height:24px;background:#183b31;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0004}.pc-event-pin span{background:#bb7144}
@media(max-width:650px){.map-filters{grid-template-columns:1fr}.map-modes{width:100%;border-radius:24px}.map-modes button{flex:1;padding:11px 8px;font-size:13px}.map-wrap{scroll-margin-top:90px}}
.map-wrap>.button{border:0;cursor:pointer;font:700 14px 'DM Sans',sans-serif;min-height:44px}
/* Reference layout, scoped to the existing primary map only. */
.pc-map-editorial{padding-top:30px}.pc-map-heading{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center;margin-bottom:26px}.pc-map-intro .eyebrow{margin:0 0 10px}.pc-map-intro h2{font-size:clamp(26px,2.3vw,34px);font-weight:600;line-height:1.25;margin:0;color:#183b31;max-width:560px}.pc-map-intro:after{content:'';display:block;width:58px;height:3px;background:#b76832;margin-top:18px}.pc-map-choices .map-modes{margin:0;display:flex;width:100%;padding:0;gap:5px;background:transparent;border:0;border-radius:0;flex-wrap:nowrap}.pc-map-choices .map-modes button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 12px;border:1px solid #b76832;color:#a45829;background:#fffdf9;font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:700;white-space:nowrap;min-height:52px}.pc-map-choices .map-modes button.selected{background:#1b543e;color:#fff;border-color:#1b543e}.map-modes svg{width:22px;height:22px;flex-shrink:0}.pc-map-choices .note{text-align:center;margin:13px 0 0;font-size:13px}
.pc-map-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:stretch}.pc-map-sidebar{background:#fffdf9;border:1px solid #e8e0d5;border-radius:16px;padding:22px 18px;align-self:start;box-shadow:0 2px 10px #402b1605}.pc-map-sidebar .map-filters{display:flex;flex-direction:column;gap:20px;margin:0 0 22px}.pc-map-sidebar .map-filters label{gap:9px;font-size:14px}.pc-map-sidebar input,.pc-map-sidebar select{padding:13px 12px;border-radius:9px;border-color:#dfd5c8;background:#fffdf9;font-size:14px;min-height:48px}.pc-map-sidebar>.button{border:1px solid #d9cbbb;background:transparent;color:#183b31;border-radius:9px;cursor:pointer;font:600 13px 'DM Sans',Arial,sans-serif;width:100%;min-height:44px}.pc-map-sidebar>.button:hover{background:#f5efe5}.pc-map-surface{position:relative;min-width:0}.pc-map-surface #map{height:520px;border-radius:16px;border-color:#e6dfd4}.pc-map-surface .map-legend{position:absolute;z-index:500;right:16px;top:16px;display:flex;flex-direction:column;gap:15px;background:#fffdf9f5;border:1px solid #e4dcd1;border-radius:13px;box-shadow:0 4px 15px #183b3114;padding:15px 18px;margin:0;pointer-events:none}.pc-map-surface .map-legend span{display:flex;align-items:center;gap:9px;font-weight:600;color:#183b31}.pc-map-surface .map-legend span:before{display:none}.map-legend svg{width:23px;height:23px}.pc-map-surface .map-legend span+span{color:#a45829}.pc-map-pin span{width:34px;height:34px;background:#0d4937;display:flex;align-items:center;justify-content:center}.pc-map-pin svg{width:20px;height:20px;color:#fff;transform:rotate(45deg)}.pc-event-pin span{background:#b76832}.pc-map-editorial>#map-note{margin-top:14px}
@media(max-width:1100px){.pc-map-heading{grid-template-columns:1fr;gap:24px}.pc-map-intro h2{max-width:100%}.pc-map-layout{grid-template-columns:230px minmax(0,1fr)}.pc-map-surface #map{height:530px}.pc-map-surface .map-legend{right:10px;top:10px;padding:10px 12px;font-size:12px}}
@media(max-width:700px){.pc-map-layout{grid-template-columns:1fr}.pc-map-sidebar{padding:18px}.pc-map-sidebar .map-filters{gap:15px}.pc-map-heading{gap:22px}.pc-map-choices .map-modes button{font-size:13px;gap:5px;padding:12px 5px;min-width:0}.map-modes svg{width:18px;height:18px}.pc-map-surface #map{height:420px}.pc-map-surface .map-legend{position:static;flex-direction:row;flex-wrap:wrap;margin-top:10px;box-shadow:none;justify-content:center;border:0;background:transparent}.pc-map-editorial{padding-top:22px}}
@media(max-width:700px){.pc-map-choices .map-modes button{flex-direction:column;gap:6px;padding:10px 3px;font-size:clamp(10px,3.15vw,13px);min-height:68px}}
