/* FND Symptom Library: a readable reference, with progressive search. */
.symptom-library-page, .symptom-article-page {
  --sl-navy:#002b5f; --sl-pink:#c9005a; --sl-ink:#26364d; --sl-muted:#56677d;
  --sl-line:#d8e1ec; --sl-soft:#f6f8fb;
}
.symptom-library-page [hidden], .symptom-article-page [hidden] { display:none !important; }
.symptom-library-page main, .symptom-article-page main { color:var(--sl-ink); }
.symptom-library-page main .wrap, .symptom-article-page main .wrap { max-width:1160px; }
.sl-hero { background:var(--sl-navy); color:#fff; padding:34px 0; }
.sl-eyebrow { margin:0 0 10px; font-size:.85rem; font-weight:700; color:var(--sl-pink); }
.sl-hero .sl-eyebrow { color:#ffd0e3; }
.sl-eyebrow a { color:inherit; display:inline-flex; align-items:center; min-height:44px; }
.sl-hero h1, .sl-article-hero h1 { font-size:clamp(2rem,3.6vw,3rem); font-weight:800; line-height:1.15; letter-spacing:-.025em; margin:0 0 14px; color:var(--sl-navy); overflow-wrap:break-word; }
.sl-hero h1 { color:#fff; }
.sl-lead { font-size:1.25rem; max-width:52ch; line-height:1.5; margin:0 0 12px; color:inherit; }
.sl-introduction { max-width:78ch; margin:0; color:inherit; font-size:1rem; line-height:1.55; }
.sl-safety { border-left:4px solid var(--sl-pink); background:#fff3f7; padding:16px 20px; margin:24px 0 0; color:var(--sl-ink); font-size:.95rem; line-height:1.55; scroll-margin-top:150px; }
.sl-safety a { font-weight:700; color:#9f0047; text-decoration:underline; }
.sl-finder { padding-block:30px 10px; }
.sl-finder-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 20px; margin-bottom:12px; }
.sl-finder h2, .sl-section h2, .sl-about h2, .sl-footer-cta h2 { overflow-wrap:anywhere; color:var(--sl-navy); font-size:1.65rem; line-height:1.3; margin:0 0 8px; }
.sl-search { display:block; font-weight:650; margin:0 0 8px; color:var(--sl-navy); }
.sl-search-row { display:flex; gap:12px; }
.sl-search-row input { min-width:0; flex:1; box-sizing:border-box; min-height:54px; border:1px solid #91a5bf; border-radius:var(--fnd-control-radius,10px); font:inherit; font-size:1.1rem; color:var(--sl-ink); padding:12px 16px; background:#fff; }
.sl-search-row input::placeholder { color:var(--sl-muted); opacity:1; }
.sl-control, .sl-chip, .sl-examples button { font:inherit; font-weight:650; min-width:44px; min-height:44px; cursor:pointer; color:var(--sl-navy); border:1px solid #91a5bf; border-radius:var(--fnd-control-radius,10px); background:#fff; padding:10px 14px; white-space:normal; }
.sl-control:hover, .sl-chip:hover { background:#edf2f8; }
.sl-hint { font-size:.9rem; line-height:1.55; color:var(--sl-muted); margin:10px 0; max-width:85ch; }
.sl-examples { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; font-size:.9rem; }
.sl-examples button { border:0; border-radius:0; padding:8px 0; text-decoration:underline; text-underline-offset:4px; }
.sl-filter-row { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px 24px; margin:16px 0 18px; }
.sl-filters { display:flex; gap:8px; flex-wrap:wrap; }
.sl-chip { font-size:.9rem; }
.sl-chip.is-active { background:var(--sl-navy); color:#fff; border-color:var(--sl-navy); }
.sl-select { display:flex; flex-direction:column; gap:6px; font-size:.9rem; font-weight:650; color:var(--sl-navy); max-width:100%; }
.sl-select select { font:inherit; font-size:1rem; min-height:46px; border:1px solid #91a5bf; border-radius:var(--fnd-control-radius,10px); color:var(--sl-ink); background:#fff; padding:8px 34px 8px 12px; width:100%; max-width:350px; }
.sl-status { color:var(--sl-navy); font-weight:650; line-height:1.5; margin:12px 0; }
.sl-empty { background:var(--sl-soft); padding:24px; border-left:3px solid var(--sl-navy); }
.sl-empty h3 { color:var(--sl-navy); margin:0; }
.sl-empty .sl-control { margin:0 8px 8px 0; }
.sl-browse-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.sl-browse-links a, .sl-text-link { display:inline-flex; align-items:center; min-height:44px; color:var(--sl-navy); font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.sl-section { padding:28px 0 12px; scroll-margin-top:150px; }
.sl-section-head { border-bottom:2px solid var(--sl-navy); padding-bottom:16px; }
.sl-section-head p { margin:0; color:var(--sl-muted); max-width:75ch; line-height:1.5; }
.sl-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.sl-card { display:flex; flex-direction:column; min-width:0; padding:22px 4px; gap:8px; border-bottom:1px solid var(--sl-line); color:var(--sl-ink); text-decoration:none !important; }
.sl-card h3 { margin:0; color:var(--sl-navy); font-size:1.2rem; line-height:1.35; }
.sl-card p { margin:0; line-height:1.5; }
.sl-card-feels { color:var(--sl-ink); font-weight:600; }
.sl-card-sum { color:var(--sl-muted); font-size:.95rem; }
.sl-card-go { color:var(--sl-pink); font-weight:700; font-size:.9rem; margin-top:auto; padding-top:8px; display:flex; justify-content:space-between; }
.sl-card-kicker { display:none; color:var(--sl-muted); font-size:.8rem; }
#slResults .sl-card-kicker { display:block; }
.sl-card:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.sl-card:hover .sl-card-go span { transform:translate(2px,-2px); }
.sl-about { padding-block:44px; scroll-margin-top:150px; }
.sl-about > p, .sl-about > .sl-faq { max-width:82ch; }
.sl-about p, .sl-footer-cta p { line-height:1.65; }
.sl-about h3 { color:var(--sl-navy); margin:26px 0 12px; }
.sl-footer-cta { background:var(--sl-soft); padding:32px 0 40px; margin-top:12px; }
.sl-footer-cta p { max-width:75ch; }
.sl-actions { display:flex; align-items:center; gap:12px 18px; flex-wrap:wrap; }
.sl-actions .button { min-height:48px; white-space:normal; text-align:center; }
.sl-article-hero { background:var(--sl-soft); border-bottom:1px solid var(--sl-line); padding:22px 0 28px; }
.sl-article-hero .sl-summary, .sl-article-hero .sl-safety { max-width:82ch; }
.sl-subtitle { font-size:1.25rem; line-height:1.45; color:var(--sl-ink); margin:0 0 12px; max-width:60ch; }
.sl-aka { font-size:.9rem; color:var(--sl-muted); margin:0 0 16px; line-height:1.5; }
.sl-aka span { color:var(--sl-navy); font-weight:700; }
.sl-summary { font-size:1.08rem; line-height:1.65; margin:0 0 16px; color:var(--sl-ink); }
.sl-byline { font-size:.85rem; color:var(--sl-muted); margin:12px 0 16px; }
.sl-context { max-width:80ch; color:var(--sl-navy); font-size:.95rem; font-weight:600; line-height:1.6; }
.sl-guide-actions { margin:18px 0 0; }
.sl-share-status { font-size:.9rem; color:var(--sl-navy); margin:0; }
.sl-share-status:not(:empty) { margin-top:14px; }
.sl-article-body { display:grid; grid-template-columns:15.5rem minmax(0,47rem); gap:48px; align-items:start; min-width:0; padding-block:36px 48px; }
.sl-toc { position:sticky; top:110px; border-top:3px solid var(--sl-pink); border-bottom:1px solid var(--sl-line); background:#fff; min-width:0; }
.sl-toc summary { min-height:48px; padding:12px 4px; cursor:pointer; color:var(--sl-navy); font-size:1rem; font-weight:750; }
.sl-toc nav { max-height:calc(100svh - 210px); overflow-y:auto; padding-bottom:12px; }
.sl-toc a { display:flex; align-items:center; min-height:44px; padding:8px 10px; font-size:.9rem; font-weight:600; line-height:1.45; border-left:3px solid transparent; color:var(--sl-ink); text-decoration:none; }
.sl-toc a:hover, .sl-toc a[aria-current="location"] { background:var(--sl-soft); border-left-color:var(--sl-pink); color:var(--sl-navy); }
.sl-prose { min-width:0; }
.sl-prose section { margin:0 0 36px; scroll-margin-top:150px; }
.sl-prose h2 { overflow-wrap:anywhere; font-size:1.6rem; line-height:1.3; color:var(--sl-navy); margin:0 0 16px; }
.sl-prose p, .sl-prose li { font-size:1.05rem; line-height:1.75; color:var(--sl-ink); }
.sl-prose ul { padding-left:22px; margin:12px 0; }
.sl-prose li + li { margin-top:10px; }
.sl-note { color:var(--sl-muted) !important; font-size:.9rem !important; line-height:1.65 !important; }
.sl-extra, .sl-carer { border-left:3px solid var(--sl-pink); background:#fff5f9; padding:24px; }
.sl-extra-sub { font-size:1.1rem; line-height:1.45; color:var(--sl-navy); }
.sl-carer { background:var(--sl-soft); border-color:var(--sl-navy); }
.sl-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.sl-related a { display:flex; flex-direction:column; gap:6px; border-bottom:1px solid var(--sl-line); padding:14px 0; color:var(--sl-navy); text-decoration:none; }
.sl-related strong { font-size:1rem; }
.sl-related span { color:var(--sl-muted); font-size:.9rem; line-height:1.5; }
.sl-related a:hover strong { text-decoration:underline; }
.sl-faq { border-bottom:1px solid var(--sl-line); padding:0; margin:0; }
.sl-faq summary { cursor:pointer; min-height:48px; padding:16px 4px; color:var(--sl-navy); font-weight:700; line-height:1.5; }
.sl-faq p { margin:0 0 20px; }
.sl-faq[open] summary { color:#9f0047; }
.sl-reading { padding-left:22px; max-width:85ch; }
.sl-reading a { color:var(--sl-navy); overflow-wrap:anywhere; text-underline-offset:3px; }
.sl-reading li { padding:6px 0; line-height:1.7; }
.sl-sources { border-top:1px solid var(--sl-line); padding-top:28px; }
.sl-next { border-top:3px solid var(--sl-navy); padding-top:26px; }
.sl-next-links { display:flex; gap:10px 24px; flex-wrap:wrap; }
.sl-next-links a { color:var(--sl-navy); display:inline-flex; min-height:44px; align-items:center; font-size:.95rem; }
@media (prefers-reduced-motion:no-preference) {
  .sl-card-go span, .sl-control, .sl-chip, .sl-toc a { transition:transform 140ms ease,background-color 140ms ease; }
  .sl-faq summary { transition:color 140ms ease; }
}
@media(max-width:959px) {
  .sl-article-body { grid-template-columns:minmax(0,1fr); gap:28px; }
  .sl-toc { position:static; }
  .sl-toc nav { max-height:none; }
}
@media(max-width:720px) {
  .symptom-library-page .nav-row, .symptom-article-page .nav-row { flex-wrap:wrap; row-gap:8px; padding-block:8px; }
  .symptom-library-page .header-actions, .symptom-article-page .header-actions { min-width:0; max-width:100%; flex-wrap:wrap; }
  .sl-hero { padding:26px 0; }
  .sl-lead { font-size:1.12rem; }
  .sl-finder { padding-top:24px; }
  .sl-finder-heading { display:block; }
  .sl-search-row { gap:8px; }
  .sl-search-row input { padding-inline:12px; font-size:1rem; }
  .sl-search-row .sl-control { padding:8px 10px; max-width:100px; }
  .sl-filter-row { gap:14px; }
  .sl-select { flex:1 1 11em; }
  .sl-filters { width:100%; gap:6px; }
  .sl-chip { padding-inline:10px; }
  .sl-grid, .sl-related { grid-template-columns:minmax(0,1fr); }
  .sl-card { padding:22px 0; }
  .sl-section { padding-top:24px; }
  .sl-safety, .sl-extra, .sl-carer { padding:16px; }
  .sl-actions { gap:10px; }
  .sl-article-body { padding-block:24px 32px; }
}
@media print {
  .symptom-article-page .site-header, .symptom-article-page .site-footer, .symptom-article-page .topbar, .symptom-article-page .impact-ticker,
  .symptom-article-page .sl-toc, .symptom-article-page .sl-guide-actions, .symptom-article-page .sl-share-status, .symptom-article-page .sl-next, .symptom-article-page .breadcrumbs,
  .symptom-article-page .one-pound-campaign, .symptom-article-page .emma-widget, .symptom-article-page .public-breadcrumbs, .symptom-article-page .fnd-cookie-banner, .symptom-article-page .skip-link { display:none !important; }
  .symptom-article-page main .wrap { max-width:none; padding-inline:0; }
  .sl-article-body { display:block; }
  .sl-article-hero { background:#fff; padding-top:0; }
  .sl-prose h2, .sl-prose h3 { break-after:avoid; }
  .sl-prose li, .sl-faq, .sl-related a { break-inside:avoid; }
  .sl-prose p, .sl-prose li { font-size:11pt; line-height:1.5; }
  .sl-safety { border:1px solid #002b5f; border-left:4px solid #c9005a; }
  .sl-faq::details-content { content-visibility:visible; }
  .sl-faq > p { display:block; }
  .sl-reading a::after { content:" (" attr(href) ")"; font-size:9pt; }
}

/* Consolidated symptom overview: readable copy, direct access to the finder. */
.sl-overview { padding-block:24px 8px; }
.sl-overview > p, .sl-overview-list { max-width:80ch; line-height:1.7; }
.sl-overview h2 { color:var(--sl-navy); margin:32px 0 12px; font-size:1.65rem; }
.sl-overview h3 { color:var(--sl-navy); margin:28px 0 10px; font-size:1.3rem; }
.sl-overview-list { padding-left:1.4rem; }
.sl-overview-list li { margin:0 0 12px; }
.sl-overview a:not(.button), .sl-about a { color:var(--sl-navy); text-decoration:underline; text-underline-offset:3px; }
#common-symptoms, #find-symptom, #day-to-day, #faqs { scroll-margin-top:150px; }
.sl-about h2:not(:first-child) { margin-top:32px; }

/* Symptom hub: an answer first, followed by routes into more detailed guidance. */
.symptom-library-page main .wrap { max-width:1200px; }
.sl-hub-hero { background:#f5f3ef; color:var(--sl-ink); padding:0; border-bottom:1px solid var(--sl-line); }
.sl-hub-opening { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr); gap:3rem; align-items:center; padding-block:2.25rem; }
.sl-hub-intro { min-width:0; }
.sl-breadcrumbs { display:flex; gap:.75rem; align-items:center; margin:0 0 1rem; font-size:.8rem; color:var(--sl-muted); }
.sl-breadcrumbs a { min-height:44px; display:inline-flex; align-items:center; color:var(--sl-navy); text-underline-offset:3px; }
.sl-hub-hero .sl-eyebrow { color:#a30049; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.sl-hub-hero h1 { color:var(--sl-navy); font-size:clamp(2.5rem,4vw,3.75rem); letter-spacing:-.04em; margin-bottom:1rem; }
.sl-hub-hero .sl-lead { font-size:1.15rem; line-height:1.7; max-width:640px; }
.sl-hub-hero .sl-introduction { font-size:.98rem; line-height:1.65; color:var(--sl-muted); }
.sl-hub-hero .sl-actions { margin-top:1.4rem; }
.sl-hub-hero .sl-actions .button { gap:.8rem; }
.sl-hub-byline { margin:1.25rem 0 0; color:var(--sl-muted); font-size:.8rem; line-height:1.7; }
.sl-hub-byline a { color:inherit; text-underline-offset:3px; }
.sl-hub-image { width:100%; height:340px; object-fit:cover; object-position:65% center; border-radius:4px; }
.sl-hub-nav { padding-bottom:1rem; border-bottom:1px solid var(--sl-line); gap:0 2rem; font-size:.9rem; }
.symptom-library-page .sl-overview-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; max-width:none; gap:0 2.5rem; }
.symptom-library-page .sl-overview-list li { padding:1rem 0; border-top:1px solid var(--sl-line); margin:0; font-size:.98rem; }
.symptom-library-page .sl-overview-list strong { display:block; color:var(--sl-navy); margin-bottom:.3rem; }
.symptom-library-page .sl-finder { margin-block:2rem 0; padding:2rem var(--gutter); background:#eff4f8; border-block:1px solid var(--sl-line); }
.sl-finder-heading .sl-eyebrow { margin-bottom:.45rem; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.sl-count { font-size:.75em; margin-left:.25rem; opacity:.85; }
.symptom-library-page .sl-examples button { background:transparent; }
.symptom-library-page .sl-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2rem; }
.symptom-library-page .sl-card { padding-block:1.5rem; }
.symptom-library-page .sl-card-feels { font-size:.98rem; }
.symptom-library-page .sl-card-sum { font-size:.9rem; line-height:1.65; }
.sl-hub-reading { display:grid; grid-template-columns:250px minmax(0,1fr); gap:4rem; border-top:1px solid var(--sl-line); margin-top:3rem; }
.sl-hub-reading-nav { position:sticky; top:var(--anchor-offset,150px); align-self:start; border-top:3px solid #a30049; padding-top:1rem; }
.sl-hub-reading-nav nav { display:grid; }
.sl-hub-reading-nav a { display:flex; align-items:center; min-height:44px; padding:.65rem 0; border-bottom:1px solid var(--sl-line); color:var(--sl-navy); text-decoration:none; font-size:.9rem; line-height:1.5; }
.sl-hub-prose { min-width:0; font-size:1.04rem; }
.sl-hub-prose h2 { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--sl-line); font-size:1.7rem; }
.sl-hub-prose h2:first-child { margin-top:0; padding-top:0; border:0; }
.sl-hub-prose p, .sl-appointment-notes { line-height:1.8; }
.sl-appointment-notes { padding-left:1.4rem; }
.sl-appointment-notes li { padding:0 0 .75rem .3rem; }
.sl-appointment-notes li::marker { color:#a30049; font-weight:700; }
.symptom-library-page .sl-faq { border:0; border-bottom:1px solid var(--sl-line); border-radius:0; background:transparent; box-shadow:none; }
.symptom-library-page .sl-faq summary { padding-right:2rem; }
.symptom-library-page :is(h2,h3,section)[id] { scroll-margin-top:calc(var(--anchor-offset,150px) + 1rem); }
.symptom-library-page :is(a,button,input,select,summary):focus-visible { outline:3px solid #ffdd00; outline-offset:3px; }
@media(max-width:1000px) {
  .sl-hub-opening { grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); gap:1.5rem; }
  .sl-hub-reading { grid-template-columns:210px minmax(0,1fr); gap:2rem; }
  .symptom-library-page .sl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .sl-hub-opening { display:block; padding-block:1.25rem 1.75rem; }
  .sl-hub-image { display:none; }
  .sl-hub-hero h1 { font-size:2.5rem; }
  .sl-hub-hero .sl-lead { font-size:1.05rem; }
  .sl-hub-nav { column-gap:1.25rem; }
  .symptom-library-page .sl-overview-list, .symptom-library-page .sl-grid { grid-template-columns:1fr; }
  .symptom-library-page .sl-finder { padding:1.5rem 1rem; }
  .sl-hub-reading { display:block; margin-top:2rem; padding-block:2rem; }
  .sl-hub-reading-nav { position:static; margin-bottom:2rem; }
  .sl-hub-reading-nav nav { grid-template-columns:1fr 1fr; gap:0 1.25rem; }
  .sl-hub-prose { font-size:1rem; }
}
@media print {
  .symptom-library-page :is(.site-header,.topbar,.impact-ticker,.site-footer,.sl-hub-image,.sl-hub-nav,.sl-hub-reading-nav,#slControls,.sl-actions,.emma-widget,.one-pound-campaign) { display:none !important; }
  .sl-hub-opening, .sl-hub-reading { display:block; }
  .sl-hub-hero { background:#fff; }
}
