/*
 * Nocturnalia 1.2.1 · Colofón editorial.
 * Corrección aislada: una retícula bibliográfica y enlaces sin puntos huérfanos.
 * Carga al final para convivir con los estilos heredados sin alterar la portada.
 */
.site-footer {
  overflow: clip;
  padding-top: clamp(48px, 6vw, 86px);
}

.site-footer .site-footer__lead {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(230px, .55fr);
  gap: clamp(32px, 4vw, 70px);
  align-items: end;
  padding-bottom: clamp(48px, 6vw, 80px);
}
.site-footer .site-footer__brand-wrap {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
}
.site-footer .site-footer__brand {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: .08em;
  max-width: 100%;
  white-space: nowrap;
  font-size: clamp(3.5rem, 7.1vw, 7.75rem);
  line-height: .88;
  letter-spacing: -.065em;
}
.site-footer .site-footer__brand-lockup {
  max-width: min(100%, 720px);
}
.site-footer .site-footer__brand-lockup img {
  display: block;
  max-width: 100%;
  height: auto;
}
.site-footer .site-footer__brand-wrap > .nocturnalia-secondary-mark--footer {
  margin-top: clamp(10px, 1.5vw, 20px);
  align-self: center;
}
.site-footer .site-footer__manifesto {
  color: color-mix(in srgb, var(--ed-footer-text) 86%, transparent);
  font: 400 clamp(1.18rem, 1.7vw, 1.55rem)/1.38 var(--ed-serif);
  max-width: 29ch;
  justify-self: end;
  text-wrap: pretty;
}
.site-footer .site-footer__manifesto-line:first-child {
  white-space: normal;
}

/* ISSN y declaración editorial: unidades que nunca se separan por guiones o puntos. */
.site-footer .site-footer__publication {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
  align-items: start;
  gap: 24px clamp(28px, 5vw, 92px);
  border-top: 1px solid color-mix(in srgb, var(--ed-footer-text) 30%, transparent);
  padding-top: clamp(28px, 3vw, 44px);
  padding-bottom: clamp(34px, 4vw, 58px);
}
.site-footer .site-footer__bibliographic,
.site-footer .site-footer__publication-line {
  grid-column: auto;
  min-width: 0;
}
.site-footer .site-footer__bibliographic-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 20px;
}
.site-footer .site-footer__bibliographic dt {
  font: 750 11px/1.4 var(--ed-ui-sans);
  letter-spacing: .14em;
}
.site-footer .site-footer__bibliographic dd {
  font: 700 clamp(1.03rem, 1.45vw, 1.22rem)/1.4 var(--ed-ui-sans);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  letter-spacing: .05em;
}
.site-footer .site-footer__publication-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 10px 30px;
  font-size: inherit;
  line-height: inherit;
}
.site-footer .site-footer__publication-line > p {
  padding: 0;
  margin: 0;
}
.site-footer .site-footer__copyright {
  color: var(--ed-footer-text);
  font: 500 clamp(.94rem, 1.2vw, 1.04rem)/1.5 var(--ed-serif);
}
.site-footer .site-footer__publisher {
  color: color-mix(in srgb, var(--ed-footer-text) 77%, transparent);
  font: italic 400 clamp(.9rem, 1.2vw, 1.03rem)/1.5 var(--ed-serif);
}
.site-footer .site-footer__rights {
  color: color-mix(in srgb, var(--ed-footer-text) 65%, transparent);
  grid-column: 1 / -1;
  font: 500 .75rem/1.5 var(--ed-ui-sans);
  letter-spacing: .025em;
}
.site-footer .site-footer__legal {
  border-top: 1px solid color-mix(in srgb, var(--ed-footer-text) 30%, transparent);
  padding-top: clamp(20px, 2.6vw, 32px);
  padding-bottom: clamp(30px, 4vw, 60px);
}
.site-footer .site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px clamp(16px, 2.3vw, 38px);
  list-style: none;
  margin: 0;
  padding: 0;
  row-gap: 8px;
}
.site-footer .site-footer__nav > li { display: block; margin: 0; padding: 0; min-width: 0; }
.site-footer .site-footer__nav .site-footer__contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  min-width: 44px;
  padding: 7px 0;
  font: 750 11px/1.4 var(--ed-ui-sans);
  letter-spacing: .11em;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--ed-footer-text) 38%, transparent);
}
.site-footer .site-footer__nav .site-footer__contact-link:hover,
.site-footer .site-footer__nav .site-footer__contact-link:focus-visible {
  color: var(--ed-accent-text-on-dark);
  border-color: currentColor;
}

@media (max-width: 980px) {
  .site-footer .site-footer__lead {
    grid-template-columns: 1fr;
    gap: clamp(32px, 5vw, 54px);
  }
  .site-footer .site-footer__manifesto { justify-self: start; }
  .site-footer .site-footer__publication {
    grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr);
  }
}
@media (max-width: 680px) {
  .site-footer { padding-top: 50px; }
  .site-footer .site-footer__lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-bottom: 40px;
  }
  .site-footer .site-footer__brand {
    font-size: clamp(2.55rem, 15.7vw, 4.35rem);
    letter-spacing: -.068em;
    gap: .06em;
  }
  .site-footer .site-footer__brand-wrap { width: fit-content; max-width: 100%; }
  .site-footer .site-footer__brand-lockup { max-width: min(100%, 540px); }
  .site-footer .site-footer__manifesto {
    font-size: clamp(1.05rem, 4.6vw, 1.24rem);
    line-height: 1.45;
    max-width: 30ch;
    margin: 0;
  }
  .site-footer .site-footer__publication {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-top: 28px;
    padding-bottom: 32px;
  }
  .site-footer .site-footer__bibliographic,
  .site-footer .site-footer__publication-line { grid-column: 1; }
  .site-footer .site-footer__publication-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .site-footer .site-footer__copyright { font-size: .95rem; }
  .site-footer .site-footer__publisher { font-size: .91rem; max-width: 42ch; }
  .site-footer .site-footer__rights { font-size: .72rem; grid-column: auto; }
  .site-footer .site-footer__legal { padding-top: 22px; padding-bottom: 38px; }
  .site-footer .site-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 18px;
  }
  .site-footer .site-footer__nav .site-footer__contact-link {
    font-size: 11.5px;
    letter-spacing: .045em;
    max-width: 100%;
    text-wrap: pretty;
  }
}
@media (max-width: 345px) {
  .site-footer .site-footer__brand {
    font-size: clamp(2.5rem, 15vw, 3.15rem);
  }
  .site-footer .site-footer__nav { gap: 6px 12px; }
  .site-footer .site-footer__nav .site-footer__contact-link { font-size: 10px; letter-spacing: .025em; }
}
