.bbv2-locations,.bbv2-location-page{--bb-navy:#143149;--bb-red:#dc123b;--bb-line:#dce4eb;color:var(--bb-navy);font-family:inherit;box-sizing:border-box}
.bbv2-locations *,.bbv2-location-page *{box-sizing:border-box}
.bbv2-location-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 28px;padding:18px 22px;border:1px solid var(--bb-line);background:#f4f7fa;border-radius:14px}
.bbv2-location-toolbar label{font-weight:700;margin:0}.bbv2-location-toolbar select{width:auto;min-width:200px;max-width:100%;padding:10px 36px 10px 13px;border:1px solid #b7c7d5;border-radius:8px;background-color:white;color:var(--bb-navy);font:inherit}
.bbv2-location-count{margin-left:auto;color:#586c7e;font-size:.9em}.bbv2-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.bbv2-location-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--bb-line);border-radius:16px;box-shadow:0 6px 22px #14314908;transition:transform .18s,box-shadow .18s}
.bbv2-location-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #14314915}.bbv2-location-card[hidden],.bbv2-location-empty[hidden]{display:none!important}
.bbv2-location-card>a{display:flex;flex-direction:column;height:100%;color:inherit!important;text-decoration:none!important}.bbv2-location-card>a:focus-visible{outline:3px solid var(--bb-red);outline-offset:-4px}
.bbv2-location-card-photo,.bbv2-location-placeholder{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0!important}.bbv2-location-placeholder{display:grid;place-items:center;background:linear-gradient(140deg,#e9eff4,#d4e0e8);color:#14314955}.bbv2-location-placeholder span{font-size:3.5rem;font-weight:800;letter-spacing:-5px}
.bbv2-location-card-body{padding:23px;display:flex;flex-direction:column;flex:1;gap:14px}.bbv2-location-eyebrow{color:#596e80;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin:0!important}.bbv2-location-card h2{font-size:1.35rem;line-height:1.25;margin:0;color:var(--bb-navy);font-weight:750}.bbv2-location-summary{color:#596b7c;font-size:.94rem;line-height:1.65;margin:0}
.bbv2-location-facts{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.bbv2-location-facts span{font-size:.8rem;border-radius:6px;background:#f2f5f8;padding:7px 10px}.bbv2-location-facts strong{margin-left:5px}.bbv2-location-link{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;border-top:1px solid var(--bb-line);padding-top:15px}.bbv2-location-link>span{color:var(--bb-red);font-size:1.2rem}.bbv2-location-empty{padding:30px;text-align:center;background:#f4f7fa;border-radius:12px}
.bbv2-location-page{max-width:1240px;padding:45px 28px 70px;margin:0 auto}.bbv2-location-heading{margin-bottom:30px}.bbv2-location-heading h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.035em;color:var(--bb-navy);margin:14px 0 0}.bbv2-location-languages{display:flex;gap:14px;justify-content:flex-end;margin-bottom:24px;font-size:.85rem}.bbv2-location-languages a{color:var(--bb-navy)}.bbv2-location-languages a[aria-current]{font-weight:700;text-decoration-color:var(--bb-red);text-underline-offset:5px}
.bbv2-location-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:40px}.bbv2-location-photo{display:block;border-radius:14px;overflow:hidden;background:#eef3f6}.bbv2-location-photo:first-child{grid-column:1/-1}.bbv2-location-photo img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}.bbv2-location-photo:first-child img{max-height:520px;aspect-ratio:21/9}.bbv2-location-photo:focus-visible{outline:3px solid var(--bb-red);outline-offset:3px}
.bbv2-location-content{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:48px}.bbv2-location-content h2{font-size:1.45rem;color:var(--bb-navy);margin:0 0 18px}.bbv2-location-description p{font-size:1rem;line-height:1.85;color:#526778}.bbv2-location-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:30px}.bbv2-location-stats>div{padding:20px 26px;background:#f2f6f9;border:1px solid var(--bb-line);border-radius:12px;min-width:150px}.bbv2-location-stats strong{display:block;font-size:2rem;line-height:1.25}.bbv2-location-stats span{display:block;color:#596b7c;margin-top:5px;font-size:.9rem}.bbv2-location-contact{align-self:start;border:1px solid var(--bb-line);border-top:4px solid var(--bb-red);border-radius:12px;padding:28px;background:white;overflow-wrap:anywhere}.bbv2-location-contact address{font-style:normal;line-height:1.8;color:#526778}.bbv2-location-contact p{margin:20px 0 0}.bbv2-location-contact p>span{display:block;font-size:.8rem;color:#596b7c;margin-bottom:5px}.bbv2-location-contact a{color:var(--bb-navy);text-underline-offset:4px}.bbv2-location-contact a:hover{color:var(--bb-red)}
.bbv2-location-lightbox{max-width:94vw;max-height:94vh;padding:18px;background:#fff;border:0;border-radius:12px}.bbv2-location-lightbox::backdrop{background:#102b43d9}.bbv2-location-lightbox img{display:block;max-height:78vh;max-width:88vw;object-fit:contain}.bbv2-location-lightbox button{display:block;margin:0 0 12px auto;border:0;background:var(--bb-navy);color:white;border-radius:6px;padding:9px 14px;cursor:pointer}
@media(max-width:950px){.bbv2-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bbv2-location-content{gap:26px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}}
@media(max-width:600px){.bbv2-location-grid,.bbv2-location-content{grid-template-columns:1fr}.bbv2-location-toolbar{gap:10px;padding:15px}.bbv2-location-toolbar select{min-width:0;flex:1}.bbv2-location-count{width:100%;margin-left:0}.bbv2-location-page{padding:28px 18px 45px}.bbv2-location-gallery{gap:10px}.bbv2-location-photo:first-child img{aspect-ratio:16/10}.bbv2-location-contact{padding:22px}.bbv2-location-stats{gap:10px}.bbv2-location-stats>div{min-width:125px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.bbv2-location-card{transition:none}.bbv2-location-card:hover{transform:none}}

.bbv2-location-description p { font-size:15px; }
.bbv2-location-icon { width:20px; height:20px; flex-shrink:0; display:inline-block; vertical-align:middle; margin-right:7px; color:#143149; }
.bbv2-location-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 20px; list-style:none; font-size:13px; }
.bbv2-location-breadcrumbs li+li::before { content:'›'; margin-right:8px; color:#697d8c; }
.bbv2-location-spaces { margin-top:32px; }

/* Explicit sizes avoid tiny card text on themes with a 10px root font size. */
.bbv2-locations .bbv2-location-card h2,.bbv2-location-spaces .bbv2-location-card h3 { font-size:22px; line-height:1.3; }
.bbv2-location-card .bbv2-location-eyebrow { font-size:13px; line-height:1.5; }
.bbv2-location-card .bbv2-location-summary,.bbv2-location-card-body>p { font-size:15px; line-height:1.65; }
.bbv2-location-card .bbv2-location-facts span { font-size:13px; line-height:1.5; }
.bbv2-location-card .bbv2-location-link { font-size:15px; }
.bbv2-locations .bbv2-location-toolbar select { height:auto; min-height:44px; line-height:1.4; font-size:16px; padding:10px 36px 10px 13px; margin:0; appearance:auto; background-image:none; }
.bbv2-location-toolbar label,.bbv2-location-count { font-size:15px; }
.bbv2-location-title-row { display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.bbv2-location-title-row h1 { flex:1 1 300px; }
.bbv2-location-search { position:relative; margin:14px 0 0 auto; flex:0 1 320px; max-width:100%; }
.bbv2-location-search label { display:block; font-size:13px; margin-bottom:5px; }
.bbv2-location-search input { width:100%; box-sizing:border-box; height:auto; min-height:44px; font-size:16px; line-height:1.4; padding:10px 14px; border:1px solid #b7c7d5; border-radius:8px; background:#fff; color:#143149; }
.bbv2-location-search-results { position:absolute; z-index:30; left:0; right:0; list-style:none; padding:0; margin:5px 0 0; border:1px solid #dce4eb; border-radius:8px; box-shadow:0 8px 24px #14314922; background:#fff; max-height:360px; overflow:auto; }
.bbv2-location-search-results[hidden] { display:none; }
.bbv2-location-search-results li { margin:0; padding:0; }
.bbv2-location-search-results a { display:block; padding:12px; color:#143149; font-size:15px; text-decoration:none; }
.bbv2-location-search-results a:hover,.bbv2-location-search-results a:focus { background:#edf3f7; color:#dc123b; }
.bbv2-location-search-status { font-size:13px; margin:5px 0 0; }
.bbv2-location-videos { margin:0 0 32px; }
.bbv2-location-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.bbv2-location-video-grid iframe,.bbv2-location-video-grid video { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:12px; background:#143149; }
@media(max-width:600px) { .bbv2-location-search { flex-basis:100%; margin-left:0; } .bbv2-location-video-grid { grid-template-columns:1fr; } }

.bbv2-location-eyebrow,.bbv2-location-card .bbv2-location-eyebrow { font-size:14px; }
.bbv2-location-title-row h1 { margin-top:4px; }
.bbv2-location-title-row { align-items:center; }
.bbv2-location-search { margin-top:0; }
.bbv2-location-search-input { position:relative; }
.bbv2-location-search input { padding-right:44px; }
.bbv2-location-search-status:empty { display:none; }
.bbv2-location-search-spinner { position:absolute; right:14px; top:50%; margin-top:-9px; width:18px; height:18px; border:2px solid #dce4eb; border-top-color:#143149; border-radius:50%; animation:bbv2-location-spin .7s linear infinite; pointer-events:none; }
.bbv2-location-search-spinner[hidden] { display:none; }
.bbv2-location-search.is-searching input::-webkit-search-cancel-button { visibility:hidden; }
@keyframes bbv2-location-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .bbv2-location-search-spinner { animation:none; } }
.bbv2-location-breadcrumbs ol { justify-content:flex-end; text-align:right; }
.bbv2-location-contact p,.bbv2-location-contact address { display:flex; align-items:flex-start; gap:10px; }
.bbv2-location-contact .bbv2-location-icon { margin:3px 0 0; }
.bbv2-location-contact a,.bbv2-location-contact address>span { min-width:0; }

/* Header media and accessible photo/video dialog. */
.bbv2-location-media{position:relative;margin-bottom:32px}
.bbv2-location-media .bbv2-location-gallery{display:block;margin:0}
.bbv2-location-media .bbv2-location-photo:not(:first-child){display:none}
.bbv2-location-media-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px}
.bbv2-location-gallery+.bbv2-location-media-actions{position:absolute;right:0;bottom:0}
.bbv2-location-media-actions button{display:flex;align-items:center;gap:9px;background:#fff;color:#143149;border:1px solid #dce4eb;border-radius:5px;padding:12px 16px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #0002;cursor:pointer}
.bbv2-location-media-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.bbv2-location-video{position:relative;display:block;aspect-ratio:16/9;background:#143149;border-radius:10px;overflow:hidden;color:#fff!important}
.bbv2-location-video img,.bbv2-location-video video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.bbv2-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#143149dd;color:#fff;font-size:24px}
.bbv2-video-caption{position:absolute;bottom:10px;left:12px;background:#143149dd;padding:4px 8px;border-radius:4px;font-size:14px}
.bbv2-location-video:focus-visible,.bbv2-location-media-actions button:focus-visible{outline:3px solid #ec0037;outline-offset:3px}
.bbv2-location-lightbox{width:min(1000px,94vw);box-sizing:border-box;color:#143149}
.bbv2-media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:16px}
.bbv2-location-lightbox button{margin:0;font-size:20px}
.bbv2-media-stage>img{width:100%;height:65vh;max-width:100%;object-fit:contain}
.bbv2-media-stage>iframe,.bbv2-media-stage>video{display:block;width:100%;height:65vh;border:0;background:#000}
.bbv2-media-stage>.bbv2-location-video-grid{max-height:65vh;overflow:auto;padding:4px}
.bbv2-media-navigation{display:flex;justify-content:space-between;margin-top:12px}
.bbv2-media-navigation[hidden]{display:none}
@media(max-width:600px){.bbv2-location-media-actions{padding:8px;gap:5px}.bbv2-location-media-actions button{font-size:12px;padding:9px}.bbv2-location-media-actions svg{width:18px;height:18px}.bbv2-location-lightbox{padding:12px}.bbv2-media-stage>iframe,.bbv2-media-stage>video{height:50vh}}

/* Media fills the modal; controls and optional titles float over it. */
.bbv2-location-lightbox{position:fixed;width:min(1400px,96vw);max-width:96vw;max-height:94vh;padding:0!important;background:#071827;border-radius:12px;overflow:hidden}
.bbv2-media-toolbar{position:absolute;top:12px;right:12px;margin:0;z-index:4}
.bbv2-media-count{display:none}
.bbv2-media-stage>img{width:100%;height:88vh;max-height:88vh;max-width:100%;object-fit:contain}
.bbv2-media-stage>iframe,.bbv2-media-stage>video{height:88vh;width:100%}
.bbv2-media-navigation{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none;z-index:3}
.bbv2-media-navigation button{pointer-events:auto;background:#143149dd;box-shadow:0 2px 6px #0004}
.bbv2-media-title{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);max-width:75%;padding:8px 16px;border-radius:6px;background:#071827c9;color:#fff;font-size:16px;text-align:center;pointer-events:none;z-index:2}
.bbv2-media-title[hidden]{display:none}
.bbv2-location-lightbox.is-video-picker{padding:64px 20px 20px!important}
.bbv2-location-video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bbv2-video-play{width:36px;height:36px;font-size:17px}
.bbv2-video-caption{font-size:12px;bottom:4px;left:4px;padding:2px 5px}
.bbv2-photo-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;aspect-ratio:40/7;margin:-16px 0 32px}
.bbv2-photo-mosaic>.bbv2-location-photo{grid-column:auto;border-radius:10px;min-height:0}
.bbv2-photo-mosaic>.bbv2-location-photo:first-child{grid-column:1;grid-row:1/3}
.bbv2-photo-mosaic>.bbv2-location-photo img{height:100%;width:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.bbv2-photo-mosaic>.bbv2-location-photo:nth-child(n+6){display:none}
@media(max-width:600px){.bbv2-location-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bbv2-photo-mosaic{gap:6px}.bbv2-media-stage>img,.bbv2-media-stage>iframe,.bbv2-media-stage>video{height:84vh}.bbv2-media-title{font-size:14px;bottom:52px}.bbv2-media-navigation{left:6px;right:6px}}
