.pharmacy-page { color: var(--color-text, #172033); }
.pharmacy-hero { padding: clamp(2.6rem, 6vw, 4.5rem) 0; color: #fff; background: linear-gradient(118deg,#073b5b,#0d5268 56%,#176b68); }
.pharmacy-hero-inner { max-width: 980px; }
.pharmacy-hero h1 { margin: 0; color: #fff; font-size: clamp(2rem,5vw,3.4rem); line-height: 1.12; }
.pharmacy-hero p:last-child { max-width: 760px; margin: 1rem 0 0; color: rgb(255 255 255 / 90%); font-size: 1.08rem; line-height: 1.7; }
.pharmacy-eyebrow { margin: 0 0 .65rem; color: #087c7a; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pharmacy-hero .pharmacy-eyebrow { color: #a6e5d6; }
.pharmacy-content { padding-top: clamp(1.5rem,4vw,3rem); padding-bottom: clamp(3rem,6vw,5rem); }
.pharmacy-search-card { padding: clamp(1.1rem,3vw,1.8rem); border: 1px solid #dce8e6; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgb(15 55 70 / 7%); }
.pharmacy-search-card h2,.pharmacy-results h2 { margin: 0 0 .75rem; color: #123c52; font-size: clamp(1.4rem,3vw,1.9rem); }
.pharmacy-area-note { max-width: 850px; color: #536976; line-height: 1.65; }
.pharmacy-search-form { display: grid; grid-template-columns: auto minmax(220px,1fr) auto; gap: .8rem; align-items: center; }
.pharmacy-search-form label { font-weight: 700; }
.pharmacy-search-form select { min-height: 48px; width: 100%; padding: .6rem .8rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #172033; }
.pharmacy-search-form :focus-visible,.pharmacy-location-action :focus-visible,.pharmacy-card-links a:focus-visible,.pharmacy-attribution a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.pharmacy-location-action { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid #e5eceb; }
.pharmacy-location-action form { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.pharmacy-location-action > p { margin: .55rem 0 0; color: #64748b; font-size: .9rem; }
.pharmacy-location-status { color: #475569; font-size: .92rem; }
.pharmacy-alert,.pharmacy-empty { margin: 1.25rem 0; padding: 1rem 1.1rem; border: 1px solid #bae6fd; border-radius: 10px; background: #f0f9ff; color: #075985; line-height: 1.6; }
.pharmacy-alert-warning { border-color: #fbbf24; background: #fffbeb; color: #92400e; }
.pharmacy-results { margin-top: 2rem; }
.pharmacy-results-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.pharmacy-results-heading h2 { margin-bottom: 0; }
.pharmacy-date { margin: 0; color: #64748b; }
.pharmacy-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 1rem; }
.pharmacy-card { min-width: 0; padding: 1.2rem; border: 1px solid #dce8e6; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(15 55 70 / 5%); }
.pharmacy-card-heading { display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.pharmacy-duty-label { padding: .25rem .65rem; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .78rem; font-weight: 800; }
.pharmacy-distance,.pharmacy-place { color: #64748b; font-size: .9rem; }
.pharmacy-card h3 { margin: .9rem 0 .35rem; color: #123c52; font-size: 1.2rem; overflow-wrap: anywhere; }
.pharmacy-place,.pharmacy-address { margin: .3rem 0; line-height: 1.6; overflow-wrap: anywhere; }
.pharmacy-card-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.pharmacy-card-links a { display: inline-flex; min-height: 40px; align-items: center; padding: .45rem .75rem; border: 1px solid #cbd5e1; border-radius: 8px; color: #075985; font-weight: 700; text-decoration: none; }
.pharmacy-card-links a:hover { background: #f0f9ff; }
.pharmacy-attribution { margin: 1.5rem 0 .4rem; color: #334155; font-weight: 700; }
.pharmacy-attribution a { color: #075985; text-underline-offset: 3px; }
.pharmacy-disclaimer { margin: .4rem 0 0; color: #64748b; font-size: .9rem; line-height: 1.6; }
@media (max-width:640px) { .pharmacy-search-form { grid-template-columns: 1fr; } .pharmacy-search-form label { margin-bottom: -.45rem; } .pharmacy-results-heading { align-items: start; flex-direction: column; } .pharmacy-location-action form { align-items: stretch; flex-direction: column; } }
