/* =========================================================================
   CUADERNO DE LA RED (electricadelebro.com) : systeme de design
   « cuaderno de red litoral », prefixe cdr-.

   Rhabillage du squelette fiches-reference. Ce qui est garde du squelette :
   la colonne de lecture bornee, les filets fins, les angles vifs (aucun
   arrondi, aucune ombre), les entrees numerotees, la marge de reperes a
   cote de la lecture, les tableaux enfermes dans un conteneur defilable.
   Ce qui change : la marge de reperes passe A DROITE et devient collante,
   la photographie entre partout (planches, laminas, tira de contacto), le
   titre est en condensee capitale et la lecture en serif.

   Vocabulaire (espagnol, atelier de red electrica et cuaderno de campo) :
   caja (conteneur), cabecera (en-tete), marca (signature), menu (navegacion),
   senda (fil d'Ariane), portada (frontispice), lienzo (photo pleine largeur),
   tarjeta (carton pose a cheval sur la photo), cifras (releve chiffre),
   pliego (bande de section), cuadricula (grille), ficha (carte), lamina
   (planche photo), marbete (etiquette posee sur la photo), cota (adresse
   technique), archivo (fichas historiques), tira (bande de contact),
   sumario (mosaique des guias), hoja (page de lecture), reja (grille de
   page), margen (colonne de reperes), lectura (colonne de texte), apunte
   (note de marge), indice (index de section), vecinas (pages voisines),
   remate (bande de cloture), pie (pied de page).

   Palette : azul marino, ambar, gris hormigon. Titulares condensados.
   Polices systeme uniquement : zero requete externe, zero script.
   ========================================================================= */

:root {
  color-scheme: light;

  /* ---- 1. palette : marino, ambar, hormigon ----------------------------- */
  --cdr-papel:         #f7f6f2;   /* fond general                            */
  --cdr-hormigon:      #dedbd4;   /* bandes en creux, cartouches             */
  --cdr-hormigon-tenue:#ecebe6;   /* survols, laminas                        */
  --cdr-tinta:         #16212c;   /* texte courant                           */
  --cdr-tinta-suave:   #47576a;   /* mentions, resumenes                     */
  --cdr-marino:        #10314f;   /* bleu marine : titres, liens, aplats     */
  --cdr-marino-vivo:   #1c4e7c;   /* survol des liens                        */
  --cdr-ambar:         #b26a06;   /* ambre lisible sur papier (texte court)  */
  --cdr-ambar-vivo:    #e39a1f;   /* ambre d'aplat : filets, cifras, numeros */
  --cdr-filete:        #cbc7bd;
  --cdr-filete-fuerte: #a49e91;
  --cdr-seleccion:     #d7e2ec;

  /* La bande sombre (portada, remate, pie) : tokens FIXES, jamais herites.
     Incident parrocchia du 06/09/2026 : pied de page noir sur noir. */
  --cdr-noche:         #0b1f31;
  --cdr-noche-creux:   #102b42;
  --cdr-noche-texto:   #eef1f3;
  --cdr-noche-tenue:   #adbecd;
  --cdr-noche-enlace:  #f0b64a;
  --cdr-noche-filete:  #24445f;

  /* ---- 2. caracteres : piles systeme ------------------------------------ */
  --cdr-titular: "Avenir Next Condensed", "Helvetica Neue Condensed", "Roboto Condensed", "Arial Narrow", "Liberation Sans Narrow", "DejaVu Sans Condensed", system-ui, sans-serif;
  --cdr-lectura: Charter, "Iowan Old Style", "Sitka Text", "Palatino Linotype", Palatino, Cambria, Georgia, serif;
  --cdr-cota:    ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;

  /* ---- 3. rythme -------------------------------------------------------- */
  --cdr-medida:   36rem;                        /* colonne de lecture        */
  --cdr-marco:    78rem;                        /* largeur maximale de page  */
  --cdr-margen:   15rem;                        /* colonne de reperes        */
  --cdr-canal:    clamp(1.1rem, 3.2vw, 2.6rem); /* gouttiere laterale        */
  --cdr-hueco:    clamp(1.4rem, 2.8vw, 2.6rem); /* espace entre fichas       */
  --cdr-banda:    clamp(2.6rem, 5.5vw, 4.6rem); /* respiration des bandes    */
  --cdr-paso:     1.05rem;                      /* rythme vertical           */

  /* ---- 4. tailles ------------------------------------------------------- */
  --cdr-t-base:   1.045rem;
  --cdr-t-menor:  .905rem;
  --cdr-t-cota:   .735rem;
  --cdr-t-h1:     clamp(2.05rem, 1.15rem + 3.1vw, 3.5rem);
  --cdr-t-h2:     clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem);
  --cdr-t-h3:     1.19rem;
  --cdr-interlinea: 1.62;
}

/* ---- 5. bases ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--cdr-papel);
  color: var(--cdr-tinta);
  font-family: var(--cdr-lectura);
  font-size: var(--cdr-t-base);
  line-height: var(--cdr-interlinea);
  text-rendering: optimizeLegibility;
}

::selection { background: var(--cdr-seleccion); }

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

a { color: var(--cdr-marino); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover, a:focus { color: var(--cdr-marino-vivo); }

:focus-visible { outline: 3px solid var(--cdr-ambar-vivo); outline-offset: 2px; }

h1, h2, h3 {
  font-family: var(--cdr-titular);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: .005em;
  margin: 0;
  color: var(--cdr-marino);
}

hr { border: 0; border-top: 1px solid var(--cdr-filete); margin: var(--cdr-banda) 0; }

/* ---- 6. conteneur et evitement ----------------------------------------- */
.cdr-caja {
  width: 100%;
  max-width: var(--cdr-marco);
  margin-inline: auto;
  padding-inline: var(--cdr-canal);
}

.cdr-salto {
  position: absolute;
  left: -999em;
  background: var(--cdr-marino);
  color: #fff;
  padding: .7rem 1.1rem;
  font-family: var(--cdr-titular);
  text-transform: uppercase;
  letter-spacing: .09em;
}
.cdr-salto:focus { left: .6rem; top: .6rem; z-index: 40; color: #fff; }

/* ---- 7. cabecera -------------------------------------------------------- */
.cdr-cabecera {
  background: var(--cdr-noche);
  color: var(--cdr-noche-texto);
  border-bottom: 3px solid var(--cdr-ambar-vivo);
}
.cdr-cabecera__fila {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .8rem 1.4rem;
  padding-block: .85rem;
}
.cdr-marca { text-decoration: none; color: var(--cdr-noche-texto); display: block; }
.cdr-marca:hover { color: var(--cdr-noche-texto); }
.cdr-marca__nombre {
  display: block;
  font-family: var(--cdr-titular);
  font-size: 1.42rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .11em;
  line-height: 1.05;
}
.cdr-marca__lema {
  display: block;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--cdr-noche-tenue);
  margin-top: .3rem;
}

/* menu : checkbox, aucun script */
.cdr-nav ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 1.35rem;
  margin: 0;
  padding: 0;
}
.cdr-nav__toggle { position: absolute; opacity: 0; pointer-events: none; }
.cdr-nav__handle {
  display: none;
  font-family: var(--cdr-titular);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .92rem;
  padding: .45rem .9rem;
  border: 1px solid var(--cdr-noche-filete);
  color: var(--cdr-noche-texto);
  cursor: pointer;
}
.cdr-nav a {
  display: inline-block;
  font-family: var(--cdr-titular);
  font-size: .99rem;
  text-transform: uppercase;
  letter-spacing: .085em;
  text-decoration: none;
  color: var(--cdr-noche-texto);
  padding: .35rem 0;
  border-bottom: 2px solid transparent;
}
.cdr-nav a:hover { color: #fff; border-bottom-color: var(--cdr-ambar-vivo); }
.cdr-nav a[aria-current="page"] { color: var(--cdr-ambar-vivo); border-bottom-color: var(--cdr-ambar-vivo); }
@media (min-width: 54rem) {
  .cdr-nav__handle { display: none; }
}
@media (max-width: 53.99rem) {
  .cdr-nav__handle { display: inline-block; cursor: pointer; }
  .cdr-nav ul { display: none; }
  .cdr-nav__toggle:checked ~ ul { display: grid; gap: .5rem; padding-top: .8rem; }
}

/* ---- 8. senda (fil d'Ariane) ------------------------------------------- */
.cdr-senda { padding-block: .9rem .2rem; }
.cdr-senda ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  margin: 0;
  padding: 0;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--cdr-tinta-suave);
}
.cdr-senda li + li::before { content: "/"; color: var(--cdr-filete-fuerte); margin-right: .5rem; }
.cdr-senda a { color: var(--cdr-tinta-suave); }

/* ---- 9. portada : photo pleine largeur + carton a cheval ---------------- */
.cdr-portada { position: relative; background: var(--cdr-noche); }
.cdr-portada__lienzo {
  width: 100%;
  height: clamp(15rem, 42vw, 27rem);
  object-fit: cover;
  object-position: 50% 46%;
}
.cdr-portada__pie {
  background: var(--cdr-noche);
  padding-bottom: clamp(2.2rem, 5vw, 4rem);
}
.cdr-portada__tarjeta {
  background: var(--cdr-papel);
  border-top: 5px solid var(--cdr-ambar-vivo);
  margin-top: clamp(-4.5rem, -6vw, -2.5rem);
  padding: clamp(1.4rem, 3.2vw, 2.6rem) clamp(1.2rem, 3vw, 2.8rem) clamp(1.5rem, 3vw, 2.4rem);
  max-width: 52rem;
  position: relative;
  z-index: 2;
}
.cdr-portada__epigrafe {
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .17em;
  color: var(--cdr-ambar);
  margin: 0 0 .75rem;
}
.cdr-portada__tarjeta h1 {
  font-size: var(--cdr-t-h1);
  text-transform: uppercase;
  letter-spacing: -.005em;
}
.cdr-portada__entradilla {
  font-size: 1.11rem;
  color: var(--cdr-tinta-suave);
  margin: 1rem 0 0;
  max-width: 40rem;
}
.cdr-portada__cifras {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.4rem;
  margin: 1.6rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--cdr-filete);
}
.cdr-portada__cifras b {
  display: block;
  font-family: var(--cdr-titular);
  font-size: 1.85rem;
  font-weight: 600;
  color: var(--cdr-marino);
  line-height: 1;
}
.cdr-portada__cifras span {
  display: block;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .11em;
  color: var(--cdr-tinta-suave);
  margin-top: .4rem;
}

/* ---- 10. boton plein ---------------------------------------------------- */
.cdr-boton {
  display: inline-block;
  margin-top: 1.5rem;
  background: var(--cdr-marino);
  color: #fff;
  font-family: var(--cdr-titular);
  font-size: 1.02rem;
  text-transform: uppercase;
  letter-spacing: .11em;
  text-decoration: none;
  padding: .8rem 1.6rem;
  border-bottom: 4px solid var(--cdr-ambar-vivo);
}
.cdr-boton:hover, .cdr-boton:focus { background: var(--cdr-marino-vivo); color: #fff; }

/* ---- 11. pliego : la bande de section ----------------------------------- */
.cdr-pliego { padding-block: var(--cdr-banda); }
.cdr-pliego--creux { background: var(--cdr-hormigon-tenue); border-block: 1px solid var(--cdr-filete); }
.cdr-pliego--noche {
  background: var(--cdr-noche);
  color: var(--cdr-noche-texto);
  border-block: 1px solid var(--cdr-noche-filete);
}
.cdr-pliego--noche h2, .cdr-pliego--noche h3 { color: var(--cdr-noche-texto); }
.cdr-pliego--noche a { color: var(--cdr-noche-texto); }
.cdr-pliego--noche a:hover { color: #fff; }
.cdr-pliego--noche .cdr-pliego__nota,
.cdr-pliego--noche .cdr-ficha__resumen { color: var(--cdr-noche-tenue); }
.cdr-pliego--noche .cdr-pliego__numero { color: var(--cdr-ambar-vivo); }

.cdr-pliego__cabeza {
  display: grid;
  gap: .55rem 2rem;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  padding-bottom: 1.35rem;
  margin-bottom: var(--cdr-hueco);
  border-bottom: 2px solid var(--cdr-filete-fuerte);
}
.cdr-pliego__numero {
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .19em;
  color: var(--cdr-ambar);
}
.cdr-pliego__titulo { font-size: var(--cdr-t-h2); text-transform: uppercase; }
.cdr-pliego__nota {
  margin: 0;
  color: var(--cdr-tinta-suave);
  max-width: 40rem;
  font-size: var(--cdr-t-menor);
}

@media (min-width: 52rem) {
  .cdr-pliego__cabeza { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
  .cdr-pliego__numero { grid-column: 1; }
  .cdr-pliego__titulo { grid-column: 1; }
  .cdr-pliego__nota { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
}

/* ---- 12. cuadricula et ficha (la carte photo) --------------------------- */
.cdr-cuadricula {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--cdr-hueco);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 40rem) { .cdr-cuadricula--dos, .cdr-cuadricula--tres { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60rem) { .cdr-cuadricula--tres { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* La grille echelonnee de l'accueil : une section en grand a gauche,
   les deux autres empilees a droite. */
.cdr-cuadricula--escalonada { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 58rem) {
  .cdr-cuadricula--escalonada { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
  .cdr-cuadricula--escalonada > li:first-child { grid-row: span 2; }
  .cdr-cuadricula--escalonada > li:first-child .cdr-ficha__lamina { aspect-ratio: 4 / 5; }
  .cdr-cuadricula--escalonada > li:first-child .cdr-ficha__titulo { font-size: 1.72rem; }
}

.cdr-ficha {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--cdr-papel);
  border: 1px solid var(--cdr-filete);
  border-top: 3px solid var(--cdr-marino);
}
.cdr-ficha:hover { border-top-color: var(--cdr-ambar-vivo); }
.cdr-pliego--creux .cdr-ficha { background: #fff; }
.cdr-pliego--noche .cdr-ficha { background: var(--cdr-noche-creux); border-color: var(--cdr-noche-filete); }

.cdr-ficha__lamina {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--cdr-hormigon);
}
.cdr-ficha__lamina img { width: 100%; height: 100%; object-fit: cover; }
.cdr-ficha__marbete {
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--cdr-marino);
  color: #fff;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .13em;
  padding: .32rem .7rem;
}
.cdr-ficha__marbete--ambar { background: var(--cdr-ambar); }

.cdr-ficha__cuerpo {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1.05rem 1.15rem 1.3rem;
  flex: 1 1 auto;
}
.cdr-ficha__titulo {
  font-size: 1.16rem;
  text-transform: none;
  letter-spacing: .01em;
  line-height: 1.16;
}
.cdr-ficha__enlace { text-decoration: none; }
.cdr-ficha__enlace:hover { text-decoration: underline; }
.cdr-ficha__resumen {
  margin: 0;
  font-size: var(--cdr-t-menor);
  color: var(--cdr-tinta-suave);
}
.cdr-ficha__cota {
  margin: auto 0 0;
  overflow-wrap: anywhere;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  letter-spacing: .04em;
  color: var(--cdr-tinta-suave);
  padding-top: .7rem;
  border-top: 1px dotted var(--cdr-filete);
}
.cdr-pliego--noche .cdr-ficha__cota { color: var(--cdr-noche-tenue); border-top-color: var(--cdr-noche-filete); }

/* ---- 13. archivo : les adresses historiques rejouees -------------------- */
.cdr-archivo {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--cdr-hueco);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 38rem) { .cdr-archivo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 56rem) { .cdr-archivo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 76rem) { .cdr-archivo { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.cdr-archivo .cdr-ficha__lamina { aspect-ratio: 3 / 2; }
.cdr-archivo .cdr-ficha__titulo { font-size: 1.02rem; }
.cdr-archivo .cdr-ficha__marbete { font-size: .69rem; letter-spacing: .08em; padding: .28rem .55rem; }

/* ---- 14. tira de contacto : la bande de laminas ------------------------- */
.cdr-tira {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 46rem) { .cdr-tira { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.cdr-tira figure { margin: 0; }
.cdr-tira img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border: 1px solid var(--cdr-noche-filete);
}
.cdr-tira figcaption {
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--cdr-noche-tenue);
  margin-top: .45rem;
}

/* ---- 15. hoja : la page de lecture -------------------------------------- */
.cdr-hoja { padding-bottom: var(--cdr-banda); }

.cdr-titular {
  padding: clamp(1.3rem, 3vw, 2.2rem) 0 clamp(1.1rem, 2.4vw, 1.8rem);
  border-bottom: 2px solid var(--cdr-filete-fuerte);
}
.cdr-titular__epigrafe {
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .17em;
  color: var(--cdr-ambar);
  margin: 0 0 .8rem;
}
.cdr-titular h1 {
  font-size: var(--cdr-t-h1);
  text-transform: uppercase;
  max-width: 22ch;
}
.cdr-titular__bajada {
  font-size: 1.1rem;
  color: var(--cdr-tinta-suave);
  margin: 1rem 0 0;
  max-width: var(--cdr-medida);
}
.cdr-titular__sello {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .3rem 1.5rem;
  margin: 1.2rem 0 0;
  padding: 0;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .11em;
  color: var(--cdr-tinta-suave);
}

.cdr-lamina { margin: 0 0 var(--cdr-banda); background: var(--cdr-hormigon); }
.cdr-lamina img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.cdr-lamina figcaption {
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--cdr-tinta-suave);
  padding: .55rem .1rem;
  background: var(--cdr-papel);
}

/* la grille de page : lecture a gauche, reperes a DROITE et collants */
.cdr-hoja__reja {
  display: grid;
  gap: var(--cdr-banda) clamp(1.8rem, 4vw, 3.4rem);
  grid-template-columns: minmax(0, 1fr);
  padding-top: var(--cdr-banda);
}
@media (min-width: 62rem) {
  .cdr-hoja__reja { grid-template-columns: minmax(0, 1fr) calc(var(--cdr-margen) + 2rem); }
  .cdr-hoja__margen {
    position: sticky;
    top: 1.4rem;
    align-self: start;
    border-left: 1px solid var(--cdr-filete);
    padding-left: 2rem;
  }
}
.cdr-hoja__lectura { max-width: var(--cdr-medida); }

/* ---- 16. cuerpo : le corps editorial ------------------------------------ */
.cdr-cuerpo > * + * { margin-top: var(--cdr-paso); }
.cdr-cuerpo p { margin: 0; }
.cdr-cuerpo h2 {
  font-size: var(--cdr-t-h2);
  text-transform: uppercase;
  margin-top: calc(var(--cdr-paso) * 2.2);
  padding-top: .85rem;
  border-top: 1px solid var(--cdr-filete);
}
.cdr-cuerpo h3 { font-size: var(--cdr-t-h3); margin-top: calc(var(--cdr-paso) * 1.5); }
.cdr-cuerpo ul { margin: 0; padding-left: 1.15rem; }
.cdr-cuerpo li + li { margin-top: .35rem; }
.cdr-cuerpo strong { font-weight: 700; color: var(--cdr-marino); }
.cdr-cuerpo > p:first-child {
  font-size: 1.13rem;
  color: var(--cdr-tinta);
  border-left: 4px solid var(--cdr-ambar-vivo);
  padding-left: 1rem;
}

/* ---- 17. marge : apunte, indice ----------------------------------------- */
.cdr-apunte {
  background: var(--cdr-hormigon-tenue);
  border-top: 3px solid var(--cdr-marino);
  padding: 1rem 1.05rem 1.15rem;
  margin: 0 0 var(--cdr-hueco);
}
.cdr-apunte h2, .cdr-apunte h3 {
  font-size: .96rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .6rem;
}
.cdr-apunte p { margin: 0; font-size: var(--cdr-t-menor); color: var(--cdr-tinta-suave); }

.cdr-indice { list-style: none; margin: .55rem 0 0; padding: 0; }
.cdr-indice li { border-top: 1px dotted var(--cdr-filete); padding: .5rem 0; }
.cdr-indice li:first-child { border-top: 0; }
.cdr-indice a { font-family: var(--cdr-titular); font-size: 1.02rem; text-decoration: none; }
.cdr-indice a:hover { text-decoration: underline; }
.cdr-indice span {
  display: block;
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--cdr-tinta-suave);
  margin-bottom: .18rem;
}

/* ---- 18. vecinas : les pages voisines ----------------------------------- */
.cdr-vecinas { margin-top: var(--cdr-banda); padding-top: 1.3rem; border-top: 2px solid var(--cdr-filete-fuerte); }
.cdr-vecinas > h2 { font-size: var(--cdr-t-h3); text-transform: uppercase; letter-spacing: .1em; margin-bottom: var(--cdr-hueco); }
.cdr-vecinas ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--cdr-hueco);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 44rem) { .cdr-vecinas ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cdr-vecinas .cdr-ficha__lamina { aspect-ratio: 3 / 2; }
.cdr-vecinas .cdr-ficha__titulo { font-size: 1.02rem; }

/* ---- 19. tableau enferme (herite du squelette) --------------------------- */
.cdr-abaco { overflow-x: auto; border: 1px solid var(--cdr-filete); }
.cdr-abaco table { border-collapse: collapse; width: 100%; font-size: var(--cdr-t-menor); }
.cdr-abaco th, .cdr-abaco td { text-align: left; padding: .6rem .8rem; border-bottom: 1px solid var(--cdr-filete); }
.cdr-abaco th { font-family: var(--cdr-titular); text-transform: uppercase; letter-spacing: .08em; background: var(--cdr-hormigon); }

/* ---- 20. remate et pie -------------------------------------------------- */
.cdr-remate { background: var(--cdr-hormigon); border-top: 3px solid var(--cdr-marino); padding-block: var(--cdr-banda); }
.cdr-remate h2 { font-size: var(--cdr-t-h2); text-transform: uppercase; margin-bottom: 1rem; }
.cdr-remate p { max-width: 46rem; margin: 0 0 var(--cdr-paso); }

.cdr-pie {
  background: var(--cdr-noche);
  color: var(--cdr-noche-texto);
  border-top: 4px solid var(--cdr-ambar-vivo);
  padding-block: var(--cdr-banda) 1.6rem;
}
.cdr-pie__rejilla {
  display: grid;
  gap: var(--cdr-hueco);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 46rem) { .cdr-pie__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cdr-pie h2 {
  color: var(--cdr-noche-texto);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  padding-bottom: .55rem;
  margin-bottom: .8rem;
  border-bottom: 1px solid var(--cdr-noche-filete);
}
.cdr-pie ul { list-style: none; margin: 0; padding: 0; }
.cdr-pie li + li { margin-top: .42rem; }
.cdr-pie a { color: var(--cdr-noche-texto); text-decoration: none; border-bottom: 1px solid var(--cdr-noche-filete); }
.cdr-pie a:hover { color: var(--cdr-ambar-vivo); border-bottom-color: var(--cdr-ambar-vivo); }
.cdr-pie p { margin: 0; color: var(--cdr-noche-tenue); font-size: var(--cdr-t-menor); }
.cdr-pie__firma {
  margin-top: var(--cdr-banda);
  padding-top: 1rem;
  border-top: 1px solid var(--cdr-noche-filete);
  font-family: var(--cdr-cota);
  font-size: var(--cdr-t-cota);
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--cdr-noche-tenue);
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.4rem;
}

/* ---- 21. mentions et erreur --------------------------------------------- */
.cdr-mencion { font-family: var(--cdr-cota); font-size: var(--cdr-t-cota); text-transform: uppercase; letter-spacing: .11em; color: var(--cdr-tinta-suave); }

.cdr-error { padding-block: var(--cdr-banda); }
.cdr-error h1 { font-size: var(--cdr-t-h1); text-transform: uppercase; }
.cdr-error p { max-width: var(--cdr-medida); margin-top: var(--cdr-paso); }

/* ---- 22. petits ecrans : le menu se replie ------------------------------ */
@media (max-width: 53.99rem) {
  .cdr-nav ul li { border-top: 1px solid var(--cdr-noche-filete); }
  .cdr-nav ul { flex-direction: column; gap: 0; }
  .cdr-nav a { display: block; padding: .62rem 0; }
  .cdr-cabecera__fila { flex-direction: column; align-items: flex-start; }
  .cdr-nav { width: 100%; }
  .cdr-portada__lienzo { height: clamp(11rem, 46vw, 16rem); }
  .cdr-portada__tarjeta { margin-top: -1.8rem; }
}

/* ---- 23. impression ----------------------------------------------------- */
@media print {
  .cdr-cabecera, .cdr-nav, .cdr-senda, .cdr-hoja__margen, .cdr-pie, .cdr-tira { display: none; }
  body { background: #fff; font-size: 11pt; }
  .cdr-hoja__lectura { max-width: none; }
}
