/* Shared styles for /guides pages. Lives in wwwroot/css/guides.css */

.guide { max-width: 760px; margin: 0 auto; padding: 48px 16px 64px; }
.guide a { color: #1D6FA8; }
.guide .crumbs { font-size: 13px; color: var(--text-3, #8C8880); margin-bottom: 12px; }
.guide .crumbs a { color: var(--text-3, #8C8880); }
.guide h1 { font-size: clamp(28px, 5vw, 40px); line-height: 1.2; margin: 0 0 14px; color: var(--navy-900, #1F2A3D); }
.guide .lede { font-size: 18px; color: var(--text-2, #4A4845); margin: 0 0 28px; line-height: 1.65; }

.guide .toc {
    background: var(--surface, #fff); border: 1px solid var(--warm-100, #E9E7E1);
    border-radius: 14px; padding: 18px 22px; margin-bottom: 36px;
}
.guide .toc strong {
    display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em;
    color: var(--text-3, #8C8880); margin-bottom: 6px;
}
.guide .toc ol { margin: 0; padding-left: 20px; line-height: 1.8; }

.guide h2 {
    font-size: 24px; color: var(--navy-900, #1F2A3D); margin: 44px 0 6px;
    padding-top: 12px; border-top: 1px solid var(--warm-100, #E9E7E1);
}
.guide .section-intro { color: var(--text-2, #4A4845); margin: 0 0 18px; }

.guide .item {
    background: var(--surface, #fff); border: 1px solid var(--warm-100, #E9E7E1);
    border-radius: 14px; padding: 18px 20px; margin-bottom: 14px;
}
.guide .item h3 { font-size: 17px; margin: 0 0 6px; color: var(--text-1, #1E1D1A); }
.guide .item p { margin: 0 0 8px; color: var(--text-2, #4A4845); font-size: 15px; line-height: 1.65; }
.guide .item p:last-of-type { margin-bottom: 0; }
.guide .item ul { margin: 6px 0 8px; padding-left: 20px; color: var(--text-2, #4A4845); font-size: 15px; line-height: 1.7; }
.guide .tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.guide .tag {
    font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px;
    background: #F5F4F0; color: var(--text-2, #4A4845);
}
.guide .tag.diy { background: #EEF7E8; color: #3A7521; }
.guide .tag.pro { background: #EEF3FA; color: #1D6FA8; }
.guide .tag.legal { background: #FEF0F0; color: #A83030; }

.guide .callout {
    background: #EEF3FA; border-left: 4px solid #1D6FA8; border-radius: 10px;
    padding: 16px 18px; margin: 28px 0; color: #1D4E6E; font-size: 15px;
}

.guide .cta-box {
    background: var(--navy-900, #1F2A3D); border-radius: 18px;
    padding: 28px 26px; margin: 48px 0 8px;
}
.guide .cta-box h2 { color: #fff; border: none; margin: 0 0 8px; padding: 0; }
.guide .cta-box p { color: rgba(255,255,255,.82); margin: 0 0 18px; }
.guide .cta-box small { display: block; margin-top: 10px; color: rgba(255,255,255,.6); }

.guide .faq details {
    background: var(--surface, #fff); border: 1px solid var(--warm-100, #E9E7E1);
    border-radius: 12px; padding: 14px 18px; margin-bottom: 10px;
}
.guide .faq summary { font-weight: 700; cursor: pointer; }
.guide .faq details p { margin: 10px 0 0; color: var(--text-2, #4A4845); }

/* Other-seasons / related guides strip */
.guide .related { margin-top: 40px; }
.guide .related strong {
    display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em;
    color: var(--text-3, #8C8880); margin-bottom: 10px;
}
.guide .related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.guide .related-grid a {
    display: block; background: var(--surface, #fff); border: 1px solid var(--warm-100, #E9E7E1);
    border-radius: 12px; padding: 14px 16px; text-decoration: none; font-weight: 700;
    color: var(--navy-900, #1F2A3D);
}
.guide .related-grid a span { display: block; font-size: 12px; font-weight: 400; color: var(--text-3, #8C8880); margin-top: 2px; }
.guide .related-grid a.current { border-color: #1D6FA8; background: #EEF3FA; }

/* Guides index */
.guide .index-card {
    display: block; background: var(--surface, #fff); border: 1px solid var(--warm-100, #E9E7E1);
    border-radius: 14px; padding: 20px 22px; margin-bottom: 14px; text-decoration: none;
}
.guide .index-card h2 { border: none; padding: 0; margin: 0 0 4px; font-size: 19px; color: var(--navy-900, #1F2A3D); }
.guide .index-card p { margin: 0; color: var(--text-2, #4A4845); font-size: 15px; }
.guide .index-card:hover { border-color: #1D6FA8; }

@media (max-width: 640px) {
    .guide .lede { font-size: 16px; }
}
