/* Pharmacy map at /pharmacies, in Sophia's style. Map above the list on phones,
   side by side on wide screens. */
.map-intro{margin-top:26px;max-width:760px}
.map-intro h1{font-size:clamp(38px,4.6vw,60px)}
.map-section{padding:40px 0 72px}
.switch-alert,.current-alert{margin-bottom:20px}
.switch-alert .actions{margin-top:14px}
.current-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.current-alert .btn{min-height:42px;padding:9px 16px}

.map-finder{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.map-finder-input{position:relative;flex:1 1 280px}
.map-finder-input .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--teal)}
.map-finder-input input{padding-left:44px;min-height:50px}
.map-finder .btn{min-height:50px}
.map-finder .btn .icon{width:18px;height:18px}
.map-status{min-height:22px;margin:10px 0 14px;color:var(--teal)!important;font-weight:600}

.map-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}
.map-wrap{position:sticky;top:110px}
.pharmacy-map{height:560px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:#e7f0ec;z-index:0}
.map-hint{margin-top:8px}
.map-fallback{padding:40px 20px;text-align:center}

.list-title{font-size:20px;letter-spacing:-.02em;margin-bottom:14px}
.pharmacy-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.pharmacy-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.pharmacy-item.is-current{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.pi-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pi-head h3{font-size:18px;line-height:1.3}
.pi-distance{font-size:13px;font-weight:700;color:var(--teal);white-space:nowrap}
.pi-area{font-size:13px;margin-top:2px}
.pi-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.chip{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--pale);border:1px solid var(--line);color:var(--ink)}
.chip.open{background:#e3f5ec;border-color:#a7dcc4;color:#065f46}
.chip.soon{background:#fef3c7;border-color:#fcd34d;color:#92400e}
.pi-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pi-actions .btn{min-height:44px;padding:10px 18px;font-size:13px}
.nearby-none{margin-top:16px;padding:18px;border-radius:16px;background:#fff7e6;border:1px solid #fcd9a0}
.nearby-none p{color:#7a4a06;font-size:14px;margin-bottom:12px}

/* map markers */
.map-pin-wrap{background:none;border:0}
.map-pin{display:block;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--teal);border:3px solid #fff;box-shadow:0 4px 12px #0f2a2560}
.map-pin.soon{background:#d18a12}
.map-pin.current{background:var(--teal-dark);box-shadow:0 0 0 4px #087f7340,0 4px 12px #0f2a2560}
.map-pin.request{background:#b42318}
.you-dot{display:block;width:18px;height:18px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 6px #2563eb33}
.map-popup{display:flex;flex-direction:column;gap:4px;min-width:170px;font-family:Inter,"Segoe UI",Arial,sans-serif}
.map-popup strong{font-size:14px;color:var(--ink)}
.map-popup span,.map-popup em{font-size:12px;color:var(--muted)}
.map-popup .btn{margin-top:8px;min-height:38px;padding:8px 14px;font-size:12px;color:#fff}
.leaflet-container a.btn{color:#fff}
.leaflet-container{font-family:Inter,"Segoe UI",Arial,sans-serif}

@media(max-width:1000px){
  .map-layout{grid-template-columns:minmax(0,1fr)}
  .map-wrap{position:static}
  .pharmacy-map{height:380px}
}
@media(max-width:680px){
  .map-intro{margin-top:14px}
  .map-intro h1{font-size:34px}
  .map-intro .lead{font-size:14px;margin-top:12px}
  .map-section{padding:20px 0 56px}
  .map-finder .btn{flex:1 1 auto}
  .pharmacy-map{height:320px;border-radius:16px}
  .pi-actions .btn{flex:1 1 auto}
}
