/* ============================================================
   BONGA CITY — CLASSIC PAGE GLASS THEME
   Loaded only on classic (non-SPA) public pages via header.php.
   Converts legacy light-content pages to the homepage dark-glass
   aesthetic: translucent forest panels, gold accents, soft type.
   ============================================================ */

/* ── Base typography on animated dark background ─────────────── */
.classic-body {
    background: var(--forest-dark);
    color: rgba(255, 255, 255, .82);
}
.classic-body main,
.classic-body section {
    color: rgba(255, 255, 255, .78);
}
.classic-body h1,
.classic-body h2,
.classic-body h3,
.classic-body h4,
.classic-body h5,
.classic-body h6 {
    color: #ffffff;
}
.classic-body .sec-title { color: #ffffff; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.classic-body .sec-title .gold { color: var(--gold-light); }
.classic-body .sec-eyebrow { color: var(--kaffa-gold-hover); letter-spacing: 2.4px; }
.classic-body .sec-rule { background: linear-gradient(90deg, var(--kaffa-gold), rgba(201,164,92,0)); }
.classic-body .archive-meta {
    color: var(--kaffa-gold-hover);
    letter-spacing: 1.6px;
}
.classic-body .text-muted,
.classic-body .text-secondary,
.classic-body .text-body-secondary {
    color: rgba(255, 255, 255, .58) !important;
}
.classic-body .text-dark { color: #ffffff !important; }
.classic-body .text-success { color: var(--forest-glow) !important; }
.classic-body .text-warning, .classic-body .text-warning-emphasis { color: var(--gold-light) !important; }
.classic-body .text-danger { color: #ff9c9c !important; }
.classic-body .lead { color: rgba(255, 255, 255, .9); }
.classic-body main a:not([class*="btn"]),
.classic-body section a:not([class*="btn"]) { color: rgba(235, 244, 238, .88); }
.classic-body main a:not([class*="btn"]):hover,
.classic-body section a:not([class*="btn"]):hover { color: var(--gold-light); }
.classic-body hr { border-color: rgba(255, 255, 255, .12); }
.classic-body .opacity-10, .classic-body .opacity-25, .classic-body .opacity-50 {
    opacity: .85 !important;
}

/* ── Page hero band ─────────────────────────────────────────── */
.classic-body .page-header {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-bottom: 1px solid rgba(201, 164, 92, .4);
    box-shadow: inset 0 -22px 34px -26px rgba(201, 164, 92, .22);
    padding: 72px 0 64px;
}
.classic-body .page-header h1 {
    color: #ffffff;
    text-shadow: 0 4px 22px rgba(0,0,0,.55);
}
.classic-body .page-header .lead {
    color: rgba(255, 255, 255, .82);
    text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.classic-body .breadcrumb-pmo a { color: rgba(255, 255, 255, .62); }
.classic-body .breadcrumb-pmo a:hover { color: var(--gold-light); }
.classic-body .breadcrumb-pmo .bc-sep { color: rgba(255, 255, 255, .35); }
.classic-body .breadcrumb-pmo .bc-current { color: var(--kaffa-gold-hover); }

/* ── Glass panel: every legacy card surface becomes dark glass ─ */
.classic-body .card,
.classic-body .gov-card,
.classic-body .cabinet-card,
.classic-body .news-card,
.classic-body .service-card,
.classic-body .info-card,
.classic-body .sidebar-card,
.classic-body .card-modern,
.classic-body .mayor-card,
.classic-body .vision-statement-card,
.classic-body .roadmap-card,
.classic-body .timeline-card,
.classic-body .council-card,
.classic-body .init-card,
.classic-body .dept-card,
.classic-body .archive-toolbox,
.classic-body .archive-record-card,
.classic-body .archive-index,
.classic-body .archive-empty,
.classic-body .news-headline-card,
.classic-body .sidebar-panel,
.classic-body .invest-box,
.classic-body .cta-investment-box,
.classic-body .cta-card,
.classic-body .article-card,
.classic-body .admin-card,
.classic-body .history-card {
    background: linear-gradient(152deg, rgba(9, 46, 27, .72), rgba(3, 27, 16, .62)) !important;
    border: 1px solid rgba(201, 164, 92, .2) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 44px rgba(1, 10, 6, .42), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    color: rgba(255, 255, 255, .78);
    transition: transform .32s cubic-bezier(.22,.68,0,1.12), border-color .32s ease, box-shadow .32s ease;
}
.classic-body .card:hover,
.classic-body .gov-card:hover,
.classic-body .cabinet-card:hover,
.classic-body .news-card:hover,
.classic-body .service-card:hover,
.classic-body .timeline-card:hover,
.classic-body .council-card:hover,
.classic-body .init-card:hover,
.classic-body .dept-card:hover,
.classic-body .archive-toolbox:hover,
.classic-body .archive-record-card:hover {
    border-color: rgba(225, 189, 116, .55) !important;
    box-shadow: 0 26px 54px rgba(1, 10, 6, .5), 0 0 0 1px rgba(225, 189, 116, .14), inset 0 1px 0 rgba(255,255,255,.08) !important;
    transform: translateY(-4px);
}
.classic-body .card img, .classic-body .card .card-img, .classic-body .card .card-img-top,
.classic-body .invest-box img { border-top-left-radius: 15px; border-top-right-radius: 15px; }
.classic-body .card-body, .classic-body .card .body { color: rgba(255, 255, 255, .78); }

/* Gold storytelling accents on key cards */
.classic-body .archive-toolbox,
.classic-body .archive-index,
.classic-body .news-headline-card,
.classic-body .archive-empty,
.classic-body .invest-box {
    border-top: 4px solid rgba(201, 164, 92, .7) !important;
}
.classic-body .gov-card,
.classic-body .news-card,
.classic-body .timeline-card,
.classic-body .council-card {
    border-top: 4px solid rgba(12, 91, 54, .55) !important;
}

/* ── Legacy light backgrounds become translucent panels ─────── */
.classic-body .bg-white,
.classic-body .bg-light,
.classic-body .bg-light-mist,
.classic-body .bg-body {
    background: rgba(4, 30, 18, .5) !important;
    color: rgba(255, 255, 255, .78) !important;
}
.classic-body .bg-light.border-start,
.classic-body .border-secondary { border-left-color: rgba(201, 164, 92, .6) !important; }
.classic-body blockquote, .classic-body .blockquote {
    background: rgba(6, 40, 23, .62);
    border-left: 4px solid var(--kaffa-gold) !important;
    color: #f2f7f3;
    border-radius: 0 12px 12px 0;
    padding: 1rem 1.25rem;
}

/* ── Archive stream / record visuals ────────────────────────── */
.classic-body .archive-stream::before {
    background: linear-gradient(var(--kaffa-gold), rgba(201, 164, 92, .15));
}
.classic-body .archive-record::before {
    border: 3px solid var(--forest-dark);
    background: var(--kaffa-gold);
    box-shadow: 0 0 0 1px var(--kaffa-gold), 0 0 14px rgba(201, 164, 92, .5);
}
.classic-body .archive-record-card { grid-template-columns: 58px 132px minmax(0, 1fr); }
.classic-body .archive-record-date {
    background: rgba(2, 24, 14, .5);
    color: var(--gold-light);
}
.classic-body .archive-record-date span { color: var(--kaffa-gold-hover); }
.classic-body .archive-record-date strong { color: #ffffff; }
.classic-body .archive-record-date small { color: rgba(255, 255, 255, .5); }
.classic-body .archive-record-image img { border-radius: 8px; }
.classic-body .archive-read-link { color: var(--gold-light); }
.classic-body .archive-read-link:hover { color: #ffffff; }
.classic-body .archive-index a { color: rgba(255, 255, 255, .66); }
.classic-body .archive-index a:hover, .classic-body .archive-index a.active { color: var(--gold-light); }
.classic-body .archive-index a span { color: rgba(255, 255, 255, .4); }
.classic-body .archive-year-link { color: #ffffff !important; font-weight: 800; }
.classic-body .archive-back-link { color: var(--gold-light); }
.classic-body .archive-back-link:hover { color: #ffffff; }
.classic-body .archive-filter-chip {
    background: rgba(201, 164, 92, .14);
    border-color: rgba(201, 164, 92, .45);
    color: var(--gold-light);
}
.classic-body .archive-toolbox-icon {
    background: linear-gradient(135deg, var(--kaffa-gold), var(--gold-deep));
    color: var(--forest-dark);
}
.classic-body .archive-result-count { color: rgba(255, 255, 255, .6); }
.classic-body .archive-result-count strong { color: var(--gold-light); }
.classic-body .btn-archive-search {
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover));
    color: var(--forest-dark);
}

/* ── News cards shared with the homepage look ──────────────── */
.classic-body .news-badge {
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover));
    color: var(--forest-dark);
    font-weight: 800;
    border-radius: 999px !important;
    padding: .35rem .8rem !important;
}
.classic-body .news-img { border-radius: 12px 12px 0 0 !important; }
.classic-body .news-feature { border-top: 0 !important; }
.classic-body .news-feature .news-img { height: 340px; }
.classic-body .news-gallery img { border-radius: 10px; box-shadow: 0 8px 20px rgba(0,0,0,.3); }

/* ── Buttons ────────────────────────────────────────────────── */
.classic-body .btn-gov:hover,
.classic-body .btn-gold { box-shadow: 0 10px 22px rgba(201, 164, 92, .3); }
.classic-body .btn-gold {
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover)) !important;
    border: 1px solid rgba(245, 216, 122, .55) !important;
    color: #04150c !important;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(201, 164, 92, .38);
}
.classic-body .btn-gold:hover {
    background: linear-gradient(110deg, var(--kaffa-gold-hover), var(--gold-light)) !important;
    border-color: var(--gold-light) !important;
    color: #04150c !important;
    transform: translateY(-2px);
}
.classic-body .btn-outline-light {
    border-color: rgba(255, 255, 255, .5);
    color: rgba(255, 255, 255, .85);
}
.classic-body .btn-outline-light:hover {
    background: var(--kaffa-gold);
    border-color: var(--kaffa-gold);
    color: var(--forest-dark);
}

/* ── Forms ──────────────────────────────────────────────────── */
.classic-body .form-control,
.classic-body .form-select,
.classic-body .input-group-text,
.classic-body .form-label {
    color: rgba(255, 255, 255, .8) !important;
}
.classic-body .form-control,
.classic-body .form-select {
    background: rgba(2, 24, 14, .55) !important;
    border: 1px solid rgba(201, 164, 92, .3) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
}
.classic-body .form-control::placeholder { color: rgba(255, 255, 255, .4); }
.classic-body .form-control:focus,
.classic-body .form-select:focus {
    border-color: var(--kaffa-gold) !important;
    box-shadow: 0 0 0 3px rgba(201, 164, 92, .18) !important;
    background: rgba(2, 24, 14, .7) !important;
}
.classic-body .form-select option { color: var(--text-dark); background: #ffffff; }
.classic-body .input-group-text { background: rgba(2, 24, 14, .55) !important; border-color: rgba(201, 164, 92, .3) !important; }
.classic-body .form-check-input:checked { background-color: var(--kaffa-gold); border-color: var(--kaffa-gold); }
.classic-body .form-label { font-weight: 700; }
.classic-body .captcha-challenge { color: var(--gold-light); background: rgba(201, 164, 92, .14); border-color: rgba(201, 164, 92, .5); }

/* ── Tables ─────────────────────────────────────────────────── */
.classic-body .table {
    --bs-table-bg: transparent;
    --bs-table-color: rgba(255, 255, 255, .8);
    --bs-table-border-color: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .8);
}
.classic-body .table thead th { color: var(--gold-light); border-bottom-color: rgba(201, 164, 92, .3); }
.classic-body .table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255, 255, 255, .03); }

/* ── Lists, navs, accordions ────────────────────────────────── */
.classic-body .list-group-item {
    background: rgba(2, 24, 14, .45);
    color: rgba(255, 255, 255, .78);
    border-color: rgba(255, 255, 255, .08);
}
.classic-body .accordion-item { background: rgba(2, 24, 14, .45); color: rgba(255, 255, 255, .78); }
.classic-body .accordion-button { background: rgba(2, 24, 14, .5); color: #fff; }
.classic-body .accordion-button:not(.collapsed) { background: rgba(12, 91, 54, .4); color: var(--gold-light); }
.classic-body .nav-tabs .nav-link { color: rgba(255, 255, 255, .65); border-color: rgba(255, 255, 255, .12); border-bottom-color: transparent; }
.classic-body .nav-tabs .nav-link.active { background: rgba(201, 164, 92, .16); color: #fff; border-color: rgba(201, 164, 92, .5) rgba(201, 164, 92, .5) transparent; }
.classic-body .nav-pills .nav-link { color: rgba(255, 255, 255, .7); }
.classic-body .nav-pills .nav-link.active { background: var(--kaffa-gold); color: var(--forest-dark); }

/* ── Pagination ─────────────────────────────────────────────── */
.classic-body .page-link-pmo {
    background: rgba(2, 24, 14, .5);
    border-color: rgba(201, 164, 92, .25);
    color: rgba(255, 255, 255, .75);
    border-radius: 8px !important;
    margin: 0 3px;
}
.classic-body .page-link-pmo:hover { background: rgba(201, 164, 92, .16); color: #fff; }
.classic-body .page-item.active .page-link-pmo {
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover)) !important;
    border-color: var(--kaffa-gold) !important;
    color: var(--forest-dark) !important;
}
.classic-body .page-item.disabled .page-link-pmo {
    background: rgba(2, 24, 14, .3);
    color: rgba(255, 255, 255, .32);
    border-color: rgba(255, 255, 255, .08);
}

/* ── Sidebar (shared component) ─────────────────────────────── */
.classic-body .public-sidebar .card {
    background: linear-gradient(165deg, rgba(9, 46, 27, .8), rgba(3, 27, 16, .66)) !important;
    border: 1px solid rgba(201, 164, 92, .2) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 44px rgba(1, 10, 6, .42), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}
.classic-body .public-sidebar h5, .classic-body .public-sidebar h6 {
    color: #ffffff;
}
.classic-body .sidebar-number {
    background: linear-gradient(135deg, var(--kaffa-gold), var(--gold-deep)) !important;
    color: var(--forest-dark) !important;
    box-shadow: 0 0 0 3px rgba(2, 24, 14, .8), 0 0 14px rgba(201, 164, 92, .4) !important;
}
.classic-body .sidebar-step:not(:last-child)::after {
    background: linear-gradient(var(--kaffa-gold), rgba(201, 164, 92, .1));
}

/* ── Generic alignment touches ──────────────────────────────── */
.classic-body .rounded-0 { border-radius: 12px !important; }
.classic-body .shadow-sm { box-shadow: 0 8px 22px rgba(1, 10, 6, .3) !important; }
.classic-body .badge { font-weight: 700; letter-spacing: .4px; }

/* ═════════════════════════════════════════════════════════════
   NEWS PORTAL — news.php / news_detail.php / news_archive.php
   ═════════════════════════════════════════════════════════════ */

/* Hero magazine lead */
.news-hero-top {
    position: relative;
    z-index: 6;
}
.news-hero-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.news-hero-head .sec-eyebrow { margin-bottom: .4rem; }
.news-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .85rem;
    border: 1px solid rgba(201, 164, 92, .45);
    background: rgba(2, 24, 14, .45);
    color: var(--kaffa-gold-hover);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    border-radius: 999px;
}
.news-hero-kicker i { color: var(--forest-glow); }

.news-lead {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    border: 1px solid rgba(201, 164, 92, .3);
    box-shadow: 0 30px 70px rgba(1, 10, 6, .5);
}
.news-lead-img {
    position: absolute; inset: 0; z-index: -1;
    background-size: cover; background-position: center;
    transition: transform 8s ease;
}
.news-lead:hover .news-lead-img { transform: scale(1.06); }
.news-lead::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(2,24,14,0) 12%, rgba(2,24,14,.7) 52%, rgba(2,24,14,.96) 100%);
}
.news-lead-body { padding: 2.1rem 2.2rem 2rem; color: #fff; width: 100%; }
.news-lead-chip {
    display: inline-block;
    padding: .42rem .85rem;
    margin-bottom: .9rem;
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover));
    color: var(--forest-dark);
    font-size: .68rem; font-weight: 800;
    letter-spacing: 1.6px; text-transform: uppercase;
    border-radius: 999px;
}
.news-lead-body h2 { font-size: clamp(1.4rem, 3vw, 2.15rem); font-weight: 800; line-height: 1.25; text-shadow: 0 3px 14px rgba(0,0,0,.6); }
.news-lead-body p { color: rgba(255,255,255,.82); max-width: 640px; }
.news-lead-meta { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; color: rgba(255,255,255,.62); font-size: .74rem; letter-spacing: .5px; }
.news-lead-meta i { color: var(--kaffa-gold-hover); }

.news-feature-mini {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    min-height: 200px;
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    border: 1px solid rgba(201, 164, 92, .26);
    box-shadow: 0 18px 40px rgba(1, 10, 6, .42);
}
.news-feature-mini::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(2,24,14,0) 30%, rgba(2,24,14,.86) 100%);
}
.news-feature-mini-body { padding: 1.3rem 1.4rem; width: 100%; }
.news-feature-mini-body h3 { font-size: 1.05rem; font-weight: 800; line-height: 1.3; text-shadow: 0 2px 10px rgba(0,0,0,.55); }
.news-feature-mini-body h3 a { color: #fff; text-decoration: none; }
.news-feature-mini-body h3 a:hover { color: var(--gold-light); }

/* Story grid */
.news-story {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(201, 164, 92, .2);
    background: linear-gradient(152deg, rgba(9, 46, 27, .7), rgba(3, 27, 16, .6));
    box-shadow: 0 18px 40px rgba(1, 10, 6, .4), inset 0 1px 0 rgba(255,255,255,.06);
    transition: transform .32s cubic-bezier(.22,.68,0,1.12), border-color .32s ease, box-shadow .32s ease;
    height: 100%;
}
.news-story:hover {
    transform: translateY(-6px);
    border-color: rgba(225, 189, 116, .55);
    box-shadow: 0 26px 52px rgba(1, 10, 6, .5), 0 0 30px rgba(201, 164, 92, .12);
}
.news-story-img { position: relative; height: 190px; overflow: hidden; }
.news-story-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.news-story:hover .news-story-img img { transform: scale(1.08); }
.news-story-chip {
    position: absolute; top: 12px; left: 12px;
    padding: .34rem .7rem;
    background: rgba(2, 24, 14, .78);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    border: 1px solid rgba(201, 164, 92, .5);
    color: var(--kaffa-gold-hover);
    font-size: .64rem; font-weight: 800;
    letter-spacing: 1.2px; text-transform: uppercase;
    border-radius: 999px;
}
.news-story-date {
    position: absolute; right: 12px; bottom: 12px;
    color: #fff; font-size: .7rem; font-weight: 700;
    background: rgba(2, 24, 14, .7); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    padding: .28rem .6rem; border-radius: 999px;
}
.news-story-body { padding: 1.15rem 1.3rem 1.3rem; color: rgba(255,255,255,.78); }
.news-story-body h4 { font-size: 1.06rem; font-weight: 800; line-height: 1.32; }
.news-story-body h4 a { color: #fff; text-decoration: none; }
.news-story-body h4 a:hover { color: var(--gold-light); }
.news-story-body p { font-size: .86rem; color: rgba(255,255,255,.6); line-height: 1.65; }
.news-story-link {
    display: inline-flex; align-items: center; gap: .45rem;
    color: var(--gold-light); font-size: .74rem; font-weight: 800;
    letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none;
}
.news-story-link:hover { color: #fff; }

/* Category chip row */
.news-filter-bar { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.news-filter-bar .sec-eyebrow { margin-right: .25rem; }
.news-filter-chip {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .45rem .9rem;
    border: 1px solid rgba(201, 164, 92, .3);
    border-radius: 999px;
    background: rgba(2, 24, 14, .4);
    color: rgba(255, 255, 255, .72);
    font-size: .74rem; font-weight: 700; letter-spacing: .4px; text-decoration: none;
    transition: all .22s ease;
}
.news-filter-chip:hover { border-color: var(--kaffa-gold); color: #fff; transform: translateY(-1px); }
.news-filter-chip.active {
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover));
    color: var(--forest-dark); border-color: var(--kaffa-gold);
}

/* News sidebar widgets */
.news-widget {
    background: linear-gradient(165deg, rgba(9, 46, 27, .8), rgba(3, 27, 16, .66));
    border: 1px solid rgba(201, 164, 92, .2);
    border-radius: 18px;
    box-shadow: 0 20px 44px rgba(1, 10, 6, .42), inset 0 1px 0 rgba(255, 255, 255, .06);
    padding: 1.35rem;
    margin-bottom: 1.35rem;
    color: rgba(255,255,255,.78);
}
.news-widget-title {
    display: flex; align-items: center; gap: .6rem;
    color: #fff; font-size: .82rem; font-weight: 800;
    letter-spacing: 1.6px;
    margin-bottom: 1rem;
}
.news-widget-title i { color: var(--kaffa-gold-hover); }
.news-widget-title::after {
    content: ''; flex: 1; height: 1px;
    background: linear-gradient(90deg, rgba(201,164,92,.4), transparent);
}
.headline-row {
    display: flex; gap: .8rem; align-items: flex-start;
    padding: .55rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.headline-row:last-child { border-bottom: 0; }
.headline-num { color: var(--kaffa-gold); font-size: 1.05rem; font-weight: 800; line-height: 1; min-width: 20px; }
.headline-row h6 { font-size: .82rem; line-height: 1.4; margin: 0; font-weight: 700; }
.headline-row h6 a { color: #fff; text-decoration: none; }
.headline-row h6 a:hover { color: var(--gold-light); }
.headline-row small { color: rgba(255,255,255,.45); font-size: .68rem; }

.news-topic-chip {
    display: inline-block;
    padding: .4rem .8rem; margin: 0 .4rem .4rem 0;
    border: 1px solid rgba(201, 164, 92, .3);
    border-radius: 999px;
    background: rgba(2, 24, 14, .4);
    color: rgba(255,255,255,.72);
    font-size: .7rem; font-weight: 700; letter-spacing: .3px;
    text-decoration: none; transition: all .2s ease;
}
.news-topic-chip:hover { border-color: var(--kaffa-gold); color: var(--gold-light); }

.news-subscribe {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    padding: 1.5rem 1.4rem;
    background: linear-gradient(135deg, rgba(201,164,92,.18), rgba(12,91,54,.24));
    border: 1px solid rgba(225, 189, 116, .4);
}
.news-subscribe::before {
    content: ''; position: absolute; inset: -40%;
    background: radial-gradient(circle at 20% 20%, rgba(201,164,92,.25), transparent 32%);
    pointer-events: none;
}
.news-subscribe h6 { color: #fff; font-weight: 800; }
.news-subscribe p { color: rgba(255,255,255,.68); font-size: .82rem; line-height: 1.6; }
.news-subscribe .form-control {
    border-radius: 999px 0 0 999px !important;
}
.news-subscribe .btn-subscribe {
    border-radius: 0 999px 999px 0;
    background: linear-gradient(110deg, var(--kaffa-gold), var(--kaffa-gold-hover));
    color: var(--forest-dark); font-weight: 800;
    border: 0;
}

/* Article / news_detail */
.article-prose {
    color: rgba(255, 255, 255, .92);
    font-size: 1.03rem;
    line-height: 1.9;
}
.article-prose p { margin-bottom: 1.25rem; }
.article-prose strong { color: #ffffff; }
.article-prose h2, .article-prose h3 { color: var(--gold-light); }
.article-meta-bar {
    display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap;
    padding: .8rem 1.1rem;
    background: rgba(2, 24, 14, .5);
    border: 1px solid rgba(201, 164, 92, .25);
    border-radius: 12px;
}
.article-meta-item { display: inline-flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.7); font-size: .78rem; font-weight: 700; }
.article-meta-item i { color: var(--kaffa-gold-hover); }
.share-group { display: inline-flex; gap: .45rem; }
.share-btn {
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(201, 164, 92, .15);
    border: 1px solid rgba(201, 164, 92, .4);
    color: var(--gold-light);
    text-decoration: none;
    transition: all .22s ease;
}
.share-btn:hover { background: var(--kaffa-gold); color: var(--forest-dark); transform: translateY(-2px); }

/* Article hero image */
.article-hero {
    position: relative;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    cursor: zoom-in;
}
.article-hero img { transition: transform .8s ease; }
.article-hero:hover img { transform: scale(1.04); }
.article-hero::after {
    content: '\f00e';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute; right: 14px; top: 14px;
    width: 38px; height: 38px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(2, 24, 14, .66); border: 1px solid rgba(201, 164, 92, .4);
    border-radius: 50%; color: var(--gold-light); font-size: .8rem;
    opacity: 0; transform: translateY(6px); transition: all .25s ease;
    pointer-events: none;
}
.article-hero:hover::after { opacity: 1; transform: translateY(0); }

/* Reading progress bar */
.article-progress {
    position: fixed; top: 0; left: 0; height: 3px; width: 0;
    background: linear-gradient(90deg, var(--kaffa-gold), var(--gold-light));
    box-shadow: 0 0 12px rgba(201, 164, 92, .6);
    z-index: 4000;
}

/* Article prose readability boost */
.article-prose { color: #eef6f0; }
.article-prose p { color: #e6efe9; }
.article-prose a { color: var(--gold-light); text-underline-offset: 3px; }
.article-prose a:hover { color: #ffffff; }

/* Gallery interactivity */
.article-gallery img {
    border-radius: 12px;
    cursor: zoom-in;
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
    border: 1px solid transparent;
}
.article-gallery .col-4:hover img {
    transform: scale(1.06);
    border-color: var(--kaffa-gold);
    box-shadow: 0 14px 30px rgba(1, 10, 6, .5);
}

/* Reveal animation for article sections */
html.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
html.js [data-reveal].in { opacity: 1; transform: none; }

/* Lightbox */
.article-lightbox {
    display: none; position: fixed; inset: 0; z-index: 5000;
    background: rgba(1, 10, 6, .92); backdrop-filter: blur(10px);
    align-items: center; justify-content: center; padding: 24px;
}
.article-lightbox.open { display: flex; }
.article-lightbox img {
    max-width: min(1080px, 94vw); max-height: 84vh;
    border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.6);
    border: 1px solid rgba(201, 164, 92, .4);
}
.article-lightbox .lb-close {
    position: absolute; top: 22px; right: 26px;
    width: 46px; height: 46px; border-radius: 50%;
    background: rgba(201, 164, 92, .15); border: 1px solid rgba(201, 164, 92, .5);
    color: var(--gold-light); font-size: 1.1rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: all .2s ease;
}
.article-lightbox .lb-close:hover { background: var(--kaffa-gold); color: var(--forest-dark); }
.article-lightbox .lb-caption {
    position: absolute; left: 0; right: 0; bottom: 26px; text-align: center;
    color: rgba(255, 255, 255, .75); font-size: .82rem; font-weight: 600; letter-spacing: .3px;
}
@media (prefers-reduced-motion: reduce) { html.js [data-reveal] { opacity: 1; transform: none; } }
.article-gallery img { border-radius: 12px; }
.article-tag {
    display: inline-block;
    padding: .4rem .85rem; margin-right: .45rem; margin-bottom: .45rem;
    border: 1px solid rgba(201, 164, 92, .3);
    border-radius: 999px;
    color: rgba(255,255,255,.75);
    font-size: .72rem; font-weight: 700;
    background: rgba(2, 24, 14, .4);
    text-decoration: none;
}
.article-tag:hover { color: var(--gold-light); border-color: var(--kaffa-gold); }

@media (max-width: 767.98px) {
    .classic-body .page-header { padding: 46px 0 42px; }
    .news-lead { min-height: 340px; }
    .news-lead-body { padding: 1.4rem 1.2rem; }
    .news-story-img { height: 160px; }
    .archive-record-card { grid-template-columns: 1fr; }
    .archive-record-image img { min-height: 190px; }
    .archive-record-date { flex-direction: row; justify-content: center; gap: .5rem; align-items: baseline; }
}