/* shop-awnings · 详情页：招牌写着标题的店面，篷下是店内正文 */
.aw-detail { max-width: 980px; margin: 0 auto; }
.aw-detail .detail-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 12px; color: var(--aw-soft); font-size: .92rem; }
.aw-detail .detail-breadcrumb a { flex: none; color: var(--aw-board); font-weight: 700; text-decoration: underline; }
.aw-detail .detail-top-ad:has(.ad) { margin: 8px 0 24px; }

.aw-front { border-radius: 10px; background: var(--aw-shop); box-shadow: 0 3px 0 var(--aw-line); }
.aw-front-fascia { padding: 22px 28px; border-radius: 10px 10px 0 0; background: var(--aw-board); color: #fff; }
.aw-front-fascia h1 { margin: 0; font-family: var(--aw-display); font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.1; letter-spacing: .005em; }
.aw-front .aw-awning { border-radius: 0; }
.aw-front-plate { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 6px 28px 0; padding: 10px 0 14px; border-bottom: 2px dotted var(--aw-line); }
.aw-front-keeper { font-size: .9rem; color: var(--aw-soft); }
.aw-front-inside { padding: 18px 28px 12px; }
.aw-front-inside .detail-summary { padding: 12px 16px; border-left: 5px solid var(--aw-tone); border-radius: 4px; background: var(--aw-street); line-height: 1.6; }
.aw-front-inside .detail-image img { border-radius: 6px; }
.aw-front-inside .detail-prose { max-width: 70ch; font-size: 1.08rem; line-height: 1.75; }
.aw-front-inside .detail-prose h2, .aw-front-inside .detail-prose h3 { font-weight: 700; color: var(--aw-board); }
.aw-front-inside .detail-prose a { color: #0f6f5e; }

.aw-next-door { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0 8px; }
.aw-next-door a { display: grid; gap: 4px; padding: 14px 18px; border-radius: 8px; background: var(--aw-shop); border-top: 6px solid var(--aw-tone); font-weight: 700; line-height: 1.35; box-shadow: 0 2px 0 var(--aw-line); }
.aw-next-door a:hover { color: var(--aw-board); text-decoration: underline; }
.aw-next-door small { font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; color: var(--aw-soft); }
.aw-next-door-r { grid-column: 2; text-align: right; }

@media (max-width: 767px) {
    .aw-front-fascia { padding: 14px; }
    .aw-front-fascia h1 { font-size: 1.6rem; }
    .aw-front-plate { margin: 4px 14px 0; }
    .aw-front-inside { padding: 14px 12px 8px; }
    .aw-next-door { grid-template-columns: minmax(0, 1fr); }
    .aw-next-door-r { grid-column: auto; }
}
