/* Images inserted through the rich text editor follow the text column width. */
.boardgame-description,
.trpg-rich-content {
    width: 100%;
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
}

.boardgame-description img,
.trpg-rich-content img,
.news-detail-content img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0;
    object-fit: contain;
}

.boardgame-description figure,
.trpg-rich-content figure,
.news-detail-content figure {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
}

.boardgame-description figure img,
.trpg-rich-content figure img,
.news-detail-content figure img {
    margin: 0;
}

.boardgame-description p:has(> img),
.trpg-rich-content p:has(> img),
.news-detail-content p:has(> img) {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 0;
}

.boardgame-description p:has(> img) > br,
.trpg-rich-content p:has(> img) > br,
.news-detail-content p:has(> img) > br,
.boardgame-description p:has(> img) > span:empty,
.trpg-rich-content p:has(> img) > span:empty,
.news-detail-content p:has(> img) > span:empty {
    display: none;
}

/* Snails uses consecutive slices of one long image. */
.boardgame-description.is-sliced-image-sequence img,
.boardgame-description.is-sliced-image-sequence figure {
    margin-top: 0;
    margin-bottom: 0;
}

.boardgame-description.is-sliced-image-sequence p:has(> img) {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 0;
}

/* Dark Blood uses consecutive slices of one long image. */
.news-detail-content.is-sliced-image-sequence .news-imported-figure,
.news-detail-content.is-sliced-image-sequence .news-imported-figure img {
    margin-top: 0;
    margin-bottom: 0;
}

.news-detail-content.is-sliced-image-sequence .news-imported-figure {
    line-height: 0;
}

.news-detail-content.is-sliced-image-sequence .news-imported-figure img {
    vertical-align: top;
}

.boardgame-description.is-sliced-image-sequence .bilibili-cover-embed .news-video-embed {
    width: 100%;
    height: 100%;
    margin: 0;
}

.boardgame-description.is-sliced-image-sequence .bilibili-cover-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Product facts are informational values, so keep them at regular weight. */
.boardgame-detail-copy .boardgame-facts dd {
    font-weight: 400;
}

/* Five product facts stay on one compact row at normal desktop widths. */
.boardgame-detail-copy .boardgame-facts {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px;
    width: 100%;
    max-width: 760px;
}

.boardgame-detail-copy .boardgame-facts div {
    display: grid;
    grid-template-rows: 20px 24px;
    align-content: start;
    min-width: 0;
    padding: 11px 10px;
}

.boardgame-detail-copy .boardgame-facts dt {
    margin: 0;
    font-size: 13px;
    line-height: 20px;
}

.boardgame-detail-copy .boardgame-facts dd {
    font-size: clamp(13px, .95vw, 15px);
    line-height: 24px;
    letter-spacing: -.02em;
    overflow-wrap: normal;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .boardgame-detail-copy .boardgame-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .boardgame-detail-copy .boardgame-facts dd {
        white-space: normal;
    }
}
