/* ═══════════════════════════════════════════════════════════
   ÉDITIONS LE CHARMOISET — CSS v4.0
   Cormorant Garamond + DM Sans · #2D2566 · #C9A96E · #FAF9F6
   Bugs v3 corrigés :
   - custom property dans @media supprimée (remplacée par JS)
   - nth-child reset propre à chaque breakpoint via auto-fit
   - neutralisation GP chirurgicale sans all:unset
   - grilles fluides avec auto-fill/minmax
   ═══════════════════════════════════════════════════════════ */

/* ── 1. RESET ─────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }

/* Neutralisation GP — uniquement ce qui double nos composants */
.site-header .inside-header,
.main-navigation .inside-navigation,
.site-footer .inside-footer-widgets,
.site-footer .footer-bar-inner,
.generate-back-to-top { display:none !important; }

/* Empêcher GP de mettre du padding sur son container principal */
.site-content { padding:0 !important; }
.entry-content { max-width:100% !important; }

/* ── 2. TOKENS ────────────────────────────────────────────── */
:root {
  --lc-v:       #2D2566;
  --lc-vd:      #1e1844;
  --lc-vm:      #3d358a;
  --lc-vp:      #edeaf6;
  --lc-vbg:     #f5f3fb;
  --lc-or:      #C9A96E;
  --lc-ord:     #b8934a;
  --lc-orp:     #f5ecd8;
  --lc-creme:   #FAF9F6;
  --lc-cremed:  #F0EDE6;
  --lc-noir:    #14121F;
  --lc-gris:    #6B6880;
  --lc-gl:      #E2DFF0;
  --lc-gbg:     #F2F0F8;
  --lc-white:   #ffffff;

  --lc-display: 'Cormorant Garamond', Georgia, serif;
  --lc-sans:    'DM Sans', system-ui, sans-serif;

  --lc-ph:   clamp(20px, 5vw, 72px);
  --lc-sec:  clamp(56px, 8vw, 96px);
  --lc-hh:   80px;   /* header height */
  --lc-tbh:  38px;   /* topbar height */
  --lc-abh:  0px;    /* admin bar — mis à jour par JS */

  --lc-s1: 0 2px 12px rgba(45,37,102,.08);
  --lc-s2: 0 4px 28px rgba(45,37,102,.13);
  --lc-s3: 0 12px 56px rgba(45,37,102,.18);
  --lc-sb: 18px 24px 60px rgba(45,37,102,.28), -3px 0 0 rgba(0,0,0,.14), inset -1px 0 0 rgba(255,255,255,.06);
  --lc-e:  cubic-bezier(.25,.46,.45,.94);
  --lc-eo: cubic-bezier(.16,1,.3,1);
  --lc-t:  .28s;
}

/* ── 3. BASE ───────────────────────────────────────────────── */
body { background:var(--lc-creme); color:var(--lc-noir); font-family:var(--lc-sans); font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; height:auto; }
button { cursor:pointer; font-family:inherit; }
::selection { background:var(--lc-v); color:#fff; }

/* Contenu éditorial libre */
.lc-content h2 { font-family:var(--lc-display); font-size:clamp(20px,2.8vw,30px); font-weight:400; font-style:italic; margin:0 0 14px; color:var(--lc-v); }
.lc-content h3 { font-family:var(--lc-display); font-size:clamp(16px,2.2vw,22px); font-weight:400; margin:0 0 10px; }
.lc-content p  { margin-bottom:1.5em; font-size:15px; line-height:1.88; color:#3a3a4a; }
.lc-content p:last-child { margin-bottom:0; }
.lc-content ul, .lc-content ol { padding-left:1.4em; margin-bottom:1.4em; }
.lc-content li { margin-bottom:.5em; font-size:15px; line-height:1.8; color:#3a3a4a; }
.lc-content blockquote { border-left:3px solid var(--lc-or); padding:2px 0 2px 20px; font-family:var(--lc-display); font-style:italic; font-size:18px; line-height:1.6; color:var(--lc-gris); margin:1.6em 0; }
.lc-content strong { color:var(--lc-v); font-weight:500; }
.lc-content a { color:var(--lc-v); text-decoration:underline; text-decoration-color:var(--lc-or); text-underline-offset:3px; }
.lc-content a:hover { color:var(--lc-or); }

/* ── 4. UTILITAIRES ───────────────────────────────────────── */
.lc-eyebrow { display:inline-flex; align-items:center; gap:12px; font-family:var(--lc-sans); font-size:10px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--lc-or); }
.lc-eyebrow::before { content:''; width:24px; height:1px; background:var(--lc-or); flex-shrink:0; }

.lc-btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--lc-sans); font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; padding:14px 28px; border:none; cursor:pointer; transition:all var(--lc-t) var(--lc-e); white-space:nowrap; text-decoration:none; }
.lc-btn-v  { background:var(--lc-v);  color:#fff; }
.lc-btn-v:hover  { background:var(--lc-vd); color:#fff; }
.lc-btn-or { background:var(--lc-or); color:var(--lc-vd); }
.lc-btn-or:hover { background:var(--lc-ord); }
.lc-btn-g  { background:transparent; color:var(--lc-v); border:1px solid var(--lc-v); }
.lc-btn-g:hover  { background:var(--lc-v); color:#fff; }

.lc-arrow { display:inline-flex; align-items:center; gap:8px; font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--lc-v); transition:gap var(--lc-t) var(--lc-e), color var(--lc-t); text-decoration:none; }
.lc-arrow::after { content:'→'; font-size:14px; }
.lc-arrow:hover  { gap:14px; color:var(--lc-or); }

/* ── 5. ADMIN BAR ─────────────────────────────────────────── */
/* L'offset est géré via JS qui met à jour --lc-abh sur :root */
.admin-bar .lc-header    { top:calc(var(--lc-abh)); }
.admin-bar .lc-mobile-nav { padding-top:calc(var(--lc-abh)); }

/* ── 6. TOPBAR ─────────────────────────────────────────────── */
.lc-topbar { background:var(--lc-vd); color:rgba(255,255,255,.5); font-size:10px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; padding:9px var(--lc-ph); display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:var(--lc-tbh); }
.lc-topbar a { color:rgba(255,255,255,.5); transition:color var(--lc-t); }
.lc-topbar a:hover { color:var(--lc-or); }
.lc-topbar-social { display:flex; gap:20px; }

/* ── 7. HEADER ─────────────────────────────────────────────── */
.lc-header { position:sticky; top:0; z-index:300; background:var(--lc-creme); border-bottom:1px solid var(--lc-gl); padding:0 var(--lc-ph); display:flex; align-items:center; justify-content:space-between; min-height:var(--lc-hh); transition:box-shadow var(--lc-t), background var(--lc-t), border-color var(--lc-t); }
.lc-header.is-scrolled { background:rgba(250,249,246,.96); backdrop-filter:blur(16px) saturate(1.4); -webkit-backdrop-filter:blur(16px) saturate(1.4); box-shadow:var(--lc-s2); border-bottom-color:transparent; }

.lc-logo { display:flex; align-items:center; gap:16px; flex-shrink:0; text-decoration:none; transition:opacity var(--lc-t); }
.lc-logo:hover { opacity:.85; }
.lc-logo img  { height:56px; width:auto; display:block; }
.lc-logo-text { display:flex; flex-direction:column; gap:4px; }
.lc-logo-name { font-family:var(--lc-display); font-size:21px; font-weight:500; font-style:normal; color:var(--lc-v); letter-spacing:.04em; line-height:1; }
.lc-logo-sub  { font-size:8.5px; font-weight:400; letter-spacing:.26em; text-transform:uppercase; color:var(--lc-gris); }

/* Navigation — compatible avec la structure li > a que WP génère */
nav.lc-nav     { display:flex; align-items:center; }
nav.lc-nav ul  { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
nav.lc-nav li  { position:relative; list-style:none; }
nav.lc-nav a   { font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--lc-noir); padding:10px 18px; display:block; position:relative; transition:color var(--lc-t); text-decoration:none; }
nav.lc-nav a::after { content:''; position:absolute; bottom:6px; left:18px; right:18px; height:1px; background:var(--lc-or); transform:scaleX(0); transform-origin:left; transition:transform .32s var(--lc-e); }
nav.lc-nav li a:hover,
nav.lc-nav li.current-menu-item > a,
nav.lc-nav li.current_page_item > a { color:var(--lc-v); }
nav.lc-nav li a:hover::after,
nav.lc-nav li.current-menu-item > a::after,
nav.lc-nav li.current_page_item > a::after { transform:scaleX(1); }

/* CTA nav — classe CSS lc-nav-cta sur le li */
nav.lc-nav li.lc-nav-cta > a { background:var(--lc-v) !important; color:var(--lc-creme) !important; margin-left:10px !important; padding:10px 22px !important; }
nav.lc-nav li.lc-nav-cta > a::after { display:none !important; }
nav.lc-nav li.lc-nav-cta > a:hover { background:var(--lc-or) !important; color:var(--lc-vd) !important; }

.lc-burger { display:none; flex-direction:column; gap:6px; background:none; border:none; padding:6px; }
.lc-burger span { display:block; width:26px; height:1.5px; background:var(--lc-v); transition:all .3s var(--lc-e); }
.lc-burger.is-open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.lc-burger.is-open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.lc-burger.is-open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

.lc-mobile-nav { display:none; position:fixed; inset:0; z-index:500; background:var(--lc-vd); flex-direction:column; align-items:center; justify-content:center; gap:32px; }
.lc-mobile-nav.is-open { display:flex; }
.lc-mobile-nav ul { list-style:none; display:flex; flex-direction:column; align-items:center; gap:28px; margin:0; padding:0; }
.lc-mobile-nav li a { font-family:var(--lc-display); font-size:clamp(28px,6vw,48px); font-weight:300; font-style:italic; color:rgba(255,255,255,.8); text-decoration:none; transition:color var(--lc-t); }
.lc-mobile-nav li a:hover { color:var(--lc-or); }
.lc-mobile-close { position:absolute; top:24px; right:28px; background:none; border:none; color:rgba(255,255,255,.4); font-size:36px; line-height:1; transition:color var(--lc-t); }
.lc-mobile-close:hover { color:#fff; }

/* ── 8. HERO IDENTITÉ ─────────────────────────────────────────────── */

/* === Ancien slider hero (masqué) === */
.lc-hero {
  display: flex;
}

/* === Nouveau hero identitaire === */
.lc-hero-id {
  position: relative;
  min-height: calc(100svh - var(--lc-hh) - var(--lc-tbh));
  min-height: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--lc-vd);
  color: #fff;
  padding: 0 var(--lc-ph);
  padding-bottom: 100px; /* espace pour stats */
}

/* Fond avec lumières et grain */
.lc-hi-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.lc-hi-grain {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  opacity: 1;
}
.lc-hi-light {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.22;
  pointer-events: none;
}
.lc-hi-light--1 {
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(201,169,110,0.35) 0%, transparent 70%);
  top: -200px;
  left: -100px;
}
.lc-hi-light--2 {
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(45,37,102,0.8) 0%, rgba(61,53,138,0.4) 50%, transparent 70%);
  bottom: -150px;
  right: -50px;
  opacity: 0.4;
}

/* Ornement décoratif */
.lc-hi-deco {
  position: absolute;
  top: 48px;
  left: 0;
  right: 0;
  padding: 0 var(--lc-ph);
  display: flex;
  align-items: center;
  gap: 24px;
  z-index: 2;
}
.lc-hi-year {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  white-space: nowrap;
  flex-shrink: 0;
}
.lc-hi-ornament {
  flex: 1;
  height: 40px;
  color: rgba(201,169,110,.2);
  max-width: 480px;
}

/* Contenu central */
.lc-hi-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}

/* Eyebrow */
.lc-hi-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: 32px;
}
.lc-hi-sep {
  color: var(--lc-or);
  opacity: .7;
}

/* Grand titre */
.lc-hi-title {
  font-family: var(--lc-display);
  font-size: clamp(56px, 9vw, 130px);
  font-weight: 300;
  line-height: 0.92;
  letter-spacing: -.02em;
  color: #fff;
  margin-bottom: 32px;
}
.lc-hi-title em {
  display: block;
  font-style: italic;
  font-weight: 300;
  color: var(--lc-or);
  font-size: .62em;
  letter-spacing: .04em;
  margin-bottom: 4px;
}

/* Règle ornementale */
.lc-hi-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--lc-or);
  opacity: .6;
  margin-bottom: 28px;
}
.lc-hi-rule-line {
  display: block;
  width: 60px;
  height: 1px;
  background: currentColor;
}
.lc-hi-rule svg {
  flex-shrink: 0;
}

/* Sous-titre */
.lc-hi-sub {
  font-family: var(--lc-display);
  font-size: clamp(15px, 1.8vw, 20px);
  font-style: normal;
  line-height: 1.7;
  color: rgba(255,255,255,.55);
  max-width: 580px;
  margin: 0 auto 40px;
}
.lc-hi-sub em {
  font-style: italic;
  color: rgba(255,255,255,.72);
}

/* Boutons */
.lc-hi-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.lc-hi-link {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
  transition: color var(--lc-t), border-color var(--lc-t), gap var(--lc-t) var(--lc-e);
}
.lc-hi-link:hover {
  color: var(--lc-or);
  border-color: var(--lc-or);
  gap: 14px;
}

/* Bande de statistiques */
.lc-hi-stats {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: stretch;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lc-hi-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  text-align: center;
  gap: 4px;
}
.lc-hi-stat--sep {
  border-right: 1px solid rgba(255,255,255,.07);
}
.lc-hi-stat-n {
  font-family: var(--lc-display);
  font-size: clamp(22px, 3vw, 38px);
  font-weight: 300;
  font-style: italic;
  color: var(--lc-or);
  line-height: 1;
}
.lc-hi-stat-l {
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  white-space: nowrap;
}

/* Indicateur de défilement */
.lc-hi-scroll {
  position: absolute;
  bottom: 80px;
  right: var(--lc-ph);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.lc-hi-scroll-line {
  display: block;
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, transparent, rgba(201,169,110,.5));
  animation: lc-scroll-line 2s ease-in-out infinite;
}
@keyframes lc-scroll-line {
  0%, 100% { opacity: .3; transform: scaleY(1); transform-origin: top; }
  50% { opacity: 1; transform: scaleY(1.2); transform-origin: top; }
}

/* Responsive hero identité */
@media (max-width: 900px) {
  .lc-hero-id {
    min-height: 100svh;
    min-height: calc(100svh - var(--lc-hh) - var(--lc-abh));
    padding: 0 20px;
    padding-bottom: 120px;
  }
  .lc-hi-deco { top: 28px; padding: 0 20px; }
  .lc-hi-ornament { display: none; }
  .lc-hi-title { font-size: clamp(48px, 13vw, 80px); }
  .lc-hi-scroll { display: none; }
  .lc-hi-stat-l { font-size: 7.5px; letter-spacing: .14em; }
}
@media (max-width: 600px) {
  .lc-hi-stats { flex-wrap: wrap; }
  .lc-hi-stat { padding: 14px 10px; }
  .lc-hi-stat--sep { border-right: none; }
  .lc-hi-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.07); }
  .lc-hi-stat:nth-child(1), .lc-hi-stat:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.07); }
}


/* ── 9. TICKER ─────────────────────────────────────────────── */
.lc-ticker { background:var(--lc-v); overflow:hidden; white-space:nowrap; padding:11px 0; border-top:1px solid rgba(255,255,255,.07); }
.lc-ticker-t { display:inline-flex; animation:lc-marquee 42s linear infinite; }
.lc-ticker-t:hover { animation-play-state:paused; }
.lc-ticker-i { display:inline-flex; align-items:center; gap:20px; padding:0 28px; font-size:9.5px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.lc-ticker-i strong { color:var(--lc-or); font-weight:500; }
.lc-ticker-d { width:4px; height:4px; background:var(--lc-or); border-radius:50%; opacity:.45; flex-shrink:0; }
@keyframes lc-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── 10. SECTIONS ──────────────────────────────────────────── */
.lc-sec    { padding:var(--lc-sec) var(--lc-ph); }
.lc-sec-bg  { background:var(--lc-gbg); }
.lc-sec-cr  { background:var(--lc-cremed); }
.lc-sec-dk  { background:var(--lc-vd); color:rgba(255,255,255,.85); }

.lc-sec-hd  { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:clamp(36px,5vw,56px); padding-bottom:20px; border-bottom:1px solid var(--lc-gl); gap:16px; flex-wrap:wrap; }
.lc-sec-t   { font-family:var(--lc-display); font-size:clamp(28px,4vw,50px); font-weight:300; font-style:italic; line-height:1.0; color:var(--lc-noir); }
.lc-sec-t em { font-style:normal; font-weight:500; color:var(--lc-v); }
.lc-sec-dk .lc-sec-t    { color:rgba(255,255,255,.9); }
.lc-sec-dk .lc-sec-t em { color:var(--lc-or); }

/* ── 11. FEATURED BOOKS ────────────────────────────────────── */
.lc-fg { display:grid; grid-template-columns:1fr 1fr; }
.lc-fb { display:grid; grid-template-columns:185px 1fr; border:1px solid var(--lc-gl); border-right:none; background:var(--lc-white); transition:background var(--lc-t); text-decoration:none; color:inherit; }
.lc-fb:last-child { border-right:1px solid var(--lc-gl); }
.lc-fb:hover { background:var(--lc-vbg); }

.lc-fb-cov { background:var(--lc-cremed); display:flex; align-items:center; justify-content:center; padding:28px 18px; border-right:1px solid var(--lc-gl); overflow:hidden; }
.lc-fb-cov img { width:100%; aspect-ratio:3/4; object-fit:cover; box-shadow:var(--lc-sb); border-radius:1px 3px 3px 1px; transition:transform .5s var(--lc-e); }
.lc-fb:hover .lc-fb-cov img { transform:translateY(-6px) rotate(.5deg); }
.lc-fb-th  { width:100%; aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:space-between; padding:14px 12px; box-shadow:var(--lc-sb); border-radius:1px 3px 3px 1px; transition:transform .5s var(--lc-e), box-shadow .5s var(--lc-e); }
.lc-fb:hover .lc-fb-th { transform:translateY(-6px) rotate(.5deg); box-shadow:22px 30px 70px rgba(45,37,102,.32), -3px 0 0 rgba(0,0,0,.18); }
.lc-fb-th .t { font-family:var(--lc-display); font-size:12px; font-style:italic; color:#fff; line-height:1.3; }
.lc-fb-th .r { width:16px; height:1px; background:var(--lc-or); opacity:.55; margin:8px 0; }
.lc-fb-th .a { font-size:7px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.42); }

.lc-fb-inf { padding:28px 24px; display:flex; flex-direction:column; justify-content:space-between; gap:12px; }
.lc-fb-col  { font-size:9px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--lc-or); }
.lc-fb-tit  { font-family:var(--lc-display); font-size:22px; font-style:italic; line-height:1.15; color:inherit; text-decoration:none; }
.lc-fb-tit:hover { color:var(--lc-v); }
.lc-fb-sub  { font-family:var(--lc-display); font-size:15px; color:var(--lc-gris); }
.lc-fb-aut  { font-size:9px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-v); }
.lc-fb-ext  { font-size:13px; font-style:italic; line-height:1.8; color:#555; padding-left:14px; border-left:2px solid var(--lc-gl); }
.lc-fb-ft   { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--lc-gl); }
.lc-fb-dt   { font-size:10px; color:var(--lc-gris); letter-spacing:.12em; }

/* ── 12. CATALOGUE ─────────────────────────────────────────── */
.lc-filters { display:flex; flex-wrap:wrap; gap:0; margin-bottom:36px; }
.lc-flt { display:inline-block; text-decoration:none; padding:10px 16px; font-family:var(--lc-sans); font-size:9.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; background:var(--lc-white); border:1px solid var(--lc-gl); margin:-1px 0 0 -1px; color:var(--lc-gris); cursor:pointer; transition:all var(--lc-t); white-space:nowrap; }
/* .lc-flt:last-child supprimee */
.lc-flt.is-active, .lc-flt:hover { background:var(--lc-v); border-color:var(--lc-v); color:#fff; z-index:1; position:relative; }
.lc-flt[aria-pressed="true"] { background:var(--lc-v); color:#fff; }

/* Grille livres — auto-fill pour éviter les nth-child fragiles */
.lc-books { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:0; border:1px solid var(--lc-gl); }
.lc-bc { border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); background:var(--lc-white); cursor:pointer; transition:background var(--lc-t); display:block; text-decoration:none; color:inherit; }
.lc-bc:hover { background:var(--lc-vbg); }
/* Bordure droite supprimée quand la carte est en dernière colonne via JS ou overflow */
.lc-bc-cov { aspect-ratio:3/4; background:var(--lc-cremed); display:flex; align-items:center; justify-content:center; padding:22px 16px; overflow:hidden; }
.lc-bc-cov img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--lc-e); }
.lc-bc:hover .lc-bc-cov img { transform:scale(1.05); }
.lc-bc-th { width:68%; aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:space-between; padding:10px 8px; box-shadow:var(--lc-s2); border-radius:1px 2px 2px 1px; transition:transform .45s var(--lc-e), box-shadow .45s var(--lc-e); }
.lc-bc:hover .lc-bc-th { transform:translateY(-6px) scale(1.05); box-shadow:var(--lc-s3); }
.lc-bc-th .t { font-family:var(--lc-display); font-size:9px; font-style:italic; color:#fff; line-height:1.3; }
.lc-bc-th .r { width:12px; height:1px; background:var(--lc-or); opacity:.45; margin:5px 0; }
.lc-bc-th .a { font-size:6px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.42); }
.lc-bc-inf  { padding:14px 14px 18px; border-top:1px solid var(--lc-gl); }
.lc-bc-col  { font-size:8px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-or); margin-bottom:5px; }
.lc-bc-tit  { font-family:var(--lc-display); font-size:15px; font-style:italic; line-height:1.2; margin-bottom:4px; }
.lc-bc-aut  { font-size:11px; color:var(--lc-gris); }

/* ── 13. AUTEURS ───────────────────────────────────────────── */
/* auto-fill pour les deux grilles auteurs */
.lc-ap-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); border:1px solid var(--lc-gl); }
.lc-ap { padding:30px 22px; background:var(--lc-white); border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); transition:all var(--lc-t); cursor:pointer; }
.lc-ap:hover { background:var(--lc-v); color:#fff; }
.lc-ap:hover .lc-ap-i { color:rgba(255,255,255,.12); }
.lc-ap:hover .lc-ap-m { color:rgba(255,255,255,.5); }
.lc-ap a { display:block; color:inherit; text-decoration:none; }
.lc-ap-i { font-family:var(--lc-display); font-size:54px; font-weight:300; font-style:italic; color:var(--lc-gl); line-height:1; margin-bottom:14px; transition:color var(--lc-t); }
.lc-ap-n { font-family:var(--lc-display); font-size:19px; font-style:italic; margin-bottom:4px; line-height:1.2; }
.lc-ap-m { font-size:9px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--lc-gris); transition:color var(--lc-t); }

.lc-au-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); border:1px solid var(--lc-gl); }
.lc-au { padding:36px 28px; background:var(--lc-white); border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); transition:background var(--lc-t); display:block; text-decoration:none; color:inherit; }
.lc-au:hover { background:var(--lc-vbg); }
.lc-au-i { font-family:var(--lc-display); font-size:56px; font-weight:300; font-style:italic; color:var(--lc-gl); line-height:1; margin-bottom:18px; }
.lc-au-n { font-family:var(--lc-display); font-size:22px; font-style:italic; color:var(--lc-v); margin-bottom:4px; line-height:1.2; }
.lc-au-t { font-size:9px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-gris); margin-bottom:14px; }
.lc-au-b { font-size:13px; line-height:1.75; color:#555; }

/* ── 14. COLLECTIONS ───────────────────────────────────────── */
.lc-coll-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); border:1px solid var(--lc-gl); }
.lc-ct { padding:30px 22px; border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); background:var(--lc-white); cursor:pointer; transition:all var(--lc-t); display:block; text-decoration:none; color:inherit; }
.lc-ct:hover { background:var(--lc-v); color:#fff; }
.lc-ct:hover .lc-ct-d  { color:rgba(255,255,255,.58); }
.lc-ct:hover .lc-ct-c  { color:var(--lc-or); }
.lc-ct:hover .lc-ct-n2 { color:rgba(255,255,255,.08); }
.lc-ct-n2 { font-family:var(--lc-display); font-size:48px; font-weight:300; font-style:italic; color:var(--lc-gl); line-height:1; margin-bottom:16px; transition:color var(--lc-t); }
.lc-ct-n  { font-family:var(--lc-display); font-size:19px; font-style:italic; margin-bottom:8px; line-height:1.2; }
.lc-ct-d  { font-size:12px; line-height:1.7; color:var(--lc-gris); margin-bottom:14px; transition:color var(--lc-t); }
.lc-ct-c  { font-size:9px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-or); transition:color var(--lc-t); }

/* ── 15. ACTUALITÉS ────────────────────────────────────────── */
.lc-news-grid { display:grid; grid-template-columns:5fr 3fr 3fr; border:1px solid var(--lc-gl); }
.lc-nc { background:var(--lc-white); border-right:1px solid var(--lc-gl); transition:background var(--lc-t); display:block; text-decoration:none; color:inherit; }
.lc-nc:last-child { border-right:none; }
.lc-nc:hover { background:var(--lc-vbg); }
.lc-ni { width:100%; background:var(--lc-vp); border-bottom:1px solid var(--lc-gl); overflow:hidden; display:block; }
.lc-nc--main .lc-ni { aspect-ratio:16/8; }
.lc-nc--sm   .lc-ni { aspect-ratio:16/10; }
.lc-ni img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--lc-e); display:block; }
.lc-nc:hover .lc-ni img { transform:scale(1.04); }
.lc-ni-ph { width:100%; height:100%; min-height:160px; display:flex; align-items:center; justify-content:center; font-family:var(--lc-display); font-size:13px; font-style:italic; color:var(--lc-gris); }
.lc-nb    { padding:22px 20px 26px; }
.lc-nb-c  { font-size:9px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--lc-or); margin-bottom:10px; }
.lc-nb-t  { font-family:var(--lc-display); font-size:21px; font-style:italic; line-height:1.2; margin-bottom:8px; }
.lc-nb-t a { color:inherit; text-decoration:none; }
.lc-nb-t a:hover { color:var(--lc-v); }
.lc-nc--sm .lc-nb-t { font-size:17px; }
.lc-nb-ex { font-size:13px; line-height:1.75; color:#555; }
.lc-nb-dt { font-size:10px; color:var(--lc-gris); margin-top:14px; letter-spacing:.12em; display:block; }

/* ── 16. NEWSLETTER ────────────────────────────────────────── */
.lc-nl { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--lc-gl); background:var(--lc-cremed); }
.lc-nl-l { padding:clamp(40px,5vw,64px) var(--lc-ph); border-right:1px solid var(--lc-gl); }
.lc-nl-r { padding:clamp(40px,5vw,64px) var(--lc-ph); display:flex; align-items:center; }
.lc-nl-h { font-family:var(--lc-display); font-size:clamp(26px,3.5vw,44px); font-weight:300; font-style:italic; line-height:1.0; margin-bottom:12px; }
.lc-nl-s { font-size:14px; color:var(--lc-gris); line-height:1.75; }
.lc-nl-f { width:100%; display:flex; border:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-nl-i { flex:1; padding:16px 18px; border:none; outline:none; font-family:var(--lc-sans); font-size:13px; color:var(--lc-noir); background:transparent; }
.lc-nl-i::placeholder { color:var(--lc-gris); }
.lc-nl-b { padding:16px 26px; background:var(--lc-v); color:#fff; border:none; font-family:var(--lc-sans); font-size:9.5px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; cursor:pointer; transition:background var(--lc-t); white-space:nowrap; }
.lc-nl-b:hover { background:var(--lc-or); color:var(--lc-vd); }
/* MailPoet overrides */
.lc-nl-r .mailpoet_form { width:100%; }
.lc-nl-r .mailpoet_paragraph { margin-bottom:12px; }
.lc-nl-r .mailpoet_text { width:100%; padding:14px 16px; border:1px solid var(--lc-gl); font-family:var(--lc-sans); font-size:13px; background:var(--lc-white); outline:none; transition:border-color var(--lc-t); }
.lc-nl-r .mailpoet_text:focus { border-color:var(--lc-v); }
.lc-nl-r .mailpoet_submit { padding:14px 28px; background:var(--lc-v); color:#fff; border:none; font-family:var(--lc-sans); font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; font-weight:500; cursor:pointer; transition:background var(--lc-t); }
.lc-nl-r .mailpoet_submit:hover { background:var(--lc-or); color:var(--lc-vd); }

/* ── 17. PAGE HERO + BREADCRUMB ────────────────────────────── */
.lc-ph { background:var(--lc-vd); color:#fff; padding:clamp(56px,7vw,96px) var(--lc-ph) clamp(48px,6vw,80px); position:relative; overflow:hidden; }
.lc-ph::before { content:''; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse 55% 75% at 85% 50%, rgba(201,169,110,.07) 0%, transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E"); }
.lc-ph h1 { font-family:var(--lc-display); font-size:clamp(42px,6.5vw,84px); font-weight:300; font-style:italic; line-height:1.0; position:relative; z-index:1; }
.lc-ph h1 em { font-style:normal; color:var(--lc-or); }
.lc-ph p  { font-size:15px; line-height:1.75; color:rgba(255,255,255,.62); max-width:580px; margin-top:16px; position:relative; z-index:1; }

.lc-bc-nav { padding:14px var(--lc-ph); font-size:10px; font-weight:400; letter-spacing:.15em; text-transform:uppercase; color:var(--lc-gris); border-bottom:1px solid var(--lc-gl); background:var(--lc-creme); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.lc-bc-nav a { color:var(--lc-v); transition:color var(--lc-t); }
.lc-bc-nav a:hover { color:var(--lc-or); }
.lc-bc-nav span::before { content:'›'; margin-right:6px; opacity:.4; }

/* ── 18. À PROPOS ──────────────────────────────────────────── */
.lc-ab-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--lc-gl); }
.lc-ab-c  { padding:clamp(36px,5vw,60px) clamp(28px,4vw,52px); border-right:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-ab-c:last-child { border-right:none; background:var(--lc-gbg); }
.lc-ab-in { font-family:var(--lc-display); font-size:20px; font-style:italic; line-height:1.55; color:var(--lc-v); margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--lc-gl); }
.lc-ab-p  { font-size:14px; line-height:1.9; color:#444; margin-bottom:18px; }
.lc-ab-p strong { color:var(--lc-v); }
.lc-val-g { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--lc-gl); margin-top:32px; }
.lc-val   { padding:18px 16px; border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); }
.lc-val:nth-child(2n) { border-right:none; }
.lc-val:nth-last-child(-n+2) { border-bottom:none; }
.lc-val h4 { font-family:var(--lc-display); font-size:16px; font-style:italic; color:var(--lc-v); margin-bottom:4px; }
.lc-val p  { font-size:12px; color:var(--lc-gris); line-height:1.6; }
.lc-dir-b  { background:var(--lc-white); border:1px solid var(--lc-gl); border-left:3px solid var(--lc-or); padding:26px 22px; margin-bottom:26px; }
.lc-dir-n  { font-family:var(--lc-display); font-size:24px; font-style:italic; color:var(--lc-v); margin-bottom:4px; }
.lc-dir-t  { font-size:9px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-gris); margin-bottom:14px; }
.lc-dir-b2 { font-size:13px; line-height:1.8; color:#555; margin-bottom:10px; }
.lc-par-l  { border:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-par    { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--lc-gl); font-family:var(--lc-display); font-size:17px; font-style:italic; transition:background var(--lc-t); }
.lc-par:last-child { border-bottom:none; }
.lc-par:hover { background:var(--lc-vbg); }
.lc-par-t  { font-family:var(--lc-sans); font-size:8.5px; font-style:normal; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-gris); }

/* ── 19. CONTACT ───────────────────────────────────────────── */
.lc-co-g  { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--lc-gl); }
.lc-co-c  { padding:clamp(36px,5vw,56px) clamp(28px,4vw,48px); border-right:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-co-c:last-child { border-right:none; background:var(--lc-gbg); }
.lc-co-h  { font-family:var(--lc-display); font-size:24px; font-style:italic; color:var(--lc-v); margin-bottom:24px; }
.lc-co-i  { display:flex; gap:14px; margin-bottom:18px; font-size:14px; color:#444; line-height:1.65; }
.lc-co-ico { color:var(--lc-or); font-size:16px; flex-shrink:0; margin-top:2px; }
.lc-co-i a { color:var(--lc-v); transition:color var(--lc-t); }
.lc-co-i a:hover { color:var(--lc-or); }
.lc-co-n  { margin-top:26px; padding:16px 18px; background:var(--lc-orp); border-left:3px solid var(--lc-or); font-size:13px; line-height:1.7; color:#555; }
.lc-fr    { margin-bottom:16px; }
.lc-fl    { display:block; font-size:9.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-gris); margin-bottom:7px; }
.lc-fi, .lc-ft { width:100%; padding:13px 15px; border:1px solid var(--lc-gl); background:var(--lc-white); font-family:var(--lc-sans); font-size:14px; color:var(--lc-noir); outline:none; appearance:none; transition:border-color var(--lc-t), box-shadow var(--lc-t); }
.lc-fi:focus, .lc-ft:focus { border-color:var(--lc-v); box-shadow:0 0 0 3px rgba(45,37,102,.08); }
.lc-ft { height:130px; resize:vertical; }

/* ── 20. 404 ───────────────────────────────────────────────── */
.lc-404 { min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px var(--lc-ph); }
.lc-404-n { font-family:var(--lc-display); font-size:clamp(100px,18vw,180px); font-weight:300; font-style:italic; color:var(--lc-gl); line-height:1; }
.lc-404-t { font-family:var(--lc-display); font-size:clamp(24px,3vw,38px); font-style:italic; margin-bottom:16px; }
.lc-404-p { font-size:15px; color:var(--lc-gris); line-height:1.75; max-width:480px; margin-bottom:32px; }

/* ── 21. FOOTER ────────────────────────────────────────────── */
.lc-ft-wrap { background:var(--lc-vd); color:rgba(255,255,255,.4); }
.lc-ft-top  { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; border-bottom:1px solid rgba(255,255,255,.07); }
.lc-ft-col  { padding:clamp(36px,4vw,52px) clamp(24px,3vw,40px); border-right:1px solid rgba(255,255,255,.06); }
.lc-ft-col:last-child { border-right:none; }
.lc-ft-br   { font-family:var(--lc-display); font-size:19px; font-style:italic; color:rgba(255,255,255,.85); margin-bottom:4px; }
.lc-ft-tl   { font-size:8px; font-weight:400; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.25); margin-bottom:20px; }
.lc-ft-ad   { font-size:13px; line-height:2; color:rgba(255,255,255,.35); font-style:normal; }
.lc-ft-ad a { color:rgba(255,255,255,.48); transition:color var(--lc-t); }
.lc-ft-ad a:hover { color:var(--lc-or); }
.lc-ft-soc  { display:flex; gap:18px; margin-top:22px; }
.lc-ft-soc a { font-size:9.5px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.28); transition:color var(--lc-t); }
.lc-ft-soc a:hover { color:var(--lc-or); }
.lc-ft-hd   { font-size:8.5px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.46); margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.07); }
.lc-ft-col ul { list-style:none; margin:0; padding:0; }
.lc-ft-col li { margin-bottom:10px; }
.lc-ft-col li a { font-family:var(--lc-display); font-size:14px; font-style:italic; color:rgba(255,255,255,.28); transition:color var(--lc-t); text-decoration:none; display:block; }
.lc-ft-col li a:hover { color:rgba(255,255,255,.8); }
.lc-ft-bot  { padding:18px clamp(24px,3vw,40px); display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.12em; color:rgba(255,255,255,.18); border-top:1px solid rgba(255,255,255,.05); gap:16px; flex-wrap:wrap; }
.lc-ft-bot a { color:rgba(255,255,255,.18); transition:color var(--lc-t); text-decoration:none; }
.lc-ft-bot a:hover { color:var(--lc-or); }
.lc-ft-leg  { display:flex; gap:20px; }

/* ── 22. GUTENBERG ─────────────────────────────────────────── */
.entry-content .wp-block-image { margin:1.8em 0; }
.entry-content .wp-block-quote { border-left:3px solid var(--lc-or); padding:4px 0 4px 20px; margin:1.8em 0; font-family:var(--lc-display); font-style:italic; font-size:18px; line-height:1.6; color:var(--lc-gris); }
.entry-content .wp-block-separator { border:none; border-top:1px solid var(--lc-gl); margin:2em auto; max-width:60px; }
.entry-content .wp-block-separator.is-style-wide { max-width:100%; }
.alignleft  { float:left; margin:0 1.5em 1em 0; }
.alignright { float:right; margin:0 0 1em 1.5em; }
.aligncenter { display:block; margin:1.5em auto; }
.alignfull  { margin-left:calc(-1 * var(--lc-ph)); margin-right:calc(-1 * var(--lc-ph)); }
.wp-caption-text { font-size:12px; color:var(--lc-gris); font-style:italic; margin-top:6px; text-align:center; }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin:1.5em 0; }

/* ── 23. WPFORMS / CF7 ─────────────────────────────────────── */
.wpforms-container { max-width:100% !important; }
.wpforms-field { margin-bottom:18px !important; }
.wpforms-field-label { font-size:9.5px !important; font-weight:500 !important; letter-spacing:.2em !important; text-transform:uppercase !important; color:var(--lc-gris) !important; margin-bottom:7px !important; }
.wpforms-field input[type="text"], .wpforms-field input[type="email"], .wpforms-field input[type="tel"], .wpforms-field textarea, .wpforms-field select { width:100% !important; padding:13px 15px !important; border:1px solid var(--lc-gl) !important; border-radius:0 !important; font-family:var(--lc-sans) !important; font-size:14px !important; background:var(--lc-white) !important; transition:border-color var(--lc-t) !important; outline:none !important; }
.wpforms-field input:focus, .wpforms-field textarea:focus, .wpforms-field select:focus { border-color:var(--lc-v) !important; box-shadow:0 0 0 3px rgba(45,37,102,.08) !important; }
.wpforms-submit { background:var(--lc-v) !important; color:#fff !important; padding:14px 28px !important; font-family:var(--lc-sans) !important; font-size:10px !important; font-weight:500 !important; letter-spacing:.22em !important; text-transform:uppercase !important; border:none !important; cursor:pointer !important; border-radius:0 !important; transition:background var(--lc-t) !important; }
.wpforms-submit:hover { background:var(--lc-or) !important; color:var(--lc-vd) !important; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form textarea { width:100%; padding:13px 15px; border:1px solid var(--lc-gl); font-family:var(--lc-sans); font-size:14px; background:var(--lc-white); outline:none; transition:border-color var(--lc-t); }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { border-color:var(--lc-v); }
.wpcf7-form input[type="submit"] { background:var(--lc-v); color:#fff; padding:14px 28px; font-family:var(--lc-sans); font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; border:none; cursor:pointer; transition:background var(--lc-t); }
.wpcf7-form input[type="submit"]:hover { background:var(--lc-or); color:var(--lc-vd); }

/* ── 24. PAGINATION ────────────────────────────────────────── */
.pagination, .nav-links { display:flex; justify-content:center; gap:8px; padding:40px 0 10px; flex-wrap:wrap; }
.pagination .page-numbers, .nav-links a, .nav-links span { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px; border:1px solid var(--lc-gl); background:var(--lc-white); font-size:12px; color:var(--lc-noir); text-decoration:none; transition:all var(--lc-t); }
.pagination .page-numbers:hover, .nav-links a:hover { background:var(--lc-v); border-color:var(--lc-v); color:#fff; }
.pagination .page-numbers.current, .nav-links .current { background:var(--lc-v); border-color:var(--lc-v); color:#fff; }
.pagination .page-numbers.dots { border:none; background:none; cursor:default; }

/* ── 25. REVEAL ────────────────────────────────────────────── */
.lc-rev { opacity:0; transform:translateY(22px); transition:opacity .75s var(--lc-eo), transform .75s var(--lc-eo); }
.lc-rev.lc-in { opacity:1; transform:none; }
.lc-d1 { transition-delay:.1s; }
.lc-d2 { transition-delay:.2s; }
.lc-d3 { transition-delay:.3s; }
@media (prefers-reduced-motion:reduce) {
  .lc-rev, .lc-book, .lc-ticker-t { transition:none !important; animation:none !important; opacity:1 !important; transform:none !important; }
}

/* ── 26. PRINT ─────────────────────────────────────────────── */
@media print {
  .lc-topbar, .lc-header, .lc-ticker, .lc-hero-ctrl, .lc-hero-dots, .lc-hero-cnt,
  .lc-mobile-nav, .lc-burger, .lc-nl, .lc-ft-wrap, .lc-bc-nav, .lc-filters, .lc-rev { display:none !important; }
  body { background:#fff; color:#000; font-size:12pt; }
  .lc-sec { padding:20pt 0; }
  .lc-sec-t { font-size:18pt; }
}

/* ── 27. RESPONSIVE ────────────────────────────────────────── */
/* Tablette large */
@media (max-width:1100px) {
  .lc-ft-top { grid-template-columns:1fr 1fr; }
  .lc-ft-col:nth-child(2) { border-right:none; }
  .lc-ft-col:nth-child(1), .lc-ft-col:nth-child(2) { border-bottom:1px solid rgba(255,255,255,.06); }
}

/* Mobile */
@media (max-width:900px) {
  .lc-topbar { display:none; }
  .lc-header  { padding:0 20px; border-bottom:none; }
  nav.lc-nav  { display:none; }
  .lc-burger  { display:flex; }

  .lc-slide { grid-template-columns:1fr; }
  .lc-sv    { min-height:280px; padding:40px; }
  .lc-sc    { padding:36px 24px; }
  .lc-sc::before { display:none; }
  .lc-hero  { height:auto; min-height:unset; }

  .lc-sec   { padding:52px 20px; }
  .lc-ph    { padding:48px 20px 40px; }
  .lc-bc-nav { padding:12px 20px; }

  .lc-fg, .lc-ab-grid, .lc-co-g, .lc-nl { grid-template-columns:1fr; }
  .lc-fb { grid-template-columns:120px 1fr; }
  .lc-fb:first-child { border-right:1px solid var(--lc-gl); border-bottom:none; }
  .lc-fb:last-child  { border-top:1px solid var(--lc-gl); }
  .lc-ab-c, .lc-co-c { padding:36px 20px; border-right:none; }
  .lc-ab-c:last-child { border-top:1px solid var(--lc-gl); }
  .lc-co-c:last-child { border-top:1px solid var(--lc-gl); }
  .lc-nl-l, .lc-nl-r { padding:36px 20px; border-right:none; }
  .lc-nl-l { border-bottom:1px solid var(--lc-gl); }

  .lc-news-grid { grid-template-columns:1fr; }
  .lc-nc { border-right:none; border-bottom:1px solid var(--lc-gl); }

  .lc-ft-top { grid-template-columns:1fr; }
  .lc-ft-col { border-right:none; border-bottom:1px solid rgba(255,255,255,.06); }
  .lc-ft-bot { flex-direction:column; text-align:center; }

  .lc-hero-dots, .lc-hero-cnt { display:none; }
  .lc-hero-ctrl { left:20px; bottom:20px; }
}

@media (max-width:600px) {
  .lc-fb { grid-template-columns:1fr; }
  .lc-fb-cov { border-right:none; border-bottom:1px solid var(--lc-gl); }
  .lc-nl-f   { flex-direction:column; }
  .lc-nl-b   { padding:14px; text-align:center; }
  .lc-book   { width:clamp(120px,40vw,170px); }
}

/* ======================================================================
   28. SINGLE LIVRE v4.0 — Fiche produit professionnelle
   ====================================================================== */

.lc-ph-book .lc-bc-nav { background:transparent; border:none; color:rgba(255,255,255,.4); padding:0; margin-bottom:24px; font-size:9px; letter-spacing:.18em; }
.lc-ph-book .lc-bc-nav a { color:rgba(255,255,255,.55); }
.lc-ph-book .lc-bc-nav a:hover { color:var(--lc-or); }
.lc-ph .lc-ph-inner { position:relative; z-index:2; }
.lc-single-livre { background:var(--lc-creme); }
.lc-slv-grid { display:grid; grid-template-columns:300px 1fr; gap:clamp(40px,6vw,80px); align-items:start; max-width:1200px; margin:0 auto; }
.lc-slv-aside { position:sticky; top:calc(var(--lc-hh) + 24px); }
.lc-slv-cover { position:relative; }
.lc-slv-img { width:100%; box-shadow:var(--lc-sb); border-radius:1px 4px 4px 1px; display:block; }
.lc-slv-placeholder { width:100%; aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:space-between; padding:24px 20px; box-shadow:var(--lc-sb); border-radius:1px 4px 4px 1px; }
.lc-slv-badge { position:absolute; top:14px; right:-8px; font-size:8.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; padding:6px 12px; border-radius:2px; box-shadow:var(--lc-s2); }
.lc-slv-badge--soon { background:var(--lc-v); color:#fff; }
.lc-slv-badge--out  { background:var(--lc-gris); color:#fff; }
.lc-slv-fiche { margin-top:22px; border:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-slv-fiche-title { font-family:var(--lc-sans); font-size:8.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--lc-gris); padding:12px 16px; border-bottom:1px solid var(--lc-gl); background:var(--lc-gbg); margin:0; }
.lc-slv-dl { margin:0; padding:0; }
.lc-slv-dl-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; border-bottom:1px solid var(--lc-gl); }
.lc-slv-dl-row:last-child { border-bottom:none; }
.lc-slv-dl-row dt { font-size:9px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-gris); flex-shrink:0; }
.lc-slv-dl-row dd { font-size:13px; color:var(--lc-noir); font-weight:400; text-align:right; word-break:break-word; }
.lc-slv-dl-row--price dt { color:var(--lc-v); }
.lc-slv-dl-row--price dd { font-family:var(--lc-display); font-size:20px; font-weight:500; color:var(--lc-v); }
.lc-slv-ctas { margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.lc-slv-cta-main { width:100%; justify-content:center; padding:16px 24px; font-size:10px; }
.lc-slv-cta-press { width:100%; justify-content:center; padding:12px 24px; font-size:9.5px; gap:8px; }
.lc-slv-h2 { font-family:var(--lc-display); font-size:clamp(30px,4.5vw,52px); font-weight:300; font-style:italic; line-height:1.05; color:var(--lc-noir); margin-bottom:10px; }
.lc-slv-sub { font-family:var(--lc-display); font-size:20px; font-style:normal; color:var(--lc-gris); margin-bottom:18px; line-height:1.45; }
.lc-slv-author { display:flex; align-items:center; gap:12px; font-size:10px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--lc-or); margin-bottom:32px; }
.lc-slv-author-line { display:inline-block; width:22px; height:1px; background:var(--lc-or); flex-shrink:0; }
.lc-slv-ext { font-family:var(--lc-display); font-size:clamp(16px,2vw,20px); font-style:italic; line-height:1.75; color:#444; padding:24px 28px; border-left:3px solid var(--lc-or); background:var(--lc-orp); margin-bottom:32px; }
.lc-slv-body { margin-top:8px; }
.lc-slv-press-cta { margin-top:36px; border:1px solid var(--lc-gl); background:var(--lc-white); }
.lc-slv-press-inner { display:flex; align-items:center; gap:20px; padding:20px 24px; flex-wrap:wrap; }
.lc-slv-press-ico { color:var(--lc-or); flex-shrink:0; width:44px; height:44px; background:var(--lc-orp); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.lc-slv-press-label { font-family:var(--lc-sans); font-size:9.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--lc-v); margin-bottom:4px; }
.lc-slv-press-desc { font-size:13px; color:var(--lc-gris); line-height:1.55; }
.lc-slv-press-inner .lc-btn { margin-left:auto; white-space:nowrap; flex-shrink:0; }
.lc-slv-related { margin-top:48px; padding-top:32px; border-top:1px solid var(--lc-gl); }
.lc-slv-related .lc-eyebrow { margin-bottom:20px; }
.lc-slv-related-list { display:flex; gap:12px; flex-wrap:wrap; }
.lc-slv-related-item { display:flex; align-items:center; gap:10px; font-family:var(--lc-display); font-size:15px; font-style:italic; color:var(--lc-v); padding:10px 16px; border:1px solid var(--lc-gl); background:var(--lc-white); text-decoration:none; transition:all var(--lc-t); }
.lc-slv-related-item img { width:36px; height:48px; object-fit:cover; flex-shrink:0; }
.lc-slv-related-item:hover { background:var(--lc-vbg); border-color:var(--lc-v); }

@media (max-width:1024px) { .lc-slv-grid { grid-template-columns:260px 1fr; gap:40px; } }
@media (max-width:768px) {
  .lc-slv-grid { grid-template-columns:1fr; gap:32px; }
  .lc-slv-aside { position:static; display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:start; }
  .lc-slv-cover { grid-row:1/3; }
  .lc-slv-fiche { margin-top:0; }
  .lc-slv-ctas { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; }
  .lc-slv-cta-main, .lc-slv-cta-press { width:auto; flex:1; }
  .lc-slv-press-inner .lc-btn { margin-left:0; width:100%; justify-content:center; }
}
@media (max-width:480px) { .lc-slv-aside { grid-template-columns:1fr; } .lc-slv-img, .lc-slv-placeholder { max-width:220px; margin:0 auto; } }

a:focus-visible, button:focus-visible { outline:2px solid var(--lc-or); outline-offset:3px; }
.lc-books-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:0; border:1px solid var(--lc-gl); }
a.lc-bc { border-right:1px solid var(--lc-gl); border-bottom:1px solid var(--lc-gl); background:var(--lc-white); cursor:pointer; transition:background var(--lc-t); display:block; text-decoration:none; color:inherit; }
a.lc-bc:hover { background:var(--lc-vbg); }


/* ════════════════════════════════════════════════════════════
   PATCH v5.0 — Corrections et nouveaux composants
   ════════════════════════════════════════════════════════════ */

/* ── Variables manquantes (compat. ancien code) ────────────── */
:root {
  --lc-violet: var(--lc-v);
  --lc-violet-pale: var(--lc-vp);
  --lc-gris-light: var(--lc-gl);
  --lc-gris-bg: var(--lc-gbg);
  --lc-shadow: var(--lc-s2);
  --lc-logo-sub: var(--lc-gris);
}

/* ── Header transparent sur l'accueil ──────────────────────── */
.lc-header--transparent {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.lc-header--transparent .lc-logo-name,
.lc-header--transparent nav.lc-nav a {
  color: #fff !important;
}
.lc-header--transparent .lc-logo-sub,
.lc-header--transparent .lc-logo-tagline {
  color: rgba(255,255,255,.55) !important;
}
.lc-header--transparent nav.lc-nav a::after {
  background: rgba(255,255,255,.7) !important;
}
.lc-header--transparent .lc-burger span {
  background: #fff !important;
}

/* ── Logo tagline (alias) ──────────────────────────────────── */
.lc-logo-tagline {
  font-size: 8.5px;
  font-weight: 400;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--lc-gris);
  transition: color var(--lc-t);
}

/* ── Footer — classes lc-footer-* (template-functions.php) ── */
.lc-footer {
  background: var(--lc-vd);
  color: rgba(255,255,255,.4);
}
.lc-footer-top {
  border-bottom: 1px solid rgba(255,255,255,.07);
  padding: 0;
}
.lc-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  max-width: var(--lc-mw);
  margin: 0 auto;
  padding: 0 var(--lc-ph);
  width: 100%;
}
.lc-footer-brand {
  padding: clamp(36px,4vw,52px) clamp(24px,3vw,40px);
  border-right: 1px solid rgba(255,255,255,.06);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lc-footer-logo-link {
  text-decoration: none;
  display: inline-block;
}
.lc-footer-logo {
  height: 56px;
  width: auto;
}
.lc-footer-logo-text {
  font-family: var(--lc-display);
  font-size: 32px;
  font-style: italic;
  color: rgba(255,255,255,.6);
}
.lc-footer-name {
  font-family: var(--lc-display);
  font-size: 19px;
  font-style: italic;
  color: rgba(255,255,255,.85);
  margin-bottom: 4px;
}
.lc-footer-tagline {
  font-size: 8px;
  font-weight: 400;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
}
.lc-footer-addr {
  font-size: 13px;
  line-height: 2;
  color: rgba(255,255,255,.35);
  font-style: normal;
}
.lc-footer-addr a {
  color: rgba(255,255,255,.48);
  transition: color var(--lc-t);
}
.lc-footer-addr a:hover { color: var(--lc-or); }
.lc-footer-social {
  display: flex;
  gap: 14px;
  margin-top: 8px;
}
.lc-footer-social a {
  color: rgba(255,255,255,.35);
  transition: color var(--lc-t);
}
.lc-footer-social a:hover { color: var(--lc-or); }
.lc-footer-col {
  padding: clamp(36px,4vw,52px) clamp(24px,3vw,40px);
  border-right: 1px solid rgba(255,255,255,.06);
}
.lc-footer-col:last-child { border-right: none; }
.lc-footer-col-title {
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.46);
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lc-footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lc-footer-nav li { margin-bottom: 10px; }
.lc-footer-nav li a {
  font-family: var(--lc-display);
  font-size: 14px;
  font-style: italic;
  color: rgba(255,255,255,.28);
  transition: color var(--lc-t);
  text-decoration: none;
  display: block;
}
.lc-footer-nav li a:hover { color: rgba(255,255,255,.8); }
.lc-footer-bottom {
  padding: 18px clamp(24px,3vw,40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  letter-spacing: .12em;
  color: rgba(255,255,255,.18);
  border-top: 1px solid rgba(255,255,255,.05);
  gap: 16px;
  flex-wrap: wrap;
}
.lc-footer-bottom a {
  color: rgba(255,255,255,.18);
  transition: color var(--lc-t);
  text-decoration: none;
}
.lc-footer-bottom a:hover { color: var(--lc-or); }
.lc-footer-copy,
.lc-footer-credit { font-size: 10px; }
.lc-footer-legal {
  display: flex;
  gap: 20px;
}

@media (max-width: 1100px) {
  .lc-footer-inner { grid-template-columns: 1fr 1fr; }
  .lc-footer-brand,
  .lc-footer-col:nth-child(2) {
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
}
@media (max-width: 900px) {
  .lc-footer-inner { grid-template-columns: 1fr !important; }
  .lc-footer-brand,
  .lc-footer-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .lc-footer-bottom { flex-direction: column; text-align: center; }
  .lc-header--transparent .lc-logo-name { color: var(--lc-v) !important; }
  .lc-header--transparent nav.lc-nav a { color: var(--lc-noir) !important; }
  .lc-header--transparent .lc-burger span { background: var(--lc-v) !important; }
}

/* ── Auteur — photo dans archive/single ────────────────────── */
.lc-author-photo {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  margin-bottom: 16px;
  display: block;
}

/* ── Reveal : classe lc-reveal (alias de lc-rev) ────────────── */
/* Reveal : animation d'entrée — seulement sur cards et éléments secondaires */
/* Les sections parentes sont toujours visibles */
.js-loaded .lc-reveal:not(.lc-about):not(.lc-parutions):not(.lc-auteurs-home):not(.lc-colls):not(.lc-newsletter):not(.lc-actu-home):not(.lc-actu-home *) {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .75s var(--lc-eo), transform .75s var(--lc-eo);
}
.lc-reveal.lc-in {
  opacity: 1 !important;
  transform: none !important;
}

/* ── Sections front-page (hero, ticker, about, etc.) ────────── */
.lc-hero {
  display: flex;
  flex-direction: column;
}
.lc-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(135deg, var(--lc-vd) 0%, var(--lc-vm) 100%);
}
.lc-hero-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100svh - var(--lc-hh) - var(--lc-tbh));
  min-height: 560px;
  padding: clamp(60px,8vw,120px) var(--lc-ph);
  text-align: center;
  color: #fff;
}
.lc-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
}
.lc-hero-ew-line {
  display: block;
  width: 40px;
  height: 1px;
  background: rgba(201,169,110,.5);
}
.lc-hero-ew-text {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
}
.lc-hero-title {
  font-family: var(--lc-display);
  font-size: clamp(48px,8vw,110px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.02em;
  margin-bottom: 24px;
}
.lc-hero-title em {
  display: block;
  font-style: italic;
  color: var(--lc-or);
  font-size: .72em;
}
.lc-hero-title-script {
  display: block;
  font-style: italic;
  color: var(--lc-or);
  font-size: .65em;
  margin-bottom: 4px;
}
.lc-hero-title-main {
  display: block;
}
.lc-hero-ornament {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--lc-or);
  opacity: .6;
  margin-bottom: 20px;
  justify-content: center;
}
.lc-hero-ornament span {
  display: block;
  width: 48px;
  height: 1px;
  background: currentColor;
}
.lc-hero-sub {
  font-family: var(--lc-display);
  font-size: clamp(14px,1.8vw,20px);
  font-style: normal;
  color: rgba(255,255,255,.55);
  margin-bottom: 36px;
}
.lc-hero-cta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 48px;
}
.lc-btn--gold {
  background: var(--lc-or);
  color: var(--lc-vd);
}
.lc-btn--gold:hover {
  background: var(--lc-ord);
  color: var(--lc-vd);
}
.lc-btn--ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
.lc-btn--ghost:hover {
  background: rgba(255,255,255,.1);
  border-color: #fff;
}
.lc-hero-stats {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  border-top: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lc-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  text-align: center;
  gap: 4px;
  color: #fff;
}
.lc-stat-num {
  font-family: var(--lc-display);
  font-size: clamp(22px,3vw,38px);
  font-weight: 300;
  font-style: italic;
  color: var(--lc-or);
  line-height: 1;
}
.lc-stat-label {
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
}
.lc-stat-sep {
  width: 1px;
  background: rgba(255,255,255,.07);
  align-self: stretch;
  flex-shrink: 0;
}
.lc-hero-scroll {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: rgba(255,255,255,.4);
  animation: lc-bounce 2s ease-in-out infinite;
  text-decoration: none;
}
@keyframes lc-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}

/* ── Ticker ────────────────────────────────────────────────── */
.lc-ticker-track {
  display: inline-flex;
  animation: lc-marquee 42s linear infinite;
  white-space: nowrap;
}
.lc-ticker-track:hover { animation-play-state: paused; }
.lc-ticker-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 clamp(14px,2vw,28px);
  color: var(--lc-or);
  opacity: 0.7;
  vertical-align: middle;
  flex-shrink: 0;
}
.lc-ticker-i {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 0 12px;
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color var(--lc-t);
}
.lc-ticker-i:hover { color: var(--lc-or); }

/* ── About (front-page) ────────────────────────────────────── */
.lc-about { padding: var(--lc-sec) var(--lc-ph); }
.lc-about-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,80px);
  align-items: start;
}
.lc-about-text { padding-right: clamp(20px,3vw,40px); }
.lc-about-hl {
  font-family: var(--lc-display);
  font-size: clamp(26px,3.5vw,46px);
  font-weight: 300;
  line-height: 1.15;
  margin-bottom: 20px;
  color: var(--lc-noir);
}
.lc-about-hl em { font-style: italic; color: var(--lc-v); }
.lc-about-p { font-size: 15px; line-height: 1.85; color: #555; margin-bottom: 16px; }
.lc-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--lc-v);
  text-decoration: none;
  margin-top: 16px;
  transition: gap var(--lc-t) var(--lc-e), color var(--lc-t);
}
.lc-link-arrow:hover { gap: 14px; color: var(--lc-or); }
.lc-about-values { display: flex; flex-direction: column; gap: 2px; }
.lc-value-card {
  padding: 24px 22px;
  background: var(--lc-white);
  border: 1px solid var(--lc-gl);
  border-top: none;
}
.lc-value-card:first-child { border-top: 1px solid var(--lc-gl); }
.lc-value-icon {
  color: var(--lc-or);
  font-size: 10px;
  margin-bottom: 10px;
}
.lc-value-title {
  font-family: var(--lc-display);
  font-size: 18px;
  font-style: italic;
  color: var(--lc-v);
  margin-bottom: 8px;
}
.lc-value-card p { font-size: 13px; line-height: 1.75; color: #666; }

/* ── Parutions (front-page) ────────────────────────────────── */
.lc-parutions { padding: var(--lc-sec) var(--lc-ph); background: var(--lc-gbg); }
.lc-parutions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
  gap: 0;
  border: 1px solid var(--lc-gl);
}
.lc-paru-card {
  background: var(--lc-white);
  border-right: 1px solid var(--lc-gl);
  border-bottom: 1px solid var(--lc-gl);
  display: flex;
  flex-direction: column;
  transition: background var(--lc-t);
}
.lc-paru-card:hover { background: var(--lc-vbg); }
.lc-paru-cover-wrap {
  display: block;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--lc-cremed);
  padding: 20px 14px;
}
.lc-paru-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--lc-e);
}
.lc-paru-card:hover .lc-paru-cover { transform: scale(1.04) translateY(-4px); }
.lc-paru-no-cover {
  width: 100%;
  height: 100%;
  background: var(--lc-vd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--lc-display);
  font-size: 48px;
  font-style: italic;
  color: rgba(255,255,255,.3);
}
.lc-paru-info { padding: 16px 16px 20px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.lc-paru-title {
  font-family: var(--lc-display);
  font-size: 17px;
  font-style: italic;
  line-height: 1.2;
  margin-bottom: 4px;
}
.lc-paru-title a { color: inherit; text-decoration: none; }
.lc-paru-title a:hover { color: var(--lc-v); }
.lc-paru-aut { font-size: 10px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--lc-or); }
.lc-paru-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--lc-gl);
  flex-wrap: wrap;
}
.lc-paru-year { font-size: 10px; color: var(--lc-gris); }
.lc-paru-price { font-size: 13px; font-weight: 500; color: var(--lc-v); }
.lc-arrow-link {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lc-v);
  text-decoration: none;
  margin-left: auto;
  transition: color var(--lc-t);
}
.lc-arrow-link:hover { color: var(--lc-or); }

/* ── Auteurs (front-page) ──────────────────────────────────── */
.lc-auteurs-home { padding: var(--lc-sec) var(--lc-ph); }
.lc-sec-cream { background: var(--lc-cremed); }
.lc-auteurs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px,1fr));
  gap: 20px;
}
.lc-auteur-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  transition: opacity var(--lc-t);
}
.lc-auteur-card:hover { opacity: .75; }
.lc-auteur-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--lc-gl);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lc-auteur-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lc-auteur-initial {
  font-family: var(--lc-display);
  font-size: 28px;
  font-style: italic;
  color: var(--lc-gris);
}
.lc-auteur-name {
  font-family: var(--lc-display);
  font-size: 15px;
  font-style: italic;
  text-align: center;
  color: var(--lc-v);
}

/* ── Collections (front-page) ──────────────────────────────── */
.lc-colls { padding: var(--lc-sec) var(--lc-ph); }
.lc-colls-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
  border: 1px solid var(--lc-gl);
}
.lc-coll-card {
  padding: 28px 22px;
  border-right: 1px solid var(--lc-gl);
  border-bottom: 1px solid var(--lc-gl);
  background: var(--lc-white);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all var(--lc-t);
}
.lc-coll-card:hover { background: var(--lc-v); color: #fff; }
.lc-coll-num {
  font-family: var(--lc-display);
  font-size: 42px;
  font-weight: 300;
  font-style: italic;
  color: var(--lc-gl);
  line-height: 1;
  transition: color var(--lc-t);
}
.lc-coll-card:hover .lc-coll-num { color: rgba(255,255,255,.12); }
.lc-coll-name {
  font-family: var(--lc-display);
  font-size: 17px;
  font-style: italic;
  line-height: 1.2;
}
.lc-coll-count {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lc-or);
  transition: color var(--lc-t);
}
.lc-coll-card:hover .lc-coll-count { color: rgba(255,255,255,.55); }
.lc-coll-arrow {
  margin-top: auto;
  font-size: 18px;
  color: var(--lc-gl);
  transition: color var(--lc-t), transform var(--lc-t) var(--lc-e);
}
.lc-coll-card:hover .lc-coll-arrow { color: rgba(255,255,255,.5); transform: translateX(4px); }

/* ── Newsletter (front-page) ───────────────────────────────── */
.lc-newsletter { padding: var(--lc-sec) var(--lc-ph); background: var(--lc-cremed); border-top: 1px solid var(--lc-gl); }
.lc-newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,80px);
  align-items: center;
}
.lc-eyebrow--light { color: var(--lc-or); }
.lc-newsletter-hl {
  font-family: var(--lc-display);
  font-size: clamp(26px,3.5vw,44px);
  font-weight: 300;
  line-height: 1.0;
  margin-bottom: 12px;
}
.lc-newsletter-hl em { font-style: italic; }
.lc-newsletter-sub { font-size: 14px; color: var(--lc-gris); line-height: 1.75; }
.lc-nl-form { width: 100%; }
.lc-nl-row {
  display: flex;
  border: 1px solid var(--lc-gl);
  background: var(--lc-white);
}
.lc-nl-input {
  flex: 1;
  padding: 16px 18px;
  border: none;
  outline: none;
  font-family: var(--lc-sans);
  font-size: 13px;
  color: var(--lc-noir);
  background: transparent;
}
.lc-nl-input::placeholder { color: var(--lc-gris); }
.lc-nl-submit {
  padding: 16px 26px;
  background: var(--lc-v);
  color: #fff;
  border: none;
  font-family: var(--lc-sans);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--lc-t);
  white-space: nowrap;
}
.lc-nl-submit:hover { background: var(--lc-or); color: var(--lc-vd); }
.lc-nl-consent { font-size: 11px; color: var(--lc-gris); margin-top: 10px; }
.lc-nl-consent a { color: var(--lc-v); text-decoration: underline; }
.lc-nl-notice {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  padding: 14px 22px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 4px;
  box-shadow: var(--lc-s3);
}
.lc-nl-notice--success { background: #2d7a22; color: #fff; }
.lc-nl-notice--info { background: var(--lc-v); color: #fff; }
.lc-nl-notice--error { background: #b92020; color: #fff; }

@media (max-width: 900px) {
  .lc-about-inner { grid-template-columns: 1fr; }
  .lc-newsletter-inner { grid-template-columns: 1fr; }
  .lc-about-text { padding-right: 0; }
  .lc-hero-body {
    min-height: calc(100svh - var(--lc-hh));
    padding-bottom: 120px;
  }
  .lc-hero-stats { flex-wrap: wrap; }
  .lc-stat { padding: 14px 10px; }
}
@media (max-width: 600px) {
  .lc-hero-cta { flex-direction: column; gap: 12px; }
  .lc-nl-row { flex-direction: column; }
  .lc-nl-submit { padding: 14px; text-align: center; }
}


/* ════════════════════════════════════════════════════════════
   PATCH v5.1 — Auteur single grid + Actualités CSS
   ════════════════════════════════════════════════════════════ */

/* ── Single Auteur — Grille ────────────────────────────────── */
.lc-saut-grid {
  display: grid;
  grid-template-columns: clamp(200px,22vw,280px) 1fr;
  gap: clamp(32px,5vw,60px);
  align-items: start;
}
.lc-saut-aside { position: sticky; top: calc(var(--lc-hh) + 24px + var(--lc-abh)); }
.lc-saut-photo {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  box-shadow: var(--lc-s2);
}
.lc-saut-initial {
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--lc-vp);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--lc-display);
  font-size: 80px;
  font-style: italic;
  color: var(--lc-gl);
}
.lc-saut-spec {
  margin-top: 16px;
  padding: 14px 16px;
  background: var(--lc-vp);
  border-left: 3px solid var(--lc-v);
}
.lc-saut-spec-label {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lc-v);
  margin-bottom: 4px;
}
.lc-saut-spec-val {
  font-family: var(--lc-display);
  font-style: italic;
  font-size: 15px;
  color: var(--lc-noir);
}
.lc-saut-bio { margin-bottom: 24px; }
.lc-saut-empty {
  font-style: italic;
  color: var(--lc-gris);
  margin-bottom: 24px;
}
.lc-saut-formation {
  margin-top: 24px;
  padding: 18px 20px;
  background: var(--lc-gbg);
  border-left: 3px solid var(--lc-or);
  margin-bottom: 32px;
}
.lc-saut-formation-label {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lc-or);
  margin-bottom: 8px;
}
.lc-saut-formation-val {
  font-size: 13px;
  line-height: 1.75;
  color: #555;
}
.lc-saut-books {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--lc-gl);
}
.lc-saut-back { margin-top: 36px; }

@media (max-width: 768px) {
  .lc-saut-grid { grid-template-columns: 1fr; gap: 28px; }
  .lc-saut-aside {
    position: static;
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 20px;
    align-items: start;
  }
  .lc-saut-photo { aspect-ratio: auto; }
}

/* ── Actualités — Archive ──────────────────────────────────── */
.lc-actu-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  padding: 0 var(--lc-ph);
  border-bottom: 1px solid var(--lc-gl);
  background: var(--lc-creme);
}
.lc-actu-cat-lnk {
  display: inline-block;
  padding: 12px 20px;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lc-gris);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--lc-t), border-color var(--lc-t);
}
.lc-actu-cat-lnk:hover,
.lc-actu-cat-lnk.is-active {
  color: var(--lc-v);
  border-bottom-color: var(--lc-or);
}
.lc-actu-grid {
  display: grid;
  grid-template-columns: 5fr 3fr 3fr;
  gap: 0;
  border: 1px solid var(--lc-gl);
}
.lc-actu-card {
  display: flex;
  flex-direction: column;
  background: var(--lc-white);
  border-right: 1px solid var(--lc-gl);
  transition: background var(--lc-t);
}
.lc-actu-card:last-child { border-right: none; }
.lc-actu-card--featured { border-bottom: 1px solid var(--lc-gl); border-right: none; }
.lc-actu-card--featured .lc-actu-body { padding: 32px 28px; justify-content: center; }
.lc-actu-card:hover { background: var(--lc-vbg); }
.lc-actu-card--featured {
  grid-column: 1 / -1;
  flex-direction: row;
}
.lc-actu-img-wrap {
  display: block;
  overflow: hidden;
  background: var(--lc-vp);
  flex-shrink: 0;
}
.lc-actu-card--featured .lc-actu-img-wrap {
  width: 45%;
  aspect-ratio: 4/3;
}
.lc-actu-card:not(.lc-actu-card--featured) .lc-actu-img-wrap { aspect-ratio: 4/3; }
.lc-actu-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--lc-e);
}
.lc-actu-card:hover .lc-actu-img { transform: scale(1.04); }
.lc-actu-img-ph {
  width: 100%;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--lc-display);
  font-size: 48px;
  font-weight: 300;
  font-style: italic;
  color: rgba(45,37,102,.2);
  background: var(--lc-vp);
}
.lc-actu-body { padding: 22px 20px 26px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.lc-actu-cat {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--lc-or);
}
.lc-actu-title {
  font-family: var(--lc-display);
  font-size: 21px;
  font-style: italic;
  line-height: 1.2;
}
.lc-actu-card:not(.lc-actu-card--featured) .lc-actu-title { font-size: 17px; }
.lc-actu-title a { color: inherit; text-decoration: none; }
.lc-actu-title a:hover { color: var(--lc-v); }
.lc-actu-excerpt { font-size: 13px; line-height: 1.75; color: #555; margin-top: 4px; }
.lc-actu-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--lc-gl);
  gap: 8px;
  flex-wrap: wrap;
}
.lc-actu-date { font-size: 10px; color: var(--lc-gris); letter-spacing: .12em; }
.lc-actu-empty { padding: 60px 0; text-align: center; color: var(--lc-gris); font-style: italic; }

@media (max-width: 900px) {
  .lc-actu-grid { grid-template-columns: 1fr; }
  .lc-actu-card { border-right: none; border-bottom: 1px solid var(--lc-gl); }
  .lc-actu-cats { padding: 0 20px; }
  .lc-actu-card--featured { flex-direction: column; }
  .lc-actu-card--featured .lc-actu-img-wrap { width: 100%; aspect-ratio: 16/7; }
  .lc-actu-card--featured .lc-actu-body { padding: 22px 20px 26px; }
}
@media (max-width: 640px) {
  .lc-sec--actu { padding: 32px 16px; }
  .lc-actu-grid { border-radius: 0; }
  .lc-actu-img-ph { font-size: 48px; padding: 32px 16px; }
  .lc-actu-title { font-size: 18px; }
  .lc-actu-card:not(.lc-actu-card--featured) .lc-actu-title { font-size: 15px; }
  .lc-actu-foot { gap: 6px; }
  .lc-actu-body { padding: 16px 14px 18px; }
}

/* ── Actualités — Single ───────────────────────────────────── */
.lc-actu-single { max-width: 800px; margin: 0 auto; }
.lc-actu-single-img {
  margin-bottom: 40px;
  border-radius: 2px;
  overflow: hidden;
}
.lc-actu-single-cover {
  width: 100%;
  aspect-ratio: 16/7;
  object-fit: cover;
  display: block;
}
.lc-actu-single-body { font-size: 16px; line-height: 1.85; }
.lc-actu-related {
  margin-top: 56px;
  padding-top: 36px;
  border-top: 1px solid var(--lc-gl);
}
.lc-actu-related-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  border: 1px solid var(--lc-gl);
}
.lc-actu-rel-card {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--lc-gl);
  text-decoration: none;
  color: inherit;
  transition: background var(--lc-t);
  background: var(--lc-white);
}
.lc-actu-rel-card:last-child { border-right: none; }
.lc-actu-rel-card:hover { background: var(--lc-vbg); }
.lc-actu-rel-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.lc-actu-rel-ph { width: 100%; aspect-ratio: 4/3; background: var(--lc-vp); }
.lc-actu-rel-body { padding: 16px 16px 20px; }
.lc-actu-rel-title {
  font-family: var(--lc-display);
  font-size: 16px;
  font-style: italic;
  line-height: 1.25;
  margin-bottom: 8px;
  color: var(--lc-v);
}

@media (max-width: 768px) {
  .lc-actu-single { max-width: 100%; }
  .lc-actu-related-grid { grid-template-columns: 1fr; }
  .lc-actu-rel-card { border-right: none; border-bottom: 1px solid var(--lc-gl); }
}

/* ── Section actualités homepage ───────────────────────────── */
.lc-actu-home { padding: var(--lc-sec) var(--lc-ph); background: var(--lc-gbg); }
.lc-actu-home .lc-news-grid {
  display: grid;
  grid-template-columns: 5fr 3fr 3fr;
  border: 1px solid var(--lc-gl);
}

/* ── Breadcrumb actualités ─────────────────────────────────── */
.lc-bc-nav span.is-active { color: var(--lc-noir); }


/* ── Breadcrumb supprimé ────────────────────────────────── */
.lc-bc-nav { display: none !important; }

/* ── Stats hero responsive ───────────────────────────────── */
@media (max-width: 640px) {
  .lc-hero-stats { gap: 0; }
  .lc-stat--sm { display: none; }
  .lc-stat-sep:last-of-type { display: none; }
  .lc-stat-num { font-size: clamp(22px, 5vw, 32px); }
  .lc-stat-label { font-size: 7px; }
}
@media (max-width: 480px) {
  .lc-stat { padding: 0 12px; }
  .lc-stat-num { font-size: 20px; }
}

/* ── Collections liste (nouveau design) ─────────────────── */
.lc-colls { background: var(--lc-vd); color: rgba(255,255,255,.9); padding: var(--lc-sec) var(--lc-ph); }
.lc-colls .lc-sec-hd { border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 20px; margin-bottom: 0; }
.lc-colls .lc-sec-t { color: #fff; }
.lc-colls .lc-sec-more { color: var(--lc-or); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; }
.lc-colls-list { display: flex; flex-direction: column; }
.lc-coll-row {
  display: grid;
  grid-template-columns: 40px 1fr auto 24px;
  align-items: center;
  gap: 0 20px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  text-decoration: none;
  color: rgba(255,255,255,.85);
  transition: background .2s, padding-left .2s;
}
.lc-coll-row:hover { background: rgba(255,255,255,.04); padding-left: 8px; color: rgba(255,255,255,.95); }
.lc-coll-row:hover .lc-coll-row-name { color: rgba(255,255,255,.95); }
.lc-coll-row-num {
  font-family: var(--lc-display);
  font-size: 12px;
  font-style: italic;
  color: var(--lc-or);
  opacity: .7;
}
.lc-coll-row-name {
  font-family: var(--lc-display);
  font-size: clamp(16px,2.2vw,22px);
  font-weight: 300;
  letter-spacing: .01em;
}
.lc-coll-row-count {
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
}
.lc-coll-row-arrow {
  color: var(--lc-or);
  font-size: 16px;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .2s, transform .2s;
}
.lc-coll-row:hover .lc-coll-row-arrow { opacity: 1; transform: translateX(0); }
@media (max-width: 640px) {
  .lc-coll-row { grid-template-columns: 32px 1fr 24px; gap: 0 12px; padding: 16px 0; }
  .lc-coll-row-count { display: none; }
  .lc-coll-row-arrow { opacity: 0.5; transform: none; }
}

/* ── Actualités empty state ──────────────────────────────── */
.lc-actu-empty-state {
  text-align: center;
  padding: 60px 20px;
  font-style: italic;
  color: var(--lc-gris);
}
.lc-actu-empty-state p { margin: 8px 0; }
.lc-sec--actu { padding: var(--lc-sec) var(--lc-ph); }

/* ── Single actualite page hero date ─────────────────────── */
.lc-ph-date {
  margin-top: 12px;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  letter-spacing: .12em;
}

/* ── Social CTA — Actualités ──────────────────────────────── */
.lc-social-cta {
  background: var(--lc-creme, #F5F2EB);
  padding: clamp(48px, 7vw, 80px) var(--lc-ph);
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(45,37,102,.10);
}
.lc-social-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(201,169,110,.08) 0%, transparent 70%);
  pointer-events: none;
}
.lc-social-cta-inner {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.lc-social-cta h2 {
  font-family: var(--lc-display);
  font-size: clamp(22px, 3.5vw, 36px);
  font-weight: 300;
  font-style: italic;
  color: var(--lc-v, #2D2566);
  margin-bottom: 12px;
  line-height: 1.15;
}
.lc-social-cta h2 em {
  color: var(--lc-or);
  font-style: italic;
}
.lc-social-cta p {
  font-size: 14px;
  color: rgba(45,37,102,.55);
  margin-bottom: 36px;
  line-height: 1.65;
}
.lc-social-cta-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.lc-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .22s, transform .18s, box-shadow .22s;
  position: relative;
}
.lc-social-btn svg { flex-shrink: 0; }
.lc-social-btn--fb {
  background: #1877F2;
  color: #fff;
  box-shadow: 0 4px 16px rgba(24,119,242,.30);
}
.lc-social-btn--fb:hover {
  background: #1560c5;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(24,119,242,.45);
}
.lc-social-btn--ig {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: #fff;
  box-shadow: 0 4px 16px rgba(220,39,67,.30);
}
.lc-social-btn--ig:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220,39,67,.45);
  filter: brightness(1.08);
}
.lc-social-btn--li {
  background: #0A66C2;
  color: #fff;
  box-shadow: 0 4px 16px rgba(10,102,194,.30);
}
.lc-social-btn--li:hover {
  background: #084f96;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(10,102,194,.45);
}
/* Fallback: si aucun réseau — masquer la section */
.lc-social-cta:empty { display: none; }

@media (max-width: 640px) {
  .lc-social-cta { padding: 40px 20px; }
  .lc-social-cta-links { gap: 12px; }
  .lc-social-btn { padding: 12px 20px; font-size: 10px; }
}