/* ══════════════════════════════════════════════════════════════
   PHARMACY COMPARE — PREMIUM DESIGN SYSTEM
   Layered above base styles. Tokens → primitives → components.
   ══════════════════════════════════════════════════════════════ */

:root{
  /* Brand */
  --pc-navy:#0A1F3D;
  --pc-deep:#004A99;
  --pc-blue:#0066CC;
  --pc-blue-soft:#EAF4FF;
  --pc-blue-line:#C9DEF6;

  /* Surfaces */
  --pc-bg:#F5F8FB;
  --pc-surface:#FFFFFF;
  --pc-surface-alt:#FAFCFE;
  --pc-inset:#F2F6FA;

  /* Text */
  --pc-text:#10233F;
  --pc-text-2:#5F6F82;
  --pc-text-3:#8494A6;

  /* Lines */
  --pc-border:#DCE4EC;
  --pc-border-strong:#C6D2DF;

  /* Status */
  --pc-success:#087A5B;
  --pc-success-soft:#E5F6EF;
  --pc-success-line:#B6E3D1;
  --pc-warn:#8A6100;
  --pc-warn-soft:#FFF8E7;
  --pc-warn-line:#F2DFAE;
  --pc-danger:#C9362B;
  --pc-danger-soft:#FDF0EF;
  --pc-danger-line:#F3CFCB;

  /* Spacing scale (4px base) */
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s7:32px; --s8:40px; --s9:48px; --s10:64px; --s11:80px;

  /* Radius */
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-pill:999px;

  /* Elevation — restrained, never cheap */
  --e1:0 1px 2px rgba(16,35,63,.04);
  --e2:0 2px 6px rgba(16,35,63,.06), 0 1px 2px rgba(16,35,63,.04);
  --e3:0 8px 24px rgba(16,35,63,.10), 0 2px 6px rgba(16,35,63,.05);

  /* Motion */
  --t-fast:150ms cubic-bezier(.4,0,.2,1);
  --t-base:200ms cubic-bezier(.4,0,.2,1);

  --pc-container:1200px;

  /* Map legacy vars onto the new system so base styles inherit the palette */
  --primary:var(--pc-blue);
  --primary-dark:var(--pc-deep);
  --primary-light:var(--pc-blue-soft);
  --dark:var(--pc-navy);
  --text:var(--pc-text);
  --muted:var(--pc-text-2);
  --border:var(--pc-border);
  --bg:var(--pc-bg);
  --card-bg:var(--pc-surface);
  --success:var(--pc-success);
  --success-bg:var(--pc-success-soft);
}

/* ── Typography ─────────────────────────────────────────── */
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-feature-settings:'cv02','cv03','cv04','ss01';
  background:var(--pc-bg);
  color:var(--pc-text);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4{letter-spacing:-.021em;color:var(--pc-navy);text-wrap:balance}
h1,h2,h3,h4{font-weight:750}

/* ── CRITICAL: any heading on a dark surface must stay white ──
   These must come after the global heading colour rule above. */
.hero h1,.hero h2,.hero h3,.hero p,
.search-hero h1,.search-hero h2,.search-hero p,
.pc-hero h1,.pc-hero h2,.pc-hero h3,.pc-hero p,
.cta-strip h1,.cta-strip h2,.cta-strip p,
.ft h1,.ft h2,.ft h3,.ft h4,
.pharmacy-hero h1,.pharmacy-hero h2,.pharmacy-hero p{color:#fff}
.hero .hero-sub,.pc-hero .pc-hero-sub,.search-hero p{color:rgba(255,255,255,.88)}
.ft-col h4,.ft-brand{color:#fff}

/* ══ PHOTOGRAPHIC HERO (pharmacy + landing) ═══════════════ */
.pharmacy-hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:var(--s9) var(--s6) var(--s10);
  background:var(--pc-navy);
  color:#fff;
}
.pharmacy-hero::before{
  content:'';position:absolute;inset:0;z-index:-2;
  background-image:image-set(url('/assets/images/pharmacy-hero.webp') 1x);
  background-image:url('/assets/images/pharmacy-hero.webp');
  background-size:cover;background-position:center 42%;
  transform:scale(1.03);
}
/* Dual overlay: solid base for guaranteed contrast + directional gradient for depth */
.pharmacy-hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg, rgba(10,31,61,.94) 0%, rgba(10,31,61,.88) 42%, rgba(0,74,153,.72) 100%),
    linear-gradient(to bottom, rgba(10,31,61,.35) 0%, rgba(10,31,61,.55) 100%);
}
.pharmacy-hero-inner{
  position:relative;z-index:1;max-width:var(--pc-container);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s8);align-items:start;
}
.pharmacy-hero h1{
  font-size:clamp(30px,4.2vw,46px);font-weight:800;color:#fff;
  line-height:1.1;letter-spacing:-.028em;margin:0 0 var(--s3);
  text-shadow:0 1px 24px rgba(0,0,0,.28);
}
.pharmacy-hero .ph-address{
  font-size:16.5px;color:rgba(255,255,255,.9);margin-bottom:var(--s5);
  display:flex;align-items:flex-start;gap:var(--s2);max-width:60ch;
}
.pharmacy-hero .ph-address svg{margin-top:3px;flex:none;opacity:.8}
.ph-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(8,122,91,.42);border:1px solid rgba(140,230,200,.55);
  color:#EAFBF4;padding:6px 14px;border-radius:var(--r-pill);
  font-size:12.5px;font-weight:700;letter-spacing:.03em;margin-bottom:var(--s4);
  backdrop-filter:blur(6px);
}
@media (max-width:640px){
  .pharmacy-hero{padding:var(--s7) var(--s4) var(--s8)}
  .pharmacy-hero::before{background-image:url('/assets/images/pharmacy-hero-mobile.webp')}
  .pharmacy-hero-inner{grid-template-columns:1fr;gap:var(--s6)}
}
@media (max-width:1023px){.pharmacy-hero-inner{grid-template-columns:1fr;gap:var(--s6)}}

.pc-eyebrow{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--pc-blue);margin-bottom:var(--s3);
}

/* ── Focus: visible, consistent, never removed ──────────── */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--pc-blue);
  outline-offset:2px;
  border-radius:var(--r-sm);
}

/* ── Skip link ──────────────────────────────────────────── */
.pc-skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--pc-navy);color:#fff;padding:12px 20px;
  border-radius:0 0 var(--r-md) 0;font-weight:600;font-size:14px;
}
.pc-skip:focus{left:0;color:#fff;text-decoration:none}

/* ══ HEADER ═══════════════════════════════════════════════ */
.hdr{
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--pc-border);
  position:sticky;top:0;z-index:60;
}
.hdr-inner{max-width:var(--pc-container);margin:0 auto;padding:0 var(--s6);height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}
.hdr-brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none}
.hdr-brand:hover{text-decoration:none}
.hdr-brand .logo-mark{
  width:40px;height:40px;border-radius:11px;
  background:linear-gradient(145deg,var(--pc-blue) 0%,var(--pc-deep) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;flex:none;
  box-shadow:0 2px 8px rgba(0,102,204,.28);
}
.hdr-brand .b1{font-size:16.5px;font-weight:800;color:var(--pc-navy);line-height:1.15;letter-spacing:-.02em;display:block}
.hdr-brand .b2{font-size:11.5px;font-weight:500;color:var(--pc-text-2);display:block;margin-top:1px;letter-spacing:0}

.hdr-nav{display:flex;align-items:center;gap:var(--s1)}
.hdr-nav a{
  color:var(--pc-text);font-size:14.5px;font-weight:500;
  padding:9px 13px;border-radius:var(--r-sm);
  transition:background var(--t-fast),color var(--t-fast);text-decoration:none;
}
.hdr-nav a:hover{background:var(--pc-blue-soft);color:var(--pc-deep);text-decoration:none}
.hdr-cta{
  background:var(--pc-blue);color:#fff!important;padding:10px 20px!important;
  border-radius:var(--r-md)!important;font-weight:650!important;font-size:14.5px;
  margin-left:var(--s3);box-shadow:0 1px 3px rgba(0,102,204,.3);
  transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);
}
.hdr-cta:hover{background:var(--pc-deep)!important;transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,102,204,.32)}

/* Mobile nav trigger */
.pc-menu-btn{
  display:none;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--pc-border);background:#fff;
  border-radius:var(--r-md);cursor:pointer;color:var(--pc-navy);flex:none;
  transition:background var(--t-fast),border-color var(--t-fast);
}
.pc-menu-btn:hover{background:var(--pc-inset);border-color:var(--pc-border-strong)}
.pc-menu-btn svg{width:22px;height:22px}
.pc-menu-btn .ico-close{display:none}
.pc-menu-btn[aria-expanded="true"] .ico-open{display:none}
.pc-menu-btn[aria-expanded="true"] .ico-close{display:block}

/* Mobile drawer */
.pc-drawer{
  position:fixed;inset:70px 0 0 0;background:#fff;z-index:55;
  padding:var(--s5) var(--s6) var(--s10);
  overflow-y:auto;display:none;
  animation:pcFade var(--t-base) both;
}
.pc-drawer.is-open{display:block}
@keyframes pcFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pc-drawer a{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 4px;font-size:16.5px;font-weight:600;color:var(--pc-navy);
  border-bottom:1px solid var(--pc-border);text-decoration:none;min-height:44px;
}
.pc-drawer a:hover{color:var(--pc-blue);text-decoration:none}
.pc-drawer a svg{width:18px;height:18px;color:var(--pc-text-3);flex:none}
.pc-drawer .pc-drawer-cta{
  background:var(--pc-blue);color:#fff;justify-content:center;
  border-radius:var(--r-md);border:0;margin-top:var(--s6);padding:16px;
  box-shadow:0 2px 8px rgba(0,102,204,.25);
}
.pc-drawer .pc-drawer-cta:hover{background:var(--pc-deep);color:#fff}
body.pc-nav-open{overflow:hidden}

/* ══ BREADCRUMB ═══════════════════════════════════════════ */
.bc{background:var(--pc-surface);border-bottom:1px solid var(--pc-border);padding:var(--s3) var(--s6)}
.bc-inner{max-width:var(--pc-container);margin:0 auto;font-size:13.5px;color:var(--pc-text-2)}
.bc-inner a{color:var(--pc-text-2);text-decoration:none}
.bc-inner a:hover{color:var(--pc-blue);text-decoration:underline}
.bc-inner .sep{margin:0 var(--s2);color:var(--pc-text-3)}

/* ══ BUTTONS ══════════════════════════════════════════════ */
.pc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:46px;padding:0 var(--s5);border-radius:var(--r-md);
  font-size:15px;font-weight:650;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:all var(--t-fast);
}
.pc-btn:hover{text-decoration:none;transform:translateY(-1px)}
.pc-btn-primary{background:var(--pc-blue);color:#fff;box-shadow:0 1px 3px rgba(0,102,204,.3)}
.pc-btn-primary:hover{background:var(--pc-deep);color:#fff;box-shadow:0 4px 14px rgba(0,102,204,.3)}
.pc-btn-secondary{background:#fff;color:var(--pc-deep);border-color:var(--pc-blue-line)}
.pc-btn-secondary:hover{background:var(--pc-blue-soft);color:var(--pc-deep);border-color:var(--pc-blue)}
.pc-btn-ghost{background:transparent;color:var(--pc-blue);padding:0 var(--s2);min-height:auto}
.pc-btn-ghost:hover{color:var(--pc-deep);text-decoration:underline;transform:none}

/* ══ PHARMACY HERO ════════════════════════════════════════ */
.pc-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0A1F3D 0%,#0B2B52 42%,#004A99 100%);
  color:#fff;padding:var(--s9) var(--s6) var(--s10);
}
.pc-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(900px 420px at 88% -10%, rgba(0,140,255,.30), transparent 62%),
    radial-gradient(620px 340px at 4% 108%, rgba(8,122,91,.24), transparent 60%);
  pointer-events:none;
}
.pc-hero-art{
  position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  width:520px;max-width:46%;opacity:.15;pointer-events:none;
}
.pc-hero-inner{
  position:relative;z-index:1;max-width:var(--pc-container);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:var(--s8);align-items:start;
}
.pc-hero-eyebrow{
  display:inline-flex;align-items:center;gap:var(--s2);
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
  color:#EAF4FF;padding:6px 14px;border-radius:var(--r-pill);
  font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:var(--s4);backdrop-filter:blur(4px);
}
.pc-hero h1{
  font-size:clamp(30px,4.2vw,46px);font-weight:800;color:#fff;
  line-height:1.1;letter-spacing:-.028em;margin-bottom:var(--s3);
}
.pc-hero-sub{font-size:17px;color:rgba(255,255,255,.86);margin-bottom:var(--s5);max-width:56ch}
.pc-hero-meta{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.pc-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  color:#fff;padding:6px 13px;border-radius:var(--r-pill);font-size:13px;font-weight:600;
}
.pc-chip.is-open{background:rgba(8,122,91,.35);border-color:rgba(140,230,200,.5)}
.pc-chip.is-closed{background:rgba(201,54,43,.28);border-color:rgba(243,207,203,.45)}
.pc-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}

/* Anchor navigation */
.pc-jump{display:flex;gap:var(--s2);flex-wrap:wrap;padding-top:var(--s5);
  border-top:1px solid rgba(255,255,255,.15)}
.pc-jump a{
  color:rgba(255,255,255,.9);font-size:13.5px;font-weight:600;
  padding:8px 15px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  text-decoration:none;transition:all var(--t-fast);min-height:38px;
  display:inline-flex;align-items:center;
}
.pc-jump a:hover{background:rgba(255,255,255,.18);color:#fff;text-decoration:none}

/* Trust card in hero */
.pc-trust{
  background:#fff;border-radius:var(--r-lg);padding:var(--s6);
  box-shadow:var(--e3);color:var(--pc-text);
}
.pc-trust h2{font-size:15px;font-weight:750;color:var(--pc-navy);margin-bottom:var(--s4);
  display:flex;align-items:center;gap:var(--s2)}
.pc-trust-row{display:flex;justify-content:space-between;gap:var(--s4);
  padding:11px 0;border-bottom:1px solid var(--pc-inset);font-size:13.5px}
.pc-trust-row:last-of-type{border-bottom:0}
.pc-trust-row dt{color:var(--pc-text-2);font-weight:500;margin:0}
.pc-trust-row dd{color:var(--pc-navy);font-weight:650;margin:0;text-align:right}
.pc-trust-note{font-size:12.5px;color:var(--pc-text-2);line-height:1.55;
  margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--pc-inset)}
.pc-code{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  background:var(--pc-inset);border:1px solid var(--pc-border);
  padding:2px 7px;border-radius:var(--r-sm);font-size:12.5px;color:var(--pc-navy)}

/* ══ SECTIONS / CARDS ═════════════════════════════════════ */
.psec{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-lg);padding:var(--s7);margin-top:var(--s6);
  box-shadow:var(--e1);scroll-margin-top:90px;
}
.psec h2{font-size:22px;font-weight:750;margin-bottom:var(--s2);letter-spacing:-.02em}
.psec .psec-sub{font-size:14.5px;color:var(--pc-text-2);margin-bottom:var(--s5);max-width:70ch;line-height:1.6}

.pharma-main{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-lg);padding:var(--s7);box-shadow:var(--e1);
}

/* Definition-style detail rows (replaces dense table look) */
.detail-tbl{width:100%;border-collapse:collapse}
.detail-tbl tr td{padding:14px 0;border-bottom:1px solid var(--pc-inset);font-size:15px;vertical-align:top}
.detail-tbl tr:last-child td{border-bottom:0}
.detail-tbl tr td:first-child{color:var(--pc-text-2);width:150px;font-weight:600;font-size:14px}
.detail-tbl tr td:last-child{color:var(--pc-text);font-weight:500}
.detail-tbl a{color:var(--pc-blue);font-weight:600}

/* ══ STATUS / FACILITY GRID ═══════════════════════════════ */
.fac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s3)}
.fac-item{
  display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s4);
  border:1px solid var(--pc-border);border-radius:var(--r-md);
  background:var(--pc-surface-alt);transition:border-color var(--t-fast),background var(--t-fast);
}
.fac-item:hover{border-color:var(--pc-border-strong)}
.fac-item .fi-ic{
  width:24px;height:24px;border-radius:50%;flex:none;margin-top:1px;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:#fff;
}
.fac-item.ok{background:var(--pc-success-soft);border-color:var(--pc-success-line)}
.fac-item.ok .fi-ic{background:var(--pc-success)}
.fac-item.likely{background:var(--pc-blue-soft);border-color:var(--pc-blue-line)}
.fac-item.likely .fi-ic{background:var(--pc-blue)}
.fac-item.unknown{background:var(--pc-surface-alt)}
.fac-item.unknown .fi-ic{background:var(--pc-text-3)}
.fi-name{font-size:14.5px;font-weight:650;color:var(--pc-navy);line-height:1.35}
.fi-status{font-size:12.5px;color:var(--pc-text-2);margin-top:3px;line-height:1.45}

/* ══ OPENING HOURS ════════════════════════════════════════ */
.hours-wrap{margin-top:var(--s4)}
.open-now-badge{
  display:inline-flex;align-items:center;gap:var(--s2);
  padding:8px 16px;border-radius:var(--r-pill);
  font-size:14px;font-weight:700;margin-bottom:var(--s4);
}
.open-now-badge.is-open{background:var(--pc-success-soft);color:var(--pc-success);border:1px solid var(--pc-success-line)}
.open-now-badge.is-closed{background:var(--pc-danger-soft);color:var(--pc-danger);border:1px solid var(--pc-danger-line)}
.open-now-badge.is-pending{background:var(--pc-inset);color:var(--pc-text-2);border:1px solid var(--pc-border)}
.open-now-badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}

.hours-table{width:100%;border-collapse:collapse;margin:var(--s2) 0}
.hours-table tr td{padding:11px var(--s3);border-bottom:1px solid var(--pc-inset);font-size:14.5px}
.hours-table tr:last-child td{border-bottom:0}
.hours-table tr td:first-child{color:var(--pc-text-2);width:130px;font-weight:600}
.hours-table tr td:last-child{color:var(--pc-text);font-variant-numeric:tabular-nums}
.hours-table tr.today-row{background:var(--pc-blue-soft)}
.hours-table tr.today-row td{color:var(--pc-navy);font-weight:750}
.hours-table tr.today-row td:first-child{color:var(--pc-deep);border-radius:var(--r-sm) 0 0 var(--r-sm)}
.hours-table tr.today-row td:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}
.hours-confirmed-note{font-size:12.5px;color:var(--pc-text-2);margin-top:var(--s3)}
.bank-holiday-note{
  background:var(--pc-warn-soft);border:1px solid var(--pc-warn-line);
  border-radius:var(--r-md);padding:var(--s4);margin-top:var(--s4);
  font-size:13.5px;color:var(--pc-warn);
}
.bank-holiday-note strong{color:#6B4B00}

/* ══ STATUS CARD (beside map) ═════════════════════════════ */
.status-card{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s4);box-shadow:var(--e2);
}
.status-card .sc-body{padding:var(--s5)}
.status-card .sc-name{font-size:16.5px;font-weight:750;color:var(--pc-navy);margin-bottom:var(--s4);line-height:1.3}
.sc-status{
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  padding:11px var(--s4);border-radius:var(--r-md);
  font-size:15px;font-weight:700;width:100%;box-sizing:border-box;
}
.sc-status.is-open{background:var(--pc-success);color:#fff}
.sc-status.is-closed{background:var(--pc-danger-soft);color:var(--pc-danger);border:1px solid var(--pc-danger-line)}
.sc-status.is-pending{background:var(--pc-inset);color:var(--pc-text-2)}
.sc-status .dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
.sc-today{
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);
  margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--pc-inset);font-size:14px;
}
.sc-today-label{color:var(--pc-text-2);font-weight:600}
.sc-today-val{color:var(--pc-navy);font-weight:750;font-variant-numeric:tabular-nums}
.sc-web{
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  width:100%;box-sizing:border-box;margin-top:var(--s4);
  background:var(--pc-blue);color:#fff;padding:13px var(--s4);
  border-radius:var(--r-md);font-size:14.5px;font-weight:650;
  transition:background var(--t-fast),transform var(--t-fast);text-decoration:none;
}
.sc-web:hover{background:var(--pc-deep);color:#fff;text-decoration:none;transform:translateY(-1px)}
.sc-web-host{display:block;text-align:center;font-size:12px;color:var(--pc-text-2);margin-top:7px;word-break:break-all}
.sc-hours-link{display:block;text-align:center;font-size:13.5px;font-weight:650;
  margin-top:var(--s3);color:var(--pc-blue);text-decoration:none}
.sc-hours-link:hover{text-decoration:underline}

/* ══ MAP CARD ═════════════════════════════════════════════ */
.pharma-sidebar .side-card{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s4);box-shadow:var(--e1);padding:0;
}
.pharma-sidebar .map-head{
  padding:var(--s4) var(--s5);border-bottom:1px solid var(--pc-border);
  font-weight:700;color:var(--pc-navy);font-size:14.5px;display:flex;align-items:center;gap:var(--s2);
}
.pharma-sidebar .map-frame{width:100%;height:260px;border:0;display:block}
.pharma-sidebar .map-actions{padding:var(--s3) var(--s4);display:flex;gap:var(--s2);border-top:1px solid var(--pc-border)}
.pharma-sidebar .map-btn{
  flex:1;text-align:center;background:var(--pc-blue-soft);color:var(--pc-deep);
  padding:10px;border-radius:var(--r-sm);font-size:13px;font-weight:650;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:42px;text-decoration:none;transition:background var(--t-fast);
}
.pharma-sidebar .map-btn:hover{background:var(--pc-blue-line);color:var(--pc-deep);text-decoration:none}
.pharma-sidebar .side-card.cta-card{background:var(--pc-blue-soft);border-color:var(--pc-blue-line);padding:var(--s5)}
.pharma-sidebar .side-card.cta-card.yellow{background:var(--pc-warn-soft);border-color:var(--pc-warn-line)}
.pharma-sidebar h3{font-size:15.5px;font-weight:750;color:var(--pc-navy);margin-bottom:var(--s2)}
.pharma-sidebar p{font-size:14px;color:var(--pc-text-2);line-height:1.55;margin-bottom:var(--s4)}
.side-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--pc-blue);color:#fff;padding:11px var(--s4);border-radius:var(--r-md);
  font-size:13.5px;font-weight:650;min-height:42px;text-decoration:none;transition:background var(--t-fast);
}
.side-cta:hover{background:var(--pc-deep);color:#fff;text-decoration:none}

/* ══ ACCORDION (FAQ) ══════════════════════════════════════ */
.pfaq details{
  border:1px solid var(--pc-border);border-radius:var(--r-md);
  margin-bottom:var(--s2);background:var(--pc-surface);overflow:hidden;
  transition:border-color var(--t-fast);
}
.pfaq details[open]{border-color:var(--pc-blue-line);background:var(--pc-surface)}
.pfaq summary{list-style:none;cursor:pointer}
.pfaq summary::-webkit-details-marker{display:none}
.pfaq .pfaq-q{
  font-size:15.5px;font-weight:650;color:var(--pc-navy);line-height:1.45;
  padding:var(--s4) var(--s5);display:flex;justify-content:space-between;
  align-items:center;gap:var(--s4);margin:0;min-height:44px;
  transition:background var(--t-fast);background:transparent;border:0;
}
.pfaq summary:hover .pfaq-q{background:var(--pc-blue-soft)}
.pfaq .pfaq-q::after{
  content:'';width:11px;height:11px;flex:none;
  border-right:2.2px solid var(--pc-blue);border-bottom:2.2px solid var(--pc-blue);
  transform:rotate(45deg) translateY(-2px);transition:transform var(--t-base);
}
.pfaq details[open] .pfaq-q::after{transform:rotate(225deg) translateY(-2px)}
.pfaq .pfaq-a{
  font-size:14.5px;color:var(--pc-text);line-height:1.7;
  padding:0 var(--s5) var(--s5);
}

/* ══ TAGS ═════════════════════════════════════════════════ */
.tags-row{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s5) 0}
.tag{
  display:inline-flex;align-items:center;gap:5px;padding:6px 13px;
  border-radius:var(--r-pill);font-size:12.5px;font-weight:650;border:1px solid transparent;
}
.tag-green{background:var(--pc-success-soft);color:var(--pc-success);border-color:var(--pc-success-line)}
.tag-blue{background:var(--pc-blue-soft);color:var(--pc-deep);border-color:var(--pc-blue-line)}
.tag-yellow{background:var(--pc-warn-soft);color:var(--pc-warn);border-color:var(--pc-warn-line)}
.tag-grey{background:var(--pc-inset);color:var(--pc-text-2);border-color:var(--pc-border)}

/* ══ LISTING CARDS ════════════════════════════════════════ */
.lc{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-md);padding:var(--s5);margin-bottom:var(--s3);
  display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s5);
  transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);
}
.lc:hover{border-color:var(--pc-blue-line);box-shadow:var(--e2);transform:translateY(-1px)}
.lc .lc-info h3{font-size:16.5px;font-weight:700;margin-bottom:5px}
.lc .lc-info h3 a{color:var(--pc-navy);text-decoration:none}
.lc .lc-info h3 a:hover{color:var(--pc-blue)}
.lc .lc-addr{font-size:13.5px;color:var(--pc-text-2);margin-bottom:var(--s2)}
.lc .lc-tags{display:flex;flex-wrap:wrap;gap:6px}
.lc .lc-cta{
  flex:none;background:var(--pc-blue-soft);color:var(--pc-deep);border-radius:var(--r-sm);
  padding:10px 16px;font-size:13.5px;font-weight:650;white-space:nowrap;min-height:42px;
  display:inline-flex;align-items:center;text-decoration:none;transition:all var(--t-fast);
  border:1px solid var(--pc-blue-line);
}
.lc .lc-cta:hover{background:var(--pc-blue);color:#fff;text-decoration:none;border-color:var(--pc-blue)}

/* ══ PAGE WRAP ════════════════════════════════════════════ */
.pwrap{max-width:var(--pc-container);margin:0 auto;padding:var(--s7) var(--s6) var(--s11)}
.page-head{margin-bottom:var(--s6)}
.page-head h1{font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.15;margin-bottom:var(--s2)}
.page-head .ph-sub{font-size:16.5px;color:var(--pc-text-2)}
.nearby-head{margin:var(--s8) 0 var(--s4);font-size:22px;font-weight:750;color:var(--pc-navy)}
.upd-badge{
  display:inline-flex;align-items:center;gap:7px;background:var(--pc-success-soft);
  color:var(--pc-success);border:1px solid var(--pc-success-line);
  padding:6px 14px;border-radius:var(--r-pill);font-size:12.5px;font-weight:650;margin-top:var(--s3);
}
.upd-badge::before{content:'';width:7px;height:7px;background:currentColor;border-radius:50%}

.article-card{
  background:var(--pc-surface);border:1px solid var(--pc-border);
  border-radius:var(--r-lg);padding:var(--s8);font-size:16px;line-height:1.75;box-shadow:var(--e1);
}
.article-card h2{font-size:24px;margin:var(--s7) 0 var(--s4);font-weight:750}
.article-card h2:first-child{margin-top:0}
.article-card h3{font-size:18.5px;margin:var(--s6) 0 var(--s3);font-weight:700}
.article-card p{margin-bottom:var(--s4)}
.article-card ul,.article-card ol{margin:0 0 var(--s4) var(--s6)}
.article-card li{margin-bottom:var(--s2)}

.contact-card{
  background:var(--pc-surface-alt);border:1px solid var(--pc-border);
  border-radius:var(--r-md);padding:var(--s5);margin-top:var(--s4);font-size:15px;line-height:1.7;
}
.contact-card h3{font-size:16px;font-weight:750;margin-bottom:var(--s3)}
.contact-actions{display:flex;gap:var(--s3);margin-top:var(--s4);flex-wrap:wrap}
.contact-btn{
  display:inline-flex;align-items:center;gap:var(--s2);background:var(--pc-blue);color:#fff;
  padding:11px 18px;border-radius:var(--r-md);font-size:14px;font-weight:650;
  min-height:44px;text-decoration:none;transition:all var(--t-fast);
}
.contact-btn:hover{background:var(--pc-deep);color:#fff;text-decoration:none;transform:translateY(-1px)}
.contact-btn.alt{background:#fff;color:var(--pc-deep);border:1px solid var(--pc-blue-line)}
.contact-btn.alt:hover{background:var(--pc-blue-soft);color:var(--pc-deep)}

/* Hierarchy cards */
.hier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4)}
.hier-card{
  background:var(--pc-surface);border:1px solid var(--pc-border);border-radius:var(--r-md);
  padding:var(--s5);transition:all var(--t-fast);display:block;text-decoration:none;
}
.hier-card:hover{border-color:var(--pc-blue);box-shadow:var(--e2);transform:translateY(-2px);text-decoration:none}
.hier-card h3{font-size:16px;font-weight:700;color:var(--pc-navy);margin-bottom:5px}
.hier-card .hc-meta{font-size:13.5px;color:var(--pc-text-2)}
.hier-card .hc-cnt{
  display:inline-block;background:var(--pc-blue-soft);color:var(--pc-deep);
  font-size:12px;font-weight:650;padding:3px 10px;border-radius:var(--r-pill);margin-top:var(--s2);
}

/* Grid */
.pharma-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s6);align-items:start}

/* ══ FOOTER ═══════════════════════════════════════════════ */
.ft{background:var(--pc-navy);color:rgba(255,255,255,.66);padding:var(--s10) var(--s6) var(--s7)}
.ft-inner{max-width:var(--pc-container);margin:0 auto}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s8);margin-bottom:var(--s8)}
.ft-brand{color:#fff;font-size:17px;font-weight:800;margin-bottom:var(--s3);display:flex;align-items:center;gap:var(--s3)}
.ft-brand .logo-mark{
  width:38px;height:38px;border-radius:10px;flex:none;
  background:linear-gradient(145deg,var(--pc-blue) 0%,var(--pc-deep) 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
}
.ft-blurb{font-size:14px;line-height:1.65;max-width:320px;color:rgba(255,255,255,.62)}
.ft-col h4{color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s4);font-weight:700}
.ft-col ul{list-style:none;margin:0;padding:0}
.ft-col li{margin-bottom:11px}
.ft-col a{color:rgba(255,255,255,.66);font-size:14.5px;text-decoration:none;transition:color var(--t-fast)}
.ft-col a:hover{color:#fff;text-decoration:none}
.ft-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:var(--s6);
  font-size:13px;color:rgba(255,255,255,.5);line-height:1.7}
.ft-bot strong{color:rgba(255,255,255,.78)}

/* ══ RESPONSIVE ═══════════════════════════════════════════ */
@media (max-width:1023px){
  .pc-hero-inner{grid-template-columns:1fr;gap:var(--s6)}
  .pc-hero-art{display:none}
  .pharma-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:var(--s6)}
}
@media (max-width:880px){
  .hdr-nav{display:none}
  .pc-menu-btn{display:flex}
}
@media (max-width:640px){
  .hdr-inner{padding:0 var(--s4);height:64px}
  .pc-drawer{inset:64px 0 0 0;padding:var(--s4) var(--s5) var(--s9)}
  .hdr-brand .logo-mark{width:36px;height:36px}
  .pc-hero{padding:var(--s7) var(--s4) var(--s8)}
  .pwrap{padding:var(--s5) var(--s4) var(--s9)}
  .psec,.pharma-main{padding:var(--s5);border-radius:var(--r-md)}
  .article-card{padding:var(--s5)}
  .pc-jump{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding-bottom:var(--s2)}
  .pc-jump::-webkit-scrollbar{display:none}
  .pc-jump a{white-space:nowrap;flex:none}
  .fac-grid{grid-template-columns:1fr}
  .lc{flex-direction:column;align-items:stretch}
  .lc .lc-cta{width:100%;justify-content:center}
  .detail-tbl tr td{display:block;padding:6px 0;border:0}
  .detail-tbl tr td:first-child{width:auto;font-size:12.5px;text-transform:uppercase;
    letter-spacing:.05em;color:var(--pc-text-3);padding-top:var(--s3)}
  .detail-tbl tr{display:block;border-bottom:1px solid var(--pc-inset);padding-bottom:var(--s2)}
  .detail-tbl tr:last-child{border-bottom:0}
  .hours-table tr td:first-child{width:110px}
  .pharma-sidebar .map-frame{height:220px}
  .ft-grid{grid-template-columns:1fr;gap:var(--s6)}
  .contact-actions{flex-direction:column}
  .contact-btn{width:100%;justify-content:center}
}

/* ══ MOTION / PRINT ═══════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media print{
  .hdr,.ft,.pc-jump,.pc-menu-btn,.pc-drawer,.map-actions,.side-card.cta-card{display:none!important}
  .pc-hero{background:#fff!important;color:#000!important;padding:0!important}
  .pc-hero h1,.pc-hero-sub{color:#000!important}
  .psec,.pharma-main{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
}

/* ── Trust card internals + hero chips ────────────────────── */
.pc-trust-list{margin:0}
.pc-trust-flag{
  background:var(--pc-warn-soft);border:1px solid var(--pc-warn-line);
  border-radius:var(--r-sm);padding:var(--s3) var(--s4);
  font-size:12.5px;color:var(--pc-warn);line-height:1.5;margin-top:var(--s4);
}
.pharmacy-hero .pc-hero-meta{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.pharmacy-hero .pc-chip{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);
  color:#fff;backdrop-filter:blur(6px);
}
.pharmacy-hero .pc-chip.is-open{background:rgba(8,122,91,.5);border-color:rgba(140,230,200,.6)}
.pharmacy-hero .pc-chip.is-closed{background:rgba(201,54,43,.38);border-color:rgba(243,207,203,.5)}
.pharmacy-hero .pc-jump{border-top-color:rgba(255,255,255,.18);padding-top:var(--s5);
  border-top:1px solid rgba(255,255,255,.18)}
.pharmacy-hero .pc-code{background:rgba(16,35,63,.06);border-color:var(--pc-border);color:var(--pc-navy)}

/* Quick actions sit just under the hero, on the light surface */
.pharmacy-quick-actions{
  display:flex;flex-wrap:wrap;gap:var(--s3);margin:0 0 var(--s3);
}
.pharmacy-quick-btn{
  display:inline-flex;align-items:center;gap:var(--s2);min-height:46px;
  padding:0 var(--s5);border-radius:var(--r-md);background:var(--pc-blue);color:#fff;
  font-size:14.5px;font-weight:650;text-decoration:none;border:1px solid transparent;
  transition:all var(--t-fast);
}
.pharmacy-quick-btn:hover{background:var(--pc-deep);color:#fff;text-decoration:none;transform:translateY(-1px)}
.pharmacy-quick-btn.secondary{background:#fff;color:var(--pc-deep);border-color:var(--pc-blue-line)}
.pharmacy-quick-btn.secondary:hover{background:var(--pc-blue-soft);color:var(--pc-deep)}
.pharmacy-data-note{font-size:13px;color:var(--pc-text-2);margin:var(--s3) 0 var(--s6);line-height:1.6}

/* ═══════════════════════════════════════════════════════════
   POLISH PASS — image visibility, homepage hero, arrows
   ═══════════════════════════════════════════════════════════ */

/* Arrow glyphs drawn in CSS (no text arrows, no emoji) */
.pc-arrow,.pc-arrow-d,.pc-arrow-e,.pc-arrow-l{
  display:inline-block;width:.62em;height:.62em;flex:none;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  margin-left:.5em;vertical-align:middle;position:relative;top:-1px;
}
.pc-arrow{transform:rotate(-45deg)}
.pc-arrow-d{transform:rotate(45deg);top:-3px}
.pc-arrow-e{transform:rotate(-135deg);border-right-width:0;border-bottom-width:0;
  border-left:2px solid currentColor;border-top:2px solid currentColor}
.pc-arrow-l{transform:rotate(135deg);margin-left:0;margin-right:.5em}
.ico-star{color:#E8A317;vertical-align:-2px}
.ico-star.empty{color:#C9D3DE}

/* ── Pharmacy hero: let the photograph actually read ────── */
.pharmacy-hero::before{
  background-position:center 45%;
  transform:scale(1.04);
  filter:saturate(1.05) contrast(1.03);
}
.pharmacy-hero::after{
  /* Directional scrim: dense behind the text column, clearing to the right
     so the shelving in the photo stays visible — mirrors the reference site. */
  background:
    linear-gradient(96deg,
      rgba(9,26,52,.95) 0%,
      rgba(9,26,52,.90) 28%,
      rgba(10,35,72,.72) 52%,
      rgba(12,52,104,.44) 74%,
      rgba(16,68,130,.30) 100%),
    linear-gradient(to bottom, rgba(9,26,52,.30) 0%, rgba(9,26,52,0) 34%, rgba(9,26,52,.42) 100%);
}
@media (max-width:1023px){
  .pharmacy-hero::after{
    background:linear-gradient(to bottom,
      rgba(9,26,52,.90) 0%, rgba(9,26,52,.86) 55%, rgba(12,52,104,.78) 100%);
  }
}

/* Trust card: size to content, no dead space */
.pc-trust{align-self:start;padding:var(--s5) var(--s5) var(--s5)}
.pc-trust h2{font-size:14.5px;padding-bottom:var(--s3);border-bottom:1px solid var(--pc-inset);
  margin-bottom:var(--s2)}
.pc-trust-note{font-size:12px;line-height:1.5}

/* Service chips — icon + label, evenly weighted */
.svc-tag{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--pc-border);
  padding:11px 18px;border-radius:var(--r-pill);
  font-size:14.5px;font-weight:600;color:var(--pc-text);
  transition:all var(--t-fast);text-decoration:none;
}
.svc-tag .ico{color:var(--pc-blue);margin:0}
.svc-tag:hover{background:var(--pc-blue-soft);border-color:var(--pc-blue);
  color:var(--pc-deep);text-decoration:none;transform:translateY(-1px)}
.svc-tag:hover .ico{color:var(--pc-deep)}

/* Feature cards — quieter, more editorial */
.feat-card{
  background:#fff;border:1px solid var(--pc-border);border-radius:var(--r-lg);
  padding:var(--s6);box-shadow:var(--e1);transition:all var(--t-fast);
}
.feat-card:hover{border-color:var(--pc-blue-line);box-shadow:var(--e2);transform:translateY(-2px)}
.feat-icon{
  width:46px;height:46px;border-radius:12px;background:var(--pc-blue-soft);
  color:var(--pc-blue);display:flex;align-items:center;justify-content:center;
  margin-bottom:var(--s4);
}
.feat-card h3{font-size:17.5px;font-weight:700;margin-bottom:var(--s2)}
.feat-card p{font-size:14.5px;color:var(--pc-text-2);line-height:1.65}

/* Search tip line */
.search-tip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;
  color:rgba(255,255,255,.8);margin-top:var(--s4)}
.search-tip .ico{opacity:.85;margin:0}

/* ═══════════════════════════════════════════════════════════
   HERO SYSTEM — corrected
   The base stylesheet defines .hero::before / ::after as small
   fixed-size decorative blobs (500x500, offset). Those explicit
   width/height values survive `inset:0`, which is what caused the
   photograph to render as a floating rectangle. We reset the box
   model explicitly here rather than relying on inset alone.
   ═══════════════════════════════════════════════════════════ */

.hero,.search-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#0A1F3D;
}

/* Layer 1 — the photograph */
.hero::before,
.search-hero::before{
  content:'';
  position:absolute;
  top:0!important; right:0!important; bottom:0!important; left:0!important;
  width:100%!important; height:100%!important;
  margin:0!important;
  z-index:-2;
  background-image:url('/assets/images/pharmacy-hero.webp')!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 46%!important;
  transform:scale(1.05);
  filter:saturate(1.08) contrast(1.04);
  pointer-events:none;
}

/* Layer 2 — the scrim that guarantees text contrast */
.hero::after,
.search-hero::after{
  content:'';
  position:absolute;
  top:0!important; right:0!important; bottom:0!important; left:0!important;
  width:100%!important; height:100%!important;
  margin:0!important;
  z-index:-1;
  background:
    radial-gradient(1000px 560px at 50% 44%,
      rgba(6,20,42,.42) 0%,
      rgba(6,20,42,.66) 55%,
      rgba(6,20,42,.82) 100%),
    linear-gradient(to bottom,
      rgba(6,20,42,.62) 0%,
      rgba(6,22,48,.50) 42%,
      rgba(4,30,70,.76) 100%)!important;
  pointer-events:none;
}

@media (max-width:640px){
  .hero::before,.search-hero::before{
    background-image:url('/assets/images/pharmacy-hero-mobile.webp')!important;
  }
}

/* Hero content sits above both layers */
.hero-inner,.hero > *,.search-hero-inner,.search-hero > *{position:relative;z-index:1}

/* Homepage hero rhythm */
.hero{padding:var(--s10) var(--s6) var(--s10)}
.hero h1{
  font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.08;
  letter-spacing:-.03em;margin:0 auto var(--s4);max-width:22ch;
  text-shadow:0 2px 30px rgba(0,0,0,.35);
}
.hero .hero-sub{
  font-size:clamp(16px,1.5vw,18.5px);line-height:1.6;
  max-width:60ch;margin:0 auto var(--s7);color:rgba(255,255,255,.9);
}
.hero-eyebrow{
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  backdrop-filter:blur(10px);color:#DCEBFF!important;
  padding:7px 16px!important;font-size:11.5px!important;letter-spacing:.11em!important;
}

/* Search module — the focal point */
.hero-search{
  background:#fff;border-radius:16px!important;padding:8px 8px 8px 22px!important;
  box-shadow:0 30px 70px rgba(3,12,28,.45), 0 4px 14px rgba(3,12,28,.28)!important;
  border:1px solid rgba(255,255,255,.75)!important;
}
.hero-search input{font-size:16px!important;padding:16px 4px!important}
.hero-search button{
  border-radius:11px!important;padding:15px 26px!important;
  font-size:15px!important;font-weight:700!important;
  background:var(--pc-blue)!important;box-shadow:0 2px 10px rgba(0,102,204,.4);
}
.hero-search button:hover{background:var(--pc-deep)!important}

/* Stats strip */
.hero-stats{
  margin-top:var(--s8)!important;gap:var(--s9)!important;
  padding-top:var(--s7);border-top:1px solid rgba(255,255,255,.14);
  max-width:720px;margin-left:auto;margin-right:auto;
}
.hero-stat .n{font-size:clamp(24px,2.6vw,32px)!important;font-weight:800;
  text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hero-stat .l{font-size:11.5px!important;letter-spacing:.1em!important;
  color:rgba(255,255,255,.72)!important;margin-top:4px}

/* Location + radius controls on the photo */
.hero .location-row,.search-hero .location-row{margin-top:var(--s5)}
.use-location-btn,[data-use-location]{
  background:rgba(255,255,255,.95)!important;color:var(--pc-deep)!important;
  border:1px solid rgba(255,255,255,.7)!important;font-weight:650!important;
  box-shadow:0 4px 16px rgba(3,12,28,.25);
}
.use-location-btn:hover,[data-use-location]:hover{background:#fff!important}
.radius-btn{
  background:rgba(255,255,255,.94)!important;color:var(--pc-navy)!important;
  border:1px solid rgba(255,255,255,.6)!important;font-weight:650!important;
}
.radius-btn.is-active,.radius-btn[aria-pressed="true"]{
  background:var(--pc-blue)!important;color:#fff!important;border-color:var(--pc-blue)!important;
  box-shadow:0 3px 12px rgba(0,102,204,.45);
}

/* search-hero spacing */
.search-hero{padding:var(--s10) var(--s6) var(--s11)}
.search-hero h1{font-size:clamp(28px,3.8vw,42px);letter-spacing:-.028em;
  text-shadow:0 2px 26px rgba(0,0,0,.35)}

@media (max-width:640px){
  .hero{padding:var(--s9) var(--s4) var(--s9)}
  .search-hero{padding:var(--s8) var(--s4) var(--s9)}
  .hero-stats{gap:var(--s6)!important;margin-top:var(--s7)!important;padding-top:var(--s5)}
}

/* Local darkening directly behind the hero copy — keeps AA contrast while
   letting the photograph stay visible across the rest of the hero. */
.hero-inner::before{
  content:'';position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(1000px,94%);height:min(620px,104%);
  background:radial-gradient(ellipse at center,
    rgba(5,17,38,.72) 0%, rgba(5,17,38,.52) 46%, rgba(5,17,38,0) 76%);
  z-index:-1;pointer-events:none;border-radius:50%;
}
.hero-inner{position:relative}

/* The trust card is a light surface *inside* the dark hero, so the
   "white text on dark hero" rule must not leak into it. */
.pharmacy-hero .pc-trust,
.pharmacy-hero .pc-trust h2,
.pharmacy-hero .pc-trust p,
.pharmacy-hero .pc-trust dt,
.pharmacy-hero .pc-trust dd,
.pharmacy-hero .pc-trust .pc-trust-note{color:var(--pc-text)!important}
.pharmacy-hero .pc-trust h2{color:var(--pc-navy)!important}
.pharmacy-hero .pc-trust dt{color:var(--pc-text-2)!important}
.pharmacy-hero .pc-trust dd{color:var(--pc-navy)!important}
.pharmacy-hero .pc-trust .pc-trust-note{color:var(--pc-text-2)!important}
.pharmacy-hero .pc-trust .pc-trust-flag{color:var(--pc-warn)!important}

/* ── Town "at a glance" stats — inline grid-template-columns:repeat(3,1fr)
   was hardcoded, causing horizontal overflow below ~420px. Override it. */
.psec > div[style*="grid-template-columns:repeat(3,1fr)"]{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:var(--s3)!important;
}
@media (max-width:520px){
  .psec > div[style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr!important;
  }
}
/* Defensive: nothing may exceed the viewport */
html,body{max-width:100%;overflow-x:hidden}
img,iframe,table,pre{max-width:100%}
