/*
Theme Name: L'Investisseur Long Terme Child
Version: 1.1.0
Theme URI: https://www.l-investisseur-long-terme.fr
Description: Child theme d'Astra pour L'Investisseur Long Terme. Design system éditorial : Playfair + Inter + JetBrains Mono. Palette crème/bleu/or.
Author: Loïc S
Author URI: https://www.l-investisseur-long-terme.fr
Template: astra
Version: 1.0.0
Text Domain: astra-child-lit
*/

/* =====================================================
   DESIGN TOKENS
   ===================================================== */
:root {
  --lit-paper:      #FAF7F2;
  --lit-paper-2:   #FCFAF6;
  --lit-cream:      #EFEAE0;
  --lit-cream-2:   #F6F2EA;
  --lit-ink:        #1A1F2E;
  --lit-body:       #2E3547;
  --lit-body-2:    #414A5E;
  --lit-meta:       #6B7386;
  --lit-meta-2:    #8A90A0;
  --lit-line:       #E4DDCF;
  --lit-line-2:    #EFEAE0;

  --lit-blue:       #2C4F7C;
  --lit-gold:       #C89B3C;
  --lit-gold-dk:   #8A6A1E;
  --lit-green:      #4A7C59;
  --lit-red:        #C4453F;

  --lit-gold-tint:  #F6F2EA;
  --lit-gold-brdr:  #E8DCC0;
  --lit-blue-tint:  #EEF2F8;
  --lit-blue-brdr:  #D3DEEC;
  --lit-green-tint: #F1F5EF;
  --lit-green-brdr: #D8E3D5;
  --lit-red-tint:   #F8EDEC;
  --lit-red-brdr:   #EBD6D4;

  --lit-serif:  'Playfair Display', 'Georgia', serif;
  --lit-sans:   'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --lit-mono:   'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
}

/* =====================================================
   NEUTRALISATION ASTRA (empêcher sidebar, banner, wrappers étroits)
   ===================================================== */

/* Zapper le bandeau titre Astra sur nos templates */
.lit-single .ast-single-post-banner,
.lit-single .entry-banner,
.lit-single .ast-page-title-bar,
.lit-single header.entry-header,
.lit-single .entry-header .entry-title,
.lit-archive .ast-archive-description,
.lit-archive .ast-archive-title,
.lit-archive .page-header,
.lit-archive header.page-header {
  display: none !important;
}

/* Astra impose un container ~750px sur #primary → on libère (avec !important + spécificité max) */
body.lit-single .site-content > .ast-container,
body.lit-single .site-content > .ast-container-fluid,
body.lit-archive .site-content > .ast-container,
body.lit-archive .site-content > .ast-container-fluid,
body.lit-single .ast-container,
body.lit-archive .ast-container,
body.lit-single #content,
body.lit-archive #content,
body.lit-single #content > .ast-container,
body.lit-archive #content > .ast-container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
/* Casser tous les floats et grids Astra parent — RESET AGRESSIF */
body.lit-single .site-content,
body.lit-archive .site-content,
body.lit-single #primary,
body.lit-archive #primary,
body.lit-single .site-main,
body.lit-archive .site-main,
body.lit-single main,
body.lit-archive main,
body.lit-single article,
body.lit-single .entry-content,
body.lit-archive .content-area {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-template-areas: none !important;
  flex-direction: column !important;
  gap: 0 !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper unique du template pour éviter que Astra ne mette les enfants en flex */
.lit-single-post {
  display: block !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  clear: both !important;
  padding: 0 clamp(16px, 3vw, 32px);
}
.lit-single-post > * {
  display: block;
  width: 100%;
  max-width: none;
}
.lit-single #primary,
.lit-archive #primary,
.lit-single .content-area,
.lit-archive .content-area,
.lit-single .site-main,
.lit-archive .site-main {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.lit-single #secondary,
.lit-archive #secondary,
.lit-single .widget-area,
.lit-archive .widget-area {
  display: none !important;
}
/* Cacher les meta Astra par défaut si elles apparaissent malgré tout */
.lit-single .entry-meta,
.lit-single .ast-single-post-meta,
.lit-single .ast-single-related-posts-container {
  display: none;
}

/* Cacher tout TOC de plugin par CSS (double sécurité en plus du preg_replace PHP) */
.lit-content #ez-toc-container,
.lit-content .ez-toc-v2_0_79,
.lit-content .ez-toc,
.lit-content .luckywp-table-of-contents,
.lit-content .lwptoc,
.lit-content .wp-block-rank-math-toc,
.lit-content .toc_wrap,
.lit-content .toc-container,
.lit-content #toc_container,
.lit-content .ub_table-of-contents {
  display: none !important;
}

/* =====================================================
   BASE
   ===================================================== */
body.lit-single,
body.lit-archive {
  background: var(--lit-paper);
  color: var(--lit-ink);
  font-family: var(--lit-sans);
  -webkit-font-smoothing: antialiased;
}
.lit-single a { color: var(--lit-blue); text-decoration: none; }
.lit-single a:hover { color: var(--lit-gold); text-decoration: underline; }
.lit-single h2[id] { scroll-margin-top: 96px; }

/* =====================================================
   ARTICLE HEADER (fil d'ariane + kicker + H1 + subtitle + author)
   ===================================================== */
.lit-article-head {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 0 0 !important;
  float: none !important;
  display: block !important;
  clear: both !important;
}
.lit-breadcrumb {
  font-family: var(--lit-mono);
  font-size: 11px;
  color: var(--lit-meta-2);
  padding-bottom: 4px;
}
.lit-breadcrumb a { color: var(--lit-meta); }
.lit-breadcrumb a:hover { color: var(--lit-gold); text-decoration: underline; }
.lit-breadcrumb .sep { margin: 0 6px; opacity: 0.5; }

.lit-hero {
  padding: 22px 0 30px;
}
.lit-kicker {
  font-family: var(--lit-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lit-gold);
  margin-bottom: 16px;
}
.lit-hero h1 {
  font-family: var(--lit-serif);
  font-size: clamp(28px, 4.5vw, 48px);
  line-height: 1.08;
  font-weight: 700;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
  max-width: 100%;
  width: 100%;
  text-wrap: balance;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
  color: var(--lit-ink);
}
.lit-subtitle {
  font-size: 18px;
  line-height: 1.6;
  color: var(--lit-body-2);
  margin: 0 0 26px;
  max-width: 62ch;
  text-wrap: pretty;
}
.lit-byline {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 18px 0;
  border-top: 1px solid var(--lit-line-2);
  border-bottom: 1px solid var(--lit-line-2);
}
.lit-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--lit-cream);
  border: 1px solid var(--lit-line);
  display: grid; place-items: center;
  font-family: var(--lit-serif);
  font-size: 15px; font-weight: 700; color: var(--lit-blue);
  flex-shrink: 0;
}
.lit-byline-info { flex: 1 1 200px; }
.lit-byline-name {
  font-size: 13.5px; font-weight: 600; color: var(--lit-ink);
}
.lit-byline-meta {
  font-family: var(--lit-mono);
  font-size: 11px;
  color: var(--lit-meta);
  margin-top: 3px;
}
.lit-byline-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.lit-chip {
  padding: 5px 10px;
  border-radius: 20px;
  border: 1px solid var(--lit-line);
  font-family: var(--lit-mono);
  font-size: 10.5px;
  color: var(--lit-meta);
}

/* =====================================================
   ARTICLE LAYOUT (sidebar sticky + content)
   ===================================================== */
.lit-article-wrap {
  max-width: none;
  margin: 0;
  padding: 0 0 72px;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(28px, 4vw, 52px);
  align-items: flex-start;
}
/* Layout SANS sidebar (contenu full width centré) */
.lit-article-wrap.no-sidebar {
  max-width: 820px;
  display: block;
}
.lit-article-wrap.no-sidebar .lit-content {
  max-width: 720px;
  margin: 0 auto;
}
.lit-sidebar {
  flex: 1 1 270px;
  max-width: 300px;
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.lit-content {
  flex: 4 1 460px;
  min-width: 0;
  font-size: 16.5px;
  line-height: 1.72;
  color: var(--lit-body);
}

/* Sidebar TL;DR */
.lit-tldr {
  background: var(--lit-cream-2);
  border: 1px solid var(--lit-gold-brdr);
  border-left: 3px solid var(--lit-gold);
  border-radius: 6px;
  padding: 20px;
}
.lit-tldr-title {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lit-gold-dk);
  margin-bottom: 14px;
}
.lit-tldr ul {
  margin: 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 11px;
}
.lit-tldr li {
  display: flex; gap: 9px;
  font-size: 13.5px; line-height: 1.5;
  color: var(--lit-body-2);
}
.lit-tldr li::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--lit-gold);
  flex-shrink: 0;
  margin-top: 7px;
}

/* Sidebar Sommaire */
.lit-toc {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 6px;
  padding: 18px;
}
.lit-toc-title {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lit-meta);
  margin-bottom: 12px;
}
.lit-toc ol {
  margin: 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 9px;
}
.lit-toc li {
  display: flex; gap: 10px; align-items: baseline;
}
.lit-toc .toc-num {
  font-family: var(--lit-mono);
  font-size: 10.5px;
  color: var(--lit-gold);
}
.lit-toc a {
  font-family: var(--lit-mono);
  font-size: 11px;
  line-height: 1.5;
  color: var(--lit-body-2);
}
.lit-toc a:hover { color: var(--lit-blue); text-decoration: underline; }

/* =====================================================
   PROSE (le contenu de l'article Gutenberg)
   ===================================================== */
.lit-content h2 {
  font-family: var(--lit-serif);
  font-size: clamp(24px, 3.4vw, 32px);
  font-weight: 700;
  margin: 40px 0 16px;
  letter-spacing: -0.01em;
  color: var(--lit-ink);
}
.lit-content h2:first-child { margin-top: 8px; }
.lit-content h3 {
  font-family: var(--lit-serif);
  font-size: clamp(19px, 2.6vw, 24px);
  font-weight: 700;
  margin: 28px 0 12px;
  color: var(--lit-ink);
}
.lit-content p { margin: 0 0 18px; }
.lit-content ul,
.lit-content ol {
  margin: 0 0 18px;
  padding: 0 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lit-content blockquote {
  border-left: 3px solid var(--lit-gold);
  padding: 12px 20px;
  margin: 20px 0;
  font-family: var(--lit-serif);
  font-style: italic;
  font-size: 18px;
  color: var(--lit-body-2);
  background: var(--lit-cream-2);
  border-radius: 0 8px 8px 0;
}
.lit-content strong { color: var(--lit-ink); }

/* =====================================================
   CALLOUTS (5 variants via shortcode)
   ===================================================== */
.lit-callout {
  border: 1px solid;
  border-left-width: 3px;
  border-radius: 6px;
  padding: 20px 22px;
  margin: 26px 0;
}
.lit-callout-label {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-weight: 600;
}
.lit-callout p { margin: 0; font-size: 15.5px; line-height: 1.65; }
.lit-callout p + p { margin-top: 12px; }

/* Gold - Bon à savoir */
.lit-callout.gold {
  background: var(--lit-cream-2);
  border-color: var(--lit-gold-brdr);
  border-left-color: var(--lit-gold);
}
.lit-callout.gold .lit-callout-label { color: var(--lit-gold-dk); }
.lit-callout.gold p { color: #3B4152; }

/* Green - Exemple chiffré */
.lit-callout.green {
  background: var(--lit-green-tint);
  border-color: var(--lit-green-brdr);
  border-left-color: var(--lit-green);
}
.lit-callout.green .lit-callout-label { color: #35573F; }
.lit-callout.green p { color: #334036; }

/* Red - Attention */
.lit-callout.red {
  background: var(--lit-red-tint);
  border-color: var(--lit-red-brdr);
  border-left-color: var(--lit-red);
}
.lit-callout.red .lit-callout-label { color: #A03B36; }
.lit-callout.red p { color: #4E3230; }

/* Blue - Définition */
.lit-callout.blue {
  background: var(--lit-blue-tint);
  border-color: var(--lit-blue-brdr);
  border-left-color: var(--lit-blue);
}
.lit-callout.blue .lit-callout-label { color: var(--lit-blue); }
.lit-callout.blue p { color: #31394A; }

/* Ink - Point de vue investisseur */
.lit-callout.ink {
  background: var(--lit-ink);
  border-color: var(--lit-ink);
  border-left-color: var(--lit-gold);
  padding: 26px;
  border-radius: 8px;
}
.lit-callout.ink .lit-callout-label { color: var(--lit-gold); }
.lit-callout.ink p { color: #E6E3DC; font-size: 16px; line-height: 1.68; }

/* =====================================================
   FAQ (accordion)
   ===================================================== */
.lit-faq {
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  background: #FFFFFF;
  overflow: hidden;
  margin: 20px 0;
}
.lit-faq-item { border-top: 1px solid var(--lit-line-2); }
.lit-faq-item:first-child { border-top: 0; }
.lit-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 15.5px;
  font-weight: 500;
  color: var(--lit-ink);
}
.lit-faq-item summary::-webkit-details-marker { display: none; }
.lit-faq-item summary:hover { background: var(--lit-paper-2); }
.lit-faq-item summary::after {
  content: "+";
  font-family: var(--lit-mono);
  font-size: 16px;
  color: var(--lit-gold);
  flex-shrink: 0;
}
.lit-faq-item[open] summary::after { content: "−"; }
.lit-faq-body {
  padding: 0 20px 18px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--lit-body-2);
}

/* =====================================================
   SOURCES BLOCK
   ===================================================== */
.lit-sources {
  margin-top: 48px;
  padding: 26px 28px;
  background: var(--lit-cream-2);
  border-left: 4px solid var(--lit-gold);
  border-radius: 8px;
}
.lit-sources h2 {
  font-family: var(--lit-serif);
  font-size: 22px !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.01em;
  color: var(--lit-ink) !important;
}
.lit-sources .intro {
  margin: 0 0 16px;
  font-size: 14px;
  color: var(--lit-meta);
  font-style: italic;
}
.lit-sources ul {
  margin: 0; padding-left: 20px;
  font-size: 15px; line-height: 1.75;
}
.lit-sources li { margin-bottom: 8px; }
.lit-sources li a { color: var(--lit-blue); font-weight: 600; }

/* =====================================================
   AUTHOR BOX (fin d'article)
   ===================================================== */
.lit-author-box {
  margin: 40px 0 0;
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
.lit-author-box .avatar-lg {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--lit-cream);
  border: 1px solid var(--lit-line);
  display: grid; place-items: center;
  font-family: var(--lit-serif);
  font-size: 26px; font-weight: 700;
  color: var(--lit-blue);
  flex-shrink: 0;
}
.lit-author-box .info { flex: 1 1 260px; min-width: 0; }
.lit-author-box .name {
  font-family: var(--lit-serif);
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 6px;
}
.lit-author-box .bio {
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--lit-body-2);
}
.lit-author-box .credentials {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.lit-author-box .credentials span,
.lit-author-box .credentials a {
  padding: 5px 11px;
  border-radius: 20px;
  background: var(--lit-cream-2);
  font-family: var(--lit-mono);
  font-size: 10.5px;
  color: var(--lit-gold-dk);
}
.lit-author-box .credentials a {
  background: transparent;
  border: 1px solid var(--lit-line);
}

/* =====================================================
   RELATED POSTS (À lire ensuite) — DENSE, ancre = titre
   ===================================================== */
.lit-related {
  margin: 40px 0 0;
}
.lit-related h2 {
  font-family: var(--lit-serif);
  font-size: clamp(22px, 3vw, 26px);
  font-weight: 700;
  margin: 0 0 18px;
}
.lit-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1px;
  background: var(--lit-line);
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  overflow: hidden;
}
.lit-related-grid a {
  background: #FFFFFF;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--lit-ink);
}
.lit-related-grid a:hover {
  background: var(--lit-paper-2);
  text-decoration: none;
}
.lit-related-grid a .cat {
  font-family: var(--lit-mono);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lit-gold);
}
.lit-related-grid a .title {
  font-family: var(--lit-serif);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}
.lit-related-grid a .meta {
  font-family: var(--lit-mono);
  font-size: 10.5px;
  color: var(--lit-meta-2);
  margin-top: auto;
  padding-top: 8px;
}

/* =====================================================
   DISCLAIMER
   ===================================================== */
.lit-disclaimer {
  margin: 36px 0 0;
  padding: 16px 18px;
  background: var(--lit-cream);
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1.6;
  color: #5C6376;
}

/* =====================================================
   ARCHIVE (dense listing avec ANCRE = TITRE)
   ===================================================== */
.lit-archive-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px clamp(16px, 3vw, 20px) 72px;
}
.lit-archive-hero {
  padding: 20px 0 28px;
  border-bottom: 1px solid var(--lit-line);
  margin-bottom: 24px;
}
.lit-archive-hero .kick {
  font-family: var(--lit-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lit-blue);
  margin-bottom: 10px;
}
.lit-archive-hero h1 {
  font-family: var(--lit-serif);
  font-size: clamp(30px, 4.5vw, 44px);
  line-height: 1.05;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.lit-archive-hero .lede {
  font-size: 15px;
  color: var(--lit-body-2);
  max-width: 720px;
  margin: 0;
}

/* Featured card (1er article) */
.lit-featured {
  display: flex;
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--lit-blue-tint), var(--lit-gold-tint));
  color: var(--lit-ink);
  margin-bottom: 32px;
  transition: transform .18s, box-shadow .18s;
}
.lit-featured:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  text-decoration: none;
}
.lit-featured .txt { flex: 1; padding: 32px; }
.lit-featured .kick {
  display: inline-block;
  background: white;
  color: var(--lit-blue);
  padding: 4px 10px;
  border-radius: 4px;
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.lit-featured .t {
  font-family: var(--lit-serif);
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--lit-ink);
}
.lit-featured .e {
  font-size: 14px;
  color: var(--lit-body-2);
  margin: 0 0 12px;
}
.lit-featured .m {
  font-family: var(--lit-mono);
  font-size: 12px;
  color: var(--lit-meta);
}
.lit-featured .pic {
  flex: 0 0 240px;
  background:
    radial-gradient(circle at 30% 30%, rgba(44,79,124,.3), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(200,155,60,.4), transparent 50%);
}
@media (max-width: 700px) {
  .lit-featured { flex-direction: column; }
  .lit-featured .pic { flex: 0 0 160px; }
  .lit-featured .txt { padding: 20px; }
}

/* Dense list */
.lit-listing-title {
  font-family: var(--lit-mono);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lit-meta);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lit-line);
  margin-bottom: 4px;
}
.lit-listing {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 40px;
}
@media (min-width: 900px) {
  .lit-listing { grid-template-columns: 1fr 1fr; }
}
.lit-post-row {
  padding: 14px 0;
  border-bottom: 1px solid var(--lit-line-2);
}
.lit-post-row .row-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 4px;
  font-size: 12px;
}
.lit-post-row .row-cat {
  font-family: var(--lit-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
}
.lit-post-row .row-cat.investissement { color: var(--lit-blue); }
.lit-post-row .row-cat.bourse         { color: #C4453F; }
.lit-post-row .row-cat.assurance-vie  { color: var(--lit-green); }
.lit-post-row .row-cat.banque         { color: var(--lit-gold-dk); }
.lit-post-row .row-cat.crypto         { color: #7a3ce6; }
.lit-post-row .row-cat.creation       { color: #7a3ce6; }
.lit-post-row .row-cat.default        { color: var(--lit-meta); }
.lit-post-row .sep { font-size: 12px; color: var(--lit-meta-2); }
.lit-post-row .row-read {
  font-family: var(--lit-sans);
  font-size: 12px;
  color: var(--lit-meta-2);
  font-weight: 500;
}
.lit-post-row .row-date {
  margin-left: auto;
  font-size: 11px;
  color: var(--lit-meta-2);
}
.lit-post-row h3 {
  font-family: var(--lit-serif);
  font-size: 17px;
  line-height: 1.25;
  margin: 0;
  font-weight: 700;
}
.lit-post-row h3 a {
  color: var(--lit-ink);
  text-decoration: none;
}
.lit-post-row h3 a:hover {
  color: var(--lit-blue);
}

/* Cat chips bar */
.lit-catbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px 0 24px;
  border-bottom: 1px solid var(--lit-line);
  margin-bottom: 20px;
  overflow-x: auto;
}
.lit-catchip {
  padding: 8px 14px;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  color: var(--lit-ink);
  text-decoration: none;
}
.lit-catchip:hover { border-color: var(--lit-ink); text-decoration: none; }
.lit-catchip.active { background: var(--lit-ink); color: white; border-color: var(--lit-ink); }
.lit-catchip .cnt {
  opacity: 0.55;
  margin-left: 4px;
  font-family: var(--lit-mono);
  font-size: 11px;
}

/* =====================================================
   RICH BLOCKS (shortcodes lit-*)
   ===================================================== */

/* TL;DR inline dans le corps */
.lit-tldr.lit-tldr-inline {
  margin: 26px 0;
}

/* Table comparative */
.lit-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  background: #FFFFFF;
  margin: 24px 0;
}
.lit-table {
  width: 100%;
  min-width: 560px;
  font-size: 14.5px;
  border-collapse: collapse;
}
.lit-table thead tr { background: var(--lit-cream); }
.lit-table th {
  text-align: left;
  padding: 12px 16px;
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lit-body-2);
  font-weight: 500;
}
.lit-table tbody tr { border-top: 1px solid var(--lit-line-2); }
.lit-table td { padding: 14px 16px; color: var(--lit-body-2); vertical-align: top; }
.lit-table td.first { font-weight: 600; color: var(--lit-ink); }

/* Timeline horizontale */
.lit-timeline-wrap {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 26px 22px;
  margin: 26px 0;
  overflow-x: auto;
}
.lit-timeline {
  display: flex;
  gap: 0;
  min-width: 520px;
  position: relative;
}
.lit-tl-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-right: 14px;
}
.lit-tl-dot-row { display: flex; align-items: center; gap: 0; }
.lit-tl-dot {
  width: 13px; height: 13px; border-radius: 50%;
  background: var(--lit-gold);
  border: 2px solid #FFFFFF;
  box-shadow: 0 0 0 1.5px var(--lit-gold);
  flex-shrink: 0;
}
.lit-tl-step:nth-child(2) .lit-tl-dot { background: var(--lit-gold); box-shadow: 0 0 0 1.5px var(--lit-gold); }
.lit-tl-step:nth-child(3) .lit-tl-dot { background: var(--lit-blue); box-shadow: 0 0 0 1.5px var(--lit-blue); }
.lit-tl-step:nth-child(4) .lit-tl-dot { background: var(--lit-green); box-shadow: 0 0 0 1.5px var(--lit-green); }
.lit-tl-line { flex: 1; height: 1.5px; background: var(--lit-line); }
.lit-tl-step-label {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lit-meta-2);
  margin-bottom: 6px;
}
.lit-tl-title {
  font-size: 14.5px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--lit-ink);
}
.lit-tl-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--lit-meta);
}

/* Score card */
.lit-score-card {
  margin: 30px 0;
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 24px;
}
.lit-sc-head {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-start;
}
.lit-sc-num {
  font-family: var(--lit-mono);
  font-size: 44px;
  font-weight: 700;
  color: var(--lit-gold);
  line-height: 0.9;
  flex-shrink: 0;
}
.lit-sc-initial {
  width: 48px; height: 48px;
  border-radius: 6px;
  background: var(--lit-cream);
  border: 1px solid var(--lit-line);
  display: grid; place-items: center;
  font-family: var(--lit-serif);
  font-size: 19px;
  font-weight: 700;
  color: var(--lit-blue);
  flex-shrink: 0;
}
.lit-sc-title-block { flex: 1 1 200px; min-width: 0; }
.lit-sc-name {
  font-family: var(--lit-serif);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--lit-ink);
}
.lit-sc-tag {
  font-family: var(--lit-mono);
  font-size: 11px;
  color: var(--lit-meta);
  margin-top: 4px;
}
.lit-sc-score { text-align: right; margin-left: auto; }
.lit-sc-score .v {
  font-family: var(--lit-mono);
  font-size: 30px;
  font-weight: 700;
  color: var(--lit-green);
  line-height: 1;
  display: block;
}
.lit-sc-score .over {
  font-family: var(--lit-mono);
  font-size: 10px;
  color: var(--lit-meta-2);
}
.lit-sc-summary {
  margin: 16px 0 0;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--lit-body-2);
}
.lit-sc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 18px;
}
.lit-sc-pros {
  margin: 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 9px;
}
.lit-sc-pros li {
  display: flex; gap: 9px;
  font-size: 14px; line-height: 1.5;
  color: var(--lit-body-2);
}
.lit-sc-pros li::before {
  content: ""; width: 15px; height: 15px; flex-shrink: 0; margin-top: 3px;
  background-repeat: no-repeat; background-position: center; background-size: contain;
}
.lit-sc-pros li.pro::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A7C59' stroke-width='2.4' stroke-linecap='round'><path d='M20 6 9 17l-5-5'/></svg>");
}
.lit-sc-pros li.con::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4453F' stroke-width='2.4' stroke-linecap='round'><path d='M18 6 6 18M6 6l12 12'/></svg>");
}
.lit-sc-stats {
  display: flex; flex-direction: column; gap: 1px;
  background: var(--lit-line);
  border: 1px solid var(--lit-line);
  border-radius: 6px;
  overflow: hidden;
  align-self: start;
}
.lit-sc-stats > div {
  background: var(--lit-paper-2);
  padding: 9px 13px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.lit-sc-stats .k { font-size: 12.5px; color: var(--lit-meta); }
.lit-sc-stats .v { font-family: var(--lit-mono); font-size: 12.5px; font-weight: 700; color: var(--lit-ink); }

/* Podium (top 3) */
.lit-podium {
  background: var(--lit-cream-2);
  border: 1px solid var(--lit-gold-brdr);
  border-left: 3px solid var(--lit-gold);
  border-radius: 6px;
  padding: 20px;
  margin: 26px 0;
}
.lit-podium .lit-tldr-title { color: var(--lit-gold-dk); margin-bottom: 14px; }
.lit-podium-row {
  display: flex; align-items: center; gap: 12px;
  background: #FFFFFF;
  border: 1px solid var(--lit-gold-brdr);
  border-radius: 5px;
  padding: 11px 13px;
  margin-bottom: 10px;
}
.lit-podium-row:last-child { margin-bottom: 0; }
.lit-podium-medal {
  width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--lit-mono);
  font-size: 12px; font-weight: 700;
  color: #FFFFFF;
  flex-shrink: 0;
}
.lit-podium-row.rank-gold   .lit-podium-medal { background: var(--lit-gold); }
.lit-podium-row.rank-silver .lit-podium-medal { background: #8A90A0; }
.lit-podium-row.rank-bronze .lit-podium-medal { background: #A9743C; }
.lit-podium-info { flex: 1; min-width: 0; }
.lit-podium-info .n { font-size: 13.5px; font-weight: 600; color: var(--lit-ink); }
.lit-podium-info .t { font-family: var(--lit-mono); font-size: 10.5px; color: var(--lit-meta); }
.lit-podium-score {
  font-family: var(--lit-mono);
  font-size: 14px; font-weight: 700;
  color: var(--lit-gold-dk);
}

/* Sponsor block */
.lit-sponsor {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 22px;
  margin: 30px 0;
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
}
.lit-sp-icon {
  width: 52px; height: 52px;
  border-radius: 6px;
  background: var(--lit-ink);
  display: grid; place-items: center;
  font-family: var(--lit-serif);
  font-size: 20px; font-weight: 700;
  color: var(--lit-gold);
  flex-shrink: 0;
}
.lit-sp-body { flex: 1 1 220px; min-width: 0; }
.lit-sp-label {
  font-family: var(--lit-mono);
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lit-meta-2);
  margin-bottom: 6px;
}
.lit-sp-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; color: var(--lit-ink); }
.lit-sp-desc { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--lit-meta); }
.lit-sp-code-wrap { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.lit-sp-code {
  font-family: var(--lit-mono);
  font-size: 14px;
  letter-spacing: 0.08em;
  padding: 10px 14px;
  background: var(--lit-cream-2);
  border: 1px dashed var(--lit-gold);
  border-radius: 5px;
  color: var(--lit-ink);
}
.lit-sp-copy {
  padding: 11px 16px;
  background: var(--lit-ink);
  color: var(--lit-paper);
  border: 0;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--lit-sans);
}
.lit-sp-copy:hover { background: var(--lit-blue); }
.lit-sp-copy.copied { background: var(--lit-green); }

/* Methodo bars */
.lit-methodo {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 24px;
  margin: 30px 0;
}
.lit-methodo .lit-tldr-title { color: var(--lit-meta); margin-bottom: 14px; }
.lit-methodo-row { margin-bottom: 14px; }
.lit-methodo-row:last-child { margin-bottom: 0; }
.lit-methodo-head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 5px;
}
.lit-methodo-head .l { font-size: 14px; font-weight: 500; color: var(--lit-ink); }
.lit-methodo-head .w { font-family: var(--lit-mono); font-size: 12px; color: var(--lit-gold); }
.lit-methodo-bar {
  height: 6px; background: var(--lit-cream); border-radius: 3px; overflow: hidden;
}
.lit-methodo-bar .fill {
  height: 100%; background: var(--lit-blue); border-radius: 3px;
  transition: width .6s ease;
}

/* =====================================================
   LOGO / HEADER SITE TITLE
   ===================================================== */
.site-branding .site-title,
.ast-site-title-wrap .site-title {
  font-family: var(--lit-serif) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
  margin: 0 !important;
  color: var(--lit-ink) !important;
}
.site-branding .site-title a,
.ast-site-title-wrap .site-title a {
  font-family: var(--lit-serif) !important;
  font-style: italic !important;
  color: var(--lit-ink) !important;
  text-decoration: none !important;
}
.site-branding .site-description,
.ast-site-description,
.site-description {
  font-family: var(--lit-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--lit-gold) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  margin-top: 3px !important;
}
/* Alignement horizontal titre + tagline (comme le mockup logo) */
.ast-site-identity {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap;
}
.ast-site-title-wrap {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}

/* =====================================================
   HOMEPAGE (front-page.php)
   ===================================================== */
.lit-home-hero {
  padding: 60px 0 30px;
  text-align: left;
}
.lit-home-hero-inner {
  max-width: 820px;
}
.lit-home-hero h1 {
  font-family: var(--lit-serif);
  font-size: clamp(36px, 5.5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  color: var(--lit-ink);
}
.lit-home-lede {
  font-size: 18px;
  color: var(--lit-body-2);
  margin: 0;
  max-width: 640px;
  line-height: 1.55;
}
.lit-home-cats { margin-top: 48px; }
.lit-home-section-title {
  font-family: var(--lit-serif);
  font-size: clamp(22px, 3vw, 28px);
  margin: 0 0 22px;
  letter-spacing: -0.01em;
}
.lit-home-cats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.lit-home-cat-card {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 10px;
  padding: 18px 20px;
  color: var(--lit-ink);
  text-decoration: none;
  transition: all .15s;
}
.lit-home-cat-card:hover {
  border-color: var(--lit-gold);
  transform: translateY(-2px);
  text-decoration: none;
}
.lit-home-cat-card .n {
  font-family: var(--lit-serif);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}
.lit-home-cat-card .c {
  font-family: var(--lit-mono);
  font-size: 11px;
  color: var(--lit-meta-2);
}
.lit-home-latest { margin-top: 48px; }

/* =====================================================
   FEATURED IMAGE + POST NAV + COMMENTS (ISO content)
   ===================================================== */
.lit-featured-img {
  margin: 22px 0 0;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--lit-cream);
}
.lit-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lit-post-nav {
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 700px) { .lit-post-nav { grid-template-columns: 1fr; } }
.lit-post-nav a {
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 8px;
  padding: 18px 20px;
  color: var(--lit-ink);
  text-decoration: none;
  transition: all .15s;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lit-post-nav a:hover { border-color: var(--lit-gold); text-decoration: none; }
.lit-post-nav .lit-post-nav-label {
  font-family: var(--lit-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lit-meta);
}
.lit-post-nav-next { text-align: right; align-items: flex-end; }
.lit-post-nav .lit-post-nav-title {
  font-family: var(--lit-serif);
  font-size: 15.5px;
  line-height: 1.3;
  font-weight: 600;
}

.lit-comments {
  margin: 40px 0 0;
  padding: 26px;
  background: #FFFFFF;
  border: 1px solid var(--lit-line);
  border-radius: 12px;
}
.lit-comments .comments-title,
.lit-comments h3.comments-title {
  font-family: var(--lit-serif);
  font-size: 22px;
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}

/* =====================================================
   MÉGA-MENU · basé sur le mockup v2
   ===================================================== */

/* La wrap est hidden par défaut, positionnée absolute, s'affiche au hover */
.lit-mega-wrap {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  padding-top: 12px;
  width: auto !important;
  min-width: 720px;
  max-width: 100vw;
}

/* Force le container nav à être position: relative pour que left:0 / right:0 fonctionne */
header .main-navigation,
header nav,
.ast-desktop-header-content,
.main-header-container,
.main-header-menu,
.main-navigation,
.ast-primary-menu-enabled #site-navigation,
#site-navigation,
nav.main-navigation {
  position: relative !important;
}

/* Le parent LI top-level doit être en position: static pour que le mega prenne toute la largeur */
li.menu-item-has-children {
  position: static !important;
}

/* Show sur hover / focus */
li.menu-item-has-children:hover > .lit-mega-wrap,
li.menu-item-has-children:focus-within > .lit-mega-wrap {
  display: block !important;
}

/* Cacher les sub-menu Astra par défaut (au cas où ils se superposent au mega) */
.main-header-menu li.menu-item-has-children > ul.sub-menu:not(.lit-mega-sub-menu) {
  display: none !important;
}

/* Container méga */
.lit-mega {
  max-width: 1200px;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12), 0 0 0 1px var(--lit-line);
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 40px;
}

.lit-mega-col h4 {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lit-meta);
  margin: 0 0 14px;
  font-weight: 600;
}
.lit-mega-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lit-mega-col li {
  margin-bottom: 10px;
}
.lit-mega-col a {
  color: var(--lit-ink) !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1.4;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 4px 0;
}
.lit-mega-col a::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lit-line);
  flex-shrink: 0;
  align-self: center;
}
.lit-mega-col-links a::before { background: var(--lit-blue); }
.lit-mega-col-recent a::before { background: var(--lit-gold); }
.lit-mega-col a:hover {
  color: var(--lit-blue) !important;
  text-decoration: none !important;
}

/* Col 3 : featured */
.lit-mega-col-featured .lit-mega-feat {
  background: linear-gradient(135deg, var(--lit-blue-tint), var(--lit-gold-tint));
  border-radius: 12px;
  padding: 22px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.lit-mega-feat-kick {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lit-blue);
  margin-bottom: 8px;
  font-weight: 600;
}
.lit-mega-feat h5 {
  font-family: var(--lit-serif);
  font-size: 18px;
  margin: 0 0 8px;
  line-height: 1.2;
  color: var(--lit-ink);
}
.lit-mega-feat p {
  font-size: 13px;
  color: var(--lit-body-2);
  margin: 0 0 14px;
  line-height: 1.5;
}
.lit-mega-feat-btn {
  display: inline-block;
  padding: 10px 18px;
  background: var(--lit-ink) !important;
  color: #FFFFFF !important;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  align-self: flex-start;
  margin-top: auto;
}
.lit-mega-feat-btn:hover {
  background: var(--lit-blue) !important;
  color: #FFFFFF !important;
}

@media (max-width: 900px) {
  .lit-mega { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
}

.lit-mega {
  max-width: 1200px;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12), 0 0 0 1px var(--lit-line);
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 36px;
}
.lit-mega-col h4 {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lit-meta);
  margin: 0 0 14px;
  font-weight: 600;
}
.lit-mega-col ul { list-style: none; padding: 0; margin: 0; }
.lit-mega-col li { margin-bottom: 10px; }
.lit-mega-col a {
  color: var(--lit-ink);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.4;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.lit-mega-col a::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--lit-line);
  flex-shrink: 0;
  align-self: center;
}
.lit-mega-col-links a::before { background: var(--lit-blue); }
.lit-mega-col-recent a::before { background: var(--lit-gold); }
.lit-mega-col a:hover { color: var(--lit-blue); text-decoration: none; }

.lit-mega-col-featured .lit-mega-feat {
  background: linear-gradient(135deg, var(--lit-blue-tint), var(--lit-gold-tint));
  border-radius: 12px;
  padding: 22px;
  height: 100%;
}
.lit-mega-feat-kick {
  font-family: var(--lit-mono);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lit-blue);
  margin-bottom: 8px;
  font-weight: 600;
}
.lit-mega-feat h5 {
  font-family: var(--lit-serif);
  font-size: 18px;
  margin: 0 0 8px;
  line-height: 1.2;
}
.lit-mega-feat p {
  font-size: 13px;
  color: var(--lit-body-2);
  margin: 0 0 14px;
  line-height: 1.5;
}
.lit-mega-feat-btn {
  display: inline-block;
  padding: 8px 16px;
  background: var(--lit-ink);
  color: #FFFFFF !important;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.lit-mega-feat-btn:hover { background: var(--lit-blue); text-decoration: none; }

/* Newsletter form dans le méga-menu — COMPACT */
.lit-mega-col-featured .lit-mega-feat {
  padding: 16px !important;
  font-size: 13px;
}
.lit-mega-feat-kick { margin-bottom: 6px !important; font-size: 9.5px !important; }
.lit-mega-feat h5 { font-size: 16px !important; margin: 0 0 6px !important; }
.lit-mega-feat p { font-size: 12.5px !important; margin: 0 0 10px !important; line-height: 1.45 !important; }

.lit-nl-form {
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.lit-nl-input {
  flex: 1;
  padding: 7px 10px;
  border: 1px solid var(--lit-line);
  border-radius: 5px;
  font: inherit;
  font-size: 12.5px;
  background: #FFFFFF;
  color: var(--lit-ink);
  height: 32px;
  min-width: 0;
}
.lit-nl-input:focus {
  outline: 2px solid var(--lit-gold);
  outline-offset: 1px;
  border-color: var(--lit-gold);
}
.lit-nl-btn {
  padding: 0 12px;
  height: 32px;
  background: var(--lit-ink);
  color: #FFFFFF !important;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  white-space: nowrap;
}
.lit-nl-btn:hover { background: var(--lit-blue); }

/* MOBILE : cacher col Le plus lu + Newsletter, garder col Explorer en nested list */
@media (max-width: 900px) {
  .lit-mega-wrap {
    position: static !important;
    padding-top: 0 !important;
    display: block !important; /* toujours visible en mobile menu (dans le hamburger) */
  }
  .lit-mega {
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 0 0 16px !important;
    display: block !important;
    background: transparent !important;
    max-width: none !important;
  }
  .lit-mega-col { margin-bottom: 12px; }
  .lit-mega-col h4 { display: none; }
  .lit-mega-col-recent,
  .lit-mega-col-featured {
    display: none !important;
  }
}

/* Force le rendu des items de mega col 1 (Astra cache .sub-menu par défaut) */
.lit-mega-sub-menu {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.lit-mega-sub-menu > li {
  display: block !important;
  visibility: visible !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.lit-mega-sub-menu > li > a {
  display: flex !important;
  align-items: baseline;
  gap: 10px;
  padding: 0 !important;
  color: var(--lit-ink) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}
.lit-mega-sub-menu > li > a::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lit-blue);
  flex-shrink: 0;
  align-self: center;
}
.lit-mega-sub-menu > li > a:hover {
  color: var(--lit-blue) !important;
}

@media (max-width: 900px) {
  .lit-mega { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
}

/* =====================================================
   RESPONSIVE HELPERS
   ===================================================== */
@media (max-width: 900px) {
  .lit-sidebar {
    position: static;
    order: -1;
  }
  .lit-article-wrap {
    padding-top: 0;
  }
  .lit-hero h1 { font-size: clamp(24px, 6vw, 34px); }
}
