/**
 * Keep-page content (P5.1).
 *
 * Room pages follow Raum Vorlage: media and caption centred in the
 * scrolling column. Zeit / Info / Initiativen stay a left-aligned
 * document flow (P2.7 dropped the Dreamweaver tables; the 18 table pages
 * now use the ported original layout, legacy.css, P5.9). Photos use the
 * original HTML embed box, not the file's pixel size.
 */

.page {
  color: var(--color-text);
  padding: var(--space-5) 0 var(--space-6);
}

@media (min-width: 768px) {
  .page--center {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.page-body p {
  margin: 0 0 var(--space-3);
}

.page-body p:last-child {
  margin-bottom: 0;
}

.page-body img {
  display: inline-block;
  vertical-align: top;
}

.page--center .page-body {
  max-width: 100%;
}

/* 1hof2: a year under each photo (original &nbsp; row), not one shared caption. */
.photo-pair {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1.25em;
  margin: 0;
}

.photo-pair-item {
  margin: 0;
}

.photo-pair-item img {
  display: block;
  vertical-align: top;
}

.photo-pair-item figcaption {
  margin-top: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-2);
}

.page--portrait .portrait-strip-figure {
  float: left;
  margin: 0 var(--space-4) var(--space-4) 0;
}

.page--portrait .page-body::after {
  content: "";
  display: table;
  clear: both;
}

.img-swap {
  position: relative;
  display: inline-block;
}

.img-swap-over {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.img-swap:hover .img-swap-over,
.img-swap:focus-visible .img-swap-over,
.page:has([data-img-hover]:hover) .img-swap-over,
.page:has([data-img-hover]:focus-visible) .img-swap-over {
  opacity: 1;
}

.media-missing {
  margin: 0;
}

.media-missing-box {
  width: calc(var(--w) * 1px);
  height: calc(var(--h) * 1px);
  max-width: 100%;
  background: var(--color-bg);
}

.media-missing-caption {
  margin-top: var(--space-1);
  font-family: var(--font-body);
  font-size: var(--font-size-2);
}

/* Restoration notes (P5.7). Not an original page; same type, slightly narrower measure. */
.page--colophon {
  max-width: 36em;
}

.page--colophon h1 {
  margin: 0 0 var(--space-4);
}

.page--colophon h2 {
  margin: var(--space-5) 0 var(--space-2);
}

.page--colophon ul {
  margin: 0 0 var(--space-3);
  padding-left: var(--space-4);
}

.page--colophon li {
  margin-bottom: var(--space-1);
}

.page--colophon li:last-child {
  margin-bottom: 0;
}
