/*
Theme Name: Libertés & Droits Fondamentaux
Theme URI: https://libertesetdroitsfondamentaux.fr
Description: Thème éditorial de vulgarisation juridique : droits fondamentaux, libertés publiques, droit pénal du quotidien et successions expliqués simplement.
Author: Mathilde Vasseur
Template: astra
Version: 0.1.0
Text Domain: libertesdroits
Tags: custom-logo, threaded-comments, wide-blocks, translation-ready, blog, custom-menu
*/

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/ibm-plex-sans-condensed-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/source-serif-4-italic-400-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/source-serif-4-italic-400-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/source-serif-4-400-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/source-serif-4-400-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --support: #f6f3ec;
  --velin: #fbf9f4;
  --chamois: #ece6d8;
  --plume: #1a2132;
  --plume-pale: #575b66;
  --garance: #9e2b25;
  --garance-sombre: #7d211c;
  --trait: #d9d2c2;
  --laiton: #a8862f;

  --romain: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --etroite: "IBM Plex Sans Condensed", "Arial Narrow", sans-serif;

  
  --justif: 41rem;
  --glose: 8.5rem;
  --large: 74rem;
  --goutiere: clamp(16px, 4.5vw, 48px);

  
  --doigt: 44px;

  
  --trait-fort: #bdb5a3;
}

:where(:root) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; box-sizing: border-box; }
:where(:root) *, :where(:root) ::before, :where(:root) ::after { box-sizing: inherit; }
body.ld {
  margin: 0;
  font-family: var(--romain);
}
:where(body.ld) :where(img, video, svg, iframe) { max-width: 100%; }
:where(body.ld) :where(img, video) { height: auto; }
:where(body.ld) :where(figure) { margin: 0; }
:where(body.ld) :where(input, textarea, select) { font: inherit; max-width: 100%; }
:where(body.ld) :where(textarea) { width: 100%; }
:where(body.ld) :where(table) { border-collapse: collapse; width: 100%; }
:where(body.ld) .screen-reader-text:not(:focus) {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
:where(body.ld) .alignleft { float: left; margin: 0 1.5em 1em 0; }
:where(body.ld) .alignright { float: right; margin: 0 0 1em 1.5em; }
:where(body.ld) .aligncenter { display: block; margin-inline: auto; }
.ld-cadre {
  max-width: calc(var(--large) + 2 * var(--goutiere));
  margin-inline: auto;
  padding-inline: var(--goutiere);
}
.ld-main { min-height: 60vh; }

:where(.button, button, input:is([type="button"], [type="reset"], [type="submit"])) {
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: none;
  color: inherit;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}

.ld-champ {
  display: flex;
  align-items: stretch;
}
.ld-champ-saisie {
  flex: 1;
  min-width: 0;
  min-height: var(--doigt);
}
.ld-champ-ok {
  min-width: var(--doigt);
  padding: 0 1rem;
}
.ld-tiroir-fermer,
.ld-recherche-fermer,
.ld-entete-menu {
  width: var(--doigt);
  height: var(--doigt);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ld-entete-chercher {
  min-width: var(--doigt);
  min-height: var(--doigt);
  justify-content: center;
  padding: 0 .25rem;
}
:where(body.ld) .form-submit #submit {
  min-height: var(--doigt);
  padding: 0 1rem;
}

:where(body.ld) :where(h1, h2, h3, h4, h5, h6, a) { color: inherit; }
:where(body.ld) :where(a) { text-decoration-color: currentColor; }

body.ld {
  font-size: 1.0625rem;
  line-height: 1.6;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
:where(body.ld) :focus-visible { outline: 2px solid var(--garance); outline-offset: 2px; }
:where(body.ld) ::selection { background: #ead4c8; }
.ld-main { padding-bottom: 1px; }

.ld-surtitre {
  margin: 0 0 .75rem;
  font: 600 .8125rem/1.3 var(--etroite);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--garance);
}
.ld-intertitre {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.5rem;
  font: 600 .875rem/1.2 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ld-intertitre::after {
  content: "";
  flex: 1;
  border-top: 3px double var(--plume);
}

.ld-entete-bandeau {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(var(--trait), var(--trait)) bottom / calc(100% - 2 * var(--goutiere)) 1px no-repeat;
  font: .8125rem/1.3 var(--etroite);
  letter-spacing: .04em;
  color: var(--plume-pale);
}
.ld-entete-edition { margin: 0; }
.ld-entete-chercher {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font: 500 .8125rem/1 var(--etroite);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--plume);
}
.ld-entete-chercher:hover { color: var(--garance); }
.ld-entete-titre {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-block: 1.4rem 1.2rem;
}
.ld-entete-marque {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  text-decoration: none;
}
.ld-entete-logo { display: block; width: auto; height: 68px; mix-blend-mode: multiply; }
.ld-entete-nom {
  font-size: clamp(1.15rem, .9rem + 1.3vw, 2.1rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.012em;
}
.ld-entete-menu {
  display: none;
  flex-direction: column;
  gap: 5px;
  flex: none;
}
.ld-entete-menu span { display: block; width: 22px; height: 2px; background: currentColor; }
.ld-entete-livres {
  border-block: 3px double var(--plume);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.ld-entete-liste {
  list-style: none;
  margin-block: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: clamp(1rem, 2.4vw, 2.25rem);
}
.ld-entete-liste a {
  display: block;
  padding: .8rem 0 .7rem;
  font: 500 .875rem/1.2 var(--etroite);
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: inset 0 -2px 0 transparent;
}
.ld-entete-liste a:hover,
.ld-entete-liste :is(.current-menu-item, .current-post-ancestor, .current-menu-parent) > a {
  color: var(--garance);
  box-shadow: inset 0 -2px 0 currentColor;
}

.ld-tiroir {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 1000;
  width: min(22rem, 88vw);
  padding: .75rem 1.25rem 2rem;
  overflow-y: auto;
  background: var(--velin);
  border-left: 1px solid var(--trait);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .25s ease, visibility 0s .25s;
}
body.ld-ouvert-tiroir .ld-tiroir { transform: none; visibility: visible; transition: transform .25s ease; }
.ld-tiroir-voile {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgb(26 33 50 / .35);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}
body.ld-ouvert-tiroir .ld-tiroir-voile { opacity: 1; pointer-events: auto; }
.ld-tiroir-haut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .25rem;
  border-bottom: 3px double var(--plume);
}
.ld-tiroir-titre {
  margin: 0;
  font: 600 .8125rem/1 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ld-tiroir-fermer { font-size: 1.9rem; line-height: 1; margin-right: -.6rem; }
.ld-tiroir-liste { list-style: none; margin: 0 0 1.75rem; padding: 0; }
.ld-tiroir-liste a {
  display: block;
  padding: .8rem 0;
  border-bottom: 1px solid var(--trait);
  font-size: 1.0625rem;
  text-decoration: none;
}
.ld-tiroir-liste :is(.current-menu-item, .current-post-ancestor) > a { color: var(--garance); }

.ld-champ { border: 1px solid var(--plume); background: var(--velin); }
.ld-champ-saisie {
  -webkit-appearance: none;
  appearance: none;
  padding: 0 .9rem;
  border: 0;
  background: transparent;
  color: var(--plume);
  font-size: 1rem;
  outline-offset: -3px;
}
.ld-champ-ok {
  background: var(--plume);
  color: var(--support);
  font: 600 .8125rem/1 var(--etroite);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ld-champ-ok:hover { background: var(--garance); }
.ld-recherche {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 18vh var(--goutiere) 2rem;
  background: rgb(246 243 236 / .97);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility 0s .2s;
}
body.ld-ouvert-recherche .ld-recherche { opacity: 1; visibility: visible; transition: opacity .2s; }
.ld-recherche-fermer { position: absolute; top: 1rem; right: var(--goutiere); font-size: 2.2rem; line-height: 1; }
.ld-recherche-dedans { width: min(40rem, 100%); }
.ld-recherche-titre {
  margin: 0 0 .75rem;
  font: 600 .8125rem/1.2 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--plume-pale);
}
.ld-recherche .ld-champ-saisie { min-height: 3.5rem; font-size: 1.25rem; }

.ld-frontispice {
  padding-block: clamp(2.5rem, 6vw, 4.75rem) clamp(2.25rem, 5vw, 3.5rem);
  text-align: center;
}
.ld-frontispice-titre {
  max-width: 17ch;
  margin: 0 auto;
  font-size: clamp(2.1rem, 1.2rem + 3.8vw, 3.9rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.022em;
  text-wrap: balance;
}
.ld-frontispice-chapo {
  max-width: 37rem;
  margin: 1.4rem auto 0;
  font-size: clamp(1.0625rem, 1rem + .3vw, 1.2rem);
  line-height: 1.55;
  color: var(--plume-pale);
  text-wrap: pretty;
}
.ld-frontispice::after {
  content: "§";
  display: block;
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--laiton);
  background:
    linear-gradient(var(--laiton), var(--laiton)) left calc(50% - 2.25rem) center / 3rem 1px no-repeat,
    linear-gradient(var(--laiton), var(--laiton)) right calc(50% - 2.25rem) center / 3rem 1px no-repeat;
}

.ld-table { padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.ld-table-grille {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(2rem, 5vw, 4.5rem);
}
.ld-livre {
  display: flex;
  flex-direction: column;
  padding: 1.4rem 0 2rem;
  border-top: 1px solid var(--plume);
}
.ld-livre-tete {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font: .8125rem/1.2 var(--etroite);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ld-livre-num { margin: 0; font-weight: 600; color: var(--garance); }
.ld-livre-compte { margin: 0; color: var(--plume-pale); }
.ld-livre-nom {
  margin: .55rem 0 .4rem;
  font-size: clamp(1.4rem, 1.15rem + .9vw, 1.8rem);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.012em;
}
.ld-livre-nom a { text-decoration: none; }
.ld-livre-nom a:hover { color: var(--garance); }
.ld-livre-desc { margin: 0 0 1rem; font-size: .975rem; line-height: 1.5; color: var(--plume-pale); }
.ld-livre-vide { margin: 0; font-style: italic; color: var(--plume-pale); }
.ld-livre-tout {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 1rem;
  font: 600 .8125rem/1.6 var(--etroite);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--garance);
  text-decoration: none;
}
.ld-livre-tout:hover { text-decoration: underline; text-underline-offset: .2em; }

.ld-renvois { list-style: none; margin: 0; padding: 0; }
.ld-renvoi {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(1.5rem, 1fr) auto;
  align-items: end;
  column-gap: .45rem;
  padding: .6rem 0;
  border-top: 1px solid var(--trait);
}
.ld-renvoi-titre { line-height: 1.38; text-decoration: none; }
.ld-renvoi-titre:hover { color: var(--garance); text-decoration: underline; text-underline-offset: .18em; }
.ld-renvoi-points { height: 0; margin-bottom: .4em; border-bottom: 2px dotted var(--trait-fort); }
.ld-renvoi-date {
  font: .8125rem/1.7 var(--etroite);
  color: var(--plume-pale);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.ld-registre { padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.ld-registre-liste { list-style: none; margin: 0; padding: 0; }
.ld-entree {
  display: grid;
  grid-template-columns: var(--glose) minmax(0, 1fr) 10rem;
  column-gap: 2.5rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--trait);
}
.ld-entree:first-child { padding-top: .25rem; border-top: 0; }
.ld-entree-marge {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin: 0;
  padding-top: .35rem;
  font: .8125rem/1.35 var(--etroite);
  letter-spacing: .03em;
  color: var(--plume-pale);
}
.ld-entree-livre { font-weight: 600; letter-spacing: .11em; text-transform: uppercase; color: var(--garance); }
.ld-entree-titre {
  margin: 0;
  font-size: clamp(1.2rem, 1.05rem + .5vw, 1.45rem);
  font-weight: 600;
  line-height: 1.24;
  letter-spacing: -.008em;
}
.ld-entree-titre a { text-decoration: none; }
.ld-entree-titre a:hover { color: var(--garance); }
.ld-entree-chapo { max-width: 46rem; margin: .55rem 0 0; font-size: 1rem; line-height: 1.55; color: var(--plume-pale); }
.ld-entree-vignette { display: block; align-self: start; aspect-ratio: 4 / 3; overflow: hidden; background: var(--chamois); }
.ld-entree-vignette img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.02); }

.ld-signature {
  max-width: calc(40rem + 2 * var(--goutiere));
  padding-block: .5rem clamp(3rem, 7vw, 5rem);
  text-align: center;
}
.ld-signature-nom { margin: 0; font-size: 1.5rem; font-style: italic; font-weight: 600; }
.ld-signature-nom a { text-decoration: none; }
.ld-signature-nom a:hover { color: var(--garance); }
.ld-signature-bio { margin: .6rem 0 0; line-height: 1.6; color: var(--plume-pale); }

.ld-article-tete,
.ld-article-page,
.ld-article-cloture {
  display: grid;
  grid-template-columns: var(--glose) minmax(0, var(--justif));
  column-gap: 2.5rem;
  justify-content: center;
}
.ld-article-tete > *,
.ld-article-page > *,
.ld-article-cloture > * { grid-column: 2; }
.ld-article-tete { padding-block: clamp(1.25rem, 3vw, 2rem) 2rem; }
.ld-fil {
  grid-row: 1;
  margin-bottom: 2rem;
  font: .8125rem/1.5 var(--etroite);
  color: var(--plume-pale);
}
.ld-fil a { text-decoration: none; }
.ld-fil a:hover { color: var(--garance); text-decoration: underline; }
.ld-fil-sep { margin: 0 .4rem; color: var(--trait-fort); }
.ld-article-livre {
  grid-column: 1;
  grid-row: 2;
  margin: .5rem 0 0;
  text-align: right;
  font: .8125rem/1.35 var(--etroite);
  color: var(--plume-pale);
}
.ld-article-livre a { text-decoration: none; }
.ld-article-livre a:hover { color: var(--garance); }
.ld-article-livre-num {
  display: block;
  margin-bottom: .2rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--garance);
}
.ld-article-titre {
  grid-row: 2;
  margin: 0;
  font-size: clamp(1.85rem, 1.2rem + 2.5vw, 3rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.ld-article-meta {
  grid-row: 3;
  display: flex;
  flex-wrap: wrap;
  margin: 1.25rem 0 0;
  font: .875rem/1.5 var(--etroite);
  color: var(--plume-pale);
}
.ld-article-meta > span + span::before { content: "·"; margin: 0 .55rem; }
.ld-article-meta a { color: var(--plume); text-decoration: none; font-weight: 500; }
.ld-article-meta a:hover { color: var(--garance); }
.ld-article-image {
  max-width: calc(var(--glose) + 2.5rem + var(--justif) + 2 * var(--goutiere));
  margin-bottom: 2.5rem;
}
.ld-article-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.ld-texte {
  counter-reset: ld-par;
  font-size: 1.15rem;
  line-height: 1.7;
}
.ld-texte > * { margin-block: 0 1.1em; }
.ld-texte > p:first-child { font-size: 1.25rem; line-height: 1.6; }
.ld-texte a { color: var(--garance); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.ld-texte a:hover { color: var(--garance-sombre); text-decoration-thickness: 2px; }
.ld-texte strong, .ld-texte b { font-weight: 650; }
.ld-texte > h2 {
  position: relative;
  counter-increment: ld-par;
  margin: 2.4em 0 .7em;
  padding-top: .85rem;
  border-top: 1px solid var(--plume);
  font-size: clamp(1.5rem, 1.25rem + .9vw, 1.95rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.012em;
  text-wrap: balance;
}
.ld-texte > h2::before {
  content: "§ " counter(ld-par);
  position: absolute;
  top: 1.1rem;
  right: calc(100% + 2.5rem);
  width: var(--glose);
  text-align: right;
  font: 600 .9375rem/1.5 var(--etroite);
  letter-spacing: .06em;
  color: var(--garance);
}
.ld-texte > h3 { margin: 1.8em 0 .5em; font-size: 1.3rem; font-weight: 600; line-height: 1.3; }
.ld-texte > h4 { margin: 1.5em 0 .4em; font: 600 1rem/1.4 var(--etroite); letter-spacing: .06em; text-transform: uppercase; }
.ld-texte :is(ul, ol) { padding-left: 1.3em; }
.ld-texte li { margin-bottom: .4em; }
.ld-texte li::marker { color: var(--garance); }
.ld-texte blockquote {
  margin-inline: 0;
  padding: .2rem 0 .2rem 1.35rem;
  border-left: 3px solid var(--trait-fort);
}
.ld-texte blockquote > :last-child { margin-bottom: 0; }
.ld-texte hr { border: 0; border-top: 1px solid var(--trait); margin-block: 2.5em; }

.ld-texte .wp-block-table { margin-block: 1.75em; overflow-x: auto; }
.ld-texte table {
  font: .975rem/1.45 var(--etroite);
  background: var(--velin);
  border-block: 2px solid var(--plume);
  font-variant-numeric: tabular-nums;
}
.ld-texte th {
  padding: .7rem .85rem;
  text-align: left;
  vertical-align: bottom;
  font-weight: 600;
  letter-spacing: .02em;
  background: var(--chamois);
  border-bottom: 1px solid var(--plume);
}
.ld-texte td { padding: .65rem .85rem; vertical-align: top; border-bottom: 1px solid var(--trait); }
.ld-texte tr:last-child td { border-bottom: 0; }
.ld-texte figcaption,
.ld-texte .wp-element-caption {
  margin-top: .5rem;
  font: .8125rem/1.45 var(--etroite);
  color: var(--plume-pale);
}

body.ld #ez-toc-container {
  display: block;
  width: auto;
  margin: 2rem 0 2.25rem;
  padding: .9rem 1.25rem 1rem;
  background: var(--velin);
  border: 0;
  border-top: 3px double var(--plume);
  border-bottom: 1px solid var(--plume);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--romain);
}
body.ld #ez-toc-container .ez-toc-title-container { display: flex; align-items: center; justify-content: space-between; margin-bottom: .35rem; }
body.ld #ez-toc-container .ez-toc-title {
  margin: 0;
  font: 600 .8125rem/1.3 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--plume);
}
body.ld #ez-toc-container .ez-toc-title-toggle { display: flex; flex: none; }
body.ld #ez-toc-container .ez-toc-title-toggle a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: none;
  min-width: var(--doigt);
  min-height: var(--doigt);
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
body.ld #ez-toc-container .ez-toc-js-icon-con { display: flex; left: 0; padding: 0; border: 0; }
body.ld #ez-toc-container ul { margin: 0; padding: 0; list-style: none; }
body.ld #ez-toc-container nav > ul { counter-reset: ld-toc; }
body.ld #ez-toc-container nav > ul > li { counter-increment: ld-toc; margin: 0; border-top: 1px solid var(--trait); }
body.ld #ez-toc-container nav > ul > li:first-child { border-top: 0; }
body.ld #ez-toc-container nav > ul > li > a {
  display: flex;
  gap: .75rem;
  padding: .5rem 0;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--plume);
  text-decoration: none;
}
body.ld #ez-toc-container nav > ul > li > a::before {
  content: "§ " counter(ld-toc);
  float: none;
  flex: 0 0 2.6rem;
  margin: 0;
  counter-increment: none;
  padding-top: .1em;
  font: 600 .875rem/1.4 var(--etroite);
  color: var(--garance);
}
body.ld #ez-toc-container nav ul ul { padding: 0 0 .4rem 3.35rem; }
body.ld #ez-toc-container nav ul ul a {
  display: block;
  padding: .3rem 0;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--plume-pale);
  text-decoration: none;
}
body.ld #ez-toc-container nav ul ul a::before { content: none; }
body.ld #ez-toc-container nav a:hover { color: var(--garance); text-decoration: underline; text-underline-offset: .18em; }

.ld-article-cloture { padding-bottom: 3rem; }
.ld-cloture-mention {
  margin: 2.5rem 0 2rem;
  padding-top: .9rem;
  border-top: 3px double var(--plume);
  font: .875rem/1.5 var(--etroite);
  letter-spacing: .02em;
  color: var(--plume-pale);
}
.ld-cloture-mention a { color: var(--garance); text-decoration: none; }
.ld-cloture-mention a:hover { text-decoration: underline; }
.ld-autrice {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.25rem 1.4rem;
  background: var(--velin);
  border: 1px solid var(--trait);
}
.ld-autrice-chiffre {
  display: grid;
  place-items: center;
  flex: none;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid var(--garance);
  border-radius: 50%;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 600;
  color: var(--garance);
}
.ld-autrice-nom { margin: 0 0 .3rem; font-size: 1.125rem; font-weight: 600; }
.ld-autrice-nom a { text-decoration: none; }
.ld-autrice-nom a:hover { color: var(--garance); }
.ld-autrice-bio { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--plume-pale); }
.ld-voisins {
  max-width: calc(var(--glose) + 2.5rem + var(--justif) + 2 * var(--goutiere));
  padding-bottom: clamp(3rem, 7vw, 5rem);
}

.ld-pied { background: var(--chamois); border-top: 3px double var(--plume); font-size: .975rem; }
.ld-pied-grille {
  display: grid;
  grid-template-columns: 1.3fr 1.25fr .8fr;
  gap: 2.5rem;
  padding-block: 3rem 2.5rem;
}
.ld-pied-nom { margin: 0; font-size: 1.35rem; font-weight: 600; line-height: 1.2; }
.ld-pied-devise { margin: .3rem 0 1rem; font-style: italic; color: var(--plume-pale); }
.ld-pied-avis { max-width: 30rem; margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--plume-pale); }
.ld-pied-titre {
  margin: 0 0 .75rem;
  font: 600 .8125rem/1.3 var(--etroite);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--garance);
}
.ld-pied-liste,
.ld-pied-liens { list-style: none; margin: 0; padding: 0; }
.ld-pied-liste li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); padding: .3rem 0; }
.ld-pied-liens li { padding: .3rem 0; }
.ld-pied-num { padding-top: .12em; font: .875rem/1.5 var(--etroite); color: var(--plume-pale); }
.ld-pied a { text-decoration: none; }
.ld-pied a:hover { color: var(--garance); text-decoration: underline; text-underline-offset: .18em; }
.ld-pied-colophon {
  margin-block: 0;
  padding-block: 1rem 1.5rem;
  background: linear-gradient(var(--trait-fort), var(--trait-fort)) top / calc(100% - 2 * var(--goutiere)) 1px no-repeat;
  font: .8125rem/1.4 var(--etroite);
  color: var(--plume-pale);
}

.ld-rubrique-tete {
  display: grid;
  grid-template-columns: var(--glose) minmax(0, 1fr);
  column-gap: 2.5rem;
  padding-block: clamp(1.25rem, 3vw, 2rem) clamp(2.25rem, 5vw, 3.25rem);
}
.ld-rubrique-tete > * { grid-column: 2; }
.ld-rubrique-marge {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin: 0;
  padding-top: .6rem;
  font: .8125rem/1.35 var(--etroite);
  letter-spacing: .03em;
  color: var(--plume-pale);
  font-variant-numeric: tabular-nums;
}
.ld-rubrique-num { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--garance); }
.ld-rubrique-titre {
  grid-row: 2;
  max-width: 22em;
  margin: 0;
  font-size: clamp(1.85rem, 1.2rem + 2.5vw, 3rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.018em;
  text-wrap: balance;
  hyphens: auto;
  overflow-wrap: anywhere;
}
.ld-rubrique-chapo { grid-row: 3; max-width: 46rem; margin-top: 1.1rem; font-size: 1.125rem; line-height: 1.6; color: var(--plume-pale); }
.ld-rubrique-chapo > * { margin: 0 0 .8em; }
.ld-rubrique-chapo > :last-child { margin-bottom: 0; }
.ld-rubrique-champ { grid-row: 4; max-width: 34rem; margin-top: 1.5rem; }
.ld-vide { max-width: 40rem; margin: 0 0 2.25rem; font-style: italic; line-height: 1.55; color: var(--plume-pale); }
.ld-autres-livres { padding-bottom: clamp(3rem, 7vw, 5rem); }
.ld-renvoi-num {
  margin-right: .45rem;
  font: 600 .8125rem/1 var(--etroite);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--garance);
}
.ld-introuvable-suite {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem clamp(2rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 7vw, 5rem);
}

.ld-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 3px double var(--plume);
  font: 600 .9375rem/1 var(--etroite);
  font-variant-numeric: tabular-nums;
}
.ld-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--doigt);
  min-height: var(--doigt);
  padding: 0 .5rem;
  color: var(--plume);
  text-decoration: none;
}
.ld-pager a.page-numbers:hover { color: var(--garance); text-decoration: underline; text-underline-offset: .2em; }
.ld-pager .current { background: var(--plume); color: var(--support); }
.ld-pager .dots { min-width: 1.5rem; padding: 0; color: var(--plume-pale); }
.ld-pager :is(.prev, .next) { font-size: 1.4rem; font-weight: 400; }

.ld-texte-libre > h2::before,
body.ld .ld-texte-libre #ez-toc-container nav > ul > li > a::before { content: none; }
.ld-page-fin { padding-bottom: clamp(3rem, 7vw, 5rem); }

.ld-texte > ul:has(.wsp-container) { padding-left: 0; list-style: none; }
.ld-texte .wsp-posts-title {
  margin: 0 0 1rem;
  font: 600 .875rem/1.3 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ld-texte .wsp-posts-list { margin: 0; padding: 0; list-style: none; }
.ld-texte .wsp-category-title { display: block; margin: 2rem 0 .5rem; font-size: 1.2rem; font-weight: 600; line-height: 1.3; }
.ld-texte .wsp-category-title a { color: var(--plume); text-decoration: none; }
.ld-texte .wsp-category-title a:hover { color: var(--garance); }
.ld-texte .wsp-post {
  display: flex;
  align-items: flex-end;
  gap: .45rem;
  margin: 0;
  padding: .5rem 0;
  border-top: 1px solid var(--trait);
  font: .8125rem/1.7 var(--etroite);
  color: var(--plume-pale);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.ld-texte .wsp-post a {
  order: -2;
  flex: 0 1 auto;
  min-width: 0;
  font: 1rem/1.4 var(--romain);
  white-space: normal;
  color: var(--plume);
  text-decoration: none;
}
.ld-texte .wsp-post a:hover { color: var(--garance); text-decoration: underline; }
.ld-texte .wsp-post::before {
  content: "";
  order: -1;
  flex: 1 0 1.5rem;
  margin-bottom: .45em;
  border-bottom: 2px dotted var(--trait-fort);
}

.ld-contact-avis {
  margin: 0 0 2.25rem;
  padding: .9rem 1.25rem 1rem;
  background: var(--velin);
  border-top: 3px double var(--plume);
  border-bottom: 1px solid var(--plume);
  font-size: 1rem;
  line-height: 1.55;
}
.ld-contact-avis p { margin: 0; }
.ld-contact-avis .ld-contact-avis-titre {
  margin-bottom: .45rem;
  font: 600 .8125rem/1.3 var(--etroite);
  letter-spacing: .14em;
  text-transform: uppercase;
}

@media (max-width: 921px) {
  .ld-rubrique-tete { grid-template-columns: minmax(0, 1fr); }
  .ld-rubrique-tete > * { grid-column: 1; }
  .ld-rubrique-marge { flex-direction: row; flex-wrap: wrap; gap: .2rem .9rem; margin-bottom: .6rem; padding-top: 0; }
  .ld-rubrique-titre { grid-row: 3; }
  .ld-rubrique-chapo { grid-row: 4; }
  .ld-rubrique-champ { grid-row: 5; }
  .ld-introuvable-suite { grid-template-columns: minmax(0, 1fr); }

  .ld-entete-livres { display: none; }
  .ld-entete-titre { justify-content: space-between; padding-block: .9rem; }
  .ld-entete-menu { display: inline-flex; margin-right: -.6rem; }
  .ld-entete-logo { height: 48px; }
  .ld-entete-marque { gap: .75rem; }
  .ld-entete-nom { max-width: 11em; }
  .ld-entete-titre { border-bottom: 3px double var(--plume); }

  .ld-table-grille { grid-template-columns: minmax(0, 1fr); }

  .ld-entree { grid-template-columns: minmax(0, 1fr) 7.5rem; column-gap: 1.25rem; }
  .ld-entree-marge { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: .2rem .9rem; padding: 0 0 .45rem; }

  .ld-article-tete,
  .ld-article-page,
  .ld-article-cloture { grid-template-columns: minmax(0, 1fr); }
  .ld-article-tete > *,
  .ld-article-page > *,
  .ld-article-cloture > * { grid-column: 1; }
  .ld-fil { margin-bottom: 1.25rem; }
  .ld-article-livre { grid-row: 2; margin: 0 0 .6rem; text-align: left; }
  .ld-article-livre-num { display: inline; margin: 0 .5rem 0 0; }
  .ld-article-titre { grid-row: 3; }
  .ld-article-meta { grid-row: 4; }
  .ld-texte > h2::before { position: static; display: block; width: auto; margin-bottom: .3rem; text-align: left; }

  .ld-pied-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ld-pied-marque { grid-column: 1 / -1; }
}

@media (max-width: 544px) {
  .ld-entete-chercher-mot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .ld-entete-edition { font-size: .75rem; }
  .ld-entete-logo { height: 42px; }
  .ld-entree { grid-template-columns: minmax(0, 1fr); }
  .ld-entree-vignette { display: none; }
  .ld-rubrique-chapo { font-size: 1rem; line-height: 1.55; }
  .ld-texte { font-size: 1.0625rem; }
  .ld-texte > p:first-child { font-size: 1.15rem; }
  .ld-texte th, .ld-texte td { padding: .55rem .6rem; }
  body.ld #ez-toc-container { padding-inline: 1rem; }
  .ld-autrice { padding: 1rem; }
  .ld-pied-grille { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}

body.ld {
  background: var(--support) !important;
  color: var(--plume) !important;
}

body.ld .ast-article-single,
body.ld #primary,
body.ld #page,
body.ld .content-area,
body.ld .ast-article-post,
body.ld .site-content,
body.ld .ast-container,
body.ld .site-main > article,
body.ld #content,
body.ld .site-main,
body.ld .entry-content {
  max-width: 100% !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
}

body.ld .ast-below-footer,
body.ld .ast-secondary-header-bar,
body.ld .site-header,
body.ld .ast-main-header-wrap {
  display: none !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  height: 0 !important;
}

body.ld .ast-small-footer,
body.ld #masthead,
body.ld .ast-header-breadcrumb,
body.ld .ast-mobile-header-wrap,
body.ld .ast-below-header-wrap,
body.ld .ast-page-title-bar,
body.ld .ast-page-header,
body.ld #ast-mobile-header,
body.ld .entry-banner,
body.ld .ast-footer-copyright,
body.ld .ast-above-header-wrap,
body.ld .footer-widget-area,
body.ld #ast-desktop-header,
body.ld .ast-footer-overlay,
body.ld .main-header-bar-wrap,
body.ld #colophon,
body.ld .main-header-bar,
body.ld .site-footer,
body.ld .ast-archive-title-wrap,
body.ld .ast-breadcrumbs-wrapper,
body.ld .site-below-footer-wrap,
body.ld .ast-above-footer,
body.ld .ast-primary-header-bar,
body.ld .ast-breadcrumbs-inner {
  display: none !important;
  border: none !important;
  overflow: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ld.home .entry-header,
body.ld.home .ast-archive-description {
  display: none !important;
}

:where(body.ld) :where(input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], textarea) {
  background: transparent;
  color: var(--plume);
  border: 1px solid var(--trait-fort);
}

body.ld #ast-scroll-top {
  position: fixed;
  right: clamp(12px, 2.5vw, 28px);
  bottom: clamp(12px, 2.5vw, 28px);
  z-index: 90;
  width: var(--doigt);
  height: var(--doigt);
  background: var(--plume);
  color: var(--support);
  border: 1px solid var(--plume);
  cursor: pointer;
  transition: background-color .2s, border-color .2s;
}
body.ld #ast-scroll-top:hover,
body.ld #ast-scroll-top:focus-visible { background: var(--garance); border-color: var(--garance); }
body.ld #ast-scroll-top .ast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
body.ld #ast-scroll-top svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  transform: rotate(180deg);
}
@media print { body.ld #ast-scroll-top { display: none !important; } }

body.ld .wpcf7-form p,
body.ld .wpforms-field { margin: 0 0 1.4rem; }
body.ld .wpcf7-form label,
body.ld .wpforms-field-label {
  display: block;
  font: 600 .8125rem/1.5 var(--etroite);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--plume);
}
body.ld .wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea),
body.ld .wpforms-field :is(input, textarea) {
  display: block;
  width: 100%;
  min-height: var(--doigt);
  margin-top: .4rem;
  padding: .6rem .75rem;
  background: var(--velin);
  border: 1px solid var(--trait-fort);
  border-bottom: 2px solid var(--plume);
  border-radius: 0;
  box-shadow: none;
  font: 400 1.0625rem/1.5 var(--romain);
  letter-spacing: 0;
  text-transform: none;
  color: var(--plume);
}
body.ld .wpcf7-form textarea,
body.ld .wpforms-field textarea { min-height: 10rem; resize: vertical; }
body.ld .wpcf7-form :is(input, textarea):focus,
body.ld .wpforms-field :is(input, textarea):focus { border-color: var(--garance); }
body.ld .wpcf7-form input[type="submit"],
body.ld .wpforms-submit {
  min-height: var(--doigt);
  padding: 0 1.75rem;
  background: var(--plume);
  color: var(--support);
  border: 0;
  border-radius: 0;
  font: 600 .875rem/1 var(--etroite);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
body.ld .wpcf7-form input[type="submit"]:hover,
body.ld .wpforms-submit:hover { background: var(--garance); }
body.ld .wpcf7-not-valid-tip {
  display: block;
  margin-top: .35rem;
  font: 500 .875rem/1.4 var(--etroite);
  letter-spacing: 0;
  text-transform: none;
  color: var(--garance);
}
body.ld .wpcf7 form .wpcf7-response-output {
  margin: 1.5rem 0 0;
  padding: .8rem 1rem;
  background: var(--velin);
  border: 1px solid var(--plume);
  font: .9375rem/1.5 var(--etroite);
}
body.ld .wpcf7 form:is(.invalid, .unaccepted, .failed, .spam, .aborted) .wpcf7-response-output { border-color: var(--garance); color: var(--garance-sombre); }
