.mc-stores h1 { margin-bottom: .6rem; }
.mc-store-search { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:28px 0 18px; }
.mc-store-search input { flex:1 1 300px; min-width:0; }
.mc-store-search input { border:1px solid #aaa; border-radius:0; padding:12px; background:#fff; color:#171717; }
.mc-store-search .mc-button { cursor:pointer; }
.mc-store-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:28px; }
.mc-stores.has-search .mc-store-layout { grid-template-columns:minmax(280px, .8fr) minmax(0, 1.6fr); }
#mc-store-map { height:650px; min-width:0; background:#eee; z-index:0; }
#mc-store-results { max-height:650px; overflow:auto; overscroll-behavior:contain; }
.mc-store-card { position:relative; isolation:isolate; padding:20px 8px; border-bottom:1px solid #ddd; }
.mc-store-card:hover { background:#f8f9f2; }
.mc-store-card .mc-store-card-location { display:block; border:0; padding:0; background:none; color:inherit; font:inherit; text-align:inherit; text-decoration:none; cursor:pointer; }
.mc-store-card-location::after { content:''; position:absolute; inset:0; z-index:1; }
.mc-store-card-location:focus-visible { outline:none; }
.mc-store-card-location:focus-visible::after { outline:2px solid #798500; outline-offset:-2px; }
.mc-store-card a:not(.mc-store-card-location) { position:relative; z-index:2; }
.mc-store-card h2 { font-size:19px; margin:0 0 10px; }
.mc-store-card p { margin:6px 0; overflow-wrap:anywhere; }
.mc-store-card .mc-store-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:12px; }
.mc-store-distance { font-weight:600; }
.mc-store-pin { border:1px solid #b5bd72; border-radius:50%; background:#fff; box-shadow:0 2px 8px #0003; }
.mc-store-pin-content { display:flex; align-items:center; justify-content:center; width:100%; height:100%; position:relative; }
.mc-store-pin img { display:block; width:28px; height:28px; object-fit:contain; }
.mc-store-pin-count { position:absolute; top:-9px; right:-12px; min-width:23px; height:23px; padding:0 5px; border:2px solid #fff; border-radius:15px; background:#171717; color:#fff; font:600 11px/19px Arial,sans-serif; text-align:center; }
.mc-store-pin:focus-visible { outline:3px solid #667400; outline-offset:3px; }
.mc-store-popup .leaflet-popup-content-wrapper { padding:0; border-radius:12px; overflow:hidden; box-shadow:0 8px 30px #0003; }
.mc-store-popup .leaflet-popup-content { margin:0; width:320px !important; max-width:calc(100vw - 70px); font:14px/1.5 Arial,sans-serif; color:#222; }
.mc-store-popup-header { display:flex; align-items:center; gap:10px; padding:14px 36px 14px 18px; background:#f6f7ef; border-bottom:1px solid #e5e8d5; font-size:12px; font-weight:600; }
.mc-store-popup-header img { flex-shrink:0; }
.mc-store-popup-list { max-height:300px; overflow-y:auto; overscroll-behavior:contain; }
.mc-store-popup-card { padding:18px; }
.mc-store-popup-card + .mc-store-popup-card { border-top:1px solid #e8e8e8; }
.mc-store-popup-card h3 { margin:0 0 8px; font:600 16px/1.35 Arial,sans-serif; overflow-wrap:anywhere; }
.mc-store-popup-card p { margin:6px 0; overflow-wrap:anywhere; }
.mc-store-popup-address { color:#555; font-size:13px; }
.mc-store-popup-note { color:#6b6b6b; font-size:12px; }
.mc-store-popup-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:14px; }
.mc-store-popup-actions a { color:#343a16; font-weight:600; text-decoration:none; font-size:12px; }
.mc-store-popup-actions a:hover { text-decoration:underline; }
.mc-store-popup-actions a.mc-store-popup-directions { background:#d4e126; color:#171717; border-radius:5px; padding:9px 12px; }
.mc-store-popup a.leaflet-popup-close-button { top:10px; right:8px; color:#555; }
@media(max-width:767px) {
  .mc-store-layout { display:flex; flex-direction:column; gap:18px; }
  #mc-store-map { order:-1; height:360px; }
  #mc-store-results { max-height:none; }
  .mc-store-search { gap:10px; }
  .mc-store-search input { flex-basis:100%; }
  .mc-store-search .mc-button { padding:10px 12px; }
  .mc-store-popup-list { max-height:210px; }
}
