/* =====================================================================
   LOCAL CHAMPION — UNIVERSAL BLOG TEMPLATE  (Elementor Pro / CPT ready)
   Scoped to .lcb-root  •  vanilla, no build step  •  responsive
   Source design recreated 1:1 from the Claude Design handoff bundle.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');

/* ---------- Brand tokens (scoped to the template root) ---------- */
.lcb-root{
  --lc-bg:#110d0a;
  --lc-bg-2:#18120f;
  --lc-bg-3:#201815;
  --lc-border:rgba(255,255,255,0.10);
  --lc-border-strong:rgba(255,255,255,0.18);
  --lc-text:#f7f2ee;
  --lc-text-muted:rgba(247,242,238,0.68);
  --lc-text-subtle:rgba(247,242,238,0.42);
  --lc-brand:#ff9b2f;
  --lc-brand-2:#ff7a14;
  --lc-success:#35d572;
  --lc-danger:#ff5b5b;
  --lc-font-sans:'Geist',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --lc-font-mono:'Geist Mono',ui-monospace,monospace;
  --lc-font-serif:'Instrument Serif',Georgia,serif;
  --lc-radius-sm:10px;
  --lc-radius-lg:20px;
}

/* ---------- Reset within template only ---------- */
.lcb-root *,
.lcb-root *::before,
.lcb-root *::after{ box-sizing:border-box !important; }

.lcb-root{
  background:var(--lc-bg) !important;
  color:var(--lc-text) !important;
  font-family:var(--lc-font-sans) !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  -webkit-font-smoothing:antialiased !important;
  font-size:17px !important;
  letter-spacing:-0.003em !important;
  /* "little padding on top & bottom" — overridable via --lc-pad-y */
  padding:var(--lc-pad-y, clamp(14px,2.2vw,34px)) 0 !important;
  position:relative !important;
}

.lcb-root img{ max-width:100% !important; display:block !important; }
.lcb-root a{ color:inherit !important; text-decoration:none !important; }

/* ---------- Layout shell ---------- */
.lcb-shell{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 clamp(16px,4vw,40px) !important;
  padding-top: 50px !important;
}
.lcb-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 340px !important;
  gap:clamp(28px,4vw,56px) !important;
  align-items:start !important;
}
.lcb-article{ min-width:0 !important; }

/* ---------- Decorative placeholder image ---------- */
.lcb-ph{
  position:relative !important;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(255,155,47,0.16), transparent 55%),
    radial-gradient(120% 120% at 100% 100%, rgba(255,122,20,0.12), transparent 55%),
    linear-gradient(160deg,#221a15,#16110d) !important;
  border:1px solid var(--lc-border) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--lc-text-subtle) !important;
  overflow:hidden !important;
}
.lcb-ph::after{
  content:attr(data-label) !important;
  font-family:var(--lc-font-mono) !important;
  font-size:11px !important;
  letter-spacing:0.14em !important;
  text-transform:uppercase !important;
}
.lcb-ph svg{ position:absolute !important; width:34px !important; height:34px !important;
  top:14px !important; left:14px !important; stroke:var(--lc-brand) !important; opacity:0.85 !important; }

/* ---------- Shared bits ---------- */
.lcb-badge{
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  font-family:var(--lc-font-mono) !important;
  font-size:11px !important; font-weight:500 !important;
  letter-spacing:0.16em !important; text-transform:uppercase !important;
  color:#251306 !important;
  background:linear-gradient(180deg,var(--lc-brand) 0%,var(--lc-brand-2) 100%) !important;
  padding:6px 12px !important;
  border-radius:999px !important;
}
.lcb-meta-mono{
  font-family:var(--lc-font-mono) !important;
  font-size:12.5px !important;
  letter-spacing:0.01em !important;
  color:var(--lc-text-subtle) !important;
}
.lcb-serif{
  font-family:var(--lc-font-serif) !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:var(--lc-brand) !important;
}

/* ---------- 1. Hero ---------- */
.lcb-hero{ margin-bottom:40px !important; }
.lcb-hero-top{ display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:20px !important; flex-wrap:wrap !important; }
.lcb-hero h1{
  font-family:var(--lc-font-sans) !important;
  font-weight:600 !important;
  font-size:clamp(32px,4.6vw,52px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.025em !important;
  margin:0 0 18px !important;
  color:var(--lc-text) !important;
  text-wrap:balance !important;
}
.lcb-hero h1 .lcb-serif{ font-size:1.04em !important; }
.lcb-excerpt{
  font-size:18.5px !important;
  color:var(--lc-text-muted) !important;
  margin:0 0 26px !important;
  max-width:60ch !important;
}
.lcb-featured{
  border-radius:var(--lc-radius-lg) !important;
  height:clamp(240px,38vw,440px) !important;
  margin-bottom:26px !important;
  box-shadow:0 24px 60px -28px rgba(0,0,0,0.8) !important;
}
.lcb-byline{
  display:flex !important; align-items:center !important; gap:14px !important;
  flex-wrap:wrap !important;
  padding-top:22px !important;
  border-top:1px solid var(--lc-border) !important;
}
.lcb-avatar{
  width:46px !important; height:46px !important; border-radius:50% !important;
  flex:0 0 auto !important;
  border:1px solid var(--lc-border-strong) !important;
}
.lcb-avatar.lcb-ph{ font-size:0 !important; }
.lcb-byline-name{ font-weight:600 !important; font-size:14.5px !important; color:var(--lc-text) !important; line-height:1.3 !important; }
.lcb-byline-sub{ font-family:var(--lc-font-mono) !important; font-size:11.5px !important; color:var(--lc-text-subtle) !important; }
.lcb-dot{ color:var(--lc-text-subtle) !important; }
.lcb-pill-meta{ display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; margin-left:auto !important; }
.lcb-chip{
  font-family:var(--lc-font-mono) !important;
  font-size:11px !important; letter-spacing:0.04em !important;
  color:var(--lc-text-muted) !important;
  background:var(--lc-bg-2) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:999px !important;
  padding:5px 11px !important;
}

/* ---------- 2. Intro ---------- */
.lcb-intro p{
  font-size:19px !important;
  color:var(--lc-text-muted) !important;
  margin:0 0 18px !important;
  line-height:1.75 !important;
}
.lcb-intro p:first-child{ color:var(--lc-text) !important; }

/* ---------- 3. Table of Contents ---------- */
.lcb-toc{
  background:var(--lc-bg-2) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-lg) !important;
  padding:24px 26px !important;
  margin:34px 0 !important;
}
.lcb-toc-title{
  font-family:var(--lc-font-mono) !important;
  font-size:12px !important; letter-spacing:0.14em !important; text-transform:uppercase !important;
  color:var(--lc-brand) !important;
  margin:0 0 14px !important;
}
.lcb-toc ol{ list-style:none !important; margin:0 !important; padding:0 !important; counter-reset:lcb-toc !important;
  display:grid !important; grid-template-columns:1fr 1fr !important; gap:2px 28px !important; }
.lcb-toc li{ counter-increment:lcb-toc !important; }
.lcb-toc a{
  display:flex !important; align-items:baseline !important; gap:10px !important;
  padding:8px 0 !important;
  font-size:15px !important;
  color:var(--lc-text-muted) !important;
  border-bottom:1px solid transparent !important;
  transition:color 0.18s ease !important;
}
.lcb-toc a::before{
  content:counter(lcb-toc,decimal-leading-zero) !important;
  font-family:var(--lc-font-mono) !important;
  font-size:12px !important;
  color:var(--lc-text-subtle) !important;
  flex:0 0 auto !important;
}
.lcb-toc a:hover{ color:var(--lc-brand) !important; }
.lcb-toc a:hover::before{ color:var(--lc-brand) !important; }

/* ---------- 4. Main content ---------- */
.lcb-content{ scroll-margin-top:24px !important; }
.lcb-content h2{
  font-family:var(--lc-font-sans) !important;
  font-weight:600 !important;
  font-size:clamp(25px,3vw,33px) !important;
  letter-spacing:-0.02em !important;
  line-height:1.18 !important;
  color:var(--lc-text) !important;
  margin:48px 0 16px !important;
  scroll-margin-top:24px !important;
}
.lcb-content h3{
  font-family:var(--lc-font-sans) !important;
  font-weight:600 !important;
  font-size:20px !important;
  letter-spacing:-0.01em !important;
  color:var(--lc-text) !important;
  margin:34px 0 12px !important;
}
.lcb-content p{ margin:0 0 18px !important; color:var(--lc-text-muted) !important; }
.lcb-content p strong{ color:var(--lc-text) !important; font-weight:600 !important; }
.lcb-content .lcb-hl{ color:var(--lc-brand) !important; font-weight:500 !important; }
.lcb-content a.lcb-link{
  color:var(--lc-brand) !important; font-weight:500 !important;
  border-bottom:1px solid rgba(255,155,47,0.35) !important;
  transition:border-color 0.18s ease !important;
}
.lcb-content a.lcb-link:hover{ border-color:var(--lc-brand) !important; }

.lcb-content ul,
.lcb-content ol{ margin:0 0 22px !important; padding:0 !important; list-style:none !important; }
.lcb-content ul li,
.lcb-content ol li{
  position:relative !important;
  padding-left:28px !important;
  margin:0 0 10px !important;
  color:var(--lc-text-muted) !important;
}
.lcb-content ul li::before{
  content:"" !important;
  position:absolute !important; left:4px !important; top:11px !important;
  width:7px !important; height:7px !important; border-radius:2px !important;
  background:linear-gradient(180deg,var(--lc-brand),var(--lc-brand-2)) !important;
}
.lcb-content ol{ counter-reset:lcb-ol !important; }
.lcb-content ol li{ counter-increment:lcb-ol !important; }
.lcb-content ol li::before{
  content:counter(lcb-ol) !important;
  position:absolute !important; left:0 !important; top:1px !important;
  font-family:var(--lc-font-mono) !important; font-size:12px !important; font-weight:500 !important;
  color:var(--lc-brand) !important;
}

.lcb-inline-img{
  border-radius:var(--lc-radius-sm) !important;
  height:clamp(200px,30vw,320px) !important;
  margin:26px 0 !important;
}
.lcb-figcap{
  font-family:var(--lc-font-mono) !important;
  font-size:11.5px !important; color:var(--lc-text-subtle) !important;
  margin-top:10px !important; text-align:center !important;
}

/* Quote block */
.lcb-quote{
  margin:30px 0 !important;
  padding:24px 28px !important;
  border-left:3px solid var(--lc-brand) !important;
  background:var(--lc-bg-2) !important;
  border-radius:0 var(--lc-radius-sm) var(--lc-radius-sm) 0 !important;
}
.lcb-quote p{
  font-family:var(--lc-font-serif) !important;
  font-style:italic !important;
  font-size:24px !important;
  line-height:1.4 !important;
  color:var(--lc-text) !important;
  margin:0 0 8px !important;
}
.lcb-quote cite{
  font-style:normal !important;
  font-family:var(--lc-font-mono) !important;
  font-size:12px !important; letter-spacing:0.04em !important;
  color:var(--lc-text-subtle) !important;
}

/* Highlight / callout boxes */
.lcb-callout{
  display:flex !important; gap:16px !important;
  margin:28px 0 !important;
  padding:20px 22px !important;
  background:var(--lc-bg-3) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-lg) !important;
}
.lcb-callout-icon{
  flex:0 0 auto !important;
  width:42px !important; height:42px !important;
  border-radius:12px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:rgba(255,155,47,0.12) !important;
  border:1px solid rgba(255,155,47,0.30) !important;
}
.lcb-callout-icon svg{ width:20px !important; height:20px !important; stroke:var(--lc-brand) !important; }
.lcb-callout-title{ font-weight:600 !important; font-size:15px !important; color:var(--lc-text) !important; margin:0 0 4px !important; }
.lcb-callout p{ margin:0 !important; font-size:15px !important; color:var(--lc-text-muted) !important; }

/* ---------- 5. CTA card ---------- */
.lcb-cta{
  margin:46px 0 !important;
  padding:32px !important;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(255,122,20,0.16), transparent 60%),
    var(--lc-bg-2) !important;
  border:1px solid var(--lc-border-strong) !important;
  border-radius:var(--lc-radius-lg) !important;
  box-shadow:0 0 0 1px rgba(255,155,47,0.05), 0 24px 60px -36px rgba(255,122,20,0.5) !important;
  display:flex !important; gap:22px !important; align-items:center !important; flex-wrap:wrap !important;
}
.lcb-cta-icon{
  flex:0 0 auto !important;
  width:56px !important; height:56px !important; border-radius:16px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:linear-gradient(180deg,var(--lc-brand),var(--lc-brand-2)) !important;
  box-shadow:0 12px 28px -10px rgba(255,122,20,0.7) !important;
}
.lcb-cta-icon svg{ width:26px !important; height:26px !important; stroke:#251306 !important; }
.lcb-cta-body{ flex:1 1 280px !important; min-width:0 !important; }
.lcb-cta-body h3{ margin:0 0 6px !important; font-size:21px !important; font-weight:600 !important; color:var(--lc-text) !important; letter-spacing:-0.01em !important; }
.lcb-cta-body p{ margin:0 !important; color:var(--lc-text-muted) !important; font-size:15.5px !important; }
.lcb-cta-actions{ flex:0 0 auto !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:8px !important; }

.lcb-btn{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  font-family:var(--lc-font-sans) !important;
  font-weight:600 !important; font-size:15px !important;
  background:linear-gradient(180deg,#ff9b2f 0%,#ff7a14 100%) !important;
  color:#251306 !important;
  border:none !important;
  border-radius:10px !important;
  padding:12px 22px !important;
  cursor:pointer !important;
  transition:transform 0.16s ease, box-shadow 0.16s ease !important;
  box-shadow:0 10px 24px -10px rgba(255,122,20,0.7) !important;
}
.lcb-btn:hover{ transform:translateY(-1px) !important; box-shadow:0 14px 30px -10px rgba(255,122,20,0.85) !important; }
.lcb-btn svg{ width:16px !important; height:16px !important; stroke:#251306 !important; }
.lcb-link-secondary{ font-family:var(--lc-font-mono) !important; font-size:12px !important; color:var(--lc-text-subtle) !important; }
.lcb-link-secondary:hover{ color:var(--lc-brand) !important; }

/* ---------- 6. FAQ ---------- */
.lcb-faq{ margin:46px 0 !important; }
.lcb-faq h2{ margin-bottom:18px !important; }
.lcb-faq-item{
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-sm) !important;
  background:var(--lc-bg-2) !important;
  margin-bottom:12px !important;
  overflow:hidden !important;
  transition:border-color 0.2s ease !important;
}
.lcb-faq-item[data-open="true"]{ border-color:rgba(255,155,47,0.45) !important; }
.lcb-faq-q{
  width:100% !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important;
  background:transparent !important;
  border:none !important;
  text-align:left !important;
  cursor:pointer !important;
  padding:18px 22px !important;
  font-family:var(--lc-font-sans) !important;
  font-weight:500 !important; font-size:16.5px !important;
  color:var(--lc-text) !important;
}
.lcb-faq-icon{
  flex:0 0 auto !important;
  position:relative !important; width:18px !important; height:18px !important;
}
.lcb-faq-icon::before,
.lcb-faq-icon::after{
  content:"" !important; position:absolute !important;
  background:var(--lc-text-subtle) !important;
  transition:background 0.2s ease, transform 0.25s ease, opacity 0.2s ease !important;
}
.lcb-faq-icon::before{ top:8px !important; left:0 !important; width:18px !important; height:2px !important; }
.lcb-faq-icon::after{ left:8px !important; top:0 !important; width:2px !important; height:18px !important; }
.lcb-faq-item[data-open="true"] .lcb-faq-icon::before,
.lcb-faq-item[data-open="true"] .lcb-faq-icon::after{ background:var(--lc-brand) !important; }
.lcb-faq-item[data-open="true"] .lcb-faq-icon::after{ transform:rotate(90deg) !important; opacity:0 !important; }
.lcb-faq-a{
  max-height:0 !important; overflow:hidden !important;
  transition:max-height 0.32s ease !important;
}
.lcb-faq-a-inner{ padding:0 22px 20px !important; color:var(--lc-text-muted) !important; font-size:15.5px !important; }

/* ---------- 7. Author box ---------- */
.lcb-author{
  display:flex !important; gap:22px !important; align-items:flex-start !important; flex-wrap:wrap !important;
  margin:46px 0 !important;
  padding:28px !important;
  background:var(--lc-bg-2) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-lg) !important;
}
.lcb-author-avatar{ width:84px !important; height:84px !important; border-radius:50% !important; flex:0 0 auto !important; border:1px solid var(--lc-border-strong) !important; }
.lcb-author-body{ flex:1 1 260px !important; min-width:0 !important; }
.lcb-author-eyebrow{ font-family:var(--lc-font-mono) !important; font-size:11px !important; letter-spacing:0.14em !important; text-transform:uppercase !important; color:var(--lc-brand) !important; margin:0 0 6px !important; }
.lcb-author-name{ font-size:19px !important; font-weight:600 !important; color:var(--lc-text) !important; margin:0 0 2px !important; }
.lcb-author-role{ font-family:var(--lc-font-mono) !important; font-size:12.5px !important; color:var(--lc-text-subtle) !important; margin:0 0 12px !important; }
.lcb-author-bio{ font-size:15.5px !important; color:var(--lc-text-muted) !important; margin:0 0 16px !important; }
.lcb-social-row{ display:flex !important; gap:10px !important; flex-wrap:wrap !important; }
.lcb-social{
  width:38px !important; height:38px !important; border-radius:50% !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--lc-bg-3) !important;
  border:1px solid var(--lc-border) !important;
  transition:border-color 0.18s ease, transform 0.18s ease, background 0.18s ease !important;
}
.lcb-social svg{ width:17px !important; height:17px !important; fill:var(--lc-text-muted) !important; }
.lcb-social:hover{ transform:translateY(-2px) !important; border-color:rgba(255,155,47,0.5) !important; background:rgba(255,155,47,0.10) !important; }
.lcb-social:hover svg{ fill:var(--lc-brand) !important; }

/* ---------- 8. Related posts ---------- */
.lcb-related{ margin:46px 0 0 !important; }
.lcb-related > h2{ margin-bottom:22px !important; }
.lcb-related-grid{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important; }
.lcb-card{
  background:var(--lc-bg-2) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-lg) !important;
  overflow:hidden !important;
  transition:border-color 0.2s ease, transform 0.2s ease !important;
}
.lcb-card:hover{ border-color:rgba(255,155,47,0.45) !important; transform:translateY(-3px) !important; }
.lcb-card-thumb{ height:150px !important; overflow:hidden !important; }
.lcb-card-thumb .lcb-ph{ height:100% !important; border:none !important; border-radius:0 !important; transition:transform 0.4s ease !important; }
.lcb-card:hover .lcb-card-thumb .lcb-ph{ transform:scale(1.06) !important; }
.lcb-card-body{ padding:16px 18px 20px !important; }
.lcb-card .lcb-badge{ font-size:9.5px !important; padding:4px 9px !important; margin-bottom:11px !important; }
.lcb-card-title{ font-size:16.5px !important; font-weight:600 !important; color:var(--lc-text) !important; line-height:1.3 !important; margin:0 0 12px !important; letter-spacing:-0.01em !important; }
.lcb-card:hover .lcb-card-title{ color:var(--lc-brand) !important; }
.lcb-card-meta{ font-family:var(--lc-font-mono) !important; font-size:11.5px !important; color:var(--lc-text-subtle) !important; display:flex !important; gap:8px !important; align-items:center !important; }

/* ---------- 9. Sidebar ---------- */
.lcb-sidebar{ position:sticky !important; top:24px !important; display:flex !important; flex-direction:column !important; gap:20px !important; }
.lcb-widget{
  background:var(--lc-bg-2) !important;
  border:1px solid var(--lc-border) !important;
  border-radius:var(--lc-radius-lg) !important;
  padding:22px !important;
}
.lcb-widget-title{
  font-family:var(--lc-font-sans) !important;
  font-weight:600 !important; font-size:16px !important;
  color:var(--lc-text) !important;
  margin:0 0 16px !important;
  padding-bottom:13px !important;
  border-bottom:1px solid var(--lc-border) !important;
}
/* Categories */
.lcb-cat-list{ list-style:none !important; margin:0 !important; padding:0 !important; }
.lcb-cat-list li + li{ border-top:1px solid var(--lc-border) !important; }
.lcb-cat-list a{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  padding:11px 0 !important; font-size:14.5px !important; color:var(--lc-text-muted) !important;
  transition:color 0.18s ease, padding 0.18s ease !important;
}
.lcb-cat-list a svg{ width:14px !important; height:14px !important; stroke:var(--lc-text-subtle) !important; transition:transform 0.18s ease, stroke 0.18s ease !important; }
.lcb-cat-list a:hover{ color:var(--lc-brand) !important; padding-left:4px !important; }
.lcb-cat-list a:hover svg{ stroke:var(--lc-brand) !important; transform:translateX(3px) !important; }
.lcb-cat-count{ font-family:var(--lc-font-mono) !important; font-size:11px !important; color:var(--lc-text-subtle) !important; margin-left:auto !important; margin-right:10px !important; }

/* Popular posts */
.lcb-pop{ display:flex !important; flex-direction:column !important; gap:14px !important; }
.lcb-pop-item{ display:flex !important; gap:12px !important; align-items:center !important; }
.lcb-pop-thumb{ width:56px !important; height:56px !important; border-radius:10px !important; flex:0 0 auto !important; }
.lcb-pop-thumb::after{ display:none !important; }
.lcb-pop-thumb svg{ position:static !important; width:20px !important; height:20px !important; }
.lcb-pop-body{ min-width:0 !important; }
.lcb-pop-title{ font-size:13.5px !important; font-weight:500 !important; color:var(--lc-text) !important; line-height:1.35 !important; margin:0 0 4px !important; transition:color 0.18s ease !important; }
.lcb-pop-item:hover .lcb-pop-title{ color:var(--lc-brand) !important; }
.lcb-pop-meta{ font-family:var(--lc-font-mono) !important; font-size:10.5px !important; color:var(--lc-text-subtle) !important; }

/* Newsletter */
.lcb-news{ text-align:center !important; }
.lcb-news .lcb-widget-title{ border-bottom:none !important; padding-bottom:0 !important; margin-bottom:8px !important; }
.lcb-news p{ font-size:14px !important; color:var(--lc-text-muted) !important; margin:0 0 16px !important; }
.lcb-news-input{
  width:100% !important;
  background:var(--lc-bg) !important;
  border:1px solid var(--lc-border-strong) !important;
  border-radius:10px !important;
  padding:11px 14px !important;
  color:var(--lc-text) !important;
  font-family:var(--lc-font-sans) !important; font-size:14px !important;
  margin-bottom:10px !important;
  outline:none !important;
  transition:border-color 0.18s ease, box-shadow 0.18s ease !important;
}
.lcb-news-input::placeholder{ color:var(--lc-text-subtle) !important; }
.lcb-news-input:focus{ border-color:var(--lc-brand) !important; box-shadow:0 0 0 3px rgba(255,155,47,0.15) !important; }
.lcb-news .lcb-btn{ width:100% !important; justify-content:center !important; }
.lcb-news-note{ font-family:var(--lc-font-mono) !important; font-size:10.5px !important; color:var(--lc-text-subtle) !important; margin:12px 0 0 !important; }

/* Social widget */
.lcb-stay{ display:flex !important; gap:12px !important; flex-wrap:wrap !important; }
.lcb-stay .lcb-social{ width:44px !important; height:44px !important; }
.lcb-stay .lcb-social svg{ width:19px !important; height:19px !important; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .lcb-grid{ grid-template-columns:1fr !important; }
  .lcb-sidebar{ position:static !important; }
  .lcb-related-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .lcb-toc ol{ grid-template-columns:1fr !important; }
}
@media (max-width:560px){
  .lcb-root{ font-size:16px !important; }
  .lcb-related-grid{ grid-template-columns:1fr !important; }
  .lcb-pill-meta{ margin-left:0 !important; width:100% !important; }
  .lcb-cta{ padding:24px !important; }
  .lcb-cta-actions{ width:100% !important; }
  .lcb-byline{ gap:12px !important; }
}

/* =====================================================================
   ADDITIONS for the live WordPress / Elementor build
   (real images, reading-progress, extra tablet breakpoint)
   ===================================================================== */

/* ---------- Real images replace the placeholder blocks ---------- */
.lcb-featured{ overflow:hidden !important; }
.lcb-featured > img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.lcb-inline-img{ overflow:hidden !important; }
.lcb-inline-img > img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.lcb-card-thumb > img{
  width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
  transition:transform 0.4s ease !important;
}
.lcb-card:hover .lcb-card-thumb > img{ transform:scale(1.06) !important; }
.lcb-avatar > img,
.lcb-author-avatar > img,
.lcb-pop-thumb > img{ width:100% !important; height:100% !important; object-fit:cover !important; border-radius:inherit !important; display:block !important; }
.lcb-pop-thumb{ overflow:hidden !important; }
.lcb-avatar,.lcb-author-avatar{ overflow:hidden !important; }

/* Inline images dropped straight into post content via WP editor */
.lcb-content img{ border-radius:var(--lc-radius-sm) !important; margin:26px 0 !important; height:auto !important; }
.lcb-content figure{ margin:26px 0 !important; }
.lcb-content figcaption{
  font-family:var(--lc-font-mono) !important; font-size:11.5px !important;
  color:var(--lc-text-subtle) !important; margin-top:10px !important; text-align:center !important;
}
.lcb-content table{ width:100% !important; border-collapse:collapse !important; margin:26px 0 !important; font-size:15px !important; }
.lcb-content th,.lcb-content td{ border:1px solid var(--lc-border) !important; padding:10px 14px !important; text-align:left !important; color:var(--lc-text-muted) !important; }
.lcb-content th{ color:var(--lc-text) !important; font-weight:600 !important; background:var(--lc-bg-2) !important; }

/* ---------- Reading-progress bar (scoped, vanilla-driven) ---------- */
.lcb-progress{
  position:fixed !important; top:0 !important; left:0 !important;
  height:3px !important; width:0% !important; z-index:9999 !important;
  background:linear-gradient(90deg,var(--lc-brand),var(--lc-brand-2)) !important;
  transition:width 0.08s linear !important;
  pointer-events:none !important;
}

/* ---------- Empty-state safety: hide sections with no data ---------- */
.lcb-root [hidden]{ display:none !important; }

/* ---------- Extra tablet breakpoint (768px) ---------- */
@media (max-width:768px){
  .lcb-related-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .lcb-toc ol{ grid-template-columns:1fr !important; }
  .lcb-hero h1{ font-size:clamp(28px,6vw,40px) !important; }
}

/* ---------- Respect reduced-motion preference ---------- */
@media (prefers-reduced-motion:reduce){
  .lcb-root *{ transition:none !important; scroll-behavior:auto !important; }
  .lcb-progress{ transition:none !important; }
}

/* ---------- Base styling for raw editor content (no helper classes) ---------- */
.lcb-content a{
  color:var(--lc-brand) !important; font-weight:500 !important;
  border-bottom:1px solid rgba(255,155,47,0.35) !important;
  transition:border-color 0.18s ease !important;
}
.lcb-content a:hover{ border-color:var(--lc-brand) !important; }
.lcb-content h2,.lcb-content h3{ scroll-margin-top:24px !important; }
.lcb-content blockquote{
  margin:30px 0 !important;
  padding:24px 28px !important;
  border-left:3px solid var(--lc-brand) !important;
  background:var(--lc-bg-2) !important;
  border-radius:0 var(--lc-radius-sm) var(--lc-radius-sm) 0 !important;
}
.lcb-content blockquote p{
  font-family:var(--lc-font-serif) !important; font-style:italic !important;
  font-size:24px !important; line-height:1.4 !important;
  color:var(--lc-text) !important; margin:0 0 8px !important;
}
.lcb-content blockquote cite{
  font-style:normal !important; font-family:var(--lc-font-mono) !important;
  font-size:12px !important; letter-spacing:0.04em !important; color:var(--lc-text-subtle) !important;
}
