/* Content Commerce Rebuild R1: reader-first Japanese presentation */
body,
h1,h2,h3,h4,
.kdl-summary h2,
.kdl-comparison-intro h2,
.kdl-brand,
.kdl-button,
.kdl-chip,
.kdl-card,
.kdl-problem-card,
.koru-offer {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, "Segoe UI", sans-serif;
}

h1,h2,h3,h4 { font-weight: 700; letter-spacing: -.015em; }
.kdl-kicker { text-transform:none; letter-spacing:.04em; }
.kdl-home-products { margin-top:34px; }
.kdl-product-entry { display:flex; flex-direction:column; min-height:220px; }
.kdl-product-entry h3 { margin-top:0; }
.kdl-product-entry .kdl-card-action { margin-top:auto; }
.kdl-dogs-quiet { border-top:1px solid var(--kdl-line); padding-top:34px; }
.kdl-comparison-intro { background:#f8f7f1; border:1px solid var(--kdl-line); border-radius:var(--kdl-radius); margin:26px 0 34px; padding:20px 22px; }
.kdl-comparison-intro h2 { font-size:1.2rem; margin:0 0 8px; }
.kdl-comparison-intro p:last-child { margin-bottom:0; }

.kdl-r1-block { margin:0 0 42px; }
.kdl-r1-block > section { margin:0 0 28px; }
.kdl-r1-block h2 { font-size:clamp(1.3rem,2.5vw,1.65rem); margin:0 0 12px; }
.kdl-r1-block h3 { font-size:1rem; margin:0 0 7px; }
.kdl-r1-answer { background:#f4f7f1; border-left:4px solid var(--kdl-accent); border-radius:0 14px 14px 0; padding:20px 22px; }
.kdl-r1-answer .kdl-kicker { margin:0 0 5px; }
.kdl-r1-answer p:last-child { margin-bottom:0; }
.kdl-r1-evidence { border-top:1px solid var(--kdl-line); padding-top:24px; }
.kdl-r1-guard,.kdl-r1-note { color:var(--kdl-muted); font-size:.86rem; line-height:1.75; }
.kdl-r1-product { background:#fff; border:1px solid var(--kdl-line); border-radius:16px; box-shadow:0 8px 28px rgba(30,40,32,.06); padding:22px; }
.kdl-r1-product-specs { display:grid; gap:0; margin:14px 0 18px; }
.kdl-r1-product-specs > div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #eceee8; }
.kdl-r1-product-specs dt { color:var(--kdl-muted); font-size:.78rem; font-weight:700; }
.kdl-r1-product-specs dd { margin:0; line-height:1.65; }
.kdl-r1-review-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.kdl-r1-review-grid > div { background:#f8f8f4; border-radius:12px; padding:15px; }
.kdl-r1-source-list { display:flex; flex-wrap:wrap; gap:7px 14px; list-style:none; margin:10px 0 0; padding:0; }
.kdl-r1-source-list a { font-size:.8rem; }
.kdl-r1-sources { border-top:1px solid var(--kdl-line); padding-top:22px; }
.kdl-r1-sources > p { color:var(--kdl-muted); font-size:.84rem; }

.kdl-mobile-table-cards { display:none; }

@media (max-width:720px) {
  .kdl-comparison-scroll.kdl-has-mobile-cards { border:0; border-radius:0; margin:1.5rem 0 2rem; max-width:100%; overflow:visible; width:100%; }
  .kdl-comparison-scroll.kdl-has-mobile-cards > table { display:none; }
  .kdl-mobile-table-cards { display:grid; gap:12px; }
  .kdl-mobile-table-card { background:#fff; border:1px solid var(--kdl-line); border-radius:14px; box-shadow:0 5px 18px rgba(34,42,34,.05); margin:0; padding:14px 15px; }
  .kdl-mobile-table-card dl { margin:0; }
  .kdl-mobile-table-pair { display:grid; grid-template-columns:minmax(92px,36%) minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #eceee8; }
  .kdl-mobile-table-pair:last-child { border-bottom:0; }
  .kdl-mobile-table-pair dt { color:var(--kdl-muted); font-size:.76rem; font-weight:700; line-height:1.55; margin:0; }
  .kdl-mobile-table-pair dd { color:var(--kdl-ink); font-size:.88rem; line-height:1.62; margin:0; min-width:0; overflow-wrap:anywhere; }
  .kdl-mobile-table-pair dd > :last-child { margin-bottom:0; }
  .kdl-home-products .kdl-grid { display:flex; gap:12px; overflow-x:auto; padding:0 0 8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .kdl-home-products .kdl-grid::-webkit-scrollbar { display:none; }
  .kdl-home-products .kdl-product-entry { flex:0 0 min(82vw,330px); scroll-snap-align:start; }
  .kdl-r1-answer,.kdl-r1-product { padding:17px; }
  .kdl-r1-product-specs > div { grid-template-columns:1fr; gap:3px; }
  .kdl-r1-review-grid { grid-template-columns:1fr; }
}