/* ============================================================
   DIGNITY MEDIA — THEME-LIGHT.CSS
   Modern editorial design system. Consolidated, final.
   Bigger type, softer radii, subtle depth — confident & current.
   Loads LAST in the enqueue chain; overrides all dark defaults.
   ============================================================ */

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
    --dm-bg-primary:   #FFFFFF;
    --dm-bg-secondary: #FAFAF8;
    --dm-bg-tertiary:  #F0EFEC;
    --dm-bg-card:      #FFFFFF;
    --dm-bg-glass:     rgba(255,255,255,0.97);

    --dm-white:        #1A1A1A;
    --dm-gray-100:     #1A1A1A;
    --dm-gray-200:     #2E2E2E;
    --dm-gray-300:     #484848;
    --dm-gray-400:     #686868;
    --dm-gray-500:     #8A8A8A;
    --dm-gray-600:     #ABABAB;

    --dm-line:         #E6E4E0;
    --dm-line-soft:    #EFEDEA;

    --dm-accent:       #F7F5F2;
    --dm-green:        #1A7A4A;

    --shadow-sm:   0 1px 3px rgba(20,15,10,0.06);
    --shadow-md:   0 4px 14px rgba(20,15,10,0.08);
    --shadow-lg:   0 8px 24px rgba(20,15,10,0.10);
    --shadow-xl:   0 14px 36px rgba(20,15,10,0.12);
    --shadow-glow-red:  none;
    --shadow-glow-blue: none;

    /* Softer, more modern radii */
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 9px;
    --radius-xl: 13px;
}

/* ============================================================
   2. BASE
   ============================================================ */
body { background: #FFFFFF; color: #2E2E2E; font-size: 1rem; }
h1, h2, h3, h4, h5, h6 { color: #1A1A1A; letter-spacing: -0.012em; }
a { color: #2E2E2E; }
a:hover { color: #B01125; }
strong, b { color: #1A1A1A; }
p { color: #484848; }
::selection { background: #F4D5D8; color: #1A1A1A; }

.badge--breaking,
.badge--live::before,
.campaign-card__urgent { animation: none !important; }

/* ============================================================
   3. TOP BAR
   ============================================================ */
.topbar { background: #FAFAF8; border-bottom: 1px solid var(--dm-line); }
.topbar__date { color: #8A8A8A; font-size: 0.78rem; }
.topbar__date svg { color: #B0AEA9; }
.topbar .social-icon { color: #ABABAB; }
.topbar .social-icon:hover { color: #B01125; background: none; }
.topbar__nav-list li a { color: #8A8A8A; border-right-color: var(--dm-line); font-size: 0.76rem; }
.topbar__nav-list li a:hover { color: #1A1A1A; }
.language-switcher__toggle { color: #8A8A8A; font-size: 0.76rem; }
.language-switcher__toggle:hover { color: #1A1A1A; background: #F0EFEC; }
.language-switcher__dropdown { background: #FFFFFF; border: 1px solid var(--dm-line); box-shadow: var(--shadow-md); border-radius: var(--radius-md); }
.language-switcher__dropdown a { color: #484848; font-size: 0.85rem; }
.language-switcher__dropdown a:hover { background: #FAFAF8; color: #1A1A1A; }

/* ============================================================
   4. BREAKING TICKER
   ============================================================ */
.breaking-ticker { background: #B01125; }
.breaking-ticker__label .badge--breaking { background: rgba(0,0,0,0.18); font-size: 0.74rem; }
.breaking-ticker__item { color: rgba(255,255,255,0.96); font-size: 0.86rem; }
.breaking-ticker__pause { background: rgba(0,0,0,0.15); border-color: rgba(255,255,255,0.2); color: rgba(255,255,255,0.8); }

/* ============================================================
   5. SITE HEADER
   ============================================================ */
.site-header { background: #FFFFFF; border-bottom: 1px solid #1A1A1A; box-shadow: none; height: 72px; }
.site-header.is-scrolled { background: rgba(255,255,255,0.98); box-shadow: var(--shadow-md); backdrop-filter: none; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
.site-header__logo { flex: 0 0 auto; display: flex; align-items: center; height: 100%; }
.logo-link { display: flex; align-items: center; height: 100%; text-decoration: none; }
.site-header .custom-logo, .site-header .logo-link img { height: 40px; width: auto; max-width: 170px; display: block; }
.logo-text { display: flex; flex-direction: column; gap: 1px; justify-content: center; }
.logo-text__main { color: #1A1A1A !important; font-size: 1.5rem; font-weight: 800; line-height: 1; letter-spacing: -0.025em; }
.logo-text__main span { color: #B01125 !important; }
.logo-text__tagline { color: #8A8A8A !important; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.12em; line-height: 1; }

.site-nav { display: flex; align-items: center; justify-content: center; height: 100%; flex: 1; }
.site-nav__list { height: 100%; display: flex; align-items: center; gap: 0; }
.site-nav__list > li { height: 100%; display: flex; align-items: center; position: relative; }
.site-nav__list > li > a {
    color: #2E2E2E !important; font-size: 0.875rem; font-weight: 600; height: 100%;
    display: flex; align-items: center; padding: 0 15px; letter-spacing: 0.005em;
    border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color 0.15s, border-color 0.15s;
}
.site-nav__list > li > a::after { display: none; }
.site-nav__list > li > a:hover { color: #B01125 !important; border-bottom-color: #B01125; }
.site-nav__list > li.current-menu-item > a, .site-nav__list > li.current-menu-ancestor > a { color: #B01125 !important; border-bottom-color: #B01125; }
.nav-arrow { color: #ABABAB !important; }

.sub-menu, .mega-menu {
    background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-top: 2px solid #1A1A1A !important;
    box-shadow: var(--shadow-lg) !important; border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
}
.sub-menu li { border-bottom: 1px solid var(--dm-line-soft) !important; }
.sub-menu li a { color: #484848 !important; font-size: 0.86rem !important; padding: 11px 18px !important; }
.sub-menu li a:hover { background: #FAFAF8 !important; color: #B01125 !important; padding-left: 22px !important; }
.sub-menu li.current-menu-item a { color: #B01125 !important; }
.mega-menu__col-title { color: #B01125 !important; border-bottom-color: var(--dm-line) !important; font-size: 0.74rem !important; }
.mega-menu__col ul li a { color: #686868 !important; font-size: 0.85rem !important; }
.mega-menu__col ul li a:hover { color: #1A1A1A !important; }
.mega-menu__featured { background: #FAFAF8 !important; }

.site-header__actions { display: flex; align-items: center; gap: 6px; height: 100%; flex: 0 0 auto; }
.header-action-btn { background: transparent !important; border: 1px solid var(--dm-line) !important; color: #484848 !important; border-radius: var(--radius-sm) !important; }
.header-action-btn:hover { background: #FAFAF8 !important; color: #1A1A1A !important; border-color: #C8C6C2 !important; }
.hamburger { background: transparent !important; border-color: var(--dm-line) !important; border-radius: var(--radius-sm) !important; }
.hamburger__line { background: #2E2E2E !important; }
.header-search { background: #FFFFFF !important; border-bottom: 1px solid var(--dm-line) !important; box-shadow: var(--shadow-md) !important; }
.suggestion-tag { background: #FAFAF8; border-color: var(--dm-line); color: #686868; border-radius: var(--radius-sm); font-size: 0.82rem; }
.suggestion-tag:hover { background: #B01125; color: #FFF; border-color: #B01125; }
.suggestions__label { color: #8A8A8A; font-size: 0.82rem; }

@media (max-width: 1024px) {
    .site-header__inner { display: flex !important; justify-content: space-between !important; gap: 0 !important; }
    .site-nav { display: none !important; }
    .site-header__actions { margin-left: auto !important; }
    .hamburger { display: flex !important; }
}
@media (min-width: 1025px) {
    .site-nav { display: flex !important; }
    .hamburger { display: none !important; }
}

.mobile-menu { background: #FFFFFF !important; border-left: 1px solid var(--dm-line) !important; }
.mobile-menu__header { border-bottom-color: var(--dm-line) !important; }
.mobile-menu__close { background: transparent !important; border-color: var(--dm-line) !important; color: #484848 !important; }
.mobile-menu__list li a { color: #2E2E2E !important; border-bottom-color: var(--dm-line-soft) !important; background: #FFFFFF !important; display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 0.96rem !important; }
.mobile-menu__list li a:hover { color: #B01125 !important; background: #FAFAF8 !important; }
.mobile-menu__list .nav-arrow { display: none !important; }
.mobile-menu__list .sub-menu { background: #FAFAF8 !important; max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.mobile-menu__list .sub-menu.is-open { max-height: 500px; }
.mobile-menu__list .sub-menu li a { color: #686868 !important; font-size: 0.88rem !important; padding-left: calc(var(--space-xl) + 16px) !important; }
.mobile-sub-toggle {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    flex-shrink: 0 !important; width: 32px !important; height: 32px !important;
    background: transparent !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-sm) !important;
    color: #686868 !important; margin-left: auto !important; transition: all 0.15s !important;
}
.mobile-sub-toggle svg { width: 14px !important; height: 14px !important; transition: transform 0.25s ease !important; }
.mobile-sub-toggle.is-open { border-color: #B01125 !important; color: #B01125 !important; }
.mobile-sub-toggle.is-open svg { transform: rotate(180deg) !important; }
.mobile-menu__footer { border-top-color: var(--dm-line) !important; background: #FFFFFF; }
.mobile-menu .social-icon { background: transparent !important; border-color: var(--dm-line) !important; color: #686868 !important; }
.mobile-menu .social-icon:hover { color: #B01125 !important; border-color: #B01125 !important; }
.lang-btn { background: transparent; border-color: var(--dm-line); color: #686868; border-radius: var(--radius-sm); }
.lang-btn:hover, .lang-btn.is-active { background: #B01125; color: #FFF; border-color: #B01125; }
.mobile-menu-overlay { background: rgba(0,0,0,0.45) !important; }

/* ============================================================
   6. HERO — bigger, bolder title
   ============================================================ */
.hero-section { background: #14110F !important; min-height: 72vh !important; min-height: 72dvh !important; }
.hero-media > div { background: #14110F !important; }
.hero-media::after {
    background:
        linear-gradient(to top, rgba(10,8,7,0.92) 0%, rgba(10,8,7,0.55) 42%, rgba(10,8,7,0.10) 78%, transparent 100%),
        linear-gradient(to right, rgba(10,8,7,0.40) 0%, transparent 55%) !important;
}
.hero-scroll-indicator { display: none !important; }
.hero-category { background: #B01125 !important; color: #FFFFFF !important; border: none !important; font-size: 0.74rem !important; padding: 5px 13px !important; border-radius: var(--radius-sm) !important; font-weight: 700 !important; letter-spacing: 0.08em !important; }
.hero-title, .hero-title a { color: #FFFFFF !important; font-size: clamp(2rem,4.2vw,3.25rem) !important; font-weight: 800 !important; line-height: 1.14 !important; letter-spacing: -0.02em !important; }
.hero-title span { color: #E8A0A8 !important; }
.hero-excerpt { color: rgba(255,255,255,0.80) !important; font-size: 1.125rem !important; line-height: 1.65 !important; }
.hero-author-name { color: #FFFFFF !important; font-size: 0.92rem !important; }
.hero-author-role { color: rgba(255,255,255,0.52) !important; font-size: 0.8rem !important; }
.hero-date, .hero-read-time { color: rgba(255,255,255,0.56) !important; font-size: 0.86rem !important; }
.hero-sidebar-title { color: rgba(255,255,255,0.42) !important; border-bottom-color: rgba(255,255,255,0.12) !important; font-size: 0.74rem !important; letter-spacing: 0.1em !important; }
.hero-side-card { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; backdrop-filter: blur(6px) !important; border-radius: var(--radius-md) !important; }
.hero-side-card:hover { background: rgba(255,255,255,0.10) !important; }
.hero-side-card__title { color: #FFFFFF !important; font-size: 0.88rem !important; }
.hero-side-card__cat { color: #E8A0A8 !important; font-size: 0.7rem !important; font-weight: 700 !important; }
.hero-side-card__time { color: rgba(255,255,255,0.48) !important; font-size: 0.78rem !important; }
.hero-actions .btn-primary { background: #B01125 !important; color: #FFF !important; box-shadow: none !important; }
.hero-actions .btn-primary:hover { background: #8C0D1D !important; }
.hero-actions .btn-outline { border-color: rgba(255,255,255,0.35) !important; color: #FFFFFF !important; background: transparent !important; }
.hero-actions .btn-outline:hover { border-color: rgba(255,255,255,0.7) !important; background: rgba(255,255,255,0.05) !important; }

/* ============================================================
   7. SECTION HEADERS — bigger, more presence
   ============================================================ */
.section-header { margin-bottom: 30px !important; padding-bottom: 0 !important; border-bottom: none !important; }
.section-label { color: #B01125 !important; font-size: 0.78rem !important; font-weight: 700 !important; letter-spacing: 0.1em !important; margin-bottom: 7px !important; }
.section-label::before { background: #B01125 !important; width: 22px !important; height: 2px !important; }
.section-title { color: #1A1A1A !important; font-size: clamp(1.5rem,2.6vw,2rem) !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.18 !important; }
.section-subtitle { color: #686868 !important; font-size: 0.95rem !important; line-height: 1.58 !important; }
.view-all-link { color: #1A1A1A !important; font-size: 0.84rem !important; font-weight: 600 !important; letter-spacing: 0.02em !important; }
.view-all-link:hover { color: #B01125 !important; }

.featured-section      { background: #FFFFFF; padding: 56px 0; }
.news-grid-section     { background: #FAFAF8; padding: 56px 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); }
.human-stories-section { background: #FFFFFF; padding: 56px 0; }
.human-stories-section::before { display: none; }
.video-section          { background: #FAFAF8; padding: 56px 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); }
.campaigns-section      { background: #FFFFFF; padding: 56px 0; }
.events-section         { background: #FAFAF8; padding: 56px 0; border-top: 1px solid var(--dm-line); }
.more-stories-section   { background: #FAFAF8 !important; border-top: 1px solid var(--dm-line) !important; padding: 56px 0 !important; }

/* ============================================================
   8. NEWS CARDS — bigger type, bigger category tags, subtle depth
   ============================================================ */
.card {
    background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important;
    overflow: hidden !important; display: flex !important; flex-direction: column !important; height: 100% !important;
    box-shadow: var(--shadow-sm) !important; transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.card:hover { box-shadow: var(--shadow-lg) !important; border-color: #D3D1CC !important; transform: translateY(-2px) !important; }
.card__image, a.card__image {
    display: block !important; position: relative !important; overflow: hidden !important;
    width: 100% !important; height: 192px !important; aspect-ratio: unset !important; max-height: none !important;
    flex-shrink: 0 !important; background: #EFEDEA !important;
}
.card__image img, a.card__image img {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center !important; display: block !important; transition: transform 0.4s ease !important;
}
.card:hover .card__image img { transform: scale(1.03); }
.card__image-overlay { display: none !important; }
.card__body { display: flex !important; flex-direction: column !important; flex: 1 !important; padding: 17px 18px 18px !important; background: #FFFFFF !important; }
.card__category {
    display: inline-flex !important; align-items: center !important; color: #B01125 !important; background: #FBF1F2 !important;
    border: none !important; font-size: 0.72rem !important; font-weight: 700 !important; letter-spacing: 0.04em !important;
    text-transform: uppercase !important; padding: 3px 10px !important; margin: 0 0 9px !important; border-radius: var(--radius-sm) !important;
    width: fit-content !important;
}
.card__title, .card__title a {
    color: #1A1A1A !important; font-size: 1.0625rem !important; font-weight: 700 !important; line-height: 1.36 !important;
    font-family: var(--font-display) !important; margin-bottom: 8px !important;
    display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.card__title a:hover { color: #B01125 !important; }
.card__excerpt {
    color: #686868 !important; font-size: 0.875rem !important; line-height: 1.58 !important; margin-bottom: 10px !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.card__meta { color: #ABABAB !important; font-size: 0.78rem !important; gap: 11px !important; margin-top: auto !important; }
.card__meta-item, .card__meta-item svg { color: #B5B3AE !important; }
.news-cards-grid, .archive-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 22px !important; align-items: stretch !important; }

/* ============================================================
   FEATURED SECTION
   ============================================================ */

.featured-grid{
    display:grid !important;
    grid-template-columns:1.7fr 1fr !important;
    gap:22px !important;
    align-items:stretch !important;
}

/* ================= PRIMARY STORY ================= */

.featured-card-primary{
    position:relative !important;
    border-radius:var(--radius-lg) !important;
    overflow:hidden !important;
    aspect-ratio:4/3 !important;
    display:flex !important;
    align-items:flex-end !important;
    background:#14110F !important;
    box-shadow:var(--shadow-sm) !important;
}

.featured-card-primary img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.featured-card-primary::after{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
        to top,
        rgba(10,8,7,.95) 0%,
        rgba(10,8,7,.40) 55%,
        transparent 100%
    ) !important;
}

.featured-card-primary__body{
    position:relative !important;
    z-index:2 !important;
    padding:24px !important;
}

.featured-card-primary__title{
    color:#fff !important;
    font-size:clamp(1.3rem,2vw,1.8rem) !important;
    line-height:1.3 !important;
    font-weight:800 !important;
}

.featured-card-primary__excerpt{
    color:rgba(255,255,255,.85) !important;
    line-height:1.6 !important;
}
/* ================= SECONDARY STACK ================= */

.featured-stack{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    height:100% !important;
}

/* CARD */

a.featured-card-secondary{
    display:grid !important;
    grid-template-columns:100px 1fr !important;
    height:78px !important;
    min-height:78px !important;

    align-items:stretch !important;

    border:1px solid var(--dm-line) !important;
    border-radius:var(--radius-md) !important;
    overflow:hidden !important;

    background:#fff !important;
    text-decoration:none !important;

    box-shadow:var(--shadow-sm) !important;
    transition:all .2s ease !important;
}

a.featured-card-secondary:hover{
    box-shadow:var(--shadow-md) !important;
    border-color:#d3d1cc !important;
}

/* IMAGE COLUMN */

.featured-card-secondary__img{
    position:relative !important;

    width:100px !important;
    height:100% !important;

    overflow:hidden !important;
    background:#efedea !important;
}

.featured-card-secondary__img a{
    display:block !important;
    width:100% !important;
    height:100% !important;
}

.featured-card-secondary__img img{
    position:absolute !important;
    inset:0 !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    display:block !important;
    margin:0 !important;
}

/* CONTENT */

.featured-card-secondary__body{
    padding:8px 12px !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;

    gap:3px !important;

    min-width:0 !important;
    overflow:hidden !important;
}

.featured-card-secondary__cat{
    font-size:.62rem !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.05em !important;
    color:#B01125 !important;
    line-height:1.2 !important;
}

.featured-card-secondary__title{
    font-size:.84rem !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    color:#1A1A1A !important;

    margin:0 !important;
    padding-bottom:2px !important;

    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
}

.featured-card-secondary__time{
    display:none !important;
}

/* ================= MOBILE ================= */

@media (max-width:768px){

    .featured-stack{
        gap:12px !important;
    }

    a.featured-card-secondary{
        grid-template-columns:95px 1fr !important;
        height:90px !important;
        min-height:90px !important;
    }

    .featured-card-secondary__img{
        width:95px !important;
        height:100% !important;
    }

    .featured-card-secondary__title{
        font-size:.88rem !important;
        line-height:1.45 !important;
    }
}

/* ============================================================
   10. NEWS FILTER TABS — bigger, chunkier
   ============================================================ */
.news-filter-tabs { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; border-bottom: 1px solid var(--dm-line) !important; margin-bottom: 26px !important; padding-bottom: 0 !important; }
.news-filter-tab {
    font-size: 0.86rem !important; font-weight: 600 !important; color: #686868 !important; background: transparent !important;
    border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important;
    padding: 10px 14px !important; margin-bottom: -1px !important; cursor: pointer !important; white-space: nowrap !important;
}
.news-filter-tab:hover { color: #1A1A1A !important; border-bottom-color: #C8C6C2 !important; }
.news-filter-tab.is-active { color: #B01125 !important; border-bottom-color: #B01125 !important; font-weight: 700 !important; }

/* ============================================================
   11. SIDEBAR WIDGETS (homepage news sidebar)
   ============================================================ */
.trending-widget { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; overflow: hidden !important; box-shadow: var(--shadow-sm) !important; }
.trending-widget__header { background: #FAFAF8 !important; border-bottom: 1px solid var(--dm-line) !important; padding: 13px 16px !important; }
.trending-widget__title { color: #1A1A1A !important; font-size: 0.78rem !important; font-weight: 700 !important; letter-spacing: 0.07em !important; }
.trending-item { border-bottom-color: var(--dm-line-soft) !important; padding: 13px 16px !important; }
.trending-item:hover { background: #FAFAF8 !important; }
.trending-item__num { color: #E5C5C5 !important; font-size: 1.4rem !important; width: 26px !important; font-weight: 800 !important; }
.trending-item__title { color: #2E2E2E !important; font-size: 0.9rem !important; font-weight: 600 !important; }
.trending-item:hover .trending-item__title { color: #B01125 !important; }
.trending-item__meta { color: #ABABAB !important; font-size: 0.76rem !important; }

.newsletter-widget { background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; padding: 22px 20px !important; }
.newsletter-widget__icon { color: #B01125 !important; margin-bottom: 11px !important; }
.newsletter-widget__icon svg { width: 28px !important; height: 28px !important; }
.newsletter-widget__title { color: #1A1A1A !important; font-size: 1.0625rem !important; font-family: var(--font-display) !important; margin-bottom: 7px !important; }
.newsletter-widget__desc { color: #686868 !important; font-size: 0.86rem !important; line-height: 1.5 !important; margin-bottom: 15px !important; }
.newsletter-widget .form-input { width: 100% !important; padding: 11px 13px !important; font-size: 0.92rem !important; background: #FFFFFF !important; border: 1px solid #D5D3CE !important; border-radius: var(--radius-sm) !important; color: #1A1A1A !important; box-sizing: border-box !important; }
.newsletter-widget .btn { width: 100% !important; font-size: 0.85rem !important; padding: 11px 0 !important; margin-top: 9px !important; }
.newsletter-widget .newsletter-form__message { font-size: 0.8rem !important; margin-top: 6px !important; }

/* ============================================================
   12. HUMAN STORIES
   ============================================================ */
.story-card { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-sm) !important; }
.story-card:hover { box-shadow: var(--shadow-lg) !important; transform: translateY(-2px) !important; border-color: #D3D1CC !important; }
.story-card__image { aspect-ratio: 3/2 !important; }
.story-card__image::after { display: none !important; }
.story-card__body { padding: 17px 18px 18px !important; }
.story-card__body::before { color: #B01125; opacity: 0.06; font-size: 3.2rem !important; }
.story-card__country { color: #ABABAB !important; font-size: 0.74rem !important; }
.story-card__name { color: #1A1A1A !important; font-size: 1.0625rem !important; }
.story-card__excerpt { color: #686868 !important; font-size: 0.88rem !important; -webkit-line-clamp: 2 !important; }
.story-card__read-more { color: #B01125 !important; font-size: 0.78rem !important; font-weight: 700 !important; }

/* ============================================================
   13. STATS — bigger numbers
   ============================================================ */
.stats-section { background: #FAFAF8 !important; padding: 56px 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); }
.stats-section::before { display: none; }
.stats-grid { background: var(--dm-line) !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; }
.stat-card { background: #FFFFFF !important; padding: 42px 24px !important; }
.stat-card:hover { background: #FAFAF8 !important; }
.stat-card__number { color: #1A1A1A !important; font-size: clamp(2.25rem,4.2vw,3rem) !important; }
.stat-card__suffix { color: #B01125 !important; }
.stat-card__label { color: #484848 !important; font-size: 0.8rem !important; letter-spacing: 0.06em !important; font-weight: 600 !important; }
.stat-card__desc { color: #ABABAB !important; font-size: 0.86rem !important; }
.stat-card__icon { color: #D8D6D1 !important; }

/* ============================================================
   14. VOLUNTEER CTA
   ============================================================ */
.volunteer-cta { background: #FFFFFF !important; padding: 56px 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); }
.volunteer-cta::before { display: none; }
.volunteer-cta__title { color: #1A1A1A !important; font-size: clamp(1.625rem,3vw,2.25rem) !important; }
.volunteer-cta__title span { color: #B01125 !important; }
.volunteer-cta__desc { color: #484848 !important; font-size: 1rem !important; }
.volunteer-role { background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; color: #484848 !important; border-radius: var(--radius-sm) !important; font-size: 0.85rem !important; padding: 7px 14px !important; }
.volunteer-role svg { color: #1A7A4A !important; }

/* ============================================================

/* ============================================================
   16. VIDEO SECTION
   ============================================================ */
.video-featured { background: #14110F !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-sm) !important; }
.video-featured__title { font-size: 1.25rem !important; }
.video-card { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-md) !important; padding: 11px !important; }
.video-card:hover { border-color: #C8C6C2 !important; background: #FAFAF8 !important; }
.video-card.is-active { border-color: #B01125 !important; background: #FBF1F2 !important; }
.video-card__title { color: #2E2E2E !important; font-size: 0.88rem !important; font-weight: 600 !important; }
.video-card__meta { color: #ABABAB !important; font-size: 0.74rem !important; }
.video-play-btn { color: #B01125 !important; }

/* ============================================================
   17. CAMPAIGNS
   ============================================================ */
.campaign-card { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-sm) !important; }
.campaign-card:hover { box-shadow: var(--shadow-lg) !important; transform: translateY(-2px) !important; border-color: #D3D1CC !important; }
.campaign-card__image { aspect-ratio: 16/9 !important; max-height: 175px !important; }
.campaign-card__body { padding: 17px 18px 18px !important; }
.campaign-card__title { color: #1A1A1A !important; font-size: 1.0625rem !important; margin-bottom: 6px !important; }
.campaign-card__desc { color: #686868 !important; font-size: 0.88rem !important; -webkit-line-clamp: 2 !important; margin-bottom: 12px !important; }
.campaign-raised { color: #1A1A1A !important; font-size: 1.125rem !important; font-weight: 700 !important; }
.campaign-goal { color: #ABABAB !important; font-size: 0.8rem !important; }
.campaign-pct { color: #1A7A4A !important; font-size: 0.8rem !important; font-weight: 700 !important; }
.campaign-backers { color: #ABABAB !important; font-size: 0.8rem !important; }
.progress-bar { background: #EFEDEA !important; height: 6px !important; border-radius: 99px !important; }
.progress-bar__fill { background: #B01125 !important; }

/* ============================================================
   18. EVENTS
   ============================================================ */
.event-card { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; padding: 18px !important; box-shadow: var(--shadow-sm) !important; }
.event-card:hover { border-color: #D3D1CC !important; transform: none !important; box-shadow: var(--shadow-md) !important; }
.event-date-box { background: #FBF1F2 !important; border: 1px solid #F0CDD1 !important; border-radius: var(--radius-md) !important; width: 58px !important; height: 58px !important; }
.event-date-box__day { color: #B01125 !important; font-size: 1.45rem !important; }
.event-date-box__month { color: #ABABAB !important; font-size: 0.64rem !important; }
.event-type { color: #484848 !important; font-size: 0.7rem !important; font-weight: 700 !important; }
.event-title { color: #1A1A1A !important; font-size: 1rem !important; }
.event-meta { color: #ABABAB !important; font-size: 0.82rem !important; }
.events-calendar-widget { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-sm) !important; }
.calendar-header { background: #FAFAF8 !important; border-bottom: 1px solid var(--dm-line) !important; }
.calendar-header__title { color: #1A1A1A !important; font-size: 0.92rem !important; }
.calendar-nav-btn { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; color: #686868 !important; }
.calendar-nav-btn:hover { background: #FAFAF8 !important; color: #1A1A1A !important; }
.calendar-day-label { color: #ABABAB !important; font-size: 0.7rem !important; }
.calendar-day { color: #484848 !important; font-size: 0.86rem !important; }
.calendar-day:hover { background: #FAFAF8 !important; color: #1A1A1A !important; }
.calendar-day.is-today { background: #FBF1F2 !important; color: #B01125 !important; font-weight: 700; }
.calendar-day.is-selected { background: #B01125 !important; color: #FFFFFF !important; }
.calendar-day.has-event::after { background: #B01125 !important; }

/* ============================================================
   19. NEWSLETTER STRIP
   ============================================================ */
.newsletter-strip { background: #FAFAF8 !important; border-top: 1px solid var(--dm-line) !important; border-bottom: 1px solid var(--dm-line) !important; padding: 60px 0 !important; }
.newsletter-strip::before, .newsletter-strip::after { display: none; }
.newsletter-strip__title { color: #1A1A1A !important; font-size: clamp(1.5rem,2.6vw,2rem) !important; }
.newsletter-strip__desc { color: #686868 !important; font-size: 0.96rem !important; }
.newsletter-strip__feature { color: #484848 !important; font-size: 0.86rem !important; }
.newsletter-strip__feature svg { color: #1A7A4A !important; }
.newsletter-strip__form-wrap { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; box-shadow: var(--shadow-md) !important; border-radius: var(--radius-lg) !important; }
.newsletter-stat strong { color: #B01125 !important; font-size: 1.45rem !important; }
.newsletter-stat span { color: #ABABAB !important; font-size: 0.74rem !important; }

/* ============================================================
   20. FORMS, BUTTONS, BADGES
   ============================================================ */
.form-input, .form-select, .form-textarea {
    background: #FFFFFF !important; border: 1px solid #D5D3CE !important; color: #1A1A1A !important;
    border-radius: var(--radius-sm) !important; font-size: 0.95rem !important; padding: 0.78rem 1.05rem !important;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: #B01125 !important; box-shadow: 0 0 0 3px rgba(176,17,37,0.10) !important; }
.form-input::placeholder, .form-textarea::placeholder { color: #ABABAB !important; }
.form-label { color: #2E2E2E !important; font-size: 0.88rem !important; font-weight: 600 !important; }

.btn { border-radius: var(--radius-sm) !important; box-shadow: none !important; letter-spacing: 0.02em !important; font-size: 0.9rem !important; padding: 0.78rem 1.85rem !important; }
.btn::after { display: none; }
.btn-primary { background: #B01125 !important; color: #FFFFFF !important; }
.btn-primary:hover { background: #8C0D1D !important; transform: none; }
.btn-secondary { background: #1A1A1A !important; color: #FFFFFF !important; }
.btn-secondary:hover { background: #333333 !important; }
.btn-outline { border: 1px solid #C8C6C2 !important; color: #2E2E2E !important; background: transparent !important; }
.btn-outline:hover { border-color: #1A1A1A !important; color: #1A1A1A !important; background: #FAFAF8 !important; }
.btn-ghost { color: #686868 !important; background: transparent !important; }
.btn-ghost:hover { color: #1A1A1A !important; background: #FAFAF8 !important; }
.btn-sm { padding: 0.55rem 1.2rem !important; font-size: 0.82rem !important; }
.btn-lg { padding: 0.95rem 2.4rem !important; font-size: 0.96rem !important; }

.badge--breaking { background: #B01125 !important; font-size: 0.72rem !important; }
.badge--live { background: #B01125 !important; }
.badge--new { background: #1A7A4A !important; }
.badge--opinion { background: #1A1A1A !important; }

/* ============================================================
   21. SINGLE POST PAGE
   ============================================================ */
.single-wrap { background: #FFFFFF !important; padding: 38px 0 80px !important; }
.single-layout { display: grid !important; grid-template-columns: 1fr 300px !important; gap: 54px !important; align-items: start !important; max-width: 1280px !important; margin: 0 auto !important; }

.single-breadcrumbs { margin-bottom: 20px !important; padding-bottom: 14px !important; border-bottom: 1px solid var(--dm-line-soft) !important; font-size: 0.82rem !important; }
.breadcrumbs a { color: #8A8A8A !important; }
.breadcrumbs a:hover { color: #B01125 !important; }
.breadcrumbs__sep { color: #C8C6C2 !important; }
.breadcrumbs .current { color: #484848 !important; }

.article-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; }
.article-cats a, .article-cats .card__category {
    font-size: 0.74rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.04em !important;
    color: #B01125 !important; background: #FBF1F2 !important; border: none !important;
    padding: 4px 11px !important; border-radius: var(--radius-sm) !important;
}

.article-title { color: #1A1A1A !important; font-size: clamp(1.875rem,3.6vw,2.625rem) !important; font-weight: 800 !important; line-height: 1.16 !important; letter-spacing: -0.022em !important; margin-bottom: 19px !important; }
.article-deck { color: #484848 !important; border-left: 3px solid #B01125 !important; background: #FAFAF8 !important; padding: 15px 20px !important; font-style: italic !important; font-size: 1.1875rem !important; line-height: 1.58 !important; border-radius: 0 var(--radius-md) var(--radius-md) 0 !important; margin-bottom: 25px !important; }

.article-meta-bar { border-top: 1px solid var(--dm-line) !important; border-bottom: 1px solid var(--dm-line) !important; padding: 15px 0 !important; margin-bottom: 28px !important; overflow: visible !important; flex-wrap: wrap !important; gap: 16px !important; }
.article-author__avatar { width: 44px !important; height: 44px !important; border: 1px solid var(--dm-line) !important; }
.article-author__name { color: #1A1A1A !important; font-size: 0.92rem !important; }
.article-author__role { color: #ABABAB !important; font-size: 0.78rem !important; }
.article-date, .article-meta-items { color: #ABABAB !important; font-size: 0.84rem !important; }
.article-meta-item svg { color: #C8C6C2 !important; width: 13px !important; height: 13px !important; }

.article-share-bar { overflow: visible !important; gap: 7px !important; margin-left: auto !important; flex-wrap: wrap !important; }
.article-share-bar__label { color: #8A8A8A !important; font-size: 0.72rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; }
.article-share-bottom, .article-share-bottom__btns { overflow: visible !important; }
.share-btn {
    box-sizing: border-box !important; width: 37px !important; height: 37px !important; min-width: 37px !important; min-height: 37px !important;
    padding: 0 !important; overflow: visible !important; background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important;
    color: #686868 !important; border-radius: var(--radius-sm) !important; line-height: 1 !important;
}
.share-btn svg {
    width: 17px !important; height: 17px !important; min-width: 17px !important; min-height: 17px !important;
    max-width: 17px !important; max-height: 17px !important; overflow: visible !important; transform: none !important;
    object-fit: contain !important; flex-shrink: 0 !important; display: inline-block !important; vertical-align: middle !important;
    position: static !important; inset: auto !important;
}
.share-btn svg path, .share-btn svg polygon, .share-btn svg circle, .share-btn svg g { transform: none !important; }
.share-btn:hover { background: #F0EFEC !important; color: #1A1A1A !important; border-color: #C8C6C2 !important; }
.share-btn--facebook { color: #1877F2 !important; }
.share-btn--facebook svg { fill: currentColor !important; }
.share-btn--facebook:hover { background: #E7F0FD !important; border-color: #BFDBFE !important; }
.share-btn--twitter { color: #1A1A1A !important; }
.share-btn--twitter svg { fill: currentColor !important; }
.share-btn--twitter:hover { background: #F0EFEC !important; border-color: #C8C6C2 !important; }
.share-btn--whatsapp { color: #25D366 !important; }
.share-btn--whatsapp svg { fill: currentColor !important; }
.share-btn--whatsapp:hover { background: #E5F8EC !important; border-color: #B8E8C8 !important; }
.share-btn--copy { color: #686868 !important; }
.share-btn--copy svg { fill: none !important; stroke: currentColor !important; }
.share-btn--copy:hover { background: #F0EFEC !important; border-color: #C8C6C2 !important; color: #1A1A1A !important; }
.share-btn--lg { width: auto !important; height: 40px !important; padding: 0 16px !important; gap: 0 !important; font-size: 0.84rem !important; font-weight: 700 !important; }
.share-btn__label { margin-left: 8px !important; white-space: nowrap !important; display: inline-block !important; }

.article-featured-image { margin: 0 0 30px !important; border-radius: var(--radius-md) !important; overflow: hidden !important; background: #F0EFEC !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.article-featured-image__img { width: 100% !important; height: auto !important; max-height: 640px !important; object-fit: contain !important; object-position: center !important; background: #F0EFEC !important; }
.article-featured-image__caption { color: #8A8A8A !important; padding: 9px 15px !important; background: #FAFAF8 !important; border-top: 1px solid var(--dm-line) !important; font-style: italic !important; font-size: 0.82rem !important; }

.article-body, .entry-content { color: #2E2E2E !important; font-size: 1.125rem !important; line-height: 1.82 !important; max-width: 100% !important; }
.article-body p, .entry-content p { color: #2E2E2E !important; margin: 0 0 1.45em !important; text-align: justify !important; text-justify: inter-word !important; hyphens: auto !important; -webkit-hyphens: auto !important; }
.article-body h2, .entry-content h2 { color: #1A1A1A !important; font-size: 1.5625rem !important; font-weight: 800 !important; margin: 2.1em 0 0.6em !important; padding-top: 1.4em !important; border-top: 1px solid var(--dm-line-soft) !important; letter-spacing: -0.015em !important; }
.article-body h3, .entry-content h3 { color: #1A1A1A !important; font-size: 1.28rem !important; font-weight: 700 !important; margin: 1.7em 0 0.5em !important; }
.article-body a, .entry-content a { color: #B01125 !important; text-decoration: underline !important; text-decoration-color: rgba(176,17,37,0.35) !important; text-underline-offset: 3px !important; }
.article-body a:hover, .entry-content a:hover { color: #8C0D1D !important; }
.article-body blockquote, .entry-content blockquote { background: #FAFAF8 !important; border-left: 3px solid #B01125 !important; color: #2E2E2E !important; border-radius: 0 var(--radius-md) var(--radius-md) 0 !important; }
.article-body li, .entry-content li { color: #2E2E2E !important; }
.article-body li::marker, .entry-content li::marker { color: #B01125 !important; }
.article-body img, .entry-content img { max-width: 100% !important; height: auto !important; border-radius: var(--radius-md) !important; }

.article-header, .article-tags, .article-share-bottom, .post-navigation, .author-bio-box { max-width: 100% !important; }

.article-tags { border-top: 1px solid var(--dm-line) !important; padding: 24px 0 !important; margin-top: 32px !important; }
.article-tags__label { color: #8A8A8A !important; font-size: 0.74rem !important; }
.article-tag { background: #FAFAF8 !important; border-color: var(--dm-line) !important; color: #686868 !important; border-radius: var(--radius-sm) !important; font-size: 0.84rem !important; padding: 6px 13px !important; }
.article-tag:hover { background: #FBF1F2 !important; border-color: #F0CDD1 !important; color: #B01125 !important; }

.article-share-bottom { background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-md) !important; padding: 20px 24px !important; margin: 32px 0 !important; }
.article-share-bottom > p { color: #484848 !important; font-size: 0.92rem !important; font-weight: 700 !important; margin-bottom: 13px !important; }

.post-navigation { border-top: 1px solid var(--dm-line) !important; padding: 32px 0 !important; margin: 40px 0 !important; gap: 16px !important; }
.post-nav-link { background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-md) !important; padding: 16px !important; }
.post-nav-link:hover { border-color: #C8C6C2 !important; background: #F4F3F0 !important; }
.post-nav-link__dir { color: #B01125 !important; font-size: 0.7rem !important; }
.post-nav-link__title { color: #2E2E2E !important; font-size: 0.92rem !important; }

.author-bio-box { background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-md) !important; padding: 26px !important; margin: 40px 0 !important; gap: 24px !important; }
.author-bio-box__avatar { border: 1px solid var(--dm-line) !important; width: 80px !important; height: 80px !important; }
.author-bio-box__label { color: #8A8A8A !important; font-size: 0.66rem !important; }
.author-bio-box__name { color: #1A1A1A !important; font-size: 1.28rem !important; }
.author-bio-box__name a:hover { color: #B01125 !important; }
.author-bio-box__desc { color: #484848 !important; font-size: 0.94rem !important; }

.single-sidebar { position: sticky !important; top: 90px !important; display: flex !important; flex-direction: column !important; gap: 20px !important; }
.sidebar-widget { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; overflow: hidden !important; box-shadow: var(--shadow-sm) !important; }
.sidebar-widget__title { color: #8A8A8A !important; background: #FAFAF8 !important; border-bottom: 1px solid var(--dm-line) !important; font-size: 0.7rem !important; letter-spacing: 0.1em !important; padding: 11px 16px !important; display: block !important; margin: 0 !important; }
.related-post-card { display: flex !important; gap: 11px !important; padding: 11px 15px !important; border-bottom: 1px solid var(--dm-line-soft) !important; }
.related-post-card:hover { background: #FAFAF8 !important; }
.related-post-card__thumb { width: 68px !important; height: 52px !important; border-radius: var(--radius-sm) !important; position: relative !important; overflow: hidden !important; background: #EFEDEA !important; }
.related-post-card__thumb img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.related-post-card__title { color: #2E2E2E !important; font-size: 0.86rem !important; font-weight: 600 !important; }
.related-post-card:hover .related-post-card__title { color: #B01125 !important; }
.related-post-card__time { color: #B5B3AE !important; font-size: 0.72rem !important; }

.single-sidebar .sidebar-widget--newsletter { background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; }
.single-sidebar .trending-widget__list { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; overflow: hidden !important; list-style: none !important; margin: 0 !important; padding: 0 !important; box-shadow: var(--shadow-sm) !important; }
.single-sidebar .trending-item { display: flex !important; gap: 11px !important; padding: 12px 15px !important; border-bottom: 1px solid var(--dm-line-soft) !important; }
.single-sidebar .trending-item:last-child { border-bottom: none !important; }

.more-stories-section .section-title { color: #1A1A1A !important; }

.comments-title { color: #1A1A1A !important; font-size: 1.4rem !important; }
.comment-body { background: #FFFFFF; border: 1px solid var(--dm-line); border-radius: var(--radius-md); padding: 20px; margin-bottom: 14px; }
.comment-author .fn { color: #1A1A1A !important; font-weight: 700 !important; font-style: normal !important; }
.comment-metadata a { color: #ABABAB !important; }
.comment-content p { color: #484848 !important; }
.reply a { color: #B01125 !important; text-decoration: none !important; font-weight: 600 !important; }
.comment-respond { background: #FAFAF8; border: 1px solid var(--dm-line); border-radius: var(--radius-md); padding: 26px; margin-top: 32px; }
.comment-reply-title { color: #1A1A1A !important; font-size: 1.15rem !important; }

/* ============================================================
   22. ARCHIVE PAGE
   ============================================================ */
.archive-hero { background: #FFFFFF !important; border-bottom: 1px solid #1A1A1A !important; padding: 32px 0 28px !important; }
.archive-hero .section-label { color: #B01125 !important; }
.archive-hero__title { color: #1A1A1A !important; font-size: clamp(1.625rem,2.8vw,2.125rem) !important; margin-top: 5px !important; }
.archive-hero__desc { color: #686868 !important; font-size: 0.95rem !important; }
.archive-hero__meta { color: #ABABAB !important; font-size: 0.84rem !important; }

.archive-layout { display: grid !important; grid-template-columns: 1fr 280px !important; gap: 40px !important; padding: 38px 0 64px !important; }
.archive-main { width: 100% !important; }
.archive-sidebar { position: sticky !important; top: 90px !important; display: flex !important; flex-direction: column !important; gap: 18px !important; }
.archive-sidebar .widget { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; border-radius: var(--radius-lg) !important; padding: 18px 18px 16px !important; margin-bottom: 0 !important; box-shadow: var(--shadow-sm) !important; }
.archive-sidebar .widget__title { color: #8A8A8A !important; font-size: 0.72rem !important; letter-spacing: 0.08em !important; border-bottom: 2px solid #B01125 !important; padding-bottom: 10px !important; margin-bottom: 12px !important; }
.archive-sidebar .widget ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.archive-sidebar .widget ul li { border-bottom: 1px solid var(--dm-line-soft) !important; padding: 10px 0 !important; font-size: 0.9rem !important; }
.archive-sidebar .widget ul li:last-child { border-bottom: none !important; }
.archive-sidebar .widget ul li a { color: #484848 !important; display: flex !important; justify-content: space-between !important; }
.archive-sidebar .widget ul li a:hover { color: #B01125 !important; }
.archive-sidebar .widget ul li a .count { color: #ABABAB !important; background: #FAFAF8 !important; padding: 2px 9px !important; border-radius: 99px !important; font-size: 0.74rem !important; }
.archive-sidebar .widget_tag_cloud .tagcloud { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; }
.archive-sidebar .widget_tag_cloud .tagcloud a { font-size: 0.78rem !important; background: #FAFAF8 !important; border: 1px solid var(--dm-line) !important; color: #686868 !important; padding: 5px 12px !important; border-radius: var(--radius-sm) !important; }
.archive-sidebar .widget_tag_cloud .tagcloud a:hover { background: #FBF1F2 !important; color: #B01125 !important; border-color: #F0CDD1 !important; }

.no-results h2 { color: #1A1A1A !important; }
.no-results p { color: #686868 !important; }

/* ============================================================
   23. MISC — pagination, alerts, footer
   ============================================================ */
.pagination a, .pagination span { background: #FFFFFF !important; border: 1px solid var(--dm-line) !important; color: #686868 !important; border-radius: var(--radius-sm) !important; font-size: 0.88rem !important; }
.pagination a:hover { background: #FAFAF8 !important; color: #1A1A1A !important; }
.pagination .current { background: #1A1A1A !important; color: #FFFFFF !important; border-color: #1A1A1A !important; }

.alert--success { background: #EEF7F0 !important; border-color: #C9E6CE !important; color: #1A7A4A !important; }
.alert--error { background: #FBF1F2 !important; border-color: #F0CDD1 !important; color: #B01125 !important; }
.alert--warning { background: #FFF8EC !important; border-color: #F2DFB0 !important; color: #966616 !important; }

.back-to-top { background: #1A1A1A !important; color: #FFFFFF !important; box-shadow: var(--shadow-md) !important; border-radius: var(--radius-md) !important; }
.back-to-top:hover { background: #B01125 !important; }

.site-footer, .footer-main { background: #1A1A1A !important; }
.footer-partners { background: #161616 !important; border-color: rgba(255,255,255,0.06) !important; }
.footer-legal { background: #161616 !important; }
.footer-tagline { color: #C95B6A !important; font-size: 0.74rem !important; letter-spacing: 0.1em !important; }
.footer-mission { color: #9B9994 !important; font-size: 0.92rem !important; }
.footer-col__title { color: #C9C7C2 !important; border-bottom-color: rgba(255,255,255,0.10) !important; font-size: 0.74rem !important; }
.footer-menu li a { color: #9B9994 !important; font-size: 0.92rem !important; }
.footer-menu li a:hover { color: #FFFFFF !important; }
.footer-menu li a:hover::before { background: #B01125 !important; }
.footer-contact__item, .footer-contact__item a { color: #9B9994 !important; font-size: 0.9rem !important; }
.footer-contact__item a:hover { color: #C95B6A !important; }
.footer-social .social-icon { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.08) !important; color: #9B9994 !important; }
.footer-social .social-icon:hover { background: rgba(255,255,255,0.12) !important; color: #FFFFFF !important; }
.footer-legal__copy p, .footer-legal__copy a { color: #6F6E6A !important; }
.footer-legal__copy a:hover { color: #FFFFFF !important; }
.legal-menu li a { color: #6F6E6A !important; border-right-color: rgba(255,255,255,0.08) !important; }
.legal-menu li a:hover { color: #FFFFFF !important; }

/* ============================================================
   24. RESPONSIVE
   ============================================================ */
@media (max-width: 1280px) {
    .news-grid-layout { grid-template-columns: 1fr 1fr 280px !important; }
    .news-main-grid { grid-column: 1 / 3 !important; }
    .news-cards-grid, .archive-grid { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 1024px) {
    .news-grid-layout { grid-template-columns: 1fr !important; }
    .news-main-grid { grid-column: 1 !important; }
    .news-sidebar { display: none !important; }
    .news-cards-grid, .archive-grid { grid-template-columns: repeat(2,1fr) !important; }
    .single-layout, .archive-layout { grid-template-columns: 1fr !important; }
    .single-sidebar { position: static !important; }
    .archive-sidebar { display: none !important; }
    .featured-grid { grid-template-columns: 1fr !important; }
    .featured-stack { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
    .human-stories-grid { grid-template-columns: repeat(2,1fr) !important; }
    .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
    .events-layout, .video-layout { grid-template-columns: 1fr !important; }
    .campaigns-grid { grid-template-columns: repeat(2,1fr) !important; }
    .volunteer-cta__inner { grid-template-columns: 1fr !important; }
    .volunteer-cta__image { display: none !important; }
    .card__image, a.card__image { height: 170px !important; }
    .single-wrap { padding: 26px 0 56px !important; }
}
@media (max-width: 768px) {
    .news-cards-grid, .archive-grid { grid-template-columns: 1fr !important; }
    .human-stories-grid { grid-template-columns: repeat(2,1fr) !important; gap: 14px !important; }
    .campaigns-grid, .featured-stack { grid-template-columns: 1fr !important; }
    .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
    .article-meta-bar { flex-direction: column !important; align-items: flex-start !important; gap: 11px !important; }
    .article-share-bar { margin-left: 0 !important; }
    .post-navigation { grid-template-columns: 1fr !important; }
    .author-bio-box { flex-direction: column !important; align-items: center !important; text-align: center !important; }
    .article-title { font-size: clamp(1.5rem, 5.5vw, 2rem) !important; margin-bottom: 14px !important; }
    .article-deck { font-size: 1.02rem !important; padding: 12px 16px !important; }
    .article-cats { gap: 6px !important; margin-bottom: 12px !important; }
    .article-featured-image__img { max-height: 320px !important; }
    .article-body, .entry-content { font-size: 1rem !important; line-height: 1.74 !important; }
    .article-body h2, .entry-content h2 { font-size: 1.3rem !important; margin: 1.8em 0 0.5em !important; padding-top: 1.2em !important; }
    .article-body h3, .entry-content h3 { font-size: 1.1rem !important; }
    .article-tags { flex-direction: column !important; align-items: flex-start !important; gap: 9px !important; }
    .article-share-bottom { padding: 16px 17px !important; }
    .article-share-bottom__btns { gap: 9px !important; }
    .share-btn--lg { flex: 1 1 calc(50% - 5px) !important; justify-content: center !important; }
    .author-bio-box__avatar { width: 68px !important; height: 68px !important; }
    .author-bio-box__name { font-size: 1.12rem !important; }
    .comment-respond { padding: 19px !important; }
    .comment-body { padding: 15px !important; }
    .newsletter-strip__inner { grid-template-columns: 1fr !important; gap: 24px !important; }
    .footer-grid { grid-template-columns: 1fr 1fr !important; }
    .footer-col--brand { grid-column: 1 / -1 !important; }
    .card__image, a.card__image { height: 150px !important; }
    .hero-section { min-height: 62vh !important; }
    .hero-grid { grid-template-columns: 1fr !important; }
    .hero-sidebar { display: none !important; }
    .hero-title { font-size: clamp(1.625rem,5.5vw,2.125rem) !important; }
}
@media (max-width: 560px) {
    .human-stories-grid { grid-template-columns: 1fr !important; }
    .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
    .footer-grid { grid-template-columns: 1fr !important; }
    .card__image, a.card__image { height: 140px !important; }
    .featured-card-primary { aspect-ratio: 4/3 !important; }
}
@media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr 1fr !important; }
    .event-card { flex-direction: column !important; gap: 14px !important; }
    .hero-actions { flex-direction: column !important; }
    .site-header .custom-logo, .site-header .logo-link img { height: 34px !important; }
    .logo-text__main { font-size: 1.1rem !important; }
    .logo-text__tagline { display: none !important; }
    .article-featured-image__img { max-height: 240px !important; }
    .article-meta-items { gap: 11px !important; font-size: 0.78rem !important; }
    .article-author__avatar { width: 38px !important; height: 38px !important; }
    .share-btn--lg { flex: 1 1 100% !important; }
    .post-nav-link { padding: 13px !important; }
    .single-breadcrumbs { font-size: 0.76rem !important; }
}

/* ============================================================
   PATCH 7 — Section header: stop title from being squeezed/clipped
   ============================================================ */
.section-header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
}
.section-header > div:first-child {
    flex: 1 1 auto !important;
    min-width: 240px !important;
}
.section-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    width: auto !important;
    max-width: 100% !important;
    word-break: normal !important;
}
.view-all-link {
    flex-shrink: 0 !important;
}
@media (max-width: 480px) {
    .section-header { align-items: flex-start !important; }
}

/* ============================================================
   PATCH 8 — Mobile submenu toggle: keep it beside the link,
   not below it. The <li> becomes the flex row (not the <a>),
   so link + toggle share row 1, and the submenu panel is
   forced onto its own row below.
   ============================================================ */
.mobile-menu__list li.menu-item-has-children {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    border-bottom: 1px solid var(--dm-line-soft) !important;
}
.mobile-menu__list li.menu-item-has-children > a {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    border-bottom: none !important;
}
.mobile-menu__list li.menu-item-has-children > .mobile-sub-toggle {
    flex: 0 0 auto !important;
    margin: 0 16px 0 4px !important;
}
.mobile-menu__list li.menu-item-has-children > .sub-menu {
    flex: 0 0 100% !important;
    width: 100% !important;
    order: 99 !important;
}



/* ============================================================
   PATCH 10 — Watch page: grid-style video cards
   ============================================================ */
.watch-grid {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 22px !important;
}
.video-card--grid {
    flex-direction: column !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-sm) !important;
}
.video-card--grid .video-card__thumb {
    width: 100% !important;
    height: 180px !important;
    border-radius: 0 !important;
}
.video-card--grid .video-card__info {
    padding: 14px 16px 16px !important;
    justify-content: flex-start !important;
}
.video-card--grid .video-card__title {
    font-size: 0.95rem !important;
    margin-bottom: 6px !important;
}
@media (max-width: 1024px) {
    .watch-grid { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 640px) {
    .watch-grid { grid-template-columns: 1fr !important; }
}