.bd-directory{position:relative}.bd-filter-form{margin-top:-2px}.bd-filter-form .control{display:block}.bd-filter-form .popular-chip{cursor:pointer}.bd-directory .logo-frame{background:transparent}.bd-directory .bd-participant-logo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.bd-logo-missing{color:#827b8d;font-size:9px;font-weight:700;text-align:center}.bd-activity-kind{color:var(--purple);font-size:.88em;text-transform:uppercase}.bd-directory .bd-results{padding-top:25px}.bd-directory .empty{display:block;grid-column:1/-1}.bd-directory .map-placeholder{display:none}.bd-directory .map-placeholder.show{display:flex}.bd-directory .cards.is-hidden{display:none!important}.bd-directory .map-note{margin-bottom:0}.bd-filter-form select option{background:#fff;color:#211b35}body.night-mode .bd-filter-form select option{background:#111a29;color:#fff}
.bd-filter-form .filter-row{grid-template-columns:1.25fr 1fr 1fr 1fr}
.bd-filter-form .clear-filters{display:inline-flex;align-items:center;gap:5px;margin-left:5px;color:#6b4bb5;font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}.bd-filter-form .clear-filters:hover{text-decoration:underline}.bd-filter-form .clear-filters span{font-size:16px;line-height:1}body.night-mode .bd-filter-form .clear-filters{color:#e8a5ff}
.bd-directory .view-button{color:#777082}.bd-directory .view-button.active{background:#6840c4;color:#fff;box-shadow:0 5px 16px rgba(88,51,198,.25)}body.night-mode .bd-directory .view-button{color:#9ca9bc}body.night-mode .bd-directory .view-button.active{background:#ed1746;color:#fff;box-shadow:0 0 18px #ed17466a}
.bd-directory .map-inner{width:100%;max-width:none;text-align:center}.bd-directory .map-inner>p{text-align:center;margin-inline:auto}.bd-directory .bd-map-canvas{width:100%;height:min(62vh,520px);min-height:340px;margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e7ebef}.bd-directory .map-placeholder.show{align-items:stretch}.bd-directory .map-symbol{flex:0 0 auto}.bd-directory .map-symbol .bd-map-icon{display:grid;place-items:center}.bd-directory .map-symbol .bd-filter-icon{display:block;width:28px;height:28px}
.bd-offline-map{width:100%;color:#25213a;text-align:left}.bd-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.bd-map-legend{display:inline-flex;align-items:center;gap:8px;color:#625d73;font-size:12px;font-weight:700}.bd-map-legend i{width:11px;height:11px;border-radius:50%;background:#ed174c;box-shadow:0 0 0 4px #ed174c22}.bd-map-zoom{display:flex;gap:5px}.bd-map-zoom button{width:34px;height:32px;border:1px solid #d9d6e1;border-radius:9px;background:#fff;color:#392c51;font-size:18px;font-weight:700;cursor:pointer}.bd-map-viewport{position:relative;width:100%;height:clamp(320px,52vh,490px);overflow:hidden;border:1px solid #d4d9e3;border-radius:14px;background:linear-gradient(135deg,#e8edf2 0%,#f1f0ec 50%,#e5ebef 100%)}.bd-map-plane{position:absolute;inset:0;transform-origin:center;transition:transform .2s ease}.bd-map-svg,.bd-map-markers{position:absolute;inset:0;width:100%;height:100%}.bd-map-city{fill:#e1e6eb;stroke:#c7d0da;stroke-width:2}.bd-map-roads path{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;opacity:.88}.bd-map-roads path:nth-child(3n){stroke:#f8cc72;stroke-width:5}.bd-map-labels{fill:#758394;font:700 12px system-ui,sans-serif;letter-spacing:1px}.bd-map-labels text:nth-child(n+6){fill:#98a3b0;font-size:11px;letter-spacing:.6px}.bd-map-markers{z-index:2}.bd-map-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid #fff;border-radius:50% 50% 50% 4px;background:#ed174c;color:#fff;box-shadow:0 5px 14px #281b3b44;font-size:12px;font-weight:800;cursor:pointer;rotate:-45deg}.bd-map-marker::first-letter{rotate:45deg}.bd-map-marker:hover,.bd-map-marker:focus-visible{z-index:3;scale:1.15;outline:3px solid #ed174c55}.bd-map-popup{position:absolute;z-index:5;display:flex;flex-direction:column;gap:5px;min-width:190px;max-width:250px;padding:14px 36px 14px 14px;transform:translate(-50%,-110%);border:1px solid #e6e2ec;border-radius:12px;background:#fff;box-shadow:0 12px 36px #26183b33;color:#29243a;font-size:12px}.bd-map-popup[hidden]{display:none!important}.bd-map-popup strong{font-size:14px}.bd-map-popup span{color:#6b6478}.bd-map-popup small{color:#777181;font-size:11px}.bd-map-popup a{margin-top:4px;color:#d41448;font-weight:800;text-decoration:none}.bd-map-popup-close{position:absolute;top:6px;right:8px;border:0;background:none;color:#665f70;font-size:20px;cursor:pointer}.bd-map-caption{margin:8px 0 0!important;color:#777487!important;text-align:left;font-size:11px!important}
.bd-map-marker{display:grid;place-items:center;border-radius:50%;rotate:0deg}.bd-map-marker::first-letter{rotate:0deg}
@media(max-width:1000px){.bd-filter-form .filter-row{grid-template-columns:1.2fr 1fr}}
@media(max-width:650px){.bd-filter-form{margin-top:0}.bd-filter-form .filter-row{grid-template-columns:1fr}.bd-directory .bd-results{padding-top:21px}.bd-logo-missing{font-size:7px}.bd-directory .bd-map-canvas{height:55vh;min-height:280px}.bd-map-viewport{height:55vh;min-height:280px}.bd-map-labels{font-size:10px}.bd-map-labels text:nth-child(n+6){font-size:9px}}
body.night-mode .bd-map-viewport{background:linear-gradient(135deg,#182338,#20293a 50%,#152033);border-color:#354157}body.night-mode .bd-map-city{fill:#202b3c;stroke:#39475d}body.night-mode .bd-map-roads path{stroke:#344054}body.night-mode .bd-map-roads path:nth-child(3n){stroke:#8e7944}body.night-mode .bd-map-labels{fill:#a9b4c4}body.night-mode .bd-map-labels text:nth-child(n+6){fill:#8795a8}body.night-mode .bd-map-legend{color:#c0cad8}body.night-mode .bd-map-zoom button{background:#121b2a;border-color:#39465c;color:#e8edf4}body.night-mode .bd-map-popup{background:#121b2a;border-color:#39465c;color:#f0f3f8}body.night-mode .bd-map-popup span,body.night-mode .bd-map-popup small,body.night-mode .bd-map-popup-close{color:#b4bfd0}
.bd-map-popup-results{display:grid;gap:7px;margin-top:4px}.bd-map-popup-result{padding-top:7px;border-top:1px solid #e6e2ec}.bd-map-popup-result>strong{display:block;font-size:12px}.bd-map-popup-result>small{display:block;margin-top:2px}.bd-map-popup-links{display:flex;gap:12px;flex-wrap:wrap}.bd-map-popup-links a{margin-top:5px}.bd-map-popup-result:first-child{padding-top:2px;border-top:0}body.night-mode .bd-map-popup-result{border-color:#39465c}

.bd-directory .card-content,.bd-directory .card-content>*{text-align:left!important}
.bd-directory .card-content .name-row{justify-content:space-between;align-items:flex-start}
.bd-directory .logo-frame.bd-logo-link{display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.bd-directory .card-top{padding:0;background-color:var(--bd-logo-bg,#fff);background-image:none}
body.night-mode .bd-directory .card-top{background:var(--bd-logo-bg,#fff)!important}
.bd-directory .card .logo-frame.bd-logo-link{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:100%;aspect-ratio:auto;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
.bd-directory .card .logo-frame.bd-logo-link img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
.bd-directory .logo-frame.bd-logo-link:focus-visible{outline:3px solid #6840c4;outline-offset:3px}
.bd-directory .bd-map-canvas .leaflet-container{width:100%;height:100%;font:13px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.bd-directory-marker-wrap{display:grid;place-items:center;border:0;background:transparent}
.bd-directory-marker{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:#ed174c;color:#fff;box-shadow:0 4px 12px #19122a55;font-size:12px;font-weight:850}
.bd-directory-marker>b{transform:rotate(45deg)}
.bd-directory-popup{min-width:190px;max-width:290px;color:#29243a;font:12px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.bd-directory-popup>strong{display:block;margin-bottom:5px;font-size:14px}
.bd-directory-popup>p{margin:0 0 4px;color:#6b6478}
.bd-directory-popup-item{padding:8px 0;border-top:1px solid #e6e2ec}
.bd-directory-popup-item>b,.bd-directory-popup-item>small{display:block}
.bd-directory-popup-item>small{margin-top:2px;color:#777181}
.bd-directory-popup-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}
.bd-directory-popup-links a{color:#d41448;font-weight:800;text-decoration:none}
.bd-directory-popup-links a:hover{text-decoration:underline}
body.night-mode .bd-directory .leaflet-popup-content-wrapper,body.night-mode .bd-directory .leaflet-popup-tip{background:#111a29;color:#f0f3f8}
body.night-mode .bd-directory-popup-item{border-color:#39465c}
body.night-mode .bd-directory-popup-item>small,body.night-mode .bd-directory-popup>p{color:#b4bfd0}
body.night-mode .bd-directory-popup-links a{color:#ff9cb7}

.bd-directory.bd-season-black-friday{--bd-season-lime:#dcff00;--bd-season-cyan:#13e5e5;--bd-season-purple:#210035;--bd-season-black:#08080b}
.bd-season-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);align-items:center;gap:clamp(24px,5vw,64px);min-height:350px;margin:0 auto 26px;padding:clamp(22px,4vw,48px);overflow:hidden;border:1px solid #29292e;border-radius:24px;background:radial-gradient(ellipse at 72% 47%,#210035 0%,#150d20 27%,transparent 55%),linear-gradient(115deg,#08080b 0%,#101013 100%);color:#fff;text-align:left}
.bd-season-copy{max-width:680px;text-align:left}
.bd-season-label{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #dcff0066;border-radius:999px;background:#dcff0010;color:#e4ff52;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.bd-season-label i{width:8px;height:8px;border-radius:50%;background:var(--bd-season-lime);box-shadow:0 0 12px #dcff00a6}
.bd-season-copy h1{margin:17px 0 8px;color:#fff;font-size:clamp(36px,6vw,68px);font-weight:950;line-height:.98;letter-spacing:-.045em;text-transform:uppercase}
.bd-season-date{display:inline-flex;align-items:center;gap:8px;margin:7px 0 12px;padding:8px 12px;border:1px solid var(--bd-season-cyan);border-radius:10px;color:var(--bd-season-cyan);font-size:15px}
body .bd-directory .bd-season-banner .bd-season-date{color:var(--bd-season-cyan)}
.bd-season-date strong{color:#fff}
.bd-season-description{max-width:550px;margin:8px 0 20px;color:#e7e5eb;font-size:15px;line-height:1.55}
body .bd-directory .bd-season-banner .bd-season-description{color:#e7e5eb}
.bd-season-cta{display:inline-flex;align-items:center;gap:16px;padding:12px 17px;border:2px solid var(--bd-season-lime);border-radius:10px;background:var(--bd-season-lime);color:#111!important;font-size:13px;font-weight:900;text-decoration:none;transition:transform .16s ease,background .16s ease}
.bd-season-cta:hover{transform:translateY(-2px);background:var(--bd-season-cyan);border-color:var(--bd-season-cyan)}
.bd-season-artwork{width:100%;max-width:290px;aspect-ratio:4/5;margin:0 auto;overflow:hidden;border:2px solid #dcff0080;border-radius:17px;background:#08080b;box-shadow:0 18px 50px #0008}
.bd-season-artwork img{display:block;width:100%;height:100%;object-fit:cover}
.bd-season-black-friday .view-button.active{background:var(--bd-season-lime);color:#111;box-shadow:0 5px 18px #dcff0040}
.bd-season-black-friday .popular-chip.active{border-color:var(--bd-season-lime);background:var(--bd-season-lime);color:#111}
.bd-season-black-friday .clear-filters{color:#00aeb0}
.bd-season-black-friday .view-brand{border-color:var(--bd-season-lime);background:var(--bd-season-lime);color:#111}
.bd-season-black-friday .view-brand:hover{border-color:var(--bd-season-cyan);background:var(--bd-season-cyan);color:#111}
.bd-season-black-friday .offer-badge{background:var(--bd-season-purple);color:var(--bd-season-lime);border-color:var(--bd-season-lime)}
.bd-season-black-friday .bd-directory-marker{background:var(--bd-season-lime);color:#111}
.bd-season-black-friday .bd-directory-popup-links a{color:#008d91}
body.bd-season-black-friday .bd-filter-form .popular-chip:hover,body.bd-season-black-friday .bd-directory .view-button:hover:not(.active){border-color:#210035!important;background:#210035!important;color:#dcff00!important;box-shadow:0 0 0 2px #dcff0030}
body.bd-season-black-friday .bd-filter-form .popular-chip.active,body.bd-season-black-friday .bd-filter-form .popular-chip.active:hover,body.bd-season-black-friday .bd-directory .view-button.active,body.bd-season-black-friday .bd-directory .view-button.active:hover{border-color:#dcff00!important;background:#dcff00!important;color:#08080b!important}
body.bd-season-black-friday .bd-filter-form .control input:focus,body.bd-season-black-friday .bd-filter-form .control select:focus{border-color:#13e5e5;box-shadow:0 0 0 3px #13e5e544}
body.night-mode .bd-season-black-friday .clear-filters,body.night-mode .bd-season-black-friday .bd-directory-popup-links a{color:var(--bd-season-cyan)}

/* Information pills and readable type on directory participant cards. */
.bd-directory .card-content .name-row h3{font-size:clamp(16px,1.35vw,20px);line-height:1.2;text-align:left}
.bd-directory .bd-card-pills{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:7px;margin:8px 0 12px;text-align:left}
.bd-directory .bd-card-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid #e2d8ed;border-radius:999px;background:#f6f1fa;color:#514563;font-size:11px;font-weight:800;line-height:1.25;text-align:left}
.bd-directory .bd-card-pill-category{border-color:#13e5e5;background:#210035;color:#13e5e5}
.bd-directory .bd-card-pill-activity{border-color:#d7c5ed;background:#f5effb;color:#35134f}
.bd-directory .card-bottom{margin-top:auto}
.bd-directory .schedule{font-size:clamp(11px,.9vw,13px);font-weight:850;line-height:1.35;text-align:left}
.bd-directory .bd-time-unit{white-space:nowrap}
.bd-directory .bd-card-pill-address{max-width:100%;white-space:normal}
.bd-enroll-cta{font:inherit;cursor:pointer}
.bd-directory.bd-season-black-friday .bd-card-pill-category{border-color:#13e5e5;background:#210035;color:#13e5e5}
.bd-directory.bd-season-black-friday .bd-card-pill-activity{border-color:#13e5e5;background:#210035;color:#13e5e5}
body.night-mode .bd-directory .bd-card-pill{border-color:#39455c;background:#172235;color:#e5eaf4}
body.night-mode .bd-directory .bd-card-pill-category{border-color:#13e5e5;background:#210035;color:#13e5e5}
body.night-mode .bd-directory .bd-card-pill-activity{border-color:#3b5962;background:#17292e;color:#c8fffb}
body.night-mode .bd-directory.bd-season-black-friday .bd-card-pill-category{border-color:#13e5e5;background:#210035;color:#13e5e5}
body.night-mode .bd-directory.bd-season-black-friday .bd-card-pill-activity{border-color:#13e5e5;background:#210035;color:#13e5e5}
@media(max-width:700px){.bd-directory .card-content .name-row h3{font-size:14px}.bd-directory .bd-card-pills{gap:5px}.bd-directory .bd-card-pill{min-height:25px;padding:4px 7px;font-size:9px}.bd-directory .schedule{font-size:10px}}
@media(max-width:700px){.bd-season-banner{grid-template-columns:1fr;gap:18px;min-height:0;padding:22px}.bd-season-artwork{width:min(100%,270px);max-width:270px}.bd-season-copy h1{font-size:clamp(36px,12vw,58px)}.bd-season-description{font-size:13px}}

/* SVG icons for homepage directory filters and view controls. */
.bd-filter-form .control .icon .bd-filter-icon{display:block;width:17px;height:17px;fill:currentColor}
.bd-directory .view-button{gap:7px}
.bd-directory .view-button .bd-view-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}
.bd-directory .view-button .bd-filter-icon{display:block;width:14px;height:14px;fill:currentColor}
.bd-filter-form .clear-filters{margin-left:auto;margin-right:8px}

.bd-directory .bd-empty-upcoming{display:flex;grid-column:1/-1;min-height:240px;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:clamp(28px,5vw,64px);border:1px solid var(--line,#d8cbe2);border-radius:22px;background:linear-gradient(125deg,#f8f3fb 0%,#fff 55%,#e9fcfb 100%);color:var(--ink,#1c1424);text-align:center}
.bd-directory .bd-empty-upcoming h3{max-width:900px;margin:0;color:inherit;font-size:clamp(25px,4.2vw,46px);font-weight:850;line-height:1.12;letter-spacing:-.045em}
.bd-directory .bd-empty-upcoming p{margin:0;color:var(--muted,#716c7d);font-size:clamp(14px,1.6vw,18px);line-height:1.5}
body.night-mode .bd-directory .bd-empty-upcoming{border-color:#13e5e5;background:linear-gradient(125deg,#21152a 0%,#101722 58%,#102426 100%);color:#f7f4fa}
body.night-mode .bd-directory .bd-empty-upcoming p{color:#b9c4d1}
