/* Reading layout only; the Premium diagnosis keeps its existing appearance. */
.premium-article-theme .premium-article-page { width: min(1240px, calc(100% - 48px)); }
.premium-article-theme .premium-detail-header h1 { line-height: 1.6; overflow-wrap: break-word; }
.premium-article-theme .article-hero-image { width: 100%; height: auto; max-height: 280px; aspect-ratio: 16 / 9; object-fit: cover; }
.premium-article-theme .premium-article-body { min-width: 0; line-height: 1.95; overflow-wrap: break-word; }
.premium-article-theme .premium-article-body > p strong,
.premium-article-theme .premium-article-body > :is(ul, ol) strong {
    font-weight: 700;
    text-decoration: underline #f2cf36 0.22em;
    text-underline-offset: -0.04em;
    text-decoration-skip-ink: none;
}
.premium-article-theme .premium-article-toc { max-height: calc(100vh - 132px); overflow-y: auto; }
.premium-article-theme .premium-article-toc summary { font-weight: 700; cursor: pointer; }
.premium-article-theme .premium-article-body table { display: block; max-width: 100%; overflow-x: auto; }
.premium-article-theme .premium-article-body :is(h2, h3) { scroll-margin-top: 110px; }
.premium-article-theme :is(a, summary, table):focus-visible { outline: 3px solid #a43d2d; outline-offset: 4px; }
@media (max-width: 1099px) {
    .premium-article-theme .article-layout { display: flex; flex-direction: column; gap: 24px; }
    .premium-article-theme .premium-article-toc { position: static; width: 100%; max-height: none; }
}
@media (max-width: 600px) {
    .premium-article-theme .premium-article-page { width: calc(100% - 24px); padding: 20px 16px; }
    .premium-article-theme .article-hero-image { max-height: 210px; }
    .premium-article-theme .article-product-card { grid-template-columns: 80px minmax(0, 1fr) !important; }
    .premium-article-theme .article-product-card__image-link { min-height: 0 !important; }
    .premium-article-theme .article-product-card img { max-width: 80px !important; height: auto; }
    .premium-article-theme .article-product-card__button { min-height: 44px !important; white-space: normal !important; line-height: 1.5 !important; padding: 8px !important; }
}
