/*
Theme Name: Lifoholic 2026
Theme URI: https://lifoholic.com/
Author: Lifoholic
Description: A premium editorial lifestyle WordPress theme with immersive storytelling, category discovery, trending content, newsletter growth areas, and optional WooCommerce curation.
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: lifoholic-2026
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --lh-ink: #172018;
  --lh-muted: #626c62;
  --lh-forest: #0f3b2f;
  --lh-forest-2: #194b3d;
  --lh-forest-dark: #07211a;
  --lh-accent: #a8c64a;
  --lh-accent-dark: #789424;
  --lh-ivory: #f7f4ed;
  --lh-sand: #e7ded0;
  --lh-paper: #fffdf9;
  --lh-line: rgba(23,32,24,.10);
  --lh-shadow: 0 20px 50px rgba(15,35,28,.08);
  --lh-shadow-soft: 0 10px 30px rgba(15,35,28,.04);
  --lh-radius: 20px;
  --lh-radius-sm: 14px;
  --lh-max: 1260px;
  --lh-serif: 'Playfair Display', Georgia, serif;
  --lh-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lh-ink);
  background: var(--lh-paper);
  font-family: var(--lh-sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--lh-forest-2); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--lh-accent); color: #122018; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: #fff; clip: auto !important; clip-path: none; color: #111; display: block;
  font-size: 14px; height: auto; left: 8px; line-height: normal; padding: 12px 16px; top: 8px; width: auto; z-index: 100000;
}

.lh-shell { width: min(calc(100% - 48px), var(--lh-max)); margin-inline: auto; }
.lh-section { padding: 84px 0; }
.lh-section--compact { padding: 56px 0; }

.lh-kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px;
  color: var(--lh-forest); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.lh-display, .lh-section-title, .entry-title { font-family: var(--lh-serif); font-weight: 500; letter-spacing: -.02em; }
.lh-display { font-size: clamp(42px, 5.2vw, 76px); line-height: 1.02; margin: 0; }
.lh-section-title { font-size: clamp(32px, 3.8vw, 48px); line-height: 1.08; margin: 0; }
.lh-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.lh-section-head p { margin: 8px 0 0; max-width: 600px; color: var(--lh-muted); font-size: 15px; }
.lh-text-link { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; font-weight: 700; color: var(--lh-ink); opacity: .85; }
.lh-text-link::after { content: "→"; transition: transform .2s ease; }
.lh-text-link:hover { opacity: 1; color: var(--lh-forest); }
.lh-text-link:hover::after { transform: translateX(4px); }

/* Header */
.lh-site-header {
  position: sticky; top: 0; z-index: 1000; background: rgba(255,253,249,.94); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(23,32,24,.07); transition: box-shadow .25s ease, background .25s ease;
}
.lh-site-header.is-scrolled { box-shadow: 0 8px 30px rgba(12,30,23,.06); background: rgba(255,253,249,.98); }
.lh-header-inner { min-height: 80px; display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: center; }
.lh-brand { display: inline-flex; align-items: center; font-family: var(--lh-serif); font-weight: 800; letter-spacing: .15em; font-size: 24px; text-transform: uppercase; color: var(--lh-ink); }
/* Stunning Primary Header Navigation Pill Bar */
.lh-primary-nav { display: flex; justify-content: center; }
.lh-primary-nav ul {
  list-style: none; display: flex; justify-content: center; align-items: center; gap: 4px;
  margin: 0; padding: 4px 6px; background: rgba(15, 59, 47, 0.05); border: 1px solid rgba(15, 59, 47, 0.08);
  border-radius: 999px; backdrop-filter: blur(8px); box-shadow: inset 0 1px 2px rgba(0,0,0,0.03);
}
.lh-primary-nav li { margin: 0; padding: 0; }
.lh-primary-nav a {
  font-size: 13px; font-weight: 700; color: var(--lh-ink); letter-spacing: 0.01em;
  padding: 8px 18px; border-radius: 999px; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative; text-decoration: none; display: inline-block; opacity: 0.9;
}
.lh-primary-nav a:hover {
  background: rgba(15, 59, 47, 0.09); color: var(--lh-forest-dark); opacity: 1; transform: translateY(-1px);
}
.lh-primary-nav a.is-active, .lh-primary-nav li.current-menu-item > a {
  background: var(--lh-forest); color: #ffffff !important; opacity: 1; box-shadow: 0 4px 14px rgba(15, 59, 47, 0.28);
}

.lh-hero-proof { display: none !important; }
.lh-header-actions { display: flex; align-items: center; gap: 14px; }
.lh-icon-btn { width: 40px; height: 40px; display: inline-grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--lh-ink); transition: background .2s ease; }
.lh-icon-btn:hover { background: var(--lh-ivory); }

.lh-subscribe-btn, .lh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px;
  padding: 12px 24px; background: var(--lh-forest-2); color: #fff; font-size: 13px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.lh-subscribe-btn:hover, .lh-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(25,75,61,.22); background: var(--lh-forest); }
.lh-btn--accent { background: var(--lh-accent); color: #14210e; }
.lh-btn--accent:hover { color: #14210e; background: #b8d752; }
.lh-menu-toggle { display: none; }

/* Hero Slider */
.lh-hero-slider { position: relative; min-height: 500px; overflow: hidden; background: #0d271f; border-radius: 0 !important; }
.lh-hero-slides { position: relative; width: 100%; height: 100%; min-height: 500px; border-radius: 0 !important; }
.lh-hero-slide {
  position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, transform .7s ease; transform: scale(1.02);
  display: flex; align-items: center; z-index: 1; border-radius: 0 !important;
}
.lh-hero-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); z-index: 2; }
.lh-hero-media { position: absolute; inset: 0; border-radius: 0 !important; }
.lh-hero-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.lh-hero-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,25,20,.94) 0%, rgba(8,25,20,.78) 45%, rgba(8,25,20,.20) 80%, rgba(8,25,20,.30) 100%),
              linear-gradient(0deg, rgba(8,25,20,.65) 0%, transparent 60%);
}
.lh-hero-shell {
  position: relative; z-index: 3; padding: 54px 0 !important; width: 100%;
}
.lh-hero-content { max-width: 940px !important; width: 100% !important; color: #fff; position: relative; z-index: 5; padding: 48px 0 60px 24px !important; text-align: left !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
.lh-hero-slider .lh-kicker {
  background: #ffffff; color: #0f3b2f; border: 1px solid rgba(255,255,255,0.4); border-radius: 999px;
  font-weight: 800; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 6px 20px; display: inline-block; margin: 0 0 18px 0 !important; box-shadow: 0 4px 14px rgba(0,0,0,0.25); text-align: left !important;
}
.lh-hero-content .lh-display,
.lh-hero-slider .lh-display,
.lh-hero-slider .lh-post-title {
  font-family: var(--lh-serif) !important; font-size: clamp(34px, 4.6vw, 56px) !important; font-weight: 700 !important;
  line-height: 1.12 !important; margin: 0 0 20px 0 !important; color: #ffffff !important; letter-spacing: -0.02em !important;
  max-width: 920px !important; width: 100% !important; text-align: left !important; text-shadow: 0 4px 20px rgba(0,0,0,0.6) !important; word-break: break-word;
}
.lh-hero-copy {
  max-width: 780px !important; margin: 0 0 24px 0 !important; font-size: clamp(16px, 2vw, 19px) !important; color: rgba(255,255,255,.94) !important; line-height: 1.55 !important; text-align: left !important; text-shadow: 0 2px 8px rgba(0,0,0,0.6) !important;
}
.lh-hero-actions { display: flex; align-items: center; justify-content: flex-start !important; margin-top: 8px; margin-left: 0 !important; }

/* Slider Controls — Floating Pill strictly on the Right Side */
.lh-slider-controls {
  position: absolute !important; bottom: 32px !important; right: max(32px, calc((100vw - var(--lh-max))/2 + 20px)) !important;
  left: auto !important; top: auto !important; z-index: 30 !important; display: flex !important; align-items: center !important; gap: 12px !important;
  background: rgba(10, 28, 22, 0.85) !important; border: 1px solid rgba(255, 255, 255, 0.28) !important; padding: 8px 18px !important;
  border-radius: 999px !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}
.lh-slider-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.14); color: #fff; display: grid; place-items: center; font-size: 18px; transition: background .2s ease, transform .2s ease; cursor: pointer; }
.lh-slider-arrow:hover { background: rgba(255,255,255,.35); transform: scale(1.08); }
.lh-slider-dots { display: flex; gap: 8px; align-items: center; }
.lh-slider-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.35); border: 0; transition: width .3s ease, background .3s ease, border-radius .3s ease; cursor: pointer; }
.lh-slider-dot.is-active { width: 26px; border-radius: 8px; background: var(--lh-accent); }

/* Category rail — Uniform 5x2 Grid & Rich Animations */
.lh-category-wrap { margin-top: 40px; margin-bottom: 24px; position: relative; z-index: 5; }
.lh-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.lh-category-card {
  min-height: 160px;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #0d271f;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 18px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, border-color .45s ease;
}
.lh-category-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.16,1,.3,1), filter .65s ease;
  filter: brightness(0.92) contrast(1.05);
}
.lh-category-card::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.24) 50%, rgba(255,255,255,0) 100%);
  transform: rotate(30deg) translateY(-100%);
  transition: transform .75s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
  z-index: 3;
}
.lh-category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 33, 26, 0.12) 0%, rgba(7, 33, 26, 0.88) 80%);
  z-index: 2;
  transition: background .4s ease;
}
.lh-category-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px -10px rgba(7, 33, 26, 0.45), 0 0 16px rgba(168, 198, 74, 0.45);
  border-color: rgba(168, 198, 74, 0.6);
}
.lh-category-card:hover img {
  transform: scale(1.14);
  filter: brightness(1.02) contrast(1.08);
}
.lh-category-card:hover::before {
  transform: rotate(30deg) translateY(100%);
}
.lh-category-card:hover::after {
  background: linear-gradient(180deg, rgba(7, 33, 26, 0.05) 0%, rgba(7, 33, 26, 0.94) 85%);
}
.lh-category-card__content {
  position: relative;
  z-index: 4;
  color: #ffffff;
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.lh-category-card:hover .lh-category-card__content {
  transform: translateY(-4px);
}
.lh-category-card__title {
  display: block;
  font-family: var(--lh-serif);
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.lh-category-card__sub {
  font-size: 12px;
  opacity: .85;
  display: block;
  margin-top: 3px;
  font-weight: 500;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  transition: opacity .3s ease, color .3s ease;
}
.lh-category-card:hover .lh-category-card__sub {
  opacity: 1;
  color: #e2f2b0;
}
.lh-category-card__arrow {
  position: absolute;
  right: 16px;
  bottom: 18px;
  z-index: 4;
  color: #ffffff;
  opacity: 0.85;
  font-size: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .35s cubic-bezier(.16,1,.3,1), background .35s ease, color .35s ease, opacity .35s ease, box-shadow .35s ease;
}
.lh-category-card:hover .lh-category-card__arrow {
  transform: translateX(5px) scale(1.12);
  opacity: 1;
  background: var(--lh-accent);
  color: var(--lh-forest-dark);
  box-shadow: 0 4px 12px rgba(168, 198, 74, 0.5);
}

/* Editor's Picks */
.lh-editorial-layout { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.lh-editorial-grid { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: 240px 240px; gap: 16px; }
.lh-story-card { position: relative; overflow: hidden; min-height: 240px; border-radius: var(--lh-radius); background: #23382d; color: #fff; }
.lh-story-card--lead { grid-row: 1 / span 2; min-height: 496px; }
.lh-story-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.lh-story-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,26,20,.86) 0%, rgba(10,26,20,.18) 60%, transparent 100%); }
.lh-story-card:hover img { transform: scale(1.05); }
.lh-story-card__content { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; }
.lh-story-card--lead .lh-story-card__content { left: 30px; right: 30px; bottom: 30px; }
.lh-chip { display: inline-flex; border-radius: 999px; padding: 4px 10px; margin-bottom: 10px; background: rgba(255,255,255,.94); color: #16261c; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lh-story-card h3 { margin: 0; font-family: var(--lh-serif); font-size: 22px; line-height: 1.15; font-weight: 500; }
.lh-story-card--lead h3 { font-size: clamp(28px, 2.8vw, 42px); line-height: 1.08; }
.lh-meta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 10px; font-size: 11px; opacity: .8; font-weight: 500; }

/* Latest Articles */
.lh-latest-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 18px; }
.lh-article-card { min-width: 0; display: flex; flex-direction: column; }
.lh-article-card__image { overflow: hidden; aspect-ratio: 1.3/1; border-radius: 14px; background: #ebe7de; position: relative; }
.lh-article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lh-article-card:hover .lh-article-card__image img { transform: scale(1.05); }
.lh-article-card__cat { display: inline-block; margin-top: 12px; color: var(--lh-forest-2); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.lh-article-card h3 { margin: 6px 0 8px; font-family: var(--lh-serif); font-weight: 600; font-size: 19px; line-height: 1.2; }
.lh-article-card h3 a:hover { color: var(--lh-forest); }
.lh-article-card p { color: var(--lh-muted); font-size: 12px; margin: 0; }
.lh-article-card .lh-meta { color: var(--lh-muted); opacity: 1; margin-top: 4px; }

/* Trending Bar */
.lh-trending { background: var(--lh-forest); color: #fff; padding: 26px 0; overflow: hidden; }
.lh-trending-row { display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 28px; }
.lh-trending-title { font-family: var(--lh-serif); font-size: 26px; white-space: nowrap; font-weight: 500; }
.lh-trending-scroller { display: flex; gap: 24px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; padding: 4px 0; }
.lh-trending-scroller::-webkit-scrollbar { display: none; }
.lh-trend-item { min-width: 220px; display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; text-decoration: none; color: #fff; }
.lh-trend-item img { width: 46px; height: 46px; object-fit: cover; border-radius: 10px; }
.lh-trend-item strong { display: block; font-size: 12px; line-height: 1.3; font-weight: 600; }
.lh-trend-item span { font-size: 10px; color: rgba(255,255,255,.6); margin-top: 2px; display: block; }
.lh-scroll-actions { display: flex; gap: 8px; }
.lh-scroll-actions button { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; transition: background .2s ease; }
.lh-scroll-actions button:hover { background: rgba(255,255,255,.2); }

/* Curated Shop */
.lh-shop { background: #fffdf9; }
.lh-product-row { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.lh-product-card { background: #fff; border: 1px solid var(--lh-line); border-radius: 18px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; position: relative; }
.lh-product-card:hover { transform: translateY(-4px); box-shadow: var(--lh-shadow); }
.lh-product-media { aspect-ratio: 1.05/1; background: #f8f6f0; overflow: hidden; display: grid; place-items: center; padding: 20px; }
.lh-product-media img { max-height: 100%; width: auto; object-fit: contain; transition: transform .3s ease; }
.lh-product-card:hover .lh-product-media img { transform: scale(1.05); }
.lh-product-content { padding: 18px; }
.lh-product-brand { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lh-muted); margin-bottom: 4px; }
.lh-product-content h3 { margin: 0 0 8px; font-size: 14px; font-weight: 600; line-height: 1.3; font-family: var(--lh-sans); }
.lh-product-price { font-weight: 700; font-size: 15px; color: var(--lh-ink); }
.lh-product-stars { display: flex; align-items: center; gap: 4px; font-size: 11px; color: #f59e0b; margin-top: 6px; }
.lh-product-stars span { color: var(--lh-muted); font-size: 10px; margin-left: 2px; }

.lh-value-strip { margin-top: 40px; display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--lh-line); border-radius: 16px; background: rgba(247,244,237,.5); }
.lh-value-item { padding: 20px 14px; text-align: center; font-size: 12px; color: var(--lh-muted); border-right: 1px solid var(--lh-line); }
.lh-value-item:last-child { border-right: 0; }
.lh-value-item__icon { font-size: 20px; margin-bottom: 6px; display: block; color: var(--lh-forest-2); }
.lh-value-item strong { display: block; color: var(--lh-ink); font-size: 13px; margin-bottom: 2px; font-weight: 700; }

/* Newsletter Split Card (Compact Image-Free Banner) */
.lh-newsletter { padding: 48px 0 60px; }
.lh-newsletter-box {
  min-height: auto; display: block; max-width: 900px; margin: 0 auto; padding: 42px 48px; text-align: center;
  overflow: hidden; border-radius: 24px; background: linear-gradient(135deg, #0f3b2f 0%, #071d17 100%); color: #fff; box-shadow: var(--lh-shadow);
}
.lh-newsletter-content { padding: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.lh-newsletter-content h2 { margin: 0 0 10px; font-family: var(--lh-serif); font-size: clamp(26px, 3.5vw, 38px); line-height: 1.1; font-weight: 600; color: #fff; text-align: center; }
.lh-newsletter-content p { color: rgba(255,255,255,.88); max-width: 580px; font-size: 15px; margin: 0 auto 24px; line-height: 1.6; text-align: center; }
.lh-newsletter-form form { display: flex; gap: 12px; max-width: 480px; margin: 0 auto; justify-content: center; width: 100%; }
.lh-newsletter-form input[type="email"] { min-width: 0; flex: 1; padding: 14px 20px; border: 1px solid #e5e7eb; border-radius: 14px; background: #ffffff; color: #111827; outline: none; font-size: 15px; font-weight: 500; box-shadow: inset 0 1px 2px rgba(0,0,0,0.05); }
.lh-newsletter-form input::placeholder { color: #6b7280; opacity: 1; }
.lh-newsletter-form button { border: 0; border-radius: 14px; padding: 0 26px; background: var(--lh-accent, #a8c64a); color: #04120e; font-weight: 800; font-size: 14px; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; box-shadow: 0 4px 14px rgba(168,198,74,.35); white-space: nowrap; }
.lh-newsletter-form button:hover { background: #bada55; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(168,198,74,.45); }
.lh-newsletter-proof { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font-size: 13px; color: rgba(255,255,255,.85); font-weight: 500; }

.lh-newsletter-image, .lh-avatar-stack { display: none; }

/* Our Story */
.lh-story-section { padding: 40px 0 84px; }
.lh-story-panel { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
.lh-story-copy > p { max-width: 640px; color: var(--lh-muted); font-size: 16px; line-height: 1.65; }
.lh-pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 36px; }
.lh-pillar { border-top: 1px solid var(--lh-line); padding-top: 20px; }
.lh-pillar__icon { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--lh-line); border-radius: 50%; margin-bottom: 12px; font-size: 16px; color: var(--lh-forest-2); }
.lh-pillar strong { display: block; font-family: var(--lh-serif); font-size: 18px; font-weight: 600; color: var(--lh-ink); }
.lh-pillar p { margin: 6px 0 0; color: var(--lh-muted); font-size: 12px; line-height: 1.5; }
.lh-story-image { min-height: 380px; border-radius: 22px; overflow: hidden; background: #e7e1d6; }
.lh-story-image img { width: 100%; height: 100%; object-fit: cover; }

/* Footer */
.lh-footer { background: var(--lh-forest-dark); color: rgba(255,255,255,.75); }
.lh-footer-main { padding: 72px 0 48px; display: grid; grid-template-columns: 1.5fr repeat(4, 1fr) 1.4fr; gap: 36px; }
.lh-footer-brand { color: #fff; font-family: var(--lh-serif); font-weight: 800; letter-spacing: .14em; font-size: 22px; text-transform: uppercase; margin-bottom: 12px; }
.lh-footer-copy { max-width: 240px; font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.65); }
.lh-social-links { display: flex; gap: 12px; margin-top: 18px; }
.lh-social-links a { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); display: grid; place-items: center; color: #fff; font-size: 12px; opacity: 0.8; transition: opacity .2s ease; }
.lh-social-links a:hover { opacity: 1; background: rgba(255,255,255,.1); }

.lh-footer h3 { color: #fff; font-family: var(--lh-serif); font-weight: 500; font-size: 17px; margin: 0 0 16px; }
.lh-footer ul { list-style: none; margin: 0; padding: 0; }
.lh-footer li { margin: 8px 0; }
.lh-footer a { font-size: 13px; color: rgba(255,255,255,.7); }
.lh-footer a:hover { color: #fff; }

.lh-footer-newsletter { display: flex; margin-top: 14px; }
.lh-footer-newsletter input { flex: 1; min-width: 0; border: 0; padding: 12px 14px; border-radius: 8px 0 0 8px; background: rgba(255,255,255,.1); color: #fff; font-size: 13px; outline: none; }
.lh-footer-newsletter input::placeholder { color: rgba(255,255,255,.45); }
.lh-footer-newsletter button { border: 0; width: 44px; border-radius: 0 8px 8px 0; background: var(--lh-forest-2); color: #fff; font-size: 16px; }

.lh-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); min-height: 64px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 11px; color: rgba(255,255,255,.55); }

/* Search overlay & Live Results */
.lh-search-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(7,29,23,.95); backdrop-filter: blur(16px); display: none; place-items: center; padding: 40px 20px; overflow-y: auto; }
.lh-search-overlay.is-open { display: grid; }
.lh-search-box { width: min(760px,100%); position: relative; }
.lh-search-box input[type="search"] { width: 100%; border: 0; border-bottom: 2px solid rgba(255,255,255,.4); background: transparent; padding: 18px 52px 18px 0; color: #fff; font-family: var(--lh-serif); font-size: clamp(28px,4.5vw,52px); outline: none; }
.lh-search-box input::placeholder { color: rgba(255,255,255,.45); }
.lh-search-close { position: absolute; top: -50px; right: 0; color: #fff; background: transparent; border: 0; font-size: 36px; }
.lh-search-results { margin-top: 30px; display: grid; gap: 14px; max-height: 360px; overflow-y: auto; }
.lh-search-result-item { display: flex; gap: 16px; align-items: center; padding: 12px; background: rgba(255,255,255,.08); border-radius: 12px; color: #fff; text-decoration: none; transition: background .2s ease; }
.lh-search-result-item:hover { background: rgba(255,255,255,.18); }
.lh-search-result-item img { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; }
.lh-search-result-item h4 { margin: 0 0 4px; font-family: var(--lh-serif); font-size: 18px; font-weight: 500; }
.lh-search-result-item span { font-size: 11px; opacity: 0.7; }

/* Single Article Layout */
.lh-reading-progress { position: fixed; top: 0; left: 0; height: 3px; background: var(--lh-accent); z-index: 1001; transition: width .1s ease; }
.lh-article-header { padding: 48px 0 36px; background: #fcfbf7; text-align: center; }
.lh-hero-cat-chip { background: #ffffff; color: #0f3b2f; border: 1px solid rgba(15,59,47,0.18); border-radius: 999px; font-weight: 800; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 20px; display: inline-block; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: all 0.2s ease; }
.lh-hero-cat-chip:hover { background: #0f3b2f; color: #ffffff; }
.lh-post-title { font-family: var(--lh-serif); font-size: clamp(34px, 4.6vw, 56px); font-weight: 700; line-height: 1.12; color: #161c18; letter-spacing: -0.02em; max-width: 960px; margin: 0 auto 24px; text-align: center; word-break: break-word; }
.lh-post-subtitle { font-size: clamp(16px, 2vw, 20px); color: #525d53; max-width: 820px; margin: 0 auto 24px; line-height: 1.55; font-family: var(--lh-sans); font-weight: 400; text-align: center; }
.lh-article-meta { display: flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; color: var(--lh-muted); }
.lh-article-hero-cover { margin: 36px auto 0; width: min(100%, 1100px); max-height: 580px; overflow: hidden; border-radius: 20px; box-shadow: var(--lh-shadow); }
.lh-article-hero-cover img { width: 100%; height: 100%; object-fit: cover; }

.lh-article-layout { display: grid; grid-template-columns: minmax(0, 760px) 280px; gap: 60px; align-items: start; padding: 60px 0 90px; }
.lh-article-body { font-size: 18px; line-height: 1.75; color: #232b24; }
.lh-article-body p:first-of-type::first-letter { font-family: var(--lh-serif); font-size: 68px; line-height: 0.8; float: left; margin-right: 12px; color: var(--lh-forest-2); font-weight: 700; }
.lh-article-body h2 { font-family: var(--lh-serif); font-size: 32px; margin-top: 48px; margin-bottom: 16px; font-weight: 600; line-height: 1.15; }
.lh-article-body h3 { font-family: var(--lh-serif); font-size: 24px; margin-top: 36px; margin-bottom: 14px; font-weight: 600; }
.lh-pullquote { margin: 40px 0; padding: 24px 32px; border-left: 4px solid var(--lh-forest); background: var(--lh-ivory); border-radius: 0 16px 16px 0; font-family: var(--lh-serif); font-size: 24px; line-height: 1.35; color: var(--lh-forest-dark); font-style: italic; }
.lh-article-img-caption { margin: 34px 0; }
.lh-article-img-caption img { border-radius: 16px; }
.lh-article-img-caption figcaption { font-size: 12px; color: var(--lh-muted); text-align: center; margin-top: 8px; }

/* Table of contents sidebar widget */
.lh-toc-box { position: sticky; top: 110px; background: var(--lh-ivory); padding: 24px; border-radius: 18px; border: 1px solid var(--lh-line); }
.lh-toc-box h4 { margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--lh-forest-2); }
.lh-toc-box ul { list-style: none; padding: 0; margin: 0; }
.lh-toc-box li { margin: 10px 0; font-size: 13px; }
.lh-toc-box a { color: var(--lh-ink); }
.lh-toc-box a:hover { color: var(--lh-forest); }

/* Author Box & Comments */
.lh-author-card { margin-top: 60px; padding: 30px; background: var(--lh-ivory); border-radius: 20px; display: flex; gap: 20px; align-items: center; }
.lh-author-card img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.lh-author-card h4 { margin: 0 0 4px; font-family: var(--lh-serif); font-size: 20px; }
.lh-author-card p { margin: 0; font-size: 13px; color: var(--lh-muted); }

/* The Points Guy & Forbes Style Comments Section */
.lh-tpg-comments-area { margin-top: 50px; padding-top: 40px; border-top: 1px solid var(--lh-line); font-family: var(--lh-sans); }
.lh-tpg-comments-header { margin-bottom: 24px; }
.lh-tpg-comments-title-wrap { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.lh-tpg-comments-title { font-family: var(--lh-sans); font-size: 32px; font-weight: 800; color: var(--lh-ink); margin: 0; }
.lh-tpg-beta-pill { background: #e0f2fe; color: #0369a1; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.lh-tpg-guidelines { font-size: 13px; color: var(--lh-muted); line-height: 1.5; margin: 0; max-width: 720px; }
.lh-tpg-guidelines a { color: var(--lh-ink); text-decoration: underline; font-weight: 600; }

.lh-tpg-form-wrap { margin: 24px 0 20px; }
.lh-tpg-input-row { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--lh-line); border-radius: 999px; padding: 6px 8px 6px 16px; box-shadow: var(--lh-shadow-soft); transition: border-color .2s ease; }
.lh-tpg-input-row:focus-within { border-color: var(--lh-forest); }
.lh-tpg-user-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--lh-forest); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.lh-tpg-input { flex: 1; border: 0; outline: none; background: transparent; font-size: 15px; color: var(--lh-ink); padding: 8px 0; }
.lh-tpg-input::placeholder { color: var(--lh-muted); }
.lh-tpg-submit-btn { background: var(--lh-forest); color: #fff; border: 0; padding: 10px 22px; border-radius: 999px; font-weight: 700; font-size: 13px; cursor: pointer; transition: background .2s ease; }
.lh-tpg-submit-btn:hover { background: var(--lh-forest-dark); }

.lh-tpg-join-banner { background: #f0f7f4; border-radius: 14px; padding: 18px 24px; text-align: center; font-size: 15px; font-weight: 700; color: var(--lh-forest-2); display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 32px; }

.lh-tpg-active-conversations { margin-top: 32px; border-top: 1px solid var(--lh-line); padding-top: 24px; }
.lh-tpg-active-title { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lh-forest-2); margin: 0 0 16px; }
.lh-tpg-active-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lh-tpg-active-card { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 14px; border: 1px solid var(--lh-line); background: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.lh-tpg-active-card:hover { transform: translateY(-2px); box-shadow: var(--lh-shadow-soft); }
.lh-tpg-active-img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; background: #eee8de; flex-shrink: 0; }
.lh-tpg-active-info h5 { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--lh-ink); line-height: 1.3; }
.lh-tpg-active-meta { font-size: 12px; color: var(--lh-muted); font-weight: 600; }

/* Big Brand Product Detail Page (PDP) Styling */
.lh-pdp-section { padding: 48px 0 90px; background: #fffdf9; }
.lh-pdp-layout { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 56px; align-items: start; }

/* Gallery Viewer & Thumbnails */
.lh-pdp-gallery { position: sticky; top: 100px; }
.lh-pdp-main-wrap { position: relative; aspect-ratio: 1.1/1; background: #f8f6f0; border-radius: 24px; overflow: hidden; border: 1px solid var(--lh-line); box-shadow: var(--lh-shadow-soft); margin-bottom: 16px; }
.lh-pdp-main-img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lh-pdp-main-wrap:hover .lh-pdp-main-img { transform: scale(1.04); }
.lh-pdp-badge-stack { position: absolute; top: 18px; left: 18px; display: flex; flex-direction: column; gap: 8px; z-index: 2; }
.lh-pdp-badge { padding: 6px 14px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lh-pdp-badge--bestseller { background: var(--lh-accent); color: var(--lh-forest-dark); }
.lh-pdp-badge--eco { background: var(--lh-forest); color: #fff; }

.lh-pdp-thumbs { display: flex; gap: 12px; }
.lh-pdp-thumb-item { width: 84px; height: 84px; border-radius: 14px; border: 2px solid transparent; background: #f8f6f0; overflow: hidden; cursor: pointer; transition: all .2s ease; }
.lh-pdp-thumb-item.is-active, .lh-pdp-thumb-item:hover { border-color: var(--lh-forest); opacity: 1; }
.lh-pdp-thumb-item img { width: 100%; height: 100%; object-fit: cover; }

/* Product Info Panel */
.lh-pdp-brand-kicker { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lh-forest-2); margin-bottom: 6px; }
.lh-pdp-title { font-family: var(--lh-serif); font-size: clamp(32px, 3.2vw, 44px); line-height: 1.1; margin: 0 0 12px; color: var(--lh-ink); }
.lh-pdp-reviews-row { display: flex; align-items: center; gap: 12px; font-size: 13px; margin-bottom: 20px; color: var(--lh-muted); }
.lh-pdp-stars { color: #f59e0b; font-weight: 800; }
.lh-pdp-stars strong { color: var(--lh-ink); font-weight: 700; margin-right: 4px; }
.lh-pdp-ask-link { color: var(--lh-ink); text-decoration: underline; font-weight: 600; }

.lh-pdp-price-wrap { display: flex; align-items: baseline; gap: 14px; margin-bottom: 12px; }
.lh-pdp-price { font-size: 36px; font-weight: 800; color: var(--lh-ink); font-family: var(--lh-sans); }
.lh-pdp-regular-price { font-size: 20px; color: var(--lh-muted); text-decoration: line-through; }
.lh-pdp-save-badge { background: #dcfce7; color: #166534; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.lh-pdp-installment { font-size: 13px; color: var(--lh-muted); margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--lh-line); }

/* Options: Colors & Sizes */
.lh-pdp-option-block { margin-bottom: 24px; }
.lh-pdp-option-label { font-size: 13px; font-weight: 700; color: var(--lh-ink); margin-bottom: 10px; display: flex; justify-content: space-between; }
.lh-swatch-circles { display: flex; gap: 12px; }
.lh-swatch-btn { width: 34px; height: 34px; border-radius: 50%; border: 2px solid #fff; outline: 2px solid transparent; cursor: pointer; transition: transform .2s ease; position: relative; }
.lh-swatch-btn.is-active { outline-color: var(--lh-forest); transform: scale(1.1); }
.lh-size-buttons { display: flex; gap: 10px; }
.lh-size-btn { padding: 10px 18px; border-radius: 12px; border: 1px solid var(--lh-line); background: #fff; font-size: 13px; font-weight: 700; color: var(--lh-ink); cursor: pointer; transition: all .2s ease; }
.lh-size-btn.is-active, .lh-size-btn:hover { border-color: var(--lh-forest); background: var(--lh-forest); color: #fff; }

/* Stock & Shipping Timers */
.lh-pdp-stock-banner { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #15803d; margin-bottom: 12px; }
.lh-stock-dot { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; }
.lh-shipping-timer { font-size: 12px; color: var(--lh-muted); background: #f4f8f5; border: 1px solid rgba(15,59,47,.12); padding: 10px 16px; border-radius: 12px; margin-bottom: 24px; }

/* Action CTAs */
.lh-pdp-cta-group { display: flex; gap: 12px; margin-bottom: 28px; }
.lh-pdp-qty-selector { display: flex; align-items: center; border: 1px solid var(--lh-line); border-radius: 14px; background: #fff; overflow: hidden; width: 110px; }
.lh-pdp-qty-btn { width: 36px; height: 48px; border: 0; background: transparent; font-size: 18px; font-weight: 700; cursor: pointer; color: var(--lh-ink); }
.lh-pdp-qty-input { width: 38px; border: 0; text-align: center; font-size: 15px; font-weight: 700; outline: none; background: transparent; }
.lh-pdp-add-btn { flex: 1; height: 50px; background: var(--lh-forest); color: #fff; border: 0; border-radius: 14px; font-size: 15px; font-weight: 700; cursor: pointer; transition: background .2s ease, transform .2s ease; box-shadow: var(--lh-shadow-soft); display: flex; align-items: center; justify-content: center; gap: 10px; }
.lh-pdp-add-btn:hover { background: var(--lh-forest-dark); transform: translateY(-1px); }

.lh-pdp-buy-now-btn { width: 100%; height: 48px; background: #000; color: #fff; border: 0; border-radius: 14px; font-size: 14px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 28px; }

/* PDP Trust Strip */
.lh-pdp-trust-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 24px; border-top: 1px solid var(--lh-line); }
.lh-pdp-trust-item { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--lh-muted); }
.lh-pdp-trust-item strong { display: block; color: var(--lh-ink); font-size: 13px; }

/* Specs Accordion & Tabs */
.lh-pdp-tabs-nav { display: flex; gap: 32px; border-bottom: 1px solid var(--lh-line); margin: 60px 0 28px; }
.lh-pdp-tab-btn { padding: 12px 0; border: 0; background: transparent; font-family: var(--lh-serif); font-size: 20px; font-weight: 600; color: var(--lh-muted); cursor: pointer; position: relative; }
.lh-pdp-tab-btn.is-active { color: var(--lh-ink); }
.lh-pdp-tab-btn.is-active::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; background: var(--lh-forest); }
.lh-specs-table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 14px; }
.lh-specs-table td { padding: 14px 18px; border-bottom: 1px solid var(--lh-line); color: var(--lh-muted); }
.lh-specs-table td:first-child { font-weight: 700; color: var(--lh-ink); width: 220px; background: rgba(247,244,237,.4); }

/* Forbes & The Points Guy Editorial Enhancements */
.lh-forbes-author-bar { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 28px; font-size: 13px; color: #64748b; border-top: 1px solid rgba(0,0,0,0.1); border-bottom: 1px solid rgba(0,0,0,0.1); padding: 16px 0; width: 100%; }
.lh-verified-badge { background: #e2ede4; color: #0f3b2f; padding: 3px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; display: inline-block; }
.lh-meta-dot { color: #94a3b8; font-size: 14px; font-weight: 700; }

/* At a Glance Summary Box */
.lh-at-a-glance-box { background: linear-gradient(135deg, rgba(247,244,237,.95), #fffdf9); border: 1px solid var(--lh-line); border-left: 5px solid var(--lh-forest-2); border-radius: 18px; padding: 28px 32px; margin: 0 0 42px; box-shadow: var(--lh-shadow-soft); }
.lh-glance-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; border-bottom: 1px solid var(--lh-line); padding-bottom: 14px; }
.lh-glance-header h4 { font-family: var(--lh-serif); font-size: 21px; margin: 0; font-weight: 700; color: var(--lh-ink); }
.lh-score-pill { background: var(--lh-forest); color: #fff; padding: 6px 14px; border-radius: 999px; font-weight: 800; font-size: 13px; letter-spacing: .04em; }
.lh-glance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 16px; font-size: 14px; }
.lh-glance-grid strong { display: block; color: var(--lh-ink); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; }
.lh-glance-grid p { margin: 0; color: var(--lh-muted); }
.lh-glance-list { margin: 0; padding-left: 20px; font-size: 15px; line-height: 1.65; color: #232b24; }
.lh-glance-list li { margin-bottom: 8px; }

/* Key Takeaways & Highlights Panel (Right Side Panel) */
.lh-key-takeaways-card { background: linear-gradient(135deg, #f7faf6 0%, #edf5eb 100%); border: 1px solid rgba(15, 59, 47, 0.16); border-left: 5px solid var(--lh-forest); border-radius: 18px; padding: 24px 22px; margin-top: 28px; margin-bottom: 28px; box-shadow: 0 10px 25px rgba(15, 59, 47, 0.05); }
.lh-takeaways-header { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(15, 59, 47, 0.12); }
.lh-takeaways-icon { font-size: 16px; color: var(--lh-forest); }
.lh-takeaways-header h4 { margin: 0; font-family: var(--lh-serif); font-size: 18px; font-weight: 700; color: var(--lh-ink); letter-spacing: 0.02em; }
.lh-takeaways-list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
.lh-takeaways-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; color: #334155; }
.lh-takeaway-bullet { font-size: 16px; flex-shrink: 0; line-height: 1.3; }
.lh-takeaways-list li strong { display: block; color: var(--lh-ink); font-weight: 700; margin-bottom: 2px; }
.lh-takeaways-list li span { font-size: 13px; color: var(--lh-muted); }

/* Editor's Pro-Tip Box */
.lh-protip-box { background: #f4f8f5; border: 1px solid rgba(15,59,47,.18); border-radius: 16px; padding: 22px 26px; margin: 36px 0; position: relative; }
.lh-protip-tag { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lh-forest-2); margin-bottom: 8px; }
.lh-protip-box p { margin: 0; font-size: 15px; line-height: 1.6; color: #1e2923; }

/* Editor's Choice Gear Box */
.lh-editors-pick-card { background: #fff; border: 1px solid var(--lh-line); border-radius: 20px; padding: 28px; margin: 44px 0; box-shadow: var(--lh-shadow); position: relative; }
.lh-editors-pick-badge { position: absolute; top: -14px; left: 24px; background: var(--lh-accent); color: var(--lh-forest-dark); padding: 4px 14px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lh-editors-pick-content { display: grid; grid-template-columns: 140px 1fr; gap: 24px; align-items: center; }
.lh-editors-pick-content img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 14px; background: #f8f6f0; }
.lh-editors-pick-content h3 { font-family: var(--lh-serif); font-size: 22px; margin: 0 0 6px; }
.lh-pick-stars { font-size: 14px; color: #f59e0b; font-weight: 700; margin-bottom: 8px; }
.lh-pick-stars span { color: var(--lh-muted); font-size: 12px; font-weight: 400; margin-left: 6px; }
.lh-editors-pick-content p { font-size: 14px; color: var(--lh-muted); margin: 0 0 16px; line-height: 1.5; }
.lh-pick-btn { display: inline-block; padding: 12px 24px; background: var(--lh-forest); color: #fff; font-weight: 700; font-size: 13px; border-radius: 10px; text-decoration: none; transition: background .2s ease; }
.lh-pick-btn:hover { background: var(--lh-forest-dark); }

/* Breadcrumbs */
.lh-breadcrumbs { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; color: var(--lh-muted); margin-bottom: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.lh-breadcrumbs a { color: var(--lh-ink); }
.lh-breadcrumbs a:hover { color: var(--lh-forest-2); }
.lh-breadcrumbs span { color: rgba(0,0,0,.3); }

/* Key Takeaways Box */
.lh-takeaway-box { background: rgba(15,59,47,.04); border: 1px solid rgba(15,59,47,.12); border-left: 4px solid var(--lh-forest); border-radius: 14px; padding: 22px 26px; margin: 0 0 36px; }
.lh-takeaway-box h4 { font-family: var(--lh-serif); font-size: 20px; color: var(--lh-forest-2); margin: 0 0 12px; font-weight: 700; }
.lh-takeaway-box ul { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.6; color: #232b24; }
.lh-takeaway-box li { margin-bottom: 8px; }

/* Article Image Captions & Figures */
.lh-article-img-caption { margin: 40px 0; border-radius: 18px; overflow: hidden; background: #f7f4ed; }
.lh-article-img-caption img { width: 100%; height: auto; display: block; border-radius: 18px 18px 0 0; }
.lh-article-img-caption figcaption { padding: 12px 18px; font-size: 13px; color: var(--lh-muted); font-style: italic; text-align: center; background: rgba(247,244,237,.8); }

/* Category Listing & High-Converting Glass Hero Page */
.lh-cat-hero-glass { padding: 80px 0 54px; background: linear-gradient(135deg, #0f3b2f 0%, #08211b 50%, #04120e 100%); color: #fff; text-align: center; position: relative; overflow: hidden; }
.lh-cat-hero-glass::before { content: ''; position: absolute; top: -50%; left: -20%; width: 140%; height: 200%; background: radial-gradient(circle, rgba(168,198,74,0.15) 0%, transparent 60%); pointer-events: none; }
.lh-cat-hero-glass .lh-breadcrumbs { justify-content: center; opacity: 0.85; margin-bottom: 20px; }
.lh-cat-hero-glass .lh-breadcrumbs a { color: rgba(255,255,255,.9); }
.lh-cat-hero-glass .lh-breadcrumbs span { color: rgba(255,255,255,.4); }
.lh-cat-hero-glass h1 { font-family: var(--lh-serif); font-size: clamp(44px, 5.5vw, 76px); margin: 8px 0 14px; line-height: 1.02; color: #fff; font-weight: 500; }
.lh-cat-hero-glass p { color: rgba(255,255,255,.82); max-width: 660px; margin: 0 auto 22px; font-size: 17px; line-height: 1.6; }

.lh-cat-badge-pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.2); color: var(--lh-accent); padding: 6px 18px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; margin-bottom: 24px; }

/* Sub-Topic Chips */
.lh-topic-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0 28px; }
.lh-topic-chip { padding: 6px 16px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.9); font-size: 12px; font-weight: 600; text-decoration: none; transition: all .2s ease; }
.lh-topic-chip:hover { background: rgba(255,255,255,.2); color: #fff; border-color: rgba(255,255,255,.4); transform: translateY(-1px); }

/* Category Switcher Pills */
.lh-cat-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
.lh-cat-pill { padding: 10px 22px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); font-size: 13px; font-weight: 700; color: #fff; text-decoration: none; transition: all .2s ease; }
.lh-cat-pill.is-active, .lh-cat-pill:hover { background: var(--lh-accent); color: var(--lh-forest-dark); border-color: var(--lh-accent); box-shadow: 0 4px 16px rgba(168,198,74,.3); }

@media (max-width: 1080px) {
  .lh-header-inner { grid-template-columns: auto 1fr auto; }
  .lh-primary-nav { display: none; position: absolute; top: 80px; left: 20px; right: 20px; background: #fff; border: 1px solid var(--lh-line); border-radius: 18px; box-shadow: var(--lh-shadow); padding: 14px; }
  .lh-primary-nav.is-open { display: block; }
  .lh-primary-nav ul { display: block; }
  .lh-primary-nav li { border-bottom: 1px solid var(--lh-line); }
  .lh-primary-nav li:last-child { border-bottom: 0; }
  .lh-primary-nav a { display: block; padding: 12px 6px; }
  .lh-menu-toggle { display: inline-grid; }
  .lh-category-grid { grid-template-columns: repeat(5, 1fr); }
  .lh-editorial-layout { grid-template-columns: 1fr; gap: 20px; }
  .lh-editorial-grid { grid-template-columns: 1fr 1fr; }
  .lh-latest-grid { grid-template-columns: repeat(3,1fr); }
  .lh-product-row { grid-template-columns: repeat(3,1fr); }
  .lh-value-strip { grid-template-columns: repeat(3,1fr); }
  .lh-footer-main { grid-template-columns: 1fr 1fr 1fr; }
  .lh-article-layout { grid-template-columns: 1fr; }
  .lh-toc-box { display: none; }
}

@media (max-width: 900px) {
  .lh-site-header { position: relative !important; z-index: 100000 !important; }
  .lh-menu-toggle { display: grid !important; place-items: center !important; pointer-events: auto !important; cursor: pointer !important; z-index: 999999 !important; position: relative !important; width: 42px !important; height: 42px !important; border-radius: 50% !important; border: 1px solid rgba(0,0,0,0.12) !important; background: #ffffff !important; color: #0f3b2f !important; }
  .lh-primary-nav { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important; background: #ffffff !important; padding: 20px 24px !important; border-bottom: 3px solid #0f3b2f !important; box-shadow: 0 20px 40px rgba(0,0,0,0.22) !important; display: none !important; z-index: 99999 !important; box-sizing: border-box !important; }
  .lh-primary-nav.is-open { display: block !important; }
  .lh-primary-nav ul, .lh-primary-nav .menu { display: flex !important; flex-direction: column !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
  .lh-primary-nav li { width: 100% !important; margin: 0 !important; }
  .lh-primary-nav a { font-size: 16px !important; font-weight: 700 !important; color: #0f3b2f !important; display: block !important; padding: 10px 14px !important; background: #f8faf8 !important; border-radius: 10px !important; text-decoration: none !important; transition: all 0.2s ease !important; }
  .lh-primary-nav a:hover { background: #0f3b2f !important; color: #a8c64a !important; }
}

@media (max-width: 768px) {
  .lh-shell { width: min(calc(100% - 32px), var(--lh-max)); }
  .lh-hero-slider { min-height: 440px !important; }
  .lh-hero-slides { min-height: 440px !important; }
  .lh-hero-content { padding: 32px 0 64px !important; width: 100% !important; }
  .lh-hero-content .lh-display, .lh-hero-slider .lh-display { font-size: clamp(22px, 6.5vw, 32px) !important; line-height: 1.2 !important; margin-bottom: 12px !important; max-width: 100% !important; }
  .lh-hero-copy { font-size: 14px !important; line-height: 1.5 !important; margin-bottom: 20px !important; max-width: 100% !important; }
  .lh-hero-actions .lh-btn { padding: 12px 22px !important; font-size: 14px !important; }
  .lh-slider-controls { bottom: 18px !important; right: 16px !important; left: auto !important; padding: 6px 14px !important; gap: 8px !important; }
  .lh-slider-arrow { width: 34px !important; height: 34px !important; font-size: 16px !important; }
  .lh-hero-proof { display: none; }
  .lh-category-grid { grid-template-columns: repeat(2,1fr); }
  .lh-editorial-grid { grid-template-columns: 1fr; }
  .lh-story-card--lead { min-height: 320px; grid-row: auto; }
  .lh-latest-grid { grid-template-columns: repeat(2,1fr); }
  .lh-product-row { grid-template-columns: repeat(2,1fr); }

  /* Category Page Mobile Overrides */
  .lh-cat-hero-glass { padding: 32px 0 !important; }
  .lh-cat-hero-glass h1 { font-size: clamp(24px, 6vw, 36px) !important; margin-bottom: 12px !important; }
  .lh-cat-pills, .lh-topic-chips { flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; padding-bottom: 8px !important; margin-bottom: 20px !important; }
  .lh-cat-pill, .lh-topic-chip { flex-shrink: 0 !important; white-space: nowrap !important; }
  .lh-lead-cat-card { grid-template-columns: 1fr !important; margin-bottom: 32px !important; border-radius: 18px !important; }
  .lh-lead-cat-media { aspect-ratio: 16/9 !important; }
  .lh-lead-cat-body { padding: 24px 20px !important; }
  .lh-lead-cat-body h2 { font-size: 22px !important; margin-bottom: 10px !important; }
  .lh-lead-cat-body p { font-size: 14px !important; margin-bottom: 16px !important; }

  /* Single Post Mobile Overrides */
  .lh-article-header { padding: 24px 0 20px !important; }
  .lh-post-title { font-size: clamp(22px, 6vw, 32px) !important; margin: 8px 0 12px !important; }
  .lh-post-subtitle { font-size: 15px !important; margin-bottom: 18px !important; }
  .lh-forbes-author-bar { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; padding: 14px 0 !important; }
  .lh-forbes-author-bar > span { display: none !important; }
  .lh-article-hero-cover { border-radius: 14px !important; overflow: hidden !important; margin-bottom: 24px !important; }
  .lh-article-layout { grid-template-columns: 1fr !important; gap: 32px !important; }
  .lh-post-content { font-size: 16px !important; line-height: 1.65 !important; }
  .lh-post-content blockquote, .lh-post-content .wp-block-quote { padding: 16px 18px !important; font-size: 17px !important; margin: 24px 0 !important; }
  .lh-author-card { flex-direction: column !important; text-align: center !important; align-items: center !important; padding: 24px 18px !important; border-radius: 18px !important; }
  .lh-author-card img { width: 72px !important; height: 72px !important; margin-bottom: 12px !important; }

  /* Newsletter Box & Footer */
  .lh-newsletter-box { padding: 32px 20px !important; border-radius: 20px !important; grid-template-columns: 1fr !important; }
  .lh-newsletter-content { padding: 0 !important; width: 100% !important; }
  .lh-newsletter-form { display: flex !important; flex-direction: column !important; gap: 12px !important; width: 100% !important; }
  .lh-newsletter-form input { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
  .lh-newsletter-form button, .lh-newsletter-form .lh-btn { width: 100% !important; justify-content: center !important; }
  .lh-avatar-stack-wrap, .lh-newsletter-proof { flex-wrap: wrap !important; gap: 10px !important; width: 100% !important; }
  .lh-newsletter-image { min-height: 240px; }
  .lh-story-panel { grid-template-columns: 1fr; }
  .lh-pillars { grid-template-columns: 1fr; }
  .lh-trending-banner { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; padding: 24px 20px !important; }
  .lh-trending-controls { width: 100% !important; justify-content: space-between !important; }
  .lh-footer-main { grid-template-columns: 1fr !important; gap: 32px !important; }
  .lh-footer-main > div { width: 100% !important; }
  .lh-footer-newsletter { display: flex !important; flex-direction: column !important; gap: 10px !important; width: 100% !important; }
  .lh-footer-newsletter input { width: 100% !important; box-sizing: border-box !important; }
  .lh-footer-newsletter button { width: 100% !important; justify-content: center !important; }
  .lh-footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}

@media (max-width: 480px) {
  .lh-latest-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .lh-product-row { grid-template-columns: 1fr !important; gap: 16px !important; }
  .lh-category-grid { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
}
