/* BGW-ABOUT 1.3.8 – Publikationen und No. 5; nur innerhalb von <main>. */
.publications-main, .no5-main {
  padding-inline: clamp(22px, 5.5vw, 75px);
}
.publications-main { padding-inline: clamp(22px, 4.5vw, 60px); }
.publications-main__inner { max-width: 1240px; margin: 0 auto; padding-top: clamp(65px, 6.5vw, 100px); }
.publications-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(66px, 7vw, 98px) clamp(35px, 4vw, 62px);
}
.publication { min-width: 0; margin: 0; padding: 0; }
.publication__cover {
  width: 100%; height: auto; aspect-ratio: 20 / 23;
  display: flex; justify-content: center; align-items: center;
  padding: 0; margin: 0 0 20px;
}
.publication__cover img {
  display: block; width: auto; height: auto;
  max-width: 100%; max-height: 100%; object-fit: contain;
}
.publication__cover-link { display: block; text-decoration: none; }
.publication__cover-link:hover img { opacity: .89; }
.publication__cover-link img { transition: opacity .3s ease; }
.publication__cover-link:focus-visible { outline: 2px solid var(--bgw-accent); outline-offset: 5px; }
.publication__title {
  margin: 0 0 11px; padding: 0;
  font: 500 1.11rem/1.35 var(--bgw-serif); letter-spacing: .035em; color: #222;
}
.publication__meta {
  margin: 0; font: 400 1.02rem/1.2 var(--bgw-serif);
  letter-spacing: .02em; color: #777;
}
.publication__more {
  display: inline-block; margin-top: 12px; padding-bottom: 4px;
  font: 400 .69rem/1.5 var(--bgw-sans); letter-spacing: .06em;
  text-transform: uppercase; text-decoration: none;
  border-bottom: 1px solid #999; color: #666;
  transition: color .25s ease, border-color .25s ease;
}
.publication__more:is(:hover,:focus-visible) { color: var(--bgw-accent); border-color: currentColor; }
/* No. 5: zweispaltige Buchpräsentation, weiterhin ohne eigenen Header. */
/* Nur die Buchdetailseite: ca. 5 % schmaler, die Publikationsuebersicht bleibt bei 1240px. */
.no5-main__inner { max-width: 1045px; margin: 0 auto; padding-top: clamp(65px, 6.5vw, 100px); }
.no5-main__title {
  margin: 0 auto clamp(60px, 7vw, 100px); text-align: center;
  color: #222; font: 300 2.0625rem/1.3 var(--bgw-serif);
  letter-spacing: .22em;
}
.no5-layout { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1fr); gap: clamp(45px, 5.5vw, 78px); align-items: start; }
.no5-layout__cover { min-width: 0; }
.no5-cover-button { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.no5-cover-button img { display: block; width: 100%; height: auto; object-fit: contain; }
.no5-cover-button:focus-visible { outline: 2px solid var(--bgw-accent); outline-offset: 5px; }
.no5-subtitle {
  font: 400 .82rem/1.8 var(--bgw-sans); text-transform: uppercase;
  letter-spacing: .14em; color: #888; margin: 0 0 20px; padding: 0;
}
.no5-text { font: 400 1.22rem/1.75 var(--bgw-serif); letter-spacing: .02em; color: #222; }
.no5-text > p { margin: 0; }
.no5-excerpt { font: inherit; font-style: italic; color: #444; border: 0; margin: 1.8em 0 0; padding: 0; }
.no5-excerpt p { margin: 0; }
.no5-audio { margin-top: 55px; }
.no5-audio-item { margin: 12px 0; }
.no5-audio-button {
  display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center;
  gap: 16px; width: 100%; padding: 4px 0;
  border: none; background: none; color: #444; cursor: pointer; text-align: left;
  font-family: var(--bgw-serif); transition: color .25s ease;
}
.no5-audio-button:hover { color: var(--bgw-accent); }
.no5-audio-button:focus-visible { outline: 1px solid #aaa; outline-offset: 5px; }
.no5-audio-symbol { display: block; width: 20px; height: 20px; }
.no5-play-icon { display: block; width: 17px; height: 17px; fill: currentColor; }
.no5-audio-title { min-width: 0; font: 400 1.13rem/1.5 var(--bgw-serif); letter-spacing: .03em; }
.no5-audio-time { font: 400 .72rem/1.5 var(--bgw-sans); letter-spacing: .03em; color: #999; white-space: nowrap; }
.no5-data { margin-top: 60px; font: 400 .79rem/1.85 var(--bgw-sans); letter-spacing: .035em; color: #444; }
.no5-data > p { margin: 0; }
.no5-order { margin-top: 40px; }
/* Buchbestellung: sichtbar, aber ohne optische Dominanz gegenüber dem Cover. */
.no5-order__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 46px;
  padding: 13px 21px;
  border: 1px solid #777;
  border-radius: 3px;
  background: #f9f9f7;
  color: #292929;
  font: 500 .94rem/1.4 var(--bgw-sans);
  letter-spacing: .035em;
  text-decoration: none;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.no5-order__arrow {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .25s ease;
}
.no5-order__link[href] { cursor: pointer; }
.no5-order__link[href]:is(:hover, :focus-visible) {
  border-color: #333;
  background: #f0f0ed;
  color: #161616;
}
.no5-order__link[href]:is(:hover, :focus-visible) .no5-order__arrow {
  transform: translate(2px, -2px);
}
.no5-order__link[href]:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
/* Bis eine echte Bestelladresse vorliegt: bereits als <a> vorbereitet,
   aber ohne href und damit bewusst nicht als aktiver Link ausgegeben. */
.no5-order__link--pending {
  cursor: default;
  border-color: #999;
  background: #fafaf9;
  color: #464646;
}
@media (prefers-reduced-motion: reduce) {
  .no5-order__link, .no5-order__arrow { transition: none; }
}
.no5-cover-overlay {
  position: fixed; inset: 0; z-index: 5000; display: flex;
  align-items: center; justify-content: center; padding: 5vh 5vw;
  background: rgba(255,255,255,.98);
}
.no5-cover-overlay[hidden] { display: none; }
.no5-cover-overlay img { display: block; max-width: 90vw; max-height: 90vh; width: auto; height: auto; object-fit: contain; cursor: pointer; }
.no5-cover-close { position: absolute; top: 15px; right: 22px; border: 0; background: transparent; color: #888; font: 300 2.5rem/1 var(--bgw-sans); cursor: pointer; }
.no5-cover-close:hover { color: #444; }
.no5-cover-close:focus-visible { outline: 2px solid #888; outline-offset: 4px; }
@media (max-width: 900px) {
 .publications-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .no5-layout { gap: 42px; }
}
@media (max-width: 660px) {
 .publications-main, .no5-main { padding-inline: 6%; }
 .publications-main__inner, .no5-main__inner { padding-top: 58px; }
 .publications-grid { grid-template-columns: 1fr; row-gap: 62px; }
 .publication__cover { aspect-ratio: auto; min-height: 0; max-height: 390px; }
 .publication__cover img { max-height: 390px; }
 .publication { max-width: 440px; width: 100%; margin-inline: auto; }
 .no5-main__title { font-size: 1.55rem; margin-bottom: 50px; }
 .no5-layout { grid-template-columns: 1fr; gap: 60px; }
 .no5-layout__cover { max-width: 440px; width: 100%; margin-inline: auto; }
 .no5-text { font-size: 1.17rem; }
 .no5-audio-button { grid-template-columns: 20px minmax(0,1fr); row-gap: 5px; }
 .no5-audio-time { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) { .publication__cover-link img { transition: none; } }
