/* ============================================================
   home.css — Page d'accueil (version 3.34.0)
   Réalisée d'après la maquette validée le 2026-10-14 : chiffres en
   haut, trois portes d'entrée, les quatre Évangiles, études au hasard,
   parcours en lignes de métro, thèmes en tiroirs de fichier, séries en
   livres qui s'ouvrent. Classes propres (schilo-acc-…) : les règles de
   l'ancien accueil dans responsive.css et compat.css ne s'y appliquent pas.
   Toutes les couleurs de texte respectent un contraste de 4,5 au moins.
   ============================================================ */

.home main { background: var(--schilo-bg-page, #eef0f4); }

/* ── Teintes (couleurs des Évangiles et du site) ── */
.schilo-acc-tone--mat    { --acc-c: #d71f1f; --acc-dark: #8a0000; --acc-light: #ffffff; }
.schilo-acc-tone--marc   { --acc-c: #0f490f; --acc-dark: #083008; --acc-light: #cfeed6; }
.schilo-acc-tone--luc    { --acc-c: #0a137e; --acc-dark: #060c55; --acc-light: #d3d8fa; }
.schilo-acc-tone--jean   { --acc-c: #484204; --acc-dark: #2e2a02; --acc-light: #f0ecc0; }
.schilo-acc-tone--night  { --acc-c: #1e2a3a; --acc-dark: #131c28; --acc-light: #c3cbd6; }
.schilo-acc-tone--accent { --acc-c: #1d5fb5; --acc-dark: #0e3f88; --acc-light: #e2eefb; }
/* 3.40.0 : teintes des genres bibliques (page des livres) pour les séries, parcours et rubriques ; les couleurs des
   quatre Évangiles leur sont réservées. Texte blanc ou clair sur chacune : contraste de 4,5 au moins. */
.schilo-acc-tone--brun     { --acc-c: #8a5a2b; --acc-dark: #5e3c1b; --acc-light: #f6e7d6; }
.schilo-acc-tone--olive    { --acc-c: #5b6b2f; --acc-dark: #3d4820; --acc-light: #e9eed8; }
.schilo-acc-tone--prune    { --acc-c: #7a3e6e; --acc-dark: #532a4b; --acc-light: #f3e2ef; }
.schilo-acc-tone--sarcelle { --acc-c: #2f5d6b; --acc-dark: #1f3f49; --acc-light: #dcecf0; }
.schilo-acc-tone--rouille  { --acc-c: #9a5414; --acc-dark: #6a390d; --acc-light: #f8e6d6; }
.schilo-acc-tone--violet   { --acc-c: #5a2a82; --acc-dark: #3d1c59; --acc-light: #ebe2f4; }

.schilo-acc-pale--mat  { background: #fce8e8; color: #8a0000; }
.schilo-acc-pale--marc { background: #d0efda; color: #0f490f; }
.schilo-acc-pale--luc  { background: #e2eefb; color: #1d5fb5; }
.schilo-acc-pale--jean { background: #f0ecc0; color: #484204; }

/* ── 1. Bandeau ── */
.schilo-acc-hero { background: #1e2a3a; color: #fff; }

.schilo-acc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 48px;
  align-items: center;
  padding: 72px 0 44px;
}

.schilo-acc-hero__content { display: flex; flex-direction: column; gap: 22px; min-width: 0; }

.schilo-acc-hero__eyebrow {
  align-self: flex-start;
  padding: 6px 12px;
  border-radius: 99px;
  background: rgba(110, 168, 254, .14);
  color: #a9c9ff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.schilo-acc-hero__title {
  margin: 0;
  font-family: var(--schilo-font-serif);
  font-weight: 500;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1.08;
  color: #fff;
}

.schilo-acc-hero__title em { color: #6ea8fe; }

.schilo-acc-hero__description { margin: 0; max-width: 560px; font-size: 17px; line-height: 1.6; color: #c3cbd6; }

.schilo-acc-search {
  display: flex;
  gap: 8px;
  max-width: 620px;
  padding: 6px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .25);
}

.schilo-acc-search input {
  flex: 1;
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  font-size: 15px;
  color: #1a2230;
}

.schilo-acc-search button {
  height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 12px;
  background: #1d5fb5;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.schilo-acc-search button:hover { background: #0e3f88; }
.schilo-acc-search:focus-within { box-shadow: 0 0 0 3px #6ea8fe, 0 12px 32px rgba(0, 0, 0, .25); }

.schilo-acc-hero__advanced { align-self: flex-start; color: #a9c9ff !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.schilo-acc-hero__advanced:hover { text-decoration: underline; }

.schilo-acc-verse {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  border-radius: 20px;
  background: #273548;
  border: 1px solid rgba(255, 255, 255, .08);
}

.schilo-acc-verse__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.schilo-acc-verse__eyebrow { font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #a9c9ff; }
.schilo-acc-verse__date { color: #a3abb6; }
.schilo-acc-verse blockquote { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--schilo-font-serif); font-style: italic; font-size: 23px; line-height: 1.45; color: #fff; }
.schilo-acc-verse__ref { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #c3cbd6; }
.schilo-acc-verse__badge { padding: 3px 10px; border-radius: 99px; background: var(--acc-c); color: #fff; font-size: 12px; font-weight: 600; }
.schilo-acc-verse__reflection { margin: 0; font-size: 14px; line-height: 1.6; color: #c3cbd6; }
.schilo-acc-verse__link { align-self: flex-start; padding: 10px 16px; border-radius: 10px; background: #fff; color: #1e2a3a !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.schilo-acc-verse__link:hover { background: #e2eefb; }

.schilo-acc-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 28px 0 88px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.schilo-acc-stat { display: flex; flex-direction: column-reverse; gap: 4px; }
.schilo-acc-stat dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #a3abb6; }
.schilo-acc-stat dd { margin: 0; font-family: var(--schilo-font-serif); font-size: 36px; font-weight: 600; color: #fff; }

/* ── 2. Portes d'entrée ── */
.schilo-acc-entries {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: -40px;
}

.schilo-acc-entry {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 26px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dde2ea;
  box-shadow: 0 6px 20px rgba(30, 42, 58, .08);
  color: #1a2230 !important;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.schilo-acc-entry:hover, .schilo-acc-entry:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(30, 42, 58, .14); }
.schilo-acc-entry__icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.schilo-acc-entry__eyebrow { font-size: 13px; font-weight: 600; color: #5f6b7d; }
.schilo-acc-entry__title { font-family: var(--schilo-font-serif); font-size: 22px; font-weight: 600; }
.schilo-acc-entry__text { font-size: 14px; line-height: 1.55; color: #556070; }
.schilo-acc-entry__link { margin-top: auto; font-size: 14px; font-weight: 600; color: #1d5fb5; }

/* ── Titres de rubrique ── */
.schilo-acc-block { padding-top: 72px; }

.schilo-acc-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.schilo-acc-heading h2 { margin: 0; font-family: var(--schilo-font-serif); font-weight: 500; font-size: 34px; color: #1a2230; }
.schilo-acc-heading__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1d5fb5; }
.schilo-acc-heading__intro { margin: 8px 0 0; font-size: 14px; color: #5f6b7d; }
.schilo-acc-heading > a, .schilo-acc-panel__head > a { font-size: 14px; font-weight: 600; color: #1d5fb5 !important; text-decoration: none; white-space: nowrap; }
.schilo-acc-heading > a:hover, .schilo-acc-panel__head > a:hover { text-decoration: underline; }

/* ── 3. Les quatre Évangiles ── */
.schilo-acc-gospels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.schilo-acc-gospel {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 150px;
  padding: 22px;
  border-radius: 16px;
  background: var(--acc-c);
  color: #fff !important;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.schilo-acc-gospel:hover, .schilo-acc-gospel:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(30, 42, 58, .25); }
.schilo-acc-gospel__name { font-family: var(--schilo-font-serif); font-size: 28px; font-weight: 600; }
.schilo-acc-gospel__count { font-size: 14px; color: var(--acc-light); }
.schilo-acc-gospel__link { margin-top: auto; font-size: 14px; font-weight: 600; }
/* 3.40.0 (demande d'Eric) : chaque Évangile sur le fond pâle de sa couleur dans la charte, texte dans sa teinte foncée
   (comme les encadrés de versets des articles). */
.schilo-acc-gospel.schilo-acc-tone--mat  { background: var(--schilo-mat-pale, #fce8e8);  color: var(--schilo-mat-dark, #8a0000) !important;  border: 1px solid var(--schilo-mat-border, #e8b0b0); }
.schilo-acc-gospel.schilo-acc-tone--marc { background: var(--schilo-marc-pale, #d0efda); color: var(--schilo-marc-dark, #083008) !important; border: 1px solid var(--schilo-marc-border, #88c898); }
.schilo-acc-gospel.schilo-acc-tone--luc  { background: var(--schilo-luc-pale, #c8d0f0);  color: var(--schilo-luc-dark, #060c55) !important;  border: 1px solid var(--schilo-luc-border, #a0b0e8); }
.schilo-acc-gospel.schilo-acc-tone--jean { background: var(--schilo-jean-pale, #fff8d6); color: var(--schilo-jean-dark, #2e2a02) !important; border: 1px solid var(--schilo-jean-border, #c8c080); }
.schilo-acc-gospel .schilo-acc-gospel__count { color: inherit; }

/* ── 3 bis. Rubriques : carrousel ── */
.schilo-acc-rail__nav { display: flex; gap: 8px; }

.schilo-acc-rail__btn {
  width: 44px;
  height: 44px;
  border: 1px solid #dde2ea;
  border-radius: 50%;
  background: #fff;
  color: #1a2230;
  font-size: 20px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease;
}

.schilo-acc-rail__btn:hover, .schilo-acc-rail__btn:focus-visible { border-color: #1d5fb5; background: #e2eefb; }

/* Carrousel Splide : la bibliothèque déplace la liste ; on règle la place de chaque carte. */
.schilo-acc-rail .splide__track { padding: 6px 2px 14px; }
.schilo-acc-rail .splide__slide { width: 260px; display: flex; }
.schilo-acc-rail.is-draggable .splide__track { cursor: grab; }

.schilo-acc-rubric {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 188px;
  padding: 22px 20px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dde2ea;
  overflow: hidden;
  color: #1a2230 !important;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}

/* Bande de couleur en haut, qui s'élargit au survol. */
.schilo-acc-rubric::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--acc-c); transition: height .3s ease; }
.schilo-acc-rubric:hover, .schilo-acc-rubric:focus-visible { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(30, 42, 58, .14); }
.schilo-acc-rubric:hover::before, .schilo-acc-rubric:focus-visible::before { height: 10px; }

.schilo-acc-rubric__letter {
  position: absolute;
  right: -6px;
  bottom: -24px;
  font-family: var(--schilo-font-serif);
  font-size: 120px;
  line-height: 1;
  color: var(--acc-c);
  opacity: .08;
  pointer-events: none;
}

.schilo-acc-rubric__name { font-family: var(--schilo-font-serif); font-size: 20px; font-weight: 600; line-height: 1.2; }
.schilo-acc-rubric__desc { font-size: 13px; line-height: 1.5; color: #556070; }
.schilo-acc-rubric__count { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--acc-dark); }
.schilo-acc-tone--night .schilo-acc-rubric__count, .schilo-acc-tone--luc .schilo-acc-rubric__count { color: var(--acc-c); }

/* ── 4. Études au hasard et parcours ── */
.schilo-acc-duo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: start; }

.schilo-acc-panel { padding: 26px; border-radius: 18px; background: #fff; border: 1px solid #dde2ea; }
.schilo-acc-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.schilo-acc-panel__head h2 { margin: 0; font-family: var(--schilo-font-serif); font-weight: 500; font-size: 26px; color: #1a2230; }
.schilo-acc-panel__intro { margin: 4px 0 6px; font-size: 13px; color: #5f6b7d; }

.schilo-acc-suggest__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #dde2ea;
  border-radius: 99px;
  background: #fff;
  color: #1d5fb5;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.schilo-acc-suggest__more:hover { border-color: #1d5fb5; }
.schilo-acc-suggest__more[hidden] { display: none; }

.schilo-acc-suggest__list { list-style: none; margin: 0; padding: 0; }
.schilo-acc-suggest__list li { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid #edf0f4; }
.schilo-acc-suggest__list li[hidden] { display: none; }
.schilo-acc-suggest__code { flex-shrink: 0; width: 64px; height: fit-content; padding: 4px 0; border-radius: 8px; background: #e2eefb; color: #0e3f88; font-size: 12px; font-weight: 700; text-align: center; }
.schilo-acc-suggest__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.schilo-acc-suggest__body a { color: #1a2230 !important; font-weight: 600; text-decoration: none; }
.schilo-acc-suggest__body a:hover { color: #1d5fb5 !important; text-decoration: underline; }
.schilo-acc-suggest__body span { font-size: 12px; color: #5f6b7d; }

/* Parcours : lignes de métro */
.schilo-acc-lines { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }

.schilo-acc-line {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 80px;
  align-items: center;
  gap: 14px;
  padding: 10px 8px;
  border-radius: 12px;
  color: #1a2230 !important;
  text-decoration: none;
  transition: background .2s ease;
}

.schilo-acc-line--luc { --c: #0a137e; } .schilo-acc-line--mat { --c: #d71f1f; } .schilo-acc-line--marc { --c: #0f490f; }
.schilo-acc-line--jean { --c: #484204; } .schilo-acc-line--night { --c: #1e2a3a; } .schilo-acc-line--accent { --c: #1d5fb5; }
.schilo-acc-line--brun { --c: #8a5a2b; } .schilo-acc-line--olive { --c: #5b6b2f; } .schilo-acc-line--prune { --c: #7a3e6e; }
.schilo-acc-line--sarcelle { --c: #2f5d6b; } .schilo-acc-line--rouille { --c: #9a5414; } .schilo-acc-line--violet { --c: #5a2a82; }

.schilo-acc-line:hover, .schilo-acc-line:focus-visible { background: #f4f6f9; }
.schilo-acc-line__name { font-size: 14px; font-weight: 600; line-height: 1.25; }
.schilo-acc-line__track { position: relative; display: flex; align-items: center; justify-content: space-between; height: 20px; }
.schilo-acc-line__track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 6px; margin-top: -3px; border-radius: 3px; background: var(--c); transition: height .2s ease, margin-top .2s ease; }
.schilo-acc-line:hover .schilo-acc-line__track::before, .schilo-acc-line:focus-visible .schilo-acc-line__track::before { height: 10px; margin-top: -5px; }
.schilo-acc-line__stop { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px var(--c); transition: transform .2s ease; }
.schilo-acc-line:hover .schilo-acc-line__stop, .schilo-acc-line:focus-visible .schilo-acc-line__stop { transform: scale(1.35); }
.schilo-acc-line__start, .schilo-acc-line__end { position: relative; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px var(--c); }
.schilo-acc-line__end { background: var(--c); box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--c); }
.schilo-acc-line__count { font-size: 12px; font-weight: 700; color: #556070; text-align: right; }

/* ── 5. Bibliothèque ── */
.schilo-acc-library {
  padding: 40px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #dde2ea;
  box-shadow: 0 10px 30px rgba(30, 42, 58, .06);
}

/* Thèmes : fichier de bibliothèque à tiroirs */
/* Autant de tiroirs que de thèmes réglés : le gabarit calcule le nombre de colonnes (--cols) pour des rangées
   équilibrées de six au plus ; les étiquettes s'adaptent à la largeur de chaque tiroir. */
.schilo-acc-cabinet {
  display: grid;
  grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
  gap: 14px;
  padding: 16px 16px 30px;
  border-radius: 14px;
  background: #1e2a3a;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .06), 0 12px 28px rgba(30, 42, 58, .18);
}

.schilo-acc-drawer { position: relative; display: block; height: 104px; color: #1a2230 !important; text-decoration: none; container-type: inline-size; }
.schilo-acc-drawer__cards { position: absolute; left: 14px; right: 14px; top: 6px; height: 40px; opacity: 0; transform: translateY(14px); transition: opacity .3s ease, transform .35s cubic-bezier(.2, .7, .2, 1); }
.schilo-acc-drawer__cards span { position: absolute; left: 0; right: 0; height: 40px; border-radius: 4px 4px 0 0; background: #fffdf6; box-shadow: 0 -1px 0 #e6dcc6; }
.schilo-acc-drawer__cards span:nth-child(1) { top: 0; left: 8px; right: 22px; }
.schilo-acc-drawer__cards span:nth-child(2) { top: 6px; left: 2px; right: 12px; background: #f7f3ea; }
.schilo-acc-drawer__cards span:nth-child(3) { top: 12px; background: #efe8d8; }

.schilo-acc-drawer__front {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  background: linear-gradient(#f7f3ea, #ece3cf);
  box-shadow: inset 0 0 0 1px #d8cdb4, inset 0 -6px 0 rgba(0, 0, 0, .06), 0 2px 0 rgba(0, 0, 0, .25);
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease;
}

.schilo-acc-drawer__label { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 70%; padding: 6px 10px; border: 2px solid #b9a983; border-radius: 4px; background: #fffdf6; text-align: center; line-height: 1.2; }
.schilo-acc-drawer__label strong { font-family: var(--schilo-font-serif); font-size: clamp(12px, 8cqi, 15px); font-weight: 600; }
.schilo-acc-drawer__label span { font-size: 11px; color: #5f6b7d; }
.schilo-acc-drawer__handle { width: 44px; height: 9px; border-radius: 0 0 9px 9px; background: linear-gradient(#cdbb8c, #9c8650); box-shadow: 0 2px 3px rgba(0, 0, 0, .3); }
.schilo-acc-drawer:hover .schilo-acc-drawer__front, .schilo-acc-drawer:focus-visible .schilo-acc-drawer__front { transform: translateY(22px) scale(1.04); box-shadow: inset 0 0 0 1px #d8cdb4, inset 0 -6px 0 rgba(0, 0, 0, .06), 0 14px 22px rgba(0, 0, 0, .35); z-index: 2; }
.schilo-acc-drawer:hover .schilo-acc-drawer__cards, .schilo-acc-drawer:focus-visible .schilo-acc-drawer__cards { opacity: 1; transform: translateY(0); }
.schilo-acc-drawer--more .schilo-acc-drawer__label { border-style: dashed; }
.schilo-acc-drawer--more .schilo-acc-drawer__label strong { color: #1d5fb5; }

/* Séries : livres en relief qui s'ouvrent */
.schilo-acc-series { margin-top: 44px; padding-top: 32px; border-top: 1px solid #edf0f4; }

/* Autant de livres que réglé dans l'administration, toujours sur une seule étagère : chaque livre prend sa part de
   la largeur (180 px au plus) ; titres et textes s'adaptent à la largeur du livre. */
.schilo-acc-shelf {
  container: shelf / inline-size;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(12px, 2.2vw, 30px);
  padding: 20px 18px 26px;
  perspective: 1800px;
  background: linear-gradient(#fff 0 calc(100% - 12px), #d8cdb4 calc(100% - 12px));
  border-radius: 0 0 6px 6px;
}

.schilo-acc-book { position: relative; display: block; flex: 1 1 0; min-width: 0; max-width: 190px; color: #fff !important; text-decoration: none; outline-offset: 6px; container-type: inline-size; }
.schilo-acc-book:hover, .schilo-acc-book:focus-visible, .schilo-acc-book.is-open { z-index: 2; }
.schilo-acc-book__body { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateY(24deg); transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.schilo-acc-book__back, .schilo-acc-book__cover, .schilo-acc-book__front, .schilo-acc-book__verso { position: absolute; inset: 0; border-radius: 3px 10px 10px 3px; box-sizing: border-box; }
.schilo-acc-book__back { background: var(--acc-c); transform: translateZ(-10px); box-shadow: 16px 18px 26px rgba(30, 42, 58, .35); }

.schilo-acc-book__inside {
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 3px;
  right: 7px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 14px 14px 20px;
  /* Une page n'est jamais plate : coins arrondis en ellipse, creux vers la reliure (ombre et lumière en courbe),
     et la tranche des pages qui dépasse à droite. */
  border-radius: 2px 12px 12px 2px / 2px 22px 22px 2px;
  transform: translateZ(7px);
  background:
    linear-gradient(90deg, rgba(60, 40, 10, .22) 0%, rgba(60, 40, 10, .07) 9%, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, .5) 70%, rgba(60, 40, 10, .06) 100%),
    repeating-linear-gradient(#fffdf6 0 21px, #f1ebdc 21px 22px);
  box-shadow: 1px 0 0 #efe8d8, 2px 1px 0 #e3d9c3, 3px 1px 0 #efe8d8, 4px 2px 0 #ddd2ba, 6px 4px 10px rgba(30, 42, 58, .18);
  color: #1a2230;
  font-size: 12px;
  line-height: 1.45;
  overflow: hidden;
}

.schilo-acc-book__inside strong { font-family: var(--schilo-font-serif); font-size: clamp(12px, 10cqi, 15px); line-height: 1.2; }
/* La présentation tient en quelques lignes : le nombre de fiches et « Entrer dans la série » restent visibles. */
.schilo-acc-book__inside > span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
.schilo-acc-book__inside em { font-style: normal; color: #5f6b7d; }
.schilo-acc-book__inside b { margin-top: auto; color: #1d5fb5; font-size: 13px; }

.schilo-acc-book__spine { position: absolute; left: 0; top: 0; width: 20px; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--acc-dark); transform-origin: left center; transform: translateZ(10px) rotateY(90deg); box-shadow: inset -4px 0 6px rgba(0, 0, 0, .25); }
.schilo-acc-book__spine span { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }

.schilo-acc-book__cover { transform-origin: left center; transform: translateZ(10px); transform-style: preserve-3d; transition: transform .9s cubic-bezier(.3, .8, .25, 1); }

/* Feuillet qui se soulève derrière la couverture, avec un temps de retard : l'ouverture paraît naturelle. */
.schilo-acc-book__leaf {
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 3px;
  right: 9px;
  border-radius: 2px 14px 14px 2px / 2px 26px 26px 2px;
  background: linear-gradient(90deg, rgba(60, 40, 10, .16) 0%, #fffdf6 18%, #f6f0e2 100%);
  box-shadow: 2px 2px 8px rgba(30, 42, 58, .15);
  transform-origin: left center;
  transform: translateZ(8px);
  transition: transform .9s cubic-bezier(.3, .8, .25, 1) .08s;
  pointer-events: none;
}
.schilo-acc-book__front { display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 16px 14px 16px 18px; background: var(--acc-c); backface-visibility: hidden; box-shadow: inset 7px 0 0 rgba(0, 0, 0, .22), inset 9px 0 0 rgba(255, 255, 255, .12); }
.schilo-acc-book__title { font-family: var(--schilo-font-serif); font-size: clamp(13px, 11cqi, 19px); line-height: 1.2; hyphens: auto; -webkit-hyphens: auto; }
/* Écran étroit : on retire les livres qui ne tiendraient plus à 140 px de large, écarts de 22 px compris (le lien « Les N séries » mène à tous). */
@container shelf (max-width: 1921px) { .schilo-acc-book:nth-child(n+12) { display: none; } }
@container shelf (max-width: 1759px) { .schilo-acc-book:nth-child(n+11) { display: none; } }
@container shelf (max-width: 1597px) { .schilo-acc-book:nth-child(n+10) { display: none; } }
@container shelf (max-width: 1435px) { .schilo-acc-book:nth-child(n+9) { display: none; } }
@container shelf (max-width: 1273px) { .schilo-acc-book:nth-child(n+8) { display: none; } }
@container shelf (max-width: 1111px) { .schilo-acc-book:nth-child(n+7) { display: none; } }
@container shelf (max-width: 949px) { .schilo-acc-book:nth-child(n+6) { display: none; } }
@container shelf (max-width: 787px) { .schilo-acc-book:nth-child(n+5) { display: none; } }
@container shelf (max-width: 625px) { .schilo-acc-book:nth-child(n+4) { display: none; } }
@container shelf (max-width: 463px) { .schilo-acc-book:nth-child(n+3) { display: none; } }
/* Deux livres au moins, même sur un petit téléphone : ils peuvent y descendre à 110 px. */
@container shelf (max-width: 241px) { .schilo-acc-book:nth-child(n+2) { display: none; } }

/* Livre étroit (beaucoup de séries) : la page intérieure garde le titre, le nombre et le lien. */
@container (max-width: 120px) {
  .schilo-acc-book__inside { font-size: 11px; padding: 12px 8px 10px 12px; }
  .schilo-acc-book__inside > span { display: none; }
  .schilo-acc-book__front { padding: 12px 8px 12px 12px; }
}
.schilo-acc-book__count { font-size: 12px; color: var(--acc-light); }
/* Médaillon du site en haut à droite de la couverture, comme une marque d'éditeur dorée. */
.schilo-acc-book__logo { position: absolute; top: 12px; right: 12px; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1.5px solid #cdbb8c; color: #e8d9a8; background: rgba(0, 0, 0, .14); font-size: 14px; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .12); }
.schilo-acc-book__verso { background: var(--acc-c); transform: rotateY(180deg); backface-visibility: hidden; }
.schilo-acc-book__verso span { position: absolute; top: 7px; bottom: 7px; left: 7px; right: 3px; border-radius: 12px 2px 2px 12px / 22px 2px 2px 22px; background: linear-gradient(270deg, rgba(60, 40, 10, .2) 0%, rgba(60, 40, 10, .05) 12%, #efe8d8 30%, #e9e1cf 100%); }

.schilo-acc-book:hover .schilo-acc-book__body, .schilo-acc-book:focus-visible .schilo-acc-book__body, .schilo-acc-book.is-open .schilo-acc-book__body { transform: rotateY(4deg) translateZ(30px); }
.schilo-acc-book:hover .schilo-acc-book__cover, .schilo-acc-book:focus-visible .schilo-acc-book__cover, .schilo-acc-book.is-open .schilo-acc-book__cover { transform: translateZ(10px) rotateY(-150deg); }
.schilo-acc-book:hover .schilo-acc-book__leaf, .schilo-acc-book:focus-visible .schilo-acc-book__leaf, .schilo-acc-book.is-open .schilo-acc-book__leaf { transform: translateZ(9px) rotateY(-141deg); }

/* ── 6. Nouvelles études par e-mail ── */
.schilo-acc-newsletter-wrap { padding-bottom: 72px; }

.schilo-acc-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  padding: 36px;
  border-radius: 22px;
  background: #1e2a3a;
  color: #fff;
}

.schilo-acc-newsletter__eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a9c9ff; }
.schilo-acc-newsletter__title { margin: 0; font-family: var(--schilo-font-serif); font-size: 26px; line-height: 1.3; }
.schilo-acc-newsletter__form { display: flex; flex-direction: column; gap: 10px; }
.schilo-acc-newsletter__form label { font-size: 14px; font-weight: 600; }
.schilo-acc-newsletter__form > span { display: flex; gap: 8px; }
.schilo-acc-newsletter__form input[type="email"] { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border-radius: 10px; border: 0; font: inherit; font-size: 15px; color: #1a2230; }
.schilo-acc-newsletter__form button { height: 46px; padding: 0 18px; border: 0; border-radius: 10px; background: #6ea8fe; color: #0b1a33; font: inherit; font-weight: 700; cursor: pointer; }
.schilo-acc-newsletter__form button:hover { background: #a9c9ff; }
.schilo-acc-newsletter__form small { font-size: 12px; color: #a3abb6; }

/* Mouvements réduits : ni fondus ni bascules. */
@media (prefers-reduced-motion: reduce) {
  .home [class*="schilo-acc-"] { transition: none !important; }
}

/* ── Tablettes ── */
@media (max-width: 1080px) {
  .schilo-acc-line { grid-template-columns: 150px minmax(0, 1fr) 70px; }
  .schilo-acc-cabinet { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
}

@media (max-width: 960px) {
  .schilo-acc-hero__grid { grid-template-columns: minmax(0, 1fr); padding-top: 40px; }
  .schilo-acc-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-bottom: 72px; }
  .schilo-acc-entries { grid-template-columns: minmax(0, 1fr); }
  .schilo-acc-gospels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .schilo-acc-duo { grid-template-columns: minmax(0, 1fr); }
  .schilo-acc-newsletter { grid-template-columns: minmax(0, 1fr); }
}

/* ── Téléphones ── */
@media (max-width: 640px) {
  .schilo-acc-hero__description { font-size: 15px; }
  .schilo-acc-search button { padding: 0 14px; }
  .schilo-acc-verse { padding: 20px; }
  .schilo-acc-verse blockquote { font-size: 19px; }
  .schilo-acc-stat dd { font-size: 24px; }
  .schilo-acc-stat dt { font-size: 10px; }
  .schilo-acc-block { padding-top: 40px; }
  .schilo-acc-heading h2 { font-size: 26px; }
  .schilo-acc-gospel { min-height: 110px; padding: 16px; }
  .schilo-acc-gospel__name { font-size: 22px; }
  .schilo-acc-panel, .schilo-acc-library { padding: 18px 14px; }
  .schilo-acc-line { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; padding: 12px 4px; }
  .schilo-acc-line__track { grid-column: 1 / -1; grid-row: 2; }
  .schilo-acc-cabinet { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px 12px 30px; }
  .schilo-acc-drawer { height: 92px; }
  /* Étagère : un livre s'ouvre au premier toucher (home.js). */
  .schilo-acc-shelf { gap: 22px; padding: 20px 6px 26px; }
  .schilo-acc-newsletter { padding: 22px; }
  .schilo-acc-newsletter__form > span { flex-direction: column; }
  .schilo-acc-rail .splide__slide { width: min(78vw, 300px); }
  .schilo-acc-rail__btn[data-rail] { display: none; }
}

/* 3.40.0 (demande d'Eric) : un livre à la couleur d'un Évangile (l'Évangile le plus cité de la série) prend sa teinte
   pâle de la charte, texte dans sa teinte foncée, comme les Évangiles de l'accueil, des articles et des 66 livres. */
.schilo-acc-book.schilo-acc-tone--mat  { --bk-pale: var(--schilo-mat-pale, #fce8e8);  --bk-ink: var(--schilo-mat-dark, #8a0000);  --bk-edge: var(--schilo-mat-border, #e8b0b0); }
.schilo-acc-book.schilo-acc-tone--marc { --bk-pale: var(--schilo-marc-pale, #d0efda); --bk-ink: var(--schilo-marc-dark, #083008); --bk-edge: var(--schilo-marc-border, #88c898); }
.schilo-acc-book.schilo-acc-tone--luc  { --bk-pale: var(--schilo-luc-pale, #c8d0f0);  --bk-ink: var(--schilo-luc-dark, #060c55);  --bk-edge: var(--schilo-luc-border, #a0b0e8); }
.schilo-acc-book.schilo-acc-tone--jean { --bk-pale: var(--schilo-jean-pale, #fff8d6); --bk-ink: var(--schilo-jean-dark, #2e2a02); --bk-edge: var(--schilo-jean-border, #c8c080); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) { color: var(--bk-ink) !important; }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) :is(.schilo-acc-book__front, .schilo-acc-book__back, .schilo-acc-book__verso) { background: var(--bk-pale); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) .schilo-acc-book__front { box-shadow: inset 7px 0 0 var(--bk-edge), inset 0 0 0 1px var(--bk-edge); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) .schilo-acc-book__spine { background: var(--bk-edge); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) .schilo-acc-book__spine span { color: var(--bk-ink); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) .schilo-acc-book__count { color: var(--bk-ink); }
.schilo-acc-book:is(.schilo-acc-tone--mat, .schilo-acc-tone--marc, .schilo-acc-tone--luc, .schilo-acc-tone--jean) .schilo-acc-book__logo { border-color: var(--bk-ink); color: var(--bk-ink); background: rgba(255, 255, 255, .5); }
/* Le lien « Entrer dans la série » de la page intérieure, à la teinte du livre. */
.schilo-acc-book__inside b { color: var(--bk-ink, var(--acc-dark, #0e3f88)); }

/* ── Parole d'ami : la lettre du jour (un article PDA par jour), tampon et paroles lues ── */
.schilo-acc-letter { display: grid; grid-template-columns: minmax(0, 1fr) 190px; overflow: hidden; border: 1px solid #e6d3bd; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(94, 60, 27, .08); }
.schilo-acc-letter__main { padding: 26px 30px; border-left: 6px solid #8a5a2b; }
.schilo-acc-letter__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; color: #8a5a2b; font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.schilo-acc-letter__ref { padding: 1px 10px; border-radius: 99px; background: #f6e7d6; color: #5e3c1b; }
.schilo-acc-letter__title { margin: 0 0 10px; font-family: var(--schilo-font-serif); font-size: 30px; font-weight: 600; line-height: 1.2; }
.schilo-acc-letter__title a { color: #1a2230; text-decoration: none; background: linear-gradient(#f6e7d6, #f6e7d6) no-repeat 0 92% / 0 35%; transition: background-size .3s ease; }
.schilo-acc-letter__title a:hover, .schilo-acc-letter__title a:focus-visible { background-size: 100% 35%; }
.schilo-acc-letter__excerpt { margin: 0 0 16px; color: #4a5160; font-size: 16px; line-height: 1.7; }
.schilo-acc-letter__link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border-radius: 99px; background: #8a5a2b; color: #fff; font-weight: 600; text-decoration: none; transition: background-color .2s ease, transform .2s ease; }
.schilo-acc-letter__link:hover, .schilo-acc-letter__link:focus-visible { background: #5e3c1b; color: #fff; transform: translateX(2px); }
.schilo-acc-letter__progress { margin-top: 18px; max-width: 520px; }
.schilo-acc-letter__progress[hidden] { display: none; }
.schilo-acc-letter__bar { height: 8px; overflow: hidden; border-radius: 99px; background: #f3ebe1; }
.schilo-acc-letter__bar span { display: block; width: 0; height: 100%; border-radius: 99px; background: #8a5a2b; transition: width .6s ease; }
.schilo-acc-letter__progress p { margin: 6px 0 0; color: #6b5a48; font-size: 13px; }
.schilo-acc-letter__side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; background: #f6e7d6; text-align: center; }
.schilo-acc-letter__stamp { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 108px; height: 108px; border: 3px dashed #8a5a2b; border-radius: 50%; color: #5e3c1b; font-size: 12px; transform: rotate(-8deg); transition: transform .4s ease; }
.schilo-acc-letter:hover .schilo-acc-letter__stamp { transform: rotate(4deg) scale(1.05); }
.schilo-acc-letter__stamp strong { font-family: var(--schilo-font-serif); font-size: 34px; font-weight: 600; line-height: 1; }
.schilo-acc-letter__next { color: #5e3c1b; font-size: 13px; font-weight: 600; }
.schilo-acc-letter.is-read .schilo-acc-letter__stamp { border-style: solid; background: #fff; }
@media (prefers-reduced-motion: reduce) {
  .schilo-acc-letter__stamp, .schilo-acc-letter__bar span, .schilo-acc-letter__link, .schilo-acc-letter__title a { transition: none; }
}
@media (max-width: 640px) {
  .schilo-acc-letter { grid-template-columns: 1fr; }
  .schilo-acc-letter__main { padding: 20px; }
  .schilo-acc-letter__title { font-size: 24px; }
  .schilo-acc-letter__side { flex-direction: row; justify-content: flex-start; padding: 14px 20px; }
  .schilo-acc-letter__stamp { width: 76px; height: 76px; }
  .schilo-acc-letter__stamp strong { font-size: 24px; }
}
