/* Pharmacy finder (/<lang>/pharmacies/ on varnadaily). Uses the theme tokens from varna.css. Mobile first. */
.ph-group{margin:0 0 22px}
.ph-group[hidden],.pf[hidden],.pf-nearest[hidden],.pf-near-list[hidden],.pf-map[hidden],.ph-dist[hidden]{display:none}
.ph-group-h{color:var(--heading);margin:18px 0 8px;font-size:1.2rem}
.ph-group-n{color:var(--muted);font-size:.95rem;font-weight:400}
.ph-group-note{color:var(--muted);margin:0 0 12px;font-size:.9rem}
.ph[hidden]{display:none}
.ph-oh span[title]{text-decoration:none}

.pf{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin:18px 0 22px;padding:16px}
.pf-h{color:var(--heading);margin:0 0 4px;font-size:1.2rem}
.pf-lede{color:var(--muted);margin:0 0 14px;font-size:.9rem}
.pf-where{display:grid;gap:12px}
.pf-field{display:grid;gap:4px;min-width:0}
.pf-field label{color:var(--heading);font-size:.88rem;font-weight:600}
.pf select,.pf input[type=number]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:8px 10px;width:100%;box-sizing:border-box}
.pf input[type=number]{width:6.5em;flex:none}
.pf input[type=range]{flex:1;min-width:0;accent-color:var(--primary-strong);min-height:44px}
.pf select:focus-visible,.pf input:focus-visible,.pf-btn:focus-visible,.pf .when-filter button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:2px}
.pf-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid var(--primary-strong);background:var(--primary-strong);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;box-sizing:border-box}
.pf-btn:hover{filter:brightness(1.08)}
.pf-btn[disabled]{opacity:.7;cursor:progress}
.pf-btn-ghost{background:var(--surface);color:var(--heading);border-color:var(--line)}
.pf-btn-ghost:hover{border-color:var(--primary);filter:none}
.pf-map{height:min(60vh,360px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:12px 0 0;background:var(--surface)}
.pf-msg{margin:10px 0 0;font-size:.9rem;color:var(--muted);min-height:1.2em}
.pf-msg:empty{min-height:0;margin:0}
.pf-msg[data-kind=error]{color:#a8231a;font-weight:600}
.pf-msg[data-kind=warn]{color:#7a5600;font-weight:600}
.pf-opts{display:grid;gap:12px;margin:14px 0 0}
.pf-radius-row{display:flex;align-items:center;gap:10px}
.pf-help{color:var(--muted);font-size:.8rem}
.pf-filters{align-items:center}
.pf-filters button{min-height:40px}
.pf-count{margin:14px 0 0;color:var(--heading);font-weight:700;font-size:.95rem}
.pf-near-list{margin:12px 0 0}
.pf-nearest{margin:14px 0 0;padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:2px solid var(--primary-strong);box-shadow:0 8px 24px #0f1e3c14}
.pf-nearest.ph-open{border-color:#1a7f4e}
.pf-nearest-k{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.pf-nearest-d{color:var(--heading);text-transform:none;letter-spacing:0;font-size:.95rem}
.pf-nearest-name{margin:6px 0 2px;font-size:1.25rem;line-height:1.3;overflow-wrap:anywhere}
.pf-nearest-name a{color:var(--heading);text-decoration:none}
.pf-nearest-name a:hover{text-decoration:underline}
.pf-nearest .ph-state{display:block;margin:2px 0 0}
.pf-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.pf-nearest-alt{margin:12px 0 0;font-size:.9rem;color:var(--muted)}
.pf-nearest-alt a{font-weight:700}
.ph.ph-nearest{border-color:var(--primary-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}
.ph-dist{display:inline-block;margin:6px 0 0;padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--heading);font-size:.82rem;font-weight:700}
.pf-updated{color:var(--muted);margin:6px 0 0;font-size:.76rem}

@media (min-width:720px){
  .pf{padding:20px 22px}
  .pf-where{grid-template-columns:auto minmax(220px,1fr) auto;align-items:end}
  .pf-opts{grid-template-columns:minmax(240px,1fr) auto;align-items:end}
}
@media (prefers-color-scheme:dark){
  .pf-msg[data-kind=error]{color:#ff8a80}
  .pf-msg[data-kind=warn]{color:#f5d27a}
  .pf-nearest.ph-open{border-color:#5fd49a}
  .pf-nearest{box-shadow:none}
}
