/* denim-patches · 详情页：正文缝在一枚大贴章里 */
.dp-detail { max-width: 960px; margin: 0 auto; }
.dp-detail .detail-breadcrumb { padding: 4px 0 12px; color: var(--dp-light); }
.dp-detail .detail-breadcrumb a { color: #ffd27a; font-weight: 600; }
.dp-detail .detail-top-ad:has(.ad) { margin: 4px 0 24px; }

.dp-sewn { background: var(--dp-patch); color: var(--dp-ink); border: 8px solid var(--dp-thread); border-radius: 26px; outline: 3px dashed var(--dp-thread); outline-offset: -18px; }
.dp-sewn-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 30px 40px 20px; border-bottom: 2px dashed #cbd5e1; }
.dp-sewn-head h1 { margin: 0; font-family: var(--dp-display); font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.14; }
.dp-sewn-byline { margin: 0; font-size: .9rem; color: var(--dp-soft); }
.dp-sewn-body { padding: 22px 40px 30px; }
.dp-sewn-body .detail-summary { padding: 14px 18px; border-radius: 12px; background: #eef2f7; line-height: 1.6; }
.dp-sewn-body .detail-prose { max-width: 70ch; font-size: 1.08rem; line-height: 1.75; }
.dp-sewn-body .detail-prose a { color: #1f4f8a; }

.dp-hem { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 28px 0 8px; }
.dp-hem-link { display: grid; gap: 6px; padding: 14px 18px; background: #fff; color: var(--dp-ink); border-radius: 14px; outline: 2px dashed var(--dp-gold); outline-offset: -6px; }
.dp-hem-link:hover .dp-hem-title { text-decoration: underline; }
.dp-hem-dir { font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--dp-soft); }
.dp-hem-title { font-weight: 600; line-height: 1.35; }
.dp-hem-next { grid-column: 2; text-align: right; }

@media (max-width: 767px) {
    .dp-sewn { border-width: 5px; border-radius: 18px; outline-offset: -12px; }
    .dp-sewn-head { gap: 10px; padding: 20px 20px 14px; }
    .dp-sewn-head h1 { font-size: 1.65rem; }
    .dp-sewn-body { padding: 16px 20px 22px; }
    .dp-hem { grid-template-columns: minmax(0, 1fr); }
    .dp-hem-next { grid-column: auto; text-align: left; }
}
