/* ============================================
   FormadiLib — Charte visuelle
   Bleu nuit + ocre + ivoire, EB Garamond + Lora + Inter
   Inspiration : Gallimard, Feltrinelli, Laterza, Barnes & Noble
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* Bleu principal allégé — ardoise doux (ex-nuit #2C4675 remplacé par #2C4675) */
  --bleu-nuit: #2C4675;
  --bleu-nuit-fonce: #1F355C;
  --bleu-doux: #2C4675;
  --bleu-doux-hover: #1F355C;
  --bleu-nuit-original: #2C4675;
  --ocre: #B8894A;
  --ocre-clair: #D4A972;
  --ocre-fonce: #8F6A38;
  --ivoire: #F5F1E8;
  --ivoire-clair: #FAF7F0;
  --anthracite: #2C2C2C;
  --gris: #6B6B6B;
  --gris-clair: #C9C5BC;
  --blanc: #FFFFFF;

  --font-titre: 'EB Garamond', Georgia, serif;
  --font-corps: 'Lora', Georgia, serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.875rem;
  --text-3xl: 2.5rem;
  --text-4xl: 3.5rem;
  --text-5xl: 5rem;
  --text-hero: 6.5rem;

  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  --max-width-prose: 65ch;
  --max-width-content: 1200px;
  --max-width-wide: 1400px;

  --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-corps);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--anthracite);
  background: var(--ivoire-clair);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a {
  color: var(--bleu-nuit);
  text-decoration: none;
  transition: color var(--transition-base);
}

a:hover { color: var(--ocre); }

h1, h2, h3, h4 {
  font-family: var(--font-titre);
  font-weight: 500;
  color: var(--bleu-nuit);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }

.label {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ocre);
}

.italique { font-style: italic; color: var(--bleu-nuit); }

/* Bannière annonce */
.banniere {
  background: var(--bleu-nuit);
  color: var(--ivoire);
  padding: var(--space-3) var(--space-6);
  text-align: center;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  position: relative;
}

.banniere a {
  color: var(--ocre-clair);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-left: var(--space-3);
  font-weight: 500;
}

.banniere-close {
  position: absolute;
  right: var(--space-6);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--ivoire);
  cursor: pointer;
  font-size: var(--text-lg);
  opacity: 0.7;
  transition: opacity var(--transition-base);
}
.banniere-close:hover { opacity: 1; }

/* Header */
.site-header {
  background: rgba(250, 247, 240, 0.96);
  border-bottom: 1px solid var(--gris-clair);
  padding: var(--space-6) 0;
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
}

.header-inner {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0 var(--space-8);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
}

.logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
}

.logo-mark {
  font-family: var(--font-titre);
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--bleu-nuit);
  line-height: 1;
  letter-spacing: -0.01em;
}

.logo-baseline {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ocre);
  margin-top: 4px;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .logo-baseline { font-size: 0.7rem; }
}

@media (max-width: 640px) {
  .logo-baseline {
    white-space: normal;
    font-size: 0.65rem;
    max-width: 200px;
    display: block;
  }
}

.main-nav {
  display: flex;
  gap: var(--space-6);
  align-items: center;
  flex-wrap: nowrap;
}

.main-nav a {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--anthracite);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .header-inner { gap: var(--space-4); padding: 0 var(--space-5); }
  .main-nav { gap: var(--space-4); }
  .main-nav a { font-size: 0.85rem; }
}

@media (max-width: 1024px) {
  .main-nav { gap: var(--space-3); }
  .main-nav a { font-size: 0.8rem; letter-spacing: 0; }
}

.main-nav a:hover,
.main-nav a.active {
  color: var(--ocre);
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--bleu-nuit);
  cursor: pointer;
}

/* ============================================
   HERO ÉDITORIAL — Nouveau : vitrine de librairie
   ============================================ */

.hero-editorial {
  background: var(--ivoire);
  padding: var(--space-12) var(--space-8);
  border-bottom: 1px solid var(--gris-clair);
  position: relative;
}

.hero-editorial-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-10);
  align-items: center;
}

.hero-texte .label {
  display: block;
  margin-bottom: var(--space-4);
}

.hero-texte h1 {
  font-family: var(--font-titre);
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 500;
  line-height: 1.05;
  color: var(--bleu-nuit);
  margin-bottom: var(--space-4);
  letter-spacing: -0.015em;
}

.hero-texte h1 em {
  font-style: italic;
  color: var(--ocre);
  display: block;
  font-size: 0.45em;
  margin-top: var(--space-3);
  letter-spacing: 0.05em;
  font-weight: 400;
  text-transform: uppercase;
}

.hero-texte-intro {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--anthracite);
  line-height: 1.55;
  margin: var(--space-5) 0;
  max-width: 480px;
}

.hero-texte-cta {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-6);
}

.hero-texte-cta a {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bleu-nuit);
  border-bottom: 1px solid var(--ocre);
  padding-bottom: 4px;
}

.hero-texte-cta a:hover {
  color: var(--ocre);
}

/* Vitrine de couvertures dans le hero — grille sobre 4 colonnes, tailles réduites */
.hero-vitrine {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  max-width: 460px;
  margin: 0 auto;
}

.hero-cover {
  display: block;
  aspect-ratio: 2/3;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(27, 42, 78, 0.12);
  transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 300ms;
  border-radius: 2px;
}

.hero-cover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(27, 42, 78, 0.2);
}

.hero-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-cover-1 { grid-column: 1; grid-row: 1; }
.hero-cover-2 { grid-column: 2; grid-row: 1; }
.hero-cover-3 { grid-column: 3; grid-row: 1; }
.hero-cover-4 { grid-column: 4; grid-row: 1; }
.hero-cover-5 { display: none; }

/* ============================================
   NOUVEAUTÉS — carrousel horizontal type Gallimard
   ============================================ */

.section-catalogue {
  padding: var(--space-20) 0;
  border-bottom: 1px solid var(--gris-clair);
}

.section-catalogue.dark {
  background: var(--bleu-nuit);
  color: var(--ivoire);
  border-bottom: none;
}

.section-catalogue.dark h2,
.section-catalogue.dark h3 {
  color: var(--ivoire);
}

.section-catalogue.dark .label {
  color: var(--ocre-clair);
}

.section-catalogue.dark .tome-titre {
  color: var(--ivoire);
}

.section-catalogue.dark .tome-collection {
  color: var(--ocre-clair);
}

.section-catalogue-header {
  max-width: var(--max-width-wide);
  margin: 0 auto var(--space-12);
  padding: 0 var(--space-8);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.section-catalogue-header h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
}

.section-catalogue-header .label {
  display: block;
  margin-bottom: var(--space-2);
}

.section-catalogue-header-right {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.section-catalogue-header-right a {
  color: var(--ocre);
  border-bottom: 1px solid var(--ocre);
  padding-bottom: 3px;
}

.section-catalogue.dark .section-catalogue-header-right a {
  color: var(--ocre-clair);
  border-bottom-color: var(--ocre-clair);
}

/* Carrousel de couvertures */
.carrousel-wrapper {
  position: relative;
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0 var(--space-8);
}

.carrousel {
  display: flex;
  gap: var(--space-6);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: var(--space-4) 0 var(--space-6);
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.carrousel::-webkit-scrollbar {
  display: none;
}

.carrousel .tome-card {
  scroll-snap-align: start;
  flex: 0 0 220px;
}

/* Carte livre — nouveau style plus élégant */
.tome-card {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition-base);
}

.tome-card:hover {
  transform: translateY(-6px);
}

/* Boutons Amazon compacts sur les cartes */
.tome-amazon-mini {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.tome-amazon-mini a {
  flex: 1;
  padding: 8px 4px;
  text-align: center;
  font-family: var(--font-ui);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  border: 1px solid var(--ocre);
  transition: all var(--transition-base);
  border-radius: 2px;
}

.tome-amazon-mini a.kindle {
  background: var(--ocre);
  color: var(--blanc);
}

.tome-amazon-mini a.kindle:hover {
  background: var(--ocre-fonce);
  border-color: var(--ocre-fonce);
}

.tome-amazon-mini a.broche {
  background: transparent;
  color: var(--ocre-fonce);
}

.tome-amazon-mini a.broche:hover {
  background: var(--ocre);
  color: var(--blanc);
}

.section-catalogue.dark .tome-amazon-mini a.broche {
  color: var(--ocre-clair);
  border-color: var(--ocre-clair);
}

.section-catalogue.dark .tome-amazon-mini a.broche:hover {
  background: var(--ocre-clair);
  color: var(--bleu-nuit);
}

.tome-couverture {
  aspect-ratio: 2/3;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(27, 42, 78, 0.12);
  transition: box-shadow var(--transition-base);
  border-radius: 2px;
  background: var(--ivoire);
}

.tome-couverture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tome-card:hover .tome-couverture {
  box-shadow: 0 16px 40px rgba(27, 42, 78, 0.25);
}

.tome-collection {
  font-family: var(--font-ui);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ocre);
  margin-top: var(--space-2);
}

.tome-titre {
  font-family: var(--font-titre);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--bleu-nuit);
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.tome-soustitre {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--gris);
  line-height: 1.35;
}

.tome-auteur {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  letter-spacing: 0.02em;
  margin-top: var(--space-2);
}

/* ============================================
   COLLECTIONS — bandes horizontales
   ============================================ */

.collections-bandes {
  background: var(--ivoire-clair);
}

.collection-bande {
  padding: var(--space-16) 0;
  border-bottom: 1px solid var(--gris-clair);
}

.collection-bande:last-child { border-bottom: none; }

.collection-bande-inner {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0 var(--space-8);
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: var(--space-12);
  align-items: center;
}

.collection-info .label {
  display: block;
  margin-bottom: var(--space-3);
}

.collection-info h3 {
  font-family: var(--font-titre);
  font-size: 2.25rem;
  font-weight: 500;
  color: var(--bleu-nuit);
  margin-bottom: var(--space-3);
  line-height: 1.05;
}

.collection-info .signature {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--ocre);
  line-height: 1.4;
  margin-bottom: var(--space-6);
}

.collection-info .auteur-mention {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-top: var(--space-4);
  border-top: 1px solid var(--gris-clair);
  margin-bottom: var(--space-6);
}

.collection-info .voir-collection {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bleu-nuit);
  border-bottom: 1px solid var(--ocre);
  padding-bottom: 4px;
}

.collection-info .voir-collection:hover { color: var(--ocre); }

.collection-tomes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
  max-width: 720px;
}

.collection-tomes .tome-couverture {
  max-width: 160px;
  margin: 0 auto;
}

.collection-tomes .tome-card .tome-titre {
  font-size: 0.95rem;
}

.collection-tomes .tome-card .tome-soustitre {
  font-size: 0.8rem;
}

/* ============================================
   Pull quote — grande citation manifeste
   ============================================ */

.pullquote {
  background: var(--ivoire);
  padding: var(--space-24) var(--space-8);
  text-align: center;
  border-top: 1px solid var(--gris-clair);
  border-bottom: 1px solid var(--gris-clair);
}

.pullquote blockquote {
  max-width: 900px;
  margin: 0 auto;
  font-family: var(--font-titre);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-style: italic;
  line-height: 1.3;
  color: var(--bleu-nuit);
  letter-spacing: -0.01em;
}

.pullquote cite {
  display: block;
  margin-top: var(--space-8);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ocre);
  font-style: normal;
}

/* ============================================
   Bloc "Notre exigence" retravaillé
   ============================================ */

.exigence {
  background: var(--ivoire-clair);
  padding: var(--space-20) 0;
}

.exigence-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--space-8);
}

.exigence-header {
  text-align: center;
  margin-bottom: var(--space-16);
}

.exigence-header .label {
  display: block;
  margin-bottom: var(--space-3);
}

.exigence-header h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 500;
}

.exigence-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: start;
}

.exigence-bloc h3 {
  font-family: var(--font-titre);
  font-size: var(--text-xl);
  color: var(--bleu-nuit);
  margin-bottom: var(--space-4);
  font-weight: 500;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--ocre);
  display: inline-block;
}

.exigence-bloc p {
  color: var(--anthracite);
  line-height: 1.75;
  font-size: var(--text-base);
}

/* Sections générales */
section {
  padding: var(--space-20) var(--space-6);
}

.section-inner {
  max-width: var(--max-width-content);
  margin: 0 auto;
}

.section-header {
  text-align: center;
  margin-bottom: var(--space-16);
}

.section-header .label {
  display: block;
  margin-bottom: var(--space-4);
}

.section-header h2 {
  margin-bottom: var(--space-4);
  font-weight: 500;
}

.section-header p {
  max-width: 600px;
  margin: 0 auto;
  color: var(--gris);
  font-style: italic;
}

hr.filet-ocre {
  width: 60px;
  height: 1px;
  background: var(--ocre);
  margin: var(--space-8) auto;
  border: none;
}

/* Grille collections page nos-collections */
.collections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-8);
}

.collection-card {
  background: var(--blanc);
  border: 1px solid var(--gris-clair);
  padding: var(--space-8);
  text-decoration: none;
  color: inherit;
  transition: all var(--transition-base);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  position: relative;
}

/* Petite vignette de couverture en bas des cartes de la page Nos collections */
.collection-card-vignette {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--gris-clair);
}

.collection-card-vignette img {
  width: 44px;
  height: 66px;
  object-fit: cover;
  box-shadow: 0 3px 8px rgba(27, 42, 78, 0.15);
  border-radius: 1px;
  transition: transform var(--transition-base);
}

.collection-card-vignette img:nth-child(2) {
  width: 52px;
  height: 78px;
  transform: translateY(-2px);
}

.collection-card:hover .collection-card-vignette img {
  transform: translateY(-2px);
}

.collection-card:hover .collection-card-vignette img:nth-child(2) {
  transform: translateY(-4px);
}

.collection-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--ocre);
}

.collection-card:hover {
  transform: translateY(-4px);
  border-color: var(--ocre);
  box-shadow: 0 10px 30px rgba(27, 42, 78, 0.08);
}

.collection-card .label { font-size: 0.7rem; }

.collection-card h3 {
  font-size: var(--text-xl);
  color: var(--bleu-nuit);
  font-weight: 500;
}

.collection-card .signature {
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--bleu-nuit);
  font-size: var(--text-base);
  line-height: 1.4;
}

.collection-card .meta {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--gris-clair);
}

/* Newsletter enrichie */
.newsletter {
  background: var(--ivoire);
  padding: var(--space-24) var(--space-6);
  position: relative;
  border-top: 1px solid var(--gris-clair);
}

.newsletter-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.newsletter h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  margin-bottom: var(--space-4);
  font-weight: 500;
  line-height: 1.1;
}

.newsletter-text {
  color: var(--anthracite);
  margin-bottom: var(--space-10, 2.5rem);
  line-height: 1.7;
  font-size: var(--text-lg);
  font-family: var(--font-titre);
  font-style: italic;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.newsletter-rubriques {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  max-width: 900px;
  margin: var(--space-8) auto var(--space-12);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--gris-clair);
  border-bottom: 1px solid var(--gris-clair);
}

.newsletter-rubrique {
  text-align: center;
  padding: var(--space-2);
  flex: 0 0 140px;
  min-width: 140px;
}

.newsletter-rubrique-nom {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-base);
  color: var(--bleu-nuit);
  margin-bottom: var(--space-2);
  font-weight: 500;
}

.newsletter-rubrique-desc {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  color: var(--gris);
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.newsletter-form-wrapper {
  max-width: 560px;
  margin: 0 auto;
}

.newsletter-form {
  display: flex;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
  justify-content: center;
}

.newsletter-form input {
  flex: 1;
  min-width: 240px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--gris-clair);
  background: var(--blanc);
  font-family: var(--font-corps);
  font-size: var(--text-base);
  color: var(--anthracite);
}

.newsletter-form input:focus {
  outline: none;
  border-color: var(--ocre);
}

.btn-ocre {
  background: var(--ocre);
  color: var(--blanc);
  padding: var(--space-3) var(--space-6);
  border: none;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background var(--transition-base);
  text-transform: uppercase;
}

.btn-ocre:hover {
  background: var(--ocre-fonce);
}

.newsletter-legal {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  margin-top: var(--space-3);
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  justify-content: center;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.newsletter-legal input[type="checkbox"] {
  margin-top: 3px;
  accent-color: var(--ocre);
}

/* Footer */
.site-footer {
  background: var(--bleu-nuit);
  color: var(--ivoire);
  padding: var(--space-16) var(--space-6) var(--space-8);
}

.footer-inner {
  max-width: var(--max-width-content);
  margin: 0 auto;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-12);
  margin-bottom: var(--space-12);
}

.footer-brand .logo-mark {
  color: var(--ivoire);
  font-size: 1.5rem;
  margin-bottom: var(--space-3);
}

.footer-brand p {
  color: var(--gris-clair);
  font-size: var(--text-sm);
  line-height: 1.6;
  margin-bottom: var(--space-4);
}

.footer-brand a {
  color: var(--ocre-clair);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-col h4 {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ocre-clair);
  margin-bottom: var(--space-4);
}

.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: var(--space-2); }

.footer-col a {
  color: var(--ivoire);
  font-size: var(--text-sm);
  opacity: 0.85;
  transition: opacity var(--transition-base);
}

.footer-col a:hover {
  opacity: 1;
  color: var(--ocre-clair);
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: var(--space-6);
  display: flex;
  justify-content: space-between;
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris-clair);
  flex-wrap: wrap;
  gap: var(--space-4);
}

/* Page interne */
.page-header {
  padding: var(--space-20) var(--space-6) var(--space-12);
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.page-header .label {
  display: block;
  margin-bottom: var(--space-4);
}

.page-header h1 {
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  margin-bottom: var(--space-4);
  font-weight: 500;
}

.page-header .signature {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--ocre);
}

.page-content {
  max-width: var(--max-width-content);
  margin: 0 auto;
  padding: 0 var(--space-6) var(--space-20);
}

/* Fil d'Ariane */
.breadcrumb {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  padding: var(--space-4) var(--space-6);
  max-width: var(--max-width-content);
  margin: 0 auto;
  letter-spacing: 0.05em;
}

.breadcrumb a { color: var(--gris); }
.breadcrumb a:hover { color: var(--ocre); }
.breadcrumb .sep { margin: 0 var(--space-2); color: var(--gris-clair); }

/* Auteur */
.auteur-bloc {
  background: var(--ivoire);
  padding: var(--space-8);
  border-left: 3px solid var(--ocre);
  max-width: 800px;
  margin: var(--space-12) auto;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: var(--space-6);
  align-items: start;
}

.auteur-portrait {
  width: 100px;
  height: 100px;
  background: var(--bleu-nuit);
  color: var(--ivoire);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-titre);
  font-size: 2rem;
  font-weight: 500;
}

.auteur-info .label {
  display: block;
  margin-bottom: var(--space-2);
}

.auteur-info h3 {
  font-size: var(--text-xl);
  margin-bottom: var(--space-3);
  font-weight: 500;
}

.auteur-info p {
  color: var(--anthracite);
  line-height: 1.7;
  font-size: var(--text-base);
}

/* Grille tomes (pages collection) */
.tomes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-8);
  max-width: var(--max-width-content);
  margin: 0 auto;
}

/* Fiche livre */
.fiche-livre {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-12);
  max-width: var(--max-width-content);
  margin: 0 auto;
  padding: var(--space-8) var(--space-6) var(--space-16);
}

.fiche-cover {
  position: sticky;
  top: 100px;
  align-self: start;
}

.fiche-cover .tome-couverture {
  margin-bottom: var(--space-6);
}

.fiche-cover .btn-amazon {
  display: block;
  padding: var(--space-3) var(--space-6);
  text-align: center;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition-base);
  letter-spacing: 0.02em;
  margin-bottom: var(--space-3);
}

.btn-amazon-kindle {
  background: var(--ocre);
  color: var(--blanc);
  border: 1px solid var(--ocre);
}

.btn-amazon-kindle:hover {
  background: var(--ocre-fonce);
  color: var(--blanc);
}

.btn-amazon-broche {
  background: transparent;
  color: var(--bleu-nuit);
  border: 1px solid var(--bleu-nuit);
}

.btn-amazon-broche:hover {
  background: var(--bleu-nuit);
  color: var(--blanc);
}

.fiche-contenu { max-width: 620px; }

.fiche-numero {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ocre);
  margin-bottom: var(--space-3);
}

.fiche-titre {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: var(--space-3);
  font-weight: 500;
  line-height: 1.1;
}

.fiche-soustitre {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--ocre);
  margin-bottom: var(--space-8);
}

.fiche-a-retenir {
  background: var(--ivoire);
  padding: var(--space-6);
  border-left: 3px solid var(--ocre);
  margin-bottom: var(--space-8);
}

.fiche-a-retenir .label {
  display: block;
  margin-bottom: var(--space-3);
}

.fiche-a-retenir ul {
  list-style: none;
  padding-left: 0;
}

.fiche-a-retenir li {
  padding-left: var(--space-4);
  position: relative;
  margin-bottom: var(--space-2);
  color: var(--bleu-nuit);
  font-family: var(--font-titre);
  font-size: var(--text-lg);
  line-height: 1.4;
}

.fiche-a-retenir li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--ocre);
  font-weight: 700;
}

.fiche-bloc { margin-bottom: var(--space-8); }

.fiche-bloc .label {
  display: block;
  margin-bottom: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--ocre);
}

.fiche-bloc p {
  color: var(--anthracite);
  line-height: 1.7;
  font-size: var(--text-base);
}

.fiche-citation {
  margin: var(--space-12) 0;
  text-align: center;
  padding: var(--space-6) 0;
  border-top: 1px solid var(--ocre);
  border-bottom: 1px solid var(--ocre);
}

.fiche-citation blockquote {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--bleu-nuit);
  line-height: 1.4;
  max-width: 500px;
  margin: 0 auto;
}

.fiche-cta-bas {
  background: var(--bleu-nuit);
  color: var(--ivoire);
  padding: var(--space-12);
  text-align: center;
  margin: var(--space-12) auto 0;
  max-width: var(--max-width-content);
}

.fiche-cta-bas h3 {
  color: var(--ivoire);
  font-size: var(--text-xl);
  margin-bottom: var(--space-6);
  font-weight: 500;
}

.fiche-cta-bas .btn-groupe {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
}

.fiche-cta-bas .btn-amazon-kindle,
.fiche-cta-bas .btn-amazon-broche {
  min-width: 200px;
  display: inline-block;
  padding: var(--space-3) var(--space-6);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--ocre);
}

.fiche-cta-bas .btn-amazon-broche {
  color: var(--ivoire);
  background: transparent;
}

.fiche-cta-bas .btn-amazon-broche:hover {
  background: var(--ivoire);
  color: var(--bleu-nuit);
}

/* Formulaire contact */
.contact-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 var(--space-6) var(--space-20);
}

.profil-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-8);
}

.profil-tab {
  padding: var(--space-4);
  background: var(--blanc);
  border: 1px solid var(--gris-clair);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  color: var(--anthracite);
  transition: all var(--transition-base);
  text-align: center;
  font-weight: 500;
}

.profil-tab:hover {
  border-color: var(--ocre);
  color: var(--ocre);
}

.profil-tab.active {
  background: var(--bleu-nuit);
  color: var(--ivoire);
  border-color: var(--bleu-nuit);
}

.formulaire {
  background: var(--blanc);
  padding: var(--space-8);
  border: 1px solid var(--gris-clair);
  border-top: 3px solid var(--ocre);
}

.formulaire h3 {
  font-size: var(--text-xl);
  margin-bottom: var(--space-6);
  font-weight: 500;
}

.form-group { margin-bottom: var(--space-4); }

.form-group label {
  display: block;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--anthracite);
  margin-bottom: var(--space-2);
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--gris-clair);
  background: var(--ivoire-clair);
  font-family: var(--font-corps);
  font-size: var(--text-base);
  color: var(--anthracite);
  transition: border-color var(--transition-base);
}

.form-group textarea {
  min-height: 140px;
  resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--ocre);
  background: var(--blanc);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

/* Page manifeste */
.manifeste {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 var(--space-6) var(--space-20);
}

.manifeste h2 {
  font-size: var(--text-2xl);
  margin: var(--space-12) 0 var(--space-6);
  font-weight: 500;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--ocre);
}

.manifeste p {
  margin-bottom: var(--space-4);
  line-height: 1.7;
  font-size: var(--text-lg);
}

.manifeste blockquote {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-xl);
  color: var(--bleu-nuit);
  text-align: center;
  padding: var(--space-8) 0;
  border-top: 1px solid var(--ocre);
  border-bottom: 1px solid var(--ocre);
  margin: var(--space-12) 0;
  line-height: 1.4;
}

/* Page auteurs */
.auteurs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-12);
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0 var(--space-8) var(--space-16);
}

.auteur-carte {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: var(--space-6);
  align-items: start;
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--gris-clair);
}

.auteur-carte:last-child { border-bottom: none; }

.auteur-portrait-svg {
  width: 140px;
  height: 180px;
  background: var(--ivoire);
  border: 1px solid var(--gris-clair);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.auteur-portrait-svg svg {
  width: 100%;
  height: 100%;
}

.auteur-details .label {
  display: block;
  margin-bottom: var(--space-2);
}

.auteur-details h3 {
  font-family: var(--font-titre);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--bleu-nuit);
  margin-bottom: var(--space-2);
  line-height: 1.1;
}

.auteur-details .auteur-role {
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--ocre);
  font-size: var(--text-base);
  margin-bottom: var(--space-4);
}

.auteur-details .auteur-bio {
  font-family: var(--font-corps);
  color: var(--anthracite);
  font-size: var(--text-base);
  line-height: 1.65;
  margin-bottom: var(--space-4);
}

.auteur-entretien {
  padding: var(--space-4);
  background: var(--ivoire);
  border-left: 3px solid var(--ocre);
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--bleu-nuit);
  font-size: var(--text-base);
  line-height: 1.5;
  margin-bottom: var(--space-4);
}

.auteur-entretien-source {
  font-family: var(--font-ui);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ocre);
  display: block;
  margin-top: var(--space-3);
  font-style: normal;
}

.auteur-lien-collection {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bleu-nuit);
  border-bottom: 1px solid var(--ocre);
  padding-bottom: 3px;
  text-decoration: none;
}

.auteur-lien-collection:hover { color: var(--ocre); }

/* ============================================
   AMBIANCES — visuels d'atmosphère éditoriale
   ============================================ */

.ambiance {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--ivoire);
}

.ambiance-inner {
  position: relative;
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0;
}

.ambiance-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}

/* Wrapper pour poser des couvertures en overlay sur la photo d'ambiance */
.ambiance-photo {
  position: relative;
  display: block;
  width: 100%;
}

/* Chaque overlay de couverture est positionné en pourcentages sur l'image */
.ambiance-cover {
  position: absolute;
  display: block;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  z-index: 2;
  border-radius: 1px;
}
.ambiance-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ambiance-cover:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(0, 0, 0, 0.2);
  z-index: 3;
}

/* Couverture posée sur le fauteuil (Napoléon) — recouvre la couverture inventée par l'IA */
.ambiance-cover--fauteuil {
  left: 32.5%;
  top: 34%;
  width: 11%;
  aspect-ratio: 2/3;
  transform: rotate(-4deg);
}
.ambiance-cover--fauteuil:hover {
  transform: translateY(-2px) rotate(-4deg) scale(1.05);
}

/* Deux couvertures dans la bibliothèque tournante (étagère haute + 2e) —
   les 2 du bas (Sortir du burn-out, Être légitime) sont déjà correctement rendues par l'IA */
.ambiance-cover--biblio1 { left: 71.5%; top: 6.5%; width: 8.5%; aspect-ratio: 2/3; }
.ambiance-cover--biblio2 { left: 71.5%; top: 28.5%; width: 8.5%; aspect-ratio: 2/3; }

@media (max-width: 700px) {
  .ambiance-cover { box-shadow: 0 4px 12px rgba(0,0,0,.35); }
  .ambiance-cover--fauteuil { width: 11%; }
  .ambiance-cover--biblio1,
  .ambiance-cover--biblio2,
  .ambiance-cover--biblio3 { width: 11%; }
}

.ambiance-legende {
  position: absolute;
  bottom: var(--space-6);
  left: var(--space-8);
  background: rgba(31, 53, 92, 0.9);
  color: var(--ivoire);
  padding: var(--space-5) var(--space-6);
  max-width: 380px;
  border-left: 3px solid var(--ocre);
  backdrop-filter: blur(4px);
}

.ambiance-legende .label {
  color: var(--ocre-clair);
  display: block;
  margin-bottom: var(--space-2);
}

.ambiance-legende h3 {
  font-family: var(--font-titre);
  font-size: var(--text-xl);
  color: var(--ivoire);
  font-weight: 500;
  margin-bottom: var(--space-2);
  line-height: 1.15;
}

.ambiance-legende p {
  font-family: var(--font-titre);
  font-style: italic;
  font-size: var(--text-sm);
  line-height: 1.5;
  opacity: 0.92;
}

/* Ambiance bibliothèque sur l'accueil : full-width, plus haute */
.ambiance-bibliotheque {
  background: var(--ivoire-clair);
  padding: var(--space-16) 0;
}

.ambiance-bibliotheque .ambiance-image {
  aspect-ratio: 3/2;
  box-shadow: 0 20px 60px rgba(27, 42, 78, 0.15);
}

.ambiance-bibliotheque .ambiance-inner {
  padding: 0 var(--space-8);
}

.ambiance-header {
  text-align: center;
  margin-bottom: var(--space-12);
  padding: 0 var(--space-8);
}

.ambiance-header .label {
  display: block;
  margin-bottom: var(--space-3);
}

.ambiance-header h2 {
  font-family: var(--font-titre);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 500;
  color: var(--bleu-nuit);
  line-height: 1.1;
  margin-bottom: var(--space-3);
}

.ambiance-header .signature {
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--ocre);
  font-size: var(--text-lg);
  max-width: 620px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .ambiance-legende {
    position: static;
    max-width: none;
    margin: 0;
  }
  .ambiance-bibliotheque .ambiance-inner { padding: 0 var(--space-4); }
}

/* ============================================
   PROCHAINEMENT — mini-vignettes collections à venir
   ============================================ */

.prochainement {
  background: var(--ivoire);
  padding: var(--space-16) var(--space-6);
  border-top: 1px solid var(--gris-clair);
  border-bottom: 1px solid var(--gris-clair);
}

.prochainement-inner {
  max-width: var(--max-width-content);
  margin: 0 auto;
  text-align: center;
}

.prochainement .label {
  display: block;
  margin-bottom: var(--space-2);
}

.prochainement h3 {
  font-family: var(--font-titre);
  font-size: var(--text-2xl);
  font-weight: 500;
  color: var(--bleu-nuit);
  margin-bottom: var(--space-3);
  line-height: 1.15;
}

.prochainement-signature {
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--ocre);
  font-size: var(--text-base);
  margin-bottom: var(--space-10);
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

.prochainement-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-6);
  max-width: 900px;
  margin: 0 auto;
}

.prochainement-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.prochainement-vignette {
  width: 68px;
  height: 96px;
  background: var(--bleu-nuit);
  color: var(--ivoire);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  position: relative;
  box-shadow: 0 6px 16px rgba(27, 42, 78, 0.15);
  padding: 6px;
  text-align: center;
  overflow: hidden;
}

.prochainement-vignette-cover {
  background: transparent;
  padding: 0;
}

.prochainement-vignette-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prochainement-vignette-cover::before,
.prochainement-vignette-cover::after {
  display: none;
}

.prochainement-vignette::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  height: 1px;
  background: var(--ocre);
  opacity: 0.7;
}

.prochainement-vignette::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 6px;
  right: 6px;
  height: 1px;
  background: var(--ocre);
  opacity: 0.7;
}

.prochainement-vignette-mark {
  font-family: var(--font-titre);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--ocre-clair);
  line-height: 1;
}

.prochainement-vignette-mini {
  font-family: var(--font-ui);
  font-size: 0.5rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ivoire);
  opacity: 0.7;
  margin-top: 4px;
}

.prochainement-nom {
  font-family: var(--font-titre);
  font-style: italic;
  color: var(--bleu-nuit);
  font-size: 0.95rem;
  line-height: 1.2;
  max-width: 140px;
  text-align: center;
}

.prochainement-tag {
  font-family: var(--font-ui);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ocre);
  margin-top: -6px;
}

.prochainement-note {
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  color: var(--gris);
  margin-top: var(--space-10);
  font-style: italic;
}

/* Bloc formats disponibles */
.formats-bloc {
  background: var(--ivoire);
  padding: var(--space-6);
  margin-top: var(--space-6);
  border-left: 3px solid var(--ocre);
}

.formats-bloc .label {
  display: block;
  margin-bottom: var(--space-4);
}

.formats-liste {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.format-item {
  display: flex;
  gap: var(--space-3);
  align-items: baseline;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--gris-clair);
}

.format-item:last-child { border-bottom: none; padding-bottom: 0; }

.format-nom {
  font-family: var(--font-titre);
  font-weight: 500;
  color: var(--bleu-nuit);
  min-width: 90px;
  font-size: var(--text-base);
}

.format-detail {
  font-family: var(--font-corps);
  color: var(--anthracite);
  font-size: var(--text-sm);
  line-height: 1.5;
  flex: 1;
}

.format-badge {
  display: inline-block;
  padding: 2px 8px;
  background: var(--ocre);
  color: var(--blanc);
  font-family: var(--font-ui);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-left: var(--space-2);
  vertical-align: middle;
}

.format-badge.a-venir {
  background: var(--bleu-nuit);
}

@media (max-width: 640px) {
  .auteur-carte {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .auteur-portrait-svg {
    margin: 0 auto;
  }
  .auteur-entretien {
    text-align: left;
  }
}

/* Actualités */
.actualites-list { max-width: 700px; margin: 0 auto; }
.actualite-item {
  padding: var(--space-8) 0;
  border-bottom: 1px solid var(--gris-clair);
}
.actualite-item:last-child { border-bottom: none; }
.actualite-item .label {
  display: block;
  margin-bottom: var(--space-2);
}
.actualite-item h3 {
  font-size: var(--text-lg);
  margin-bottom: var(--space-3);
  font-weight: 500;
}
.actualite-item p { color: var(--gris); }

/* Responsive */
@media (max-width: 1100px) {
  .hero-editorial-inner {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    text-align: center;
  }
  .hero-texte {
    max-width: 620px;
    margin: 0 auto;
  }
  .hero-texte-intro { margin-left: auto; margin-right: auto; }
  .hero-vitrine {
    max-width: 420px;
  }
  .collection-bande-inner {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .collection-tomes {
    grid-template-columns: repeat(4, 1fr);
    max-width: 640px;
    margin: 0 auto;
    gap: var(--space-4);
  }
  .collection-tomes .tome-couverture {
    max-width: 140px;
  }
}

@media (max-width: 900px) {
  .fiche-livre {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .fiche-cover {
    position: static;
    max-width: 220px;
    margin: 0 auto;
  }
  .fiche-cover .btn-amazon {
    display: block;
    max-width: 220px;
    margin: 0 auto var(--space-3);
  }
  .exigence-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
}

@media (max-width: 768px) {
  .main-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background: var(--ivoire-clair);
    flex-direction: column;
    padding: var(--space-20) var(--space-8);
    gap: var(--space-6);
    transition: right var(--transition-base);
    box-shadow: -10px 0 30px rgba(0,0,0,0.1);
  }
  .main-nav.open { right: 0; }
  .menu-toggle { display: block; z-index: 100; }
  .form-row { grid-template-columns: 1fr; }
  section { padding: var(--space-16) var(--space-4); }
  .header-inner { padding: 0 var(--space-4); }
  .hero-editorial { padding: var(--space-10) var(--space-4); }
  .hero-texte h1 { font-size: clamp(1.8rem, 7vw, 2.25rem); }
  .hero-vitrine {
    max-width: 320px;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-2);
  }
  .collection-tomes {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    max-width: 520px;
  }
  .collection-tomes .tome-couverture {
    max-width: 120px;
  }
  .section-catalogue-header {
    padding: 0 var(--space-4);
  }
  .carrousel-wrapper {
    padding: 0 var(--space-4);
  }
  .carrousel .tome-card { flex: 0 0 160px; }
}

@media (max-width: 480px) {
  .newsletter-form { flex-direction: column; }
  .newsletter-form input { min-width: 100%; }
  .hero-vitrine { max-width: 260px; grid-template-columns: repeat(4, 1fr); }
}

/* =========================================================
   PAGE NEWSLETTER · LE CERCLE DES LECTEURS (octobre 2026)
   ========================================================= */
.nl-page { background: var(--ivoire-clair); }
.nl-label-clair { color: var(--ocre-clair) !important; }

.nl-hero { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-16) var(--space-6) var(--space-20); overflow: hidden; }
.nl-hero-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--space-12); align-items: center; }
.nl-hero h1 { font-family: var(--font-titre); font-weight: 400; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.05; color: var(--ivoire); margin: var(--space-4) 0 var(--space-6); }
.nl-hero h1 em { color: var(--ocre-clair); font-style: italic; }
.nl-chapeau { font-family: var(--font-corps); font-size: var(--text-lg); line-height: 1.7; color: #E6E1D6; max-width: 34rem; margin-bottom: var(--space-8); }

.nl-form { background: var(--ivoire); color: var(--anthracite); padding: var(--space-6); border-top: 3px solid var(--ocre); max-width: 36rem; }
.nl-champs { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-4); margin-bottom: var(--space-4); }
.nl-champ { display: flex; flex-direction: column; gap: 6px; }
.nl-champ span, .nl-choix legend { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gris); }
.nl-champ input { font-family: var(--font-ui); font-size: var(--text-base); padding: 12px 14px; border: 1px solid var(--gris-clair); background: var(--blanc); color: var(--anthracite); border-radius: 0; }
.nl-champ input:focus { outline: 2px solid var(--ocre); outline-offset: 1px; border-color: var(--ocre); }
.nl-choix { border: 0; padding: 0; margin: 0 0 var(--space-4); display: flex; flex-wrap: wrap; gap: 8px; }
.nl-choix legend { margin-bottom: 8px; width: 100%; }
.nl-choix label { font-family: var(--font-ui); font-size: var(--text-sm); display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--gris-clair); background: var(--blanc); cursor: pointer; }
.nl-choix label:has(input:checked) { border-color: var(--bleu-nuit); background: #EEF0F4; }
.nl-choix input { accent-color: var(--bleu-nuit); }
.nl-rgpd { display: flex; gap: 10px; align-items: flex-start; font-family: var(--font-ui); font-size: var(--text-xs); line-height: 1.5; color: var(--gris); margin-bottom: var(--space-4); cursor: pointer; }
.nl-rgpd input { margin-top: 2px; accent-color: var(--bleu-nuit); }
.nl-bouton { font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; background: var(--ocre); color: var(--blanc); border: 0; padding: 14px 28px; cursor: pointer; transition: background 0.2s ease; }
.nl-bouton:hover { background: var(--ocre-fonce); }
.nl-bouton:disabled { background: var(--gris); cursor: default; }
.nl-bouton-contour { background: transparent; color: var(--bleu-nuit); border: 1px solid var(--bleu-nuit); }
.nl-bouton-contour:hover { background: var(--bleu-nuit); color: var(--ivoire); }
.nl-message { font-family: var(--font-ui); font-size: var(--text-sm); margin-top: var(--space-3); min-height: 1.2em; color: var(--bleu-nuit); }
.nl-message.erreur { color: #A13544; }

.nl-hero-visuel { position: relative; }
.nl-mosaique { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; transform: rotate(-4deg); }
.nl-mosaique img { width: 100%; aspect-ratio: 5 / 8; object-fit: cover; box-shadow: 0 14px 30px rgba(0,0,0,0.35); }
.nl-mosaique img:nth-child(3n+2) { transform: translateY(28px); }
.nl-carton { position: absolute; left: -18px; bottom: -34px; background: var(--ivoire); color: var(--anthracite); padding: var(--space-4) var(--space-6); border-left: 3px solid var(--ocre); box-shadow: 0 12px 30px rgba(0,0,0,0.25); display: flex; flex-direction: column; gap: 2px; }
.nl-carton-label { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ocre-fonce); }
.nl-carton-date { font-family: var(--font-titre); font-size: var(--text-xl); color: var(--bleu-nuit); }
.nl-carton-note { font-family: var(--font-corps); font-style: italic; font-size: var(--text-sm); color: var(--gris); }

.nl-chiffres { background: var(--ivoire); border-bottom: 1px solid var(--gris-clair); }
.nl-chiffres-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); padding: var(--space-10, 2.5rem) var(--space-6); gap: var(--space-6); }
.nl-chiffres div { text-align: center; }
.nl-chiffres strong { display: block; font-family: var(--font-titre); font-weight: 400; font-size: var(--text-4xl); color: var(--bleu-nuit); line-height: 1; font-variant-numeric: lining-nums; }
.nl-chiffres span { font-family: var(--font-ui); font-size: var(--text-sm); color: var(--gris); }

.nl-section { padding: var(--space-20) var(--space-6); }
.nl-section-ivoire { background: var(--ivoire); border-top: 1px solid var(--gris-clair); border-bottom: 1px solid var(--gris-clair); }
.nl-section-inner { max-width: 1100px; margin: 0 auto; }
.nl-titre-section { text-align: center; max-width: 680px; margin: 0 auto var(--space-12); }
.nl-titre-section h2, .nl-deux-colonnes h2, .nl-final h2 { font-family: var(--font-titre); font-weight: 400; font-size: clamp(1.9rem, 3.5vw, 2.6rem); line-height: 1.15; color: var(--bleu-nuit); margin-top: var(--space-3); }
.nl-titre-section p { font-family: var(--font-corps); color: var(--gris); font-size: var(--text-lg); line-height: 1.6; margin-top: var(--space-4); }

.nl-rubriques { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); border-top: 1px solid var(--gris-clair); border-left: 1px solid var(--gris-clair); }
.nl-rubriques li { padding: var(--space-6); border-right: 1px solid var(--gris-clair); border-bottom: 1px solid var(--gris-clair); background: var(--blanc); }
.nl-num { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.12em; color: var(--ocre); }
.nl-rubriques h3 { font-family: var(--font-titre); font-weight: 500; font-size: var(--text-xl); color: var(--bleu-nuit); margin: var(--space-2) 0; }
.nl-rubriques p { font-family: var(--font-corps); font-size: var(--text-base); line-height: 1.6; color: var(--anthracite); }
.nl-lien-exemple { text-align: center; margin-top: var(--space-8); }
.nl-lien-exemple a, .nl-faq a { font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--bleu-nuit); border-bottom: 1px solid var(--ocre); padding-bottom: 3px; text-decoration: none; }
.nl-faq a { text-transform: none; letter-spacing: 0; }

.nl-cercle { background: var(--bleu-nuit-fonce); color: var(--ivoire); padding: var(--space-20) var(--space-6); }
.nl-cercle .nl-titre-section h2 { color: var(--ivoire); }
.nl-cercle .nl-titre-section p { color: #D8D3C8; }
.nl-cercle-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.nl-engagement { border-top: 1px solid var(--ocre-clair); padding-top: var(--space-5, 1.25rem); }
.nl-engagement-num { font-family: var(--font-titre); font-style: italic; font-size: var(--text-2xl); color: var(--ocre-clair); }
.nl-engagement h3 { font-family: var(--font-titre); font-weight: 500; font-size: var(--text-xl); color: var(--ivoire); margin: var(--space-2) 0 var(--space-3); }
.nl-engagement p { font-family: var(--font-corps); font-size: var(--text-base); line-height: 1.65; color: #DCD7CC; }
.nl-citation { max-width: 720px; margin: var(--space-16) auto 0; text-align: center; font-family: var(--font-titre); font-style: italic; font-size: var(--text-2xl); line-height: 1.35; color: var(--ivoire); }
.nl-citation span { display: block; font-family: var(--font-ui); font-style: normal; font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ocre-clair); margin-top: var(--space-4); }

.nl-nouveautes { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-6); }
.nl-nouveaute { text-decoration: none; display: flex; flex-direction: column; gap: 6px; }
.nl-nouveaute img { width: 100%; aspect-ratio: 5 / 8; object-fit: cover; box-shadow: 0 8px 20px rgba(44,44,44,0.15); transition: transform 0.25s ease; }
.nl-nouveaute:hover img { transform: translateY(-4px); }
.nl-nouveaute-col { font-family: var(--font-ui); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ocre); margin-top: var(--space-2); }
.nl-nouveaute-titre { font-family: var(--font-titre); font-size: var(--text-base); line-height: 1.25; color: var(--bleu-nuit); }

.nl-deux-colonnes { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-16); }
.nl-calendrier { list-style: none; padding: 0; margin: var(--space-6) 0 0; }
.nl-calendrier li { display: grid; grid-template-columns: 13rem 1fr; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--gris-clair); font-family: var(--font-corps); color: var(--anthracite); line-height: 1.5; }
.nl-calendrier li span { font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 600; color: var(--bleu-nuit); }
.nl-partage p { font-family: var(--font-corps); line-height: 1.7; color: var(--anthracite); margin: var(--space-4) 0 var(--space-6); }

.nl-faq-inner { max-width: 760px; }
.nl-faq { border-bottom: 1px solid var(--gris-clair); padding: var(--space-4) 0; }
.nl-faq summary { font-family: var(--font-titre); font-size: var(--text-xl); color: var(--bleu-nuit); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--space-4); }
.nl-faq summary::after { content: "+"; font-family: var(--font-ui); color: var(--ocre); }
.nl-faq[open] summary::after { content: "–"; }
.nl-faq p { font-family: var(--font-corps); line-height: 1.7; color: var(--anthracite); margin-top: var(--space-3); }

.nl-final { background: var(--bleu-nuit); padding: var(--space-20) var(--space-6); }
.nl-final-inner { max-width: 640px; margin: 0 auto; text-align: center; }
.nl-final h2 { color: var(--ivoire); margin-bottom: var(--space-8); }
.nl-final .nl-form { margin: 0 auto; text-align: left; }

@media (max-width: 1024px) {
  .nl-hero-inner { grid-template-columns: 1fr; }
  .nl-hero-visuel { max-width: 520px; margin: var(--space-8) auto 0; }
  .nl-cercle-grille { grid-template-columns: repeat(2, 1fr); }
  .nl-nouveautes { grid-template-columns: repeat(3, 1fr); }
  .nl-deux-colonnes { grid-template-columns: 1fr; gap: var(--space-12); }
}
@media (max-width: 640px) {
  .nl-champs { grid-template-columns: 1fr; }
  .nl-chiffres-inner { grid-template-columns: repeat(2, 1fr); }
  .nl-cercle-grille { grid-template-columns: 1fr; }
  .nl-nouveautes { grid-template-columns: repeat(2, 1fr); }
  .nl-calendrier li { grid-template-columns: 1fr; gap: 4px; }
  .nl-carton { left: 0; bottom: -28px; }
  .nl-hero { padding-top: var(--space-10, 2.5rem); }
}

/* Menu à dix entrées : resserrement progressif */
@media (max-width: 1360px) { .main-nav { gap: var(--space-4); } .main-nav a { font-size: 0.84rem; } }
@media (max-width: 1200px) { .main-nav { gap: var(--space-3); } .main-nav a { font-size: 0.78rem; letter-spacing: 0; } }
.tome-auteur { display: block; }
.nl-form, .nl-form * { box-sizing: border-box; }
.nl-champ { min-width: 0; }
.nl-champ input { width: 100%; min-width: 0; }
.nl-rubrique-cta { background: var(--bleu-nuit) !important; color: var(--ivoire); display: flex; flex-direction: column; justify-content: center; }
.nl-rubriques .nl-rubrique-cta h3 { color: var(--ivoire); }
.nl-rubriques .nl-rubrique-cta p { color: #E1DCD1; }
.nl-rubrique-cta a { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ocre-clair); text-decoration: none; margin-top: var(--space-3); }
@media (max-width: 768px) {
  .main-nav { right: 0; transform: translateX(105%); visibility: hidden; transition: transform var(--transition-base), visibility var(--transition-base); overflow-y: auto; gap: var(--space-5, 1.25rem); padding-top: var(--space-16); }
  .main-nav.open { transform: none; visibility: visible; }
  .main-nav a { font-size: 1rem; }
}
@media (max-width: 768px) {
  .main-nav { display: none; transform: none; visibility: visible; }
  .main-nav.open { display: flex; }
}
.collection-bande-inner > * { min-width: 0; }
@media (max-width: 640px) {
  .collection-tomes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection-tomes .tome-amazon-mini { flex-direction: column; }
  .collection-tomes .tome-amazon-mini a { font-size: 0.6rem; white-space: normal; }
}
.tome-card .tome-titre, .tome-card .tome-soustitre { display: block; }
.tome-card .tome-soustitre { margin-top: 4px; }
.tome-card .tome-auteur { margin-top: 6px; font-family: var(--font-ui); font-size: 0.75rem; color: var(--gris); }
.section-catalogue.dark .tome-soustitre { color: #D3D8E2; }
.section-catalogue.dark .tome-auteur { color: #B9C0CE; }
.collection-tomes .tome-amazon-mini { flex-direction: column; gap: 4px; align-items: stretch; max-width: 160px; }
.collection-tomes .tome-amazon-mini a { text-align: center; white-space: nowrap; overflow: visible; text-overflow: clip; }
.ambiance-cover--biblio3 { left: 71.5%; top: 52.5%; width: 8.5%; aspect-ratio: 2/3; }
.ambiance-cover--biblio4 { left: 71.5%; top: 74.5%; width: 8.5%; aspect-ratio: 2/3; }
@media (max-width: 700px) { .ambiance-cover--biblio4 { width: 11%; } }
.ambiance-photo + .ambiance-legende { position: static; max-width: 640px; margin: var(--space-6) auto 0; background: transparent; color: var(--anthracite); border-left: 0; text-align: center; backdrop-filter: none; padding: 0; }
.ambiance-photo + .ambiance-legende h3 { color: var(--bleu-nuit); }
.ambiance-photo + .ambiance-legende p { color: var(--gris); }
.tome-avenir { display: inline-block; margin-top: 8px; font-family: var(--font-ui); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ocre-fonce); border: 1px dashed var(--ocre); padding: 4px 10px; }
.btn-fiche-pdf { display: block; text-align: center; margin-top: var(--space-3); padding: 12px 14px; font-family: var(--font-ui); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--bleu-nuit); border: 1px dashed var(--bleu-nuit); text-decoration: none; background: var(--blanc); }
.btn-fiche-pdf:hover { background: var(--bleu-nuit); color: var(--ivoire); border-style: solid; }

/* =========================================================
   LA LETTRE — EXEMPLE GRAPHIQUE (novembre 2026)
   ========================================================= */
.lt-page { background: #E9E4D8; padding-bottom: var(--space-20); }
.lt-bandeau-exemple { text-align: center; font-family: var(--font-ui); font-size: var(--text-sm); color: var(--gris); padding: var(--space-4) var(--space-6); }
.lt-bandeau-exemple a { color: var(--bleu-nuit); font-weight: 600; }
.lt { max-width: 860px; margin: 0 auto; background: var(--ivoire-clair); box-shadow: 0 30px 70px rgba(31,53,92,0.18); }
.lt-masthead { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-10, 2.5rem) var(--space-10, 2.5rem) 0; border-top: 6px solid var(--ocre); overflow: hidden; }
.lt-masthead-haut { display: flex; justify-content: space-between; font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ocre-clair); border-bottom: 1px solid rgba(212,169,114,0.4); padding-bottom: var(--space-3); }
.lt-masthead h1 { font-family: var(--font-titre); font-weight: 400; font-size: clamp(4rem, 11vw, 7.5rem); line-height: 0.95; color: var(--ivoire); margin: var(--space-6) 0 var(--space-2); letter-spacing: -0.02em; }
.lt-masthead-baseline { font-family: var(--font-titre); font-style: italic; font-size: var(--text-lg); color: var(--ocre-clair); }
.lt-masthead-meta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-6) 0 var(--space-8); }
.lt-masthead-meta span { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid rgba(245,241,232,0.35); padding: 6px 12px; }
.lt-strip { display: flex; gap: 12px; margin: 0 calc(-1 * var(--space-10, 2.5rem)); padding: 0 var(--space-10, 2.5rem); transform: translateY(18px); }
.lt-strip a { flex: 0 0 auto; width: 92px; transition: transform .25s ease; }
.lt-strip a:nth-child(odd) { transform: translateY(14px); }
.lt-strip a:hover { transform: translateY(-6px); }
.lt-strip img { width: 100%; aspect-ratio: 5/8; object-fit: cover; box-shadow: 0 10px 24px rgba(0,0,0,0.4); display: block; }

.lt-sommaire { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: var(--space-10, 2.5rem) var(--space-6) var(--space-6); border-bottom: 1px solid var(--gris-clair); }
.lt-sommaire a { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--bleu-nuit); text-decoration: none; border: 1px solid var(--gris-clair); padding: 7px 12px; background: var(--blanc); display: inline-flex; gap: 8px; align-items: center; }
.lt-sommaire a span { color: var(--ocre); font-weight: 700; }
.lt-sommaire a:hover { border-color: var(--bleu-nuit); }

.lt-r { padding: var(--space-12) var(--space-10, 2.5rem); border-bottom: 1px solid var(--gris-clair); scroll-margin-top: 90px; }
.lt-r--ivoire { background: var(--ivoire); }
.lt-r--sombre { background: var(--bleu-nuit-fonce); color: var(--ivoire); }
.lt-rh { display: flex; align-items: flex-start; gap: var(--space-5, 1.25rem); margin-bottom: var(--space-8); }
.lt-rh-num { font-family: var(--font-titre); font-style: italic; font-size: 3.4rem; line-height: 0.9; color: var(--ocre); min-width: 4.2rem; }
.lt-rh-nom { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ocre-fonce); }
.lt-rh h2 { font-family: var(--font-titre); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.15; color: var(--bleu-nuit); margin-top: 6px; }
.lt-r--sombre .lt-rh h2 { color: var(--ivoire); }
.lt-r--sombre .lt-rh-nom { color: var(--ocre-clair); }
.lt-r p { font-family: var(--font-corps); font-size: 1.04rem; line-height: 1.75; color: var(--anthracite); }
.lt-intro { margin-bottom: var(--space-6); }

.lt-deux { display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--space-8); align-items: center; }
.lt-lettrine::first-letter { font-family: var(--font-titre); float: left; font-size: 4.4rem; line-height: 0.85; padding: 6px 10px 0 0; color: var(--bleu-nuit); }
.lt-grande-citation { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-8); font-family: var(--font-titre); font-style: italic; font-size: 1.55rem; line-height: 1.3; position: relative; }
.lt-grande-citation::before { content: "“"; position: absolute; top: -28px; left: 18px; font-size: 6rem; color: var(--ocre); font-style: normal; line-height: 1; }
.lt-grande-citation span { display: block; margin-top: var(--space-4); font-family: var(--font-ui); font-style: normal; font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ocre-clair); }

.lt-livres { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); }
.lt-livre { text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.lt-livre img { width: 100%; aspect-ratio: 5/8; object-fit: cover; box-shadow: 0 10px 22px rgba(31,53,92,0.25); transition: transform .25s ease; }
.lt-livre:hover img { transform: translateY(-5px) rotate(-1deg); }
.lt-livre-titre { font-family: var(--font-titre); font-size: 0.98rem; line-height: 1.2; color: var(--bleu-nuit); margin-top: var(--space-2); }
.lt-livre-auteur { font-family: var(--font-ui); font-size: 0.7rem; color: var(--gris); }
.lt-ruban { margin-top: var(--space-10, 2.5rem); background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-6); display: grid; grid-template-columns: 210px 1fr; gap: var(--space-6); align-items: center; }
.lt-ruban-label { display: block; font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ocre-clair); }
.lt-ruban-texte strong { display: block; font-family: var(--font-titre); font-weight: 500; font-size: 1.45rem; line-height: 1.15; margin: 6px 0; }
.lt-ruban-texte em { font-family: var(--font-titre); color: #D8DDE8; }
.lt-ruban-covers { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }
.lt-ruban-covers img { width: 100%; aspect-ratio: 5/8; object-fit: cover; display: block; }

.lt-cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5, 1.25rem); }
.lt-carte { background: var(--blanc); border-top: 6px solid var(--bleu-nuit); padding: var(--space-5, 1.25rem); box-shadow: 0 8px 24px rgba(44,44,44,0.06); }
.lt-carte--ocre { border-top-color: var(--ocre); }
.lt-carte--olive { border-top-color: #6E7A3A; }
.lt-carte-situation { font-family: var(--font-titre); font-style: italic; font-size: 1.25rem; color: var(--bleu-nuit); display: block; margin-bottom: var(--space-4); }
.lt-carte-livre { display: grid; grid-template-columns: 64px 1fr; gap: var(--space-3); align-items: center; text-decoration: none; margin-bottom: var(--space-3); }
.lt-carte-livre img { width: 64px; aspect-ratio: 5/8; object-fit: cover; box-shadow: 0 6px 14px rgba(0,0,0,0.2); }
.lt-carte-livre strong { display: block; font-family: var(--font-titre); font-weight: 500; font-size: 1.05rem; line-height: 1.2; color: var(--anthracite); }
.lt-carte-livre em { font-family: var(--font-ui); font-style: normal; font-size: 0.72rem; color: var(--gris); }
.lt-carte p { font-size: 0.95rem !important; line-height: 1.6 !important; }

.lt-autrement { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-8); align-items: start; }
.lt-autrement-cover img { width: 100%; aspect-ratio: 5/8; object-fit: cover; box-shadow: 0 18px 36px rgba(31,53,92,0.3); transform: rotate(-2deg); }
.lt-reperes { list-style: none; padding: 0; margin: var(--space-5, 1.25rem) 0; }
.lt-reperes li { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-3) 0; border-bottom: 1px dashed var(--gris-clair); font-family: var(--font-corps); color: var(--anthracite); }
.lt-reperes li span { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--ocre); color: var(--blanc); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-ui); font-weight: 700; font-size: 0.85rem; }
.lt-note { font-style: italic; color: var(--gris) !important; }

.lt-ailleurs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.lt-ailleurs-livre { padding: var(--space-8) var(--space-6); position: relative; min-height: 280px; display: flex; flex-direction: column; }
.lt-ailleurs-livre--1 { background: #F2EDE2; color: var(--anthracite); border-left: 14px solid #A13544; }
.lt-ailleurs-livre--2 { background: #EAE2D2; color: var(--anthracite); border-left: 14px solid #6E7A3A; }
.lt-ailleurs-editeur { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--gris); }
.lt-ailleurs-livre h3 { font-family: var(--font-titre); font-weight: 500; font-size: 1.7rem; line-height: 1.1; margin: var(--space-4) 0 var(--space-2); color: var(--anthracite); }
.lt-ailleurs-auteur { font-family: var(--font-titre); font-style: italic; color: var(--ocre-fonce); margin-bottom: var(--space-4); }
.lt-r--sombre .lt-ailleurs-livre p { color: var(--anthracite); font-size: 0.97rem; }

.lt-zoom { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-8); align-items: center; margin-bottom: var(--space-8); }
.lt-zoom-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.lt-zoom-chiffres div { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-4) var(--space-3); text-align: center; }
.lt-zoom-chiffres strong { display: block; font-family: var(--font-titre); font-weight: 400; font-size: 2.6rem; line-height: 1; color: var(--ocre-clair); }
.lt-zoom-chiffres span { font-family: var(--font-ui); font-size: 0.68rem; letter-spacing: 0.04em; }
.lt-mosaique-a60 { display: grid; grid-template-columns: repeat(11, 1fr); gap: 6px; }
.lt-mosaique-a60 img { width: 100%; aspect-ratio: 5/8; object-fit: cover; display: block; box-shadow: 0 4px 10px rgba(0,0,0,0.12); }

.lt-entretien { display: grid; grid-template-columns: 130px 1fr; gap: var(--space-8); align-items: start; }
.lt-portrait { width: 130px; height: 130px; border-radius: 50%; background: var(--bleu-nuit); color: var(--ocre-clair); display: flex; align-items: center; justify-content: center; font-family: var(--font-titre); font-size: 2.6rem; box-shadow: 0 0 0 6px var(--ivoire), 0 0 0 7px var(--ocre); }
.lt-q { font-family: var(--font-titre) !important; font-size: 1.2rem !important; color: var(--bleu-nuit) !important; margin-top: var(--space-4); }
.lt-q::before { content: "Q · "; color: var(--ocre); font-family: var(--font-ui); font-size: 0.8rem; font-weight: 700; }
.lt-a { padding-left: var(--space-5, 1.25rem); border-left: 2px solid var(--ocre); }
.lt-source { font-family: var(--font-ui) !important; font-size: 0.78rem !important; color: var(--gris) !important; margin-top: var(--space-5, 1.25rem); }

.lt-question { background: var(--ocre); color: var(--blanc); text-align: center; padding: var(--space-12) var(--space-8); }
.lt-question-label { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.18em; text-transform: uppercase; }
.lt-question p { font-family: var(--font-titre); font-style: italic; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.2; margin: var(--space-4) auto; max-width: 600px; }
.lt-question-note { font-family: var(--font-ui); font-size: var(--text-sm); opacity: 0.9; }
.lt-pied { text-align: center; padding: var(--space-12) var(--space-8); }
.lt-pied-signature { font-family: var(--font-titre); font-style: italic; font-size: 1.3rem; color: var(--bleu-nuit); }
.lt-pied-info { font-family: var(--font-ui); font-size: var(--text-xs); color: var(--gris); margin: var(--space-4) 0 var(--space-6); }

@media (max-width: 760px) {
  .lt-r { padding: var(--space-10, 2.5rem) var(--space-5, 1.25rem); }
  .lt-masthead { padding: var(--space-8) var(--space-5, 1.25rem) 0; }
  .lt-strip { margin: 0 calc(-1 * var(--space-5, 1.25rem)); padding: 0 var(--space-5, 1.25rem); overflow: hidden; }
  .lt-strip a { width: 70px; }
  .lt-deux, .lt-ruban, .lt-autrement, .lt-zoom, .lt-entretien, .lt-ailleurs { grid-template-columns: 1fr; }
  .lt-livres { grid-template-columns: repeat(3, 1fr); }
  .lt-cartes { grid-template-columns: 1fr; }
  .lt-ruban-covers { grid-template-columns: repeat(5, 1fr); }
  .lt-mosaique-a60 { grid-template-columns: repeat(6, 1fr); }
  .lt-autrement-cover { max-width: 160px; }
  .lt-rh-num { font-size: 2.6rem; min-width: 3.2rem; }
}
.lt-masthead { padding-bottom: var(--space-10, 2.5rem); }
.lt-strip { transform: none; }

/* Newsletter : rubriques plus graphiques */
.nl-rubriques { border: 0; gap: 14px; }
.nl-rubriques li { border: 0; position: relative; overflow: hidden; min-height: 190px; box-shadow: 0 8px 22px rgba(31,53,92,0.07); }
.nl-rubriques li:nth-child(4n+1) { background: var(--bleu-nuit); }
.nl-rubriques li:nth-child(4n+1) h3, .nl-rubriques li:nth-child(4n+1) p { color: var(--ivoire); }
.nl-rubriques li:nth-child(4n+3) { background: #F1E6D3; }
.nl-rubriques li .nl-num { position: absolute; right: 14px; top: 2px; font-family: var(--font-titre); font-style: italic; font-size: 4.2rem; letter-spacing: 0; color: var(--ocre); opacity: 0.35; }
.nl-rubriques li h3 { margin-top: var(--space-6); font-size: 1.5rem; }
.nl-rubrique-cta { background: var(--ocre) !important; }
.nl-rubrique-cta .nl-num { opacity: 1 !important; position: static !important; font-family: var(--font-ui) !important; font-style: normal !important; font-size: var(--text-xs) !important; letter-spacing: 0.12em !important; color: var(--blanc) !important; }
.nl-rubrique-cta h3 { margin-top: var(--space-2) !important; }
.nl-rubrique-cta a { color: var(--blanc) !important; }

.nl-apercu { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-20) var(--space-6); overflow: hidden; }
.nl-apercu-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center; }
.nl-apercu h2 { font-family: var(--font-titre); font-weight: 400; font-size: clamp(2rem, 3.6vw, 2.8rem); color: var(--ivoire); margin: var(--space-3) 0 var(--space-5, 1.25rem); }
.nl-apercu p { font-family: var(--font-corps); color: #DCE0E8; line-height: 1.7; margin-bottom: var(--space-8); }
.nl-apercu .nl-bouton { text-decoration: none; display: inline-block; }
.nl-apercu-maquette { display: block; background: var(--ivoire-clair); width: 100%; max-width: 420px; justify-self: center; transform: rotate(3deg); box-shadow: 0 30px 60px rgba(0,0,0,0.35); text-decoration: none; transition: transform .3s ease; }
.nl-apercu-maquette:hover { transform: rotate(1deg) translateY(-6px); }
.nl-maq-haut { display: flex; justify-content: space-between; background: var(--bleu-nuit-fonce); color: var(--ocre-clair); font-family: var(--font-ui); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 12px 18px 0; border-top: 4px solid var(--ocre); }
.nl-maq-titre { display: block; background: var(--bleu-nuit-fonce); color: var(--ivoire); font-family: var(--font-titre); font-size: 3.2rem; line-height: 1; padding: 10px 18px 14px; }
.nl-maq-covers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; background: var(--bleu-nuit-fonce); padding: 0 18px 16px; }
.nl-maq-covers img { width: 100%; aspect-ratio: 5/8; object-fit: cover; display: block; }
.nl-maq-corps { display: flex; flex-direction: column; gap: 8px; padding: 18px; }
.nl-maq-rub { font-family: var(--font-ui); font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bleu-nuit); margin-top: 6px; }
.nl-maq-rub b { color: var(--ocre); margin-right: 6px; }
.nl-maq-ligne { height: 7px; background: #DAD5CB; border-radius: 2px; }
.nl-maq-ligne.court { width: 62%; }
.nl-maq-mini { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.nl-maq-mini i { aspect-ratio: 5/8; background: var(--bleu-nuit); }
.nl-maq-cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.nl-maq-cartes i { height: 34px; background: var(--blanc); border-top: 4px solid var(--bleu-nuit); }
.nl-maq-cartes i.o { border-top-color: var(--ocre); } .nl-maq-cartes i.v { border-top-color: #6E7A3A; }
.nl-maq-question { margin-top: 8px; background: var(--ocre); color: var(--blanc); text-align: center; font-family: var(--font-titre); font-style: italic; font-size: 1rem; padding: 10px; }
@media (max-width: 900px) { .nl-apercu-inner { grid-template-columns: 1fr; } .nl-apercu-maquette { transform: rotate(2deg); max-width: 340px; } }

/* =========================================================
   COMMANDER · KINDLE ET BROCHÉ
   ========================================================= */
.main-nav a.nav-commander { background: var(--ocre); color: var(--blanc) !important; padding: 7px 14px; border-radius: 2px; }
.main-nav a.nav-commander:hover, .main-nav a.nav-commander.active { background: var(--bleu-nuit); color: var(--ivoire) !important; }
@media (max-width: 768px) { .main-nav a.nav-commander { align-self: flex-start; } }

.cmd-page { background: var(--ivoire-clair); }
.cmd-hero { background: var(--bleu-nuit); color: var(--ivoire); padding: var(--space-16) var(--space-6) var(--space-12); text-align: center; }
.cmd-hero-inner { max-width: 820px; margin: 0 auto; }
.cmd-hero h1 { font-family: var(--font-titre); font-weight: 400; font-size: clamp(2.2rem, 4.6vw, 3.6rem); line-height: 1.1; color: var(--ivoire); margin: var(--space-4) 0 var(--space-5, 1.25rem); }
.cmd-hero h1 em { color: var(--ocre-clair); }
.cmd-hero p { font-family: var(--font-corps); font-size: var(--text-lg); line-height: 1.7; color: #DCE0E8; }

.cmd-formats { padding: var(--space-12) var(--space-6) var(--space-8); }
.cmd-formats-inner { max-width: 1000px; margin: -90px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.cmd-format { background: var(--blanc); padding: var(--space-8); box-shadow: 0 16px 40px rgba(31,53,92,0.12); border-top: 6px solid var(--ocre); }
.cmd-format--broche { border-top-color: var(--bleu-nuit); }
.cmd-format-badge { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--gris); }
.cmd-format h2 { font-family: var(--font-titre); font-weight: 500; font-size: 2.6rem; line-height: 1; color: var(--bleu-nuit); margin: var(--space-2) 0; }
.cmd-format-def { font-family: var(--font-titre); font-style: italic; font-size: 1.15rem; color: var(--ocre-fonce); margin-bottom: var(--space-4); }
.cmd-format ul { list-style: none; padding: 0; margin: 0; }
.cmd-format li { font-family: var(--font-corps); line-height: 1.55; color: var(--anthracite); padding: 6px 0 6px 22px; position: relative; }
.cmd-format li::before { content: "✓"; position: absolute; left: 0; color: var(--ocre); font-family: var(--font-ui); font-weight: 700; }
.cmd-etapes { list-style: none; padding: 0; max-width: 1000px; margin: var(--space-8) auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.cmd-etapes li { display: flex; gap: var(--space-3); align-items: center; font-family: var(--font-ui); font-size: var(--text-sm); color: var(--anthracite); background: var(--ivoire); padding: var(--space-4); }
.cmd-etapes li span { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--bleu-nuit); color: var(--ivoire); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }

.cmd-sommaire { padding: var(--space-6) var(--space-6) var(--space-10, 2.5rem); }
.cmd-sommaire-inner { max-width: 1000px; margin: 0 auto; text-align: center; }
.cmd-som-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-top: var(--space-4); }
.cmd-som-item { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: var(--space-5, 1.25rem) var(--space-3); background: var(--blanc); border: 1px solid var(--gris-clair); text-decoration: none; transition: border-color .2s, transform .2s; }
.cmd-som-item:hover { border-color: var(--bleu-nuit); transform: translateY(-3px); }
.cmd-som-nb { font-family: var(--font-titre); font-size: 2.4rem; line-height: 1; color: var(--ocre); }
.cmd-som-nom { font-family: var(--font-titre); font-size: 1.15rem; color: var(--bleu-nuit); text-align: center; line-height: 1.2; }
.cmd-som-etat { font-family: var(--font-ui); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gris); }
.cmd-som-item--avenir { border-style: dashed; background: transparent; }

.cmd-collections { max-width: 1000px; margin: 0 auto; padding: 0 var(--space-6) var(--space-20); }
.cmd-col { margin-top: var(--space-12); scroll-margin-top: 90px; }
.cmd-col-tete { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-6); padding-bottom: var(--space-4); border-bottom: 2px solid var(--bleu-nuit); flex-wrap: wrap; }
.cmd-col-tete h2 { font-family: var(--font-titre); font-weight: 500; font-size: 2.1rem; color: var(--bleu-nuit); margin-top: var(--space-2); }
.cmd-col-liens { display: flex; flex-wrap: wrap; gap: 8px; }
.cmd-col-lien { font-family: var(--font-ui); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; text-decoration: none; padding: 8px 12px; border: 1px solid var(--bleu-nuit); color: var(--bleu-nuit); }
.cmd-col-lien--amz { border-color: var(--ocre); color: var(--ocre-fonce); }
.cmd-col-lien:hover { background: var(--bleu-nuit); color: var(--ivoire); border-color: var(--bleu-nuit); }
.cmd-liste { list-style: none; padding: 0; margin: 0; }
.cmd-livre { display: grid; grid-template-columns: 62px 1fr auto; gap: var(--space-5, 1.25rem); align-items: center; padding: var(--space-4) 0; border-bottom: 1px solid var(--gris-clair); }
.cmd-cover img { width: 62px; aspect-ratio: 5/8; object-fit: cover; display: block; box-shadow: 0 6px 14px rgba(31,53,92,0.18); }
.cmd-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cmd-titre { font-family: var(--font-titre); font-size: 1.22rem; line-height: 1.2; color: var(--bleu-nuit); text-decoration: none; }
.cmd-titre:hover { color: var(--ocre-fonce); }
.cmd-auteur { font-family: var(--font-ui); font-size: 0.78rem; color: var(--gris); }
.cmd-fiche { font-family: var(--font-ui); font-size: 0.72rem; color: var(--ocre-fonce); margin-top: 4px; }
.cmd-boutons { display: flex; gap: 8px; }
.cmd-btn { display: flex; flex-direction: column; justify-content: center; width: 150px; padding: 9px 12px; text-decoration: none; border: 1.5px solid var(--ocre); transition: transform .15s ease; }
.cmd-btn:hover { transform: translateY(-2px); }
.cmd-btn--kindle { background: var(--ocre); }
.cmd-btn--broche { background: var(--blanc); border-color: var(--bleu-nuit); }
.cmd-btn-format { font-family: var(--font-ui); font-weight: 700; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--blanc); }
.cmd-btn--broche .cmd-btn-format { color: var(--bleu-nuit); }
.cmd-btn-detail { font-family: var(--font-ui); font-size: 0.66rem; color: rgba(255,255,255,0.9); }
.cmd-btn--broche .cmd-btn-detail { color: var(--gris); }
.cmd-col--avenir .cmd-col-tete { border-bottom-style: dashed; }

/* Bandeau « deux versions » */
.deux-versions { background: var(--ivoire); border-top: 1px solid var(--gris-clair); border-bottom: 1px solid var(--gris-clair); }
.deux-versions-inner { max-width: 1200px; margin: 0 auto; padding: var(--space-6); display: grid; grid-template-columns: 1.2fr 1fr 1fr auto; gap: var(--space-6); align-items: center; }
.deux-versions h2 { font-family: var(--font-titre); font-weight: 500; font-size: 1.6rem; line-height: 1.15; color: var(--bleu-nuit); }
.deux-versions-item { border-left: 3px solid var(--ocre); padding-left: var(--space-4); }
.deux-versions-item:nth-child(3) { border-left-color: var(--bleu-nuit); }
.deux-versions-item strong { display: block; font-family: var(--font-ui); font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bleu-nuit); }
.deux-versions-item span { font-family: var(--font-corps); font-size: 0.95rem; color: var(--anthracite); }
.deux-versions .nl-bouton { text-decoration: none; white-space: nowrap; }
.formats-commander { display: block; margin-top: var(--space-3); font-family: var(--font-ui); font-size: var(--text-xs); color: var(--ocre-fonce); }

@media (max-width: 900px) {
  .cmd-formats-inner { grid-template-columns: 1fr; margin-top: -60px; }
  .cmd-etapes { grid-template-columns: 1fr; }
  .cmd-som-grille { grid-template-columns: repeat(2, 1fr); }
  .cmd-livre { grid-template-columns: 54px 1fr; }
  .cmd-boutons { grid-column: 1 / -1; }
  .cmd-btn { flex: 1; width: auto; }
  .deux-versions-inner { grid-template-columns: 1fr; gap: var(--space-4); }
}
section.deux-versions { padding: 0; }

/* ===== v51 : calendrier, page Livres ===== */
.agenda { background: var(--ivoire); border-top: 1px solid var(--gris-clair); border-bottom: 1px solid var(--gris-clair); padding: var(--space-16) var(--space-6); }
.agenda-inner { max-width: var(--max-width-wide, 1200px); margin: 0 auto; }
.agenda-head { text-align: center; max-width: 640px; margin: 0 auto var(--space-10); }
.agenda-head h2 { font-size: var(--text-2xl); margin-top: var(--space-3); }
.agenda-head p { color: var(--gris); margin-top: var(--space-3); }
.agenda-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-6); }
.agenda-col { background: var(--blanc); border-top: 3px solid var(--bleu-nuit); padding: var(--space-6); }
.agenda-col h3 { font-family: var(--font-ui); font-size: var(--text-sm); letter-spacing: .12em; text-transform: uppercase; color: var(--ocre); margin-bottom: var(--space-4); }
.agenda-col ul { list-style: none; margin: 0; padding: 0; }
.agenda-col li { padding: var(--space-3) 0; border-bottom: 1px solid var(--gris-clair); }
.agenda-col li:last-child { border-bottom: 0; }
.agenda-col strong { display: block; font-family: var(--font-titre); font-weight: 500; font-size: 1.1rem; color: var(--bleu-nuit); }
.agenda-col strong a { color: inherit; border-bottom: 1px solid var(--ocre); text-decoration: none; }
.agenda-col span { display: block; color: var(--anthracite); font-size: .95rem; line-height: 1.55; margin-top: 4px; }
.agenda-cta { text-align: center; margin-top: var(--space-8); }
.agenda-cta a { font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: var(--bleu-nuit); border-bottom: 1px solid var(--ocre); padding-bottom: 3px; text-decoration: none; }

.catalogue-filtres { max-width: var(--max-width-wide, 1200px); margin: 0 auto; padding: 0 var(--space-6) var(--space-6); }
.besoins { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-3); }
.besoin { text-align: left; background: var(--blanc); border: 1px solid var(--gris-clair); padding: var(--space-4); cursor: pointer; font: inherit; color: var(--anthracite); transition: border-color .2s, background .2s; }
.besoin strong { display: block; font-family: var(--font-titre); font-weight: 500; font-size: 1.1rem; color: var(--bleu-nuit); }
.besoin span { display: block; font-size: .9rem; color: var(--gris); margin-top: 4px; }
.besoin:hover, .besoin:focus-visible { border-color: var(--ocre); }
.besoin.is-on { border-color: var(--bleu-nuit); background: var(--ivoire); box-shadow: inset 3px 0 0 var(--ocre); }
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); justify-content: center; }
.chip { font-family: var(--font-ui); font-size: var(--text-sm); padding: 8px 16px; border: 1px solid var(--bleu-nuit); background: transparent; color: var(--bleu-nuit); cursor: pointer; border-radius: 999px; }
.chip.is-on { background: var(--bleu-nuit); color: var(--blanc); }
.catalogue-compte { text-align: center; color: var(--gris); margin-top: var(--space-4); font-size: .95rem; }
.lien-reset { background: none; border: 0; color: var(--ocre); text-decoration: underline; cursor: pointer; font: inherit; }
.footer-bottom a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) { .collections-list { grid-template-columns: 1fr !important; } .coll-card { min-width: 0; } }
@media (max-width: 700px) { .collections-list > .coll-card:last-child { grid-column: auto !important; } }
.agenda .agenda-head { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
.agenda .agenda-head p { margin-left: auto; margin-right: auto; }

/* ===== v52 : accueil sans images générées ===== */
.hero-vitrine.hero-mur { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 560px; width: 100%; margin-left: auto; transform: none; }
.hero-mur .mur-cover { display: block; box-shadow: 0 10px 24px rgba(20,32,60,.18); transition: transform .25s ease; position: static !important; transform: none !important; }
.hero-mur .mur-cover:nth-child(4n+2), .hero-mur .mur-cover:nth-child(4n+4) { margin-top: 22px; margin-bottom: -22px; }
.hero-mur .mur-cover:hover { transform: translateY(-4px) !important; }
.hero-mur img { width: 100%; aspect-ratio: 2/3; object-fit: cover; display: block; }

.kindle-sobre { background: var(--ivoire); border-top: 1px solid var(--gris-clair); padding: var(--space-16) var(--space-6); }
.kindle-sobre-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-12); align-items: center; }
.kindle-sobre h2 { font-size: var(--text-2xl); margin: var(--space-3) 0 var(--space-4); }
.kindle-sobre p { color: var(--anthracite); line-height: 1.7; }
.kindle-sobre-note { margin-top: var(--space-4); font-family: var(--font-titre); color: var(--bleu-nuit) !important; }
.kindle-sobre-cta { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-6); }
.btn-plein, .btn-filet { display: inline-block; padding: 12px 22px; font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 500; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.btn-plein { background: var(--ocre); color: var(--blanc); }
.btn-filet { border: 1px solid var(--ocre); color: var(--ocre-fonce, var(--ocre)); }
.kindle-sobre-rang { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.kindle-sobre-rang img { width: 100%; aspect-ratio: 2/3; object-fit: cover; display: block; box-shadow: 0 8px 18px rgba(20,32,60,.15); }

.bande-rail { display: grid !important; grid-template-columns: 240px minmax(0, 1fr) !important; gap: var(--space-8) !important; align-items: start; }
.rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 18px; scrollbar-width: thin; scrollbar-color: var(--ocre) transparent; }
.rail::-webkit-scrollbar { height: 6px; } .rail::-webkit-scrollbar-thumb { background: var(--ocre); }
.rail-card { flex: 0 0 150px; scroll-snap-align: start; display: flex; flex-direction: column; }
.rail-card .tome-couverture { width: 150px; aspect-ratio: 2/3; overflow: hidden; box-shadow: 0 8px 18px rgba(20,32,60,.15); }
.rail-card .tome-couverture img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rail-titre { font-family: var(--font-titre); color: var(--bleu-nuit); font-size: .98rem; line-height: 1.3; margin: 10px 0 8px; text-decoration: none; min-height: 2.6em; }
.rail-card .tome-amazon-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: auto; }
.rail-card .tome-amazon-mini a { font-size: .62rem; padding: 6px 2px; text-align: center; }
.rail-avenir { margin-top: auto; font-family: var(--font-ui); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ocre); border: 1px dashed var(--ocre); padding: 6px; text-align: center; }
.rail-fin { flex: 0 0 150px; aspect-ratio: 2/3; height: 225px; display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid var(--bleu-nuit); color: var(--bleu-nuit); text-decoration: none; font-family: var(--font-titre); font-size: 1.1rem; padding: 12px; }
.rail-fin:hover { background: var(--bleu-nuit); color: var(--blanc); }
.collections-bandes .collection-bande { padding-top: var(--space-10); padding-bottom: var(--space-10); }

@media (max-width: 900px) {
  .kindle-sobre-inner { grid-template-columns: 1fr; }
  .bande-rail { grid-template-columns: 1fr !important; gap: var(--space-4) !important; }
  .hero-vitrine.hero-mur { margin: var(--space-8) auto 0; max-width: 420px; }
}
@media (max-width: 480px) {
  .hero-vitrine.hero-mur { grid-template-columns: repeat(3, 1fr); }
  .hero-mur .mur-cover:nth-child(n+10) { display: none; }
  .hero-mur .mur-cover:nth-child(4n+2), .hero-mur .mur-cover:nth-child(4n+4) { margin: 0; }
  .rail-card, .rail-fin { flex-basis: 128px; } .rail-card .tome-couverture { width: 128px; } .rail-fin { height: 192px; }
}
@media (max-width: 700px) {
  .hero-editorial { padding-left: 20px !important; padding-right: 20px !important; }
  .hero-editorial .hero-texte, .hero-editorial .hero-texte-intro { padding: 0 !important; }
  .hero-vitrine.hero-mur { max-width: 100%; }
}

/* ===== v54 : accueil « encre et papier » (graphisme Sortir de…) ===== */
.home-encre { --papier: #F6F1E6; --encre: #18181C; --sceau: #C8322B; --cormorant: 'Cormorant Garamond', 'EB Garamond', Georgia, serif; background: var(--papier); }
.home-encre main, .home-encre .collections-bandes, .home-encre .kindle-sobre, .home-encre .agenda { background: var(--papier); }
.hero-encre { position: relative; overflow: hidden; padding: 0 !important; background: var(--papier) !important; border-bottom: 1px solid rgba(24,24,28,.12); }
.he-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
.he-texte { padding: 88px 24px 72px 32px; position: relative; z-index: 2; }
.he-signature { font-family: var(--cormorant); font-size: 1.15rem; color: var(--encre); margin: 0 0 22px; letter-spacing: .01em; }
.hero-encre h1 { font-family: var(--cormorant); font-weight: 500; font-size: clamp(3.2rem, 6.4vw, 5.6rem); line-height: .98; color: var(--encre); margin: 0; letter-spacing: -.01em; }
.he-sous { font-family: var(--cormorant); font-style: italic; font-size: clamp(1.3rem, 2.1vw, 1.65rem); color: #2b2b30; margin: 26px 0 0; line-height: 1.35; max-width: 30ch; }
.he-sous span { border-bottom: 1px solid #2b2b30; padding-bottom: 2px; }
.he-sceau { display: block; width: 58px; height: auto; margin: 26px 0 18px; box-shadow: 0 1px 0 rgba(0,0,0,.05); }
.he-maison { font-family: var(--cormorant); font-variant: small-caps; text-transform: lowercase; letter-spacing: .14em; font-size: 1.05rem; color: #3a3a40; margin: 0 0 22px; }
.he-intro { font-family: var(--font-corps); color: #3d3d42; line-height: 1.7; max-width: 46ch; margin: 0 0 30px; font-size: 1rem; }
.he-cta { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.he-btn { background: var(--encre); color: var(--papier); text-decoration: none; padding: 14px 28px; font-family: var(--font-ui); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; transition: background .2s; }
.he-btn:hover { background: var(--sceau); }
.he-lien { font-family: var(--cormorant); font-size: 1.2rem; color: var(--encre); text-decoration: none; border-bottom: 1px solid var(--encre); }
.he-visuel { position: relative; min-height: 640px; }
.he-encre { position: absolute; pointer-events: none; user-select: none; }
.he-encre-herbes { right: 34%; top: -4%; height: 112%; opacity: .55; transform: rotate(-4deg); }
.he-encre-spirale { right: -2%; bottom: -6%; height: 96%; opacity: .92; }
.he-livres { position: absolute; left: 6%; bottom: 64px; width: 70%; height: 72%; }
.he-livre { position: absolute; display: block; width: 34%; box-shadow: 0 22px 40px rgba(20,20,26,.28), 0 2px 6px rgba(20,20,26,.18); transition: transform .35s ease; }
.he-livre img { display: block; width: 100%; aspect-ratio: 2/3; object-fit: cover; }
.he-livre-1 { left: 0; bottom: 0; z-index: 4; transform: rotate(-3deg); }
.he-livre-2 { left: 26%; bottom: 8%; z-index: 3; transform: rotate(2deg); }
.he-livre-3 { left: 52%; bottom: 18%; z-index: 2; transform: rotate(-1.5deg); width: 30%; }
.he-livre-4 { left: 72%; bottom: 30%; z-index: 1; transform: rotate(3deg); width: 26%; }
.he-livre:hover { transform: translateY(-8px) rotate(0); z-index: 6; }

.home-encre .deux-versions { background: var(--papier) !important; border-top: 0; border-bottom: 1px solid rgba(24,24,28,.12); }
.home-encre .deux-versions h2 { font-family: var(--cormorant); font-weight: 500; }
.home-encre .section-catalogue.dark { background: #ECE5D6 !important; color: var(--encre) !important; }
.home-encre .section-catalogue.dark h2, .home-encre .section-catalogue.dark .tome-titre { color: var(--encre) !important; font-family: var(--cormorant); }
.home-encre .section-catalogue.dark .label, .home-encre .section-catalogue.dark .tome-collection { color: var(--sceau) !important; }
.home-encre .section-catalogue.dark .tome-soustitre, .home-encre .section-catalogue.dark .tome-auteur { color: #4a4a50 !important; }
.home-encre .section-catalogue.dark a { color: var(--encre); }
.home-encre .section-catalogue.dark .tome-amazon-mini .broche { color: var(--encre) !important; border-color: var(--encre) !important; }

.pullquote-encre { position: relative; overflow: hidden; background: var(--papier) !important; text-align: center; padding: 96px 24px !important; }
.pullquote-encre blockquote { font-family: var(--cormorant) !important; font-style: italic; font-weight: 400; font-size: clamp(1.8rem, 3.4vw, 2.7rem) !important; color: var(--encre) !important; max-width: 24ch; margin: 0 auto; line-height: 1.2; position: relative; z-index: 2; }
.pq-encre { position: absolute; right: 4%; top: 50%; transform: translateY(-50%); height: 120%; opacity: .35; pointer-events: none; }
.pq-sceau { display: block; margin: 26px auto 10px; width: 40px; height: auto; position: relative; z-index: 2; }
.pullquote-encre cite { font-family: var(--cormorant); font-variant: small-caps; letter-spacing: .14em; color: #3a3a40; font-style: normal; position: relative; z-index: 2; }

.trait-pinceau { display: block; width: 220px; max-width: 60%; margin: 14px auto 0; opacity: .85; }
.home-encre .collections-bandes h2, .home-encre .collection-info h3, .home-encre .kindle-sobre h2, .home-encre .agenda h2, .home-encre .exigence h2 { font-family: var(--cormorant); font-weight: 500; color: var(--encre); }
.home-encre .collection-info h3 { font-size: 2.1rem; line-height: 1.05; }
.home-encre .collection-info .signature { font-family: var(--cormorant); font-style: italic; font-size: 1.15rem; color: #2b2b30; }
.home-encre .collection-info .label, .home-encre .collections-bandes .label, .home-encre .kindle-sobre .label, .home-encre .agenda .label { color: var(--sceau); }
.home-encre .rail-titre { font-family: var(--cormorant); font-size: 1.08rem; color: var(--encre); }
.home-encre .collection-bande { border-bottom: 1px solid rgba(24,24,28,.1) !important; }
.home-encre .agenda-col { border-top-color: var(--encre); background: #FBF8F1; }
.home-encre .agenda-col strong { font-family: var(--cormorant); font-size: 1.25rem; color: var(--encre); }
.home-encre .agenda-col h3 { color: var(--sceau); }
.home-encre .btn-plein { background: var(--encre); }
.home-encre .btn-plein:hover { background: var(--sceau); }

@media (max-width: 960px) {
  .he-inner { grid-template-columns: 1fr; min-height: 0; }
  .he-texte { padding: 56px 22px 24px; }
  .he-visuel { min-height: 460px; }
  .he-livres { left: 4%; width: 92%; bottom: 36px; height: 80%; }
  .he-encre-herbes { right: 40%; height: 105%; }
}
@media (max-width: 480px) {
  .he-visuel { min-height: 360px; }
  .he-livre-4 { display: none; }
  .he-livre { width: 40%; } .he-livre-2 { left: 30%; } .he-livre-3 { left: 58%; width: 36%; }
  .pq-encre { opacity: .18; }
}
/* v55 : couvertures de l'accueil sans chevauchement */
.he-livres { position: absolute; left: 4%; right: 6%; top: 50%; bottom: auto; width: auto; height: auto; transform: translateY(-46%); display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: end; z-index: 3; }
.he-livre { position: relative !important; left: auto !important; bottom: auto !important; width: 100% !important; transform: none !important; }
.he-livre-1 { margin-bottom: 0; } .he-livre-2 { margin-bottom: 34px; } .he-livre-3 { margin-bottom: 68px; } .he-livre-4 { margin-bottom: 102px; }
.he-livre:hover { transform: translateY(-6px) !important; }
.he-encre-herbes { right: 40%; opacity: .42; }
.he-encre-spirale { opacity: .85; }
.home-encre .annonce-bandeau, .home-encre .top-banner, .home-encre .bandeau-annonce { background: var(--encre) !important; }
.home-encre .nav-commander { background: var(--encre) !important; color: var(--papier) !important; border-color: var(--encre) !important; }
.home-encre .nav-commander:hover { background: var(--sceau) !important; }
.home-encre .site-header { background: var(--papier); }
.home-encre .logo-mark { font-family: var(--cormorant); color: var(--encre); font-weight: 500; }
.home-encre .main-nav a.active { color: var(--sceau); }
@media (max-width: 960px) { .he-livres { position: relative; top: auto; transform: none; padding: 40px 0 30px; left: auto; right: auto; margin: 0 6%; } .he-visuel { min-height: 0; } }
@media (max-width: 480px) { .he-livres { grid-template-columns: repeat(3, 1fr); gap: 10px; } .he-livre-4 { display: none; } .he-livre-2 { margin-bottom: 20px; } .he-livre-3 { margin-bottom: 40px; } }
.home-encre .banniere { background: var(--encre) !important; } .home-encre .banniere a { color: #E9C9A0 !important; }

/* ===== v56 : offres 0,99 € et avis ===== */
.offres-tete, .avis-tete { text-align: center; }
.offres-intro { max-width: 720px; margin: 0 auto var(--space-12); padding: 0 var(--space-6); color: var(--anthracite); line-height: 1.75; }
.offres-note { margin-top: var(--space-4); font-family: 'Cormorant Garamond', var(--font-titre); font-style: italic; font-size: 1.15rem; color: #18181C; }
.offres-note a, .avis-astuce a, .avis-etapes a, .avis-regles a { color: #C8322B; border-bottom: 1px solid currentColor; text-decoration: none; }
.offre-groupe { max-width: 1160px; margin: 0 auto var(--space-12); padding: 0 var(--space-6); }
.offre-groupe-tete { display: flex; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid rgba(24,24,28,.15); padding-bottom: var(--space-3); margin-bottom: var(--space-6); flex-wrap: wrap; }
.offre-groupe-tete h2 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; font-size: 2rem; color: #18181C; margin: 0; }
.offre-groupe-tete .label { color: #C8322B; }
.offre-groupe-tete a { margin-left: auto; font-family: var(--font-ui); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: #18181C; text-decoration: none; border-bottom: 1px solid #18181C; }
.offre-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.offre-carte { display: flex; flex-direction: column; }
.offre-couv { position: relative; display: block; box-shadow: 0 12px 26px rgba(20,20,26,.18); }
.offre-couv img { display: block; width: 100%; aspect-ratio: 2/3; object-fit: cover; }
.offre-pastille { position: absolute; top: 10px; right: -8px; background: #C8322B; color: #fff; font-family: var(--font-ui); font-weight: 600; font-size: .85rem; padding: 6px 10px; letter-spacing: .02em; box-shadow: 0 4px 10px rgba(0,0,0,.2); }
.offre-titre { font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.15rem; color: #18181C; text-decoration: none; margin-top: 12px; line-height: 1.25; min-height: 2.5em; }
.offre-auteur { font-family: var(--font-ui); font-size: .78rem; color: #6b6b70; margin: 4px 0 10px; }
.offre-btn { margin-top: auto; text-align: center; background: #18181C; color: #F6F1E6; text-decoration: none; padding: 10px 8px; font-family: var(--font-ui); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.offre-btn:hover { background: #C8322B; }
.offres-avis-bandeau { max-width: 1000px; margin: var(--space-8) auto var(--space-16); padding: var(--space-8); display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-6); align-items: center; background: #FBF8F1; border: 1px solid rgba(24,24,28,.12); }
.offres-avis-bandeau h2 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; font-size: 1.6rem; margin: 0 0 6px; color: #18181C; }
.offres-avis-bandeau p { margin: 0; color: var(--anthracite); line-height: 1.6; }
.he-btn { display: inline-block; background: #18181C; color: #F6F1E6; text-decoration: none; padding: 14px 28px; font-family: var(--font-ui); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.he-btn:hover { background: #C8322B; }
.he-lien { font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.2rem; color: #18181C; text-decoration: none; border-bottom: 1px solid #18181C; }

.avis-pourquoi { max-width: 1100px; margin: 0 auto var(--space-16); padding: 0 var(--space-6); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
.avis-col { border-top: 2px solid #18181C; padding-top: var(--space-5); }
.avis-num { font-family: 'Cormorant Garamond', var(--font-titre); font-size: 2.6rem; color: #C8322B; line-height: 1; }
.avis-col h3 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; font-size: 1.45rem; color: #18181C; margin: 8px 0 10px; }
.avis-col p { color: var(--anthracite); line-height: 1.7; }
.avis-comment, .avis-livres { max-width: 820px; margin: 0 auto var(--space-16); padding: 0 var(--space-6); }
.avis-comment h2, .avis-livres h2, .avis-regles h2 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; font-size: 2.1rem; color: #18181C; margin-bottom: var(--space-6); text-align: center; }
.avis-etapes { counter-reset: e; list-style: none; padding: 0; margin: 0; }
.avis-etapes li { counter-increment: e; position: relative; padding: 0 0 var(--space-5) 56px; line-height: 1.7; color: var(--anthracite); }
.avis-etapes li::before { content: counter(e); position: absolute; left: 0; top: -4px; width: 38px; height: 38px; border: 1px solid #18181C; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.3rem; color: #18181C; }
.avis-astuce { background: #FBF8F1; border-left: 3px solid #C8322B; padding: var(--space-4) var(--space-5); color: var(--anthracite); line-height: 1.6; }
.av-collection { border-top: 1px solid rgba(24,24,28,.15); }
.av-collection:last-of-type { border-bottom: 1px solid rgba(24,24,28,.15); }
.av-collection summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: baseline; padding: var(--space-4) 0; font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.5rem; color: #18181C; }
.av-collection summary::-webkit-details-marker { display: none; }
.av-collection summary em { font-family: var(--font-ui); font-style: normal; font-size: .8rem; color: #6b6b70; }
.av-collection summary::after { content: "+"; font-family: var(--font-ui); font-size: 1.2rem; margin-left: 12px; }
.av-collection[open] summary::after { content: "–"; }
.av-liste { list-style: none; padding: 0 0 var(--space-5); margin: 0; display: grid; gap: 10px; }
.av-liste li { display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; }
.av-couv img { width: 44px; aspect-ratio: 2/3; object-fit: cover; display: block; box-shadow: 0 3px 8px rgba(0,0,0,.15); }
.av-titre { font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.1rem; color: #18181C; }
.av-lien { font-family: var(--font-ui); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: #18181C; border: 1px solid #18181C; padding: 7px 12px; text-decoration: none; white-space: nowrap; }
.av-lien:hover { background: #18181C; color: #F6F1E6; }
.avis-regles { background: #ECE5D6; padding: var(--space-16) var(--space-6); }
.avis-regles-inner { max-width: 1100px; margin: 0 auto; }
.avis-regles-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
.avis-regles h3 { font-family: var(--font-ui); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: #C8322B; margin-bottom: var(--space-3); }
.avis-regles ul { padding-left: 18px; margin: 0; }
.avis-regles li { color: #2b2b30; line-height: 1.65; margin-bottom: 10px; }

.fiche-promo { background: #C8322B; color: #fff; padding: 10px 14px; font-family: var(--font-ui); font-size: .85rem; line-height: 1.45; margin-bottom: 14px; }
.fiche-promo span { font-weight: 700; font-size: 1.05rem; margin-right: 4px; }
.fiche-promo a { color: #fff; text-decoration: underline; }
.btn-avis { display: block; text-align: center; margin-top: 10px; padding: 11px 10px; border: 1px solid #C8322B; color: #C8322B; font-family: var(--font-ui); font-size: .78rem; letter-spacing: .06em; text-decoration: none; }
.btn-avis:hover { background: #C8322B; color: #fff; }

.home-offres { background: #18181C; color: #F6F1E6; padding: var(--space-12) var(--space-6); }
.ho-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-10); align-items: center; }
.home-offres .label { color: #E9A49E; }
.home-offres h2 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; font-size: clamp(2rem, 4vw, 3rem); color: #F6F1E6; margin: 10px 0 14px; }
.home-offres p { color: #d9d4ca; line-height: 1.7; max-width: 46ch; margin-bottom: 24px; }
.home-offres .he-btn { background: #C8322B; } .home-offres .he-btn:hover { background: #F6F1E6; color: #18181C; }
.home-offres .he-lien { color: #F6F1E6; border-color: #F6F1E6; }
.ho-couvs { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }
.ho-couv { position: relative; display: block; }
.ho-couv img { width: 100%; aspect-ratio: 2/3; object-fit: cover; display: block; box-shadow: 0 8px 18px rgba(0,0,0,.4); }
.ho-couv .offre-pastille { font-size: .62rem; padding: 3px 5px; top: 6px; right: -4px; }
.main-nav a[href$="offres.html"] { color: #C8322B; font-weight: 500; }

@media (max-width: 960px) {
  .offre-grille { grid-template-columns: repeat(2, 1fr); }
  .avis-pourquoi, .avis-regles-grille { grid-template-columns: 1fr; }
  .ho-inner { grid-template-columns: 1fr; } .ho-couvs { grid-template-columns: repeat(4, 1fr); }
  .offres-avis-bandeau { grid-template-columns: 1fr; text-align: center; } .offres-avis-bandeau img { margin: 0 auto; }
}
@media (max-width: 480px) { .av-liste li { grid-template-columns: 40px 1fr; } .av-lien { grid-column: 2; justify-self: start; } }
.avis-comment .avis-etapes li { padding: 4px 0 22px 60px !important; margin: 0 !important; list-style: none !important; }
.avis-comment .avis-etapes li::before { top: 0 !important; left: 0 !important; }
.avis-comment .avis-astuce { margin-top: 8px; }

/* ===== v58 : manifeste IA ===== */
.manif-tete { text-align: center; }
.manif-tete h1 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; color: #18181C; max-width: 18ch; margin-left: auto; margin-right: auto; }
.manif-sceau { display: block; margin: 18px auto 0; }
.manif-ia h2 { font-family: 'Cormorant Garamond', var(--font-titre); font-weight: 500; color: #18181C; }
.manif-liste { padding-left: 20px; } .manif-liste li { margin-bottom: 10px; line-height: 1.7; }
.manif-engagements { counter-reset: m; list-style: none; padding: 0; }
.manif-engagements li { counter-increment: m; position: relative; padding: 0 0 14px 46px; line-height: 1.7; }
.manif-engagements li::before { content: counter(m); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; background: #C8322B; color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', var(--font-titre); font-size: 1.1rem; }
.manif-ia a { color: #C8322B; border-bottom: 1px solid currentColor; text-decoration: none; }
.manif-signature { font-family: 'Cormorant Garamond', var(--font-titre); font-style: italic; text-align: center; margin-top: 40px; color: #3a3a40; }

/* La Lettre : bientôt */
.nl-bientot { display: flex; flex-direction: column; gap: 6px; margin-top: var(--space-6); padding: var(--space-5, 20px) var(--space-6); border: 1px solid var(--ocre); background: rgba(184,137,74,0.08); max-width: 560px; }
.nl-bientot strong { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ocre); }
.nl-bientot span { line-height: 1.6; }
.nl-final .nl-bientot { margin-left: auto; margin-right: auto; text-align: center; }
.nl-final .nl-bientot span, .nl-hero .nl-bientot span { color: var(--ivoire); }

/* Page Livres : filtres compacts (v61) */
.page-header--compact { padding: var(--space-10) var(--space-6) var(--space-5); }
.page-header--compact h1 { margin-bottom: var(--space-2); }
.page-header--compact .signature { font-size: var(--text-lg); }
.catalogue-filtres { display: flex; flex-direction: column; gap: var(--space-3); padding-bottom: var(--space-4); border-bottom: 1px solid var(--gris-clair); margin-bottom: var(--space-2); }
.filtre-ligne { display: flex; align-items: center; gap: var(--space-3); }
.filtre-titre { flex: 0 0 110px; font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ocre); text-align: right; }
.catalogue-filtres .besoins { display: flex; flex-wrap: wrap; gap: var(--space-2); grid-template-columns: none; }
.catalogue-filtres .besoin { padding: 8px 16px; border-radius: 999px; border-color: var(--ocre); background: var(--blanc); }
.catalogue-filtres .besoin strong { font-family: var(--font-ui); font-size: var(--text-sm); font-weight: 500; }
.catalogue-filtres .besoin span { display: none; }
.catalogue-filtres .besoin.is-on { background: var(--ocre); border-color: var(--ocre); box-shadow: none; }
.catalogue-filtres .besoin.is-on strong { color: var(--blanc); }
.catalogue-filtres .chips { margin-top: 0; justify-content: flex-start; }
.catalogue-filtres .catalogue-compte { margin-top: 0; text-align: left; padding-left: calc(110px + var(--space-3)); }
@media (max-width: 720px) {
  .filtre-ligne { flex-direction: column; align-items: stretch; gap: 6px; }
  .filtre-titre { flex: none; text-align: left; }
  .catalogue-filtres .besoins, .catalogue-filtres .chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; scrollbar-width: none; }
  .catalogue-filtres .besoin, .catalogue-filtres .chip { flex: 0 0 auto; white-space: nowrap; }
  .catalogue-filtres .catalogue-compte { padding-left: 0; }
}

/* Encarts d'inscription La Lettre (v61) */
.nl-encart { max-width: 560px; margin: 0 auto var(--space-8); text-align: left; }
.nl-encart-ligne { display: flex; gap: 0; margin-bottom: var(--space-3); }
.nl-encart-ligne input[type="email"] { flex: 1; min-width: 0; font-family: var(--font-ui); font-size: var(--text-base); padding: 14px 16px; border: 1px solid var(--bleu-nuit); border-right: 0; background: var(--blanc); color: var(--anthracite); border-radius: 0; }
.nl-encart-ligne input[type="email"]:focus { outline: 2px solid var(--ocre); outline-offset: -2px; }
.nl-encart-ligne .nl-bouton { flex: 0 0 auto; white-space: nowrap; }
.nl-encart .nl-rgpd { margin-bottom: var(--space-2); }
.nl-encart .nl-message { margin-top: 0; text-align: left; }
.nl-mention { font-family: var(--font-ui); font-size: var(--text-xs); color: var(--gris); line-height: 1.5; margin: var(--space-1, 4px) 0 0; }
.nl-mention a { color: var(--gris); text-decoration: underline; }
.nl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nl-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 520px) {
  .nl-encart-ligne { flex-direction: column; gap: var(--space-2); }
  .nl-encart-ligne input[type="email"] { border-right: 1px solid var(--bleu-nuit); }
}
.catalogue-filtres { margin-top: var(--space-2); }
.page-header--compact .signature { margin-bottom: var(--space-4); }

/* Univers graphique des collections (visuels A+ des pages Amazon) */
.univers { padding: var(--space-16) var(--space-6); }
.univers-inner { max-width: 1100px; margin: 0 auto; }
.univers-tete { text-align: center; margin-bottom: var(--space-8); }
.univers-tete h2 { margin-top: var(--space-3); font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 500; }
.univers-tete p { font-family: var(--font-titre); font-style: italic; font-size: var(--text-lg); max-width: 680px; margin: var(--space-3) auto 0; line-height: 1.55; }
.univers-bandeau { display: block; width: 100%; height: auto; aspect-ratio: 970 / 600; object-fit: cover; }
.univers-bande { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 10px; }
.univers-bande img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.univers-mosaique { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.univers-mosaique a { position: relative; display: block; overflow: hidden; }
.univers-mosaique img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .4s ease; }
.univers-mosaique a:hover img { transform: scale(1.05); }
.univers-mosaique span { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 8px 7px; background: linear-gradient(transparent, rgba(15,25,45,.85)); color: #F5F1E8; font-family: var(--font-ui); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; text-align: center; }
.univers-source { font-family: var(--font-ui); font-size: var(--text-xs); text-align: center; margin-top: var(--space-4); opacity: .75; }
/* Accents propres à chaque collection */
.univers-fat { background: #FFFFFF; border-top: 6px solid #E5007E; }
.univers-fat .label { color: #E5007E; }
.univers-ldc { background: #F2EFE8; border-top: 6px solid #111111; }
.univers-ldc .label { color: #111111; }
.univers-ldc .univers-bande img { filter: none; border: 1px solid #111; }
.univers-cm { background: var(--bleu-nuit-fonce); color: var(--ivoire); }
.univers-cm h2 { color: var(--ivoire); }
.univers-cm .label, .univers-cm .univers-tete p { color: var(--ocre-clair, #D4A972); }
.univers-a60 { background: #FBF6EC; border-top: 6px solid #C9A227; }
.univers-a60 .label { color: #9C7A16; }
@media (max-width: 760px) {
  .univers-bande { grid-template-columns: repeat(3, 1fr); }
  .univers-mosaique { grid-template-columns: repeat(3, 1fr); }
}
.nl-engagement-etat { display: inline-block; margin-left: 10px; vertical-align: middle; font-family: var(--font-ui); font-size: 10.5px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--ocre-clair, #D4A972); border: 1px solid currentColor; padding: 2px 8px; }
.nl-rubriques li h3 { padding-right: 64px; }
.nl-rubriques li.nl-rubrique-cta h3 { padding-right: 0; }
.newsletter-rubriques { max-width: 700px; }
/* Lisibilité (pré-projet 6) */
.nl-rubrique-cta { background: #8A642A !important; }
.nl-rubriques .nl-rubrique-cta p { color: #FFFFFF !important; }
.univers-mosaique span { font-size: 12.5px !important; font-weight: 600; background: linear-gradient(transparent, rgba(10,18,35,.95) 55%) !important; padding-top: 26px !important; }
.univers-cm .univers-tete p { color: #E8D3AE !important; font-style: normal; }
.univers-source { opacity: 1 !important; color: #555; }
.univers-cm .univers-source { color: #D9DCE3; }
