/* Store Locator styles */
.store-locator{background:var(--sl-bg);color:var(--sl-text);max-width:80%;margin:0 auto;}
.store-locator .sl-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s;}
.store-locator.sl-loading .sl-loader{opacity:1;visibility:visible;}
.sl-loader-logo{width:80px;height:auto;animation:sl-logo-shimmer 1.5s infinite;}
@keyframes sl-logo-shimmer{0%{opacity:.4;}50%{opacity:1;}100%{opacity:.4;}}
.store-locator a:not(.button){color:var(--sl-link);}
.store-locator .sl-grid{display:grid;grid-template-columns:var(--list-col,40%) 1fr;gap:16px;}
@media (max-width:900px){.store-locator .sl-grid{grid-template-columns:1fr;}}
.sl-list{max-height:600px;overflow-y:auto;}
.sl-item{padding:1rem;border-bottom:1px solid #ddd;cursor:pointer;outline:2px solid transparent;}
.sl-item-name{font-weight:700;}
.sl-item:hover,.sl-item.active{background:var(--sl-accent);color:#fff;}
.sl-item:focus{outline:2px solid var(--sl-accent);outline-offset:2px;}
.sl-map{min-height:480px;}
.sl-search{display:flex;gap:8px;margin-bottom:1rem;}
.sl-search input{flex:1;padding:.5rem;}
.sl-search button{padding:.5rem 1rem;}
.sl-search .icon-btn{padding:.5rem;display:flex;align-items:center;justify-content:center;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.sl-no-results{background:var(--nr-bg);color:var(--nr-text);padding:2rem;text-align:center;}
.sl-no-results-logo{max-width:120px;margin:0 auto 1rem;}
.sl-no-results-illustration img{max-width:100%;height:auto;margin:0 auto 1rem;display:block;}
.sl-no-results-ctas{display:flex;flex-direction:column;gap:1.5rem;align-items:center;margin-top:1rem;}
.sl-cta{width:100%;max-width:300px;}
.sl-cta h3{margin:0 0 .5rem;}
.sl-cta p{margin:0 0 1rem;}

.store-locator.sl-loading #StoreList,
.store-locator.sl-loading #StoreMap{position:relative;background:#eee;overflow:hidden;}
.store-locator.sl-loading #StoreList::after,
.store-locator.sl-loading #StoreMap::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eee,#f5f5f5,#eee);animation:sl-shimmer 1.5s infinite;background-size:200% 100%;}
.store-locator.sl-loading #StoreList>*,
.store-locator.sl-loading #StoreMap>*{opacity:0;}
@keyframes sl-shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
