.cm-demo-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 17px;background:var(--cream);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;color:var(--green)}
.cm-demo-banner svg{flex-shrink:0;margin-top:2px}.cm-demo-banner strong{font-size:13px}.cm-demo-banner span{display:block;font-size:13px;line-height:1.6;margin-top:3px;color:var(--muted)}
.cm-filters{padding:18px;margin-bottom:18px}.cm-filters form{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:13px;align-items:end}.cm-filters label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:600}.cm-filters .field{width:100%;min-width:0}.cm-filter-actions{display:flex;gap:8px}
.cm-workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.cm-list-panel{padding:18px 0 0;overflow:hidden}.cm-list-panel>header{padding:0 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.cm-list-panel h2{margin:5px 0 0;font-size:21px}.cm-eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.cm-list-summary{font-size:12px;color:var(--muted);padding:0 18px;margin:10px 0 15px}
.cm-outlet-list{max-height:590px;overflow-y:auto;border-top:1px solid var(--line)}.cm-outlet{display:flex;align-items:center;gap:11px;background:white;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;padding:17px 15px;color:var(--ink)}.cm-outlet:hover{background:var(--paper)}.cm-outlet.selected{background:var(--mint);box-shadow:inset 3px 0 var(--green)}.cm-number{width:29px;height:29px;background:var(--paper);color:var(--green);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:12px}.cm-outlet.selected .cm-number{background:var(--green);color:white}.cm-outlet-body{display:grid;gap:5px;flex:1;min-width:0}.cm-outlet-body strong{font-size:15px}.cm-outlet-body>span{font-size:12px;color:var(--muted)}.cm-outlet-body small{font-size:11px;line-height:1.6;color:var(--muted)}.cm-list-empty{padding:40px 22px;text-align:center;font-size:14px;color:var(--muted);line-height:1.7}
.cm-map-column{display:grid;gap:16px;min-width:0}.cm-map-panel{padding:0;overflow:hidden}.cm-map-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line)}.cm-map-panel>header>span{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--green);font-size:14px}.cm-map-panel header small{font-weight:400;color:var(--muted);font-size:12px}.cm-map-wrap{position:relative}.cm-map{height:480px;background:#edf2e9;isolation:isolate;z-index:0}.cm-map-panel footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 15px;font-size:11px;color:var(--muted);background:white}.cm-map-panel footer>span:last-child{margin-left:auto}.cm-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.cm-map-message{position:absolute;z-index:2;inset:0;background:#f4ede4eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;font-size:14px;padding:20px;color:var(--green)}.cm-map-message[hidden]{display:none}.cm-map-warning{inset:auto 10px 10px;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:12px;pointer-events:none}
.cm-map-marker{background:var(--green);border:2px solid var(--cream);border-radius:50% 50% 50% 5px;transform-origin:center;box-shadow:0 2px 8px #00392340;color:white}.cm-map-marker>span{display:grid;place-items:center;height:100%;font:700 13px Arial,sans-serif}.cm-marker-selected{background:var(--sunset,#EA7906);border-color:white}.cm-map .leaflet-popup-content{font-family:Figtree,Arial,sans-serif;font-size:13px;line-height:1.7}
.cm-detail{padding:19px}.cm-detail-heading{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.cm-detail-heading>div{flex:1;min-width:150px}.cm-detail-heading h3{font-size:18px;margin:4px 0;color:var(--ink)}.cm-detail-heading p{margin:0;color:var(--muted);font-size:13px}.cm-detail-icon{display:grid;place-items:center;background:var(--mint);color:var(--green);width:44px;height:44px;border-radius:12px}.cm-detail-facts{display:flex;gap:25px;flex-wrap:wrap;margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.cm-detail-facts small{display:block;font-size:12px;color:var(--muted)}.cm-detail-facts strong{display:block;font-size:14px;margin-top:5px}.cm-detail-disclaimer,.cm-detail-empty{font-size:12px;color:var(--muted);line-height:1.7;margin:15px 0 0}
@media(max-width:1150px){.cm-workspace{grid-template-columns:290px minmax(0,1fr)}.cm-filters form{grid-template-columns:1fr 1fr}.cm-map{height:430px}}
@media(max-width:760px){.cm-workspace{grid-template-columns:1fr}.cm-map-column{grid-row:1}.cm-map{height:360px}.cm-outlet-list{max-height:350px}.cm-filters form{grid-template-columns:1fr}.cm-filters .field{font-size:16px}.cm-map-panel footer>span:last-child{margin-left:0}.cm-map-panel>header>span{flex-wrap:wrap}.cm-map-panel>header .btn{flex-shrink:0}}

/* Full-color basemap with a quieter layout and clearer outlet hierarchy. */
.cm-demo-banner{background:transparent;border:0;border-radius:0;padding:0 2px;margin-bottom:16px;gap:9px;align-items:center}
.cm-demo-banner>svg{width:16px;height:16px;margin:0}
.cm-demo-banner>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cm-demo-banner strong{font-size:10px;letter-spacing:.08em;background:var(--cream);padding:4px 7px;border-radius:5px;white-space:nowrap}
.cm-demo-banner span{display:inline;font-size:12px;margin:0}
.cm-filters{box-shadow:none;padding:17px 20px;border-radius:14px}
.cm-workspace{gap:0;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;grid-template-columns:320px minmax(0,1fr);align-items:stretch}
.cm-list-panel{border:0;border-right:1px solid var(--line);border-radius:0;margin:0;background:white;padding-top:24px}
.cm-list-panel>header{padding:0 22px}.cm-list-summary{padding:0 22px;margin:10px 0 20px}
.cm-list-panel h2{font-size:20px}.cm-list-panel>header .badge{background:var(--paper);font-weight:500}
.cm-outlet-list{max-height:640px;border-top:1px solid var(--line)}
.cm-outlet{padding:20px 22px;gap:12px}.cm-outlet.selected{background:#f1f7ee;box-shadow:inset 3px 0 var(--green)}
.cm-number{border:0;background:#eff4eb;width:27px;height:27px;font-size:11px}
.cm-outlet-body{gap:5px}.cm-outlet-body strong{font-size:14px}.cm-outlet-body>span{line-height:1.5}.cm-outlet-body small{font-size:11px;color:var(--green)}
.cm-outlet>svg{width:13px;height:13px;color:var(--muted)}
.cm-map-column{gap:0}.cm-map-panel{border:0;border-radius:0;margin:0}.cm-map-panel>header{padding:14px 20px;background:white}
.cm-map-panel>header .btn{border-color:var(--line);font-size:11px}
.cm-map{height:510px;background:var(--paper)}
.cm-map .leaflet-tile-pane{filter:none}
.cm-map .leaflet-control-zoom{border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 8px #0039230d;overflow:hidden}
.cm-map .leaflet-control-zoom a{color:var(--green);border-color:var(--line);font-weight:400}
.cm-map .leaflet-control-attribution{font-size:10px;background:#ffffffdf}
.cm-map-marker{border-radius:50%;background:var(--green);border:2px solid white;box-shadow:0 2px 6px #00392324}
.cm-map-marker>span{font-size:11px}
.cm-marker-selected{background:var(--green);border:3px solid var(--cream);box-shadow:0 0 0 5px #00502e28,0 2px 8px #00392335}
.cm-map-panel footer{font-size:10px;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line)}
.cm-detail{border:0;border-radius:0;margin:0;padding:18px 20px;background:var(--paper)}
.cm-detail-heading h3{font-size:17px}.cm-detail-icon{width:36px;height:36px;background:#e8f3e1;border-radius:50%}
.cm-detail-facts{margin-top:13px;padding-top:12px;gap:22px;align-items:baseline}.cm-detail-facts strong{font-size:13px}
.cm-coordinates{font-size:11px;color:var(--muted)}.cm-coordinates summary{cursor:pointer}.cm-coordinates span{display:block;margin-top:7px}
.cm-detail-disclaimer{font-size:11px;margin-top:12px}
@media(max-width:1150px){.cm-workspace{grid-template-columns:280px minmax(0,1fr)}.cm-map{height:460px}.cm-outlet{padding:18px 16px}}
@media(max-width:760px){.cm-workspace{grid-template-columns:1fr}.cm-map-column{grid-row:1}.cm-map{height:360px}.cm-list-panel{border-right:0;border-top:1px solid var(--line)}.cm-outlet-list{max-height:340px}.cm-demo-banner>div{gap:5px}.cm-map-panel footer>span:last-child{width:100%}}

/* Dynamic outlet groups; keep the basemap's blue/green Voyager colors. */
.cm-outlet-cluster{background:var(--green);border:2px solid var(--cream);border-radius:22px;box-shadow:0 2px 7px #00392330;color:white}
.cm-outlet-cluster>span{display:grid;place-items:center;width:100%;height:100%;font:700 14px Figtree,Arial,sans-serif}
.cm-outlet-cluster:focus-visible{outline:3px solid var(--sage);outline-offset:3px}

/* Competitor colors remain stable across filtering and selection. */
.cm-number,.cm-outlet.selected .cm-number{background:var(--cm-color,var(--green));color:white}
.cm-map-marker{background:transparent}
.cm-map-marker>span{border-radius:50%;color:white}
.cm-marker-selected{background:transparent;border-color:white;box-shadow:0 0 0 4px var(--ink),0 2px 8px #00392335}
.cm-outlet-cluster{background:transparent}
.cm-outlet-cluster>span{border-radius:20px}
.cm-outlet-cluster b{font:inherit}
.cm-cluster-mixed>span{padding:3px}
.cm-cluster-mixed b{display:grid;place-items:center;width:100%;height:100%;border-radius:18px;background:#273D32}
.cm-color-legend{display:flex;flex-wrap:wrap;gap:9px 16px;padding:12px 20px;background:white;border-bottom:1px solid var(--line);font-size:12px}
.cm-color-legend>span{display:inline-flex;gap:7px;align-items:center;overflow-wrap:anywhere;max-width:100%}
.cm-color-legend i{width:11px;height:11px;border-radius:50%;flex-shrink:0}

/* Official brand palette, with dark outlines so light colors remain visible. */
.cm-number,.cm-outlet.selected .cm-number{width:18px;height:18px;border:2px solid var(--ink);background:var(--cm-color);color:transparent}
.cm-map-marker{border:2px solid var(--ink);box-shadow:0 1px 5px #102f2340}
.cm-map-marker>span{width:100%;height:100%}
.cm-marker-selected{border-color:white;box-shadow:0 0 0 4px var(--ink),0 2px 8px #00392335}
.cm-outlet-cluster{border:2px solid var(--ink);color:var(--ink)}
.cm-cluster-mixed b{color:white}
.cm-color-legend i{border:1px solid var(--ink);width:13px;height:13px}
