/* Detail-only WebKit compatibility: keep media in ordinary document flow.
 * Never change URLs, authorization, or feed covers. */
#app:has(> .dw-detail-page),
.client-shell.dw-detail-page {
  overflow: visible;
}
.dw-detail-page .locked-content {
  display: block;
  overflow: visible;
}
.dw-detail-page .detail-media-gallery {
  display: block;
  width: 100%;
  min-width: 0;
}
.dw-detail-page .detail-media-gallery > .detail-cover {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: transparent;
}
.dw-detail-page .detail-media-gallery > .detail-cover + .detail-cover {
  margin-top: 8px;
}
.dw-detail-page .locked-content:not(.locked) > .detail-cover {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: transparent;
}
.dw-detail-page .detail-video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
}
/* The server still decides what a visitor may see. Make allowed previews
 * clear and display them only once; leave the membership gate intact. */
.dw-detail-page .locked-content.locked .detail-cover,
.dw-detail-page .locked-media-preview .locked-image-preview,
.dw-detail-page .locked-media-preview .locked-video-cover {
  filter: none;
  -webkit-filter: none;
  opacity: 1;
  transform: none;
}
.dw-detail-page .locked-media-preview,
.dw-detail-page .locked-preview-gallery {
  height: auto;
  max-height: none;
  overflow: visible;
}
.dw-detail-page .locked-media-preview .detail-cover {
  height: auto;
  max-height: none;
  object-fit: contain;
  background: transparent;
}
.dw-detail-page .locked-media-preview figcaption {
  display: none;
  position: static;
  margin: 8px 12px;
  background: transparent;
  color: var(--dw-muted, #666);
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.dw-detail-page .locked-content.locked > .detail-media-gallery,
.dw-detail-page .locked-content.locked > .detail-cover {
  display: none;
}
