/* Article detail only. No TOP/list, header, logo, mascot or shared thumbnail rules. */
.detail-page{width:calc(100% - 32px);max-width:1088px;margin:24px auto 40px;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;color:#243b46;align-items:start}
.detail-page .detail-main{min-width:0;background:#fff;padding:24px;border-radius:8px}
.detail-page .article-page{--an-type-h1:32px;--an-type-h2:26px;--an-type-h3:20px;--an-type-body:17px;--an-type-small:14px;--an-type-button:16px;width:100%;max-width:none;margin:0;padding:0;min-width:0}
body.media-v3.yomichi .detail-page .article-page .article-header{max-width:none;margin:0 0 18px;padding:0;background:transparent;border:0;box-shadow:none}
.detail-page .article-page .article-header h1{margin:8px 0 12px;text-wrap:pretty}
.detail-page .article-page .article-meta{margin-top:12px}
.detail-page .article-page .article-layout,.detail-page .article-ad-layout{display:block;width:100%;max-width:none;margin-top:20px}
.detail-page .article-page .prose{max-width:none;min-width:0;margin:0;color:#243b46}
.detail-page .article-page .prose :is(p,li,dt,dd,th,td){line-height:1.8!important;color:inherit}
.detail-page .article-page .prose p{margin:0 0 24px}
.detail-page .article-page .prose h2{margin:28px 0 12px;padding:10px 12px;background:#edf4f7;border:0;border-left:4px solid #476f82;border-radius:3px;color:#193c51}
.detail-page .article-page .prose h3{margin:16px 0 8px}
.detail-page .article-page .prose :is(figure,.madoka-photo){margin:10px 0 12px;padding:0;border:0;background:transparent}
.detail-page .article-page .prose figure img{width:100%;height:auto;max-height:none;object-fit:contain}
.detail-page .article-page .prose :is(figcaption,.smallprint,.product-identifiers){margin:6px 0 12px;line-height:1.7!important}
.detail-page .article-page .prose :is(.reader-section,.news-goods-card,[data-product-gallery]){padding:0;margin:16px 0;border:0;box-shadow:none;background:transparent;min-height:0}
.detail-page .article-page .prose [data-product-gallery] p{margin-bottom:12px}
.detail-page .article-page :is(.product-summary,.article-fact-summary){padding:12px;margin:16px 0;border:1px solid #dbe5e9;border-radius:4px;background:#f7fafb}
.detail-page .article-page :is(.product-summary dl,.goods-specs,.article-fact-summary dl){margin:0}
body.media-v3.yomichi .detail-page .article-page :is(.product-summary dl,.goods-specs,.article-fact-summary dl)>div{display:grid;grid-template-columns:minmax(5em,7em) minmax(0,1fr);gap:8px 12px;padding:8px 0;margin:0;border:0;border-bottom:1px solid #e3eaee;background:transparent}
.detail-page .article-page :is(.product-summary dl,.goods-specs,.article-fact-summary dl) :is(dt,dd){margin:0;min-width:0;overflow-wrap:anywhere}
.detail-page .detail-key-facts{margin:12px 0 20px;padding:12px 0;border-block:1px solid #d5e1e6}
.detail-page .detail-key-facts dl{margin:0}
.detail-page .detail-key-facts dl>div{display:grid;grid-template-columns:minmax(5em,8em) minmax(0,1fr);gap:8px 14px;margin:6px 0;font-size:16px;line-height:1.7}
.detail-page .detail-key-facts dt{font-weight:700;color:#193c51}
.detail-page .detail-key-facts dd{margin:0;overflow-wrap:anywhere}
.detail-page .detail-checked{font-size:14px;line-height:1.7;margin:8px 0 0;color:#52636c}
.detail-page .detail-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:12px 0 20px}
body.media-v3.yomichi .detail-page .article-page .detail-table-scroll table{display:table;min-width:560px;width:100%;border-collapse:collapse;table-layout:auto;margin:0}
body.media-v3.yomichi .detail-page .article-page .detail-table-scroll thead{display:table-header-group}
body.media-v3.yomichi .detail-page .article-page .detail-table-scroll tbody{display:table-row-group}
body.media-v3.yomichi .detail-page .article-page .detail-table-scroll tr{display:table-row}
body.media-v3.yomichi .detail-page .article-page .detail-table-scroll :is(th,td){display:table-cell;width:auto;min-width:7em;max-width:none;padding:10px 12px;white-space:normal;border:1px solid #dce5e9}
.detail-page .article-page [data-detail-specialist]{grid-column:1/-1}
.detail-page .article-aside{display:block;position:static;margin-top:24px}
.detail-page .article-approved-banner{position:static}
.detail-page .detail-side{min-width:0;width:300px;max-width:100%;margin:0 auto;display:grid;gap:20px;align-content:start}
.detail-page .detail-search label{display:block;font-size:16px;font-weight:700;margin-bottom:8px}
.detail-page .detail-search>div{display:flex;gap:6px}
.detail-page .detail-search input[type=search]{min-width:0;width:100%;height:44px;border:1px solid #a9bdc8;border-radius:4px;padding:8px;font:inherit}
.detail-page .detail-search button{min-width:56px;border:0;border-radius:4px;background:#193c51;color:#fff;font:inherit}
.detail-page .detail-card{margin:0;padding:0 0 16px;border:0;border-bottom:1px solid #dce5e9;background:transparent;box-shadow:none;min-width:0}
.detail-page .detail-card-picture{display:block;width:100%;background:#fff}
.detail-page .detail-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.detail-page .detail-card h3{font-size:17px;line-height:1.65;margin:8px 0 4px;overflow-wrap:anywhere}
.detail-page .detail-card-price{font-size:16px;font-weight:700;line-height:1.65;margin:0 0 5px;color:#193c51}
.detail-page .detail-card-credit{font-size:12px;line-height:1.6;margin:5px 0;color:#5b6a73;overflow-wrap:anywhere}
.detail-page .detail-card-link{font-size:15px;line-height:1.7;display:inline-block;margin-top:6px}
.detail-page .detail-rakuten-ad{display:block;position:static;width:300px;min-width:300px;margin:0;padding:0;border:0;background:transparent}
.detail-page .detail-ad-label{font-size:14px;font-weight:700;margin:0 0 6px}
.detail-page .detail-ad-note{font-size:13px;line-height:1.6;margin:6px 0 0}
.detail-page .detail-rakuten-ad iframe{display:block;max-width:none;border:0}
.detail-page .detail-table-scroll:focus-visible,.detail-page a:focus-visible,.detail-page button:focus-visible{outline:3px solid #b9831e;outline-offset:3px}
@media(min-width:1100px){.detail-page{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.detail-page .detail-side{margin:0}}
@media(max-width:767px){
 .detail-page{margin-top:16px;gap:24px}
 .detail-page .detail-main{padding:0;border-radius:0}
 .detail-page .detail-side{width:100%;max-width:100%;margin:0}
 .detail-page .detail-side .detail-card-picture,.detail-page .detail-side .detail-card img{width:100%;max-width:100%;height:auto;object-fit:contain}
 .detail-page .article-page{--an-type-h1:26px;--an-type-h2:22px;--an-type-h3:19px;--an-type-body:16px;--an-type-small:14px;--an-type-button:16px}
 .detail-page .article-page .prose p{margin-bottom:18px}
 .detail-page .article-page .prose h2{margin-top:24px;padding:8px 10px}
 .detail-page .article-page .prose :is(figure,.madoka-photo){margin:8px 0}
 .detail-page .article-page :is(.product-summary,.article-fact-summary){padding:10px}
 .detail-page .detail-key-facts dl>div{grid-template-columns:minmax(4em,6em) minmax(0,1fr);gap:8px;font-size:16px}
 body.media-v3.yomichi .detail-page .article-page [data-purchase-links-for] :is(.official-actions,.purchase-destinations__links),body.media-v3.yomichi .detail-page .article-page .goods-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .detail-page .article-page .official-actions>a,.detail-page .article-page .goods-actions>a{width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
}
/* Keep the approved 300px creative centered at 320px without constraining the image cards. */
@media(max-width:331px){.detail-page .detail-rakuten-ad{margin-left:calc((100% - 300px)/2)}}
