.cb-map-section{max-width:1160px;margin:20px auto 28px;padding:0 20px;color:var(--navy,#1A1A2E);font-family:'Inter',sans-serif}
.cb-map-section [hidden],.cal-a-section[hidden],.grid-wrap[hidden],.cb-list-heading[hidden]{display:none!important}
.cb-view-switch{display:flex;justify-content:center;gap:5px;margin:0 auto 14px;padding:5px;border:1.5px solid var(--gray-200,#E9ECEF);border-radius:99px;background:#fff;width:max-content;box-shadow:0 4px 16px #1a1a2e08}
.cb-view-switch button{font:800 15px 'Nunito',sans-serif;border:0;border-radius:99px;padding:10px 25px;background:transparent;color:var(--navy,#1A1A2E);cursor:pointer;min-height:44px;transition:background .18s,color .18s}
.cb-view-switch button:hover{background:var(--orange-light,#FFF0EA);color:#B54119}
.cb-view-switch button[aria-pressed=true]{background:var(--orange,#FF6B35);color:#fff;box-shadow:0 4px 12px #ff6b3526}
.cb-map-free{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 auto 26px;padding:5px 13px;border:1px solid var(--gray-200,#E9ECEF);border-radius:99px;background:var(--gray-100,#F8F9FA);font:700 13px 'Nunito',sans-serif;color:var(--navy,#1A1A2E);min-height:40px;width:max-content;cursor:pointer}
.cb-map-free input{width:17px;height:17px;accent-color:var(--orange,#FF6B35)}
.cb-map-heading{text-align:center}.cb-map-heading h2{font:900 clamp(25px,4vw,32px)/1.25 'Nunito',sans-serif;margin:0 0 9px}.cb-map-heading h2 span{color:var(--orange,#FF6B35)}.cb-map-heading p{color:#4A4E6B;margin:0 auto;line-height:1.6;font-size:14px;max-width:660px}
#cb-map-status{display:table;font:800 13px/1.6 'Nunito',sans-serif;color:#A63D17;border:1px solid #FFDCCF;border-radius:99px;background:var(--orange-light,#FFF0EA);padding:6px 14px;margin:18px auto}
.cb-map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);border:1.5px solid var(--gray-200,#E9ECEF);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 32px #1a1a2e0d}
.cb-map-canvas-wrap{min-width:0;position:relative;background:var(--teal-light,#EEF4FF)}#cb-event-map{height:560px;width:100%;z-index:0}
#cb-map-details{height:560px;overflow:auto;padding:22px;box-sizing:border-box;background:var(--gray-100,#F8F9FA);border-left:1.5px solid var(--gray-200,#E9ECEF);scrollbar-width:thin;scrollbar-color:#c6cee0 transparent}
#cb-map-details h3{font:900 22px/1.3 'Nunito',sans-serif;margin:0 0 9px}#cb-map-details h3:focus{outline:none}#cb-map-details h3:focus-visible{outline:3px solid var(--orange,#FF6B35)}
.cb-map-address{color:#61667E;font-size:13px;line-height:1.6;margin:0 0 12px}
.cb-map-directions{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #D8E4F4;border-radius:10px;background:var(--teal-light,#EEF4FF);color:var(--teal,#2D6A9F);font:800 13px 'Nunito',sans-serif;text-decoration:none;transition:background .18s}
.cb-map-directions:hover{background:#DEEAFE}.cb-map-location-count{display:table;font:800 12px 'Nunito',sans-serif;color:#A63D17;background:var(--orange-light,#FFF0EA);border-radius:99px;padding:5px 10px;margin:18px 0 14px}
.cb-map-event{padding:16px;margin:12px 0;border:1.5px solid var(--gray-200,#E9ECEF);border-radius:18px;background:#fff;box-shadow:0 3px 12px #1a1a2e05;transition:box-shadow .18s,border-color .18s}
.cb-map-event:hover{border-color:#FFD0BF;box-shadow:0 6px 20px #1a1a2e0b}.cb-map-event h4{font:800 16px/1.35 'Nunito',sans-serif;margin:0 0 11px}.cb-map-event h4 a{color:var(--navy,#1A1A2E);text-decoration:none}.cb-map-event h4 a:hover{color:#BE461D}
.cb-map-dates{font-size:12px;line-height:1.9;color:var(--teal,#2D6A9F);margin:0 0 10px}.cb-map-dates a{display:inline;padding:2px 0;color:inherit;text-decoration:underline;text-decoration-color:#BACFE7;text-underline-offset:3px}.cb-map-dates a:hover{text-decoration-color:currentColor}
.cb-map-practical{font-size:12px;line-height:1.7;color:#61667E;margin:0 0 13px}.cb-map-event summary{font:800 12px 'Nunito',sans-serif;color:var(--teal,#2D6A9F);cursor:pointer;margin:0 0 11px}
.cb-map-event-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:10px;background:var(--navy,#1A1A2E);color:#fff;font:800 13px 'Nunito',sans-serif;text-decoration:none;transition:background .18s}.cb-map-event-link:hover{background:var(--orange,#FF6B35)}
.cb-map-venue-list{list-style:none;margin:14px 0 0;padding:0}.cb-map-venue-list li+li{margin-top:8px}.cb-map-venue-list button{font:800 14px/1.4 'Nunito',sans-serif;background:#fff;border:1.5px solid var(--gray-200,#E9ECEF);border-radius:14px;padding:12px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;color:var(--navy,#1A1A2E);cursor:pointer;min-height:58px;transition:border-color .18s,background .18s}.cb-map-venue-list button::before{content:'📍';font-size:16px}.cb-map-venue-list button:hover{background:var(--orange-light,#FFF0EA);border-color:#FFD0BF}
.cb-map-count{background:var(--teal-light,#EEF4FF);color:var(--teal,#2D6A9F);border-radius:99px;padding:5px 9px;min-width:29px;text-align:center;font:900 12px 'Nunito',sans-serif;box-sizing:border-box}.cb-map-back{font:800 13px 'Nunito',sans-serif;background:none;border:0;color:var(--teal,#2D6A9F);padding:0 0 14px;min-height:40px;cursor:pointer}.cb-map-back:hover{color:#BE461D}
.cb-map-note{font-size:11px;line-height:1.7;color:#61667E;margin:12px 0}.cb-map-note a{color:var(--teal,#2D6A9F);text-decoration:underline}.cb-map-service{position:absolute;left:12px;right:12px;bottom:30px;background:var(--orange-light,#FFF0EA);color:var(--navy,#1A1A2E);border:1px solid #FFD0BF;border-radius:12px;padding:14px;font-size:13px;z-index:2;line-height:1.5}
.cb-map-section button:focus-visible,.cb-map-section a:focus-visible,.cb-map-free input:focus-visible{outline:3px solid var(--orange,#FF6B35);outline-offset:3px}
.cb-map-section .ol-zoom{border-radius:10px;background:#fff;box-shadow:0 3px 12px #1a1a2e1a;padding:3px}.cb-map-section .ol-zoom button{background:var(--navy,#1A1A2E);color:#fff;border-radius:6px;font-family:'Nunito',sans-serif}.cb-map-section .ol-zoom button:hover{background:var(--orange,#FF6B35)}.cb-map-section .ol-attribution{font-size:10px}.cb-map-section .ol-attribution a{color:var(--teal,#2D6A9F)}
@media(max-width:700px){.cb-map-section{padding:0 16px;margin-top:16px}.cb-map-layout{grid-template-columns:1fr}#cb-event-map{height:320px}#cb-map-details{height:auto;max-height:430px;border-left:0;border-top:1.5px solid var(--gray-200,#E9ECEF);padding:18px}#cb-map-status{max-width:100%;text-align:center;font-size:12px;padding:6px 11px}.cb-map-heading p{font-size:13px}.cb-map-event{padding:15px}.cb-map-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cb-map-section *{scroll-behavior:auto!important;transition:none!important}}
