.store-locator-page{padding-bottom:45px}.store-locator-page .breadcrumbs{padding:18px 0 12px;font-size:0.875rem}.store-finder-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:8px 0 23px}.store-finder-heading h1{font-size:clamp(26px,3vw,36px);line-height:1.25;margin:0 0 9px}.store-finder-heading p{font-size:0.875rem;color:#596a7d;margin:0}.store-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.store-controls label{font-size:0.875rem;margin:0}.store-controls select{width:235px;max-width:100%;min-height:44px;border:1px solid #dce5ee;border-radius:6px;padding:10px 35px 10px 13px;background:#fff;color:#183653;font:0.875rem Poppins,sans-serif}
.store-finder-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"map sidebar" "details sidebar";gap:24px 30px;align-items:start}.store-map-shell{grid-area:map;position:relative;min-width:0;height:350px;border:1px solid #dce5ee;border-radius:10px;background:#edf4fa;overflow:hidden}.store-map{width:100%;height:100%}.store-map[hidden],.store-map-placeholder[hidden],.store-locator-page [hidden]{display:none!important}.store-map-placeholder{height:100%;padding:36px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 15% 10%,#cfe1f3aa,transparent 55%),radial-gradient(ellipse at 90% 90%,#d7e9e088,transparent 55%),#f3f7fb}.store-map-placeholder>.shop-icon{width:38px;height:38px;color:#245792;flex-shrink:0;margin-bottom:13px}.store-map-placeholder h2{font-size:22px;line-height:1.35;margin:0 0 10px}.store-map-placeholder p{max-width:430px;font-size:0.875rem;line-height:1.8;color:#596a7d;margin:0 0 17px}.store-map-placeholder .button{font-size:0.875rem;padding:10px 18px;min-height:42px}.store-map-reset{position:absolute;top:12px;left:12px;z-index:2;padding:8px 12px;border:1px solid #dce5ee;border-radius:5px;background:#fff;color:#245792;font-size:0.875rem;box-shadow:0 2px 9px #18365312}.store-map-privacy{font:0.875rem Poppins,sans-serif;color:#245792;border:0;background:none;text-decoration:underline;padding:8px;cursor:pointer}
.store-sidebar{grid-area:sidebar;min-width:0;display:grid;gap:22px}.store-contact-panel{padding:23px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.store-contact-panel h2{font-size:21px;line-height:1.35;margin:0 0 18px}.store-contact-panel>p{font-size:0.875rem;line-height:1.8;color:#596a7d;margin:0 0 16px}.store-contact-panel address{display:flex;gap:11px;font:0.875rem/1.8 Poppins,sans-serif;color:#183653;margin:0 0 13px}.store-contact-panel address>.shop-icon,.store-contact-line>.shop-icon{width:18px;height:18px;color:#245792;flex-shrink:0;margin-top:2px}.store-contact-line{display:flex;align-items:start;gap:11px;color:#245792;font-size:0.875rem;line-height:1.8;overflow-wrap:anywhere;padding:5px 0}.store-hours{margin:15px 0 0;border-top:1px solid #dce5ee;border-bottom:1px solid #dce5ee}.store-hours summary{display:flex;align-items:center;gap:10px;font-size:0.875rem;font-weight:500;padding:13px 0;cursor:pointer;list-style:none}.store-hours summary::-webkit-details-marker{display:none}.store-hours summary>.shop-icon{width:18px;height:18px;color:#245792}.store-hours summary>.shop-icon:last-child{width:12px;height:12px;margin-left:auto;transform:rotate(90deg)}.store-hours[open] summary>.shop-icon:last-child{transform:rotate(-90deg)}.store-hours table{width:100%;border-collapse:collapse;margin:0 0 10px;font-size:0.875rem;line-height:1.8}.store-hours th,.store-hours td{padding:3px 0;text-align:left;border:0;font-weight:400}.store-hours td{text-align:right;color:#596a7d}.store-contact-actions{display:grid;gap:13px;margin-top:18px}.store-contact-actions .button{font-size:0.875rem;min-height:42px;padding:10px 15px;display:flex;align-items:center;justify-content:center;gap:8px}.store-contact-actions .button>.shop-icon{width:16px;height:16px}.store-booking{font-size:0.875rem;text-decoration:underline;text-underline-offset:3px;text-align:center;color:#245792}
.store-information{padding:21px 23px;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:10px}.store-information h2{font-size:17px;margin:0 0 9px}.store-information .information-links{display:grid;gap:0}.store-information .information-links a{font-size:0.875rem;line-height:1.7;padding:7px 0;border-bottom:1px solid #e2e8f0;color:#405671}.store-information .information-links a:last-child{border:0}.store-information>.text-link{display:inline-flex;margin-top:14px;font-size:0.875rem;color:#245792}
.store-main-content{grid-area:details;min-width:0}.store-story{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.store-story-copy{padding:23px 26px}.store-story h2{font-size:23px;line-height:1.4;margin:0 0 13px}.store-story .prose{font-size:0.875rem;line-height:1.9;color:#596a7d}.store-story .prose p{margin:0 0 12px}.store-story .prose p:last-child{margin:0}
.store-collage{display:grid;grid-template-columns:minmax(0,.9fr) repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,.82fr) minmax(0,1fr);grid-template-areas:"portrait-1 wide wide" "portrait-1 portrait-2 portrait-3";aspect-ratio:1.55;gap:8px;background:#fff}.store-photo{min-width:0;min-height:0;margin:0;overflow:hidden;background:#edf1f4}.store-photo img{display:block;width:100%;height:100%;object-fit:cover}.store-photo-wide{grid-area:wide}.store-photo-portrait-1{grid-area:portrait-1}.store-photo-portrait-2{grid-area:portrait-2}.store-photo-portrait-3{grid-area:portrait-3}.store-collage.has-0-portraits{display:block;aspect-ratio:1600/625}.store-collage.has-0-portraits .store-photo{height:100%}.store-collage.has-1-portraits{grid-template-areas:"portrait-1 wide wide";grid-template-rows:minmax(0,1fr);aspect-ratio:1.8}.store-collage.has-2-portraits{grid-template-areas:"portrait-1 wide wide" "portrait-1 portrait-2 portrait-2"}.store-highlights{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:0 0 17px;list-style:none;color:#245792;font-size:0.875rem;font-weight:500;line-height:1.7}.store-highlights li{display:flex;align-items:start;gap:7px;min-width:0}.store-highlights li>svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}
@media(max-width:800px){.store-collage,.store-collage.has-1-portraits,.store-collage.has-2-portraits{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;grid-template-areas:"wide wide wide" "portrait-1 portrait-2 portrait-3";aspect-ratio:auto;gap:7px}.store-collage.has-1-portraits{grid-template-columns:minmax(0,1fr);grid-template-areas:"wide" "portrait-1"}.store-collage.has-2-portraits{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"wide wide" "portrait-1 portrait-2"}.store-photo-wide{aspect-ratio:1600/625}.store-photo-portrait{aspect-ratio:760/1032}.store-highlights{font-size:0.875rem;gap:7px 15px;margin-bottom:15px}}
.store-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:11px}.store-directory-heading h2{font-size:23px;line-height:1.4;margin:0}.store-filter-label{display:flex;align-items:center;gap:9px;max-width:260px;width:100%;margin:0;border:1px solid #dce5ee;border-radius:6px;padding:0 12px;background:#fff}.store-filter-label svg{width:17px;height:17px;color:#657688;flex-shrink:0}.store-filter-label input{min-width:0;width:100%;border:0;background:none;padding:11px 0;font:0.875rem Poppins,sans-serif;color:#183653;outline-offset:4px}.store-result-count{font-size:0.875rem;color:#657688;margin:0 0 13px}.store-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.store-card{display:flex;flex-direction:column;padding:17px;border:1px solid #dce5ee;border-radius:8px;background:#fff;color:#183653;min-width:0;transition:border-color .15s,background-color .15s}.store-card:hover{border-color:#245792;background:#f7faff}.store-card h3{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:0.875rem;font-weight:600;line-height:1.4;margin:0 0 9px}.store-card h3 svg{width:14px;height:14px;flex-shrink:0;color:#245792}.store-card p{font-size:0.875rem;color:#596a7d;line-height:1.75;margin:0 0 12px}.store-card>span{font-size:0.875rem;color:#245792;margin-top:auto}.store-no-results{font-size:0.875rem;color:#596a7d;border:1px solid #dce5ee;padding:20px;border-radius:8px}.store-fallback-links{display:flex;gap:12px;flex-wrap:wrap;padding:24px 0;font-size:0.875rem}.store-map-info{width:248px;max-width:100%;padding-bottom:2px;color:#183653}.store-map-info.has-photo{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}.store-map-info-copy{min-width:0}.store-map-info-photo{display:block;width:72px;height:80px;object-fit:cover;border-radius:5px;background:#edf1f4}.store-map-info-title{font:600 14px/1.4 Poppins,sans-serif;margin:0;color:#183653}.store-map-info p{font:0.875rem/1.4 Poppins,sans-serif;margin:0 0 3px;color:#405671}.store-map-info-actions{display:grid;gap:1px;justify-items:start}.store-map-info a{display:inline-block;padding:1px 0;color:#245792;text-decoration:underline;text-underline-offset:2px;font:0.875rem/1.4 Poppins,sans-serif}.store-locator-page a:focus-visible,.store-locator-page button:focus-visible,.store-locator-page input:focus-visible,.store-locator-page select:focus-visible,.store-hours summary:focus-visible{outline:3px solid #86b8fb;outline-offset:3px}
@media(max-width:1100px){.store-finder-grid{grid-template-columns:minmax(0,1fr) 275px;gap:22px}.store-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.store-controls label{display:none}.store-directory-heading{align-items:stretch;flex-direction:column;gap:11px}.store-filter-label{max-width:none}.store-contact-panel,.store-information{padding:20px}}
@media(max-width:800px){.store-finder-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "contact" "details";gap:20px}.store-sidebar{display:contents}.store-contact-panel{grid-area:contact}.store-information{grid-area:information}.store-map-shell{height:300px}.store-finder-heading{align-items:start;gap:17px;flex-direction:column}.store-controls{width:100%}.store-controls label{display:block}.store-controls select{flex:1;width:auto}.store-story-copy{padding:22px}.store-contact-panel h2{font-size:21px;margin-bottom:14px}.store-contact-panel address{margin-bottom:10px}.store-contact-actions{grid-template-columns:1fr 1fr;align-items:center}.store-contact-actions .store-booking{line-height:1.7}.store-directory-heading{flex-direction:row;align-items:center}.store-filter-label{max-width:235px}.store-information .information-links{grid-template-columns:1fr 1fr;column-gap:20px}}
@media(max-width:480px){.store-locator-page .breadcrumbs{font-size:0.875rem;padding-top:14px}.store-finder-heading{margin-bottom:18px}.store-finder-heading h1{font-size:28px}.store-finder-heading p{font-size:0.875rem;line-height:1.7}.store-controls label{font-size:0.875rem}.store-controls select{font-size:0.875rem;min-width:0}.store-map-shell{height:265px}.store-map-placeholder{padding:40px 22px 22px}.store-map-placeholder h2{font-size:20px}.store-map-placeholder p{font-size:0.875rem;line-height:1.8}.store-map-placeholder>.shop-icon{width:29px;height:29px;margin-bottom:10px}.store-map-reset{font-size:0.875rem;padding:6px 9px;top:10px;left:10px}.store-directory-heading{flex-direction:column;align-items:stretch;gap:12px}.store-directory-heading h2{font-size:22px}.store-filter-label{max-width:none}.store-cards{gap:10px}.store-card{padding:14px}.store-card h3{font-size:0.875rem}.store-card p{font-size:0.875rem}.store-story h2{font-size:21px}.store-story-copy{padding:19px}.store-story .prose{font-size:0.875rem}.store-information .information-links{column-gap:15px}}

@media(max-width:480px){.store-map-info-title{font-size:0.875rem}}

/* The directory spans both columns; a selected store retains its contact sidebar. */
.store-locator-page[data-store-view="directory"] .store-finder-grid{grid-template-areas:"map sidebar" "details details"}
.store-cards{gap:20px}
.store-card{padding:0;overflow:hidden}
.store-card-photo{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#edf1f4}
.store-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.store-card-copy{display:flex;flex:1;flex-direction:column;padding:20px;min-width:0}
.store-card h3{font-size:16px;margin:0 0 10px}
.store-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;color:inherit}
.store-card-contacts{margin-bottom:16px}
.store-card-contact{display:flex;align-items:flex-start;gap:10px;min-width:0;color:#245792;font:normal .875rem/1.75 Poppins,sans-serif}
.store-card-contact>.shop-icon{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:#245792}
.store-card-contact>span{min-width:0;overflow-wrap:anywhere}
.store-card-address{margin:0 0 6px;color:#596a7d}
.store-card a.store-card-contact{min-height:44px;padding:9px 0}
.store-card-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin-top:auto;color:#245792;font-size:.875rem}
.store-card a:not(.store-card-photo):hover{text-decoration:underline;text-underline-offset:3px}
.store-card-photo:focus-visible{outline-offset:-4px}
@media(max-width:1100px){.store-cards{gap:16px}}
@media(max-width:800px){.store-locator-page[data-store-view="directory"] .store-finder-grid{grid-template-areas:"map" "contact" "details"}}
@media(max-width:480px){.store-cards{grid-template-columns:minmax(0,1fr)}.store-card{padding:0}.store-card-copy{padding:17px}.store-card h3{font-size:16px}}
