* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    background: #f8f8f8;
    color: #111;
    min-height: 100vh;
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Header */
header { background: #000; padding: 20px 0; position: sticky; top: 0; z-index: 100; border-bottom: 3px solid #111; }
header .container { display: flex; justify-content: space-between; align-items: center; }
.logo { color: #fff; font-size: 26px; font-weight: 900; letter-spacing: 3px; text-transform: uppercase; }
nav a { color: #888; text-decoration: none; margin-left: 25px; font-weight: 600; text-transform: uppercase; font-size: 13px; transition: 0.2s; }
nav a:hover, nav a.active { color: #fff; border-bottom: 2px solid #fff; padding-bottom: 4px; }

/* Main */
main { padding: 50px 0 60px; min-height: calc(100vh - 220px); }
.section-title { font-size: 32px; font-weight: 900; text-align: center; margin-bottom: 40px; border-bottom: 4px solid #000; padding-bottom: 15px; letter-spacing: 2px; }

/* News Grid */
.news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 35px; }
.news-card { background: #fff; border: 2px solid #000; cursor: pointer; transition: transform 0.2s; }
.news-card:hover { transform: translateY(-4px); box-shadow: 6px 6px 0px #000; }
.news-image { width: 100%; height: 220px; object-fit: cover; border-bottom: 2px solid #000; background: #e0e0e0; }
.news-content { padding: 20px; }
.news-title { font-size: 19px; font-weight: 800; margin-bottom: 10px; line-height: 1.3; text-transform: uppercase; }
.news-excerpt { color: #444; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-date { color: #666; font-size: 11px; margin-top: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.no-news { text-align: center; padding: 60px; font-size: 18px; color: #333; }

/* Article Detail */
.article-detail { background: #fff; border: 3px solid #000; padding: 40px; max-width: 950px; margin: 0 auto; }
.btn-back { background: #000; color: #fff; border: none; padding: 12px 24px; font-size: 13px; font-weight: 700; text-transform: uppercase; cursor: pointer; margin-bottom: 30px; transition: 0.2s; }
.btn-back:hover { background: #333; }

.article-header { margin-bottom: 30px; border-bottom: 2px solid #000; padding-bottom: 20px; }
.article-header h1 { font-size: 38px; font-weight: 900; line-height: 1.2; margin-bottom: 15px; text-transform: uppercase; }
.article-meta { color: #555; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }

.article-image { width: 100%; max-height: 500px; object-fit: cover; border: 2px solid #000; margin-bottom: 30px; background: #e0e0e0; }
.article-video { width: 100%; border: 2px solid #000; margin-bottom: 30px; background: #000; display: block; }
.article-body { font-size: 17px; line-height: 1.8; color: #222; margin-bottom: 40px; }
.article-body p { margin-bottom: 15px; }

/* Prev/Next Navigation */
.article-nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 30px; border-top: 3px solid #000; }
.nav-btn { flex: 1; background: #fff; border: 2px solid #000; padding: 15px; text-decoration: none; color: #000; font-weight: 700; text-transform: uppercase; font-size: 13px; transition: 0.2s; text-align: center; }
.nav-btn:hover { background: #000; color: #fff; }
.nav-btn.disabled { opacity: 0.25; pointer-events: none; border-color: #999; color: #999; }

/* Footer */
footer { background: #000; color: #fff; padding: 30px 0; }
.search-box { display: flex; justify-content: center; margin-bottom: 15px; }
.search-box input { padding: 12px 15px; border: 2px solid #fff; border-right: none; background: #111; color: #fff; font-size: 14px; width: 280px; }
.search-box button { padding: 12px 20px; background: #fff; color: #000; border: 2px solid #fff; cursor: pointer; font-weight: 800; text-transform: uppercase; transition: 0.2s; }
.search-box button:hover { background: #333; color: #fff; border-color: #333; }
footer p { text-align: center; font-size: 11px; opacity: 0.5; text-transform: uppercase; letter-spacing: 1px; }

@media (max-width: 768px) {
    .news-grid { grid-template-columns: 1fr; }
    .search-box { flex-direction: column; align-items: center; gap: 10px; }
    .search-box input { width: 100%; border-right: 2px solid #fff; border-bottom: none; }
    .article-header h1 { font-size: 26px; }
    .article-nav { flex-direction: column; }
}