/* Production archive, sparse-result and source-gallery presentation. */

.archive-layout {
  grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5rem);
}

.archive-layout--without-navigation {
  display: block;
}

.archive-layout--without-navigation .archive-results {
  width: min(100%, 64rem);
  margin-inline: auto;
}

.archive-results__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 2rem;
  align-items: end;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--line);
}

.archive-results__heading h2 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: clamp(2rem, 3.8vw, 3.6rem);
}

.archive-results__count {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 .35rem;
  color: var(--red-dark);
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.archive-ledger {
  border-top: 1px solid var(--line);
}

.archive-record {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  padding-block: clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--line);
}

.archive-record--with-image {
  grid-template-columns: 7.5rem minmax(0, 1fr) minmax(13rem, 19rem);
}

.archive-record__meta {
  display: grid;
  gap: 1rem;
}

.archive-record__meta time {
  display: grid;
  color: var(--red-dark);
  line-height: 1;
}

.archive-record__month,
.archive-record__year {
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.archive-record__day {
  margin-block: .15rem;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 2.8rem;
  font-weight: 650;
  letter-spacing: -.04em;
}

.archive-record__category {
  color: var(--blue);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none;
  text-transform: uppercase;
}

.archive-record__content {
  min-width: 0;
}

.archive-record__content h3 {
  max-width: 24ch;
  margin-bottom: .75rem;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.03;
  overflow-wrap: anywhere;
}

.archive-record__content h3 a {
  color: var(--ink);
  text-decoration: none;
}

.archive-record__content h3 a:hover {
  color: var(--red-dark);
}

.archive-record__excerpt {
  max-width: 43rem;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.65;
}

.archive-record__excerpt p:last-child {
  margin-bottom: 0;
}

.archive-record__more {
  display: inline-flex;
  margin-top: 1.25rem;
  color: var(--blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.archive-record__image {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--paper);
}

.archive-record__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.archive-record__image:hover img {
  transform: scale(1.025);
}

.archive-results--single .archive-ledger {
  border: 1px solid var(--line);
  background: var(--paper);
}

.archive-results--single .archive-record {
  min-height: 24rem;
  padding: clamp(2rem, 5vw, 4rem);
  border-bottom: 0;
}

.archive-results--single .archive-record__content h3 {
  max-width: 18ch;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
}

.archive-results--single .archive-record__excerpt {
  max-width: 38rem;
  font-size: clamp(1.08rem, 1.5vw, 1.25rem);
}

.category-children {
  max-height: calc(100vh - 10rem);
  overflow: auto;
}

.category-children a span {
  overflow-wrap: anywhere;
}

/* Gutenberg and migrated source galleries. */
.prose-entry .wp-block-gallery.has-nested-images,
.prose-entry .migration-gallery,
.page-id-photo-gallery .wp-block-gallery.has-nested-images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.75rem, 2vw, 1.25rem);
  align-items: stretch;
}

.prose-entry .wp-block-gallery.has-nested-images figure.wp-block-image,
.prose-entry .migration-gallery figure,
.page-id-photo-gallery .wp-block-gallery.has-nested-images figure.wp-block-image {
  position: relative;
  display: block;
  width: auto !important;
  margin: 0 !important;
  overflow: hidden;
  background: var(--paper);
}

.prose-entry .wp-block-gallery.has-nested-images figure.wp-block-image a,
.prose-entry .migration-gallery figure a,
.page-id-photo-gallery .wp-block-gallery.has-nested-images figure.wp-block-image a {
  display: block;
  height: 100%;
}

.prose-entry .wp-block-gallery.has-nested-images figure.wp-block-image img,
.prose-entry .migration-gallery figure img,
.page-id-photo-gallery .wp-block-gallery.has-nested-images figure.wp-block-image img {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.prose-entry .wp-block-gallery figcaption,
.prose-entry .migration-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 2.5rem 1rem .85rem;
  background: linear-gradient(to top, rgba(5, 12, 22, .9), transparent);
  color: var(--white);
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(.5rem);
  transition: opacity .2s ease, transform .2s ease;
}

.prose-entry .wp-block-gallery figure:hover figcaption,
.prose-entry .wp-block-gallery figure:focus-within figcaption,
.prose-entry .migration-gallery figure:hover figcaption,
.prose-entry .migration-gallery figure:focus-within figcaption {
  opacity: 1;
  transform: none;
}

.primary-menu .sub-menu {
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(70vh, 36rem);
  overflow-y: auto;
}

@media (max-width: 70rem) {
  .archive-layout {
    grid-template-columns: 1fr;
  }

  .category-children {
    max-height: none;
  }

  .archive-record--with-image {
    grid-template-columns: 6.5rem minmax(0, 1fr) minmax(11rem, 16rem);
  }
}

@media (max-width: 52rem) {
  .archive-results__heading {
    display: block;
  }

  .archive-results__count {
    margin-bottom: .7rem;
  }

  .archive-record,
  .archive-record--with-image,
  .archive-results--single .archive-record {
    grid-template-columns: 1fr;
    gap: 1.35rem;
    min-height: 0;
  }

  .archive-record__meta {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
  }

  .archive-record__meta time {
    display: flex;
    gap: .35rem;
    align-items: baseline;
  }

  .archive-record__day {
    order: -1;
    font-size: 2rem;
  }

  .archive-record__image {
    grid-row: 2;
    aspect-ratio: 16 / 9;
  }

  .archive-record__content {
    grid-row: 3;
  }

  .prose-entry .wp-block-gallery.has-nested-images,
  .prose-entry .migration-gallery,
  .page-id-photo-gallery .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 35rem) {
  .archive-record__meta {
    display: grid;
  }

  .prose-entry .wp-block-gallery.has-nested-images,
  .prose-entry .migration-gallery,
  .page-id-photo-gallery .wp-block-gallery.has-nested-images {
    grid-template-columns: 1fr;
  }

  .prose-entry .wp-block-gallery figcaption,
  .prose-entry .migration-gallery figcaption {
    position: static;
    padding: .75rem;
    background: var(--ink);
    opacity: 1;
    transform: none;
  }
}
