/* =========================================================================
   Das Stempelbuch — lieserpfad.info · peau « lsp- »
   Le carnet à tampons du Lieserpfad : toile de reliure verte, Büttenpapier,
   encre à tampon violette, filet d'or, bords perforés de carnet.
   Règle négative : l'or (--gold) est un filet de 1 px, jamais une surface ;
   le violet (--stempel) marque, il ne lave jamais un paragraphe.
   ========================================================================= */

/* ---- Fontes auto-hébergées ------------------------------------------- */
@font-face {
  font-family: 'lsp-titel';
  src: url('/heftung/lsp-titel.woff2') format('woff2');
  font-weight: 400 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC;
}
@font-face {
  font-family: 'lsp-titel';
  src: url('/heftung/lsp-titel-ext.woff2') format('woff2');
  font-weight: 400 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF;
}
@font-face {
  font-family: 'lsp-titel';
  src: url('/heftung/lsp-titel-it.woff2') format('woff2');
  font-weight: 400 900; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC;
}
@font-face {
  font-family: 'lsp-titel';
  src: url('/heftung/lsp-titel-it-ext.woff2') format('woff2');
  font-weight: 400 900; font-style: italic; font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF;
}
@font-face {
  font-family: 'lsp-texte';
  src: url('/heftung/lsp-texte.woff2') format('woff2');
  font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC;
}
@font-face {
  font-family: 'lsp-texte';
  src: url('/heftung/lsp-texte-ext.woff2') format('woff2');
  font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF;
}

/* ---- Jetons ------------------------------------------------------------ */
:root {
  --papier: #F4F0E4;      /* Büttenpapier, fond de page */
  --feuillet: #FCF9EF;    /* surface des Blätter */
  --aue: #E4E8D8;         /* prairie pâle, fonds alternés */
  --feder: #262E24;       /* encre de plume */
  --weich: #5E6252;       /* encre diluée */
  --leinen: #2B6B44;      /* toile de reliure verte : aplats */
  --leinen-tief: #1E4A30; /* toile ombrée */
  --stempel: #5F3A93;     /* encre à tampon violette : marques, liens */
  --stempel-tief: #4A2C77;/* tampon appuyé */
  --gold: #9A7B32;        /* filet d'or de reliure, 1 px seulement */
  --deckel: #1E2A1F;      /* intérieur de couverture, pied */
  --deckel-encre: #E9E6D2;/* encre claire sur couverture sombre */
  --lisere: #D8D0BA;      /* filets de page */
  --hf: var(--leinen);    /* fil de couture du Heft courant */

  --ft-titel: 'lsp-titel', Georgia, 'Times New Roman', serif;
  --ft-texte: 'lsp-texte', 'Segoe UI', 'Helvetica Neue', sans-serif;
  --ft-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;

  --mesure: 70ch;
  --pas: 1.5rem;
  --page-max: 74rem;
  --lire-max: 44rem;
  --rayon-blatt: 10px;
  --rayon-tafel: 6px;
  --rayon-knopf: 999px;
  --rayon-kasten: 14px;

  --ombre-feuillet: 0 1px 2px rgba(38, 46, 36, .10), 0 10px 26px -12px rgba(38, 46, 36, .22);
  --ombre-levee: 0 2px 4px rgba(38, 46, 36, .12), 0 18px 40px -16px rgba(30, 42, 31, .30);
  --ombre-tampon: 0 1px 0 rgba(252, 249, 239, .65) inset, 0 2px 6px rgba(95, 58, 147, .25);

  --tafel-quer: 3/2;
  --tafel-quadrat: 1/1;
  --tafel-band: 21/9;
}

/* Fils de couture des quatre Hefte */
[data-heft="etappen"] { --hf: #8A3B2E; }
[data-heft="orte"]    { --hf: #3E5E8C; }
[data-heft="wasser"]  { --hf: #2F6E6A; }
[data-heft="praxis"]  { --hf: #9A7030; }

/* ---- Base -------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
  margin: 0;
  background: var(--papier);
  color: var(--feder);
  font-family: var(--ft-texte);
  font-size: 1.0625rem;
  line-height: 1.66;
}
img { max-width: 100%; height: auto; display: block; }
picture { display: block; }

::selection { background: #C9B8E8; color: var(--feder); }

a { color: var(--stempel); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--stempel-tief); }
h1, h2, h3 { font-family: var(--ft-titel); line-height: 1.12; text-wrap: balance; }

.lsp-vorsprung {
  position: absolute; left: -9999px; top: .5rem;
  background: var(--stempel); color: var(--feuillet);
  padding: .6rem 1.2rem; border-radius: var(--rayon-knopf); z-index: 60;
}
.lsp-vorsprung:focus { left: .5rem; }

/* ---- Le Deckel : bandeau en toile de reliure ----------------------------- */
.lsp-deckel {
  background: var(--leinen);
  color: var(--feuillet);
  position: relative;
}
.lsp-deckel__rangee {
  max-width: var(--page-max); margin: 0 auto;
  display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap;
  padding: .9rem 1.4rem;
}
.lsp-zeichen {
  display: flex; align-items: center; gap: .8rem;
  color: var(--feuillet); text-decoration: none;
}
.lsp-zeichen__stempel {
  width: 2.9rem; height: 2.9rem; flex: 0 0 2.9rem;
  color: var(--feuillet);
  transform: rotate(-4deg);
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}
.lsp-zeichen__bild { width: 100%; height: 100%; }
.lsp-zeichen__wort { display: flex; flex-direction: column; line-height: 1.15; }
.lsp-zeichen__wort b {
  font-family: var(--ft-titel); font-weight: 800;
  font-size: 1.55rem; letter-spacing: .01em;
}
.lsp-zeichen__wort i {
  font-style: normal; font-size: .78rem; letter-spacing: .16em;
  text-transform: uppercase; opacity: .82;
}
.lsp-wegweiser { margin-left: auto; }
.lsp-wegweiser ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: .2rem;
}
.lsp-wegweiser a {
  color: var(--feuillet); text-decoration: none;
  font-size: .82rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  padding: .45rem .8rem; border-radius: var(--rayon-knopf);
  border: 1px solid transparent;
}
.lsp-wegweiser a:hover { background: rgba(252, 249, 239, .14); color: var(--feuillet); }
.lsp-wegweiser a[aria-current="page"] {
  background: var(--feuillet); color: var(--leinen-tief);
  border-color: var(--gold);
}
.lsp-deckel__gold {
  height: 4px;
  background: linear-gradient(90deg, var(--gold), #C9A85C 45%, var(--gold));
  box-shadow: 0 2px 4px rgba(30, 42, 31, .35);
}

/* ---- La couverture (deckblatt) ------------------------------------------ */
.lsp-deckblatt {
  max-width: var(--page-max); margin: 0 auto;
  padding: 2.6rem 1.4rem 0;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 2.6rem;
  align-items: center;
}
.lsp-deckblatt__wort { max-width: 38rem; }
.lsp-spiegel {
  margin: 0 0 .8rem;
  font-family: var(--ft-mono); font-size: .74rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--weich);
  display: flex; align-items: center; gap: .7rem;
}
.lsp-spiegel::before { content: ""; width: 2.4rem; height: 1px; background: var(--gold); }
.lsp-deckblatt__titel {
  margin: 0 0 1.1rem;
  font-size: clamp(2.7rem, 1.9rem + 3.4vw, 4.6rem);
  font-weight: 800; letter-spacing: -.015em; color: var(--feder);
}
.lsp-deckblatt__intro {
  margin: 0 0 1.6rem;
  font-family: var(--ft-titel); font-weight: 500;
  font-size: clamp(1.14rem, 1rem + .6vw, 1.32rem);
  line-height: 1.5; color: #39412F;
}
.lsp-deckblatt__intro strong { color: var(--leinen-tief); }
.lsp-deckblatt__sprung { margin: 0; }
.lsp-knopf {
  display: inline-block;
  background: var(--stempel); color: var(--feuillet);
  font-weight: 700; font-size: .92rem; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; padding: .8rem 1.6rem;
  border-radius: var(--rayon-knopf);
  box-shadow: var(--ombre-feuillet);
  border: 1px solid var(--stempel-tief);
}
.lsp-knopf:hover { background: var(--stempel-tief); color: var(--feuillet); box-shadow: var(--ombre-levee); }
.lsp-deckblatt__tafel {
  margin: 0; position: relative;
  border: 1px solid var(--gold);
  padding: .55rem;
  background: var(--feuillet);
  border-radius: var(--rayon-tafel);
  box-shadow: var(--ombre-levee);
  transform: rotate(.6deg);
}
.lsp-deckblatt__tafel img,
.lsp-deckblatt__tafel picture { aspect-ratio: var(--tafel-quer); width: 100%; }
.lsp-deckblatt__tafel img { object-fit: cover; border-radius: 3px; }
.lsp-deckblatt__tafel figcaption {
  font-size: .82rem; color: var(--weich); padding: .55rem .2rem .1rem;
  font-style: italic;
}
.lsp-nachweis { font-style: normal; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }

/* ---- La Streckenzeiger : règle Quelle → Mündung --------------------------- */
.lsp-zeiger {
  grid-column: 1 / -1;
  position: relative;
  margin: 2rem 0 .4rem;
  padding: 1.5rem 0 .2rem;
}
.lsp-zeiger__ende {
  position: absolute; top: 0;
  font-family: var(--ft-mono); font-size: .68rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--weich);
}
.lsp-zeiger__ende--quelle { left: 0; }
.lsp-zeiger__ende--mund { right: 0; }
.lsp-zeiger__lauf {
  position: relative; display: block; height: 3px;
  background: linear-gradient(90deg, var(--leinen) 0%, var(--leinen) 55%, var(--gold) 100%);
  border-radius: 2px;
  margin: 0 .2rem;
}
.lsp-zeiger__lauf::before, .lsp-zeiger__lauf::after {
  content: ""; position: absolute; top: -5px; width: 2px; height: 13px;
  background: var(--feder);
}
.lsp-zeiger__lauf::before { left: 0; }
.lsp-zeiger__lauf::after { right: 0; }
.lsp-zeiger__punkt {
  position: absolute; top: -6.5px; transform: translateX(-50%);
  width: 15px; height: 15px; border-radius: 51% 49% 50% 50%/49% 51% 48% 52%;
  background: var(--stempel);
  border: 2px solid var(--feuillet);
  box-shadow: var(--ombre-tampon);
}
.lsp-zeiger__punkt i {
  position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
  font-style: normal; font-family: var(--ft-mono); font-size: .68rem;
  color: var(--stempel); white-space: nowrap; font-weight: 700;
}
.lsp-zeiger__ganz {
  position: absolute; inset: -4px 0;
  background: repeating-linear-gradient(90deg, transparent 0 8.5%, rgba(95, 58, 147, .5) 8.5% 9.5%);
}
.lsp-zeiger--mini { margin: 1.2rem 0 .2rem; padding-top: 1.2rem; }
.lsp-zeiger--mini .lsp-zeiger__ende { color: rgba(233, 230, 210, .6); font-size: .6rem; }
.lsp-zeiger--mini .lsp-zeiger__lauf { background: linear-gradient(90deg, #5E8A68, var(--gold)); }
.lsp-zeiger--mini .lsp-zeiger__lauf::before,
.lsp-zeiger--mini .lsp-zeiger__lauf::after { background: var(--deckel-encre); }

/* ---- Sections : le Heft -------------------------------------------------- */
main > section, main > aside { max-width: var(--page-max); margin: 0 auto; padding: 0 1.4rem; }
.lsp-eintraege, .lsp-randnotizen, .lsp-heft, .lsp-blaetter, .lsp-fremde, .lsp-nebenblaetter { padding-top: 2.4rem; }

.lsp-heftkopf {
  border-top: 3px solid var(--hf, var(--leinen));
  border-bottom: 1px solid var(--gold);
  padding: .8rem 0 .7rem; margin-bottom: 1.6rem;
  display: flex; align-items: baseline; gap: 1.4rem; flex-wrap: wrap;
}
.lsp-heftkopf h2 {
  margin: 0; font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.15rem);
  font-weight: 700; color: var(--feder);
}
.lsp-heftkopf h2 a { color: inherit; text-decoration: none; }
.lsp-heftkopf h2 a:hover { color: var(--hf, var(--leinen)); }
.lsp-heftkopf p { margin: 0; color: var(--weich); font-size: .92rem; max-width: 46ch; }

/* ---- La une (anschlag) --------------------------------------------------- */
.lsp-anschlag {
  display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem;
  background: var(--feuillet);
  border-radius: var(--rayon-blatt);
  box-shadow: var(--ombre-levee);
  border: 1px solid var(--lisere);
  overflow: hidden;
  margin-bottom: 1.8rem;
}
.lsp-anschlag__tafel { position: relative; display: block; }
.lsp-anschlag__tafel img, .lsp-anschlag__tafel picture { width: 100%; height: 100%; aspect-ratio: var(--tafel-quer); object-fit: cover; }
.lsp-anschlag__eintrag { padding: 1.8rem 1.8rem 1.4rem .2rem; display: flex; flex-direction: column; }
.lsp-anschlag__titel { margin: .4rem 0 .8rem; font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.1rem); font-weight: 700; }
.lsp-anschlag__titel a { color: var(--feder); text-decoration: none; }
.lsp-anschlag__titel a:hover { color: var(--stempel); }
.lsp-anschlag__chapeau { margin: 0 0 1rem; color: #3E4534; font-size: 1.02rem; line-height: 1.55; }
.lsp-blatt__tag { margin: auto 0 0; font-family: var(--ft-mono); font-size: .72rem; color: var(--weich); letter-spacing: .1em; text-transform: uppercase; }

/* ---- Le tampon encré ------------------------------------------------------ */
.lsp-stempel {
  position: absolute; top: .9rem; right: .9rem;
  width: 4.6rem; height: 4.6rem;
  transform: rotate(-7deg);
  display: grid; place-items: center;
  color: var(--stempel);
  filter: drop-shadow(0 1px 1px rgba(38, 46, 36, .25));
}
.lsp-stempel__ring {
  position: absolute; inset: 0;
  border: 2.5px solid var(--stempel);
  border-radius: 51% 49% 50% 50%/49% 51% 48% 52%;
}
.lsp-stempel__ring::after {
  content: ""; position: absolute; inset: 4px;
  border: 1.5px solid var(--stempel); opacity: .7;
  border-radius: 49% 51% 52% 48%/52% 48% 50% 50%;
}
.lsp-stempel__txt {
  font-family: var(--ft-titel); font-weight: 700; font-size: .8rem;
  letter-spacing: .04em; color: var(--stempel);
  display: flex; align-items: baseline; gap: .15rem;
}
.lsp-stempel__txt b { font-size: 1.35rem; font-weight: 800; }
.lsp-stempel--nu { width: 3.6rem; height: 3.6rem; opacity: .92; transform: rotate(6deg); }
.lsp-stempel--nu .lsp-stempel__txt b { font-size: 1.05rem; }

/* ---- Les Blätter (cartes) ------------------------------------------------- */
.lsp-eintraege__gitter {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1.4rem;
}
.lsp-blatt {
  background: var(--feuillet);
  border: 1px solid var(--lisere);
  border-top: 3px solid var(--hf, var(--leinen));
  border-radius: var(--rayon-blatt);
  overflow: hidden;
  box-shadow: var(--ombre-feuillet);
  display: flex; flex-direction: column;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.lsp-blatt:hover { transform: translateY(-3px); box-shadow: var(--ombre-levee); }
.lsp-blatt__tafel { position: relative; display: block; }
.lsp-blatt__tafel img, .lsp-blatt__tafel picture { width: 100%; aspect-ratio: var(--tafel-quadrat); object-fit: cover; }
.lsp-blatt__eintrag { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.lsp-blatt__marke {
  margin: 0; display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
}
.lsp-cote {
  font-family: var(--ft-mono); font-size: .7rem; font-weight: 700;
  color: var(--stempel); letter-spacing: .08em;
  border: 1.5px solid var(--stempel); border-radius: 51% 49% 50% 50%/49% 51% 48% 52%;
  padding: .12rem .5rem;
}
.lsp-blatt__heft {
  font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--hf, var(--leinen)); text-decoration: none;
}
.lsp-blatt__heft:hover { color: var(--feder); }
.lsp-blatt__titel { margin: .15rem 0 0; font-size: 1.22rem; font-weight: 700; line-height: 1.2; }
.lsp-blatt__titel a { color: var(--feder); text-decoration: none; }
.lsp-blatt__titel a:hover { color: var(--stempel); }
.lsp-blatt__zweck { margin: 0; font-size: .9rem; color: var(--weich); line-height: 1.5; flex: 1; }

/* ---- Kurznotizen : fil dense ---------------------------------------------- */
.lsp-randnotizen__liste {
  list-style: none; margin: 0; padding: 0;
  columns: 2; column-gap: 2.6rem; column-rule: 1px solid var(--lisere);
}
.lsp-notiz { break-inside: avoid; }
.lsp-notiz__draht {
  display: flex; align-items: baseline; gap: .9rem;
  padding: .65rem .2rem; text-decoration: none;
  border-bottom: 1px dashed var(--lisere);
}
.lsp-notiz__draht:hover .lsp-notiz__titel { color: var(--stempel); }
.lsp-notiz__titel { color: var(--feder); font-weight: 600; font-size: .98rem; flex: 1; }
.lsp-notiz time { font-family: var(--ft-mono); font-size: .7rem; color: var(--weich); white-space: nowrap; }

/* ---- Les quatre Hefte ------------------------------------------------------ */
.lsp-heft__blaetter {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1.4rem;
}
.lsp-heft__verweis { margin: 1.2rem 0 0; }
.lsp-draht {
  font-family: var(--ft-mono); font-size: .8rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--hf, var(--leinen));
  text-decoration: none;
}
.lsp-draht:hover { color: var(--feder); }

/* ---- Bilan ---------------------------------------------------------------- */
.lsp-heft--bilanz .lsp-heftkopf { border-top-color: var(--leinen); }
.lsp-zahlen {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem;
}
.lsp-zahlen li {
  background: var(--aue);
  border-radius: var(--rayon-kasten);
  padding: 1.2rem 1.3rem;
  border-top: 3px solid var(--gold);
  box-shadow: var(--ombre-feuillet);
}
.lsp-zahlen b {
  display: block; font-family: var(--ft-titel); font-weight: 800;
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.5rem);
  font-variant-numeric: oldstyle-nums;
  color: var(--leinen-tief); line-height: 1.1;
}
.lsp-zahlen span { font-size: .8rem; color: var(--weich); letter-spacing: .04em; }

/* ---- Jahresblatt (encart saison) ------------------------------------------- */
.lsp-jahresblatt {
  margin-top: 2.4rem;
  background: var(--aue);
  border-radius: var(--rayon-kasten);
  padding: 1.6rem 1.8rem;
  border: 1px solid var(--lisere);
  position: relative;
}
.lsp-jahresblatt::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
  background: var(--leinen); border-radius: var(--rayon-kasten) 0 0 var(--rayon-kasten);
}
.lsp-jahresblatt h2 { margin: 0 0 .6rem; font-size: 1.4rem; color: var(--leinen-tief); }
.lsp-jahresblatt p { margin: 0; max-width: 66ch; }

/* ---- Réseau ---------------------------------------------------------------- */
.lsp-fremde .lsp-heftkopf { border-top-color: var(--stempel); }
.lsp-fremde__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 1.2rem; }
.lsp-fremde__blatt {
  background: var(--feuillet); border: 1px solid var(--lisere);
  border-radius: var(--rayon-blatt); padding: 1.1rem 1.3rem;
  box-shadow: var(--ombre-feuillet);
  position: relative;
}
.lsp-fremde__blatt::before {
  content: ""; position: absolute; left: -1px; top: 12%; bottom: 12%; width: 3px;
  background: var(--stempel); border-radius: 2px; opacity: .75;
}
.lsp-fremde__blatt p { margin: 0; font-size: .92rem; line-height: 1.55; }

/* ---- Fil d'Ariane ------------------------------------------------------------ */
.lsp-weg { max-width: var(--page-max); margin: 0 auto; padding: 1.1rem 1.4rem 0; }
.lsp-weg ol { list-style: none; margin: 0; padding: 0; display: flex; gap: .6rem; flex-wrap: wrap; font-size: .82rem; color: var(--weich); }
.lsp-weg li + li::before { content: "›"; margin-right: .6rem; color: var(--gold); }
.lsp-weg a { color: var(--weich); text-decoration: none; }
.lsp-weg a:hover { color: var(--stempel); }
.lsp-weg [aria-current] { color: var(--feder); font-weight: 600; }

/* ---- Page Heft (rubrique) ----------------------------------------------------- */
.lsp-heftaufschlag { max-width: var(--page-max); margin: 0 auto; padding: 1.6rem 1.4rem 0; }
.lsp-heftaufschlag h1 { margin: 0 0 .8rem; font-size: clamp(2.2rem, 1.7rem + 2.2vw, 3.4rem); font-weight: 800; }
.lsp-heftaufschlag__intro { margin: 0; max-width: 58ch; font-size: 1.08rem; color: #3E4534; }
.lsp-heftleiste {
  max-width: var(--page-max); margin: 1.6rem auto 0; padding: 0 1.4rem;
  display: flex; flex-wrap: wrap; gap: .6rem;
}
.lsp-hefttab {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .55rem 1.05rem; text-decoration: none;
  font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--weich); background: var(--feuillet);
  border: 1px solid var(--lisere); border-radius: var(--rayon-knopf);
}
.lsp-hefttab__faden { width: 1.4rem; height: 3px; background: var(--hf, var(--leinen)); border-radius: 2px; }
.lsp-hefttab:hover { color: var(--feder); box-shadow: var(--ombre-feuillet); }
.lsp-hefttab--hier { background: var(--hf, var(--leinen)); color: var(--feuillet); border-color: transparent; }
.lsp-hefttab--hier .lsp-hefttab__faden { background: var(--feuillet); }
.lsp-blaetter__gitter { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.4rem; }

/* ---- Page article : l'Eintrag ------------------------------------------------- */
.lsp-eintrag { max-width: var(--page-max); margin: 0 auto; padding: 1.4rem 1.4rem 0; }
.lsp-eintrag__kopf {
  display: flex; gap: 1.6rem; align-items: flex-start;
  border-bottom: 1px solid var(--gold); padding-bottom: 1.4rem;
}
.lsp-eintrag__kopf > .lsp-stempel { position: static; flex: 0 0 auto; width: 5.4rem; height: 5.4rem; margin-top: .4rem; }
.lsp-eintrag__zeile { flex: 1; min-width: 0; }
.lsp-eintrag h1 { margin: .5rem 0 .9rem; font-size: clamp(2rem, 1.5rem + 2.4vw, 3.3rem); font-weight: 800; letter-spacing: -.01em; }
.lsp-eintrag__chapeau {
  margin: 0 0 1rem; font-family: var(--ft-titel); font-style: italic; font-weight: 500;
  font-size: clamp(1.12rem, 1rem + .5vw, 1.28rem); line-height: 1.5; color: #39412F;
  max-width: 56ch;
}
.lsp-eintrag__meta { margin: 0; font-family: var(--ft-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--weich); }
.lsp-eintrag > .lsp-zeiger { margin-top: 1.4rem; }

.lsp-tafel {
  margin: 2.2rem 0 0;
  background: var(--feuillet);
  border: 1px solid var(--gold);
  padding: .6rem;
  border-radius: var(--rayon-tafel);
  box-shadow: var(--ombre-levee);
}
.lsp-tafel img, .lsp-tafel picture { width: 100%; aspect-ratio: var(--tafel-quer); object-fit: cover; border-radius: 3px; }
.lsp-tafel figcaption { padding: .6rem .3rem .15rem; font-size: .85rem; color: var(--weich); font-style: italic; }

.lsp-pult {
  display: grid; grid-template-columns: minmax(0, 1fr) 16.5rem;
  gap: 2.6rem; margin-top: 2.2rem; align-items: start;
}
.lsp-eintrag__leib { max-width: var(--lire-max); }
.lsp-eintrag__leib p { margin: 0 0 1.15rem; }
.lsp-eintrag__leib h2 {
  margin: 2.3rem 0 .9rem; font-size: 1.65rem; font-weight: 700;
  padding-top: .9rem; border-top: 1px solid var(--gold);
  display: flex; align-items: baseline; gap: .7rem;
}
.lsp-eintrag__leib h2::before {
  content: ""; flex: 0 0 .55rem; height: .55rem;
  background: var(--hf, var(--stempel));
  border-radius: 50% 48% 52% 50%/49% 52% 48% 51%;
  transform: translateY(-.05rem) rotate(-8deg);
}
.lsp-eintrag__leib h3 { margin: 1.7rem 0 .6rem; font-size: 1.22rem; font-weight: 700; }
.lsp-eintrag__leib ul, .lsp-eintrag__leib ol { margin: 0 0 1.15rem; padding-left: 1.4rem; }
.lsp-eintrag__leib li { margin-bottom: .35rem; }
.lsp-eintrag__leib blockquote {
  margin: 1.6rem 0; padding: .9rem 1.3rem;
  border-left: 4px solid var(--stempel);
  background: var(--aue); border-radius: 0 var(--rayon-blatt) var(--rayon-blatt) 0;
  font-family: var(--ft-titel); font-style: italic; font-size: 1.08rem;
}
.lsp-eintrag__leib table { width: 100%; border-collapse: collapse; margin: 1.4rem 0; font-size: .95rem; }
.lsp-eintrag__leib th, .lsp-eintrag__leib td { border: 1px solid var(--lisere); padding: .5rem .7rem; text-align: left; }
.lsp-eintrag__leib th { background: var(--aue); font-family: var(--ft-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.lsp-eintrag__leib a { font-weight: 600; }
.lsp-eintrag__leib img { border-radius: var(--rayon-tafel); }

/* Le Register : sommaire + sources + folio, collant */
.lsp-register { position: sticky; top: 1.2rem; display: flex; flex-direction: column; gap: 1.1rem; }
.lsp-register__kasten {
  background: var(--aue);
  border-radius: var(--rayon-kasten);
  border: 1px solid var(--lisere);
  padding: 1rem 1.15rem;
  box-shadow: var(--ombre-feuillet);
}
.lsp-register__titel {
  margin: 0 0 .7rem; font-family: var(--ft-mono); font-weight: 700;
  font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--leinen-tief);
  border-bottom: 1px solid var(--gold); padding-bottom: .5rem;
}
.lsp-register__liste { margin: 0; padding-left: 1.2rem; font-size: .88rem; }
.lsp-register__liste li { margin-bottom: .4rem; }
.lsp-register__liste a { color: var(--feder); text-decoration: none; }
.lsp-register__liste a:hover { color: var(--stempel); text-decoration: underline; }
.lsp-register__quellen { list-style: none; margin: 0; padding: 0; font-size: .82rem; }
.lsp-register__quellen li { margin-bottom: .45rem; }
.lsp-register__quellen a { word-break: break-word; }
.lsp-folio {
  margin: 0; font-family: var(--ft-mono); font-size: .7rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--weich); text-align: center;
  border-top: 1px solid var(--lisere); border-bottom: 1px solid var(--lisere);
  padding: .55rem 0;
}

/* ---- Blätter voisins ---------------------------------------------------------- */
.lsp-nebenblaetter { padding-bottom: 2rem; }
.lsp-blaetter__gitter--drei { grid-template-columns: repeat(3, 1fr); }

/* ---- Page de service ------------------------------------------------------------ */
.lsp-eintrag--stelle { max-width: var(--lire-max); }

/* ---- Le pied : intérieur de couverture -------------------------------------------- */
.lsp-ruecken { margin-top: 3.4rem; }
.lsp-perfor {
  height: 12px;
  background:
    radial-gradient(circle at 6px 6px, var(--papier) 2.6px, transparent 2.8px) 0 0/24px 12px repeat-x,
    var(--deckel);
}
.lsp-ruecken__innen { background: var(--deckel); color: var(--deckel-encre); }
.lsp-ruecken__gitter {
  max-width: var(--page-max); margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 2.4rem;
  padding: 2.4rem 1.4rem 1.6rem;
}
.lsp-ruecken__spalte h2 {
  margin: 0 0 .9rem; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase;
  font-family: var(--ft-mono); font-weight: 700; color: var(--gold);
  border-bottom: 1px solid rgba(154, 123, 50, .4); padding-bottom: .5rem;
}
.lsp-ruecken__spalte p { margin: 0 0 .8rem; font-size: .88rem; line-height: 1.6; color: rgba(233, 230, 210, .82); }
.lsp-ruecken__note { font-style: italic; color: rgba(233, 230, 210, .6) !important; font-size: .82rem !important; }
.lsp-ruecken__spalte ul { list-style: none; margin: 0; padding: 0; }
.lsp-ruecken__spalte li { margin-bottom: .45rem; }
.lsp-ruecken__spalte a { color: var(--deckel-encre); text-decoration: none; font-size: .9rem; }
.lsp-ruecken__spalte a:hover { color: #C9A85C; }
.lsp-ruecken__zeile {
  max-width: var(--page-max); margin: 0 auto; padding: 1rem 1.4rem 1.6rem;
  font-family: var(--ft-mono); font-size: .7rem; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(233, 230, 210, .5);
  border-top: 1px solid rgba(233, 230, 210, .15);
}

/* ---- 404 --------------------------------------------------------------------------- */
.lsp-heftaufschlag p a { font-weight: 600; }

/* ---- Responsive ----------------------------------------------------------------------- */
@media (max-width: 62rem) {
  .lsp-deckblatt { grid-template-columns: 1fr; gap: 1.8rem; }
  .lsp-anschlag { grid-template-columns: 1fr; }
  .lsp-anschlag__eintrag { padding: 1.4rem; }
  .lsp-pult { grid-template-columns: 1fr; }
  .lsp-register { position: static; }
  .lsp-zahlen { grid-template-columns: repeat(2, 1fr); }
  .lsp-blaetter__gitter--drei { grid-template-columns: 1fr; }
  .lsp-ruecken__gitter { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 42rem) {
  body { font-size: 1rem; }
  .lsp-deckel__rangee { padding: .8rem 1rem; gap: .9rem; }
  .lsp-wegweiser a { padding: .4rem .55rem; font-size: .74rem; }
  .lsp-randnotizen__liste { columns: 1; }
  .lsp-eintrag__kopf { flex-direction: column; }
  .lsp-zeiger { margin-left: .2rem; margin-right: .2rem; }
  .lsp-zeiger__punkt i { font-size: .62rem; }
}
