/* health-hub.css — shared theme for the Health/NHS hub + subpages.
   Layers on top of /hub-standard.css. Namespace: .nhs-*  */

.nhs-root {
  --nhs-ink:#111827; --nhs-ink2:#374151; --nhs-ink3:#6b7280;
  --nhs-border:#e5e7eb; --nhs-linen:#f9fafb;
  --nhs-blue:#1e3a8a; --nhs-blue-light:#eff6ff; --nhs-blue-border:#bfdbfe;
  --nhs-green:#166534; --nhs-green-light:#f0fdf4; --nhs-green-border:#86efac;
  --nhs-amber:#b45309; --nhs-amber-light:#fffbeb; --nhs-amber-border:#fcd34d;
  --nhs-red:#991b1b; --nhs-red-light:#fef2f2; --nhs-red-border:#fca5a5;
  --nhs-accent:#1d4ed8; --nhs-accent-light:#eff6ff;
  font-family: system-ui, -apple-system, sans-serif; color: var(--nhs-ink);
}

/* breadcrumb */
.nhs-crumb { display:flex; align-items:center; gap:6px; font-size:.8125rem; color:var(--nhs-ink3); padding-top:16px; padding-bottom:8px; flex-wrap:wrap; }
.nhs-crumb a { color:var(--nhs-ink3); text-decoration:none; }
.nhs-crumb a:hover { color:var(--nhs-accent); }
.nhs-crumb b { color:var(--nhs-ink); }

/* hero */
.nhs-hero { padding-bottom:24px; }
.nhs-hero__meta { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--nhs-accent); margin-bottom:12px; }
.nhs-hero h1 { font-size:clamp(1.7rem,4vw,2.5rem); font-weight:900; line-height:1.12; margin:0 0 16px; max-width:760px; }
.nhs-hero__lede { font-size:1.05rem; line-height:1.7; color:var(--nhs-ink2); max-width:680px; margin:0 0 22px; }

/* buttons */
.nhs-btn { display:inline-flex; align-items:center; gap:8px; min-height:46px; border-radius:12px; padding:0 22px; font-weight:700; font-size:1rem; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.nhs-btn:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,.12); }
.nhs-btn-primary { background:linear-gradient(135deg,var(--nhs-accent),#2563eb); color:#fff; box-shadow:0 4px 16px rgba(29,78,216,.25); }
.nhs-btn-ghost { background:var(--nhs-linen); border:1.5px solid var(--nhs-border); color:var(--nhs-ink); }
.nhs-btn-danger { background:linear-gradient(135deg,#dc2626,#ef4444); color:#fff; box-shadow:0 4px 16px rgba(220,38,38,.25); }

/* 30-sec summary two-column */
.nhs-tldr { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 12px; }
.nhs-tldr__col { border-radius:14px; padding:16px 18px; border:1px solid; }
.nhs-tldr__col--green { background:var(--nhs-green-light); border-color:var(--nhs-green-border); }
.nhs-tldr__col--blue { background:var(--nhs-blue-light); border-color:var(--nhs-blue-border); }
.nhs-tldr__col b { display:block; font-size:.95rem; margin-bottom:8px; color:var(--nhs-ink); }
.nhs-tldr__col ul { margin:0; padding-left:18px; font-size:.9rem; color:var(--nhs-ink2); line-height:1.6; }
.nhs-tldr__note { display:block; margin-top:8px; font-size:.82rem; color:var(--nhs-ink2); }
.nhs-emergency-line { background:var(--nhs-red-light); border:1px solid var(--nhs-red-border); border-radius:12px; padding:12px 16px; font-size:.92rem; line-height:1.5; color:#7f1d1d; }
.nhs-emergency-line b { color:var(--nhs-red); }

/* grid + toc */
.nhs-grid { align-items:flex-start; margin-top:1.25rem; }
.nhs-toc { background:var(--nhs-linen); border:1px solid var(--nhs-border); }
.nhs-toc h4 { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--nhs-ink3); margin:0 0 12px; }
.nhs-toc .hubstd-toc__num { color:var(--nhs-accent); }
.nhs-main { min-width:0; }
.nhs-main > section { margin-bottom:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--nhs-border); }
.nhs-main > section:last-child { border-bottom:0; }

/* section headers */
.nhs-sec-hd { border-bottom:2px solid var(--nhs-accent-light); }
.nhs-sec-num { background:var(--nhs-accent-light); color:var(--nhs-accent); }
.nhs-sec-hd h2 { font-size:1.25rem; font-weight:800; margin:0; }
.nhs-sec-mini { background:var(--nhs-linen); color:var(--nhs-ink3); border:1px solid var(--nhs-border); }
.nhs-lead { font-size:.97rem; color:var(--nhs-ink2); line-height:1.7; margin:0 0 1.1rem; max-width:680px; }
.nhs-note { font-size:.875rem; color:var(--nhs-ink3); line-height:1.6; margin:0.9rem 0 0; }
.nhs-note a, .nhs-lead a { color:var(--nhs-accent); }

/* callouts */
.nhs-callout { border-radius:12px; padding:14px 18px; margin:1rem 0 0; font-size:.9rem; line-height:1.6; }
.nhs-callout--blue { background:var(--nhs-blue-light); border:1px solid var(--nhs-blue-border); border-left:4px solid var(--nhs-blue); color:#1e3a8a; }
.nhs-callout--green { background:var(--nhs-green-light); border:1px solid var(--nhs-green-border); border-left:4px solid var(--nhs-green); color:#14532d; }
.nhs-callout--amber { background:var(--nhs-amber-light); border:1px solid var(--nhs-amber-border); border-left:4px solid var(--nhs-amber); color:#78350f; }
.nhs-callout--red { background:var(--nhs-red-light); border:1px solid var(--nhs-red-border); border-left:4px solid var(--nhs-red); color:#7f1d1d; }
.nhs-callout a { color:inherit; font-weight:700; }

/* step bullets (reuses hubstd-bullets base) */
.nhs-steps { background:var(--nhs-linen); border:1px solid var(--nhs-border); }
.nhs-steps li b { display:block; font-size:.95rem; color:var(--nhs-ink); margin-bottom:2px; }
.nhs-steps li span { display:block; font-size:.88rem; color:var(--nhs-ink2); line-height:1.55; }
.nhs-steps li a { color:var(--nhs-accent); }

/* tables */
.nhs-tablewrap { overflow-x:auto; border:1px solid var(--nhs-border); border-radius:14px; margin-top:.5rem; }
.nhs-table { width:100%; border-collapse:collapse; font-size:.86rem; min-width:520px; }
.nhs-table th { background:var(--nhs-linen); text-align:left; padding:10px 12px; font-weight:800; color:var(--nhs-ink); border-bottom:2px solid var(--nhs-border); }
.nhs-table td { padding:10px 12px; border-bottom:1px solid var(--nhs-border); color:var(--nhs-ink2); vertical-align:top; line-height:1.45; }
.nhs-table tr:last-child td { border-bottom:0; }
.nhs-yes { color:var(--nhs-green); font-weight:700; }
.nhs-no { color:#b91c1c; font-weight:700; }

/* what-next / hub cards */
.nhs-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:12px; }
.nhs-card { display:flex; flex-direction:column; gap:2px; text-decoration:none; background:#fff; border:1px solid var(--nhs-border); border-radius:14px; padding:14px; color:var(--nhs-ink); transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.nhs-card:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.07); border-color:var(--nhs-accent); }
.nhs-card__ico { font-size:1.6rem; line-height:1; margin-bottom:4px; }
.nhs-card b { font-size:.92rem; font-weight:800; }
.nhs-card span:last-child { font-size:.78rem; color:var(--nhs-ink3); line-height:1.35; }

/* big hub directory cards (icon + title + desc, horizontal) */
.nhs-hubgrid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:14px; }
.nhs-hubcard { display:flex; gap:14px; align-items:flex-start; text-decoration:none; background:#fff; border:1px solid var(--nhs-border); border-radius:16px; padding:18px; color:var(--nhs-ink); transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.nhs-hubcard:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.08); border-color:var(--nhs-accent); }
.nhs-hubcard__ico { font-size:1.9rem; line-height:1; flex-shrink:0; }
.nhs-hubcard__b { display:block; font-size:1rem; font-weight:800; margin-bottom:3px; }
.nhs-hubcard__s { display:block; font-size:.85rem; color:var(--nhs-ink2); line-height:1.45; }

@media (max-width:760px) { .nhs-tldr { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { .nhs-btn, .nhs-card, .nhs-hubcard { transition:none; } }
