.mp-stores { --store-accent:#cc2900; color:#33404c; }
.mp-stores [hidden] { display:none !important; }
.mp-stores-search { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px 28px; padding:24px 14px 28px; }
.mp-stores-search label { display:block; margin-bottom:8px; font-size:15px; }
.mp-stores-query { flex:1 1 360px; max-width:440px; }
.mp-stores-query label { color:var(--store-accent); font-weight:600; }
.mp-stores-input { display:flex; }
.mp-stores input,.mp-stores select { font:inherit; color:inherit; background:#fff; border:1px solid #cbd2d9; border-radius:3px; min-height:42px; padding:8px 10px; }
.mp-stores input { width:100%; min-width:0; border-radius:3px 0 0 3px; }
.mp-stores select { min-width:180px; }
.mp-stores button,.mp-stores .mp-store-directions { font:inherit; font-size:14px; cursor:pointer; border:1px solid var(--store-accent); border-radius:4px; min-height:42px; padding:9px 14px; background:var(--store-accent); color:#fff; text-decoration:none; }
.mp-stores .mp-stores-locate,.mp-stores .mp-stores-reset { color:var(--store-accent); background:white; }
.mp-stores button:hover,.mp-stores .mp-store-directions:hover { filter:brightness(.9); }
.mp-stores :is(button,a,input,select,summary):focus-visible { outline:3px solid #185b9b; outline-offset:3px; }
.mp-stores-layout { display:grid; grid-template-columns:1fr 2fr; min-width:0; height:480px; }
.mp-stores-sidebar { min-width:0; border:1px solid #e4e8ed; display:flex; flex-direction:column; overflow:hidden; }
.mp-stores-count { margin:0 !important; background:var(--store-accent); color:#fff; font-size:14px; font-weight:600; padding:12px 18px; }
.mp-stores-results { flex:1; overflow-y:auto; margin:0; padding:0; list-style:none; overscroll-behavior:contain; }
.mp-stores-results>li { border-bottom:1px solid #e4e8ed; padding:16px 18px; font-size:14px; overflow-wrap:anywhere; }
.mp-stores-results>li.is-selected { background:#fff6f2; box-shadow:inset 3px 0 var(--store-accent); }
.mp-stores .mp-stores-results h2 { margin:0 0 10px; padding:0; font-size:15px; line-height:1.4; font-weight:700; }
.mp-stores .mp-store-show { display:block; text-align:left; background:transparent; color:#33404c; padding:0; min-height:28px; border:0; font-weight:700; line-height:1.4; border-radius:0; }
.mp-stores .mp-store-show:disabled { cursor:default; }
.mp-stores-results p { margin:0 0 6px; }
.mp-stores-results a { color:#33404c; }
.mp-store-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:12px; }
.mp-store-distance { font-weight:600; }
.mp-stores-map-wrap { position:relative; min-width:0; background:#e7eaed; }
.mp-stores-map { height:100%; min-height:320px; }
.mp-stores-map-error { position:absolute; top:50%; left:5%; width:90%; transform:translateY(-50%); background:#fff; padding:20px; text-align:center; border:1px solid #ccd2d9; }
.mp-stores-status:empty { display:none; }
.mp-stores-status { padding:0 14px 12px; margin:0; }
.mp-stores-empty { padding:20px; }
.mp-stores-distance-note { font-size:13px; margin:10px 0 0; }
.mp-store-hours { margin:10px 0; font-size:14px; }
.mp-store-hours summary { cursor:pointer; text-decoration:underline; }
.mp-store-hours dl { margin:8px 0; }
.mp-store-hours dl>div { display:flex; justify-content:space-between; gap:10px; }
.mp-store-hours dt { font-weight:400; }
.mp-store-hours dd { margin:0; }
.mp-stores .mp-store-directory { margin-top:64px; }
.mp-stores .mp-store-directory-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:24px; list-style:none; padding:0; }
.mp-stores .mp-store-directory-list>li { border:1px solid #ddd; padding:20px; overflow-wrap:anywhere; }
.mp-stores .mp-store-directory-list h3 { font-size:18px; }
.mp-stores .mp-store-directory-list p { margin-bottom:8px; }
.mp-stores .mp-store-directory-list a { text-decoration:underline; }
.mp-stores-popup { color:#33404c; max-width:260px; font-size:14px; }
.mp-stores-popup h3 { font-size:16px; }
@media(max-width:767px) {
 .mp-stores-search { gap:12px; padding:20px 0; }
 .mp-stores-query { flex-basis:100%; max-width:none; }
 .mp-stores-search>div:nth-child(2) { flex:1 1 100%; }
 .mp-stores select { width:100%; }
 .mp-stores-layout { height:auto; grid-template-columns:1fr; }
 .mp-stores-sidebar { height:400px; }
 .mp-stores-map-wrap { height:340px; }
 .mp-stores .mp-store-directory { margin-top:40px; }
}
