hct-shop-locator{display:block;color:var(--color-foreground,#202020);background:var(--color-background,#fff);font-family:var(--font-body--family,inherit);padding:clamp(24px,5vw,72px) clamp(16px,4vw,64px)}
.hct-shops *{box-sizing:border-box}.hct-shops [hidden]{display:none!important}
.hct-shops__header{max-width:1440px;margin:0 auto clamp(24px,3vw,40px)}
.hct-shops__eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin:0 0 12px}
.hct-shops h1{font-family:var(--font-heading--family,inherit);font-size:clamp(32px,5vw,64px);line-height:1.05;margin:0 0 16px;color:inherit;font-weight:650;letter-spacing:-.025em}
.hct-shops__intro{max-width:680px;line-height:1.6;opacity:.8}.hct-shops__intro p{margin:0}
.hct-shops__demo{display:inline-block;margin:14px 0 0;padding:6px 10px;border:1px dashed currentColor;font-size:.8rem}
.hct-shops__layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);height:var(--hct-map-height,640px);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:8px;overflow:hidden}
.hct-shops__sidebar{display:flex;flex-direction:column;min-height:0;background:var(--color-background,#fff);overflow:hidden}
.hct-shops__filters{padding:22px 22px 0;flex:none}.hct-shops__filters>label:not(.hct-shops__sr){display:block;font-size:.85rem;font-weight:650;margin:0 0 8px}
.hct-shops__search-wrap{position:relative}.hct-shops__search-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.65}
.hct-shops input,.hct-shops select{width:100%;min-width:0;padding:12px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:4px;background:var(--color-background,#fff);color:inherit;font:inherit;font-size:.9rem;min-height:46px}
.hct-shops input{padding-left:40px}.hct-shops select{margin-top:10px;padding-right:28px}
.hct-shops button{font:inherit;color:inherit;cursor:pointer}.hct-shops button:focus-visible,.hct-shops a:focus-visible,.hct-shops input:focus-visible,.hct-shops select:focus-visible{outline:2px solid var(--hct-shop-accent,#d32730);outline-offset:3px}
.hct-shops button:disabled{opacity:.5;cursor:wait}
.hct-shops__tools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.hct-shops__tools button{border:0;background:none;padding:4px 0;text-decoration:underline;text-underline-offset:4px;font-size:.8rem}
.hct-shops__count{font-size:.76rem;margin:16px 0 0;padding:0 0 14px;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);opacity:.7}
.hct-shops__message{font-size:.8rem;line-height:1.45;margin:10px 0;color:inherit}
.hct-shops__list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:6px;padding:0 12px 12px}
.hct-shops__card{position:relative;margin:6px 0 0;padding:18px 10px 18px 40px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);border-left:3px solid transparent;border-radius:3px;transition:background .15s,border-color .15s}
.hct-shops__card.is-selected{border-left-color:var(--hct-shop-accent);background:color-mix(in srgb,var(--hct-shop-accent) 7%,var(--color-background,#fff))}
.hct-shops__card:hover{background:color-mix(in srgb,currentColor 4%,var(--color-background,#fff))}
.hct-shops__card.is-selected:hover{background:color-mix(in srgb,var(--hct-shop-accent) 9%,var(--color-background,#fff))}
.hct-shops__number{position:absolute;left:10px;top:21px;font-size:.75rem;opacity:.55;font-variant-numeric:tabular-nums}
.hct-shops__card h2{font-family:inherit;font-size:1rem;line-height:1.3;letter-spacing:0;margin:0 0 7px;font-weight:700;color:inherit}
.hct-shops__select{padding:0;border:0;background:none;text-align:left;font-weight:inherit;color:inherit}
.hct-shops__address{font-size:.82rem;line-height:1.55;margin:0;opacity:.75;white-space:pre-line;overflow-wrap:anywhere}
.hct-shops__distance{display:block;font-size:.78rem;margin-top:7px;opacity:.75}
.hct-shops__links{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:11px;font-size:.76rem}
.hct-shops__links a{color:inherit;text-underline-offset:3px}
.hct-shops__no-results{padding:20px 24px;margin:0;font-size:.9rem}
.hct-shops__retry{align-self:flex-start;margin:14px 22px;padding:8px 12px;background:none;border:1px solid currentColor;border-radius:4px}
.hct-shops__map-panel{position:relative;min-width:0;isolation:isolate;background:#ecece7}
.hct-shops__map{width:100%;height:100%;min-height:300px;z-index:0;font:inherit}
.hct-shops__map-notice{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:85%;padding:15px 18px;background:#fff;color:#202020;box-shadow:0 4px 22px #0002;border-radius:4px;text-align:center;font-size:.85rem;line-height:1.5}
.hct-shops__map-notice button{display:block;margin:8px auto 0;background:none;border:1px solid #202020;border-radius:4px;padding:7px 12px;color:#202020}
.hct-shops__show-all{position:absolute;right:12px;top:12px;z-index:500;border:1px solid #0002;background:#fff;color:#202020!important;border-radius:4px;box-shadow:0 2px 6px #0002;padding:10px 14px;font-size:.8rem!important;max-width:calc(100% - 70px)}
.hct-shops .leaflet-container{background:#ecece7}.hct-shops .leaflet-control-attribution{font-size:10px;line-height:1.5}.hct-shops .leaflet-control-attribution a{color:#174e73}
.hct-shops .leaflet-popup-content-wrapper{border-radius:6px;background:#fff;color:#202020}
.hct-shops .leaflet-popup-content{margin:16px;font:inherit;min-width:160px;max-width:250px;line-height:1.45;font-size:.85rem}
.hct-shops .leaflet-popup-content strong{display:block;font-size:.95rem;margin-bottom:6px}.hct-shops .leaflet-popup-content p{margin:6px 0;white-space:pre-line}.hct-shops .leaflet-popup-content a{display:inline-block;color:#202020;margin:7px 12px 0 0;text-underline-offset:3px}
.hct-shops__pin-icon{background:none!important;border:0!important}
.hct-shops__pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#202020;border:2px solid #fff;box-shadow:0 2px 7px #0005;color:#fff;transition:background .15s,scale .15s}
.hct-shops__pin>span{transform:rotate(45deg);font-family:Arial,sans-serif;font-size:12px;font-weight:bold}.hct-shops__pin-icon.is-selected .hct-shops__pin{background:var(--hct-shop-accent,#d32730);scale:1.16}
.hct-shops__popup-choice{display:block;width:100%;padding:8px 0;margin:3px 0;border:0;border-bottom:1px solid #ddd;background:none;text-align:left;color:#202020!important;font-size:.85rem!important}
.hct-shops__sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:749px){hct-shop-locator{padding:28px 16px}.hct-shops__layout{grid-template-columns:1fr;height:auto;overflow:visible;border:0;gap:16px}.hct-shops__map-panel{grid-row:1;height:360px;border-radius:6px;overflow:hidden}.hct-shops__sidebar{border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:6px}.hct-shops__list{max-height:430px;flex:initial}.hct-shops__filters{padding:18px 18px 0}.hct-shops__card{padding-top:16px;padding-bottom:16px}.hct-shops__number{top:19px}.hct-shops__header{margin-bottom:22px}.hct-shops__show-all{padding:9px 11px}.hct-shops .leaflet-popup-content{max-width:210px}}
@media(prefers-reduced-motion:reduce){.hct-shops__card,.hct-shops__pin{transition:none}}

.hct-shops__links a{overflow-wrap:anywhere;max-width:100%}
