/* 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,
.lh-search-modal-field input[type="search"]::-webkit-search-decoration,
.lh-search-modal-field 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 / trust strip — desktop-only; mobile hides */
.lh-hero-eyebrow{display:none}
.lh-hero-trust{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 new card bits (desktop overrides below) */
.lh-card .badge-top,
.lh-card .badge-off,
.lh-card-compare{display:none}
.lh-card-meta{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:4px 8px;
  font-size:11px; color:var(--lh-sand); line-height:1.4; min-height:30px;
}
.lh-card-meta li{display:flex; align-items:center; gap:4px}
.lh-card-meta li img{width:14px; height:14px; object-fit:contain; opacity:.7}
.lh-card-meta li b{color:var(--lh-ink); font-weight:600}
.lh-card-cta{display:block}
.lh-card-cta .view{display:none}
.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 .img{
  aspect-ratio:1.38;
  background:var(--lh-teal-soft);
  border-radius:var(--lh-r-md);
  display:grid; place-items:center;
  font-size:36px; line-height:1;
  color:var(--lh-teal);
  overflow:hidden;
  padding:0;
}
.lh-card .img img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.07);
  transform-origin:center;
}
.lh-card.is-test .img{background:var(--lh-orange-soft); color:var(--lh-orange); font-size:30px}
.lh-card .badge{
  font:600 10px/1 Inter;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--lh-teal);
  margin-top:2px;
}
.lh-card.is-test .badge{color:var(--lh-orange)}
.lh-card .nm{font:600 14px/1.25 Inter; color:var(--lh-ink)}
.lh-card .meta{font-size:11px; color:var(--lh-sand); line-height:1.4; min-height:30px}
.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-actions{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:8px;
  margin-top:auto;
}
.lh-card .compare,
.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 .compare{
  border-color:var(--lh-line);
  color:var(--lh-teal);
}
.lh-card .compare:hover{border-color:var(--lh-teal); background:var(--lh-teal-soft)}
.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 .img{
  width:44px; height:44px;
  border-radius:var(--lh-r-md);
  background:var(--lh-orange-soft);
  display:grid; place-items:center;
  color:var(--lh-orange); font-size:20px;
  flex:none; overflow:hidden;
}
.lh-strow .img img{width:100%; height:100%; object-fit:cover}
.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}
.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:inline-block;
  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);
}

.lh-browse-empty{
  text-align:center;
  padding:32px 14px;
  font:400 14px Inter; color:var(--lh-sand);
}

.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-img{
  width:44px; height:44px;
  border-radius:var(--lh-r-md);
  background:var(--lh-orange-soft);
  display:grid; place-items:center;
  overflow:hidden;
  flex:none;
}
.lh-test-card-img img{width:100%; height:100%; object-fit:cover}
.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-meta{font:400 11px Inter; color:var(--lh-sand); margin:0}
.lh-test-card-cov{font:400 11px Inter; color:var(--lh-teal); margin:2px 0 0}
.lh-test-card-foot{
  display:flex; flex-direction:column; align-items:flex-end; gap:6px;
  flex:none;
}
.lh-test-card-price{font:700 14px Inter; color:var(--lh-ink); white-space:nowrap}
.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 grid ===== */
.lh-bpgrid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:0 14px}
.lh-bp{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:14px 6px;
  text-align:center;
  aspect-ratio:1;
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px;
  cursor:pointer;
  font-family:inherit;
}
.lh-bp .em{font-size:28px; line-height:1}
.lh-bp .img-w{width:72px; height:72px; display:grid; place-items:center}
.lh-bp .img-w img{width:72px; height:72px; object-fit:contain}
.lh-bp .nm{font:500 11px/1.15 Inter; color:var(--lh-ink)}

/* ===== Persona row ===== */
.lh-persona{display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:6px; padding:0 14px}
.lh-persona button{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-md);
  padding:10px 6px 12px;
  text-align:center;
  font:500 11px/1.2 Inter; color:var(--lh-ink);
  cursor:pointer;
  font-family:inherit;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
}
.lh-persona button .em{display:block; font-size:22px; margin-bottom:4px}
.lh-persona-img{
  width:76px;
  height:76px;
  border-radius:var(--lh-r-md);
  object-fit:cover;
  display:block;
}

/* ===== Concern chips ===== */
.lh-chips{display:flex; flex-wrap:wrap; gap:6px; padding:0 14px}
.lh-chips button{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-pill);
  padding:8px 14px;
  font:500 12px Inter; color:var(--lh-ink);
  cursor:pointer;
  font-family:inherit;
}

/* ===== 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;
}
.lh-assurance-grid{
  margin:0 14px;
  padding:0 16px;
  background:var(--lh-paper);
  border:1px solid var(--lh-hairline);
  border-radius:var(--lh-r-sm);
}
.lh-assurance-lead,
.lh-assurance-list article{
  display:flex;
  gap:13px;
  align-items:flex-start;
}
.lh-assurance-lead{
  padding:18px 0;
  border-bottom:1px solid var(--lh-hairline);
}
.lh-assurance-lead img,
.lh-assurance-list img{
  width:34px;
  height:34px;
  object-fit:contain;
  flex:none;
}
.lh-assurance-lead h3,
.lh-assurance-list h3{
  margin:0 0 4px;
  color:var(--lh-ink);
  font:600 14px/1.25 Inter, system-ui, sans-serif;
}
.lh-assurance-lead p,
.lh-assurance-list p{
  margin:0;
  color:var(--lh-sand);
  font:400 12px/1.55 Inter, system-ui, sans-serif;
}
.lh-assurance-list article{
  padding:15px 0;
  border-bottom:1px solid rgba(214,203,182,.75);
}
.lh-assurance-list article:last-child{border-bottom:0}

/* ===== 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;
}
.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;
}

.lh-search-overlay.has-detail{
  padding:0;
  background:var(--lh-white);
}
.lh-search-detail{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  outline:0;
}
.lh-search-detail .modhead{
  background:var(--lh-white);
  padding:14px;
  border-bottom:1px solid var(--lh-line);
  display:flex; align-items:center; gap:10px;
  flex:none;
}
.lh-search-detail .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-search-detail .modhead .ttl{
  flex:1;
  font:600 15px Inter; color:var(--lh-ink);
}
.lh-search-detail .modbody{padding:0 14px 14px; overflow-y:auto; flex:1; min-height:0}
.lh-search-detail .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-search-detail .hero-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.lh-search-detail h3{font:600 20px/1.2 Inter; margin:0 0 4px; color:var(--lh-ink)}
.lh-search-detail .modmeta{display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--lh-sand); margin-bottom:14px}
.lh-search-detail .modmeta span b{color:var(--lh-ink); font-weight:600; margin-right:3px}
.lh-search-detail .modsum{font-size:13px; color:var(--lh-sand); line-height:1.5; margin-bottom:18px}
.lh-search-detail .modpr{display:flex; align-items:baseline; gap:8px; margin-bottom:14px}
.lh-search-detail .modpr b{font:700 28px/1 Inter; color:var(--lh-ink)}
.lh-search-detail .modpr s{font-size:15px; color:var(--lh-strike); text-decoration:line-through}
.lh-search-detail .modpr .off{
  background:var(--lh-teal); color:#fff;
  padding:3px 8px; border-radius:var(--lh-r-sm);
  font:600 11px Inter;
}
.lh-search-detail .modcta{
  background:var(--lh-white);
  padding:12px 14px;
  border-top:1px solid var(--lh-line);
  display:flex; gap:8px;
  flex:none;
}
.lh-search-detail .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-search-detail .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}

/* ===== Search overlay ===== */
.lh-search-scrim{
  position:fixed;
  inset:0;
  background:rgba(26,42,47,.46);
  z-index:118;
}
.lh-search-overlay{
  position:fixed;
  inset:0;
  z-index:119;
  background:#F7F7F5;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:16px;
}
.lh-search-modal-head{
  flex:none;
  padding:8px 0 12px;
}
.lh-search-modal-field{
  height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--lh-white);
  border:1.5px solid #FFB347;
  border-radius:var(--lh-r-lg);
  padding:0 10px;
  box-shadow:0 8px 22px rgba(26,42,47,.06);
}
.lh-search-modal-field input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--lh-ink);
  font:500 15px/1 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-modal-field input::placeholder{color:#6F777A}
.lh-search-back,
.lh-search-clear{
  width:30px;
  height:30px;
  flex:none;
  border:0;
  background:transparent;
  color:#5F6668;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-family:inherit;
  line-height:1;
}
.lh-search-back{font-size:24px}
.lh-search-clear{font-size:26px; font-weight:600}
.lh-search-tabs{
  flex:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:#ECECEC;
  border-radius:var(--lh-r-md);
  padding:2px;
  margin:6px 0 14px;
}
.lh-search-tabs.is-opening{pointer-events:none}
.lh-search-tabs button{
  border:0;
  border-radius:8px;
  background:transparent;
  color:#565C5E;
  min-height:38px;
  font:500 14px/1 Inter,system-ui,-apple-system,sans-serif;
  cursor:pointer;
  font-family:inherit;
}
.lh-search-tabs button.on{
  background:linear-gradient(135deg, #1E6F63 0%, #438E7F 100%);
  color:#fff;
  box-shadow:0 8px 18px rgba(15,94,110,.22);
  font-weight:700;
}
.lh-search-tabs button span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  margin-left:6px;
  padding:0 6px;
  border-radius:var(--lh-r-pill);
  background:rgba(255,255,255,.24);
  font-size:11px;
}
.lh-search-tabs button:not(.on) span{background:#fff; color:var(--lh-sand)}
.lh-search-results{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:18px;
}
.lh-search-section-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
.lh-search-section-title.compact{margin-top:18px}
.lh-search-section-title h2{
  margin:0;
  color:var(--lh-ink);
  font:700 16px/1.2 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-section-title small{
  color:var(--lh-sand);
  font:500 12px/1 Inter,system-ui,-apple-system,sans-serif;
  white-space:nowrap;
}
.lh-search-card-list{
  display:grid;
  gap:12px;
}
.lh-search-card{
  background:var(--lh-white);
  border:1px solid var(--lh-line);
  border-radius:var(--lh-r-lg);
  box-shadow:0 5px 18px rgba(26,42,47,.07);
  overflow:hidden;
}
.lh-search-card-top{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:14px 14px 10px;
}
.lh-search-icon{
  width:42px;
  height:42px;
  border-radius:var(--lh-r-md);
  background:var(--lh-orange-soft);
  display:grid;
  place-items:center;
}
.lh-search-card.is-pkg .lh-search-icon{
  width:42px;
  height:28px;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:transparent;
  place-items:stretch;
}
.lh-search-icon img{
  width:30px;
  height:30px;
  object-fit:contain;
  display:block;
}
.lh-search-card.is-pkg .lh-search-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.lh-search-card.is-test .lh-search-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.lh-search-title{min-width:0}
.lh-search-title span{
  display:block;
  color:var(--lh-teal);
  font:800 10px/1 Inter,system-ui,-apple-system,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:1px 0 5px;
}
.lh-search-card.is-test .lh-search-title span{color:var(--lh-orange)}
.lh-search-title h3{
  margin:0;
  color:var(--lh-ink);
  font:700 15px/1.25 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-title mark{
  background:rgba(255,179,71,.28);
  color:inherit;
  border-radius:3px;
  padding:0 2px;
}
.lh-search-add{
  border:1.5px solid var(--lh-teal);
  background:var(--lh-white);
  color:var(--lh-teal);
  border-radius:var(--lh-r-md);
  padding:8px 12px;
  min-width:64px;
  font:800 12px/1 Inter,system-ui,-apple-system,sans-serif;
  cursor:pointer;
  font-family:inherit;
}
.lh-search-add:hover{background:var(--lh-teal-soft)}
.lh-search-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:0 14px 10px 66px;
  color:var(--lh-sand);
  font:600 12px/1.35 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-meta b{color:var(--lh-ink)}
.lh-search-price{
  margin-left:auto;
  display:flex;
  align-items:baseline;
  gap:6px;
}
.lh-search-price s{
  color:var(--lh-strike);
  font-size:11px;
  text-decoration:line-through;
}
.lh-search-price b{
  color:var(--lh-ink);
  font-size:16px;
}
.lh-search-meta em{
  background:var(--lh-orange-soft);
  color:var(--lh-orange);
  border-radius:var(--lh-r-pill);
  padding:3px 8px;
  font:800 10px/1 Inter,system-ui,-apple-system,sans-serif;
  font-style:normal;
}
.lh-search-summary-copy{
  margin:0 14px 10px 66px;
  color:var(--lh-sand);
  font:500 12px/1.45 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-markers{
  border-top:1px dashed var(--lh-line);
  padding:10px 14px 12px 66px;
  color:var(--lh-sand);
}
.lh-search-markers span{
  display:block;
  color:var(--lh-ink);
  font:800 11px/1.2 Inter,system-ui,-apple-system,sans-serif;
  margin-bottom:4px;
}
.lh-search-markers p{
  margin:0;
  font:500 12px/1.4 Inter,system-ui,-apple-system,sans-serif;
}
.lh-search-details{
  width:100%;
  border:0;
  border-top:1px solid var(--lh-line);
  background:var(--lh-white);
  color:#5E6365;
  padding:12px 14px;
  text-align:left;
  font:800 13px/1 Inter,system-ui,-apple-system,sans-serif;
  cursor:pointer;
  font-family:inherit;
}
.lh-search-details::after{
  content:'›';
  margin-left:8px;
  font-size:17px;
  vertical-align:-1px;
}
.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}

  .lh-hero-trust{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    list-style:none; margin:0; padding:0;
  }
  .lh-hero-trust li{
    display:flex; align-items:center; gap:10px;
    background:var(--lh-white);
    border:1px solid var(--lh-line);
    border-radius:var(--lh-r-md);
    padding:10px 12px;
  }
  .lh-hero-trust li img{width:22px; height:22px; object-fit:contain; flex:none}
  .lh-hero-trust li span{font:500 11px/1.3 Inter; color:var(--lh-sand); display:flex; flex-direction:column}
  .lh-hero-trust li b{font:600 12.5px Inter; color:var(--lh-ink); margin-bottom:1px}

  /* Hero photo — editorial Dubai-table still life */
  .lh-hero-r{
    display:block;
    align-self:stretch;
    position:relative;
  }
  .lh-hero-fig{
    position:relative;
    margin:0;
    border-radius:18px;
    overflow:hidden;
    aspect-ratio:5/4;
    background:var(--lh-teal-soft);
    box-shadow:0 16px 40px -20px rgba(15,94,110,.35), 0 2px 6px rgba(0,0,0,.04);
  }
  .lh-hero-fig img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
  }
  .lh-hero-badge{
    position:absolute;
    left:16px; bottom:16px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(4px);
    border:1px solid var(--lh-line);
    border-radius:var(--lh-r-pill);
    padding:8px 14px;
    font:600 12px Inter;
    color:var(--lh-ink);
    display:flex; align-items:center; gap:8px;
    box-shadow:0 4px 12px rgba(0,0,0,.06);
  }
  .lh-hero-badge .dot{
    width:8px; height:8px; border-radius:50%;
    background:#10B981;
    box-shadow:0 0 0 4px rgba(16,185,129,.18);
  }

  .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;
  }
  .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:0}
  .lh-rail-btn.next{right:0}
  .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 .img{
    position:relative;
    aspect-ratio:1.38;
    background:var(--lh-teal-soft);
    border-radius:0;
    border-bottom:1px solid var(--lh-line);
    font-size:42px;
    color:#fff;
    padding:0;
  }
  .lh-card .img img{
    width:100%; height:100%;
    max-width:none;
    min-width:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center;
    filter:none;
    transform:scale(1.07);
    transform-origin:center;
  }
  .lh-card .img .badge-top{
    display:inline-flex; align-items:center;
    position:absolute; top:12px; left:12px;
    background:rgba(255,255,255,.92);
    color:var(--lh-ink);
    font:600 10px Inter;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:5px 9px;
    border-radius:var(--lh-r-pill);
  }
  .lh-card .img .badge-off{
    display:inline-flex; align-items:center;
    position:absolute; top:12px; right:12px;
    background:#FFB347;
    color:#1A2A2F;
    font:700 11px Inter;
    padding:5px 10px;
    border-radius:var(--lh-r-pill);
    box-shadow:0 2px 6px rgba(0,0,0,.15);
  }
  .lh-card .nm{
    display:block;
    font:600 16px/1.25 Inter;
    color:var(--lh-ink);
    padding:14px 16px 8px;
  }
  .lh-card-meta{
    display:flex; gap:8px;
    list-style:none; margin:0;
    padding:0 16px 12px;
    border-bottom:1px solid var(--lh-line);
  }
  .lh-card-meta li{
    display:flex; align-items:center; gap:6px;
    flex:1; min-width:0;
    font:500 11px/1.25 Inter;
    color:var(--lh-sand);
  }
  .lh-card-meta li img{width:18px; height:18px; object-fit:contain; flex:none; opacity:.85}
  .lh-card-meta li b{font-weight:600; color:var(--lh-ink); margin-right:2px}
  .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 .view{
    display:block;
    background:var(--lh-white);
    color:var(--lh-teal);
    border:1.5px solid var(--lh-teal);
    border-radius:var(--lh-r-sm);
    padding:10px;
    font:600 12px Inter;
    cursor:pointer;
    width:auto;
  }
  .lh-card-cta .view:hover{background:var(--lh-teal-soft)}
  .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-bpgrid{
    grid-template-columns:repeat(6, 1fr);
    gap:12px; padding:0 24px;
    max-width:1180px; margin:0 auto;
  }

  .lh-persona{
    grid-template-columns:repeat(4, 1fr);
    gap:12px; padding:0 24px;
    max-width:960px; margin:0 auto;
  }
  .lh-persona button{padding:14px 8px 12px}
  .lh-persona button .em{font-size:26px}
  .lh-persona-img{
    width:112px;
    height:112px;
  }

  .lh-chips{padding:0 24px; max-width:1180px; margin:0 auto}

  .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-assurance-grid{
    max-width:1180px;
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(300px, .92fr) minmax(0, 1.55fr);
  }
  .lh-assurance-lead{
    padding:28px;
    border-bottom:0;
    border-right:1px solid var(--lh-hairline);
  }
  .lh-assurance-lead img,
  .lh-assurance-list img{
    width:40px;
    height:40px;
  }
  .lh-assurance-lead h3{
    font:400 24px/1.15 Fraunces, Iowan Old Style, Garamond, serif;
    letter-spacing:-.01em;
  }
  .lh-assurance-lead p{font-size:14px}
  .lh-assurance-list{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .lh-assurance-list article{
    display:block;
    padding:28px 24px;
    border-bottom:0;
    border-right:1px solid rgba(214,203,182,.75);
  }
  .lh-assurance-list article:last-child{border-right:0}
  .lh-assurance-list img{margin-bottom:18px}
  .lh-assurance-list h3{font-size:15px}
  .lh-assurance-list p{font-size:13px}

  .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-search-overlay{
    inset:84px auto auto 50%;
    transform:translateX(-50%);
    width:min(760px, calc(100vw - 48px));
    max-height:calc(100vh - 112px);
    border-radius:18px;
    padding:18px;
    box-shadow:0 24px 80px rgba(26,42,47,.24);
  }
  .lh-search-modal-head{padding-top:0}
  .lh-search-card-top{grid-template-columns:48px minmax(0,1fr) auto}
  .lh-search-icon{width:48px; height:48px}
  .lh-search-icon img{width:34px; height:34px}
  .lh-search-card.is-pkg .lh-search-icon{width:48px; height:32px}
  .lh-search-card.is-pkg .lh-search-icon img{width:100%; height:100%}
  .lh-search-title h3{font-size:16px}
  .lh-search-meta,
  .lh-search-summary-copy,
  .lh-search-markers{padding-left:72px}

  .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}
}
