/* ═══════════════════════════════════════════════════════════════════
   LOST MARY VAPE — PURPLE CINEMA OVERRIDE LAYER
   2026-05-23 · Direction A · loads after core.css + lostmary-extras.css
   Black-and-white slabs, signal purple, lots of whitespace.
   Aggressive restyle of the existing .lm-* selector surface so every
   page (chrome + body + utility) lands inside the new visual DNA without
   any HTML changes.

   Reading order:
     1. Global typography refinement
     2. Top promo + header + nav chrome
     3. Hero + section primitives
     4. Buttons + pills + chips
     5. Cards + grids
     6. PDP-specific overrides
     7. Collection / flavor / article overrides
     8. Cart / checkout / account / search / tracking
     9. Footer
    10. Responsive (768 / 375)
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Typography ────────────────────────────────────────────── */

body, .lm-doc-root {
  font-family: var(--lm-font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--lm-ink);
  background: var(--lm-paper);
}

h1, h2, h3, h4, h5,
.lm-h1, .lm-h2, .lm-h3,
.lm-section-h2, .lm-section-h3,
.lm-display, .lm-hero-h1, .lm-hero-title {
  font-family: var(--lm-font-display);
  font-weight: 900;
  letter-spacing: -0.028em;
  line-height: 0.94;
  color: var(--lm-ink);
  text-transform: none;
}
h1, .lm-h1, .lm-hero-h1 { font-size: clamp(40px, 6.4vw, 84px); }
h2, .lm-h2, .lm-section-h2 { font-size: clamp(32px, 4.2vw, 54px); padding-bottom: 0; }
h2::after, .lm-h2::after, .lm-section-h2::after { content: none !important; display: none !important; background: none !important; }
h3, .lm-h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.0; }
h4 { font-size: 22px; line-height: 1.05; }
h5 { font-size: 18px; line-height: 1.1; }

/* Eyebrow utility — mono caps + purple dot, the cross-cutting hook of
   the entire direction. Author markup may use .lm-eyebrow, but a lot of
   existing pages use small <p> with .lm-section-eyebrow / .lm-h2-eyebrow.
   Map them all into the same visual treatment. */
.lm-eyebrow,
.lm-section-eyebrow,
.lm-h2-eyebrow,
.lm-pdp-eyebrow,
.lm-coll-eyebrow,
.lm-article-eyebrow,
.lm-flavor-eyebrow,
.lm-hero-eyebrow,
.lm-eyebrow-mono {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  font-weight: 500;
  margin: 0 0 var(--lm-s-3);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.lm-eyebrow::before,
.lm-section-eyebrow::before,
.lm-h2-eyebrow::before,
.lm-pdp-eyebrow::before,
.lm-coll-eyebrow::before,
.lm-article-eyebrow::before,
.lm-flavor-eyebrow::before,
.lm-hero-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--lm-accent);
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* Mono caption / spec key */
.lm-mono,
.lm-byline,
.lm-pdp-spec-key, .lm-spec-key,
.lm-product-meta,
.lm-card-meta {
  font-family: var(--lm-font-mono);
  letter-spacing: 0.08em;
}

/* Body / paragraph spacing inside articles */
.lm-article, .lm-article-body, .lm-article-basic {
  font-size: 16px;
  line-height: 1.7;
  color: var(--lm-ink);
}
.lm-article p, .lm-article-body p, .lm-article-basic p { margin: 0 0 18px; }
.lm-article h2, .lm-article h3 { margin-top: 56px; margin-bottom: 18px; }
.lm-article ul, .lm-article ol { margin: 0 0 22px 24px; }
.lm-article li { margin-bottom: 8px; }

/* ── 2. Top promo + header + nav ──────────────────────────────── */

.lm-announce {
  background: var(--lm-black);
  color: var(--lm-paper);
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 10px var(--lm-pad-x);
  display: flex;
  align-items: center;
  gap: 28px;
  justify-content: center;
  border-bottom: 1px solid var(--lm-rule-d);
}
.lm-announce-warning { color: var(--lm-warn-2); display: inline-flex; align-items: center; gap: 8px; }
.lm-announce-warning::before { content: "⚠"; font-size: 12px; }
.lm-announce-promo { color: var(--lm-paper); }
.lm-emph-purple { color: var(--lm-accent-2); letter-spacing: 0.14em; }
/* Kill the legacy yellow background pill — Purple Cinema uses outline mono badges only. */
.lm-emph-yellow {
  background: transparent !important;
  color: var(--lm-paper) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 500;
}
.lm-announce .lm-emph-yellow { color: var(--lm-paper) !important; }

/* Header — black slab, FULL-WIDTH (core.css set max-width 1200 + margin auto;
   override to span the viewport. Inner padding handles edge spacing.) */
.lm-topnav {
  background: var(--lm-black) !important;
  color: var(--lm-paper);
  padding: 16px clamp(20px, 3vw, 48px);
  display: flex;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid var(--lm-rule-d);
  border-top: 0;
  box-shadow: none;
  position: relative;
  z-index: 50;
  max-width: none !important;
  margin: 0 !important;
  width: 100%;
}

.lm-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  text-decoration: none;
  color: var(--lm-paper);
}
.lm-brand:hover { color: var(--lm-accent-2); }
/* Hide the legacy PNG logo — Direction A header uses a CSS wordmark only. */
.lm-brand-logo { display: none !important; }
.lm-brand::before {
  content: "LOSTMARY";
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.025em;
  color: var(--lm-accent-2);
  line-height: 1;
  display: inline-block;
}
.lm-brand:hover::before { color: var(--lm-paper); }
.lm-brand::after {
  content: "AUTHORIZED US\A DISTRIBUTOR";
  white-space: pre;
  font-family: var(--lm-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  display: inline-block;
  line-height: 1.4;
  padding-left: 0;
  border-left: 0;
}

.lm-nav-primary {
  display: flex;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.lm-nav-primary > li > a,
.lm-nav-primary > li > button,
.lm-nav-toggle-sub {
  font-family: var(--lm-font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.88);
  background: transparent;
  border: 0;
  padding: 4px 0;
  text-transform: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: color 0.15s ease;
}
.lm-nav-primary > li > a:hover,
.lm-nav-toggle-sub:hover { color: var(--lm-accent-2); }
.lm-nav-caret { font-size: 9px; opacity: 0.7; }

.lm-nav-sub {
  position: absolute;
  top: 100%;
  margin-top: 0;
  background: var(--lm-black);
  border: 1px solid var(--lm-rule-d);
  border-top: 0;
  padding: 22px 28px;
  min-width: 320px;
  box-shadow: 0 24px 48px rgba(0,0,0,0.45);
  z-index: 100;
}
/* Hover bridge — closes the gap between the trigger button and the absolute-
   positioned dropdown so the mouse can travel down to a sub-item without
   crossing dead space and firing @mouseleave on the parent <li>. */
.lm-nav-sub::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
  background: transparent;
}
.lm-nav-sub-col { display: flex; flex-direction: column; gap: 8px; }
.lm-nav-sub a {
  font-size: 13px;
  color: rgba(255,255,255,0.85);
  padding: 6px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.lm-nav-sub a:hover { color: var(--lm-accent-2); }
.lm-nav-sub-heading {
  font-family: var(--lm-font-mono);
  font-size: 10px !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lm-accent-2) !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--lm-rule-d);
  margin-bottom: 4px !important;
}
.lm-nav-tag {
  font-family: var(--lm-font-mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2px 8px;
  border: 1px solid var(--lm-rule-d);
  color: rgba(255,255,255,0.55);
  border-radius: 999px;
}

/* Nav search */
.lm-nav-search {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  padding: 0 6px 0 16px;
  width: 240px;
  height: 36px;
  flex-shrink: 0;
}
.lm-nav-search input {
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--lm-paper);
  font-size: 12px;
  font-family: var(--lm-font-sans);
  flex: 1;
  height: 100%;
}
.lm-nav-search input::placeholder { color: rgba(255,255,255,0.45); }
.lm-nav-search button {
  background: transparent;
  border: 0;
  padding: 4px 8px;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
}
.lm-nav-search button:hover { color: var(--lm-accent-2); }

/* Right icons (account / cart) */
.lm-nav-icon, .lm-nav-iconbtn {
  background: transparent;
  border: 0;
  color: rgba(255,255,255,0.85);
  padding: 6px;
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lm-nav-icon:hover { color: var(--lm-accent-2); }
.lm-cart-trigger { color: rgba(255,255,255,0.85); }
.lm-cart-trigger:hover { color: var(--lm-accent-2); }
.lm-cart-count {
  background: var(--lm-accent);
  color: var(--lm-paper);
  font-family: var(--lm-font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
  position: absolute;
  top: -2px;
  right: -4px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mobile hamburger */
.lm-nav-toggle { background: transparent; border: 0; padding: 6px; display: none; cursor: pointer; }
.lm-nav-toggle span { display: block; width: 22px; height: 2px; background: var(--lm-paper); margin: 4px 0; }

/* Mobile dialog */
.lm-mobile-dialog {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 56px 28px;
  border: 0;
  max-width: 100%;
  width: 100%;
  height: 100%;
  margin: 0;
}
.lm-mobile-dialog::backdrop { background: rgba(0,0,0,0.7); }
.lm-mobile-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: var(--lm-paper);
  width: 40px; height: 40px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 18px;
}
.lm-mobile-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.lm-mobile-item a, .lm-mobile-item summary {
  font-family: var(--lm-font-display);
  font-size: 26px;
  letter-spacing: -0.02em;
  color: var(--lm-paper);
  padding: 14px 0;
  display: block;
  cursor: pointer;
  text-decoration: none;
}
.lm-mobile-item details summary { list-style: none; }
.lm-mobile-item details ul { list-style: none; padding-left: 16px; margin: 4px 0 12px; }
.lm-mobile-item details li a {
  font-family: var(--lm-font-sans);
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  padding: 6px 0;
}
.lm-mobile-divider { height: 1px; background: var(--lm-rule-d); margin: 12px 0; }

/* ── 3. Hero + section primitives ──────────────────────────────── */

.lm-hero,
.lm-pdp-hero,
.lm-coll-hero,
.lm-home-hero {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 96px var(--lm-pad-x) 96px;
  position: relative;
  overflow: hidden;
  border-top: 0;
}
.lm-hero::before,
.lm-pdp-hero::before,
.lm-coll-hero::before,
.lm-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 30%, var(--lm-accent) 0%, transparent 45%);
  opacity: 0.06;
  pointer-events: none;
}

.lm-hero-inner,
.lm-pdp-hero-inner,
.lm-coll-hero-inner,
.lm-home-hero-inner {
  max-width: var(--lm-max-w);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.lm-hero h1,
.lm-coll-hero h1,
.lm-home-hero h1 {
  font-size: clamp(40px, 7vw, 96px);
  line-height: 0.94;
  letter-spacing: -0.028em;
  color: var(--lm-paper);
  margin: 18px 0 0;
}
.lm-hero h2,
.lm-coll-hero h2,
.lm-home-hero h2 { color: var(--lm-paper); }

.lm-hero p, .lm-hero-sub,
.lm-coll-hero p,
.lm-home-hero p {
  color: rgba(255,255,255,0.75);
  font-size: 18px;
  line-height: 1.55;
  margin-top: 28px;
}

.lm-hero-eyebrow,
.lm-coll-hero .lm-eyebrow,
.lm-home-hero .lm-eyebrow { color: rgba(255,255,255,0.55); }
.lm-hero-eyebrow::before,
.lm-coll-hero .lm-eyebrow::before,
.lm-home-hero .lm-eyebrow::before { background: var(--lm-accent-2); }

/* PDP hero — BLACK SLAB (user 2026-05-23 feedback: "头部应该是黑色的").
   White text on black, with signal-purple price + chip selected state. */
.lm-pdp-hero {
  background: var(--lm-black) !important;
  color: var(--lm-paper) !important;
}
.lm-pdp-hero h1, .lm-pdp-hero h2, .lm-pdp-hero h3 { color: var(--lm-paper) !important; }
.lm-pdp-hero p { color: rgba(255,255,255,0.75) !important; }
.lm-pdp-hero .lm-eyebrow,
.lm-pdp-hero .lm-pdp-eyebrow { color: var(--lm-accent-2) !important; }
.lm-pdp-hero .lm-eyebrow::before,
.lm-pdp-hero .lm-pdp-eyebrow::before { background: var(--lm-accent-2) !important; }

.lm-hero-ctas,
.lm-home-hero-ctas { display: flex; gap: 14px; margin-top: 36px; flex-wrap: wrap; }
.lm-hero-trust {
  display: flex; gap: 48px; margin-top: 56px; padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.15);
  flex-wrap: wrap;
}
.lm-hero-trust > * { font-family: var(--lm-font-mono); font-size: 10.5px; letter-spacing: 0.14em; color: rgba(255,255,255,0.55); text-transform: uppercase; }

/* Section primitives (any page can use .lm-section / .lm-section-dark / .lm-section-paper) */
.lm-section { padding: 96px var(--lm-pad-x); }
.lm-section-paper, section.lm-paper { background: var(--lm-paper-2); padding: 96px var(--lm-pad-x); }
.lm-section-dark, section.lm-dark { background: var(--lm-black); color: var(--lm-paper); padding: 96px var(--lm-pad-x); }
.lm-section-dark h1, .lm-section-dark h2, .lm-section-dark h3 { color: var(--lm-paper); }
.lm-section-dark p { color: rgba(255,255,255,0.75); }
.lm-section-dark hr { border-top-color: var(--lm-rule-d); }

.lm-container { max-width: var(--lm-max-w); margin: 0 auto; }

/* ── 4. Buttons + pills + chips ────────────────────────────────── */

.lm-btn,
.lm-pdp-add, .lm-pdp-cart-buy, .lm-pdp-buy-now,
.lm-cart-checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 26px;
  font-family: var(--lm-font-sans);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--lm-ink);
  color: var(--lm-paper);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.12s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.lm-btn:hover,
.lm-pdp-add:hover, .lm-pdp-cart-buy:hover, .lm-pdp-buy-now:hover,
.lm-cart-checkout:hover { transform: translateY(-1px); }

.lm-btn-primary, .lm-btn-purple, .lm-btn-accent,
.lm-pdp-add, .lm-pdp-cart-buy,
.lm-cart-checkout {
  background: var(--lm-accent);
  color: var(--lm-paper);
  border-color: var(--lm-accent);
}
.lm-btn-primary:hover, .lm-btn-purple:hover, .lm-btn-accent:hover,
.lm-pdp-add:hover, .lm-pdp-cart-buy:hover,
.lm-cart-checkout:hover {
  background: #6320d4;
  color: var(--lm-paper);
  border-color: #6320d4;
}

.lm-btn-ghost, .lm-btn-outline {
  background: transparent;
  color: var(--lm-ink);
  border-color: var(--lm-ink);
}
.lm-btn-ghost:hover, .lm-btn-outline:hover {
  background: var(--lm-accent-soft);
  border-color: var(--lm-accent);
  color: var(--lm-accent);
}

.lm-btn-red, .lm-btn-yellow {
  background: var(--lm-accent);
  color: var(--lm-paper);
  border-color: var(--lm-accent);
}

.lm-btn-full, .lm-btn-large, .lm-btn-lg { width: 100%; padding: 16px 26px; font-size: 15px; }
.lm-pdp-buy-now { background: transparent; color: var(--lm-ink); border-color: var(--lm-ink); }
.lm-pdp-buy-now:hover { background: var(--lm-accent-soft); border-color: var(--lm-accent); color: var(--lm-accent); }

/* Pills (mono caps badge) */
.lm-pill,
.lm-nav-tag,
.lm-pdp-edition-heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  background: transparent;
}
.lm-pill-solid {
  background: var(--lm-accent);
  color: var(--lm-paper);
  border-color: var(--lm-accent);
}
.lm-pill-warn {
  color: var(--lm-warn);
  border-color: var(--lm-warn);
}

/* Chips (flavor selector) */
.lm-chip,
.lm-pdp-flavor-chip,
.lm-flavor-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-sans);
  font-size: 13px;
  color: var(--lm-ink);
  background: var(--lm-paper);
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.lm-chip:hover,
.lm-pdp-flavor-chip:hover,
.lm-flavor-chip:hover { border-color: var(--lm-ink); }
.lm-chip.is-selected,
.lm-pdp-flavor-chip.is-selected,
.lm-pdp-flavor-chip[aria-selected="true"],
.lm-flavor-chip.is-selected {
  background: var(--lm-ink);
  color: var(--lm-paper);
  border-color: var(--lm-ink);
}
.lm-chip.is-oos,
.lm-pdp-flavor-chip.is-oos,
.lm-pdp-flavor-chip[data-oos="true"],
.lm-flavor-chip.is-oos {
  opacity: 0.4;
  text-decoration: line-through;
  cursor: not-allowed;
}
.lm-pdp-flavor-chip-swatch {
  width: 10px; height: 10px;
  background: var(--lm-accent);
  border-radius: 50%;
}

/* ── 5. Cards + grids ──────────────────────────────────────────── */

.lm-card,
.lm-product-card,
.lm-feature-card,
.lm-card-feature,
.lm-coll-card,
.lm-coll-tile,
.lm-flavor-card,
.lm-product-related-card,
.lm-pdp-faq-item,
.lm-article-related-card,
.lm-home-card,
.lm-review-card {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  border-radius: 0;
  box-shadow: none;
  padding: 24px;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.lm-card:hover,
.lm-product-card:hover,
.lm-feature-card:hover,
.lm-card-feature:hover,
.lm-coll-card:hover,
.lm-coll-tile:hover,
.lm-flavor-card:hover,
.lm-home-card:hover { border-color: var(--lm-ink); transform: translateY(-2px); }

/* Card with built-in image area */
.lm-coll-card-img, .lm-flavor-card-img, .lm-product-card-img {
  background: var(--lm-paper-3);
  border-bottom: 1px solid var(--lm-rule);
  margin: -24px -24px 18px;
  display: block;
  width: calc(100% + 48px);
}

/* ── 6. PDP-specific ───────────────────────────────────────────── */

.lm-pdp-bcr, .lm-crumb {
  background: var(--lm-paper);
  padding: 18px var(--lm-pad-x);
  border-bottom: 1px solid var(--lm-rule);
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}
.lm-pdp-bcr a, .lm-crumb a { color: var(--lm-ink-2); }
.lm-pdp-bcr a:hover, .lm-crumb a:hover { color: var(--lm-accent); }
.lm-pdp-bcr-inner { max-width: var(--lm-max-w); margin: 0 auto; }

.lm-pdp-hero { background: var(--lm-paper); color: var(--lm-ink); padding: 56px var(--lm-pad-x); }
.lm-pdp-hero::before { content: none; }

.lm-pdp-title, .lm-pdp-h1 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(34px, 4.4vw, 54px);
  letter-spacing: -0.028em;
  line-height: 1.0;
  color: var(--lm-ink);
}

.lm-pdp-desc { font-size: 17px; color: var(--lm-ink-2); line-height: 1.6; margin-top: 22px; }

/* PDP price block */
.lm-pdp-price,
.lm-pdp-price-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-top: 14px;
  padding-top: 24px;
  border-top: 1px solid var(--lm-rule);
}
.lm-pdp-price-sale,
.lm-pdp-price-main {
  font-family: var(--lm-font-display);
  font-size: 56px;
  color: var(--lm-accent);
  letter-spacing: -0.03em;
  line-height: 0.96;
}
.lm-pdp-price-list,
.lm-pdp-price-original {
  font-family: var(--lm-font-mono);
  font-size: 14px;
  color: var(--lm-ink-2);
  text-decoration: line-through;
}
.lm-pdp-spec-per1k,
.lm-pdp-price-per1k {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lm-ink-2);
  text-transform: uppercase;
}

/* PDP flavor block */
.lm-pdp-flavor-block { margin-top: 32px; }
.lm-pdp-flavor-count {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-bottom: 12px;
  display: block;
}
.lm-pdp-flavor-edition {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lm-accent);
  text-transform: uppercase;
  margin: 18px 0 10px;
}
.lm-pdp-edition-heading {
  background: transparent;
  color: var(--lm-accent);
  border-color: var(--lm-accent);
}

/* PDP qty stepper */
.lm-pdp-qty, .lm-cart-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--lm-ink);
  border-radius: 999px;
  overflow: hidden;
  background: var(--lm-paper);
}
.lm-pdp-qty button, .lm-cart-qty button {
  background: transparent;
  border: 0;
  padding: 12px 18px;
  font-size: 16px;
  cursor: pointer;
  color: var(--lm-ink);
}
.lm-pdp-qty span, .lm-cart-qty span {
  padding: 0 14px;
  font-weight: 600;
  font-family: var(--lm-font-sans);
}

/* PDP action row */
.lm-pdp-action-row, .lm-pdp-cta-row, .lm-pdp-buyrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
}
.lm-pdp-add { flex: 1; }

/* PDP trust icons */
.lm-pdp-trust, .lm-pdp-trust-row {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--lm-rule);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.lm-pdp-trust > * { font-size: 13px; }

/* PDP spec table */
.lm-pdp-spec table, .lm-spec-table, .lm-pdp-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--lm-font-mono);
  font-size: 13px;
}
.lm-pdp-spec table tr, .lm-spec-table tr, .lm-pdp-table tr { border-bottom: 1px solid var(--lm-rule); }
.lm-pdp-spec table td, .lm-spec-table td, .lm-pdp-table td { padding: 16px 0; }
.lm-pdp-spec table td:first-child, .lm-spec-table td:first-child, .lm-pdp-table td:first-child {
  color: var(--lm-ink-2);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  width: 180px;
}
.lm-pdp-spec table td:last-child, .lm-spec-table td:last-child, .lm-pdp-table td:last-child {
  font-family: var(--lm-font-sans);
  font-size: 14px;
  color: var(--lm-ink);
}

/* PDP refill banner (Nera Pod) */
.lm-pdp-refill-banner,
.lm-pdp-warning-banner {
  background: var(--lm-warn);
  color: var(--lm-paper);
  padding: 18px 24px;
  margin: 0 0 24px;
  border: 0;
}
.lm-pdp-refill-banner p, .lm-pdp-warning-banner p { color: var(--lm-paper); }
.lm-pdp-refill-banner a { color: var(--lm-paper); border-bottom: 1px solid var(--lm-paper); }

/* PDP FAQ */
.lm-pdp-faq, .lm-faq {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.lm-pdp-faq-item, .lm-faq-item {
  border: 0;
  border-top: 1px solid var(--lm-rule);
  border-radius: 0;
  padding: 24px 0;
  background: transparent;
}
.lm-pdp-faq-item:last-child, .lm-faq-item:last-child { border-bottom: 1px solid var(--lm-rule); }
.lm-pdp-faq-item summary, .lm-faq-item summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--lm-font-sans);
  font-size: 18px;
  font-weight: 600;
  color: var(--lm-ink);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
.lm-pdp-faq-item summary::after, .lm-faq-item summary::after {
  content: "+";
  font-family: var(--lm-font-display);
  font-size: 24px;
  color: var(--lm-accent);
  flex-shrink: 0;
  line-height: 1;
  transition: transform 0.18s ease;
}
.lm-pdp-faq-item[open] summary::after, .lm-faq-item[open] summary::after { transform: rotate(45deg); }
.lm-pdp-faq-a, .lm-faq-a, .lm-faq-answer {
  font-size: 15px;
  line-height: 1.65;
  color: var(--lm-ink-2);
  margin-top: 14px;
}

/* Pair / cross-sell callout on PDP */
.lm-pdp-pair, .lm-pdp-crosssell {
  margin-top: 32px;
  padding: 24px;
  background: var(--lm-paper-2);
  border: 1px solid var(--lm-rule);
}
.lm-pdp-pair-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lm-accent);
  text-transform: uppercase;
}

/* ── 7. Collection / flavor / article ─────────────────────────── */

.lm-coll-grid, .lm-flavor-grid, .lm-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}
.lm-coll-card, .lm-flavor-card, .lm-product-card {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  padding: 0;
  display: flex;
  flex-direction: column;
}
.lm-coll-card-body, .lm-flavor-card-body, .lm-product-card-body { padding: 22px 24px 24px; flex: 1; display: flex; flex-direction: column; }
.lm-coll-card-title, .lm-flavor-card-title, .lm-product-card-title {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.024em;
  line-height: 1.1;
  margin: 8px 0;
}
.lm-coll-card-price, .lm-flavor-card-price, .lm-product-card-price,
.lm-card-price {
  font-family: var(--lm-font-display);
  font-size: 26px;
  color: var(--lm-accent);
  letter-spacing: -0.02em;
  margin: 0;
}
.lm-card-oos { color: var(--lm-ink-2); opacity: 0.6; text-decoration: line-through; }

/* Article body */
.lm-article {
  max-width: 720px;
  margin: 0 auto;
  padding: 56px var(--lm-pad-x);
}
.lm-article-narrow { max-width: 680px; }
.lm-article-meta {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-bottom: 32px;
}
.lm-article-figure {
  margin: 32px 0;
  border: 1px solid var(--lm-rule);
}
.lm-article-figure img { width: 100%; }
.lm-article blockquote {
  border-left: 3px solid var(--lm-accent);
  padding: 4px 0 4px 24px;
  margin: 24px 0;
  font-size: 18px;
  color: var(--lm-ink);
  font-style: normal;
}

/* TL;DR block */
.lm-summary-block, .lm-tldr, .lm-spec-summary {
  border: 2px solid var(--lm-ink);
  padding: 24px;
  margin: 32px 0;
  background: var(--lm-paper);
  border-radius: 0;
}
.lm-summary-block::before, .lm-tldr::before {
  content: "TL;DR";
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--lm-accent);
  display: block;
  margin-bottom: 10px;
}
.lm-summary-block p, .lm-tldr p { font-size: 18px; line-height: 1.55; margin: 0; color: var(--lm-ink); }

/* Did You Know callout */
.lm-didyouknow, .lm-callout, .lm-article-callout {
  background: var(--lm-paper-2);
  border: 1px solid var(--lm-ink);
  padding: 28px;
  margin: 32px 0;
  position: relative;
  border-radius: 0;
}
.lm-didyouknow::before, .lm-article-callout::before {
  content: "DID YOU KNOW?";
  position: absolute;
  top: -10px;
  left: 24px;
  background: var(--lm-accent);
  color: var(--lm-paper);
  padding: 4px 12px;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
}

/* Article-related grid */
.lm-article-related, .lm-article-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid var(--lm-rule);
}
.lm-article-related-card {
  padding: 24px;
  border: 1px solid var(--lm-rule);
  background: var(--lm-paper);
  transition: border-color 0.18s ease;
}
.lm-article-related-card:hover { border-color: var(--lm-ink); }

/* ── 8. Cart / checkout / account / search / tracking ─────────── */

/* Cart panel (slideover) */
.lm-cart-panel {
  position: fixed;
  top: 0; right: -480px; bottom: 0;
  width: min(480px, 96vw);
  background: var(--lm-paper);
  border-left: 1px solid var(--lm-rule);
  display: flex;
  flex-direction: column;
  transition: right 0.32s ease;
  z-index: 200;
  box-shadow: -32px 0 64px rgba(0,0,0,0.18);
}
.lm-cart-panel.is-open { right: 0; }
.lm-cart-panel-head {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.lm-cart-panel-head button {
  background: transparent;
  color: var(--lm-paper);
  border: 0;
  font-size: 18px;
  cursor: pointer;
}
.lm-cart-panel-title { letter-spacing: 0.18em; }
.lm-cart-panel-body { flex: 1; overflow-y: auto; padding: 24px; }
.lm-cart-panel-foot { padding: 20px 24px 28px; border-top: 1px solid var(--lm-rule); background: var(--lm-paper-2); }
.lm-cart-subtotal {
  display: flex;
  justify-content: space-between;
  font-family: var(--lm-font-mono);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.lm-cart-subtotal strong { font-family: var(--lm-font-display); font-size: 22px; color: var(--lm-accent); letter-spacing: -0.02em; }
.lm-cart-items { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 18px; }
.lm-cart-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--lm-rule);
}
.lm-cart-item-name { font-weight: 600; font-size: 14px; margin: 0; }
.lm-cart-item-var { font-size: 12px; color: var(--lm-ink-2); margin: 4px 0; }
.lm-cart-price { font-family: var(--lm-font-display); font-size: 18px; color: var(--lm-accent); letter-spacing: -0.02em; }
.lm-cart-rm { background: transparent; border: 0; color: var(--lm-ink-2); font-family: var(--lm-font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; padding: 0 0 0 12px; }
.lm-muted { color: var(--lm-ink-2); }

/* /cart/ + /checkout/ pages */
.lm-cart-shell, .lm-checkout-shell, .lm-account-shell, .lm-search-shell {
  max-width: var(--lm-max-w);
  margin: 0 auto;
  padding: 56px var(--lm-pad-x) 96px;
}

/* Checkout fields */
.lm-checkout-shell input,
.lm-checkout-shell textarea,
.lm-account-shell input,
.lm-account-shell textarea,
.lm-search-shell input,
.lm-order-tracking input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--lm-rule);
  border-radius: 0;
  background: var(--lm-paper);
  font-family: var(--lm-font-sans);
  font-size: 14px;
  color: var(--lm-ink);
  outline: 0;
  transition: border-color 0.15s ease;
}
.lm-checkout-shell input:focus,
.lm-account-shell input:focus,
.lm-search-shell input:focus,
.lm-order-tracking input:focus { border-color: var(--lm-ink); }

/* Promo ladder bar */
.lm-cart-panel-promo { padding: 20px 24px; background: var(--lm-paper-2); border-bottom: 1px solid var(--lm-rule); }
.lm-promo-ladder, .lm-cart-points { font-family: var(--lm-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lm-ink-2); }
.lm-promo-bar, .lm-promo-track {
  height: 4px;
  background: var(--lm-rule);
  position: relative;
  margin: 14px 0;
}
.lm-promo-fill, .lm-promo-progress {
  position: absolute;
  inset: 0;
  background: var(--lm-accent);
  width: 0;
  transition: width 0.32s ease;
}

/* Age verify */
.lm-av-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.78);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.lm-av-box {
  background: var(--lm-paper);
  border: 0;
  border-radius: 0;
  padding: 40px;
  max-width: 480px;
  width: 100%;
}
.lm-av-title { font-family: var(--lm-font-display); font-weight: 900; font-size: 32px; letter-spacing: -0.025em; line-height: 1.0; margin: 0 0 14px; }
.lm-av-lead { font-size: 15px; color: var(--lm-ink-2); margin-bottom: 24px; line-height: 1.55; }
.lm-av-label { font-family: var(--lm-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lm-ink-2); display: block; margin-bottom: 6px; }
.lm-av-input, .lm-av-input-ro {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--lm-rule);
  font-family: var(--lm-font-sans);
  font-size: 14px;
  border-radius: 0;
}
.lm-av-submit { margin-top: 18px; }

/* ── 9. Footer ─────────────────────────────────────────────────── */

.lm-footer {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 72px var(--lm-pad-x) 32px;
  margin-top: 0;
}
.lm-footer-inner { max-width: var(--lm-max-w); margin: 0 auto; }

.lm-footer-top-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--lm-rule-d);
  align-items: start;
}

.lm-footer-subscribe { display: flex; flex-direction: column; gap: 10px; }
.lm-footer-sub-hook {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
}
.lm-footer-sub-hook::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--lm-accent-2);
  border-radius: 50%;
  display: inline-block;
}
.lm-footer-sub-heading {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 36px;
  letter-spacing: -0.025em;
  line-height: 1.0;
  color: var(--lm-paper);
  margin: 0 0 8px;
}
.lm-footer-sub-desc { font-size: 14px; color: rgba(255,255,255,0.65); margin: 0 0 14px; }
.lm-footer-sub-form {
  display: flex;
  gap: 0;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  overflow: hidden;
  max-width: 460px;
}
.lm-footer-sub-form input {
  flex: 1;
  background: transparent;
  border: 0;
  padding: 14px 22px;
  color: var(--lm-paper);
  font-family: var(--lm-font-sans);
  font-size: 14px;
  outline: 0;
}
.lm-footer-sub-form input::placeholder { color: rgba(255,255,255,0.35); }
.lm-footer-sub-form button,
.lm-footer-sub-form .lm-btn {
  border-radius: 999px;
  padding: 12px 24px;
}
.lm-footer-sub-msg { font-size: 13px; margin-top: 10px; }
.lm-footer-sub-msg.is-ok { color: var(--lm-accent-2); }
.lm-footer-sub-msg.is-err { color: var(--lm-warn-2); }

.lm-footer-about { max-width: 420px; }
.lm-footer-about-heading {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.lm-footer-about-heading::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--lm-accent-2);
  border-radius: 50%;
  display: inline-block;
}
.lm-footer-about p { font-size: 13.5px; color: rgba(255,255,255,0.7); line-height: 1.7; margin: 0; }

.lm-footer-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  padding: 48px 0;
  border-bottom: 1px solid var(--lm-rule-d);
}
.lm-footer-link-group { display: flex; flex-direction: column; gap: 10px; }
.lm-footer-link-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 8px;
}
.lm-footer-link-group a {
  font-family: var(--lm-font-sans);
  font-size: 13.5px;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.15s ease;
}
.lm-footer-link-group a:hover { color: var(--lm-accent-2); }

.lm-footer-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: 32px 0;
  border-bottom: 1px solid var(--lm-rule-d);
  flex-wrap: wrap;
}
.lm-footer-meta-info { font-size: 12px; color: rgba(255,255,255,0.55); }
.lm-footer-warehouse { font-family: var(--lm-font-mono); font-size: 11px; letter-spacing: 0.12em; line-height: 1.7; margin: 0; }
.lm-footer-warehouse strong { color: rgba(255,255,255,0.85); font-weight: 500; }
.lm-footer-warehouse a { color: var(--lm-accent-2); }
.lm-footer-social { list-style: none; padding: 0; margin: 0; display: flex; gap: 12px; }
.lm-footer-social li { line-height: 0; }
.lm-footer-social a {
  color: var(--lm-accent-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(160, 107, 255, 0.35);
  border-radius: 999px;
  background: transparent;
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}
.lm-footer-social a:hover {
  color: var(--lm-paper);
  background: var(--lm-accent);
  border-color: var(--lm-accent);
}
.lm-footer-social a svg {
  width: 16px;
  height: 16px;
  max-width: 16px;
  max-height: 16px;
  display: block;
}

.lm-footer-legal {
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.lm-footer-bottom-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
  flex-wrap: wrap;
}
.lm-footer-warning { color: var(--lm-warn-2); }
.lm-footer-warning::before { content: "⚠ "; }

/* Combined disclaimer block — was two separate red boxes, now one
   continuous container (Brand Disambiguation + NY shipping rule). */
.lm-footer-disclaimer {
  background: rgba(207, 36, 24, 0.06);
  border: 1px solid rgba(207, 36, 24, 0.35);
  color: var(--lm-warn-2);
  padding: 18px 22px;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  line-height: 1.75;
  letter-spacing: 0.02em;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lm-footer-disclaimer p {
  margin: 0;
  padding: 0;
  color: var(--lm-warn-2);
}
.lm-footer-disclaimer p + p {
  padding-top: 12px;
  border-top: 1px solid rgba(207, 36, 24, 0.25);
}
.lm-footer-disclaimer strong { color: var(--lm-warn-2); font-weight: 600; }

/* ── 10. Live chat widget ──────────────────────────────────────── */

.lm-livechat-launcher,
.lm-livechat-toggle,
.lm-livechat-bubble {
  background: var(--lm-accent) !important;
  color: var(--lm-paper) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 24px rgba(138, 63, 252, 0.32) !important;
}
.lm-livechat-launcher:hover { background: #6320d4 !important; }
.lm-livechat-panel {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  border-radius: 0 !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
}
.lm-livechat-header {
  background: var(--lm-black) !important;
  color: var(--lm-paper) !important;
  font-family: var(--lm-font-mono) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* ── 11. Responsive ────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .lm-topnav { gap: 20px; padding: 14px 20px; }
  .lm-nav-primary { gap: 22px; }
  .lm-nav-search { display: none; }
  .lm-footer-top-row { grid-template-columns: 1fr; gap: 32px; }
  .lm-footer-links { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}

@media (max-width: 768px) {
  :root { --lm-pad-x: 20px; }
  body, .lm-doc-root { font-size: 14px; }
  h1, .lm-h1, .lm-hero-h1 { font-size: clamp(34px, 9vw, 44px); }
  h2, .lm-h2, .lm-section-h2 { font-size: clamp(28px, 6vw, 32px); }
  h3, .lm-h3 { font-size: 22px; }

  .lm-announce {
    flex-direction: column;
    gap: 4px;
    padding: 8px 16px;
    font-size: 9.5px;
    text-align: center;
  }

  .lm-topnav {
    padding: 12px 16px;
    gap: 12px;
  }
  .lm-brand::after { display: none; }
  .lm-brand-logo { width: 32px; }
  .lm-nav-primary { display: none; }
  .lm-nav-toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; margin-left: auto; }
  .lm-nav-iconbtn, .lm-nav-icon { padding: 4px; }

  .lm-hero, .lm-pdp-hero, .lm-coll-hero, .lm-home-hero,
  .lm-section, .lm-section-dark, .lm-section-paper,
  section.lm-dark, section.lm-paper { padding-top: 56px; padding-bottom: 56px; }

  .lm-hero-trust { gap: 24px; }
  .lm-hero-ctas, .lm-home-hero-ctas { flex-direction: column; align-items: stretch; }
  .lm-hero-ctas .lm-btn, .lm-home-hero-ctas .lm-btn { width: 100%; }

  .lm-pdp-action-row, .lm-pdp-cta-row, .lm-pdp-buyrow { flex-wrap: wrap; }
  .lm-pdp-add { width: 100%; }

  .lm-footer { padding: 48px 20px 28px; }
  .lm-footer-top-row { grid-template-columns: 1fr; }
  .lm-footer-links { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .lm-footer-sub-form { flex-direction: column; border-radius: 16px; gap: 10px; padding: 8px; }
  .lm-footer-sub-form input { padding: 12px 14px; }
  .lm-footer-sub-form button, .lm-footer-sub-form .lm-btn { width: 100%; }
  .lm-footer-meta { flex-direction: column; align-items: flex-start; }

  .lm-coll-grid, .lm-flavor-grid, .lm-product-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
}

@media (max-width: 480px) {
  h1, .lm-h1, .lm-hero-h1 { font-size: 36px; }
  h2, .lm-h2, .lm-section-h2 { font-size: 28px; }
  .lm-footer-links { grid-template-columns: 1fr; }
  .lm-coll-grid, .lm-flavor-grid, .lm-product-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* ── 12. Misc utilities + legacy compat ─────────────────────────── */

/* Old "soft purple bg" → flat paper */
.lm-card-feature[style*="background"] { background: var(--lm-paper) !important; }

/* Section dividers */
.lm-divider, .lm-section-divider, .lm-rule { height: 1px; background: var(--lm-rule); margin: 48px 0; }

/* Compliance highlighter — yellow on dark only, never inside body copy */
.lm-emph-purple { color: var(--lm-accent-2); }
.lm-emph-yellow { color: var(--lm-yellow); }

/* Stat block (used on /about-us/, /, /lost-mary-vape-price/) */
.lm-stat,
.lm-stat-block,
.lm-stat-card {
  border-top: 1px solid var(--lm-ink);
  padding-top: 24px;
}
.lm-stat-num,
.lm-stat-value {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 54px;
  letter-spacing: -0.03em;
  color: var(--lm-accent);
  line-height: 1.0;
  margin: 6px 0;
}
.lm-stat-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}

/* NY exclusion banner (used in collections/near-me, /shipping-policy/) */
.lm-ny-disclaimer, .lm-ny-callout {
  background: rgba(207, 36, 24, 0.06);
  border: 2px solid var(--lm-warn);
  padding: 22px 24px;
  color: var(--lm-warn);
  font-family: var(--lm-font-mono);
  font-size: 13px;
  line-height: 1.7;
}
.lm-ny-disclaimer strong, .lm-ny-callout strong { color: var(--lm-warn); }

/* Hide soft chrome that's incompatible with Purple Cinema */
.lm-hero-trust-icons,
.lm-trust-strip-soft { display: none; }

/* ── 16. Collection / flavors-hub / pillar — rank list + slim cards ───
   The /collections/lost-mary-vape-flavors/ page (and others) are long-form
   prose pages with a numbered top-N list. Without explicit styling they
   render as plain text. Drop them into Purple Cinema: big mono rank
   numbers, hairline-separated rows, Archivo Black item titles. */

.lm-rank-list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--lm-ink);
}
.lm-rank-list > li {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 28px;
  padding: 28px 0;
  border-bottom: 1px solid var(--lm-rule);
  align-items: start;
}
.lm-rank-num {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 64px;
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--lm-accent);
  display: inline-block;
}
.lm-rank-list > li > div { min-width: 0; }
.lm-rank-list > li h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 26px;
  letter-spacing: -0.024em;
  line-height: 1.05;
  margin: 4px 0 10px;
}
.lm-rank-list > li h3 a { color: var(--lm-ink); text-decoration: none; }
.lm-rank-list > li h3 a:hover { color: var(--lm-accent); }
.lm-rank-list > li p {
  font-size: 15px;
  color: var(--lm-ink-2);
  line-height: 1.6;
  margin: 0;
}

/* Slim flavor card (used inside .lm-flavor-grid on collection prose pages) */
.lm-flavor-card-slim {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  text-decoration: none;
  color: var(--lm-ink);
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.lm-flavor-card-slim:hover {
  border-color: var(--lm-ink);
  transform: translateY(-2px);
  color: var(--lm-ink);
}
.lm-flavor-card-slim h3,
.lm-flavor-card-slim .lm-flavor-card-name {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0;
}
.lm-flavor-card-slim p,
.lm-flavor-card-slim .lm-flavor-card-notes {
  font-size: 13px;
  color: var(--lm-ink-2);
  line-height: 1.5;
  margin: 0;
}

/* ── Flavor grid + card — poster style (Direction A spec).
   Existing markup is `<a class="lm-flavor-card"><h3>Name</h3><p>desc</p></a>`
   — restyle aggressively to fit Direction A's hub design (tall white card,
   big Archivo Black flavor name, hairline border, purple top-stripe + VIEW
   arrow appearing on hover). 2026-05-23 — user feedback: existing cards
   render as flat text. */
.lm-flavor-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
  margin: 28px 0 !important;
}
.lm-flavor-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 230px !important;
  padding: 26px 22px 56px !important;
  background: var(--lm-paper) !important;
  border: 1px solid var(--lm-rule) !important;
  border-radius: 0 !important;
  border-left: 1px solid var(--lm-rule) !important;
  text-decoration: none !important;
  color: var(--lm-ink) !important;
  transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease, color 0.18s ease !important;
  overflow: hidden !important;
}
.lm-flavor-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--lm-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s ease;
}
.lm-flavor-card::after {
  content: "VIEW →";
  position: absolute;
  bottom: 18px;
  left: 22px;
  right: 22px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lm-accent);
  padding-top: 14px;
  border-top: 1px solid var(--lm-rule);
}
.lm-flavor-card:hover {
  border-color: var(--lm-ink) !important;
  background: var(--lm-paper) !important;
  transform: translateY(-2px) !important;
  color: var(--lm-ink) !important;
}
.lm-flavor-card:hover::before { transform: scaleX(1); }
.lm-flavor-card:hover::after { border-top-color: var(--lm-accent); }
.lm-flavor-card h3 {
  font-family: var(--lm-font-display) !important;
  font-weight: 900 !important;
  font-size: 24px !important;
  letter-spacing: -0.024em !important;
  line-height: 1.05 !important;
  color: var(--lm-ink) !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.lm-flavor-card h3::after { content: none !important; display: none !important; }
.lm-flavor-card p,
.lm-flavor-card .lm-muted {
  font-family: var(--lm-font-sans) !important;
  font-size: 13px !important;
  color: var(--lm-ink-2) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Prose section anchors: bold ledger inline link clusters (`Shop MT35000 →`
   etc.) — separate them visually with a small mono caret. */
.lm-link-purple {
  color: var(--lm-accent) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--lm-accent);
  padding-bottom: 1px;
}
.lm-link-purple:hover {
  color: var(--lm-paper) !important;
  background: var(--lm-accent);
  padding: 1px 4px;
  border-bottom-color: transparent;
}

/* Collection / info long-form section spacing */
.lm-section h1 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(40px, 5.5vw, 72px);
  letter-spacing: -0.028em;
  line-height: 0.96;
  margin: 0 0 24px;
}
.lm-section h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(28px, 3.6vw, 44px);
  letter-spacing: -0.026em;
  line-height: 1.0;
  margin: 0 0 24px;
}
.lm-section h2:not(:first-child) { margin-top: 48px; }
.lm-section h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(22px, 2.4vw, 28px);
  letter-spacing: -0.022em;
  line-height: 1.05;
  margin: 32px 0 14px;
}
.lm-section p { font-size: 16px; line-height: 1.7; color: var(--lm-ink); margin: 0 0 18px; }
.lm-section p strong { color: var(--lm-ink); font-weight: 600; }
.lm-section ul, .lm-section ol { margin: 0 0 22px 24px; font-size: 16px; line-height: 1.7; }
.lm-section li { margin-bottom: 8px; }

/* Visual section break — explicit between prose sections inside .lm-section-soft */
.lm-section + .lm-section,
.lm-section + .lm-section-soft,
.lm-section-soft + .lm-section { border-top: 1px solid var(--lm-rule); }

.lm-muted { color: var(--lm-ink-2); }

/* ── 17. FULL MODULE SWEEP — covers every .lm-* selector the njk
       templates actually render. Each module gets a Purple Cinema
       treatment: Archivo Black numbers, mono labels, hairline cards. */

/* Grid utilities */
.lm-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 24px 0; }
.lm-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 24px 0; }
@media (max-width: 900px) {
  .lm-grid-2, .lm-grid-3 { grid-template-columns: 1fr; gap: 16px; }
}

/* Step list (instructions / wholesale "How to start") — numbered list.
   Legacy `lostmary-extras.css` has `.lm-step-list li::before {
   content: counter(lmstep) }` which conflicts with our newer rule. Kill
   the legacy `::before` first so only one number renders. */
.lm-step-list,
ol.lm-step-list,
ul.lm-step-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-inline-start: 0 !important;
  margin: 32px 0 0 !important;
  counter-reset: lm-step;
  border-top: 1px solid var(--lm-ink);
}
.lm-step-list > li,
.lm-step-list li {
  counter-increment: lm-step;
  position: relative;
  padding: 28px 0 28px 96px !important;
  border-bottom: 1px solid var(--lm-rule);
  display: block;
  font-size: 15px;
  line-height: 1.65;
  color: var(--lm-ink);
  list-style: none !important;
}
.lm-step-list > li::marker,
.lm-step-list li::marker { content: "" !important; display: none !important; }
/* Single ::before generates the visible step number — explicitly !important
   so legacy `.lm-step-list li::before { content: counter(lmstep) }` in
   lostmary-extras.css (line 477) is fully overridden. */
.lm-step-list > li::before,
.lm-step-list li::before {
  content: counter(lm-step, decimal-leading-zero) !important;
  position: absolute !important;
  left: 0 !important;
  top: 28px !important;
  font-family: var(--lm-font-display) !important;
  font-weight: 900 !important;
  font-size: 44px !important;
  line-height: 0.9 !important;
  letter-spacing: -0.04em !important;
  color: var(--lm-accent) !important;
  text-shadow: none !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: left !important;
  display: block !important;
}
.lm-step-list h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0 0 10px;
}
.lm-step-list p { font-size: 15px; color: var(--lm-ink-2); line-height: 1.65; margin: 0 0 10px; }
.lm-step-list p:last-child { margin-bottom: 0; }

/* Feature list (about-us, wholesale "bestsellers" checklist) — absolute
   ::before so the inline `<strong>` + text don't get split into grid
   columns. */
.lm-feature-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 0 !important;
}
.lm-feature-list > li {
  position: relative;
  padding: 18px 0 18px 32px;
  border-top: 1px solid var(--lm-rule);
  display: block;
  font-size: 15px;
  line-height: 1.6;
  color: var(--lm-ink);
}
.lm-feature-list > li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 18px;
  font-family: var(--lm-font-display);
  font-size: 18px;
  color: var(--lm-accent);
  line-height: 1.55;
}
.lm-feature-list > li:last-child { border-bottom: 1px solid var(--lm-rule); }
.lm-feature-list > li a { color: var(--lm-ink); border-bottom: 1px solid var(--lm-accent); padding-bottom: 1px; text-decoration: none; }
.lm-feature-list > li a:hover { color: var(--lm-accent); }
.lm-feature-list > li strong { font-weight: 700; color: var(--lm-ink); }

/* Link list (about-us, contact, footer "more pages") */
.lm-link-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.lm-link-list > li {
  padding: 14px 0;
  border-top: 1px solid var(--lm-rule);
}
.lm-link-list > li:last-child { border-bottom: 1px solid var(--lm-rule); }
.lm-link-list > li a {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.018em;
  color: var(--lm-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.lm-link-list > li a::after {
  content: "→";
  color: var(--lm-accent);
  font-size: 18px;
  transition: transform 0.18s ease;
}
.lm-link-list > li a:hover { color: var(--lm-accent); }
.lm-link-list > li a:hover::after { transform: translateX(4px); }
.lm-link-list > li > span,
.lm-link-list > li > small {
  display: block;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-top: 6px;
}

/* Marketing list (about-us "we don't claim" callout grid) */
.lm-marketing-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--lm-ink);
}
.lm-marketing-list > li {
  padding: 24px;
  border-bottom: 1px solid var(--lm-rule);
}
.lm-marketing-list > li:nth-child(odd) { border-right: 1px solid var(--lm-rule); }
.lm-marketing-list h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 20px;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 10px;
}
.lm-marketing-list p { font-size: 14px; color: var(--lm-ink-2); line-height: 1.55; margin: 0; }
@media (max-width: 700px) {
  .lm-marketing-list { grid-template-columns: 1fr; }
  .lm-marketing-list > li:nth-child(odd) { border-right: 0; }
}

/* Contact grid + card */
.lm-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 32px 0; }
.lm-contact-card {
  padding: 32px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.18s ease;
}
.lm-contact-card:hover { border-color: var(--lm-ink); }
.lm-contact-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0 0 6px;
}
.lm-contact-card p { font-size: 14px; color: var(--lm-ink-2); line-height: 1.6; margin: 0; }
.lm-contact-card a {
  font-family: var(--lm-font-mono);
  font-size: 13px;
  color: var(--lm-accent);
  border-bottom: 1px solid var(--lm-accent);
  padding-bottom: 1px;
  text-decoration: none;
}
.lm-contact-card a:hover { color: var(--lm-ink); border-color: var(--lm-ink); }
@media (max-width: 700px) { .lm-contact-grid { grid-template-columns: 1fr; } }

/* Basic-H2 numbered TOC + numbered H2 (policy / order-tracking) */
.lm-basic-toc {
  list-style: none;
  padding: 0;
  margin: 32px 0 48px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  border-top: 1px solid var(--lm-ink);
}
.lm-basic-toc > li {
  padding: 14px 16px 14px 0;
  border-bottom: 1px solid var(--lm-rule);
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 10px;
  align-items: baseline;
}
.lm-basic-toc-num {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lm-accent);
  font-weight: 600;
}
.lm-basic-toc a {
  font-size: 14px;
  color: var(--lm-ink);
  text-decoration: none;
  font-weight: 500;
}
.lm-basic-toc a:hover { color: var(--lm-accent); }
.lm-basic-h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: -0.026em;
  line-height: 1.05;
  margin: 56px 0 16px;
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.lm-basic-h2-num {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--lm-accent);
  font-weight: 600;
  flex-shrink: 0;
}

/* Cat stat / general stat row */
.lm-cat-stat {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  margin: 32px 0;
  border-top: 1px solid var(--lm-ink);
}
.lm-cat-stat > * {
  padding: 24px 20px 24px 0;
  border-right: 1px solid var(--lm-rule);
  border-bottom: 1px solid var(--lm-rule);
}
.lm-cat-stat-num {
  display: block;
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 40px;
  letter-spacing: -0.03em;
  line-height: 0.96;
  color: var(--lm-accent);
}
.lm-cat-stat-lab {
  display: block;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-top: 10px;
}

/* Tables — policy / price / flavor */
.lm-table-wrap {
  overflow-x: auto;
  margin: 24px 0;
  border: 1px solid var(--lm-ink);
}
.lm-policy-table, .lm-price-table, .lm-flavor-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--lm-font-sans);
  font-size: 14px;
  min-width: 600px;
}
.lm-policy-table thead, .lm-price-table thead, .lm-flavor-table thead {
  background: var(--lm-black);
  color: var(--lm-paper);
}
.lm-policy-table th, .lm-price-table th, .lm-flavor-table th {
  padding: 14px 16px;
  text-align: left;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
}
.lm-policy-table td, .lm-price-table td, .lm-flavor-table td {
  padding: 14px 16px;
  border-top: 1px solid var(--lm-rule);
  vertical-align: top;
}
.lm-policy-bullets {
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.lm-policy-bullets > li {
  padding: 14px 0 14px 28px;
  border-bottom: 1px solid var(--lm-rule);
  position: relative;
  font-size: 15px;
  line-height: 1.6;
}
.lm-policy-bullets > li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--lm-accent);
  font-family: var(--lm-font-display);
  font-weight: 900;
}

/* Compat list */
.lm-compat-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--lm-rule);
}
.lm-compat-list > li {
  padding: 14px 16px 14px 0;
  border-bottom: 1px solid var(--lm-rule);
}
.lm-compat-list > li:nth-child(odd) { border-right: 1px solid var(--lm-rule); padding-right: 16px; }
.lm-compat-list > li:nth-child(even) { padding-left: 16px; }

/* Kit contents list */
.lm-kit-contents-list { list-style: none; padding: 0; margin: 24px 0; }
.lm-kit-contents-list > li {
  padding: 14px 0 14px 28px;
  border-top: 1px solid var(--lm-rule);
  position: relative;
  font-size: 15px;
  line-height: 1.6;
}
.lm-kit-contents-list > li:last-child { border-bottom: 1px solid var(--lm-rule); }
.lm-kit-contents-list > li::before {
  content: "·";
  position: absolute;
  left: 0;
  top: 14px;
  color: var(--lm-accent);
  font-family: var(--lm-font-display);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

/* Pod color list + swatch */
.lm-pod-color-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lm-pod-color-list > li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-mono);
  font-size: 12px;
}
.lm-pod-swatch {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid var(--lm-rule);
}

/* Reviews module */
.lm-reviews-summary {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--lm-ink);
  border-bottom: 1px solid var(--lm-rule);
}
.lm-reviews-avg {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 44px;
  letter-spacing: -0.03em;
  line-height: 0.9;
  color: var(--lm-accent);
}
.lm-reviews-count {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--lm-ink-2);
  text-transform: uppercase;
}
.lm-reviews-stars, .lm-review-stars { color: var(--lm-accent); font-size: 14px; letter-spacing: 0.08em; }
.lm-reviews-list { list-style: none; padding: 0; margin: 24px 0 0; }
.lm-review-card { padding: 24px 0; border-bottom: 1px solid var(--lm-rule); }
.lm-review-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}
.lm-review-author { font-size: 14px; font-weight: 600; }
.lm-review-date {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--lm-ink-2);
  text-transform: uppercase;
}
.lm-review-body { font-size: 15px; line-height: 1.65; color: var(--lm-ink); margin: 8px 0 0; }
.lm-review-photos { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.lm-review-photos img { width: 72px; height: 72px; object-fit: cover; border: 1px solid var(--lm-rule); }
.lm-reviews-more, .lm-reviews-empty, .lm-reviews-loading {
  margin-top: 24px;
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}

/* Account / checkout / search shell */
.lm-account-auth, .lm-account-dash, .lm-account-shell,
.lm-checkout-shell, .lm-search-shell,
.lm-orderpay-shell, .lm-orderview-shell {
  max-width: var(--lm-max-w);
  margin: 0 auto;
  padding: 56px var(--lm-pad-x) 96px;
}
.lm-account-auth, .lm-orderpay-shell, .lm-orderview-shell { max-width: 640px; }

.lm-account-label, .lm-checkout-label, .lm-av-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  font-weight: 500;
  display: block;
  margin-bottom: 6px;
}
.lm-account-input, .lm-checkout-input, .lm-av-input, .lm-av-input-ro {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--lm-rule);
  border-radius: 0;
  background: var(--lm-paper);
  font-family: var(--lm-font-sans);
  font-size: 14px;
  color: var(--lm-ink);
  outline: 0;
  transition: border-color 0.15s ease;
}
.lm-account-input:focus, .lm-checkout-input:focus { border-color: var(--lm-ink); }
.lm-account-note, .lm-checkout-points-hint, .lm-account-status {
  font-size: 13px;
  color: var(--lm-ink-2);
  margin-top: 8px;
  line-height: 1.55;
}
.lm-account-err, .lm-checkout-points-err, .lm-chat-err {
  font-size: 13px;
  color: var(--lm-warn);
  margin-top: 8px;
}
.lm-account-points-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  margin: 24px 0;
  border-top: 1px solid var(--lm-ink);
  padding-top: 24px;
}
.lm-account-points-card {
  padding: 20px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
}
.lm-account-points-card-number {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 36px;
  letter-spacing: -0.03em;
  color: var(--lm-accent);
  line-height: 0.96;
}
.lm-account-points-card-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-top: 8px;
}
.lm-account-points-card-sub { font-size: 12px; color: var(--lm-ink-2); margin-top: 6px; }
.lm-account-points-log {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  border-top: 1px solid var(--lm-rule);
}
.lm-account-points-log li {
  padding: 14px 0;
  border-bottom: 1px solid var(--lm-rule);
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-family: var(--lm-font-mono);
  letter-spacing: 0.04em;
}
.lm-account-points-rules {
  margin: 24px 0;
  padding: 20px;
  background: var(--lm-paper-4);
  font-size: 13px;
  line-height: 1.6;
  color: var(--lm-ink-2);
}
.lm-account-points-empty, .lm-account-points-loading {
  padding: 32px 0;
  text-align: center;
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}

/* Checkout block + summary */
.lm-checkout-title, .lm-checkout-title-inner {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(36px, 4.6vw, 60px);
  letter-spacing: -0.028em;
  line-height: 0.96;
  margin: 0 0 36px;
}
.lm-checkout-body {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 900px) { .lm-checkout-body { grid-template-columns: 1fr; } }
.lm-checkout-block {
  border: 1px solid var(--lm-rule);
  padding: 24px;
  margin-bottom: 20px;
  background: var(--lm-paper);
}
.lm-checkout-block-head {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lm-accent);
  margin: 0 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lm-checkout-block-body { display: flex; flex-direction: column; gap: 14px; }
.lm-checkout-summary, .lm-checkout-summary-card {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  padding: 24px;
  position: sticky;
  top: 24px;
  align-self: start;
}
.lm-checkout-summary-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-family: var(--lm-font-mono);
  font-size: 13px;
  color: var(--lm-ink-2);
  letter-spacing: 0.04em;
}
.lm-checkout-summary-row strong { color: var(--lm-ink); }
.lm-checkout-summary-row-points { color: var(--lm-accent); }
.lm-checkout-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 14px;
  margin-top: 8px;
  border-top: 1px solid var(--lm-ink);
}
.lm-checkout-total-label {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}
.lm-checkout-total-num {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 32px;
  letter-spacing: -0.025em;
  color: var(--lm-accent);
}
.lm-checkout-progress {
  height: 4px;
  background: var(--lm-rule);
  margin: 14px 0 24px;
  overflow: hidden;
}
.lm-checkout-progress-inner { height: 100%; background: var(--lm-accent); transition: width 0.32s ease; }
.lm-checkout-trust {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-top: 14px;
  line-height: 1.55;
  text-align: center;
}
.lm-checkout-coupon, .lm-checkout-points {
  padding: 14px;
  background: var(--lm-paper-4);
  margin-top: 14px;
  font-size: 13px;
}
.lm-checkout-empty, .lm-checkout-loading {
  text-align: center;
  padding: 64px 0;
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}
.lm-pay-tabs { display: flex; gap: 0; margin-bottom: 18px; border-bottom: 1px solid var(--lm-rule); }
.lm-pay-tab {
  padding: 12px 18px;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  border: 0;
  background: transparent;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transform: translateY(1px);
}
.lm-pay-tab.is-active, .lm-pay-tab[aria-selected="true"] {
  color: var(--lm-ink);
  border-bottom-color: var(--lm-accent);
}
.lm-pay-fields { padding: 18px 0; display: flex; flex-direction: column; gap: 14px; }

/* Order lookup widget */
.lm-ol-wrap {
  max-width: 600px;
  margin: 32px 0;
  padding: 32px;
  border: 1px solid var(--lm-ink);
  background: var(--lm-paper);
}
.lm-ol-form { display: flex; flex-direction: column; gap: 14px; }
.lm-ol-result {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--lm-rule);
}
.lm-ol-result-title {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  margin: 0 0 10px;
}
.lm-ol-result-line {
  font-family: var(--lm-font-mono);
  font-size: 13px;
  color: var(--lm-ink-2);
  padding: 6px 0;
}
.lm-ol-result-cta { margin-top: 18px; }
.lm-orderview-error {
  padding: 20px 24px;
  background: rgba(207, 36, 24, 0.08);
  border: 1px solid var(--lm-warn);
  color: var(--lm-warn);
  font-family: var(--lm-font-mono);
  font-size: 13px;
  margin: 24px 0;
}
.lm-orderpay-form { display: flex; flex-direction: column; gap: 16px; }

/* Promo ladder (cart panel) */
.lm-promo-ladder-wrap { padding: 14px 0; }
.lm-promo-ladder-head {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
}
.lm-promo-ladder-track,
.lm-promo-ladder {
  position: relative;
  height: 6px;
  background: var(--lm-rule);
  border-radius: 999px;
}
.lm-promo-ladder-fill {
  position: absolute;
  inset: 0;
  width: 0;
  background: var(--lm-accent);
  border-radius: 999px;
  transition: width 0.32s ease;
}
.lm-promo-ladder-mark, .lm-promo-mark-pin {
  position: absolute;
  top: -4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--lm-paper);
  border: 2px solid var(--lm-ink);
  transform: translateX(-50%);
}
.lm-promo-mark-lbl {
  position: absolute;
  top: 14px;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  transform: translateX(-50%);
  white-space: nowrap;
}
.lm-promo-mark-disc { background: var(--lm-accent) !important; border-color: var(--lm-accent) !important; }
.lm-promo-ladder-sep { display: none; }
.lm-promo-ico { color: var(--lm-accent); font-size: 14px; margin-right: 6px; }

/* Cart line item — used on /cart/ page */
.lm-cart-line {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--lm-rule);
  align-items: start;
}
.lm-cart-line-name { font-family: var(--lm-font-sans); font-size: 16px; font-weight: 600; margin: 0; }
.lm-cart-line-flavor { font-family: var(--lm-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--lm-ink-2); margin: 4px 0; }
.lm-cart-line-qty { display: inline-flex; align-items: center; gap: 12px; margin-top: 10px; }
.lm-cart-line-total {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 20px;
  color: var(--lm-accent);
  letter-spacing: -0.02em;
}

/* Badges */
.lm-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}
.lm-badge--purple { background: var(--lm-accent); color: var(--lm-paper); border-color: var(--lm-accent); }
.lm-badge--pale { background: transparent; color: var(--lm-accent); border-color: var(--lm-accent); }

/* CTA band (full-bleed coloured strip) */
.lm-cta-band {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 80px var(--lm-pad-x);
  text-align: center;
  margin: 0;
}
.lm-cta-band h2, .lm-cta-band h3 { color: var(--lm-paper); margin: 0 auto 18px; max-width: 760px; }
.lm-cta-band p { color: rgba(255,255,255,0.75); font-size: 17px; line-height: 1.55; max-width: 640px; margin: 0 auto 28px; }

/* Note */
.lm-note-soft {
  padding: 14px 18px;
  background: var(--lm-paper-4);
  border-left: 3px solid var(--lm-accent);
  font-size: 14px;
  color: var(--lm-ink-2);
  margin: 18px 0;
  line-height: 1.6;
}

/* Stack utility */
.lm-stack-lg > * + * { margin-top: 28px; }
.lm-fs-sm { font-size: 13px; }

/* Stamp */
.lm-stamp, .lm-stamp-y {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--lm-accent);
  color: var(--lm-paper);
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
}

/* Star (rating) */
.lm-star { color: var(--lm-accent); }

/* Display + label utilities */
.lm-display { font-family: var(--lm-font-display); font-weight: 900; letter-spacing: -0.028em; line-height: 0.94; }
.lm-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}

/* Flavor list (chip-row variant) */
.lm-flavor-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}
.lm-flavor-list > li {
  padding: 12px 16px;
  border: 1px solid var(--lm-rule);
  font-size: 14px;
  background: var(--lm-paper);
  transition: border-color 0.15s ease;
}
.lm-flavor-list > li:hover { border-color: var(--lm-ink); }
.lm-flavor-list > li a { color: var(--lm-ink); text-decoration: none; display: block; }

.lm-flavor-spec {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 32px;
  margin: 24px 0;
}
.lm-flavor-spec dt {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  padding: 14px 0;
  border-top: 1px solid var(--lm-rule);
}
.lm-flavor-spec dd {
  font-size: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--lm-rule);
  margin: 0;
}

.lm-flavor-cat-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 700px) { .lm-flavor-cat-products { grid-template-columns: 1fr; } }

/* Article-basic (lighter article shell for policy / order pages) */
.lm-article-basic {
  max-width: 880px;
  margin: 0 auto;
  padding: 56px var(--lm-pad-x);
  font-size: 16px;
  line-height: 1.7;
}
.lm-article-basic h1 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: -0.028em;
  line-height: 0.96;
  margin: 0 0 18px;
}
.lm-article-basic h2 { margin-top: 48px; margin-bottom: 16px; }
.lm-article-basic h3 { margin-top: 28px; margin-bottom: 12px; }
.lm-article-basic p { margin: 0 0 18px; }
.lm-article-basic ul, .lm-article-basic ol { margin: 0 0 22px 24px; }
.lm-article-basic li { margin-bottom: 8px; }
.lm-article-basic strong { font-weight: 600; color: var(--lm-ink); }

/* Cart points + earn line */
.lm-cart-points {
  padding: 12px 0;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
}
.lm-cart-earn-line {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lm-accent);
}

/* Chat err / typing */
.lm-chat-typing { color: var(--lm-ink-2); font-style: italic; font-size: 12px; }

/* ── 18. Per-PDP signature modules (Direction A) ──────────────────── */

/* Eyebrow on-dark (used inside black slabs across all PDPs) */
.lm-eyebrow-on-dark {
  color: rgba(255,255,255,0.55) !important;
}
.lm-eyebrow-on-dark::before { background: var(--lm-accent-2) !important; }

/* All "edition band" sections share the dark slab shell */
.lm-pdp-edition-band,
.lm-pdp-explainer-dark {
  background: var(--lm-black);
  color: var(--lm-paper);
  padding: 96px var(--lm-pad-x);
  position: relative;
  overflow: hidden;
}
.lm-pdp-edition-band h2,
.lm-pdp-explainer-dark h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(36px, 5vw, 72px);
  letter-spacing: -0.028em;
  line-height: 0.94;
  color: var(--lm-paper);
  margin: 14px 0 24px;
}
.lm-pdp-edition-band p,
.lm-pdp-explainer-dark p {
  color: rgba(255,255,255,0.75);
}
.lm-pdp-edition-band .lm-container,
.lm-pdp-explainer-dark .lm-container {
  position: relative;
  z-index: 1;
}
.lm-pdp-edition-lead {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75) !important;
  max-width: 760px;
  margin: 0 0 56px !important;
}

/* ── Nera Pod refill warning banner ── */
.lm-pdp-refill-band {
  padding: 0 var(--lm-pad-x);
  margin-top: 0;
  background: var(--lm-black);
}
.lm-refill-banner {
  max-width: var(--lm-max-w);
  margin: 0 auto;
  padding: 20px 24px;
  background: var(--lm-warn);
  color: var(--lm-paper);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}
.lm-refill-tag {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lm-paper);
  margin: 0;
  font-weight: 600;
}
.lm-refill-headline {
  font-family: var(--lm-font-sans);
  font-size: 17px;
  font-weight: 600;
  margin: 0;
  flex: 1;
  min-width: 280px;
  line-height: 1.4;
}
.lm-refill-cta {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-paper);
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
}
.lm-refill-cta:hover { color: var(--lm-paper); opacity: 0.85; }

/* ── How-it-fits schematic (Nera Pod) ── */
.lm-pod-schematic {
  display: grid;
  grid-template-columns: auto auto auto 1fr;
  gap: 32px;
  align-items: center;
  padding: 40px;
  background: var(--lm-paper);
  border: 1px dashed var(--lm-rule);
  margin: 32px 0;
}
.lm-pod-schematic-step { text-align: center; }
.lm-pod-schematic-icon {
  width: 80px;
  height: 110px;
  background: var(--lm-paper-4);
  border: 1px solid var(--lm-rule);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  font-weight: 600;
  color: var(--lm-ink-2);
  line-height: 1.4;
  gap: 4px;
}
.lm-pod-schematic-icon[data-tone="pod"] {
  background: linear-gradient(135deg, rgba(138,63,252,0.08) 0%, transparent 100%);
  border-color: var(--lm-accent-pale);
}
.lm-pod-schematic-icon[data-tone="kit"] {
  background: linear-gradient(135deg, rgba(13,13,14,0.05) 0%, transparent 100%);
  border-color: var(--lm-ink);
}
.lm-pod-schematic-icon small {
  font-size: 8.5px;
  letter-spacing: 0.18em;
  display: block;
  margin-top: 4px;
  color: var(--lm-ink-2);
  font-weight: 400;
}
.lm-pod-schematic-lbl {
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin: 10px 0 0;
}
.lm-pod-schematic-arrow {
  font-family: var(--lm-font-display);
  font-size: 32px;
  color: var(--lm-accent);
  font-weight: 900;
}
.lm-pod-schematic-note {
  font-size: 14px;
  color: var(--lm-ink-2);
  line-height: 1.55;
  margin: 0;
}
.lm-refill-firstbuy {
  padding: 20px 24px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  font-size: 15px;
  line-height: 1.55;
}
.lm-refill-firstbuy strong { color: var(--lm-ink); font-weight: 600; }
.lm-refill-firstbuy a {
  color: var(--lm-accent);
  border-bottom: 1px solid var(--lm-accent);
  text-decoration: none;
}
@media (max-width: 800px) {
  .lm-pod-schematic { grid-template-columns: 1fr; gap: 18px; padding: 28px; }
  .lm-pod-schematic-arrow { transform: rotate(90deg); }
}

/* ── Ultrasonic coilless explainer ── */
.lm-pdp-explainer-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 30%, var(--lm-accent) 0%, transparent 45%);
  opacity: 0.08;
  pointer-events: none;
}
.lm-pdp-explainer-lead {
  font-size: 19px !important;
  line-height: 1.6;
  color: rgba(255,255,255,0.78) !important;
  max-width: 780px;
  margin: 0 0 56px !important;
}
.lm-pdp-explainer-lead strong { color: var(--lm-accent-2); font-weight: 700; }
.lm-coilless-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding-top: 48px;
  border-top: 1px solid rgba(255,255,255,0.18);
  margin-bottom: 64px;
}
.lm-coilless-card { color: var(--lm-paper); }
.lm-coilless-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin: 0 0 12px;
}
.lm-coilless-label-accent { color: var(--lm-accent-2) !important; }
.lm-coilless-desc {
  font-family: var(--lm-font-sans);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--lm-paper) !important;
  margin: 0 0 24px !important;
}
.lm-coilless-bar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(255,255,255,0.2);
}
.lm-coilless-bar.is-coil {
  background: linear-gradient(90deg, var(--lm-accent) 0%, var(--lm-accent) 65%, var(--lm-warn) 100%);
}
.lm-coilless-bar.is-ultra { background: var(--lm-accent); }
.lm-coilless-step {
  padding: 10px 12px;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-paper);
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.18);
}
.lm-coilless-step:last-child { border-right: 0; }
.lm-coilless-step.is-burnt { background: rgba(207,36,24,0.3); }

.lm-coilless-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding-top: 48px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.lm-coilless-stats > div { color: var(--lm-paper); }
.lm-coilless-stats .lm-stat-num {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 56px;
  letter-spacing: -0.04em;
  line-height: 0.96;
  color: var(--lm-accent-2);
}
.lm-coilless-stats .lm-stat-label {
  font-family: var(--lm-font-sans);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--lm-paper);
  margin: 12px 0 4px;
}
.lm-coilless-stat-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 900px) {
  .lm-coilless-compare { grid-template-columns: 1fr; gap: 32px; }
  .lm-coilless-stats { grid-template-columns: 1fr; gap: 28px; }
}

/* ── MT35000 Lemonade Edition slab ── */
.lm-pdp-edition-lemonade::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 30%, #d4a73c 0%, transparent 45%);
  opacity: 0.04;
}
.lm-pdp-edition-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  padding-top: 24px;
}
.lm-pdp-edition-grid > div {
  padding-top: 24px;
  border-top: 1px solid #d4a73c;
}
.lm-pdp-edition-num {
  display: block;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #d4a73c;
  font-weight: 600;
}
.lm-pdp-edition-grid h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: -0.024em;
  line-height: 1.1;
  color: var(--lm-paper) !important;
  margin: 14px 0 12px;
}
.lm-pdp-edition-grid p {
  font-size: 13px;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 1024px) {
  .lm-pdp-edition-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .lm-pdp-edition-grid { grid-template-columns: 1fr; }
}

/* ── Quasar Cosmos slab ── */
.lm-pdp-edition-cosmos::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(2px 2px at 18% 22%, white, transparent),
    radial-gradient(1.5px 1.5px at 78% 48%, var(--lm-accent-2), transparent),
    radial-gradient(2px 2px at 48% 72%, white, transparent),
    radial-gradient(1.2px 1.2px at 32% 82%, white, transparent),
    radial-gradient(2.5px 2.5px at 68% 18%, var(--lm-accent-2), transparent),
    radial-gradient(1.5px 1.5px at 88% 78%, white, transparent);
  opacity: 0.4;
}
.lm-pdp-cosmos-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  padding-top: 24px;
}
.lm-pdp-cosmos-grid > div {
  padding: 18px 16px;
  border: 1px solid var(--lm-rule-d);
  position: relative;
  background: rgba(0,0,0,0.4);
}
.lm-pdp-cosmos-grid > div::after {
  content: "✦";
  position: absolute;
  top: 8px;
  right: 10px;
  color: var(--lm-accent-2);
  font-size: 11px;
}
.lm-pdp-cosmos-num {
  display: block;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--lm-accent-2);
  font-weight: 600;
}
.lm-pdp-cosmos-grid p {
  font-family: var(--lm-font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--lm-paper) !important;
  line-height: 1.25;
  margin: 8px 0 0;
}
@media (max-width: 900px) { .lm-pdp-cosmos-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .lm-pdp-cosmos-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── MO20000 Space + Super editions ── */
.lm-pdp-mo-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.lm-pdp-mo-card {
  padding: 32px;
  border: 1px solid;
}
.lm-pdp-mo-card-space { border-color: #7a4a8e; }
.lm-pdp-mo-card-super { border-color: #c46aae; }
.lm-pdp-mo-card-tag {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 12px !important;
  font-weight: 600;
}
.lm-pdp-mo-card-space .lm-pdp-mo-card-tag { color: #a06bcb !important; }
.lm-pdp-mo-card-super .lm-pdp-mo-card-tag { color: #d68ac0 !important; }
.lm-pdp-mo-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 32px;
  letter-spacing: -0.028em;
  line-height: 1.0;
  color: var(--lm-paper) !important;
  margin: 0 0 18px;
}
.lm-pdp-mo-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lm-pdp-mo-card li {
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  padding-left: 20px;
  position: relative;
}
.lm-pdp-mo-card li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--lm-accent-2);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  top: 0;
}
@media (max-width: 800px) { .lm-pdp-mo-dual { grid-template-columns: 1fr; gap: 20px; } }

/* ── MT15000 Weekly Edition calendar widget ── */
.lm-pdp-weekly {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  margin-top: 32px;
}
.lm-pdp-weekly-head {
  padding: 18px 28px;
  border-bottom: 1px solid var(--lm-rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  flex-wrap: wrap;
  gap: 8px;
}
.lm-pdp-weekly-drop { color: var(--lm-ink); font-weight: 600; }
.lm-pdp-weekly-next { color: var(--lm-accent); font-weight: 600; }
.lm-pdp-weekly-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.lm-pdp-weekly-day {
  padding: 24px;
  border-right: 1px solid var(--lm-rule);
}
.lm-pdp-weekly-day:last-child { border-right: 0; }
.lm-pdp-weekly-dow {
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  display: block;
}
.lm-pdp-weekly-day p {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.022em;
  line-height: 1.15;
  margin: 8px 0 0 !important;
  color: var(--lm-ink) !important;
}
@media (max-width: 900px) {
  .lm-pdp-weekly-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-pdp-weekly-day { border-right: 0; border-bottom: 1px solid var(--lm-rule); }
  .lm-pdp-weekly-day:nth-child(odd) { border-right: 1px solid var(--lm-rule); }
}

/* ── Nera Kit "Modular flagship" 4-step story ── */
.lm-pdp-modular-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.lm-pdp-modular-num {
  display: block;
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 42px;
  letter-spacing: -0.03em;
  color: var(--lm-accent-2);
  line-height: 1.0;
}
.lm-pdp-modular-grid h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 20px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  color: var(--lm-paper) !important;
  margin: 16px 0 10px;
}
.lm-pdp-modular-grid p {
  font-size: 13px;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 900px) { .lm-pdp-modular-grid { grid-template-columns: 1fr 1fr; gap: 20px; } }
@media (max-width: 500px) { .lm-pdp-modular-grid { grid-template-columns: 1fr; } }

/* Section eyebrow style for paper sections — add purple dot too */
.lm-pdp-section .lm-eyebrow:not(.lm-eyebrow-on-dark) { color: var(--lm-ink-2); }

/* ── 19. Flavor single page — hero + 5-axis profile + device grid
   (Direction A flavor-single spec — image #10 / 2026-05-23 user feedback). */

.lm-flavor-hero {
  padding: 80px var(--lm-pad-x);
  background: linear-gradient(180deg, #f6f3ff 0%, var(--lm-paper) 100%);
}
.lm-flavor-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  max-width: var(--lm-max-w);
  margin: 0 auto;
  align-items: center;
}
.lm-flavor-hero-text { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.lm-flavor-hero-text .lm-eyebrow { margin-bottom: 14px; }
.lm-flavor-hero-text h1 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(40px, 6vw, 84px);
  letter-spacing: -0.028em;
  line-height: 0.94;
  margin: 0 0 24px;
  color: var(--lm-ink);
}
.lm-flavor-hero-lead {
  font-size: 19px;
  line-height: 1.5;
  color: var(--lm-ink);
  margin: 0 0 18px;
  font-weight: 500;
}
.lm-flavor-hero-body {
  font-size: 16px;
  line-height: 1.65;
  color: var(--lm-ink-2);
  margin: 0 0 32px;
}
.lm-flavor-hero-meta {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin: 0;
}

/* Still-life square — coloured gradient panel with giant faded initials */
.lm-flavor-hero-still {
  position: relative;
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, #4f3aa8 0%, #1a1140 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
/* Tone variations per flavor family — different family = different gradient */
.lm-flavor-hero-still[data-family="berry"]    { background: linear-gradient(135deg, #4f3aa8 0%, #1a1140 100%); }
.lm-flavor-hero-still[data-family="fruit"]    { background: linear-gradient(135deg, #b25431 0%, #4a1c0e 100%); }
.lm-flavor-hero-still[data-family="tropical"] { background: linear-gradient(135deg, #d5934d 0%, #5a3416 100%); }
.lm-flavor-hero-still[data-family="mint"],
.lm-flavor-hero-still[data-family="menthol"]  { background: linear-gradient(135deg, #2d8c7a 0%, #0e3530 100%); }
.lm-flavor-hero-still[data-family="citrus"]   { background: linear-gradient(135deg, #c8a544 0%, #4f3d12 100%); }
.lm-flavor-hero-still[data-family="candy"]    { background: linear-gradient(135deg, #c44a85 0%, #4a1832 100%); }
.lm-flavor-hero-still[data-family="lemonade"] { background: linear-gradient(135deg, #d4a73c 0%, #5a4112 100%); }
.lm-flavor-hero-still[data-family="dessert"]  { background: linear-gradient(135deg, #8a5a3a 0%, #2c1a0e 100%); }
.lm-flavor-hero-still[data-family="cosmos"]   { background: linear-gradient(135deg, #6f5acb 0%, #06061a 100%); }
.lm-flavor-hero-bigletter {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(120px, 18vw, 240px);
  letter-spacing: -0.05em;
  color: rgba(255,255,255,0.06);
  line-height: 0.85;
}
.lm-flavor-hero-cap {
  position: absolute;
  bottom: 18px;
  left: 18px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

@media (max-width: 900px) {
  .lm-flavor-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .lm-flavor-hero-still { max-width: 480px; margin: 0 auto; width: 100%; }
}

/* ── 5-axis flavor profile section ── */
.lm-flavor-axis-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  max-width: var(--lm-max-w);
  margin: 0 auto;
  align-items: start;
}
.lm-flavor-axis-grid h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.026em;
  line-height: 1.0;
  margin: 14px 0 18px;
}
.lm-flavor-axis-note {
  font-size: 14px;
  color: var(--lm-ink-2);
  line-height: 1.55;
  margin: 0;
}
.lm-flavor-axis-body { min-width: 0; }
.lm-flavor-axis-row {
  display: grid;
  grid-template-columns: 110px 1fr 56px;
  gap: 24px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--lm-rule);
}
.lm-flavor-axis-row:first-child { border-top: 1px solid var(--lm-ink); }
.lm-flavor-axis-lbl {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink);
  font-weight: 600;
}
.lm-flavor-axis-bars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
.lm-flavor-axis-bar {
  height: 8px;
  background: var(--lm-rule);
}
.lm-flavor-axis-bar.is-on { background: var(--lm-accent); }
.lm-flavor-axis-val {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  text-align: right;
  color: var(--lm-ink);
}
.lm-flavor-tasting {
  margin-top: 32px;
}
.lm-flavor-tasting .lm-eyebrow {
  margin-bottom: 12px;
}
.lm-flavor-tasting p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--lm-ink);
  margin: 0;
}

@media (max-width: 900px) {
  .lm-flavor-axis-grid { grid-template-columns: 1fr; gap: 32px; }
  .lm-flavor-axis-row { grid-template-columns: 90px 1fr 40px; gap: 12px; }
  .lm-flavor-axis-val { font-size: 18px; }
}

/* ── Pick your device — image + numbered 6-up card grid ── */
.lm-flavor-cat-products {
  padding: 80px var(--lm-pad-x) !important;
  text-align: center;     /* center heading + lead; cards override to left */
}
.lm-flavor-cat-products > .lm-container {
  max-width: var(--lm-max-w);
  margin: 0 auto;
}
.lm-flavor-cat-products .lm-eyebrow {
  margin: 0 auto 14px;
  display: inline-flex;
}
.lm-flavor-cat-products > .lm-container > h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(34px, 4vw, 54px);
  letter-spacing: -0.028em;
  line-height: 0.96;
  margin: 14px auto 14px;
  text-align: center;
}
.lm-flavor-cat-products .lm-section-lead {
  font-size: 16px;
  color: var(--lm-ink-2);
  line-height: 1.55;
  margin: 0 auto 40px;
  text-align: center;
  max-width: 640px;
}

/* Vertical card: image on top (full card width, fixed aspect), meta + number
   + price + arrow below. Cleaner than horizontal 4-col grid which squeezed
   the title into narrow wrap-per-word columns. */
.lm-flavor-device-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: left;
}
.lm-flavor-device-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  text-decoration: none;
  color: var(--lm-ink);
  transition: border-color 0.18s ease, transform 0.18s ease;
  overflow: hidden;
}
.lm-flavor-device-card:hover {
  border-color: var(--lm-ink);
  transform: translateY(-2px);
  color: var(--lm-ink);
}
.lm-flavor-device-card.is-oos { opacity: 0.4; pointer-events: none; }

/* Numbered badge sits absolute over the image — mono caps, paper bg pill */
.lm-flavor-device-num {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: var(--lm-ink-2);
  font-weight: 600;
}

/* Image area: full card width, fixed 1:1 aspect, paper-4 fallback bg */
.lm-flavor-device-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--lm-paper-4);
  border-bottom: 1px solid var(--lm-rule);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.lm-flavor-device-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  padding: 16px;
  display: block;
}
.lm-flavor-device-img-fallback {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.028em;
  line-height: 1.0;
  color: var(--lm-ink-faint);
  text-align: center;
  padding: 0 16px;
}

/* Meta area below */
.lm-flavor-device-meta {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px;
  flex: 1;
  min-width: 0;
}
.lm-flavor-device-meta h3 {
  font-family: var(--lm-font-display) !important;
  font-weight: 900 !important;
  font-size: 22px !important;
  letter-spacing: -0.024em !important;
  line-height: 1.05 !important;
  margin: 0 0 8px !important;
  color: var(--lm-ink) !important;
}
.lm-flavor-device-meta > p {
  font-size: 13.5px !important;
  color: var(--lm-ink-2) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1;
}
.lm-flavor-device-price {
  font-family: var(--lm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--lm-accent) !important;
  margin: 14px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--lm-rule) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-weight: 600 !important;
}
.lm-flavor-device-arrow {
  position: absolute;
  bottom: 22px;
  right: 22px;
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 20px;
  color: var(--lm-accent);
  line-height: 1;
  transition: transform 0.18s ease;
  z-index: 3;
}
.lm-flavor-device-card:hover .lm-flavor-device-arrow { transform: translateX(4px); }

@media (max-width: 1024px) {
  .lm-flavor-device-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .lm-flavor-device-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* SR-only utility (already in tokens but ensure present) */
.lm-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── 13. Index page / home-specific selectors ───────────────────── */

/* Home hero: 2-col grid (text + art) on desktop, stack on mobile */
.lm-hero-inner {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
.lm-hero-text { min-width: 0; }
.lm-hero-art img,
.lm-hero-art picture,
.lm-hero-art .lm-hero-img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--lm-rule-d);
  filter: contrast(1.05);
}
.lm-hero-answer {
  font-size: 17px;
  color: rgba(255,255,255,0.78);
  line-height: 1.7;
  margin: 24px 0 0;
}
.lm-hero-trust {
  list-style: none;
  padding: 0;
  margin: 56px 0 0;
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 28px;
}
.lm-hero-trust li {
  font-family: var(--lm-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  padding-right: 32px;
  margin-right: 32px;
  border-right: 1px solid rgba(255,255,255,0.12);
}
.lm-hero-trust li:last-child { border-right: 0; padding-right: 0; margin-right: 0; }

/* Section utilities (lm-section / lm-section-soft / lm-section-narrow) */
.lm-section { padding: 96px var(--lm-pad-x); background: var(--lm-paper); }
.lm-section-soft { background: var(--lm-paper-2); }
.lm-section-narrow { max-width: 880px; margin: 0 auto; padding: 96px var(--lm-pad-x); }
.lm-section-lead {
  font-size: 18px;
  color: var(--lm-ink-2);
  line-height: 1.55;
  max-width: 720px;
  margin: 18px 0 48px;
}
.lm-section-cta { margin-top: 40px; }
.lm-section h2 + p,
.lm-container > h2 + p { margin-top: 18px; }

.lm-container { max-width: var(--lm-max-w); margin: 0 auto; padding: 0; }
.lm-container-narrow { max-width: 880px; margin: 0 auto; }

/* Product grid (used on home + collections) */
.lm-grid-3, .lm-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.lm-product-card {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  padding: 0;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--lm-ink);
  position: relative;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.lm-product-card:hover { border-color: var(--lm-ink); transform: translateY(-2px); color: var(--lm-ink); }
.lm-product-card img {
  width: 100%;
  height: 280px;
  object-fit: contain;
  background: var(--lm-paper-2);
  border-bottom: 1px solid var(--lm-rule);
  padding: 24px;
}
.lm-product-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: -0.024em;
  line-height: 1.05;
  margin: 0 24px;
  padding: 22px 0 8px;
}
.lm-card-tagline {
  font-family: var(--lm-font-sans) !important;
  font-size: 14px !important;
  color: var(--lm-ink-2) !important;
  line-height: 1.55 !important;
  margin: 0 24px 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: block !important;
  flex: 1;
}
.lm-card-price {
  margin: 0 24px 22px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--lm-rule) !important;
  font-family: var(--lm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--lm-ink-2) !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--lm-rule) !important;
  border-radius: 0 !important;
}
.lm-card-price strong {
  font-family: var(--lm-font-display) !important;
  font-weight: 900 !important;
  font-size: 30px !important;
  color: var(--lm-accent) !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}
.lm-card-price::after {
  content: "VIEW →";
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lm-accent);
}
.lm-product-card:hover .lm-card-price::after { color: var(--lm-ink); }

/* Tags (used on top of product cards) */
.lm-tag, .lm-tag--purple, .lm-tag--pale {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  background: var(--lm-paper);
  color: var(--lm-ink);
  border: 1px solid var(--lm-rule);
  padding: 5px 12px;
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 999px;
}
.lm-tag--purple {
  background: var(--lm-accent);
  color: var(--lm-paper);
  border-color: var(--lm-accent);
}

/* USP cards (3-up trust strip on home) — override legacy extras.css which
   sets `border-left: 4px solid var(--lm-accent)` on .lm-usp-card. */
.lm-usp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--lm-ink);
}
.lm-usp-grid.lm-grid-2 { grid-template-columns: repeat(2, 1fr) !important; }
.lm-usp-grid.lm-grid-2 .lm-usp-card:nth-child(2n) { border-right: 0 !important; }
.lm-usp-grid.lm-grid-2 .lm-usp-card:nth-child(n+3) { border-top: 1px solid var(--lm-rule) !important; padding-top: 32px !important; }
@media (max-width: 800px) {
  .lm-usp-grid, .lm-usp-grid.lm-grid-2 { grid-template-columns: 1fr !important; }
  .lm-usp-grid .lm-usp-card, .lm-usp-grid.lm-grid-2 .lm-usp-card { border-right: 0 !important; padding-left: 0 !important; }
}
.lm-usp-card {
  padding: 32px 28px 28px 28px !important;
  border-right: 1px solid var(--lm-rule) !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.lm-usp-card:first-child { padding-left: 0 !important; }
.lm-usp-card:last-child { border-right: 0 !important; padding-right: 0 !important; }
.lm-usp-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 26px;
  letter-spacing: -0.022em;
  line-height: 1.0;
  margin: 0 0 14px;
}
.lm-usp-card p { font-size: 15px; color: var(--lm-ink-2); line-height: 1.6; margin: 0; }

/* Flavor preview (chip row on home) */
.lm-flavor-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 32px 0 24px;
}
.lm-flavor-preview .lm-flavor-chip,
.lm-flavor-chip {
  display: inline-flex;
  padding: 8px 16px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-size: 13px;
  color: var(--lm-ink);
  background: var(--lm-paper);
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.lm-flavor-preview .lm-flavor-chip:hover,
.lm-flavor-chip:hover {
  border-color: var(--lm-ink);
  background: var(--lm-ink);
  color: var(--lm-paper);
}

/* Guide cards on home */
.lm-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.lm-guide-card {
  display: block;
  padding: 32px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  text-decoration: none;
  color: var(--lm-ink);
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.lm-guide-card:hover { border-color: var(--lm-ink); transform: translateY(-2px); color: var(--lm-ink); }
.lm-guide-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0 0 14px;
}
.lm-guide-card p { font-size: 14px; color: var(--lm-ink-2); line-height: 1.55; margin: 0; }

/* Inline FAQ (home QA + faq page) */
details.lm-faq {
  border-top: 1px solid var(--lm-rule);
  padding: 24px 0;
  margin: 0;
}
details.lm-faq:last-of-type { border-bottom: 1px solid var(--lm-rule); }
details.lm-faq summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--lm-font-sans);
  font-size: 17px;
  font-weight: 600;
  color: var(--lm-ink);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
details.lm-faq summary::after {
  content: "+";
  font-family: var(--lm-font-display);
  font-size: 22px;
  color: var(--lm-accent);
  line-height: 1;
  transition: transform 0.18s ease;
  flex-shrink: 0;
}
details.lm-faq[open] summary::after { transform: rotate(45deg); }
details.lm-faq p {
  margin-top: 14px;
  font-size: 15px;
  color: var(--lm-ink-2);
  line-height: 1.65;
}

/* ── 14a. PDP — product-cart island + spec rows ─────────────────── */

/* PDP hero structure — black slab, paper media box, large display H1 */
.lm-pdp-hero, .lm-pdp-page {
  background: var(--lm-black) !important;
  color: var(--lm-paper) !important;
  padding: 64px var(--lm-pad-x) 96px !important;
  border-top: 0 !important;
  position: relative;
  overflow: hidden;
}
.lm-pdp-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0;
  background: radial-gradient(circle at 78% 30%, var(--lm-accent) 0%, transparent 45%);
  opacity: 0.06;
  pointer-events: none;
  display: block !important;
}
.lm-pdp-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px !important;
  max-width: var(--lm-max-w);
  margin: 0 auto;
  align-items: start !important;
  padding: 0 !important;
  position: relative;
  z-index: 1;
}
.lm-pdp-media {
  background: var(--lm-paper) !important;
  border: 1px solid var(--lm-rule-d) !important;
  padding: 20px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 0 !important;
  overflow: hidden;
}
.lm-pdp-main-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  padding: 0 !important;
  filter: none;
}
.lm-pdp-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.lm-pdp-eyebrow {
  font-family: var(--lm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--lm-accent-2) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content;
}
.lm-pdp-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--lm-accent-2);
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.lm-pdp-title {
  font-family: var(--lm-font-display) !important;
  font-weight: 900 !important;
  font-size: clamp(32px, 4.2vw, 54px) !important;
  letter-spacing: -0.028em !important;
  line-height: 0.98 !important;
  color: var(--lm-paper) !important;
  margin: 0 !important;
}
.lm-pdp-tagline {
  font-size: 16px !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* PDP info elements on black hero — flavor block + chips + price + qty + CTA */
.lm-pdp-hero .lm-pdp-flavor-label,
.lm-pdp-hero .lm-pdp-flavor-count {
  color: rgba(255,255,255,0.65) !important;
}
.lm-pdp-hero .lm-pdp-flavor-label strong { color: var(--lm-paper) !important; }
.lm-pdp-hero .lm-pdp-flavor-chip {
  background: transparent !important;
  color: rgba(255,255,255,0.85) !important;
  border-color: rgba(255,255,255,0.22) !important;
}
.lm-pdp-hero .lm-pdp-flavor-chip:hover { border-color: var(--lm-paper) !important; color: var(--lm-paper) !important; }
.lm-pdp-hero .lm-pdp-flavor-chip.is-selected {
  background: var(--lm-accent) !important;
  border-color: var(--lm-accent) !important;
  color: var(--lm-paper) !important;
}
.lm-pdp-hero .lm-pdp-price-block {
  border-top: 1px solid rgba(255,255,255,0.18) !important;
  border-bottom: 1px solid rgba(255,255,255,0.18) !important;
  padding: 18px 0 !important;
}
.lm-pdp-hero .lm-pdp-price-now { color: var(--lm-accent-2) !important; }
.lm-pdp-hero .lm-pdp-price-was { color: rgba(255,255,255,0.4) !important; }
.lm-pdp-hero .lm-pdp-price-save {
  background: var(--lm-accent) !important;
  color: var(--lm-paper) !important;
}
.lm-pdp-hero .lm-pdp-price-rewards {
  color: var(--lm-accent-2) !important;
  border-color: var(--lm-accent-2) !important;
}
.lm-pdp-hero .lm-pdp-qty {
  border-color: var(--lm-paper) !important;
  background: transparent !important;
}
.lm-pdp-hero .lm-pdp-qty input,
.lm-pdp-hero .lm-pdp-qty .lm-qty-btn {
  color: var(--lm-paper) !important;
  background: transparent !important;
}
.lm-pdp-hero .lm-pdp-trust {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.18) !important;
  color: rgba(255,255,255,0.65) !important;
  padding: 24px 0 0 !important;
}
.lm-pdp-hero .lm-pdp-trust li {
  color: rgba(255,255,255,0.7) !important;
  font-family: var(--lm-font-sans) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 13px !important;
}
.lm-pdp-hero .lm-pdp-msg { color: var(--lm-accent-2) !important; }

/* Price block */
.lm-pdp-price-block {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--lm-rule);
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 14px;
}
.lm-pdp-price-now {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 56px;
  color: var(--lm-accent);
  letter-spacing: -0.03em;
  line-height: 0.96;
}
.lm-pdp-price-was {
  font-family: var(--lm-font-mono);
  font-size: 16px;
  color: var(--lm-ink-faint);
  text-decoration: line-through;
}
.lm-pdp-price-save {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--lm-accent);
  color: var(--lm-paper);
  padding: 4px 10px;
}
.lm-pdp-price-rewards {
  font-family: var(--lm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--lm-accent) !important;
  background: transparent !important;
  border: 1px solid var(--lm-accent) !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  margin-top: 0 !important;
  display: inline-flex;
  align-items: center;
  width: auto !important;
}
.lm-pdp-price-block + .lm-pdp-price-rewards,
.lm-pdp-price-rewards-row {
  margin-top: 12px !important;
}

/* Flavor block */
.lm-pdp-flavor-block { margin-top: 32px; }
.lm-pdp-flavor-label {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin: 0 0 14px;
}
.lm-pdp-flavor-label strong {
  font-family: var(--lm-font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--lm-ink);
  text-transform: none;
  letter-spacing: 0;
  margin-left: 4px;
}
.lm-pdp-flavor-count { color: var(--lm-ink-2); margin-left: 8px; }

.lm-pdp-edition-heading {
  background: transparent;
  color: var(--lm-accent);
  border: 0;
  padding: 0;
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 22px 0 10px;
  display: block;
}
.lm-pdp-flavor-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lm-pdp-flavor-chip {
  display: inline-flex;
  padding: 8px 14px;
  border: 1px solid var(--lm-rule);
  border-radius: 999px;
  font-family: var(--lm-font-sans);
  font-size: 13px;
  background: var(--lm-paper);
  color: var(--lm-ink);
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.lm-pdp-flavor-chip:hover { border-color: var(--lm-ink); }
.lm-pdp-flavor-chip.is-selected {
  background: var(--lm-ink);
  color: var(--lm-paper);
  border-color: var(--lm-ink);
}

/* Action row */
.lm-pdp-action-row {
  display: flex;
  align-items: stretch;
  gap: 14px;
  margin-top: 32px;
}
.lm-pdp-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--lm-ink);
  border-radius: 999px;
  overflow: hidden;
  background: var(--lm-paper);
}
.lm-pdp-qty input {
  width: 50px;
  text-align: center;
  border: 0;
  background: transparent;
  font-family: var(--lm-font-sans);
  font-weight: 600;
  font-size: 15px;
  outline: 0;
  padding: 0;
  -moz-appearance: textfield;
}
.lm-pdp-qty input::-webkit-outer-spin-button,
.lm-pdp-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.lm-pdp-qty .lm-qty-btn {
  background: transparent;
  border: 0;
  padding: 12px 16px;
  font-size: 16px;
  cursor: pointer;
}
.lm-pdp-add {
  flex: 1;
  background: var(--lm-accent);
  color: var(--lm-paper);
  border: 1px solid var(--lm-accent);
  border-radius: 999px;
  font-family: var(--lm-font-sans);
  font-size: 14px;
  font-weight: 600;
  padding: 14px 26px;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.12s ease;
}
.lm-pdp-add:hover:not(:disabled) { background: #6320d4; transform: translateY(-1px); }
.lm-pdp-add:disabled { opacity: 0.4; cursor: not-allowed; }
.lm-pdp-msg {
  font-family: var(--lm-font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--lm-accent);
  margin-top: 14px;
}

/* Trust list — explicit override of core.css white box (`background:
   var(--lm-paper-2); border: 1.5px solid ink; padding: 18px 20px`).
   With paper-2 now pure white that legacy rule produced a solid white
   rectangle below Add to Cart on the dark PDP hero (2026-05-23 bug). */
.lm-pdp-trust {
  list-style: none !important;
  margin: 32px 0 0 !important;
  padding: 24px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--lm-rule) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 24px !important;
}
.lm-pdp-trust li {
  font-size: 13px;
  color: var(--lm-ink-2);
  line-height: 1.5;
  font-family: var(--lm-font-sans);
  letter-spacing: 0;
  text-transform: none;
}

/* PDP section blocks (recurring on every PDP) */
.lm-pdp-section {
  padding: 64px var(--lm-pad-x);
  background: var(--lm-paper);
}
.lm-pdp-section-soft {
  background: var(--lm-paper-2);
}
.lm-pdp-section h2 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: -0.022em;
  line-height: 1.05;
  margin: 0 0 24px;
}
.lm-pdp-section p { font-size: 16px; line-height: 1.65; color: var(--lm-ink-2); margin: 0 0 18px; }
.lm-pdp-section strong { color: var(--lm-ink); }

.lm-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
.lm-feature-card {
  padding: 32px 28px;
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  transition: border-color 0.18s ease;
}
.lm-feature-card:hover { border-color: var(--lm-ink); }
.lm-feature-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  line-height: 1.05;
  margin: 0 0 12px;
}
.lm-feature-card p { font-size: 14px; color: var(--lm-ink-2); line-height: 1.6; margin: 0; }

/* Spec table (dl/dt/dd) */
.lm-spec-table {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 32px;
  row-gap: 0;
  margin: 24px 0;
}
.lm-spec-table dt {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  padding: 18px 0;
  border-top: 1px solid var(--lm-rule);
  align-self: center;
}
.lm-spec-table dd {
  font-family: var(--lm-font-sans);
  font-size: 14px;
  color: var(--lm-ink);
  padding: 18px 0;
  border-top: 1px solid var(--lm-rule);
  margin: 0;
}
.lm-spec-table dt:last-of-type, .lm-spec-table dd:last-of-type { border-bottom: 1px solid var(--lm-rule); }

/* PDP responsive */
@media (max-width: 900px) {
  .lm-pdp-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .lm-pdp-media { aspect-ratio: 1 / 1; padding: 28px; max-width: 480px; margin: 0 auto; }
  .lm-pdp-trust { grid-template-columns: 1fr; }
  .lm-feature-grid { grid-template-columns: 1fr; }
  .lm-spec-table { grid-template-columns: 1fr; column-gap: 0; }
  .lm-spec-table dt { padding: 12px 0 4px; border-top: 1px solid var(--lm-rule); }
  .lm-spec-table dd { padding: 0 0 14px; border-top: 0; }
  .lm-spec-table dd + dt { border-top: 1px solid var(--lm-rule); }
}

/* ── 14b. Collection page ────────────────────────────────────────── */

.lm-coll-hero, .lm-coll-page-hero {
  background: var(--lm-paper);
  color: var(--lm-ink);
  padding: 80px var(--lm-pad-x) 48px;
}
.lm-coll-hero::before, .lm-coll-page-hero::before { content: none !important; }
.lm-coll-hero h1, .lm-coll-page-hero h1 { color: var(--lm-ink); }
.lm-coll-hero p, .lm-coll-page-hero p { color: var(--lm-ink-2); }
.lm-coll-filters {
  padding-top: 24px;
  border-top: 1px solid var(--lm-ink);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lm-coll-filter, .lm-coll-filter-chip { /* uses same chip styling */ }

.lm-coll-grid { padding: 32px 0 96px; }

/* ── 14c. Article + blog ────────────────────────────────────────── */

.lm-article-hero, .lm-blog-hero {
  background: var(--lm-paper);
  padding: 80px var(--lm-pad-x) 32px;
  max-width: 880px;
  margin: 0 auto;
}
.lm-article-hero h1, .lm-blog-hero h1 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: clamp(36px, 5.4vw, 72px);
  letter-spacing: -0.028em;
  line-height: 0.96;
  color: var(--lm-ink);
}
.lm-article-meta, .lm-blog-meta {
  font-family: var(--lm-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin: 32px 0 0;
}

/* Blog list / category page */
.lm-blog-list, .lm-blog-grid {
  max-width: var(--lm-max-w);
  margin: 0 auto;
  padding: 64px var(--lm-pad-x);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.lm-blog-card {
  background: var(--lm-paper);
  border: 1px solid var(--lm-rule);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  color: var(--lm-ink);
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.lm-blog-card:hover { border-color: var(--lm-ink); transform: translateY(-2px); color: var(--lm-ink); }
.lm-blog-card-tag {
  display: inline-flex;
  padding: 4px 10px;
  border: 1px solid var(--lm-rule);
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  border-radius: 999px;
  align-self: flex-start;
}
.lm-blog-card h3 {
  font-family: var(--lm-font-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0;
}
.lm-blog-card p { font-size: 14px; color: var(--lm-ink-2); line-height: 1.55; margin: 0; }
.lm-blog-card-meta {
  font-family: var(--lm-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lm-ink-2);
  margin-top: 8px;
}

@media (max-width: 900px) {
  .lm-blog-list, .lm-blog-grid { grid-template-columns: 1fr; padding: 32px var(--lm-pad-x); }
}

/* ── 15. Mobile pass for home ──────────────────────────────────── */

@media (max-width: 1024px) {
  .lm-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .lm-hero-art { order: -1; max-width: 480px; margin: 0 auto; }
  .lm-grid-3, .lm-product-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-guide-grid { grid-template-columns: 1fr; gap: 16px; }
  .lm-usp-grid { grid-template-columns: 1fr; }
  .lm-usp-card { border-right: 0; border-bottom: 1px solid var(--lm-rule); padding: 24px 0; }
  .lm-usp-card:last-child { border-bottom: 0; }
}

@media (max-width: 600px) {
  .lm-hero, .lm-home-hero { padding-top: 48px; padding-bottom: 48px; }
  .lm-hero-trust { flex-direction: column; gap: 12px; align-items: flex-start; }
  .lm-hero-trust li { border-right: 0; padding-right: 0; margin-right: 0; }
  .lm-grid-3, .lm-product-grid { grid-template-columns: 1fr; }
  .lm-product-card img { height: 220px; }
  .lm-section { padding: 56px 20px; }
  .lm-section-soft { padding: 56px 20px; }
}
