.news-page,
.featured-news-section,
.news-share-modal {
    --news-green: #28a745;
    --news-green-dark: #218838;
    --news-yellow: #ffc906;
    --news-ink: #1f2937;
    --news-muted: #6b7280;
    --news-border: #e5e7eb;
}

.news-page {
    background: #f8faf8;
    color: var(--news-ink);
    min-height: 70vh;
    padding: 160px 0 80px;
}

.news-page-header { margin: 0 auto 2.5rem; max-width: 760px; }
.news-page-header h1,
.news-detail-header h1 { color: var(--news-ink); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 700; letter-spacing: -.04em; }
.news-page-header p { color: var(--news-muted); font-size: 1.1rem; }
.news-eyebrow { color: var(--news-green); display: block; font-size: .78rem; font-weight: 700; letter-spacing: .16em; margin-bottom: .6rem; text-transform: uppercase; }

.news-filter {
    background: #fff;
    border: 1px solid var(--news-border);
    border-radius: 1rem;
    box-shadow: 0 8px 26px rgba(31, 41, 55, .06);
    margin: 0 auto 2.5rem;
    max-width: 620px;
    padding: 1rem;
}
.news-filter label { color: var(--news-ink); display: block; font-size: .82rem; font-weight: 700; margin-bottom: .45rem; }
.news-filter-row { display: grid; gap: .75rem; grid-template-columns: 1fr auto; }
.news-filter .form-select { background-color: #fff; color: var(--news-ink); }

.btn-news-primary {
    background: var(--news-green);
    border: 0;
    border-radius: .65rem;
    color: #fff;
    font-weight: 700;
    padding: .7rem 1.1rem;
}
.btn-news-primary:hover { background: var(--news-green-dark); }

.news-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-news-card,
.featured-news-card {
    background: #fff;
    border: 1px solid var(--news-border);
    border-radius: 1rem;
    box-shadow: 0 9px 30px rgba(31, 41, 55, .07);
    height: 100%;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.public-news-card:hover,
.featured-news-card:hover { box-shadow: 0 16px 36px rgba(31, 41, 55, .13); transform: translateY(-4px); }
.public-news-card-image,
.featured-news-image {
    aspect-ratio: 16 / 9;
    background: #edf1f2;
    display: block;
    isolation: isolate;
    overflow: hidden;
    position: relative;
}
.news-media-backdrop {
    filter: blur(18px) saturate(.9) brightness(.72);
    height: calc(100% + 32px);
    inset: -16px;
    object-fit: cover;
    opacity: .82;
    position: absolute;
    transform: scale(1.08);
    width: calc(100% + 32px);
    z-index: 0;
}
.public-news-card-image .news-media-content,
.featured-news-image .news-media-content {
    height: 100%;
    object-fit: contain;
    position: relative;
    transition: transform .35s ease;
    width: 100%;
    z-index: 1;
}
.public-news-card:hover .news-media-content,
.featured-news-card:hover .news-media-content { transform: scale(1.025); }
.public-news-card-body,
.featured-news-body { padding: 1.35rem; }
.public-news-meta { align-items: center; color: var(--news-muted); display: flex; font-size: .75rem; justify-content: space-between; margin-bottom: .8rem; }
.public-news-meta span { color: var(--news-green); font-weight: 700; text-transform: uppercase; }
.public-news-card h2,
.featured-news-card h3 { font-size: 1.2rem; line-height: 1.35; margin-bottom: .75rem; }
.public-news-card h2 a,
.featured-news-card h3 a { color: var(--news-ink); text-decoration: none; }
.public-news-card p,
.featured-news-card p { color: var(--news-muted) !important; font-size: .92rem; line-height: 1.65; }
.public-news-read { color: var(--news-green); font-size: .86rem; font-weight: 700; text-decoration: none; }
.public-news-read i { margin-left: .3rem; transition: transform .2s ease; }
.public-news-read:hover i { transform: translateX(4px); }

.news-empty { background: #fff; border: 1px dashed #ced4da; border-radius: 1rem; color: var(--news-muted); padding: 4rem 1rem; text-align: center; }
.news-empty i { color: var(--news-green); font-size: 3rem; margin-bottom: 1rem; }
.news-empty h2 { color: var(--news-ink); font-size: 1.35rem; }
.news-pagination { display: flex; gap: .5rem; justify-content: center; margin-top: 2.5rem; }
.news-pagination a { align-items: center; background: #fff; border: 1px solid var(--news-border); border-radius: .6rem; color: var(--news-ink); display: flex; height: 40px; justify-content: center; text-decoration: none; width: 40px; }
.news-pagination a.active { background: var(--news-green); border-color: var(--news-green); color: #fff; }

.news-back-link { color: var(--news-green); display: inline-flex; font-weight: 700; gap: .5rem; margin-bottom: 2rem; text-decoration: none; }
.news-detail-header { margin: 0 auto 1.35rem; max-width: 900px; text-align: center; }
.news-detail-header time { color: var(--news-muted); display: inline-flex; margin: 0; }
.news-detail-meta-row { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem 1rem; justify-content: center; margin-top: .85rem; }
.news-type-chip { background: rgba(40, 167, 69, .11); border-radius: 999px; color: var(--news-green); display: inline-flex; font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 1rem; padding: .45rem .8rem; text-transform: uppercase; }
.news-detail-image {
    align-items: center;
    background: #edf1f2;
    border-radius: 1.25rem;
    box-shadow: 0 16px 42px rgba(31, 41, 55, .14);
    display: flex;
    height: clamp(300px, 62vw, 720px);
    isolation: isolate;
    justify-content: center;
    margin: 0 auto 3rem;
    max-width: 1050px;
    overflow: hidden;
    position: relative;
}
.news-detail-image .news-media-content {
    height: 100%;
    object-fit: contain;
    position: relative;
    width: 100%;
    z-index: 1;
}
.news-detail-body { margin: 0 auto; max-width: 780px; }
.news-detail-lead {
    border-left: 4px solid var(--news-yellow);
    color: #4b5563 !important;
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 2rem;
    padding-left: 1.2rem;
}
.news-detail-copy { color: #374151; font-size: 1.08rem; line-height: 1.9; overflow-wrap: anywhere; }
.news-detail-copy--legacy { white-space: pre-line; }
.news-detail-copy > :first-child { margin-top: 0; }
.news-detail-copy > :last-child { margin-bottom: 0; }
.news-detail-copy p { color: #374151 !important; margin: 0 0 1.35rem; }
.news-detail-copy h2,
.news-detail-copy h3,
.news-detail-copy h4 { color: var(--news-ink); font-weight: 700; line-height: 1.3; margin: 2.2rem 0 1rem; }
.news-detail-copy h2 { font-size: clamp(1.55rem, 4vw, 2rem); }
.news-detail-copy h3 { font-size: clamp(1.3rem, 3vw, 1.65rem); }
.news-detail-copy h4 { font-size: 1.2rem; }
.news-detail-copy ul,
.news-detail-copy ol { margin-bottom: 1.4rem; padding-left: 1.6rem; }
.news-detail-copy li { margin-bottom: .45rem; }
.news-detail-copy blockquote {
    background: rgba(40, 167, 69, .06);
    border-left: 4px solid var(--news-green);
    border-radius: 0 .75rem .75rem 0;
    color: #4b5563;
    font-size: 1.12rem;
    margin: 1.8rem 0;
    padding: 1.1rem 1.35rem;
}
.news-detail-copy a { color: var(--news-green-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.news-share-eyebrow { color: var(--news-green); display: block; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.news-share-trigger {
    align-items: center;
    background: rgba(40, 167, 69, .08);
    border: 1px solid rgba(40, 167, 69, .28);
    border-radius: 999px;
    color: var(--news-green-dark);
    display: inline-flex;
    font-weight: 700;
    gap: .55rem;
    justify-content: center;
    padding: .42rem .78rem;
    font-size: .84rem;
    transition: background .2s ease, transform .2s ease;
}
.news-share-trigger:hover,
.news-share-trigger:focus-visible { background: var(--news-green); border-color: var(--news-green); color: #fff; transform: translateY(-1px); }

.news-share-modal .modal-dialog { max-width: 520px; }
.news-share-modal .modal-content {
    background: #fff;
    border: 0;
    border-radius: 1.15rem;
    box-shadow: 0 24px 65px rgba(31, 41, 55, .22);
    overflow: hidden;
}
.news-share-modal .modal-header { align-items: flex-start; background: #fff; border-bottom: 1px solid var(--news-border); color: var(--news-ink); display: flex; padding: 1.1rem 1.25rem; }
.news-share-modal .modal-title { color: var(--news-ink); font-size: 1.35rem; font-weight: 700; margin-top: .2rem; }
.news-share-modal .modal-body { background: #fff; color: var(--news-ink); display: block; min-height: 0; padding: 1.2rem 1.25rem 1rem; }
.news-share-modal-intro { color: var(--news-muted) !important; font-size: .92rem; margin-bottom: 1rem; }
.news-share-options { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-share-options a,
.news-share-options button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--news-border);
    border-radius: .75rem;
    color: var(--news-ink);
    display: flex;
    font-size: .9rem;
    font-weight: 700;
    gap: .7rem;
    min-height: 52px;
    padding: .55rem .7rem;
    text-align: left;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
    width: 100%;
}
.news-share-options a:hover,
.news-share-options button:hover,
.news-share-options a:focus-visible,
.news-share-options button:focus-visible { background: rgba(40, 167, 69, .055); border-color: rgba(40, 167, 69, .45); color: var(--news-green-dark); transform: translateY(-1px); }
.news-share-option-icon {
    align-items: center;
    background: rgba(40, 167, 69, .1);
    border-radius: 50%;
    color: var(--news-green);
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.news-share-option-icon .social-x-icon { fill: currentColor; height: 13px; width: 13px; }
.news-copy-status { color: var(--news-green-dark); display: block; font-size: .78rem; font-weight: 700; min-height: 1.1em; padding-top: .75rem; text-align: center; }
.news-social-box { border-top: 1px solid var(--news-border); margin-top: 3rem; padding-top: 1.5rem; }
.news-social-box p { color: var(--news-muted) !important; font-size: .85rem; font-weight: 700; }
.news-social-links { display: flex; flex-wrap: wrap; gap: .7rem; }
.news-social-links a { align-items: center; background: rgba(40, 167, 69, .1); border-radius: 50%; color: var(--news-green); display: flex; height: 46px; justify-content: center; text-decoration: none; transition: all .2s ease; width: 46px; }
.news-social-links a:hover { background: var(--news-green); color: #fff; transform: translateY(-2px); }

.featured-news-section { color: var(--news-ink); }
.featured-news-heading { align-items: flex-end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 2rem; }
.featured-news-heading .section-title { color: var(--news-ink) !important; margin-bottom: .7rem; }
.featured-news-heading .title-divider { margin: 0; }
.featured-news-all { color: var(--news-green); font-weight: 700; margin-bottom: .7rem; text-decoration: none; }
.featured-news-swiper { padding: .4rem .2rem 3.5rem; }
.featured-news-swiper .swiper-slide { height: auto; }
.featured-news-card { display: flex; flex-direction: column; }
.featured-news-body { display: flex; flex: 1; flex-direction: column; }
.featured-news-body .public-news-read { margin-top: auto; }
.featured-news-swiper .swiper-pagination-bullet-active { background: var(--news-green); }
.featured-swiper-button { align-items: center; background: #fff; border: 1px solid var(--news-border); border-radius: 50%; color: var(--news-green); display: flex; height: 42px; justify-content: center; position: absolute; top: 35%; transform: translateY(-50%); width: 42px; z-index: 5; }
.featured-swiper-prev { left: .6rem; }
.featured-swiper-next { right: .6rem; }

@media (max-width: 991.98px) {
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .news-page { padding-top: 135px; }
    .news-grid { grid-template-columns: 1fr; }
    .news-filter-row { grid-template-columns: 1fr; }
    .featured-news-heading { align-items: flex-start; flex-direction: column; }
    .featured-swiper-button { display: none; }
    .news-share-options { grid-template-columns: 1fr; }
}
