/* Scoped, source-reviewed cloth-dice story. */
body[data-dice-editorial] { --toy-accent:#8e641b; }
.db-main { max-width:1200px; margin:auto; }
.db-main :is(h1,h2,h3) { font-family:var(--serif); line-height:1.4; text-wrap:balance; color:#343c30; }
.db-main h1 { font-size:clamp(2.3rem,4.5vw,4rem); margin:18px 0 24px; }
.db-main h2 { font-size:clamp(1.65rem,2.8vw,2.25rem); margin:10px 0 20px; }
.db-main h3 { font-size:1.15rem; margin-bottom:16px; }
.db-main em { font-style:normal; color:#89631d; }
.db-main p { line-height:1.95; color:#535c4d; }
.db-main a { color:#49623e; text-underline-offset:5px; }
.db-eyebrow { font-size:.82rem; font-weight:600; letter-spacing:.07em; color:#716044!important; }
.db-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:50px; padding:30px 28px 64px; }
.db-hero > *,.db-play > *,.db-care > * { min-width:0; }
.db-photo { margin:0; }
.db-photo img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:16px; }
.db-photo figcaption { margin-top:12px; color:#626855; font-size:.82rem; line-height:1.8; }
.db-facts { display:flex; flex-wrap:wrap; gap:20px 30px; border-block:1px solid #e0d8bd; padding:18px 0; margin:25px 0 20px; }
.db-facts dt { color:#77735e; font-size:.78rem; }
.db-facts dd { margin:3px 0 0; color:#454c38; font-size:.98rem; }
.db-watch { border-left:3px solid #c3a153; padding-left:14px; font-size:.88rem; }
.db-links { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:24px; align-items:center; }
.db-links a { display:inline-flex; min-height:48px; align-items:center; justify-content:center; }
.db-links .db-primary { padding:10px 24px; border-radius:28px; background:#4a6741; color:white; text-decoration:none; }
.db-section { padding:56px 28px; scroll-margin-top:100px; }
.db-play { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:center; background:#fcf5df; }
.db-play-steps,.db-wash-steps { padding:0; list-style:none; margin:25px 0 0; counter-reset:db-step; }
.db-play-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.db-play-steps li { padding:16px 10px 12px; border-top:2px solid #cfae67; }
.db-play-steps li:nth-child(2) { border-color:#b58c79; }
.db-play-steps li:nth-child(3) { border-color:#8eaa8e; }
.db-play-steps strong,.db-play-steps span { display:block; }
.db-play-steps strong { margin-bottom:8px; color:#58482c; }
.db-play-steps span { font-size:.85rem; line-height:1.85; color:#656754; }
.db-care { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.db-wash-steps { margin-top:0; }
.db-wash-steps li { counter-increment:db-step; display:grid; grid-template-columns:32px minmax(0,1fr); gap:3px 12px; padding:18px 0; border-bottom:1px solid #dedfcf; }
.db-wash-steps li::before { content:"0" counter(db-step); grid-row:span 2; color:#82601f; font-size:.85rem; padding-top:3px; }
.db-wash-steps strong { color:#47533c; }
.db-wash-steps span { font-size:.9rem; color:#606952; line-height:1.9; }
.db-options { max-width:850px; margin:auto; border-block:1px solid #dfddca; }
.db-archive { margin-top:28px; border:1px solid #dedac6; padding:16px 20px; border-radius:14px; background:#fffdf6; }
.db-archive summary,.db-faq summary { min-height:44px; cursor:pointer; color:#4b563f; line-height:1.8; padding:8px 0; }
.db-archive > p { margin:12px 0 24px; font-size:.9rem; }
.db-archive .db-photo { max-width:640px; margin:auto; }
.db-original { display:inline-flex; min-height:44px; align-items:center; }
.db-main .specs-section { background:transparent; }
.db-main .specs-box { margin:28px 0 0; max-width:none; padding:30px; border-radius:14px; box-shadow:none; }
.db-main .spec-col li { color:#535c4d; }
.db-faq { max-width:850px; margin:auto; }
.db-faq details { border-bottom:1px solid #dadcca; padding:14px 0; }
.db-faq details p { margin:12px 0; font-size:.93rem; }
.db-purchase { padding:48px 28px 64px; background:#fcf5df; scroll-margin-top:95px; }
.db-help { display:flex; align-items:center; justify-content:center; min-height:48px; margin-top:18px; }
.db-main :is(a,button,summary):focus-visible { outline:3px solid #5e804c; outline-offset:5px; }
body[data-dice-editorial] .reveal { opacity:1; transform:none; }
body[data-dice-editorial] .modal-photo { object-fit:contain; }
body[data-dice-editorial] .db-modal-note { padding:14px 18px; color:#5c634e; font-size:.85rem; line-height:1.8; }
body[data-dice-editorial] :is(.sz-btn,.qty-btn-m,.modal-x,.buy-bar-btn) { min-width:44px; min-height:44px; }
@media(max-width:900px) {
 .db-hero,.db-play,.db-care { grid-template-columns:1fr; gap:28px; }
 .db-hero { padding:20px 24px 40px; }
 .db-section { padding:40px 24px; }
 .db-main .specs-grid { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:560px) {
 .db-hero,.db-section { padding-inline:20px; }
 .db-main h1 { font-size:2.35rem; }
 .db-links > a { width:100%; }
 .db-play-steps { grid-template-columns:1fr; }
 .db-play-steps li { display:grid; grid-template-columns:75px minmax(0,1fr); gap:12px; padding:15px 0; border-top-width:1px; }
 .db-play-steps strong { margin:0; }
 .db-main .specs-box { padding:22px 18px; }
 .db-archive { padding:14px; }
 .db-purchase { padding-inline:20px; }
 .db-main .btn-buy-large { padding:16px 22px; width:100%; white-space:normal; }
 body[data-dice-editorial] .buy-bar-name { display:none; }
 body[data-dice-editorial] .buy-bar { gap:14px; padding:12px 18px; }
 body[data-dice-editorial] .buy-bar-btn { flex-shrink:0; padding:10px 16px; }
 body[data-dice-editorial] #hibouScrollTop { bottom:8rem; }
}
