/* DNA300 style.css (V2 UI) -- Minimal custom CSS, Tailwind handles layout */

/* === Base === */
html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif; background: #f0f2f5; color: #334155; }
a { color: #334155; text-decoration: none; transition: color 0.15s; }
a:hover { color: #ea580c; }
.text-brand { color: #1d4ed8; }
.hover-brand:hover { color: #1d4ed8; }

/* === Nav gradient + hover underline === */
.header-gradient { background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 50%, #2563eb 100%); }
.nav-item { position: relative; }
.nav-item::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background: #f97316; transition: all 0.25s; transform: translateX(-50%); }
.nav-item:hover::after, .nav-item.active::after { width: 55%; }

/* === Search glow === */
.search-glow:focus-within { box-shadow: 0 0 0 3px rgba(29,78,216,0.12); }

/* === Card hover lift === */
.card-hover { transition: transform 0.2s, box-shadow 0.2s; }
.card-hover:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }

/* === Category sidebar hover === */
.cat-section:hover { background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%); }

/* === List rows === */
.list-item-row { transition: background-color 0.15s; }
.list-item-row:hover { background-color: #f8fafc; }
.truncate-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* === Post content (detail page) === */
.post-content { line-height: 1.8; }
.post-content p { margin-bottom: 1em; }
.post-content img { max-width: 100%; height: auto; border-radius: 4px; margin: 0.5em 0; }
.post-content h2 { font-size: 1.25em; font-weight: bold; margin: 1.5em 0 0.5em; color: #1e293b; }
.post-content h3 { font-size: 1.1em; font-weight: bold; margin: 1.2em 0 0.4em; }
.post-content ul, .post-content ol { padding-left: 1.5em; margin-bottom: 1em; }
.post-content table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.post-content td, .post-content th { border: 1px solid #e2e8f0; padding: 0.5em 0.75em; }

/* === Static page content === */
.static-content h2 { font-size: 1.15em; font-weight: 700; color: #1e293b; margin: 1.5em 0 0.5em; }
.static-content p { margin-bottom: 0.8em; }

/* === Stats number === */
.stat-num { font-weight: 900; }

/* === District tag pill hover === */
.dist-pill { transition: all 0.2s; }
.dist-pill:hover { background: #1d4ed8; color: #fff; }

/* === Print === */
@media print {
    .member-nav, nav, footer, header, aside, #backToTop { display: none !important; }
}
