/* =========================================
   NEWS & ANNOUNCEMENTS STYLES
========================================= */

.news-hero-banner { 
    background: linear-gradient(135deg, #0b2c52 0%, #071c35 100%); 
    color: #fff; 
    text-align: center; 
    padding: 60px 20px; 
    position: relative; 
}
.news-hero-banner h1 { 
    font-size: 2.2rem; 
    font-weight: 700; 
    margin-bottom: 10px; 
    color: #fff; 
}
.news-hero-banner p { 
    font-size: 1rem; 
    color: #cbd5e1; 
    max-width: 600px; 
    margin: 0 auto; 
}

.news-filter-container { 
    max-width: 1200px; 
    margin: 30px auto 10px; 
    padding: 0 20px; 
    display: flex; 
    flex-wrap: wrap; 
    align-items: center; 
    justify-content: space-between; 
    gap: 15px; 
}
.news-filter-buttons { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 8px; 
}
.filter-btn { 
    background: #f1f5f9; 
    color: #475569; 
    border: 1px solid #cbd5e1; 
    padding: 8px 16px; 
    border-radius: 20px; 
    font-size: 0.88rem; 
    font-weight: 600; 
    cursor: pointer; 
    transition: all 0.2s; 
}
.filter-btn:hover, .filter-btn.active { 
    background: #0b2c52; 
    color: #fff; 
    border-color: #0b2c52; 
}

.news-search-box { 
    position: relative; 
    width: 100%; 
    max-width: 300px; 
}
.news-search-box input { 
    width: 100%; 
    padding: 10px 14px 10px 38px; 
    border: 1px solid #cbd5e1; 
    border-radius: 20px; 
    outline: none; 
    font-size: 0.9rem; 
}
.news-search-box i { 
    position: absolute; 
    left: 14px; 
    top: 50%; 
    transform: translateY(-50%); 
    color: #94a3b8; 
}

.news-grid-container { 
    max-width: 1200px; 
    margin: 30px auto 60px; 
    padding: 0 20px; 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
    gap: 24px; 
}

.news-card { 
    background: #fff; 
    border-radius: 12px; 
    border: 1px solid #e2e8f0; 
    overflow: hidden; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.04); 
    display: flex; 
    flex-direction: column; 
    transition: transform 0.3s, box-shadow 0.3s; 
}
.news-card:hover { 
    transform: translateY(-4px); 
    box-shadow: 0 12px 24px rgba(0,0,0,0.08); 
}

.news-card-img { 
    width: 100%; 
    height: 200px; 
    object-fit: cover; 
    background: #f1f5f9; 
}
.news-card-body { 
    padding: 20px; 
    flex: 1; 
    display: flex; 
    flex-direction: column; 
}

.news-card-meta { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    margin-bottom: 12px; 
    font-size: 0.8rem; 
}
.news-cat-badge { 
    background: #eff6ff; 
    color: #2563eb; 
    padding: 3px 10px; 
    border-radius: 12px; 
    font-weight: 700; 
    text-transform: uppercase; 
    font-size: 0.72rem; 
}
.news-date { 
    color: #64748b; 
    font-weight: 500; 
}

.news-card-title { 
    font-size: 1.1rem; 
    font-weight: 700; 
    color: #0b2c52; 
    margin-bottom: 8px; 
    line-height: 1.4; 
    text-decoration: none; 
    display: block; 
}
.news-card-title:hover { 
    color: #c1a776; 
}

.news-card-excerpt { 
    font-size: 0.88rem; 
    color: #475569; 
    line-height: 1.5; 
    margin-bottom: 16px; 
    flex: 1; 
}

.news-card-footer { 
    border-top: 1px solid #f1f5f9; 
    padding-top: 14px; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
}
.btn-read-more { 
    color: #0b2c52; 
    font-weight: 700; 
    font-size: 0.88rem; 
    text-decoration: none; 
    display: inline-flex; 
    align-items: center; 
    gap: 6px; 
}
.btn-read-more:hover { 
    color: #c1a776; 
}

.btn-pdf-download { 
    color: #dc2626; 
    font-size: 0.85rem; 
    font-weight: 600; 
    text-decoration: none; 
    display: inline-flex; 
    align-items: center; 
    gap: 4px; 
}
.btn-pdf-download:hover { 
    text-decoration: underline; 
}

/* ARTICLE DETAIL STYLES */
.article-container { 
    max-width: 900px; 
    margin: 40px auto 70px; 
    padding: 0 20px; 
}

.article-breadcrumb { 
    font-size: 0.88rem; 
    color: #64748b; 
    margin-bottom: 25px; 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    flex-wrap: wrap; 
}
.article-breadcrumb a { 
    color: #0b2c52; 
    text-decoration: none; 
    font-weight: 600; 
}
.article-breadcrumb a:hover { 
    color: #c1a776; 
}

.article-header { 
    border-bottom: 1px solid #e2e8f0; 
    padding-bottom: 25px; 
    margin-bottom: 30px; 
}
.article-meta { 
    display: flex; 
    align-items: center; 
    gap: 15px; 
    margin-bottom: 12px; 
}
.article-cat-badge { 
    background: #0b2c52; 
    color: #fff; 
    padding: 4px 12px; 
    border-radius: 14px; 
    font-weight: 700; 
    font-size: 0.78rem; 
    text-transform: uppercase; 
}
.article-date { 
    color: #64748b; 
    font-size: 0.9rem; 
    font-weight: 500; 
}

.article-title { 
    font-size: 2rem; 
    font-weight: 800; 
    color: #0b2c52; 
    line-height: 1.3; 
    margin-bottom: 15px; 
}
.article-summary-lead { 
    font-size: 1.1rem; 
    color: #475569; 
    line-height: 1.6; 
    font-weight: 500; 
    background: #f8fafc; 
    padding: 16px 20px; 
    border-left: 4px solid #0b2c52; 
    border-radius: 4px; 
    margin-bottom: 30px; 
}

.article-featured-img { 
    width: 100%; 
    max-height: 450px; 
    object-fit: cover; 
    border-radius: 12px; 
    margin-bottom: 30px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.06); 
}

.article-body-content { 
    font-size: 1.05rem; 
    color: #334155; 
    line-height: 1.8; 
    margin-bottom: 40px; 
}
.article-body-content p { 
    margin-bottom: 20px; 
}

.article-attachments-box { 
    background: #f0f9ff; 
    border: 1px solid #bae6fd; 
    border-radius: 10px; 
    padding: 20px; 
    margin-bottom: 40px; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    flex-wrap: wrap; 
    gap: 15px; 
}
.attachment-info { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
}
.attachment-info i { 
    font-size: 2rem; 
    color: #dc2626; 
}

.btn-attachment-download { 
    background: #0284c7; 
    color: #fff; 
    text-decoration: none; 
    padding: 10px 20px; 
    border-radius: 6px; 
    font-weight: 700; 
    font-size: 0.9rem; 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    transition: background 0.2s; 
}
.btn-attachment-download:hover { 
    background: #0369a1; 
}

.article-navigation { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    border-top: 1px solid #e2e8f0; 
    padding-top: 25px; 
}
.btn-back-news { 
    background: #f1f5f9; 
    color: #0b2c52; 
    text-decoration: none; 
    padding: 10px 20px; 
    border-radius: 6px; 
    font-weight: 700; 
    font-size: 0.9rem; 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    transition: background 0.2s; 
}
.btn-back-news:hover { 
    background: #e2e8f0; 
}

@media (max-width: 768px) {
    .news-hero-banner h1 { font-size: 1.6rem; }
    .news-grid-container { grid-template-columns: 1fr; gap: 16px; }
    .article-title { font-size: 1.5rem; }
    .news-filter-container { flex-direction: column; align-items: stretch; }
    .news-search-box { max-width: 100%; }
}
