.editorial-section { padding-block: clamp(32px, 6vw, 80px); }
.editorial-card, .detail-editorial {
  min-width: 0;
  padding: clamp(16px, 3.7vw, 46px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.editorial-card { width: min(100%, 1120px); margin-inline: auto; box-shadow: var(--shadow); }
.editorial-content.prose { min-width: 0; font-size: clamp(15px, 1.5vw, 17px); line-height: 1.95; }
.editorial-content.prose :is(h2, h3, h4) { color: var(--ink); line-height: 1.5; }
.editorial-content.prose h2 { font-size: clamp(23px, 2.5vw, 33px); margin-block: 32px 14px; }
.editorial-content.prose h3 { font-size: clamp(19px, 2vw, 25px); margin-block: 24px 10px; }
.editorial-content > h2 { padding-inline-start: 13px; border-inline-start: 3px solid var(--copper); }
.editorial-card .editorial-content > :is(p, h2, h3, h4, ul, ol, blockquote) {
  max-width: 74ch;
  margin-inline: auto;
}
.editorial-content.prose p { margin-block: 0 16px; }
.editorial-content ul, .editorial-content ol { padding-inline-start: 1.5em; }
.editorial-content li + li { margin-block-start: 6px; }
.editorial-content li::marker { color: var(--copper-dark); }
.editorial-content :is(figure, .wp-block-columns, .wp-block-details, blockquote, pre) { margin: 22px 0; }
.editorial-content > :first-child { margin-block-start: 0; }
.editorial-content > :last-child { margin-block-end: 0; }
.editorial-content :is(.alignwide, .alignfull, .wp-block-image, .wp-block-column) { max-width: 100%; min-width: 0; }
.editorial-content :is(img, video, iframe) { max-width: 100%; }
.editorial-content img { height: auto; }
.editorial-content figcaption { margin-top: 8px; color: var(--muted); font-size: .875em; line-height: 1.6; }
.editorial-cover { margin-block-end: 26px; }
.editorial-cover img, .detail-image img {
  width: 100%;
  max-height: min(560px, 70vh);
  object-fit: contain;
  border-radius: 14px;
  background: var(--tint);
}
.editorial-content blockquote {
  padding: 17px 21px;
  border-inline-start: 3px solid var(--copper);
  border-radius: 8px;
  background: var(--tint);
  color: var(--ink);
}
.editorial-content blockquote p:last-child { margin-bottom: 0; }
.editorial-content blockquote cite { display: block; margin-top: 7px; color: var(--muted); font-size: .875em; }
.editorial-content > .wp-block-columns { gap: 16px; }
.editorial-content > .wp-block-columns > .wp-block-column:not(.has-background) {
  padding: clamp(14px, 2.2vw, 26px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--tint);
}
.editorial-content .wp-block-details {
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--tint);
}
.editorial-content .wp-block-details summary { cursor: pointer; font-weight: 600; }
.editorial-content .wp-block-details summary::marker { color: var(--copper-dark); }
.editorial-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.editorial-content table { width: 100%; border-collapse: collapse; font-size: .95em; }
.editorial-content :is(th, td) { padding: 9px 12px; border: 1px solid var(--line); text-align: start; }
.editorial-content th { background: var(--tint); color: var(--ink); }
.editorial-content pre { padding: 14px; overflow: auto; border-radius: 9px; background: var(--tint); }
.editorial-pagination { margin-top: 24px; }

.editorial-content .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(155px, 100%), 1fr));
  gap: 12px;
}
.editorial-content .wp-block-gallery:empty { display: none; }
.editorial-content .wp-block-gallery figure.wp-block-image {
  /* Gallery columns follow the available width of the reading panel. */
  width: 100% !important;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--tint);
}
.editorial-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border-radius: 7px;
}
.editorial-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) figcaption {
  position: static;
  max-height: none;
  padding: 5px 0 0;
  background: none;
  color: var(--muted);
  text-shadow: none;
}
.editorial-content:has(> .wp-block-image + .wp-block-image + .wp-block-image) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr));
  gap: 12px;
}
.editorial-content:has(> .wp-block-image + .wp-block-image + .wp-block-image) > :not(.wp-block-image) { grid-column: 1 / -1; }
.editorial-content:has(> .wp-block-image + .wp-block-image + .wp-block-image) > .wp-block-image {
  display: grid;
  place-items: center;
  min-height: 110px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--tint);
}
.editorial-content:has(> .wp-block-image + .wp-block-image + .wp-block-image) > .wp-block-image img {
  display: block;
  max-width: 100%;
  max-height: 100px;
  object-fit: contain;
  border-radius: 5px;
}
.detail-gallery > a {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.detail-gallery > a img { width: 100%; height: clamp(130px, 22vw, 220px); object-fit: contain; }

@media (max-width: 680px) {
  .editorial-content .wp-block-columns:not(.is-not-stacked-on-mobile) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .detail-gallery > a, .editorial-content .wp-block-image { transition: border-color .2s ease; }
  .detail-gallery > a:hover, .editorial-content .wp-block-image:hover { border-color: var(--copper); }
}
