/* Maps and locations: a faithful port of designs/maps/index.html. The .bl-maps root is the design section
   (its padding and width), so the Section Frame gives it no padding of its own. Every value reads a Global Design
   token (--pb-*, --st-*); the design's own values are the defaults. Selectors double the root class so the page
   theme's element rules (.pb-theme h2, section-frame child resets) do not win. */
.pb-block.st-section.st-section:has(>.st-inner>.bl-maps){padding:0!important}
.pb-block.st-section.st-section>.st-inner:has(>.bl-maps){max-width:none!important;width:100%;padding:0!important;--pb-sec-align:left}
.pb-block.st-section>.st-inner>div.bl-maps.bl-maps{padding:var(--st-space,clamp(56px,6vw,100px)) max(24px,5vw)!important;background-color:var(--pb-bg)!important}
.pb-block.st-section>.st-inner>div.bl-maps.bl-maps.mp-dark{background-color:var(--pb-text)!important}
.pb-block.st-section>.st-inner>div.bl-maps.bl-maps--one_line{padding-block:24px!important}
@media(max-width:767px){.pb-block.st-section>.st-inner>div.bl-maps.bl-maps{padding:40px 24px!important}.pb-block.st-section>.st-inner>div.bl-maps.bl-maps--one_line{padding-block:24px!important}}

.bl-maps.bl-maps,.bl-maps.bl-maps *,.bl-maps.bl-maps *::before,.bl-maps.bl-maps *::after{box-sizing:border-box}
.bl-maps.bl-maps{display:block;min-width:0;margin:0;padding:var(--st-space,clamp(56px,6vw,100px)) max(24px,5vw);background:var(--pb-bg);color:var(--pb-text);font-family:var(--pb-body-font);font-size:var(--st-type-body,1rem);font-weight:400;line-height:var(--pb-body-lh,1.55);text-align:left;overflow-wrap:anywhere}
.bl-maps.bl-maps :is(h2,h3,p,figure,dl,dd,address){margin:0}
.bl-maps.bl-maps :is(h2,h3){font-family:var(--pb-heading-font);font-weight:var(--pb-heading-weight,400);line-height:var(--pb-heading-lh,1.02);letter-spacing:var(--pb-heading-tracking,-.035em);text-wrap:balance;color:inherit;text-transform:none}
.bl-maps.bl-maps :is(p,dt,dd,li,address,span){color:inherit}
.bl-maps.bl-maps h2{font-size:var(--st-type-h2)}
.bl-maps.bl-maps h3{font-size:var(--st-type-h3)}
.bl-maps.bl-maps p{max-width:var(--pb-measure,58ch)}
.bl-maps.bl-maps a{color:inherit;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.bl-maps.bl-maps button{font:inherit;min-height:52px;cursor:pointer;touch-action:manipulation}
.bl-maps.bl-maps :is(a,button):focus-visible{outline:none;}
.bl-maps.bl-maps img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:var(--st-photo-r)}
.bl-maps.bl-maps [hidden]{display:none!important}
.bl-maps.bl-maps .mp-photo{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:var(--st-photo-r);margin:0}
.bl-maps.bl-maps .mp-photo img{position:absolute;inset:0}
.bl-maps.bl-maps .mp-wrap{max-width:var(--st-width,1240px);margin:auto;min-width:0}
.bl-maps.bl-maps .mp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--st-grid-gap,clamp(32px,6vw,96px));align-items:stretch}
.bl-maps.bl-maps .mp-stack{display:grid;gap:var(--st-stack-gap,24px)}
.bl-maps.bl-maps .mp-small{font-size:var(--st-type-small)}
.bl-maps.bl-maps .mp-muted{color:var(--pb-muted)}
.bl-maps.bl-maps .mp-panel{padding:clamp(24px,4vw,56px);background:var(--pb-surface)}
.bl-maps.bl-maps.mp-dark{background:var(--pb-text);color:var(--pb-on-dark)}
.bl-maps.bl-maps.mp-dark .mp-muted,.bl-maps.bl-maps.mp-dark .mp-heading p{color:var(--pb-on-dark)}
.bl-maps.bl-maps.mp-dark .mp-panel{color:var(--pb-text)}
.bl-maps.bl-maps.mp-dark .mp-panel .mp-muted{color:var(--pb-muted)}
.bl-maps.bl-maps .mp-primary{background:var(--pb-primary);color:var(--pb-on-dark);border:1px solid var(--pb-primary);padding:13px 24px;min-height:52px;display:inline-flex;justify-content:center;align-items:center;text-decoration:none}

/* Map, offline notice and pin */
.bl-maps.bl-maps .mp-map-wrap{position:relative;background:var(--pb-secondary);min-width:0;min-height:340px;border-radius:var(--st-photo-r);overflow:hidden}
.bl-maps.bl-maps .mp-map{position:absolute;inset:0;min-height:0}
.bl-maps.bl-maps .mp-notice{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;text-align:center;gap:var(--st-stack-gap,16px);color:var(--pb-text);pointer-events:none}
/* The section frame forces text-align through --pb-sec-align (!important), so centered parts set the variable. */
.bl-maps.bl-maps .mp-notice,.bl-maps.bl-maps.m17 .mp-heading{--pb-sec-align:center}
.bl-maps.bl-maps .mp-notice :is(h3,p),.bl-maps.bl-maps.m17 .mp-heading :is(h2,p){text-align:center}
.bl-maps.bl-maps p{text-wrap:wrap}
.bl-maps.bl-maps .mp-notice p{font-size:var(--st-type-small);max-width:var(--pb-measure,58ch)}
.bl-maps.bl-maps .map-ready .mp-notice,.bl-maps.bl-maps .mp-notice[hidden]{display:none}
.bl-maps.bl-maps .maplibregl-canvas{filter:grayscale(1)}
.bl-maps.bl-maps .maplibregl-ctrl-attrib,.bl-maps.bl-maps .maplibregl-ctrl-attrib a{font-family:var(--pb-body-font);font-size:var(--st-type-small)!important;min-height:0;display:inline}
.bl-maps.bl-maps .maplibregl-ctrl-attrib-button{min-height:44px;min-width:44px}
.bl-maps.bl-maps .maplibregl-ctrl-group button{width:44px;height:44px;min-height:44px}
.bl-maps.bl-maps .ccs-map-pin{cursor:pointer}
.bl-maps.bl-maps .ccs-map-pin:focus-visible{outline:none;}

/* Location record */
.bl-maps.bl-maps .mp-location{min-width:0;display:grid;gap:var(--st-grid-gap,20px);align-content:start}
.bl-maps.bl-maps .mp-address{font-style:normal}
.bl-maps.bl-maps .mp-hours{margin:0}
.bl-maps.bl-maps .mp-hours div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--st-grid-gap,16px);border-top:1px solid var(--pb-border);padding:12px 0}
.bl-maps.bl-maps .mp-hours dt{color:var(--pb-muted)}
.bl-maps.bl-maps .mp-hours dd{margin:0}
.bl-maps.bl-maps .mp-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--st-stack-gap,12px 24px)}
.bl-maps.bl-maps .mp-directory{display:grid;gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps .mp-directory .mp-location+.mp-location{border-top:1px solid var(--pb-border);padding-top:32px}
.bl-maps.bl-maps .mp-heading{margin-bottom:40px}
.bl-maps.bl-maps .mp-heading h2{max-width:var(--pb-measure,16ch)}
.bl-maps.bl-maps .mp-heading p{color:var(--pb-muted);margin-top:24px;font-size:var(--st-type-lead)}
.bl-maps.bl-maps.mp-dark .mp-location .mp-muted,.bl-maps.bl-maps.mp-dark .mp-hours dt{color:var(--pb-on-dark)}
.bl-maps.bl-maps.mp-dark .mp-panel .mp-location .mp-muted,.bl-maps.bl-maps.mp-dark .mp-panel .mp-hours dt{color:var(--pb-muted)}

/* Looks */
.bl-maps.bl-maps.m1 .mp-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.bl-maps.bl-maps.m2 .mp-map-wrap{min-height:420px}
.bl-maps.bl-maps.m2 .mp-location{margin-top:32px;grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,24px 64px)}
.bl-maps.bl-maps.m2 .mp-location :is(.mp-name,.mp-links){grid-column:1/-1}
.bl-maps.bl-maps.m3 .mp-split{gap:0}
.bl-maps.bl-maps.m3 .mp-panel{color:var(--pb-text)}
.bl-maps.bl-maps.m4 .mp-wrap{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:var(--st-grid-gap,48px)}
.bl-maps.bl-maps.m4 .mp-directory{grid-column:1;grid-row:2}
.bl-maps.bl-maps.m4 .mp-map-wrap{grid-column:2;grid-row:1/3}
.bl-maps.bl-maps.m5 .mp-wrap{border:1px solid var(--pb-border);padding:40px}
.bl-maps.bl-maps.m5 .mp-map-wrap{min-height:240px}
.bl-maps.bl-maps.m5 .mp-location{grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,24px 40px);margin-bottom:32px}
.bl-maps.bl-maps.m5 .mp-location :is(.mp-name,.mp-links){grid-column:1/-1}
.bl-maps.bl-maps.m6 .mp-split{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m6 .mp-photo{grid-column:1}
.bl-maps.bl-maps.m6 .mp-map-wrap{grid-column:2;grid-row:1}
.bl-maps.bl-maps.m6 .mp-location{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:var(--st-grid-gap,24px 48px)}
.bl-maps.bl-maps.m6 .mp-location .mp-links{grid-column:1/-1}
.bl-maps.bl-maps.m7 .mp-wrap{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:var(--st-grid-gap,40px)}
.bl-maps.bl-maps.m7 .mp-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,40px);align-items:end;margin:0}
.bl-maps.bl-maps.m7 .mp-heading p{margin:0}
.bl-maps.bl-maps.m8 .mp-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--st-grid-gap,40px)}
.bl-maps.bl-maps.m8 .mp-heading{grid-column:1/-1}
.bl-maps.bl-maps.m8 .mp-map-wrap{min-height:300px}
.bl-maps.bl-maps.m8 .mp-location{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m8 .mp-location .mp-links{grid-column:1/-1}
.bl-maps.bl-maps.m9 .mp-split{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m9 .mp-map-wrap{min-height:500px}
.bl-maps.bl-maps.m9 .mp-location{padding-top:32px;border-top:6px solid var(--pb-primary)}
.bl-maps.bl-maps.m10 .mp-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:0}
.bl-maps.bl-maps.m10 .mp-heading{padding:40px;background:var(--pb-secondary);margin:0}
.bl-maps.bl-maps.m10 .mp-location{padding:40px;background:var(--pb-surface)}
.bl-maps.bl-maps.m10 .mp-map-wrap{grid-column:1/-1;min-height:300px}
.bl-maps.bl-maps.m11 .mp-location{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--st-grid-gap,24px 64px)}
.bl-maps.bl-maps.m11 .mp-location .mp-name{grid-column:1}
.bl-maps.bl-maps.m11 .mp-location .mp-hours{grid-column:2;grid-row:1/4}
.bl-maps.bl-maps.m11 .mp-map-wrap{min-height:220px;margin-top:40px}
.bl-maps.bl-maps.m12 .mp-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m12 .mp-split>.mp-stack{gap:var(--st-stack-gap,32px)}
.bl-maps.bl-maps.m12 .mp-photo{aspect-ratio:2/1}
.bl-maps.bl-maps.m13 .mp-wrap{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:var(--st-grid-gap,48px)}
.bl-maps.bl-maps.m13 .mp-heading{border-top:1px solid var(--pb-border);padding-top:24px}
.bl-maps.bl-maps.m13 .mp-right{display:grid;gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m13 .mp-directory{grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m13 .mp-directory .mp-location+.mp-location{border-top:0;border-left:1px solid var(--pb-border);padding:0 0 0 32px}
.bl-maps.bl-maps.m14 .mp-places{display:grid;grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,32px)}
.bl-maps.bl-maps.m14 .mp-place-card{display:grid;gap:var(--st-grid-gap,24px)}
.bl-maps.bl-maps.m14 .mp-map-wrap{min-height:260px}
.bl-maps.bl-maps.m15 .mp-photo{aspect-ratio:3/1}
.bl-maps.bl-maps.m15 .mp-below{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--st-grid-gap,32px);margin-top:32px}
.bl-maps.bl-maps.m15 .mp-map-wrap{min-height:300px}
.bl-maps.bl-maps.m15 .mp-below>.mp-stack{padding-top:24px}
.bl-maps.bl-maps.m16 .mp-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--st-grid-gap,40px)}
.bl-maps.bl-maps.m16 .mp-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,40px);align-items:end}
.bl-maps.bl-maps.m16 .mp-heading p{color:var(--pb-on-dark)}
.bl-maps.bl-maps.m16 .mp-map-wrap{grid-column:1/-1;min-height:280px}
.bl-maps.bl-maps.m16 .mp-directory{display:contents}
.bl-maps.bl-maps.m16 .mp-directory .mp-location{border-top:1px solid var(--pb-border);padding-top:24px}
.bl-maps.bl-maps.m17 .mp-heading{max-width:800px;margin-inline:auto;text-align:center}
.bl-maps.bl-maps.m17 .mp-heading h2{max-width:none}
.bl-maps.bl-maps.m17 .mp-heading p{margin-inline:auto}
.bl-maps.bl-maps.m17 .mp-split{gap:0}
.bl-maps.bl-maps.m17 .mp-location{padding:40px;background:var(--pb-secondary)}
.bl-maps.bl-maps.m18 .mp-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--st-grid-gap,48px)}
.bl-maps.bl-maps.m18 .mp-left{display:grid;gap:var(--st-grid-gap,32px);align-content:start}
.bl-maps.bl-maps.m18 .mp-heading{margin:0}
.bl-maps.bl-maps.m18 .mp-map-wrap{min-height:540px}
.bl-maps.bl-maps .mp-switch{display:flex;flex-wrap:wrap;gap:var(--st-stack-gap,12px);border-bottom:1px solid var(--pb-border);margin-bottom:24px}
.bl-maps.bl-maps .mp-switch button{border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--pb-text);background:transparent;padding:12px 16px}
.bl-maps.bl-maps .mp-switch button[aria-selected=true]{border-color:var(--pb-primary)}
.bl-maps.bl-maps.m19 .mp-map-wrap{min-height:420px}
.bl-maps.bl-maps.m19 .mp-location{grid-template-columns:1fr 1fr;gap:var(--st-grid-gap,24px 64px);margin-top:32px}
.bl-maps.bl-maps.m19 .mp-location :is(.mp-name,.mp-links){grid-column:1/-1}
.bl-maps.bl-maps.m20 .mp-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--st-grid-gap,48px)}
.bl-maps.bl-maps.m20 .mp-heading{grid-column:1/-1;max-width:900px}
.bl-maps.bl-maps.m20 .mp-photo{grid-column:1;grid-row:2}
.bl-maps.bl-maps.m20 .mp-location{grid-column:2;grid-row:2}
.bl-maps.bl-maps.m20 .mp-map-wrap{grid-column:1/-1;min-height:240px}

/* Looks without a design study: visit information and the one-line address bar */
.bl-maps.bl-maps.bl-maps--info_no_map .mp-photo{aspect-ratio:4/3;align-self:start}
.bl-maps.bl-maps.bl-maps--info_no_map[data-editorial="address_only"] .mp-split{grid-template-columns:minmax(0,1fr)}
.bl-maps.bl-maps.bl-maps--one_line{padding-block:24px;border-block:1px solid var(--pb-border)}
.bl-maps.bl-maps.bl-maps--one_line .mp-location{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--st-stack-gap,12px 32px)}
.bl-maps.bl-maps.bl-maps--one_line .mp-location .mp-name{font-size:var(--st-type-h3)}
.bl-maps.bl-maps.bl-maps--one_line .mp-location :is(.mp-hours,.mp-small){display:none}
.bl-maps.bl-maps .mp-photo--video .bl-video-photo{position:absolute;inset:0;margin:0}
.bl-maps.bl-maps .bl-video-photo.st-play-scrim>a.bl-video-photo__play.st-play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;display:flex;align-items:center;justify-content:center;gap:var(--st-stack-gap,12px);min-width:64px;min-height:64px;padding:16px;background:var(--pb-bg);color:var(--pb-text);z-index:3;text-decoration:none}
.bl-maps.bl-maps .bl-video-photo__label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}

@media(max-width:767px){
.bl-maps.bl-maps{padding:40px 24px}
.bl-maps.bl-maps .mp-split{grid-template-columns:minmax(0,1fr);gap:var(--st-stack-gap,24px)}
.bl-maps.bl-maps .mp-photo{aspect-ratio:4/3;min-height:0}
.bl-maps.bl-maps .mp-panel{padding:var(--pb-card-pad,24px)}
.bl-maps.bl-maps .mp-map-wrap{min-height:300px}
.bl-maps.bl-maps .mp-heading{margin-bottom:24px}
.bl-maps.bl-maps:is(.m1,.m6,.m9,.m12) .mp-split,.bl-maps.bl-maps:is(.m4,.m7,.m8,.m10,.m13,.m16,.m18,.m20) .mp-wrap,.bl-maps.bl-maps:is(.m7,.m16) .mp-heading,.bl-maps.bl-maps.m13 .mp-directory,.bl-maps.bl-maps.m14 .mp-places,.bl-maps.bl-maps.m15 .mp-below{grid-template-columns:minmax(0,1fr);gap:var(--st-grid-gap,24px)}
.bl-maps.bl-maps:is(.m2,.m5,.m6,.m8,.m11,.m19) .mp-location{grid-template-columns:minmax(0,1fr);gap:var(--st-grid-gap,24px)}
.bl-maps.bl-maps.m4 :is(.mp-directory,.mp-map-wrap),.bl-maps.bl-maps.m6 :is(.mp-photo,.mp-map-wrap,.mp-location),.bl-maps.bl-maps:is(.m7,.m8,.m16,.m20) .mp-heading,.bl-maps.bl-maps.m8 .mp-location,.bl-maps.bl-maps.m10 .mp-map-wrap,.bl-maps.bl-maps.m11 .mp-location :is(.mp-name,.mp-hours),.bl-maps.bl-maps.m16 .mp-map-wrap,.bl-maps.bl-maps.m20 :is(.mp-photo,.mp-location,.mp-map-wrap){grid-column:auto;grid-row:auto}
.bl-maps.bl-maps:is(.m2,.m9,.m18,.m19) .mp-map-wrap{min-height:320px}
.bl-maps.bl-maps.m5 .mp-wrap{padding:24px}
.bl-maps.bl-maps.m7 .mp-heading p{margin-top:0}
.bl-maps.bl-maps.m10 .mp-wrap{gap:0}
.bl-maps.bl-maps:is(.m10,.m17) .mp-location,.bl-maps.bl-maps.m10 .mp-heading{padding:24px}
.bl-maps.bl-maps.m13 .mp-directory .mp-location+.mp-location{border-left:0;border-top:1px solid var(--pb-border);padding:24px 0 0}
.bl-maps.bl-maps.m14 .mp-places{gap:var(--st-stack-gap,24px)}
.bl-maps.bl-maps.m15 .mp-photo{aspect-ratio:4/3}
.bl-maps.bl-maps.m15 .mp-below{margin-top:24px}
.bl-maps.bl-maps.m16 .mp-directory{display:grid;gap:var(--st-grid-gap,24px)}
.bl-maps.bl-maps.m20 .mp-photo{aspect-ratio:4/3}
.bl-maps.bl-maps .mp-hours div{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.bl-maps.bl-maps.bl-maps--one_line{padding-block:24px}
}
@media(prefers-reduced-motion:reduce){.bl-maps.bl-maps *{scroll-behavior:auto!important;transition:none!important}}

/* Legacy "split" layout with the "Large map beside address and hours" composition (map.blade.php). */
[data-editorial="training_sidebar"]>.mx-auto{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--st-grid-gap,32px 56px)}
[data-editorial="training_sidebar"]>.mx-auto>.mb-8{grid-column:2;grid-row:1;margin:0;border-top:4px solid var(--pbd-brand);padding-top:24px}
[data-editorial="training_sidebar"]>.mx-auto>.mb-8 .st-heading{max-width:var(--pb-measure,9ch);line-height:var(--pb-heading-lh,1)}
[data-editorial="training_sidebar"]>.mx-auto>.grid{display:contents}
[data-editorial="training_sidebar"]>.mx-auto>.grid>.overflow-hidden{grid-column:1;grid-row:1/3}
[data-editorial="training_sidebar"]>.mx-auto>.grid>div:last-child{grid-column:2;grid-row:2}
[data-editorial="training_sidebar"] dl div{flex-wrap:wrap;overflow-wrap:normal}
[data-editorial="training_sidebar"][data-editorial]>.mx-auto>.mb-8{margin-bottom:0}
[data-editorial="training_sidebar"][data-editorial]>.mx-auto>.mb-8 .st-heading{line-height:.95!important;letter-spacing:.005em!important}
[data-editorial="training_sidebar"][data-editorial]>.mx-auto>.grid>.overflow-hidden{border-radius:0;border:0}
@media(max-width:767px){[data-editorial="training_sidebar"]>.mx-auto{display:flex;flex-direction:column;gap:var(--st-stack-gap,32px)}[data-editorial="training_sidebar"]>.mx-auto>.grid>.overflow-hidden{order:-1}}
