/* BestDOC Lab-at-Home v2 — clean transactional design system
   Lifted from docs/reference-images/lab-at-home-v2/lab-v2.css
   + production responsive rules + cart/modal scaffolding.
   Brand bridge: top nav + footer come from shared-chrome (Fraunces wordmark + teal accent + voice). */

:root{
  /* Surfaces */
  --lh-bg:#FAFAFA;
  --lh-white:#FFFFFF;
  --lh-line:#E6E6E6;

  /* Type */
  --lh-ink:#1A2A2F;
  --lh-sand:#6B6B6B;

  /* Brand */
  --lh-teal:#0F5E6E;
  --lh-teal-soft:#E8F0F1;
  --lh-orange:#C26500;
  --lh-orange-soft:#FFF4ED;

  /* Hint */
  --lh-hint-bg:#FFFBEB;
  --lh-hint-border:#FDE68A;

  /* Strikethrough / discount */
  --lh-strike:#9CA3AF;

  /* WhatsApp */
  --lh-wa:#25D366;
  --lh-paper:#F6F1E8;
  --lh-hairline:#D6CBB6;

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

/* Page root — light page bg, Inter only inside the catalog
   (top nav + footer keep their site-wide typography via shared-chrome). */
.lh{
  background:var(--lh-bg);
  color:var(--lh-ink);
  font-family:Inter,system-ui,-apple-system,sans-serif;
  font-size:14px;
  line-height:1.4;
}
.lh main{display:block}
.lh *{box-sizing:border-box}

/* ===== Sticky search bar ===== */
.lh-stickyhead{
  position:sticky; top:64px; z-index:50;
  background:var(--lh-white);
  border-bottom:1px solid var(--lh-line);
  padding:10px 14px;
}
.lh-search{
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  padding:11px 14px;
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--lh-sand);
  cursor:text;
  max-width:720px; margin:0 auto;
}
.lh-search:focus-within{
  border-color:var(--lh-teal);
  color:var(--lh-ink);
  background:var(--lh-white);
}
.lh-search .ic{font-size:16px; flex:none}
.lh-search input{
  flex:1; border:0; outline:none; background:transparent;
  font:14px Inter; color:var(--lh-ink); padding:0;
  min-width:0;
}
.lh-search input[type="search"]::-webkit-search-decoration,
.lh-search input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
.lh-search input::placeholder{color:var(--lh-sand)}
.lh-search .clear{
  background:transparent; border:0; cursor:pointer;
  font-size:18px; color:var(--lh-sand); padding:0 4px;
}

/* ===== Pill nav ===== */
.lh-pills{
  position:sticky; top:128px; z-index:48;
  background:var(--lh-white);
  border-bottom:1px solid var(--lh-line);
  padding:12px 14px;
  display:flex; gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
}
.lh-pills::-webkit-scrollbar{display:none}
.lh-pill{
  flex:none;
  display:inline-flex; align-items:center; gap:7px;
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  padding:5px 14px 5px 5px;
  font:500 13px/1 Inter;
  color:var(--lh-ink);
  white-space:nowrap;
  cursor:pointer;
  font-family:inherit;
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.lh-pill.no-img{padding:8px 14px}
.lh-pill .lh-pill-img{
  width:28px; height:28px;
  border-radius:50%;
  background:var(--lh-teal-soft);
  object-fit:cover;
  padding:0;
  flex:none;
}
.lh-pill:hover{
  border-color:var(--lh-ink);
  color:var(--lh-ink);
}
.lh-pill.on{
  background:var(--lh-teal);
  color:var(--lh-white);
  border-color:var(--lh-teal);
  font-weight:600;
  box-shadow:0 6px 14px -6px rgba(15,94,110,.5);
}
.lh-pill.on .lh-pill-img{background:rgba(255,255,255,.18)}
.lh-pill.on:hover{background:var(--lh-teal); color:var(--lh-white)}

/* ===== Hero ===== */
.lh-hero{
  background:var(--lh-white);
  border-bottom:1px solid var(--lh-line);
  padding:18px 14px;
}
.lh-hero-inner{max-width:720px; margin:0 auto}
.lh-hero h1{
  font:600 22px/1.2 Inter;
  margin:0 0 6px;
  color:var(--lh-ink);
  letter-spacing:-0.005em;
}
.lh-hero p.sub{
  font-size:13px;
  color:var(--lh-sand);
  margin:0 0 14px;
}
.lh-rx{
  background:var(--lh-teal); color:#fff;
  border-radius:var(--lh-r-lg);
  padding:14px 16px;
  display:flex; align-items:center; gap:12px;
  margin-bottom:12px;
  text-decoration:none;
  border:0;
  width:100%;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
}
.lh-rx .ic{
  width:38px; height:38px;
  background:rgba(255,255,255,.15);
  border-radius:var(--lh-r-md);
  display:grid; place-items:center;
  font-size:18px; font-weight:600;
  flex:none;
}
.lh-rx .tx{flex:1; color:#fff}
.lh-rx .tx b{display:block; font:600 15px Inter}
.lh-rx .tx span{font-size:12px; opacity:.85}
.lh-rx .ar{font-size:18px; color:#fff}
.lh-rx-hidden{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none}

.lh-duo{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.lh-duo a{
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:11px;
  text-align:center;
  font:500 13px Inter; color:var(--lh-ink);
  text-decoration:none;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.lh-duo a .em{font-size:15px}

/* Hero eyebrow / image — desktop-only; mobile hides */
.lh-hero-eyebrow{display:none}
.lh-hero-r{display:none}
.lh-hero-actions{display:contents}

/* Review stats panel (desktop only — mobile hides it) */
.lh-rev-stats{display:none}

/* Mobile defaults for card bits (desktop overrides below) */
.lh-card-compare{display:none}
.lh-card-cta{display:block}
.lh-card-cta .add{
  background:var(--lh-white); color:var(--lh-ink);
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  padding:8px;
  font:600 12px Inter;
  width:100%; margin-top:auto;
  cursor:pointer;
  font-family:inherit;
}

/* Rail desktop-only — mobile keeps grid */
.lh-rail-wrap{position:relative}
.lh-rail-stage{position:relative}
.lh-rail-btn,
.lh-rail-counter{display:none}
.lh-rail-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:8px 14px 0;
  max-width:1180px;
  margin:0 auto;
}
.lh-rail-status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-left:auto;
  flex:none;
}
.lh-rail-pagebadge{
  min-width:43px;
  height:26px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  background:var(--lh-white);
  color:var(--lh-sand);
  font:500 12px/1 Inter;
  font-variant-numeric:tabular-nums;
}
.lh-rail-seeall{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  font:600 13px/1 Inter;
  color:var(--lh-teal);
  text-decoration:none;
}

/* ===== Section labels ===== */
.lh-lbl{
  padding:18px 14px 10px;
  display:flex; align-items:baseline; justify-content:space-between;
  gap:8px;
  max-width:1180px; margin:0 auto;
}
.lh-lbl h2{font:600 17px/1.2 Inter; margin:0; color:var(--lh-ink)}
.lh-lbl a{font:600 13px Inter; color:var(--lh-teal); text-decoration:none}
.lh-lbl small{font-size:12px; color:var(--lh-sand); font-weight:400}
.lh-rail-head{
  align-items:center;
  gap:14px;
}

/* ===== Grid containers ===== */
.lh-grid2{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  padding:0 14px;
}

/* ===== Panel card ===== */
.lh-card{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  padding:12px;
  display:flex; flex-direction:column; gap:8px;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
}
.lh-card .nm{font:600 14px/1.25 Inter; color:var(--lh-ink)}
.lh-card .pr{display:flex; align-items:baseline; gap:6px}
.lh-card .pr b{font:700 16px/1 Inter; color:var(--lh-ink)}
.lh-card .pr s{font-size:12px; color:var(--lh-strike); text-decoration:line-through}
.lh-card .add{
  background:var(--lh-white); color:var(--lh-ink);
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  padding:8px;
  font:600 12px Inter;
  width:100%;
  cursor:pointer;
}
.lh-card.added .add{background:var(--lh-ink); color:var(--lh-white)}
.lh-card.added .add::before{content:"\2713  "}

/* ===== Single-test wider rows ===== */
.lh-rows{padding:0 0 4px}
.lh-strow{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:12px 14px;
  margin:0 14px 8px;
  display:flex; align-items:center; gap:12px;
}
.lh-strow .tx{flex:1; min-width:0}
.lh-strow .tx b{display:block; font:600 14px Inter; color:var(--lh-ink); margin-bottom:1px; overflow-wrap:anywhere}
.lh-strow .tx span{font-size:11px; color:var(--lh-sand)}
.lh-strow .tx .cov{display:block; font-size:11px; color:var(--lh-teal); margin-top:2px}
.lh-strow .pr{font:700 14px Inter; color:var(--lh-ink); margin-right:8px; white-space:nowrap}

/* ── Lab qty stepper — sized to match Add button per slot ─────────────── */
.lh-stepper{
  display:inline-flex; align-items:center; justify-content:space-between;
  background:var(--lh-ink); color:#fff;
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  font-feature-settings:"tnum" 1;
  padding:0;
  box-sizing:border-box;
  font-family:inherit;
}
.lh-stepper button{
  flex:0 0 auto;
  background:transparent; border:0;
  color:inherit;
  font:600 16px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0 12px;
  height:100%;
  align-self:stretch;
}
.lh-stepper button:hover{color:#fff; background:rgba(255,255,255,.1)}
.lh-stepper button:disabled{opacity:.45; cursor:not-allowed}
.lh-stepper button:disabled:hover{background:transparent}
.lh-stepper b{
  flex:1; min-width:24px; text-align:center;
  font:600 13px Inter; color:inherit;
  letter-spacing:.02em;
}

/* Slot-specific sizes (match each Add button) */
.lh-card-cta .lh-stepper{
  width:100%;
  height:auto; min-height:36px;
  padding:7px 0;
  margin-top:auto;
}
.lh-test-card-foot .lh-stepper{
  height:34px;
  padding:4px 0;
}
.lh-strow .lh-stepper{
  height:32px;
  padding:3px 0;
  flex:none;
}
.lh-strow .lh-stepper button{padding:0 10px; font-size:14px}
.lh-strow .lh-stepper b{min-width:18px; font-size:12px}
.lh-strow .add{
  background:var(--lh-white); color:var(--lh-ink);
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  padding:7px 14px;
  font:600 11px Inter;
  cursor:pointer;
  flex:none;
}
.lh-strow.added .add{background:var(--lh-ink); color:var(--lh-white)}
.lh-strow.added .add::before{content:"\2713  "}

/* ===== Browse mode (/lab-at-home/browse/) — full catalog ===== */
.lh-browse-main{padding-bottom:24px}
.lh-browse-hero{
  max-width:760px; margin:0 auto;
  padding:20px 14px 8px;
  text-align:center;
}
.lh-browse-back{
  display:block;
  text-align:left;
  font:500 12px Inter; color:var(--lh-teal);
  text-decoration:none;
  margin-bottom:8px;
}
.lh-browse-back:hover{text-decoration:underline}
.lh-browse-hero h1{
  font:600 26px/1.15 Fraunces, serif;
  color:var(--lh-ink);
  margin:0 0 4px;
  letter-spacing:-.01em;
}
.lh-browse-hero p{font:400 13px Inter; color:var(--lh-sand); margin:0}

.lh-browse-tabs{
  display:flex; gap:8px;
  max-width:760px; margin:0 auto;
  padding:8px 14px 0;
  border-bottom:1px solid var(--lh-line);
}
.lh-browse-tab{
  background:transparent; border:0;
  padding:10px 4px;
  font:600 14px Inter;
  color:var(--lh-sand);
  cursor:pointer;
  position:relative;
  flex:1;
}
.lh-browse-tab small{font:500 12px Inter; color:var(--lh-sand); margin-left:4px}
.lh-browse-tab.is-active{color:var(--lh-ink)}
.lh-browse-tab.is-active::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1px;
  height:2px; background:var(--lh-teal);
}

/* On browse the inline filter is the sticky bar; the main search + pills
   scroll away with the page. */
.lh-is-browse .lh-stickyhead{position:static}
.lh-is-browse .lh-pills{position:static}
.lh-browse-searchwrap{
  position:sticky; top:64px; z-index:50;
  background:var(--lh-white);
  border-bottom:1px solid var(--lh-line);
  padding:10px 14px;
  margin-top:12px;
}
.lh-browse-search{
  display:flex; align-items:center; gap:8px;
  max-width:732px; margin:0 auto;
  padding:10px 14px;
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  font-size:14px; color:var(--lh-sand);
}
.lh-browse-search:focus-within{border-color:var(--lh-teal)}
.lh-browse-search .ic{font-size:16px; flex:none}
.lh-browse-search input{
  flex:1; border:0; outline:0; background:transparent;
  font:400 14px Inter; color:var(--lh-ink);
  min-width:0;
}
.lh-browse-search input::placeholder{color:var(--lh-sand)}
.lh-browse-search input[type="search"]::-webkit-search-decoration,
.lh-browse-search input[type="search"]::-webkit-search-cancel-button{display:none}
.lh-browse-search .clear{
  flex:none; border:0; background:transparent;
  font:400 18px/1 Inter; color:var(--lh-sand);
  cursor:pointer; padding:0 2px;
}

.lh-browse-empty{
  text-align:center;
  padding:32px 14px;
  font:400 14px Inter; color:var(--lh-sand);
}
.lh-browse-empty p{margin:0 0 14px}
.lh-browse-empty .lh-bubbles{justify-content:center; margin-bottom:16px}
.lh-empty-wrap{display:flex; flex-direction:column; gap:12px}
.lh-empty-wa{
  display:inline-block;
  align-self:center;
  margin-top:4px;
  font:600 13px Inter;
  color:var(--lh-teal);
  text-decoration:none;
}
.lh-empty-wa:hover{text-decoration:underline}

.lh-grid2.lh-browse-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:14px;
}

/* ===== Panel rail (horizontal swipe on mobile too) ===== */
.lh-rail.lh-grid2{
  display:flex;
  grid-template-columns:none;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:6px 14px 12px;
  scrollbar-width:none;
}
.lh-rail.lh-grid2::-webkit-scrollbar{display:none}
.lh-rail.lh-grid2 > article.lh-card{
  flex:0 0 70%;
  max-width:280px;
  scroll-snap-align:start;
}

/* ===== Single-test rail (horizontal swipe, 2 rows visible) ===== */
.lh-rail.lh-test-grid{
  display:grid;
  grid-template-rows:1fr 1fr;
  grid-auto-flow:column;
  grid-auto-columns:88%;
  gap:8px 10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:6px 14px 12px;
  scrollbar-width:none;
}
.lh-rail.lh-test-grid::-webkit-scrollbar{display:none}
.lh-test-card{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:10px 12px;
  display:flex; align-items:center; gap:10px;
  scroll-snap-align:start;
  min-width:0;
}
.lh-test-card-body{flex:1; min-width:0}
.lh-test-card-name{
  font:600 14px/1.25 Inter; color:var(--lh-ink);
  margin:0 0 2px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.lh-test-card-cov{font:400 11px Inter; color:var(--lh-teal); margin:2px 0 0}
.lh-test-card-foot{
  display:flex; align-items:center; justify-content:flex-end;
  flex:none;
  /* Card top-right belongs to the absolute price — keep Add at bottom-right. */
  align-self:flex-end;
}
.lh-test-card{position:relative; align-items:flex-start; padding-right:12px}
.lh-test-card-price{font:700 14px Inter; color:var(--lh-ink); white-space:nowrap;
  position:absolute; top:10px; right:12px}
.lh-test-card-name{padding-right:64px}
.lh-test-card .lh-card-chips{margin:4px 0 0}
.lh-test-card-add{
  background:var(--lh-white); color:var(--lh-ink);
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  padding:6px 12px;
  font:600 11px Inter;
  cursor:pointer;
  flex:none;
}
.lh-test-card.added .lh-test-card-add{background:var(--lh-ink); color:var(--lh-white)}
.lh-test-card.added .lh-test-card-add::before{content:"\2713  "}

/* ===== Smart-bundle hint ===== */
.lh-hint{
  margin:14px;
  background:var(--lh-hint-bg);
  border:1px solid var(--lh-hint-border);
  border-radius:var(--lh-r-md);
  padding:14px;
  display:flex; align-items:center; gap:12px;
}
.lh-hint .em{font-size:24px; flex:none}
.lh-hint .tx{flex:1; min-width:0}
.lh-hint .tx b{display:block; font:600 13px Inter; color:var(--lh-ink); margin-bottom:2px}
.lh-hint .tx span{font-size:11px; color:var(--lh-sand)}
.lh-hint .swap{
  background:var(--lh-teal); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:8px 14px;
  font:600 11px Inter;
  flex:none; cursor:pointer;
}

/* Body-parts / persona / concern-chip sections removed (owner 2026-07-25). */

/* ===== Editorial trust sections ===== */
.lh-editorial-head{
  max-width:1180px;
  margin:0 auto;
  padding:28px 14px 14px;
}
.lh-kicker{
  margin:0 0 8px;
  font:600 10.5px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lh-teal);
}
.lh-editorial-head h2{
  max-width:13ch;
  margin:0;
  color:var(--lh-ink);
  font:400 clamp(27px, 8vw, 42px)/1.08 Fraunces, Iowan Old Style, Garamond, serif;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.lh-editorial-head p:not(.lh-kicker){
  max-width:58ch;
  margin:10px 0 0;
  color:var(--lh-sand);
  font:400 14px/1.65 Inter, system-ui, sans-serif;
}
/* ===== Lab journey ===== */
.lh-journey-list{
  list-style:none;
  margin:0 14px;
  padding:0;
  border-top:1px solid var(--lh-hairline);
  border-bottom:1px solid var(--lh-hairline);
}
.lh-journey-list li{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid rgba(214,203,182,.75);
}
.lh-journey-list li:last-child{border-bottom:0}
.lh-journey-list .n{
  color:var(--lh-teal);
  font:500 12px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric:tabular-nums;
  flex:none;
  padding-top:2px;
}
.lh-journey-list .tx{min-width:0}
.lh-journey-list h3{
  margin:0 0 4px;
  color:var(--lh-ink);
  font:600 14px/1.25 Inter, system-ui, sans-serif;
}
.lh-journey-list p{
  margin:0;
  color:var(--lh-sand);
  font:400 12px/1.55 Inter, system-ui, sans-serif;
}

.lh-trust .lh-rev-wrap{
  display:grid;
  gap:10px;
  padding:0 14px;
}
.lh-trust .lh-rev{margin:0}

/* ===== Reviews ===== */
.lh-rev{
  background:var(--lh-white);
  margin:0 14px;
  border-radius:var(--lh-r-md);
  padding:14px;
  border:1px solid var(--lh-line);
}
.lh-rev .top{display:flex; align-items:baseline; gap:8px; margin-bottom:8px}
.lh-rev .top b{font:700 22px/1 Inter; color:var(--lh-ink)}
.lh-rev .top .stars{color:#C9A96E; font-size:13px}
.lh-rev .top span{font-size:12px; color:var(--lh-sand); margin-left:auto}
.lh-rev-person{display:flex; flex-direction:column; align-items:flex-start; gap:3px; margin-bottom:8px}
.lh-rev-name-line{display:flex; align-items:baseline; gap:8px}
.lh-rev-name-line .name{font:600 12px/1.2 Inter; color:var(--lh-ink)}
.lh-rev-name-line .stars{color:#C9A96E; font-size:13px}
.lh-rev-person .location{font-size:11px; color:var(--lh-sand)}
.lh-rev q{font:13px/1.5 Inter; color:var(--lh-ink); display:block; margin-bottom:6px}
.lh-rev q::before, .lh-rev q::after{content:'"'}
.lh-rev .by{font-size:11px; color:var(--lh-sand)}

/* ===== Cities ===== */
.lh-cities{display:flex; flex-wrap:wrap; gap:6px; padding:0 14px}
.lh-cities a{
  flex:1; min-width:calc(50% - 3px);
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:11px 12px;
  text-decoration:none;
  color:var(--lh-ink); font-size:13px;
}
.lh-cities a b{display:block; font:600 13px/1.2 Inter; color:var(--lh-teal); margin-bottom:2px}
.lh-cities a span{font-size:11px; color:var(--lh-sand)}

/* ===== FAQ ===== */
.lh-faq{padding:0 14px; max-width:760px; margin:0 auto}
.lh-faq details{
  border-bottom:1px solid var(--lh-line);
  padding:12px 0;
}
.lh-faq details summary{
  display:flex; align-items:center; justify-content:space-between;
  font:500 13px/1.3 Inter; color:var(--lh-ink);
  cursor:pointer; list-style:none;
}
.lh-faq details summary::after{
  content:"+"; color:var(--lh-sand); font-size:18px; font-weight:300;
}
.lh-faq details[open] summary::after{content:"\2212"}
.lh-faq details p{
  margin:8px 0 0; font-size:12px; color:var(--lh-sand); line-height:1.5;
}

/* ===== Cross-sell ===== */
.lh-xsell{display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 14px}
.lh-xsell a{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:14px 12px;
  font-size:12px; color:var(--lh-sand);
  text-decoration:none;
  display:block;
}
.lh-xsell a .em{font-size:24px; margin-bottom:6px; display:block}
.lh-xsell a b{display:block; font:600 13px/1.2 Inter; color:var(--lh-teal); margin-bottom:3px}

/* Shared service-detail sections reused on this page should sit on the lab
   surface, not the warmer service-page bands. */
.lh .bd-sd2-faq,
.lh #related.bd-sd2-sec,
.lh #related.bd-sd2-sec.alt{
  background:var(--lh-bg);
}

/* ===== Section spacing ===== */
.lh-section{position:relative; padding-bottom:6px}

/* ===== Collapsed cart sheet (sticky bottom) ===== */
.lh-cart-sheet{
  position:fixed; bottom:0; left:0; right:0;
  background:var(--lh-white);
  border-top:1px solid var(--lh-line);
  padding:12px 14px;
  display:flex; align-items:center; gap:10px;
  box-shadow:0 -6px 20px rgba(0,0,0,.06);
  z-index:90;
}
.lh-cart-sheet .info{flex:1; min-width:0}
.lh-cart-sheet .info b{display:block; font:600 13px Inter; color:var(--lh-ink)}
.lh-cart-sheet .info span{font-size:11px; color:var(--lh-sand); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lh-cart-sheet .tot{font:700 15px Inter; color:var(--lh-ink); margin-right:4px}
.lh-cart-sheet .go{
  background:var(--lh-ink); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:10px 16px;
  font:600 12px Inter;
  cursor:pointer;
}

/* ===== Expanded cart sheet (full) ===== */
.lh-modal-scrim{
  position:fixed; inset:0;
  background:rgba(26,42,47,.5);
  z-index:100;
}
.lh-cart-full{
  position:fixed; bottom:0; left:0; right:0;
  max-width:520px; margin:0 auto;
  max-height:85vh;
  background:var(--lh-white);
  border-radius:18px 18px 0 0;
  z-index:101;
  display:flex; flex-direction:column;
}
.lh-cart-full .head{
  padding:14px;
  border-bottom:1px solid var(--lh-line);
  display:flex; align-items:center; justify-content:space-between;
}
.lh-cart-full .head h3{font:600 17px Inter; margin:0; color:var(--lh-ink)}
.lh-cart-full .head .clear{
  background:transparent; border:0;
  font:500 12px Inter; color:var(--lh-sand); cursor:pointer;
}
.lh-cart-full .body{
  flex:1; overflow-y:auto;
  padding:0 14px;
}
.lh-citem{
  display:flex; align-items:center; gap:10px;
  padding:11px 0;
  border-bottom:1px solid var(--lh-line);
}
.lh-citem .nm{flex:1; font:500 13px Inter; color:var(--lh-ink)}
.lh-citem .nm .kind{
  font:600 9px Inter; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lh-teal); margin-right:5px;
}
.lh-citem .nm.is-test .kind{color:var(--lh-sand)}
.lh-citem .nm .sub{display:block; font:500 11px Inter; color:var(--lh-sand); margin-top:2px}
.lh-citem .nm .sub.warn{color:var(--lh-orange)}
.lh-citem .pr{font:600 13px Inter}
.lh-citem .rm{
  background:transparent; border:0;
  color:var(--lh-sand); font-size:18px;
  cursor:pointer; padding:0 4px;
}
.lh-companion{
  background:var(--lh-bg);
  border-radius:var(--lh-r-md);
  padding:10px 12px;
  margin:10px 0;
  font-size:12px; color:var(--lh-sand);
}
.lh-companion .lbl{display:block; font:600 12px Inter; color:var(--lh-ink); margin-bottom:6px}
.lh-companion .clink{
  display:inline-block; margin:3px 5px 0 0;
  background:var(--lh-white); border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill); padding:5px 10px;
  font:500 11px Inter; color:var(--lh-ink); text-decoration:none;
  cursor:pointer;
}
.lh-companion .clink em{color:var(--lh-teal); font-style:normal; font-weight:600; margin-left:4px}
.lh-cart-full .totals{
  padding:12px 14px;
  border-top:1px solid var(--lh-line);
  font-size:13px;
}
.lh-cart-full .totals .row{display:flex; justify-content:space-between; margin-bottom:4px; color:var(--lh-sand)}
.lh-cart-full .totals .row.total{font:600 15px Inter; color:var(--lh-ink); margin-top:6px}
.lh-cart-full .totals .row.mingap{color:var(--lh-orange); font-size:12px}
.lh-cart-full .cta{
  padding:12px 14px 16px;
  border-top:1px solid var(--lh-line);
  display:flex; gap:8px;
}
.lh-cart-full .cta .wa-btn{
  flex:1; background:var(--lh-wa); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:12px; font:600 13px Inter;
  display:flex; align-items:center; justify-content:center; gap:6px;
  text-decoration:none;
}
.lh-cart-full .cta .review{
  flex:1; background:var(--lh-ink); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:12px; font:600 13px Inter;
  cursor:pointer;
}

/* ===== Package-detail modal ===== */
.lh-modal{
  position:fixed; bottom:0; left:0; right:0;
  max-width:560px; margin:0 auto;
  max-height:92vh;
  background:var(--lh-white);
  border-radius:18px 18px 0 0;
  z-index:101;
  display:flex; flex-direction:column;
  overflow:hidden;
}
.lh-modal .modhead{
  background:var(--lh-white);
  padding:14px;
  border-bottom:1px solid var(--lh-line);
  display:flex; align-items:center; gap:10px;
}
.lh-modal .modhead .close{
  width:32px; height:32px; border-radius:50%;
  background:var(--lh-bg);
  display:grid; place-items:center;
  font-size:18px; color:var(--lh-ink);
  border:0; cursor:pointer;
}
.lh-modal .modhead .ttl{
  flex:1;
  font:600 15px Inter; color:var(--lh-ink);
}
.lh-modal .modbody{padding:0 14px 14px; overflow-y:auto; flex:1}
.lh-modal .hero-img{
  aspect-ratio:1.5;
  background:var(--lh-teal-soft);
  border-radius:var(--lh-r-lg);
  display:grid; place-items:center;
  font-size:64px; color:var(--lh-teal);
  margin:14px 0;
  overflow:hidden;
}
.lh-modal .hero-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.lh-modal h3{font:600 20px/1.2 Inter; margin:0 0 4px; color:var(--lh-ink)}
.lh-modal .modmeta{display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--lh-sand); margin-bottom:14px}
.lh-modal .modmeta span b{color:var(--lh-ink); font-weight:600; margin-right:3px}
.lh-modal .modsum{font-size:13px; color:var(--lh-sand); line-height:1.5; margin-bottom:18px}
.lh-modal .modpr{display:flex; align-items:baseline; gap:8px; margin-bottom:14px}
.lh-modal .modpr b{font:700 28px/1 Inter; color:var(--lh-ink)}
.lh-modal .modpr s{font-size:15px; color:var(--lh-strike); text-decoration:line-through}
.lh-modal .modpr .off{
  background:var(--lh-teal); color:#fff;
  padding:3px 8px; border-radius:var(--lh-r-sm);
  font:600 11px Inter;
}
.modknow{
  background:var(--lh-bg);
  border-radius:var(--lh-r-md);
  padding:12px;
  margin-bottom:14px;
}
.modknow h4{
  font:600 12px Inter;
  margin:0 0 8px;
  color:var(--lh-teal);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.modknow ul{margin:0; padding:0; list-style:none; display:grid; gap:8px}
.modknow li{display:flex; gap:10px; font-size:12px; line-height:1.5}
.modknow li b{flex:none; width:88px; color:var(--lh-ink); font-weight:600}
.modknow li span{color:var(--lh-sand)}
.lh-biomarker-group{
  background:var(--lh-bg);
  border-radius:var(--lh-r-md);
  padding:12px;
  margin-bottom:10px;
}
.lh-biomarker-group h4{
  font:600 12px Inter;
  margin:0 0 6px;
  color:var(--lh-teal);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.lh-biomarker-group ul{
  margin:0; padding-left:18px;
  font-size:12px; color:var(--lh-ink);
  columns:2; column-gap:12px;
  line-height:1.6;
}
.lh-modal .modcta{
  background:var(--lh-white);
  padding:12px 14px;
  border-top:1px solid var(--lh-line);
  display:flex; gap:8px;
}
.lh-modal .modcta .secondary{
  flex:none;
  background:var(--lh-white);
  border:1.5px solid var(--lh-ink);
  border-radius:var(--lh-r-sm);
  padding:10px 14px;
  font:600 12px Inter;
  cursor:pointer;
}
.lh-modal .modcta .primary{
  flex:1;
  background:var(--lh-ink); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:12px;
  font:600 13px Inter;
  cursor:pointer;
}

/* ===== Prescription upload result ===== */
.lh-rx-modal{
  position:fixed; bottom:0; left:0; right:0;
  max-width:620px; margin:0 auto;
  max-height:92vh;
  background:var(--lh-white);
  border-radius:18px 18px 0 0;
  z-index:101;
  display:flex; flex-direction:column;
  overflow:hidden;
  box-shadow:0 -12px 42px rgba(26,42,47,.18);
}
.lh-rx-head{
  flex:none;
  padding:14px;
  border-bottom:1px solid var(--lh-line);
  display:flex; align-items:center; gap:10px;
}
.lh-rx-head .close{
  width:32px; height:32px; border-radius:50%;
  border:0; background:var(--lh-bg);
  color:var(--lh-ink);
  font:500 18px/1 Inter;
  display:grid; place-items:center;
  cursor:pointer;
  flex:none;
}
.lh-rx-head h3{
  margin:0 0 2px;
  font:700 17px/1.2 Inter;
  color:var(--lh-ink);
}
.lh-rx-head p{
  margin:0;
  font:500 12px/1.25 Inter;
  color:var(--lh-sand);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:38ch;
}
.lh-rx-body{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:14px;
}
.lh-rx-preview{
  aspect-ratio:16 / 9;
  max-height:210px;
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  overflow:hidden;
  margin-bottom:14px;
}
.lh-rx-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}
.lh-rx-preview.is-fallback{
  aspect-ratio:auto;
  max-height:none;
  padding:14px 16px;
  background:#fff;
}
.lh-rx-preview-fallback{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.lh-rx-preview-icon{
  font-size:22px;
  line-height:1;
}
.lh-rx-preview-name{
  font-weight:600;
  color:var(--lh-ink);
  word-break:break-all;
}
.lh-rx-preview-note{
  flex-basis:100%;
  color:var(--lh-ink-soft);
  font-size:12px;
}
.lh-rx-loading,
.lh-rx-error,
.lh-rx-empty{
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  padding:18px;
  text-align:center;
  color:var(--lh-sand);
}
.lh-rx-loading b,
.lh-rx-error b{display:block; font:700 15px/1.25 Inter; color:var(--lh-ink); margin-bottom:5px}
.lh-rx-loading p,
.lh-rx-error p{margin:0; font:500 12px/1.45 Inter}
.lh-rx-error a{
  display:inline-flex;
  margin-top:12px;
  background:var(--lh-wa);
  color:#fff;
  border-radius:var(--lh-r-sm);
  padding:10px 14px;
  font:700 12px/1 Inter;
  text-decoration:none;
}
.lh-rx-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #DCE7E9;
  border-top-color:var(--lh-teal);
  display:inline-block;
  margin-bottom:12px;
  animation:lh-rx-spin .8s linear infinite;
}
@keyframes lh-rx-spin{to{transform:rotate(360deg)}}
.lh-rx-panel{
  background:var(--lh-hint-bg);
  border:1px solid var(--lh-hint-border);
  border-radius:var(--lh-r-lg);
  padding:14px;
  margin-bottom:14px;
}
.lh-rx-panel span{
  display:inline-block;
  color:var(--lh-orange);
  font:800 10px/1 Inter;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.lh-rx-panel b{display:block; font:700 16px/1.25 Inter; color:var(--lh-ink); margin-bottom:4px}
.lh-rx-panel p{margin:0 0 12px; font:500 12px/1.45 Inter; color:var(--lh-sand)}
.lh-rx-panel button{
  width:100%;
  border:0;
  border-radius:var(--lh-r-sm);
  background:var(--lh-ink);
  color:#fff;
  padding:11px 12px;
  font:700 12px/1 Inter;
  cursor:pointer;
}
.lh-rx-section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 8px;
}
.lh-rx-section-head h4{
  margin:0;
  font:800 12px/1 Inter;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--lh-ink);
}
.lh-rx-section-head span{font:600 12px/1 Inter; color:var(--lh-sand)}
.lh-rx-list{display:grid; gap:8px}
.lh-rx-match{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:11px 12px;
}
.lh-rx-match input{accent-color:var(--lh-teal); width:16px; height:16px}
.lh-rx-match-copy{min-width:0}
.lh-rx-match-copy b{
  display:block;
  font:700 13px/1.25 Inter;
  color:var(--lh-ink);
  margin-bottom:3px;
}
.lh-rx-match-copy small{
  display:block;
  font:500 11px/1.35 Inter;
  color:var(--lh-sand);
}
.lh-rx-match em{
  font:800 12px/1 Inter;
  color:var(--lh-ink);
  font-style:normal;
  white-space:nowrap;
}
.lh-rx-unavailable{display:grid; gap:8px}
.lh-rx-unavailable div{
  background:#FFF7F3;
  border:1px solid #F3D3C3;
  border-radius:var(--lh-r-md);
  padding:10px 12px;
}
.lh-rx-unavailable b{display:block; font:700 13px/1.25 Inter; color:var(--lh-ink); margin-bottom:3px}
.lh-rx-unavailable small{display:block; font:500 11px/1.35 Inter; color:var(--lh-orange)}
.lh-rx-note{
  margin:14px 0 0;
  color:var(--lh-sand);
  font:500 11px/1.45 Inter;
}
.lh-rx-actions{
  flex:none;
  border-top:1px solid var(--lh-line);
  padding:12px 14px 16px;
  display:flex;
  gap:8px;
  background:var(--lh-white);
}
.lh-rx-actions button{
  border-radius:var(--lh-r-sm);
  padding:12px 14px;
  font:700 13px/1 Inter;
  cursor:pointer;
}
.lh-rx-actions .secondary{
  flex:none;
  background:var(--lh-white);
  color:var(--lh-teal);
  border:1.5px solid var(--lh-teal);
}
.lh-rx-actions .primary{
  flex:1;
  background:var(--lh-ink);
  color:#fff;
  border:0;
}
.lh-rx-actions .primary:disabled{
  background:#D1D5DB;
  color:#6B7280;
  cursor:not-allowed;
}

/* ===== Compare panels ===== */
.lh-compare-sheet,
.lh-compare-result{
  position:fixed; bottom:0; left:0; right:0;
  max-width:560px; margin:0 auto;
  max-height:92vh;
  background:var(--lh-white);
  border-radius:18px 18px 0 0;
  z-index:101;
  display:flex; flex-direction:column;
  overflow:hidden;
}
.lh-compare-head{
  padding:14px;
  border-bottom:1px solid var(--lh-line);
  display:flex; align-items:center; gap:10px;
  background:var(--lh-white);
}
.lh-compare-head .close{
  width:32px; height:32px; border-radius:50%;
  background:var(--lh-bg);
  border:0; color:var(--lh-ink);
  font:400 18px/1 Inter;
  display:grid; place-items:center;
  flex:none; cursor:pointer;
}
.lh-compare-head h3{font:600 17px/1.2 Inter; margin:0 0 2px; color:var(--lh-ink)}
.lh-compare-head p{font:400 12px/1.35 Inter; margin:0; color:var(--lh-sand)}
.lh-compare-head .change{
  margin-left:auto;
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  padding:7px 11px;
  font:600 11px Inter;
  color:var(--lh-teal);
  cursor:pointer;
}
.lh-compare-search{
  position:relative;
  padding:4px 14px 8px;
}
.lh-compare-search input{
  width:100%;
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  padding:9px 32px 9px 14px;
  font:400 14px Inter;
  color:var(--lh-ink);
  outline:none;
}
.lh-compare-search input:focus{
  border-color:var(--lh-teal);
  box-shadow:0 0 0 3px var(--lh-teal-soft);
}
.lh-compare-search .clear{
  position:absolute;
  right:22px; top:50%;
  transform:translateY(-50%);
  width:22px; height:22px;
  background:var(--lh-bg);
  border:0; border-radius:50%;
  font:600 14px Inter; color:var(--lh-ink);
  cursor:pointer;
}
.lh-compare-empty{
  text-align:center;
  padding:20px 0;
  font:400 13px Inter; color:var(--lh-sand);
}
.lh-compare-options{
  overflow-y:auto;
  padding:0 14px 14px;
}
.lh-compare-option{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:10px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid var(--lh-line);
  cursor:pointer;
}
.lh-compare-option input{position:absolute; opacity:0; pointer-events:none}
.lh-compare-option .tick{
  width:22px; height:22px; border-radius:50%;
  border:1.5px solid var(--lh-line);
  display:grid; place-items:center;
  color:#fff; background:var(--lh-white);
  font:700 12px/1 Inter;
}
.lh-compare-option.on .tick{background:var(--lh-teal); border-color:var(--lh-teal)}
.lh-compare-option.disabled{opacity:.45; cursor:not-allowed}
.lh-compare-option .copy{min-width:0}
.lh-compare-option .copy b{display:block; font:600 14px/1.25 Inter; color:var(--lh-ink); margin-bottom:3px}
.lh-compare-option .copy small{display:block; font:700 12px/1.25 Inter; color:var(--lh-teal); margin-bottom:3px}
.lh-compare-option .copy em{display:block; font:400 12px/1.4 Inter; color:var(--lh-sand); font-style:normal}
.lh-compare-bar{
  border-top:1px solid var(--lh-line);
  padding:12px 14px 16px;
  background:var(--lh-white);
  display:grid;
  gap:10px;
}
.lh-compare-bar .slots{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.lh-compare-bar .slots span{
  min-width:0;
  border:1px dashed var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:9px 10px;
  color:var(--lh-sand);
  font:600 12px/1.25 Inter;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.lh-compare-bar .slots span.filled{border-style:solid; color:var(--lh-ink); background:var(--lh-bg)}
.lh-compare-bar .slots small{display:block; font:600 10px/1 Inter; color:var(--lh-teal); margin-bottom:4px}
.lh-compare-bar > button{
  width:100%;
  background:var(--lh-ink);
  color:#fff;
  border:0;
  border-radius:var(--lh-r-sm);
  padding:12px;
  font:700 13px Inter;
  cursor:pointer;
}
.lh-compare-bar > button:disabled{
  background:#D1D5DB;
  color:#6B7280;
  cursor:not-allowed;
}
.lh-compare-table{
  overflow-y:auto;
  padding:12px 14px 18px;
}
.lh-compare-plans,
.lh-compare-stats,
.lh-compare-about{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  overflow:hidden;
  margin-bottom:10px;
}
.lh-compare-plan{
  padding:12px;
  background:var(--lh-white);
  min-width:0;
}
.lh-compare-plan + .lh-compare-plan,
.lh-compare-stats span:nth-child(even),
.lh-compare-about span + span{border-left:1px solid var(--lh-line)}
.lh-compare-plan b{display:block; font:700 14px/1.25 Inter; color:var(--lh-ink); min-height:36px}
.lh-compare-plan span{display:inline-block; font:800 18px/1 Inter; color:var(--lh-ink); margin:8px 6px 4px 0}
.lh-compare-plan s{font:500 12px Inter; color:var(--lh-strike)}
.lh-compare-plan button{
  display:block;
  width:100%;
  margin-top:8px;
  background:var(--lh-ink);
  color:#fff;
  border:0;
  border-radius:var(--lh-r-sm);
  padding:9px 8px;
  font:700 11px Inter;
  cursor:pointer;
}
.lh-compare-stats span{
  padding:10px 12px;
  font:500 12px/1.25 Inter;
  color:var(--lh-sand);
}
.lh-compare-stats span:nth-child(n+3){border-top:1px solid var(--lh-line)}
.lh-compare-stats b{display:block; font:800 17px/1 Inter; color:var(--lh-teal); margin-bottom:3px}
.lh-compare-about span{
  padding:11px 12px;
  font:400 12px/1.45 Inter;
  color:var(--lh-sand);
}
.lh-compare-group{
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  background:var(--lh-white);
  margin-bottom:8px;
  overflow:hidden;
}
.lh-compare-group summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:0;
  padding:0;
  font:700 13px/1.25 Inter;
  color:var(--lh-ink);
}
.lh-compare-group summary::-webkit-details-marker{display:none}
.lh-compare-group summary span{
  grid-column:1 / -1;
  padding:11px 12px 8px;
  border-bottom:1px solid var(--lh-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.lh-compare-group summary span::after{
  content:"";
  width:24px;
  height:24px;
  border:1px solid var(--lh-line);
  border-radius:50%;
  background:var(--lh-white) center/12px 12px no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5E6E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  transition:transform .2s ease;
  flex:none;
}
.lh-compare-group[open] summary span::after{transform:rotate(180deg)}
.lh-compare-group summary:hover span::after{border-color:var(--lh-teal); background-color:var(--lh-teal-soft)}
.lh-compare-group summary em{
  display:block;
  font:700 11px/1 Inter;
  color:var(--lh-teal);
  background:var(--lh-teal-soft);
  border-radius:0;
  padding:9px 12px;
  text-align:center;
  white-space:normal;
}
.lh-compare-group summary em + em{
  border-left:1px solid var(--lh-line);
}
.lh-compare-group > div{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--lh-line);
}
.lh-compare-group ul{
  margin:0;
  padding:10px 12px 10px 24px;
  font:400 11px/1.45 Inter;
  color:var(--lh-ink);
}
.lh-compare-group ul + ul{border-left:1px solid var(--lh-line)}
.lh-compare-group li{margin:0 0 4px}
.lh-compare-group li.more{list-style:none; margin-left:-12px}
.lh-compare-group li.more button{
  background:transparent;
  border:0;
  padding:2px 0;
  font:700 11px/1.2 Inter;
  color:var(--lh-teal);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.lh-compare-group li.more button:hover{color:var(--lh-ink)}
.lh-compare-group li.none{color:var(--lh-sand); list-style:none; margin-left:-12px}

.lh-bubbles{display:flex; flex-wrap:wrap; gap:6px}
.lh-bubbles button{
  background:var(--lh-bg);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  padding:8px 14px;
  font:400 13px Inter;
  color:var(--lh-ink);
  cursor:pointer;
  font-family:inherit;
}
.lh-bubbles button .pr{font:600 13px Inter; color:var(--lh-teal); margin-left:6px}
.lh-res{
  display:flex; align-items:center; gap:12px;
  padding:11px 0;
  border-bottom:1px solid var(--lh-line);
}
.lh-res .ic{
  width:38px; height:38px;
  border-radius:var(--lh-r-md);
  background:var(--lh-teal-soft);
  display:grid; place-items:center;
  font-size:18px; color:var(--lh-teal); flex:none;
}
.lh-res.is-test .ic{background:var(--lh-orange-soft); color:var(--lh-orange)}
.lh-res .tx{flex:1; min-width:0}
.lh-res .tx b{display:block; font:600 14px Inter; color:var(--lh-ink)}
.lh-res .tx b mark{background:rgba(15,94,110,.15); color:var(--lh-teal); padding:0 2px; border-radius:2px}
.lh-res .tx span{font-size:11px; color:var(--lh-sand)}
.lh-res .pr{font:700 14px Inter; color:var(--lh-ink); margin-right:8px}
.lh-res .add{
  background:var(--lh-ink); color:#fff;
  border:0; border-radius:var(--lh-r-sm);
  padding:7px 12px;
  font:600 11px Inter;
  cursor:pointer;
}
.lh-empty{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  padding:36px 18px;
  text-align:center;
  color:var(--lh-sand);
  font-size:13px;
}

/* Padding under cart sheet so content isn't covered */
.lh-cart-spacer{height:90px}

/* ===== Desktop responsive (>=1024px) ===== */
@media (min-width:1024px){
  .lh-stickyhead{padding:14px 24px}
  .lh-pills{
    padding:14px 24px;
    gap:8px;
    justify-content:center;
    flex-wrap:wrap;
    -webkit-mask-image:none;
            mask-image:none;
  }
  .lh-pill{font-size:13.5px}
  .lh-pill.no-img{padding:10px 18px}
  .lh-pill.has-img{padding:5px 16px 5px 5px}
  .lh-pill .lh-pill-img{width:30px; height:30px}

  /* Hero — editorial split: text + actions left, photo right */
  .lh-hero{
    padding:44px 24px 48px;
    background:linear-gradient(180deg, #FAFAF7 0%, #FFFFFF 100%);
  }
  .lh-hero h1{font:600 44px/1.1 Inter; margin:0 0 10px; letter-spacing:-0.015em}
  .lh-hero p.sub{font-size:16px; margin-bottom:22px; max-width:46ch}
  .lh-hero-inner{
    display:grid; grid-template-columns:1.05fr 1.1fr; gap:40px;
    max-width:1180px; align-items:center;
  }
  .lh-hero-l{align-self:center; display:flex; flex-direction:column; gap:18px}
  .lh-hero-l > h1, .lh-hero-l > p.sub{margin:0}
  .lh-hero-l > p.sub{margin-bottom:0}
  .lh-hero-eyebrow{
    display:inline-block;
    font:600 11px/1 Inter;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--lh-teal);
    background:var(--lh-teal-soft);
    padding:6px 10px;
    border-radius:var(--lh-r-pill);
    align-self:flex-start;
  }

  .lh-hero-actions{
    display:flex; flex-direction:column; gap:10px;
  }
  .lh-rx{padding:18px 20px; margin-bottom:0}
  .lh-rx .tx b{font-size:17px}
  .lh-rx .tx span{font-size:13px}

  /* Hero photo — editorial Dubai-table still life */
  .lh-hero-r{
    display:block;
    align-self:stretch;
    position:relative;
  }
  .lh-lbl{padding:28px 24px 12px}
  .lh-lbl h2{font:600 21px Inter}
  .lh-rail-head{padding-bottom:12px}

  /* Most-booked panels — horizontal rail carousel */
  .lh-rail-wrap{
    position:relative;
    max-width:1180px; margin:0 auto;
    padding:0 24px;
  }
  /* Arrows live in their own side gutters so they never overlap cards
     (owner 2026-07-25) — applies to every rail (landing + browse). */
  .lh-rail-stage{padding:0 52px}
  .lh-rail.lh-grid2{
    display:flex;
    grid-template-columns:none;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:6px 4px 12px;
    margin:0 -4px;
    scrollbar-width:none;
  }
  .lh-rail.lh-grid2::-webkit-scrollbar{display:none}
  .lh-rail.lh-grid2 > article.lh-card{
    flex:0 0 calc((100% - 36px) / 3);
    scroll-snap-align:start;
  }
  .lh-rail.lh-test-grid{
    grid-auto-columns:calc((100% - 32px) / 3);
    gap:12px 16px;
    padding:6px 4px 12px;
    margin:0 -4px;
  }
  .lh-browse-hero{padding:40px 24px 12px}
  .lh-browse-hero h1{font:600 36px/1.1 Fraunces, serif}
  .lh-browse-hero p{font:400 15px Inter}
  .lh-browse-tabs{padding:8px 24px 0}
  .lh-browse-tab{flex:none; padding:12px 16px; font:600 15px Inter}
  .lh-grid2.lh-browse-grid{
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    padding:18px 24px;
    max-width:1180px;
    margin:0 auto;
  }
  .lh-rows.lh-browse-rows{
    max-width:1180px; margin:0 auto;
    padding:14px 24px;
    display:grid; grid-template-columns:1fr 1fr; gap:10px;
  }
  .lh-rail-btn{
    display:grid; place-items:center;
    position:absolute;
    top:calc(50% - 14px);
    transform:translateY(-50%);
    width:40px; height:40px;
    border-radius:50%;
    background:var(--lh-white);
    border:1px solid var(--lh-line);
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    font-size:22px; color:var(--lh-ink);
    cursor:pointer;
    z-index:5;
  }
  .lh-rail-btn.prev{left:2px}
  .lh-rail-btn.next{right:2px}
  .lh-rail-btn:disabled{opacity:.35; cursor:default}
  .lh-rail-btn:not(:disabled):hover{background:var(--lh-bg)}
  .lh-rail-footer{
    padding:0 4px;
    max-width:none;
    margin:-2px 0 0;
  }
  .lh-rail-counter{
    display:block;
    position:static;
    font:600 12px Inter;
    color:var(--lh-sand);
    background:var(--lh-bg);
    border:1px solid var(--lh-line);
    border-radius:var(--lh-r-pill);
    padding:4px 10px;
    font-variant-numeric:tabular-nums;
  }

  /* Panel card — Orange-inspired density with editorial pharmacopoeia look */
  .lh-card{
    padding:0;
    overflow:hidden;
    gap:0;
    border-radius:var(--lh-r-lg);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .lh-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px -16px rgba(15,94,110,.28);
  }
  .lh-card .nm{
    display:block;
    font:600 16px/1.25 Inter;
    color:var(--lh-ink);
    padding:14px 16px 8px;
  }
  .lh-card .pr{
    padding:12px 16px 12px;
    align-items:center; gap:8px;
  }
  .lh-card .pr b{font:700 19px/1 Inter}
  .lh-card .pr s{font-size:13px}
  .lh-card-cta{
    display:grid; grid-template-columns:1fr 1.2fr;
    gap:8px;
    padding:0 16px 14px;
  }
  .lh-card-cta .add{
    background:var(--lh-ink);
    color:#fff;
    border:0;
    border-radius:var(--lh-r-sm);
    padding:10px;
    font:600 12px Inter;
    cursor:pointer;
    margin:0;
  }
  .lh-card.added .lh-card-cta .add{background:var(--lh-teal)}
  .lh-card-compare{
    display:block;
    width:calc(100% - 32px);
    margin:0 16px 14px;
    background:transparent;
    border:0;
    border-top:1px solid var(--lh-line);
    padding:10px 0 0;
    font:500 11px Inter;
    color:var(--lh-sand);
    cursor:pointer;
    text-align:center;
  }
  .lh-card-compare:hover{color:var(--lh-teal)}
  /* Disable old single-button add on desktop (replaced by lh-card-cta) */
  .lh-card > .add{display:none}

  .lh-rows{
    max-width:1180px; margin:0 auto;
    padding:0 24px;
    display:grid; grid-template-columns:1fr 1fr; gap:10px;
  }
  .lh-strow{margin:0}

  .lh-hint{
    margin:14px auto;
    max-width:1132px;
  }

  .lh-editorial-head{
    padding:42px 24px 18px;
    display:grid;
    grid-template-columns:minmax(260px, .85fr) minmax(340px, 1fr);
    gap:18px 56px;
    align-items:end;
  }
  .lh-editorial-head .lh-kicker,
  .lh-editorial-head h2{grid-column:1}
  .lh-editorial-head h2{font-size:42px}
  .lh-editorial-head p:not(.lh-kicker){
    grid-column:2;
    grid-row:1 / span 2;
    margin:0;
    align-self:end;
    font-size:15px;
  }
  .lh-editorial-head.compact{
    grid-template-columns:1fr;
    gap:0;
  }
  .lh-editorial-head.compact .lh-kicker,
  .lh-editorial-head.compact h2{grid-column:1}
  .lh-journey-list{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .lh-journey-list li{
    display:block;
    min-height:138px;
    padding:22px 22px 24px;
    border-bottom:0;
    border-right:1px solid rgba(214,203,182,.75);
  }
  .lh-journey-list li:last-child{border-right:0}
  .lh-journey-list .n{
    display:block;
    margin-bottom:24px;
  }
  .lh-journey-list h3{font-size:15px}
  .lh-journey-list p{font-size:13px}

  /* Reviews: 3-col on desktop (stats + 2 reviews) */
  .lh-rev-wrap{
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;
    padding:0 24px;
    max-width:1180px; margin:0 auto;
  }
  .lh-trust .lh-rev-wrap{
    gap:12px;
    padding:0 24px;
  }
  .lh-rev{margin:0}
  .lh-rev-stats{display:flex !important; flex-direction:column}
  .lh-rev-stats .top b{font-size:36px}
  .lh-rev-bars{display:flex; flex-direction:column; gap:6px; margin-top:8px}
  .lh-rev-bars > div{
    display:grid; grid-template-columns:22px 1fr 36px;
    align-items:center; gap:8px;
    font-size:11px; color:var(--lh-sand);
  }
  .lh-rev-bars > div > span{color:var(--lh-ink); font-weight:500}
  .lh-rev-bars .bar{
    height:6px; background:var(--lh-bg);
    border-radius:3px; overflow:hidden;
  }
  .lh-rev-bars .bar i{
    display:block; height:100%;
    background:#C9A96E; border-radius:3px;
  }
  .lh-rev-bars em{font-style:normal; text-align:right; font-variant-numeric:tabular-nums}

  .lh-cities{
    padding:0 24px; max-width:1180px; margin:0 auto;
  }
  .lh-cities a{min-width:0; flex:1}

  /* FAQ: 2-col grid on desktop */
  .lh-faq{
    padding:0 24px;
    max-width:1180px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:0 32px;
    align-items:start;
  }
  .lh-faq details{padding:14px 0}

  /* Cross-sell: 3-tile wide rail */
  .lh-xsell{
    padding:0 24px;
    max-width:1180px; margin:0 auto;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .lh-xsell a{padding:20px 18px; font-size:13px}
  .lh-xsell a .em{font-size:28px}
  .lh-xsell a b{font-size:15px; margin-bottom:5px}

  /* Cart sheet stays bottom-fixed; cap width and center on desktop */
  .lh-cart-sheet{
    left:50%; transform:translateX(-50%);
    max-width:520px; right:auto;
    border-radius:14px 14px 0 0;
    border:1px solid var(--lh-line);
    border-bottom:0;
  }

  .lh-modal{
    width:min(820px, calc(100vw - 96px));
    max-width:none;
  }
  .lh-modal .modbody{padding:0 18px 18px}
  .lh-modal .hero-img{
    aspect-ratio:2.1;
    max-height:360px;
  }
  .lh-modal .lh-biomarker-group ul{
    columns:3;
    column-gap:18px;
  }
  .lh-modal .modcta{padding:12px 18px 18px}

  .lh-compare-sheet,
  .lh-compare-result{
    top:50%; bottom:auto;
    transform:translateY(-50%);
    border-radius:14px;
    box-shadow:0 24px 80px rgba(26,42,47,.22);
    max-height:86vh;
  }
  .lh-compare-sheet{max-width:680px}
  .lh-compare-result{max-width:880px}
  .lh-rx-modal{
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    border-radius:14px;
    max-width:720px;
    max-height:86vh;
    box-shadow:0 24px 80px rgba(26,42,47,.22);
  }
  .lh-rx-body{padding:18px}
  .lh-rx-actions{padding:12px 18px 18px}
  .lh-compare-bar{
    grid-template-columns:1fr 180px;
    align-items:center;
  }
}

/* ===== Wide desktop ===== */
@media (min-width:1280px){
  .lh-rows{grid-template-columns:1fr 1fr 1fr}
}

/* ── Phase 3: multi-select search (Healthians parity) ── */
.lh-ss-bar { display: flex; align-items: center; gap: 8px; }
.lh-ss-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.lh-ss-chips input { flex: 1; min-width: 120px; border: 0; outline: 0; background: transparent; font: inherit; }
.lh-ss-chip {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--lh-teal-soft); color: var(--lh-teal);
  border: 1px solid var(--lh-line); border-radius: var(--lh-r-sm);
  padding: 2px 8px 2px 4px; font-size: 13px; line-height: 1.4;
  max-width: 240px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lh-ss-chip-x {
  border: 0; background: transparent; color: var(--lh-teal); cursor: pointer;
  font-size: 15px; line-height: 1; padding: 0 2px;
}
.lh-ss-chip-x:hover { color: var(--lh-orange); }
.lh-ss-submit {
  border: 0; border-radius: var(--lh-r-md); cursor: pointer;
  background: var(--lh-teal); color: var(--lh-white); font-weight: 600;
  padding: 8px 18px; font-size: 14px; flex-shrink: 0;
}
.lh-ss-submit:hover { filter: brightness(1.08); }
@media (max-width: 899px) {
  .lh-ss-chip { max-width: 160px; }
  .lh-ss-submit { padding: 8px 12px; }
}

/* ── Phase 3: search suggest dropdown ──
   .lh-searchwrap wraps the .lh-search bar and is the positioned anchor for
   the dropdown — .lh-stickyhead itself isn't reliable (it flips to
   position:static on /browse/, see .lh-is-browse .lh-stickyhead above). */
.lh-searchwrap { position: relative; max-width: 720px; margin: 0 auto; }
.lh-ss-dd {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
  background: var(--lh-white); border: 1px solid var(--lh-line); border-radius: var(--lh-r-lg);
  box-shadow: 0 12px 32px rgba(15, 94, 110, .14);
  max-height: min(480px, 60vh); overflow-y: auto; padding: 12px;
  margin-top: 6px;
}
.lh-ss-zones.is-popular { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lh-ss-zones.is-matches { display: block; }
.lh-ss-zone h4 {
  font: 600 12px/1.4 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase;
  color: var(--lh-sand); margin: 8px 0 4px;
}
.lh-ss-row {
  display: flex; align-items: center; gap: 10px; width: 100%;
  border: 0; background: transparent; cursor: pointer; text-align: left;
  padding: 8px 10px; border-radius: var(--lh-r-sm); font: 400 14px/1.4 Inter, sans-serif; color: var(--lh-ink);
}
.lh-ss-row:hover, .lh-ss-row.is-hl { background: var(--lh-teal-soft); }
.lh-ss-row.is-sel .lh-ss-row-name { color: var(--lh-teal); font-weight: 600; }
.lh-ss-row-name { flex: 1; min-width: 0; }
.lh-ss-alias { display: block; color: var(--lh-sand); font-size: 12px; }
.lh-ss-row-meta { color: var(--lh-sand); font-size: 13px; flex-shrink: 0; }
.lh-ss-toggle {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 600;
  background: var(--lh-teal-soft); color: var(--lh-teal);
}
.lh-ss-toggle.minus { background: var(--lh-teal); color: var(--lh-white); }
.lh-ss-nohits p { margin: 4px 0 8px; color: var(--lh-sand); font-size: 14px; }
.lh-ss-dd-foot { position: sticky; bottom: 0; background: var(--lh-white); padding-top: 8px; display: flex; justify-content: flex-end; }
@media (max-width: 899px) {
  .lh-ss-dd { max-height: 70vh; }
  .lh-ss-zones.is-popular { grid-template-columns: 1fr; }
}

/* Phase 2: card/search title links inherit card styling */
.lh-card .nm a, .lh-test-card-name a, .lh-strow .tx > b a { color: inherit; text-decoration: none; }
.lh-card .nm a:hover, .lh-test-card-name a:hover { text-decoration: underline; }
.lh-card-cta a.view { text-decoration: none; text-align: center; }

/* Phase 2: analyte cross-links in package accordion (Healthians D2) */

/* ── Phase 3: results view (Healthians anatomy — owner round 2026-07-23) ── */
.lh-sr { padding: 8px 16px 40px; max-width: 1180px; margin: 0 auto; }
.lh-sr-head { margin: 16px 0 4px; }
.lh-sr-head h1 { font: 600 28px/1.2 Fraunces, serif; color: #1a2b32; margin: 0; }
.lh-sr-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.lh-sr-viewtests { display: none; border: 0; background: none; color: #0F5E6E; font-weight: 600; cursor: pointer; text-decoration: underline; margin-left: auto; }
.lh-sr-band {
  background: #eef2fb; color: #33415c; border-radius: 8px;
  padding: 10px 16px; text-align: center; font-size: 14px; margin: 12px 0 20px;
}
.lh-sr-band i { font-style: normal; margin: 0 10px; color: #94a3b8; }

/* Combined bundle card: left content / right buy column, count block pinned top-right */
.lh-sr-bundle {
  position: relative;
  background: #fff; border: 1px solid #e3e8e9; border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 94, 110, .08); margin-bottom: 32px;
}
.lh-sr-count {
  position: absolute; top: 0; right: 0;
  background: linear-gradient(135deg, #e4f2f4, #f4fafb); color: #0F5E6E;
  border-radius: 0 14px 0 14px; padding: 14px 20px;
  display: flex; gap: 8px; align-items: center;
}
.lh-sr-count b { font-size: 32px; line-height: 1; }
.lh-sr-count span { font-size: 12px; line-height: 1.2; font-weight: 600; }
.lh-sr-bundle-grid { display: grid; grid-template-columns: 1fr 300px; gap: 24px; padding: 20px; }
.lh-sr-bundle-left h2 { font: 600 22px/1.35 Fraunces, serif; color: #1a2b32; margin: 0 0 14px; padding-right: 130px; }
.lh-sr-bundle-left h3 { font: 700 14px/1.4 Inter, sans-serif; margin: 0 0 4px; }
.lh-sr-included { color: #475569; font-size: 14px; line-height: 1.6; margin: 0 0 16px; }
.lh-sr-more { border: 0; background: none; color: #0F5E6E; font-weight: 600; cursor: pointer; text-decoration: underline; padding: 0; }
.lh-sr-specs { list-style: none; padding: 0; margin: 0; }
.lh-sr-specs li { color: #33415c; font-size: 14px; }
.lh-sr-specs li::before { content: '✓'; color: #0F5E6E; margin-right: 8px; font-weight: 700; }
.lh-sr-specs-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.lh-sr-bundle-right { display: flex; flex-direction: column; gap: 10px; justify-content: flex-end; padding-top: 52px; }
.lh-sr-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.lh-sr-price b { font-size: 26px; color: #1a2b32; }
.lh-sr-price s { color: #94a3b8; }
.lh-sr-offpill {
  font-style: normal; background: #fdeed3; color: #b9770e; border-radius: 999px;
  font-size: 12px; font-weight: 700; padding: 3px 10px; white-space: nowrap;
}
.lh-sr-details {
  display: block; width: 100%; text-align: center;
  border: 1px solid #bfdce2; background: #edf7f9; color: #0F5E6E;
  border-radius: 8px; padding: 11px 22px; font-weight: 600; cursor: pointer;
  text-decoration: none; box-sizing: border-box;
}
.lh-sr-book {
  display: block; width: 100%;
  border: 0; background: #0F5E6E; color: #fff; border-radius: 8px;
  padding: 12px 26px; font-weight: 600; cursor: pointer; font-size: 15px;
}
.lh-sr-book:hover, .lh-sr-details:hover { filter: brightness(1.05); }
.lh-sr-bundle-detail { padding: 4px 20px 16px; border-top: 1px dashed #e3e8e9; }
.lh-sr-detail-group h4 { font: 600 14px/1.4 Inter, sans-serif; margin: 12px 0 4px; }
.lh-sr-detail-group h4 small { color: #64748b; font-weight: 400; margin-left: 8px; }
.lh-sr-detail-group ul { columns: 2; margin: 0; padding-left: 18px; color: #475569; font-size: 13px; line-height: 1.7; }

/* Customised Packages grid */
.lh-sr-suggest h2 { font: 600 24px/1.3 Fraunces, serif; margin: 8px 0 2px; color: #1a2b32; }
.lh-sr-suggest-sub { color: #64748b; margin: 0 0 18px; font-size: 14px; }
.lh-sr-pkg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lh-sr-pkg {
  background: #fff; border: 1px solid #e3e8e9; border-radius: 14px;
  padding: 16px 16px 0; display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 6px 18px rgba(15, 94, 110, .06); overflow: hidden;
}
.lh-sr-pkg-top { display: flex; justify-content: space-between; align-items: center; min-height: 24px; }
.lh-sr-ribbon {
  border: 1px solid #bfdce2; background: #f4fafb; color: #0F5E6E;
  font-size: 10.5px; font-weight: 700; letter-spacing: .07em;
  border-radius: 6px; padding: 3px 9px;
}
.lh-sr-ribbon::before { content: '⚑ '; font-size: 10px; }
.lh-sr-pkg h3 { margin: 2px 0 0; font: 600 19px/1.3 Fraunces, serif; }
.lh-sr-pkg h3 a { color: #1a2b32; text-decoration: none; }
.lh-sr-pkg h3 a:hover { color: #0F5E6E; text-decoration: underline; }
.lh-sr-pkg-count { margin: 0; color: #33415c; font-size: 14px; }
.lh-sr-pkg-params {
  margin: 4px 0 0; color: #475569; font-size: 13px; line-height: 1.6;
  border-top: 1px dashed #d8dfe1; padding-top: 10px;
}
.lh-sr-specs-row { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 4px 0 8px; }
.lh-sr-specs-row li { font-size: 13px; }
.lh-sr-pkg-offer {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: auto -16px 0; padding: 12px 16px; background: #fbf7ef; border-top: 1px solid #f0e6d6;
}
.lh-sr-pkg-offer .lh-sr-price { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.lh-sr-pkg-offer .lh-sr-price small { color: #64748b; font-size: 11px; }
.lh-sr-pkg-offer .lh-sr-price span { display: flex; align-items: baseline; gap: 8px; }
.lh-sr-pkg-offer .lh-sr-price b { font-size: 20px; }
.lh-sr-pkg-offer .lh-sr-details { width: auto; padding: 9px 22px; flex-shrink: 0; }
.lh-sr-pkg-book { margin: 0 -16px; width: calc(100% + 32px); border-radius: 0; }
.lh-sr-showmore {
  margin: 20px auto 0; display: block; border: 1px solid #bfdce2; background: #fff;
  color: #0F5E6E; border-radius: 8px; padding: 10px 24px; font-weight: 600; cursor: pointer;
}

/* "+More" params modal — Healthians package-pop anatomy, Theme A skin */
.lh-pm {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(640px, calc(100vw - 32px)); max-height: 80vh;
  background: #fff; border-radius: 14px; z-index: 101;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 24px 64px rgba(15, 94, 110, .25);
}
.lh-pm-head { position: relative; padding: 20px 56px 14px 22px; border-bottom: 1px solid #eef1f2; }
.lh-pm-head h3 { margin: 0 0 4px; font: 600 22px/1.25 Fraunces, serif; color: #1a2b32; }
.lh-pm-head p { margin: 0; color: #33415c; font-size: 14px; }
.lh-pm-close {
  position: absolute; top: 14px; right: 14px; width: 32px; height: 32px;
  border: 0; border-radius: 50%; background: #eef4f5; color: #0F5E6E;
  font-size: 18px; line-height: 1; cursor: pointer;
}
.lh-pm-body { background: #f4f7f8; padding: 14px; overflow-y: auto; }
.lh-pm-row { background: #fff; border-radius: 10px; margin-bottom: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(15, 94, 110, .05); }
.lh-pm-row:last-child { margin-bottom: 0; }
.lh-pm-rowhead {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; border: 0; background: none; cursor: pointer; text-align: left;
  padding: 14px 16px; font: 600 15px/1.4 Inter, sans-serif; color: #1a2b32;
}
.lh-pm-rowhead em {
  font-style: normal; background: #eef4f5; color: #0F5E6E;
  font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 3px 10px; white-space: nowrap;
}
.lh-pm-row.is-open .lh-pm-rowhead { border-bottom: 1px dashed #e3e8e9; }
.lh-pm-subs { padding: 10px 16px 12px; }
.lh-pm-subs p { margin: 0 0 6px; color: #475569; font-size: 13.5px; }
.lh-pm-subs p:last-child { margin-bottom: 0; }
@media (max-width: 899px) {
  .lh-pm { top: auto; left: 0; right: 0; bottom: 0; transform: none; width: auto; max-height: 78vh; border-radius: 18px 18px 0 0; }
}

/* "View Tests" → Added Tests/Packages sheet (Healthians view_selected_test) */
.lh-vt {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 101;
  max-width: 560px; margin: 0 auto; max-height: 70vh;
  background: #fff; border-radius: 18px 18px 0 0;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 -12px 48px rgba(15, 94, 110, .25);
}
.lh-vt-head { position: relative; padding: 18px 56px 12px 20px; }
.lh-vt-head h3 { margin: 0; font: 600 21px/1.25 Fraunces, serif; color: #1a2b32; }
.lh-vt-body { overflow-y: auto; padding: 0 20px; }
.lh-vt-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 0; border-top: 1px solid #eef1f2;
}
.lh-vt-row span { font: 500 15px/1.4 Inter, sans-serif; color: #1a2b32; }
.lh-vt-remove {
  border: 1px solid #e3c4c1; background: #fdf4f3; color: #B0524C;
  border-radius: 8px; padding: 7px 16px; font-weight: 600; font-size: 13px; cursor: pointer; flex-shrink: 0;
}
.lh-vt-foot {
  display: flex; gap: 10px; padding: 14px 20px 18px;
  border-top: 1px solid #eef1f2; background: #fff;
}
.lh-vt-addmore {
  flex: 1; border: 0; background: #e4f2f4; color: #0F5E6E;
  border-radius: 10px; padding: 12px; font-weight: 600; cursor: pointer;
}
.lh-vt-search {
  flex: 1; border: 0; background: #0F5E6E; color: #fff;
  border-radius: 10px; padding: 12px; font-weight: 600; cursor: pointer;
}
@media (min-width: 900px) {
  .lh-vt { bottom: auto; top: 50%; transform: translateY(-50%); border-radius: 14px; }
}
@media (max-width: 899px) {
  .lh-sr-chips .lh-sr-chip-extra { display: none; }
  .lh-sr-viewtests { display: inline; }
  .lh-sr-head h1 { font-size: 23px; }
  .lh-sr-band { font-size: 12.5px; padding: 8px 12px; }
  .lh-sr-bundle-grid { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .lh-sr-bundle-left h2 { font-size: 19px; padding-right: 96px; }
  .lh-sr-count { padding: 10px 14px; }
  .lh-sr-count b { font-size: 26px; }
  .lh-sr-specs-2col { grid-template-columns: 1fr; gap: 8px; }
  .lh-sr-bundle-right { padding-top: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 12px; }
  .lh-sr-bundle-right .lh-sr-price { grid-column: 1; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
  .lh-sr-bundle-right .lh-sr-details { grid-column: 2; width: auto; padding: 10px 24px; }
  .lh-sr-bundle-right .lh-sr-book { grid-column: 1 / -1; }
  .lh-sr-detail-group ul { columns: 1; }
  .lh-sr-suggest h2 { font-size: 20px; }
  .lh-sr-pkg-grid { grid-template-columns: 1fr; gap: 16px; }
  .lh-sr-specs-row { flex-direction: column; gap: 6px; }
}

/* ═══════════ lhx — Healthians-clone detail template (tests + packages) ═══════════
   Anatomy mirrors healthians.com/profile/<city>/<test>: white cards on cool-gray
   page, icon meta row in hero, flat included rows, vertical booking steps,
   sticky offer rail with off-ribbon + expert card. BestDOC palette. */
.lhx{background:#F3F6F8; overflow-x:clip}
.lhx main{max-width:1240px; margin:0 auto; padding:0 20px 48px}

/* Breadcrumb — quiet, on page bg */
.lhx-crumbs{display:flex; gap:7px; align-items:center; flex-wrap:wrap; padding:14px 2px 12px; font:400 12.5px/1.5 Inter; color:#8A97A0}
.lhx-crumbs a{color:#8A97A0; text-decoration:none}
.lhx-crumbs a:hover{color:var(--lh-teal); text-decoration:underline}
.lhx-crumbs b{color:#4A5A64; font-weight:500}

/* Two-column shell */
.lhx-grid{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start}
.lhx-main{display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0}

.lhx-card{background:#fff; border:1px solid #E5EAED; border-radius:10px; padding:22px 24px; box-shadow:0 1px 2px rgba(16,42,53,.04)}

/* ── Hero card ── */
.lhx-hero-head{display:flex; align-items:flex-start; justify-content:space-between; gap:18px}
.lhx-hero-tx h1{font:700 23px/1.3 Inter; color:#152A32; margin:0}
.lhx-aka{font:400 12.5px/1.6 Inter; color:#6B7A84; margin:7px 0 0}
.lhx-aka b{font-weight:600; color:#152A32}
.lhx-count{flex:none; display:flex; align-items:center; gap:9px}
.lhx-count .n{display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--lh-teal); color:#fff; font:700 18px/1 Inter}
.lhx-count .t{font:700 12px/1.3 Inter; color:var(--lh-teal)}
.lhx-meta{list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 0; padding:18px 0 0; border-top:1px solid #EDF1F3}
.lhx-meta li{display:flex; align-items:center; gap:10px; min-width:0}
.lhx-meta .ico{flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--lh-teal-soft); color:var(--lh-teal)}
.lhx-meta .tx{display:grid; gap:2px; min-width:0}
.lhx-meta .k{font:400 11.5px/1.2 Inter; color:#7C8A93}
.lhx-meta .v{font:600 13px/1.35 Inter; color:#152A32}
.lhx-about{margin:20px 0 0}
.lhx-about h2{font:700 14.5px/1.3 Inter; color:#152A32; margin:0 0 8px}
.lhx-about p{font:400 13.5px/1.7 Inter; color:#54646E; margin:0}
.lhx-more{background:none; border:0; padding:0; margin-top:6px; color:var(--lh-teal); font:600 13px/1 Inter; cursor:pointer}
.lhx-whatis{margin:12px 0 0 !important}
.lhx-whatis b{color:#152A32}
.lhx-deep-block{margin:0 0 18px}
.lhx-deep-block:last-child{margin-bottom:0}
.lhx-deep-block p{font:400 13.5px/1.7 Inter; color:#54646E; margin:6px 0 0}
.lhx-why{list-style:none; margin:10px 0 0; padding:0}
.lhx-why li{position:relative; padding:0 0 0 20px; margin:0 0 8px; font:400 13.5px/1.6 Inter; color:#54646E}
.lhx-why li:last-child{margin-bottom:0}
.lhx-why li::before{content:""; position:absolute; left:2px; top:8px; width:6px; height:6px; border-radius:50%; background:var(--lh-teal)}
.lhx-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:20px}
.lhx-book{background:var(--lh-teal); color:#fff; border:0; border-radius:7px; padding:12px 30px; font:600 14px/1 Inter; cursor:pointer}
.lhx-book:hover{filter:brightness(1.07)}
.lhx-ghost{display:inline-flex; align-items:center; justify-content:center; background:#fff; color:var(--lh-teal); border:1.5px solid var(--lh-teal); border-radius:7px; padding:11px 24px; font:600 13.5px/1 Inter; cursor:pointer; text-decoration:none}
.lhx-ghost:hover{background:var(--lh-teal-soft)}

/* qty stepper (in-cart state) */
.lhx-qty{display:inline-flex; align-items:center; gap:14px; border:1.5px solid var(--lh-teal); border-radius:7px; padding:9px 14px}
.lhx-qty button{background:none; border:0; font-size:17px; line-height:1; color:var(--lh-teal); cursor:pointer; padding:0 4px}
.lhx-qty button:disabled{opacity:.35; cursor:default}
.lhx-qty b{min-width:1.2em; text-align:center; font:700 14px/1 Inter; color:#152A32}

/* ── Trust strip — Healthians-style benefit rail: 4 fill on desktop, natural-width slide on mobile ── */
.lhx-trust{list-style:none; display:flex; gap:12px; margin:0; padding:0; overflow-x:auto; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none}
.lhx-trust::-webkit-scrollbar{display:none}
.lhx-trust li{flex:1 0 auto; display:flex; align-items:center; gap:9px; height:52px; padding:0 16px 0 12px; border-radius:9px; white-space:nowrap}
.lhx-trust .ico{flex:none; display:grid; place-items:center}
.lhx-trust b{font:italic 500 13px/1.2 Inter; color:#181818}
.lhx-trust li.fill-a{background:#edf8fe} .lhx-trust li.fill-a .ico{color:#1079B4}
.lhx-trust li.fill-b{background:#edf1fe} .lhx-trust li.fill-b .ico{color:#4D61C4}
.lhx-trust li.fill-c{background:#fef5ec} .lhx-trust li.fill-c .ico{color:#C7841F}
.lhx-trust li.fill-d{background:#fdf2f7} .lhx-trust li.fill-d .ico{color:#C2447E}

/* ── Section headings inside cards ── */
.lhx-h2{font:700 17px/1.3 Inter; color:#152A32; margin:0 0 4px}
.lhx-sub{font:400 13px/1.6 Inter; color:#6B7A84; margin:0 0 6px}
.lhx-sub a{color:var(--lh-teal); font-weight:600}

/* ── Test Included rows ── */
.lhx-inc{list-style:none; margin:6px 0 0; padding:0}
.lhx-inc-row{border-bottom:1px solid #EDF1F3}
.lhx-inc-row:last-child{border-bottom:0}
.lhx-inc-head{display:flex; align-items:center; gap:13px; width:100%; padding:13px 2px; background:none; border:0; text-align:left}
button.lhx-inc-head{cursor:pointer}
.lhx-inc-ico{flex:none; width:42px; height:42px; border-radius:9px; display:grid; place-items:center; background:var(--lh-teal-soft)}
.lhx-inc-ico img{display:block}
.lhx-inc-tx{flex:1; min-width:0; display:grid; gap:2px}
.lhx-inc-tx .nm{font:600 13.5px/1.35 Inter; color:#152A32}
.lhx-inc-tx .ct{font:400 12px/1.3 Inter; color:#7C8A93}
.lhx-chev{flex:none; width:26px; height:26px; border-radius:50%; border:1px solid #D8E0E4; display:grid; place-items:center; color:#7C8A93; font-size:12px; transition:transform .15s}
.lhx-inc-row.is-open .lhx-chev{transform:rotate(180deg); color:var(--lh-teal); border-color:var(--lh-teal)}
.lhx-inc-mk{list-style:disc; margin:0 0 14px 57px; padding:0 12px 0 16px; columns:2; column-gap:32px; font:400 13px/2 Inter; color:#3D4E58}
.lhx-inc-mk li{break-inside:avoid}

/* ── Booking steps (vertical, dashed connector) ── */
.lhx-steps{list-style:none; margin:12px 0 0; padding:0}
.lhx-step{position:relative; display:flex; gap:14px; padding:0 0 22px}
.lhx-step:last-child{padding-bottom:0}
.lhx-step .n{flex:none; width:34px; height:34px; border-radius:50%; background:var(--lh-teal-soft); color:var(--lh-teal); display:grid; place-items:center; font:700 13px/1 Inter; position:relative; z-index:1}
.lhx-step::before{content:''; position:absolute; left:16px; top:34px; bottom:0; border-left:1.5px dashed #CFDBE0}
.lhx-step:last-child::before{display:none}
.lhx-step .tx b{display:block; font:700 13.5px/1.4 Inter; color:#152A32; margin-bottom:3px}
.lhx-step .tx p{margin:0; font:400 13px/1.6 Inter; color:#54646E; max-width:60ch}

/* ── Related package cards ── */
.lhx-rel{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px}
.lhx-rel-card{display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid #E5EAED; border-radius:10px; padding:16px; text-decoration:none; transition:border-color .15s, box-shadow .15s}
.lhx-rel-card:hover{border-color:var(--lh-teal); box-shadow:0 4px 14px rgba(15,94,110,.10)}
.lhx-rel-card .nm{font:700 14.5px/1.35 Inter; color:#152A32}
.lhx-rel-card .inc{font:600 12px/1.55 Inter; color:var(--lh-teal)}
.lhx-rel-card .mt{font:400 12px/1.5 Inter; color:#7C8A93}
.lhx-rel-card .pr{display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:8px}
.lhx-rel-card .pr b{font:700 16px/1 Inter; color:#152A32}
.lhx-rel-card .pr s{font:400 12px/1 Inter; color:var(--lh-strike)}
.lhx-rel-card .pr em{font-style:normal; background:var(--lh-orange-soft); color:var(--lh-orange); font:700 10.5px/1 Inter; padding:3px 8px; border-radius:999px}

/* ── FAQ ── */
.lhx-faq-list{list-style:none; margin:4px 0 0; padding:0}
.lhx-faq-list li{border-bottom:1px solid #EDF1F3}
.lhx-faq-list li:last-child{border-bottom:0}
.lhx-faq-list button{width:100%; display:flex; justify-content:space-between; align-items:center; gap:14px; background:none; border:0; padding:14px 2px; cursor:pointer; text-align:left; font:600 13.5px/1.45 Inter; color:#152A32}
.lhx-faq-list button em{font-style:normal; flex:none; font:400 18px/1 Inter; color:var(--lh-teal)}
.lhx-faq-list p{margin:0; padding:0 26px 14px 2px; font:400 13px/1.7 Inter; color:#54646E; max-width:72ch}

/* ── Offer rail ── */
.lhx-side{position:sticky; top:84px; display:grid; gap:14px}
.lhx-offer{position:relative; padding:18px 18px 16px}
.lhx-ribbon{position:absolute; top:16px; right:0; background:var(--lh-orange); color:#fff; font:700 11px/1 Inter; padding:5px 10px 5px 12px; border-radius:4px 0 0 4px}
.lhx-offer-eyebrow{margin:0 0 8px; font:600 11.5px/1 Inter; color:#7C8A93; text-transform:uppercase; letter-spacing:.05em}
.lhx-offer-price{display:flex; align-items:baseline; gap:9px; margin:0; flex-wrap:wrap}
.lhx-offer-price b{font:800 26px/1 Inter; color:#152A32}
.lhx-offer-price s{font:400 14px/1 Inter; color:var(--lh-strike)}
.lhx-offer-price .per{font:400 12px/1 Inter; color:#7C8A93}
.lhx-members{display:grid; gap:5px; margin-top:12px; font:600 11px/1 Inter; color:#7C8A93; text-transform:uppercase; letter-spacing:.04em}
.lhx-members select{width:100%; padding:10px 12px; border:1px solid #D8E0E4; border-radius:7px; background:#fff; font:500 13.5px/1 Inter; color:#152A32}
.lhx-members-note{margin:8px 0 0; font:400 12px/1.5 Inter; color:#7C8A93}
/* ── Group pricing (packages) — Healthians-parity offer card ── */
.lhx-offer--grp{background:#FFF7E6; border:1px solid #EAEAEA; border-radius:12px; padding:14px 22px 18px}
.lhx-offer--grp .lhx-offer-eyebrow{font:400 15px/1.3 Inter; color:#181818; text-transform:none; letter-spacing:0; margin:0 0 3px}
.lhx-offer-pp{margin:0 0 2px; font:600 13px/1.4 Inter; color:#2297BE}
.lhx-offer--grp .lhx-offer-price{gap:8px}
.lhx-offer--grp .lhx-offer-price b{font:700 22px/1.3 Inter; color:#252525}
.lhx-offer--grp .lhx-offer-price s{font:400 16px/1.2 Inter; color:#6D787D}
.lhx-mdd{position:relative; margin-top:12px}
.lhx-mdd-btn{display:flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:12px 18px; background:#fff; border:1px solid #8E8E8E; border-radius:12px; font:500 14px/1.4 Inter; color:#181818; cursor:pointer}
.lhx-mdd-btn em{width:8px; height:8px; margin-top:-4px; border-right:1.8px solid #181818; border-bottom:1.8px solid #181818; transform:rotate(45deg)}
.lhx-mdd-btn[aria-expanded="true"] em{transform:rotate(225deg); margin-top:4px}
.lhx-mdd-overlay{position:fixed; inset:0; z-index:59; background:transparent}
.lhx-mdd-list{box-shadow:0 10px 30px rgba(21,42,50,.18)}
.lhx-mdd-list{position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%); min-width:100%; width:max-content; z-index:60; margin:0; padding:10px; list-style:none; background:rgba(0,0,0,.32); border-radius:12px; display:grid; gap:8px}
.lhx-mdd-list li button{display:flex; align-items:center; gap:10px; width:100%; background:#fff; border:1.5px solid #fff; border-radius:8px; padding:13px 16px; font:400 15.5px/1.3 Inter; color:#333; cursor:pointer}
.lhx-mdd-list li.sel button{border-color:var(--lh-teal); background:#EFFBFB}
.lhx-mdd-list .rad{flex:none; width:16px; height:16px; border:2px solid #9AA6AC; border-radius:50%; background:#fff}
.lhx-mdd-list li.sel .rad{border-color:var(--lh-teal); box-shadow:inset 0 0 0 3px #fff; background:var(--lh-teal)}
.lhx-mdd-list .lab{flex:1; text-align:left; white-space:nowrap}
.lhx-mdd-list .pr{display:flex; align-items:baseline; gap:7px; font:700 15px/1 Inter; color:#252525; white-space:nowrap}
.lhx-mdd-list .pr s{font:400 12.5px/1 Inter; color:#E03E3E}
.lhx-nudge{margin:10px 0 0; padding:0 0 4px; text-align:center; font:500 13px/1.55 Inter; color:#000}
.lhx-nudge b{font-weight:600}
.lhx-nudge span{color:#2297BE; font-weight:600}
.lhx-offer--grp .lhx-book{border-radius:10px; font:600 17px/1.2 Inter; padding:12px 16px}
.lhx-offer .lhx-book{width:100%; margin-top:14px; padding:13px 16px; font-size:14.5px}
.lhx-offer-pill{display:flex; align-items:center; gap:8px; margin-top:12px; background:var(--lh-teal-soft); color:var(--lh-teal); border-radius:999px; padding:8px 13px; font:600 11.5px/1.35 Inter}
.lhx-offer-pill svg{flex:none}
.lhx-offer-row{display:flex; align-items:center; gap:9px; margin-top:14px; padding-top:13px; border-top:1px solid #EDF1F3; font:600 12.5px/1.4 Inter; color:#152A32}
.lhx-offer-row a{color:var(--lh-teal)}
.lhx-incart{display:grid; gap:9px; margin-top:14px}
.lhx-incart .ok{font:600 13px/1.2 Inter; color:var(--lh-teal)}
.lhx-viewcart{width:100%; padding:11px 16px; background:#fff; border:1.5px solid var(--lh-teal); color:var(--lh-teal); border-radius:7px; font:600 13.5px/1 Inter; cursor:pointer}
.lhx-expert{padding:18px}
.lhx-expert b{display:block; font:700 14.5px/1.35 Inter; color:#152A32; margin-bottom:5px}
.lhx-expert p{margin:0 0 12px; font:400 12.5px/1.6 Inter; color:#6B7A84}
.lhx-chat{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; border:1.5px solid #22B15E; color:#1B9950; background:#fff; border-radius:7px; padding:11px 14px; font:600 13.5px/1 Inter; text-decoration:none}
.lhx-chat:hover{background:#F0FBF4}

/* ── Mobile sticky bar / notfound ── */
.lhx-sticky{position:fixed; left:0; right:0; bottom:0; z-index:40; display:none; align-items:center; gap:12px; background:#fff; border-top:1px solid #E5EAED; padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.lhx-sticky .tx{flex:1; display:grid; gap:3px}
.lhx-sticky .pr{display:flex; align-items:baseline; gap:8px; white-space:nowrap}
.lhx-sticky .pr b{font:700 18px/1 Inter; color:#152A32}
.lhx-sticky .pr s{font:400 12.5px/1 Inter; color:var(--lh-strike)}
.lhx-sticky .sub{font:400 11.5px/1 Inter; color:#7C8A93}
.lhx-sticky button{background:var(--lh-teal); color:#fff; border:0; border-radius:999px; padding:13px 24px; font:600 14px/1 Inter; white-space:nowrap; cursor:pointer}
.lhx-notfound{max-width:640px; margin:0 auto; padding:80px 16px; text-align:center}
.lhx-notfound a{color:var(--lh-teal)}

@media (max-width:980px){
  .lhx-grid{grid-template-columns:1fr}
  .lhx-side{display:none}
  .lhx-sticky{display:flex}
  .lhx main{padding:0 12px 84px}
  .lhx-card{padding:18px 16px}
  .lhx-hero-tx h1{font-size:19px}
  .lhx-count .n{width:36px; height:36px; font-size:15px}
  .lhx-meta{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px}
  .lhx-trust{gap:10px}
  .lhx-trust li{height:48px; padding:0 14px 0 11px}
  .lhx-rel{grid-template-columns:1fr}
  .lhx-inc-mk{columns:1; margin-left:22px}
}

/* ── lhb: bundle detail page (/lab-at-home/bundle/?t=…) ──────────────── */
.lhb-overlap {
  margin: 12px 0 0; padding: 10px 14px; border-radius: 10px;
  background: #f2f8f4; border: 1px solid #d7e8dc; color: #3c5a46; font-size: 14px;
}
.lhb-overlap b { color: #2c4a36; }
.lhb-acc { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.lhb-acc-item { border: 1px solid #e3e8e9; border-radius: 12px; overflow: hidden; }
.lhb-acc-item.is-open { border-color: #bfdce2; }
.lhb-acc-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; border: 0; background: #fff; cursor: pointer; text-align: left;
  padding: 14px 16px; font: 600 15px/1.4 Inter, sans-serif; color: #1a2b32;
}
.lhb-acc-item.is-open .lhb-acc-head { background: #edf7f9; }
.lhb-acc-head em { font-style: normal; color: #0F5E6E; font-size: 18px; line-height: 1; }
.lhb-acc-body { padding: 4px 16px 16px; }
.lhb-acc-body > p { color: #33415c; font-size: 14.5px; line-height: 1.7; margin: 10px 0 0; }
.lhb-acc-body h3 { font: 600 14px/1.4 Inter, sans-serif; color: #1a2b32; margin: 16px 0 6px; }
.lhb-acc-body .lhx-deep-block { margin-top: 4px; }
.lhb-mini-faq { margin: 6px 0; }
.lhb-mini-faq summary { cursor: pointer; font-weight: 500; color: #33415c; font-size: 14px; }
.lhb-mini-faq p { color: #475569; font-size: 13.5px; line-height: 1.65; margin: 6px 0 0 16px; }
@media (max-width: 720px) {
    }

/* Hero search + chips (Task 1) */
.lh-stickyhead--hidden{display:none}
.lh-hero-search{margin:16px 0 10px}
.lh-hero-search .lh-search{max-width:560px;margin:0;background:var(--lh-white);
  border:1.5px solid var(--lh-teal);box-shadow:0 8px 24px rgba(15,94,110,.10);padding:13px 14px}
.lh-hero-search .lh-searchwrap{position:relative}
.lh-hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0}
.lh-hero-chips li{font-size:12px;color:var(--lh-teal);background:var(--lh-teal-soft);
  border:1px solid rgba(15,94,110,.18);border-radius:var(--lh-r-pill);padding:5px 11px;font-weight:600}
@media (max-width:900px){
  .lh-hero-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .lh-hero-chips li{white-space:nowrap}
}

/* Hero deals showcase (Task 1, owner revision) — replaces hero figure */
.lh-deals{background:var(--lh-teal) center right / cover no-repeat;border-radius:var(--lh-r-lg);padding:26px 24px 20px;color:#fff;
  display:flex;flex-direction:column;gap:8px;min-height:260px;justify-content:center;position:relative;overflow:hidden}
.lh-deals::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(15,94,110,.94) 0%,rgba(15,94,110,.82) 38%,rgba(15,94,110,.35) 58%,rgba(15,94,110,0) 75%)}
.lh-deals > *{position:relative;z-index:1}
.lh-deals-kicker{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--lh-paper);opacity:.9}
.lh-deals-name{margin:0;font-family:Fraunces,Georgia,serif;font-size:26px;line-height:1.15;color:#fff}
.lh-deals-meta{margin:0;font-size:13px;color:var(--lh-teal-soft)}
.lh-deals-price{margin:2px 0 6px;font-size:20px}
.lh-deals-price b{font-weight:800}
.lh-deals-price s{color:var(--lh-teal-soft);font-size:14px;margin-left:8px}
.lh-deals-cta{align-self:flex-start;background:var(--lh-orange);color:#fff;text-decoration:none;
  font-weight:700;font-size:13px;border-radius:var(--lh-r-md);padding:10px 16px}
.lh-deals-dots{display:flex;gap:6px;margin-top:10px}
.lh-deals-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.lh-deals-dots button.on{background:#fff}

/* Category tiles (Task 2) */
.lh-cattiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1100px;margin:18px auto 0;padding:0 14px}
.lh-cattile{position:relative;background:var(--lh-white);border:1px solid var(--lh-line);border-radius:var(--lh-r-lg);
  padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font:inherit;color:var(--lh-ink)}
.lh-cattile:hover{border-color:var(--lh-teal)}
.lh-cattile img{width:44px;height:44px;object-fit:contain}
.lh-cattile .nm{font-size:13px;font-weight:600}
.lh-cattile.is-soon{cursor:default;opacity:.55}
.lh-cattile.is-soon:hover{border-color:var(--lh-line)}
.lh-cattile .ribbon{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;letter-spacing:.02em;
  color:var(--lh-orange);background:var(--lh-orange-soft);border-radius:var(--lh-r-pill);padding:2px 8px}
@media (max-width:900px){.lh-cattiles{grid-template-columns:1fr 1fr}}

/* Dense cards (Task 3; rail tab strip removed by owner 2026-07-25) */
.lh-card--dense{position:relative;padding:14px 14px 12px;overflow:visible}
.lh-card--dense .lh-card-count{position:absolute;top:0;right:14px;background:var(--lh-teal-soft);
  color:var(--lh-teal);border-radius:0 0 var(--lh-r-md) var(--lh-r-md);padding:6px 10px;text-align:center;line-height:1.05}
.lh-card--dense .lh-card-count b{display:block;font-size:18px}
.lh-card--dense .lh-card-count i{font-style:normal;font-size:10px;font-weight:600}
.lh-card--dense .nm{padding:0 56px 0 0;min-height:2.6em}
.lh-card--dense .nm a{color:inherit;text-decoration:none}
.lh-card-inc{font-size:12px;color:var(--lh-sand);margin:8px 0;line-height:1.45}
.lh-card-inc b{color:var(--lh-ink)}
.lh-card-inc .more{color:var(--lh-teal);font-weight:600;text-decoration:none;
  background:none;border:0;padding:0;font-size:inherit;font-family:inherit;cursor:pointer}
.lh-card-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0}
.lh-card-chips li{font-size:11px;color:var(--lh-ink);background:var(--lh-bg);border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);padding:3px 9px}
.lh-card--dense .pr{padding:0 0 10px}
.lh-card--dense .lh-card-cta{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lh-card--dense .lh-card-cta .book{display:block;text-align:center;background:var(--lh-teal);color:#fff;
  border-radius:var(--lh-r-sm);padding:10px 12px;font:700 12px Inter;text-decoration:none}
.lh-card--dense .lh-card-cta .book:hover{background:var(--lh-ink)}
.lh-card--dense .lh-card-compare{width:100%;margin:10px 0 0;padding:10px 0 0}

/* Why-choose numerals + callback band (Task 5) */
.lh-why-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px auto 0;padding:0 14px;max-width:1180px}
.lh-why-grid li{background:var(--lh-white);border:1px solid var(--lh-line);border-radius:var(--lh-r-lg);padding:18px 16px 16px;position:relative}
.lh-why-grid .n{font-family:Fraunces,Georgia,serif;font-size:44px;line-height:1;color:var(--lh-teal);opacity:.16;
  position:absolute;top:10px;right:14px;font-weight:600}
.lh-why-grid h3{margin:0 0 4px;font:600 14px Inter;color:var(--lh-ink)}
.lh-why-grid p{margin:0;font:400 12.5px/1.5 Inter;color:var(--lh-sand)}
.lh-callback{background:var(--lh-teal);margin:26px 0 0;padding:22px 14px}
.lh-callback form{max-width:720px;margin:0 auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lh-callback b{color:#fff;font:700 15px Inter}
.lh-callback input{flex:1;min-width:180px;border:0;border-radius:var(--lh-r-md);padding:11px 13px;font:14px Inter;color:var(--lh-ink)}
.lh-callback button{background:var(--lh-orange);color:#fff;border:0;border-radius:var(--lh-r-md);padding:11px 16px;font:700 13px Inter;cursor:pointer}
.lh-callback .err{max-width:720px;margin:6px auto 0;color:var(--lh-orange-soft);font:400 12px Inter}
@media (max-width:900px){.lh-why-grid{grid-template-columns:1fr 1fr}.lh-callback form{flex-direction:column;align-items:stretch}}
