/*
 * Apex News Widgets — Main Stylesheet
 * Version: 1.0.0
 * Author: Incore Services
 */

/* ─────────────────────────────────────────────
   CSS VARIABLES
───────────────────────────────────────────── */
:root {
    --apex-red:   #cc0000;
    --apex-dark:  #111111;
    --apex-white: #ffffff;
    --apex-grey:  #f4f4f4;
    --apex-border:#e0e0e0;
    --apex-text:  #222222;
    --apex-meta:  #888888;
    --apex-transition: 0.22s ease;
}

/* ─────────────────────────────────────────────
   DIRECTION HELPERS
───────────────────────────────────────────── */
.apex-dir-rtl { direction: rtl; text-align: right; }
.apex-dir-ltr { direction: ltr; text-align: left; }

/* ─────────────────────────────────────────────
   SECTION HEADER (shared)
───────────────────────────────────────────── */
.apex-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse; /* RTL default */
    border-bottom: 3px solid var(--apex-red);
    margin-bottom: 16px;
    padding-bottom: 4px;
}
.apex-dir-ltr .apex-section-header {
    flex-direction: row;
}
.apex-section-title {
    display: inline-block;
    background-color: var(--apex-red);
    color: var(--apex-white);
    padding: 6px 14px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0;
}
.apex-view-more-btn {
    display: inline-block;
    padding: 6px 14px;
    background: var(--apex-white);
    color: #333;
    border: 1px solid var(--apex-border);
    font-size: 13px;
    text-decoration: none;
    border-radius: 4px;
    transition: background var(--apex-transition), color var(--apex-transition);
}
.apex-view-more-btn:hover {
    background: var(--apex-red);
    color: var(--apex-white);
}

/* Shared thumbnail */
.apex-thumb {
    position: relative;
    overflow: hidden;
}
.apex-thumb img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.apex-news-card:hover .apex-thumb img {
    transform: scale(1.04);
}

/* Category badge */
.apex-cat-badge {
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--apex-red);
    color: var(--apex-white);
    font-size: 11px;
    padding: 2px 8px;
    font-weight: 600;
    line-height: 1.6;
}
.apex-dir-ltr .apex-cat-badge { left: 0; right: auto; }

/* Card body */
.apex-card-body {
    padding: 10px 0 6px;
}
.apex-card-title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    margin: 0 0 6px;
    color: var(--apex-text);
}
.apex-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--apex-transition);
}
.apex-card-title a:hover { color: var(--apex-red); }
.apex-card-excerpt {
    font-size: 13px;
    color: #555;
    margin: 0 0 6px;
    line-height: 1.6;
}
.apex-card-meta {
    font-size: 12px;
    color: var(--apex-meta);
    display: block;
}

/* ─────────────────────────────────────────────
   1. BREAKING TICKER
───────────────────────────────────────────── */
.apex-ticker-wrap {
    display: flex;
    align-items: center;
    background-color: #111;
    height: 38px;
    overflow: hidden;
    position: relative;
}
.apex-ticker-label {
    flex-shrink: 0;
    background: var(--apex-red);
    color: var(--apex-white);
    padding: 0 14px;
    height: 100%;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
    z-index: 2;
}
.apex-ticker-viewport {
    flex: 1;
    overflow: hidden;
    height: 100%;
    position: relative;
}
.apex-ticker-items {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    height: 100%;
    will-change: transform;
    /* JS positions these absolutely so the ticker always starts from the edge */
    position: absolute;
    top: 0;
    left: 0;
}
.apex-ticker-items a,
.apex-ticker-items span:not(.apex-ticker-sep) {
    color: var(--apex-white);
    text-decoration: none;
    font-size: 13px;
    margin-inline: 20px;
    transition: color var(--apex-transition);
}
.apex-ticker-items a:hover { color: #ff9900; }
.apex-ticker-sep {
    color: var(--apex-red);
    margin-inline: 20px;
    font-size: 13px;
}

/* Ticker animation is now handled via requestAnimationFrame in JS
   (starts from right edge, scrolls left — works for both RTL and LTR) */

/* ─────────────────────────────────────────────
   2. HERO SLIDER
───────────────────────────────────────────── */
.apex-hero-wrap {
    display: flex;
    gap: 0;
    align-items: stretch;
}
.apex-hero-slider-wrap {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
}
.apex-hero-slide {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 380px;
}
.apex-slide-video-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.apex-slide-video-bg iframe,
.apex-slide-video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}
.apex-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.78) 30%, transparent 100%);
}
.apex-slide-content {
    position: absolute;
    bottom: 28px;
    right: 28px;
    max-width: 70%;
    z-index: 2;
    text-align: right;
}
.apex-dir-ltr .apex-slide-content { right: auto; left: 28px; text-align: left; }
.apex-slide-badge {
    display: inline-block;
    background: var(--apex-red);
    color: var(--apex-white);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    margin-bottom: 8px;
}
.apex-slide-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--apex-white);
    line-height: 1.45;
    margin: 0 0 10px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.apex-slide-excerpt {
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 12px;
    line-height: 1.6;
}
.apex-slide-btn {
    display: inline-block;
    background: var(--apex-red);
    color: var(--apex-white);
    padding: 8px 20px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-radius: 3px;
    transition: background var(--apex-transition);
}
.apex-slide-btn:hover { background: #990000; }

/* Side news panel */
.apex-hero-side {
    flex: 0 0 260px;
    background: #fff;
    overflow-y: auto;
    border-left: 1px solid var(--apex-border);
}
.apex-dir-rtl .apex-hero-side { border-left: none; border-right: 1px solid var(--apex-border); }
.apex-sn-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 12px;
    border-bottom: 1px solid var(--apex-border);
    flex-direction: row-reverse;
}
.apex-dir-ltr .apex-sn-item { flex-direction: row; }
.apex-sn-thumb {
    flex-shrink: 0;
    width: 70px;
    height: 55px;
    overflow: hidden;
}
.apex-sn-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.apex-sn-body { flex: 1; }
.apex-sn-cat {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--apex-red);
    margin-bottom: 3px;
}
.apex-sn-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 4px;
    color: #222;
}
.apex-sn-title a { color: inherit; text-decoration: none; }
.apex-sn-title a:hover { color: var(--apex-red); }
.apex-sn-meta {
    font-size: 11px;
    color: var(--apex-meta);
}

/* ─────────────────────────────────────────────
   3. LIVE SECTION
───────────────────────────────────────────── */
.apex-live-section {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.apex-live-left {
    flex: 0 0 65%;
    min-width: 0;
}
.apex-live-sidebar {
    flex: 0 0 calc(35% - 16px);
    min-width: 0;
    background: #fff;
    padding: 16px;
    border: 1px solid var(--apex-border);
}

/* LIVE badge */
.apex-live-label-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.apex-dir-ltr .apex-live-label-wrap { flex-direction: row; }
.apex-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--apex-red);
    color: var(--apex-white);
    padding: 6px 14px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 3px;
}
.apex-live-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    animation: apexLivePulse 1.2s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes apexLivePulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(1.4); }
}
.apex-live-wave {
    font-size: 12px;
    opacity: 0.8;
}
.apex-live-sub {
    font-size: 13px;
    font-weight: 600;
    color: var(--apex-text);
}
.apex-live-video-wrap {
    position: relative;
    width: 100%;
    height: 340px;
    overflow: hidden;
    background: #000;
}
.apex-live-video-wrap iframe,
.apex-live-video-wrap video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.apex-live-thumb-wrap {
    position: relative;
    width: 100%;
    height: 100%;
}
.apex-live-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.apex-live-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 60px;
    height: 60px;
    transition: transform 0.2s;
}
.apex-live-play-btn:hover { transform: translate(-50%,-50%) scale(1.1); }

/* Sidebar */
.apex-live-sidebar-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--apex-red);
    text-align: right;
}
.apex-dir-ltr .apex-live-sidebar-title { text-align: left; }
.apex-live-news-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}
.apex-live-news-item {
    position: relative;
    padding: 7px 0 7px 16px;
    border-bottom: 1px solid var(--apex-border);
    font-size: 13px;
    line-height: 1.6;
}
.apex-dir-rtl .apex-live-news-item { padding: 7px 16px 7px 0; }
.apex-live-news-item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--apex-red);
}
.apex-dir-rtl .apex-live-news-item::before { left: auto; right: 0; }
.apex-live-news-item a {
    color: #222;
    text-decoration: none;
    transition: color var(--apex-transition);
}
.apex-live-news-item a:hover { color: var(--apex-red); }
.apex-watch-btn {
    display: inline-block;
    background: var(--apex-red);
    color: var(--apex-white);
    padding: 8px 16px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    transition: background var(--apex-transition);
}
.apex-watch-btn:hover { background: #990000; }

/* ─────────────────────────────────────────────
   4. LATEST NEWS GRID
───────────────────────────────────────────── */
.apex-latest-news {}
.apex-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.apex-news-card {
    background: #fff;
    overflow: hidden;
}

/* ─────────────────────────────────────────────
   5. VIDEO NEWS GRID
───────────────────────────────────────────── */
.apex-video-news {}
.apex-video-news .apex-section-header {
    margin-bottom: 14px;
}
.apex-vid-nav {
    display: flex;
    gap: 6px;
}
.apex-vid-prev,
.apex-vid-next {
    width: 32px;
    height: 32px;
    background: #eee;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
    padding: 0;
    transition: background var(--apex-transition), color var(--apex-transition);
    color: #333;
}
.apex-vid-prev:hover,
.apex-vid-next:hover {
    background: var(--apex-red);
    color: #fff;
}
.apex-vid-thumb {
    position: relative;
    overflow: hidden;
}
.apex-vid-thumb img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.apex-vid-card:hover .apex-vid-thumb img { transform: scale(1.04); }
.apex-vid-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.apex-vid-duration {
    position: absolute;
    bottom: 6px;
    left: 6px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
}
.apex-dir-rtl .apex-vid-duration { left: auto; right: 6px; }
.apex-vid-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    margin: 8px 0 4px;
    color: #111;
}
.apex-vid-title a { color: inherit; text-decoration: none; }
.apex-vid-title a:hover { color: var(--apex-red); }
.apex-vid-meta {
    font-size: 11px;
    color: var(--apex-meta);
}

/* ─────────────────────────────────────────────
   6. CATEGORY COLUMNS
───────────────────────────────────────────── */
.apex-cols-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.apex-col-wrap {
    background: #fff;
    border: 1px solid var(--apex-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.apex-col-header {
    border-bottom: 3px solid var(--apex-col-accent, #cc0000);
}
.apex-col-title {
    display: block;
    background: #ffffff;          /* white by default — Elementor overrides */
    color: #111111;
    padding: 12px 12px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin: 0;
}

/* Featured image */
.apex-col-feat-img {
    overflow: hidden;
    line-height: 0;
    flex-shrink: 0;
}
.apex-col-feat-img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    transition: transform 0.32s ease;
}
.apex-col-wrap:hover .apex-col-feat-img img { transform: scale(1.05); }
.apex-col-feat-placeholder img { opacity: 0.45; }

/* News list */
.apex-col-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
}
.apex-col-item {
    position: relative;
    padding: 7px 12px 7px 22px;  /* LTR: bullet on left */
    border-bottom: 1px solid var(--apex-border);
    font-size: 13px;
    line-height: 1.55;
}
.apex-dir-rtl .apex-col-item {
    padding: 7px 22px 7px 12px;  /* RTL: bullet on right */
}
.apex-col-item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--apex-col-accent, #cc0000);
    flex-shrink: 0;
}
.apex-dir-rtl .apex-col-item::before {
    left: auto;
    right: 10px;
}
.apex-col-item a,
.apex-col-item span {
    color: #222;
    text-decoration: none;
    transition: color var(--apex-transition);
    display: block;
}
.apex-col-item a:hover { color: var(--apex-red); }
.apex-col-empty {
    font-size: 12px;
    color: #aaa;
    text-align: center;
    padding: 12px;
    margin: 0;
}

/* View more */
.apex-col-view-more {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #555;
    text-decoration: none;
    padding: 9px 10px;
    border-top: 1px solid var(--apex-border);
    background: #f9f9f9;
    transition: color var(--apex-transition), background var(--apex-transition);
    margin-top: auto;
}
.apex-col-view-more:hover {
    color: var(--apex-red);
    background: #f0f0f0;
}

/* ─────────────────────────────────────────────
   7. PRAYER TIMES & WEATHER
───────────────────────────────────────────── */

/* Outer wrapper — horizontal bar */
.apex-prayer-weather {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--apex-border);
    overflow: hidden;
}

/* Each panel */
.apex-pw-panel {
    padding: 14px 18px;
    min-width: 0;
}
.apex-prayer-section {
    flex: 1 1 auto;        /* takes remaining space */
}
.apex-pw-divider {
    width: 1px;
    background: var(--apex-border);
    flex-shrink: 0;
    align-self: stretch;
}
.apex-weather-section {
    flex: 0 0 auto;        /* shrinks to fit city cards */
    min-width: 180px;
}

/* Panel header row: mosque icon + title */
.apex-pw-panel-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    /* RTL: icon on right, text on left */
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.apex-dir-ltr .apex-pw-panel-header { flex-direction: row; }

.apex-pw-mosque-icon {
    display: inline-flex;
    align-items: center;
    color: var(--apex-red);
    flex-shrink: 0;
}
.apex-pw-panel-title {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin: 0;
    white-space: nowrap;
}

/* Prayer items row */
.apex-prayer-row {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
}

/* Individual prayer block */
.apex-prayer-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 4px;
    text-align: center;
    /* RTL: divider on inline-start (right) */
    border-inline-start: 1px solid var(--apex-border);
}
.apex-prayer-item:last-child { border-inline-start: none; }

/* Prayer SVG icon */
.apex-prayer-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    margin-bottom: 5px;
    line-height: 1;
}
.apex-prayer-icon svg {
    width: 28px;
    height: 28px;
}

/* Prayer name & time */
.apex-prayer-name {
    font-size: 12px;
    color: #666;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
    white-space: nowrap;
}
.apex-prayer-time {
    font-size: 17px;
    font-weight: 700;
    color: #111;
    display: block;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

/* Weather cities row */
.apex-weather-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* Individual city block */
.apex-weather-city {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 60px;
}
.apex-weather-city-name {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    display: block;
    margin-bottom: 4px;
    white-space: nowrap;
}
/* temp + icon side by side */
.apex-weather-data {
    display: flex;
    align-items: center;
    gap: 2px;
}
.apex-weather-temp {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    line-height: 1;
}
.apex-weather-icon {
    line-height: 0;
    display: flex;
    align-items: center;
}
.apex-weather-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.apex-weather-icon-empty {
    opacity: 0.3;
}
.apex-weather-no-key {
    font-size: 10px;
    color: #aaa;
    display: block;
    margin-top: 2px;
    white-space: nowrap;
}
.apex-weather-placeholder .apex-weather-temp { color: #bbb; }
.apex-weather-notice {
    font-size: 12px;
    color: #aaa;
    margin: 0;
}

/* ─────────────────────────────────────────────
   8. OPINION CARDS
───────────────────────────────────────────── */
.apex-opinion-cards {}
.apex-opinion-card {
    background: #fff;
    padding: 20px 16px;
    text-align: center;
    border: 1px solid var(--apex-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.apex-opinion-photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--apex-red);
    flex-shrink: 0;
    margin-bottom: 10px;
}
.apex-opinion-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.apex-opinion-author {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px;
}
.apex-opinion-text {
    font-size: 13px;
    color: #555;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 0;
    flex: 1;
}
.apex-opinion-read-more {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 600;
    color: var(--apex-red);
    text-decoration: none;
    transition: color var(--apex-transition);
}
.apex-opinion-read-more:hover { color: #880000; }

/* ─────────────────────────────────────────────
   RESPONSIVE — TABLET (≤992px)
───────────────────────────────────────────── */
@media (max-width: 992px) {
    .apex-grid,
    .apex-cols-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .apex-hero-side { flex: 0 0 220px; }
    .apex-slide-title { font-size: 18px; }
    .apex-live-left   { flex: 0 0 60%; }
    .apex-live-sidebar { flex: 0 0 calc(40% - 16px); }
    .apex-opinion-card { padding: 14px 10px; }

    /* Prayer: prayer row wraps, 3 per row */
    .apex-prayer-row { flex-wrap: wrap; }
    .apex-prayer-item { flex: 0 0 33.333%; border-bottom: 1px solid var(--apex-border); }
    .apex-prayer-item:nth-child(3),
    .apex-prayer-item:nth-child(5) { border-inline-start: none; }

    /* Prayer-weather: stack vertically */
    .apex-prayer-weather { flex-direction: column; }
    .apex-pw-divider { width: 100%; height: 1px; }
    .apex-weather-section { min-width: 0; }
}

/* ─────────────────────────────────────────────
   RESPONSIVE — MOBILE (≤600px)
───────────────────────────────────────────── */
@media (max-width: 600px) {
    .apex-grid { grid-template-columns: 1fr; }
    .apex-cols-grid { grid-template-columns: repeat(2, 1fr); }
    .apex-hero-wrap { flex-direction: column; }
    .apex-hero-side { flex: 0 0 auto; width: 100%; border-left: none; border-right: none; border-top: 1px solid var(--apex-border); }
    .apex-hero-slide { min-height: 260px; }
    .apex-slide-title { font-size: 16px; }
    .apex-slide-content { right: 14px; max-width: 90%; }
    .apex-dir-ltr .apex-slide-content { left: 14px; }
    .apex-live-section  { flex-direction: column; }
    .apex-live-left     { flex: 0 0 auto; width: 100%; }
    .apex-live-sidebar  { flex: 0 0 auto; width: 100%; }

    /* Prayer: 2-column grid on mobile */
    .apex-prayer-item { flex: 0 0 50%; }
    .apex-prayer-time { font-size: 15px; }

    /* Weather: wrap cities */
    .apex-weather-row { gap: 14px; }
    .apex-weather-temp { font-size: 18px; }
    .apex-weather-icon img { width: 32px; height: 32px; }
    .apex-pw-panel { padding: 10px 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   APEX NEWS WIDGETS v2 — New Widget Styles
   ════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   CATEGORY HERO BANNER  .apex-cat-hero-*
───────────────────────────────────────────── */
.apex-cat-hero-inner {
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    min-height: 220px;
}
.apex-cat-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    pointer-events: none;
}
.apex-cat-hero-content {
    position: relative;
    z-index: 1;
    padding: 40px 30px 30px;
    width: 100%;
}
.apex-cat-breadcrumb {
    font-size: 13px;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.7);
}
.apex-cat-breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.apex-cat-breadcrumb a:hover { color: #fff; }
.apex-bc-sep { margin: 0 4px; }
.apex-cat-hero-title {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.3;
}
.apex-cat-hero-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 10px;
}
.apex-cat-hero-meta {
    font-size: 12px;
    color: rgba(255,255,255,0.65);
}

/* ─────────────────────────────────────────────
   CATEGORY FEATURED SECTION  .apex-cfs-*
───────────────────────────────────────────── */
.apex-cfs-wrap {
    display: flex;
    gap: 0;
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--apex-border);
}
.apex-cfs-featured {
    flex: 0 0 60%;
    position: relative;
}
.apex-cfs-featured-link { display: block; height: 100%; }
.apex-cfs-featured-img {
    position: relative;
    height: 420px;
    background-size: cover;
    background-position: center;
}
.apex-cfs-featured-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.06) 65%);
}
.apex-cfs-featured-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 18px;
    z-index: 2;
}
.apex-cfs-badges { margin-bottom: 8px; display: flex; gap: 6px; flex-wrap: wrap; }
.apex-cfs-breaking-badge, .apex-cfs-cat-badge {
    display: inline-block;
    background: var(--apex-red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.apex-cfs-cat-badge { background: rgba(255,255,255,0.25); backdrop-filter: blur(4px); }
.apex-cfs-feat-title {
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    line-height: 1.45;
    margin: 0 0 8px;
}
.apex-cfs-feat-excerpt { font-size: 13px; color: rgba(255,255,255,0.82); margin: 0 0 8px; }
.apex-cfs-feat-meta { font-size: 12px; color: rgba(255,255,255,0.6); }
/* List Panel */
.apex-cfs-list-panel {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 0;
    border-right: 1px solid var(--apex-border);
}
.apex-dir-ltr .apex-cfs-list-panel { border-left: 1px solid var(--apex-border); border-right: 0; }
.apex-cfs-list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #f0f0f0;
    flex: 1;
    min-height: 0;
}
.apex-cfs-list-item:last-child { border-bottom: 0; }
.apex-cfs-list-num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--apex-red);
    border-left: 3px solid var(--apex-red);
    padding-left: 4px;
}
.apex-dir-ltr .apex-cfs-list-num { border-left: 0; border-right: 3px solid var(--apex-red); padding-left: 0; padding-right: 4px; }
.apex-cfs-list-body { flex: 1; min-width: 0; }
.apex-cfs-list-cat { font-size: 11px; color: var(--apex-red); font-weight: 600; text-transform: uppercase; margin-bottom: 2px; display: block; }
.apex-cfs-list-title { font-size: 13px; font-weight: 700; line-height: 1.5; margin: 0 0 4px; }
.apex-cfs-list-title a { color: #222; text-decoration: none; }
.apex-cfs-list-title a:hover { color: var(--apex-red); }
.apex-cfs-list-meta { font-size: 11px; color: var(--apex-meta); }
.apex-cfs-list-thumb {
    flex-shrink: 0;
    width: 64px;
    height: 50px;
    overflow: hidden;
    border-radius: 3px;
}
.apex-cfs-list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.apex-cfs-view-all {
    padding: 10px 14px;
    text-align: center;
    border-top: 1px solid #f0f0f0;
    margin-top: auto;
}
.apex-cfs-view-all-btn {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: var(--apex-red);
    text-decoration: none;
    padding: 6px 14px;
    border: 1px solid var(--apex-red);
    border-radius: 3px;
    transition: background var(--apex-transition), color var(--apex-transition);
}
.apex-cfs-view-all-btn:hover { background: var(--apex-red); color: #fff; }
@media (max-width: 768px) {
    .apex-cfs-wrap { flex-direction: column; }
    .apex-cfs-featured, .apex-cfs-list-panel { flex: 0 0 100%; }
    .apex-cfs-featured-img { height: 260px; }
    .apex-cfs-list-panel { border-right: 0; border-top: 1px solid var(--apex-border); }
}

/* ─────────────────────────────────────────────
   SIDEBAR BREAKING NEWS BOX  .apex-sbn-*
───────────────────────────────────────────── */
.apex-sbn-box {
    background: #fff;
    border: 1px solid var(--apex-border);
    overflow: hidden;
}
.apex-sbn-box .apex-section-header { margin-bottom: 0; padding: 8px 12px; border-bottom: 2px solid var(--apex-red); }
.apex-lightning { color: var(--apex-red); }
.apex-sbn-list { padding: 4px 0; }
.apex-sbn-item {
    padding: 8px 12px;
    border-bottom: 1px solid #f4f4f4;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.apex-sbn-item:last-child { border-bottom: 0; }
.apex-sbn-item-time { font-size: 11px; color: var(--apex-meta); font-weight: 600; }
.apex-sbn-item-title { font-size: 13px; line-height: 1.55; margin: 0; }
.apex-sbn-item-title a { color: #222; text-decoration: none; }
.apex-sbn-item-title a:hover { color: var(--apex-red); }

/* ─────────────────────────────────────────────
   MARKETS / CURRENCY  .apex-mkts-*
───────────────────────────────────────────── */
.apex-mkts-box {
    background: #fff;
    border: 1px solid var(--apex-border);
    overflow: hidden;
}
.apex-mkts-box .apex-section-header { margin-bottom: 0; padding: 8px 12px; border-bottom: 2px solid var(--apex-red); }
.apex-mkts-table { padding: 4px 0; }
.apex-mkts-row {
    display: flex;
    align-items: center;
    padding: 7px 12px;
    border-bottom: 1px solid #f4f4f4;
    gap: 8px;
}
.apex-mkts-row:last-child { border-bottom: 0; }
.apex-mkts-label { flex: 1; font-size: 12px; color: #222; font-weight: 500; }
.apex-mkts-val   { font-size: 13px; font-weight: 700; color: #111; white-space: nowrap; }
.apex-mkts-change { font-size: 11px; font-weight: 600; white-space: nowrap; min-width: 50px; text-align: end; }
.apex-mkts-up   { color: #00a651; }
.apex-mkts-down { color: var(--apex-red); }
.apex-mkts-divider { height: 1px; background: var(--apex-border); margin: 4px 0; }

/* ─────────────────────────────────────────────
   MOST READ  .apex-mrd-*
───────────────────────────────────────────── */
.apex-mrd-box { background: #fff; border: 1px solid var(--apex-border); overflow: hidden; }
.apex-mrd-box .apex-section-header { margin-bottom: 0; padding: 8px 12px; border-bottom: 2px solid var(--apex-red); }
.apex-mrd-list { padding: 4px 0; }
.apex-mrd-item { display: flex; align-items: flex-start; gap: 10px; padding: 9px 12px; border-bottom: 1px solid #f4f4f4; }
.apex-mrd-item:last-child { border-bottom: 0; }
.apex-mrd-num {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: var(--apex-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
}
.apex-mrd-body { flex: 1; min-width: 0; }
.apex-mrd-item-title { font-size: 13px; font-weight: 600; line-height: 1.5; margin: 0 0 3px; }
.apex-mrd-item-title a { color: #222; text-decoration: none; }
.apex-mrd-item-title a:hover { color: var(--apex-red); }
.apex-mrd-item-count { font-size: 11px; color: var(--apex-meta); }

/* ─────────────────────────────────────────────
   SIDEBAR LATEST VIDEOS  .apex-svid-*
───────────────────────────────────────────── */
.apex-svid-box { background: #fff; border: 1px solid var(--apex-border); overflow: hidden; }
.apex-svid-box .apex-section-header { margin-bottom: 0; padding: 8px 12px; border-bottom: 2px solid var(--apex-red); }
.apex-svid-list { padding: 6px 0; }
.apex-svid-item { display: flex; align-items: flex-start; gap: 10px; padding: 8px 12px; border-bottom: 1px solid #f4f4f4; }
.apex-svid-item:last-child { border-bottom: 0; }
.apex-svid-thumb-wrap { flex-shrink: 0; }
.apex-svid-thumb {
    width: 110px;
    height: 70px;
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 3px;
    overflow: hidden;
}
.apex-svid-play-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0,0,0,0.7);
    background: rgba(0,0,0,0.2);
    transition: background 0.2s;
}
.apex-svid-thumb:hover .apex-svid-play-icon { background: rgba(0,0,0,0.5); }
.apex-svid-duration {
    position: absolute;
    bottom: 3px;
    right: 3px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 10px;
    padding: 1px 4px;
    border-radius: 2px;
}
.apex-dir-ltr .apex-svid-duration { right: auto; left: 3px; }
.apex-svid-body { flex: 1; min-width: 0; }
.apex-svid-item-title { font-size: 13px; font-weight: 600; line-height: 1.5; margin: 0 0 4px; }
.apex-svid-item-title a { color: #222; text-decoration: none; }
.apex-svid-item-title a:hover { color: var(--apex-red); }
.apex-svid-meta { font-size: 11px; color: var(--apex-meta); }

/* ─────────────────────────────────────────────
   NEWSLETTER  .apex-nl-*
───────────────────────────────────────────── */
.apex-nl-box {
    background: #fff;
    border: 1px solid var(--apex-border);
    padding: 18px 16px;
}
.apex-nl-title  { font-size: 15px; font-weight: 700; color: #111; margin: 0 0 8px; }
.apex-nl-desc   { font-size: 13px; color: #555; margin: 0 0 12px; line-height: 1.6; }
.apex-nl-form   { display: flex; gap: 0; }
.apex-nl-input  {
    flex: 1;
    padding: 9px 12px;
    border: 1px solid var(--apex-border);
    border-radius: 4px 0 0 4px;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}
.apex-dir-ltr .apex-nl-input { border-radius: 0 4px 4px 0; }
.apex-nl-input:focus { border-color: var(--apex-red); }
.apex-nl-btn {
    flex-shrink: 0;
    padding: 9px 14px;
    background: var(--apex-red);
    color: #fff;
    border: none;
    border-radius: 0 4px 4px 0;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}
.apex-dir-ltr .apex-nl-btn { border-radius: 4px 0 0 4px; }
.apex-nl-btn:hover { background: #a00000; }
.apex-nl-privacy { font-size: 11px; color: #999; margin: 8px 0 0; }

/* ─────────────────────────────────────────────
   SINGLE POST FEATURED IMAGE  .apex-spf-*
───────────────────────────────────────────── */
.apex-spf-wrap { position: relative; }
.apex-spf-inner { position: relative; overflow: hidden; }
/* Aspect ratio classes */
.apex-spf-inner.apex-ar-16-9 { padding-top: 56.25%; }
.apex-spf-inner.apex-ar-4-3  { padding-top: 75%; }
.apex-spf-inner.apex-ar-3-2  { padding-top: 66.66%; }
.apex-spf-inner.apex-ar-1-1  { padding-top: 100%; }
.apex-spf-inner.apex-ar-auto { padding-top: 0; }
.apex-spf-inner[class*="apex-ar-"] .apex-spf-img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.apex-spf-inner.apex-ar-auto .apex-spf-img { width: 100%; height: auto; display: block; }
.apex-spf-overlay { position: absolute; inset: 0; pointer-events: none; }
.apex-spf-caption { font-size: 12px; color: #777; padding: 6px 0; font-style: italic; }

/* ─────────────────────────────────────────────
   SINGLE POST HEADER  .apex-sph-*
───────────────────────────────────────────── */
.apex-sph-wrap {
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 2px solid #e8e8e8;
}
.apex-sph-cat {
    display: inline-block;
    background: var(--apex-red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 3px;
    text-decoration: none;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.apex-sph-title {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.4;
    color: #111;
    margin: 0 0 14px;
}
.apex-sph-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
    font-size: 13px;
    color: #666;
    margin-bottom: 14px;
}
.apex-sph-meta-item { display: inline-flex; align-items: center; gap: 4px; }
.apex-icon { font-size: 14px; }
/* Inline share in header */
.apex-sph-share { display: flex; flex-wrap: wrap; gap: 8px; }
.apex-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s;
    cursor: pointer;
    border: none;
    background: #888;
}
.apex-share-btn:hover { opacity: 0.85; color: #fff; }
.apex-share-fb { background: #1877F2; }
.apex-share-tw { background: #000; }
.apex-share-wa { background: #25D366; }
.apex-share-tg { background: #0088cc; }
.apex-share-li { background: #0A66C2; }
.apex-share-copy { background: #555; }
/* Full share bar */
.apex-sps-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.apex-sps-label { font-size: 13px; font-weight: 600; color: #444; }
.apex-sps-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.apex-copy-confirm {
    display: inline-block;
    background: #28a745;
    color: #fff;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

/* ─────────────────────────────────────────────
   POST TAGS  .apex-post-tags
───────────────────────────────────────────── */
.apex-post-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0; }
.apex-tags-label { font-size: 13px; font-weight: 700; color: #333; }
.apex-tags-list  { display: flex; flex-wrap: wrap; gap: 6px; }
.apex-tag-item {
    display: inline-block;
    background: #f0f0f0;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    transition: background 0.2s, color 0.2s;
    cursor: pointer;
}
.apex-tag-item a { color: #333; text-decoration: none; }
.apex-tag-item:hover { background: var(--apex-red); }
.apex-tag-item:hover a { color: #fff; }

/* ─────────────────────────────────────────────
   RELATED POSTS  .apex-rel-*
───────────────────────────────────────────── */
.apex-rel-wrap { margin-top: 30px; }
.apex-rel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 16px; }
.apex-rel-list  { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.apex-rel-list .apex-news-card { display: flex; gap: 12px; align-items: flex-start; }
.apex-rel-list .apex-rel-thumb { flex-shrink: 0; width: 90px; }
.apex-rel-list .apex-rel-thumb img { height: 70px; width: 90px; object-fit: cover; }
.apex-rel-list .apex-card-body { flex: 1; }
.apex-rel-list .apex-card-title { font-size: 13px; }
@media (max-width: 900px) { .apex-rel-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .apex-rel-grid { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────────
   CONTACT HERO  .apex-ch-*
───────────────────────────────────────────── */
.apex-ch-inner {
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
}
.apex-ch-overlay { position: absolute; inset: 0; background: rgba(150,0,0,0.80); }
.apex-ch-content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 40px 30px;
}
.apex-ch-title { font-size: 30px; font-weight: 800; color: #fff; margin: 0 0 12px; }
.apex-ch-subtitle { font-size: 15px; color: rgba(255,255,255,0.88); margin: 0; line-height: 1.7; max-width: 600px; }

/* ─────────────────────────────────────────────
   CONTACT INFO CARDS  .apex-ci-*
───────────────────────────────────────────── */
.apex-ci-wrap {}
.apex-ci-section-title { font-size: 20px; font-weight: 700; color: #111; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--apex-red); }
.apex-ci-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.apex-ci-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--apex-border);
    border-radius: 6px;
    background: #fff;
    transition: box-shadow 0.2s;
}
.apex-ci-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.apex-ci-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.apex-ci-body { flex: 1; min-width: 0; }
.apex-ci-label { display: block; font-size: 13px; font-weight: 700; color: #111; margin-bottom: 6px; }
.apex-ci-line { display: block; font-size: 13px; color: #555; line-height: 1.6; }
.apex-ci-line a { color: inherit; text-decoration: none; }
.apex-ci-line a:hover { color: var(--apex-red); }
@media (max-width: 600px) { .apex-ci-cards { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────────
   CONTACT SOCIAL FOLLOW  .apex-csf-*
───────────────────────────────────────────── */
.apex-csf-wrap { padding: 20px 0; }
.apex-csf-title { font-size: 20px; font-weight: 700; color: #111; margin: 0 0 10px; }
.apex-csf-desc  { font-size: 14px; color: #555; margin: 0 0 16px; line-height: 1.7; }
.apex-csf-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.apex-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    transition: transform 0.2s, opacity 0.2s;
    background: #888;
}
.apex-social-btn:hover { transform: scale(1.08); opacity: 0.9; color: #fff; }
.apex-social-name { display: none; }
/* Branded already set via inline style; outline/dark overrides */
.apex-csf-outline .apex-social-btn { background: transparent !important; border: 2px solid currentColor; color: inherit; }
.apex-csf-dark    .apex-social-btn { background: #222 !important; }
/* When social name is visible (wider buttons) */
.apex-csf-wrap.has-labels .apex-social-btn { width: auto; border-radius: 6px; padding: 0 16px; }
.apex-csf-wrap.has-labels .apex-social-name { display: inline; font-size: 13px; font-weight: 600; }

/* ─────────────────────────────────────────────
   CONTACT SUBMIT NEWS  .apex-csn-*
───────────────────────────────────────────── */
.apex-csn-box {
    background: #1a1a2e;
    padding: 30px 24px;
    text-align: center;
    border-radius: 6px;
}
.apex-csn-icon  { font-size: 40px; margin-bottom: 12px; }
.apex-csn-title { font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.apex-csn-desc  { font-size: 13px; color: rgba(255,255,255,0.8); margin: 0 0 18px; line-height: 1.7; }
.apex-csn-btn {
    display: inline-block;
    background: #fff;
    color: #1a1a2e;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.apex-csn-btn:hover { background: var(--apex-red); color: #fff; }

/* ─────────────────────────────────────────────
   FAQ ACCORDION  .apex-faq-*
───────────────────────────────────────────── */
.apex-faq-wrap {}
.apex-faq-section-title { font-size: 20px; font-weight: 700; color: #111; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--apex-red); }
.apex-faq-grid { display: flex; flex-direction: column; gap: 8px; }
.apex-faq-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.apex-faq-item { border: 1px solid var(--apex-border); border-radius: 4px; overflow: hidden; }
.apex-faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: #f8f8f8;
    border: none;
    cursor: pointer;
    text-align: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    line-height: 1.5;
    transition: background 0.2s, color 0.2s;
}
.apex-faq-q:hover { background: #efefef; }
.apex-faq-item.active .apex-faq-q { background: var(--apex-red); color: #fff; }
.apex-faq-q-text { flex: 1; text-align: inherit; }
.apex-faq-icon { flex-shrink: 0; font-size: 18px; line-height: 1; font-weight: 300; min-width: 16px; text-align: center; }
.apex-faq-a { padding: 12px 14px; background: #fff; }
.apex-faq-a-inner { font-size: 14px; color: #444; line-height: 1.7; }
.apex-faq-a-inner p { margin: 0 0 8px; }
.apex-faq-a-inner p:last-child { margin-bottom: 0; }
@media (max-width: 700px) { .apex-faq-two-col { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────────
   ALL CATEGORIES SECTIONS  .apex-acs-*
───────────────────────────────────────────── */
.apex-acs-wrap {}
.apex-acs-section {
    border-bottom: 1px solid #e8e8e8;
    padding: 20px 0;
    margin-bottom: 4px;
}
.apex-acs-section:last-child { border-bottom: 0; }
.apex-acs-header { margin-bottom: 12px; }
.apex-acs-cat-badge {
    display: inline-block;
    background: var(--apex-red);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 3px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.apex-acs-inner {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.apex-acs-image-link { flex: 0 0 38%; display: block; }
.apex-acs-image {
    height: 280px;
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.3s;
}
.apex-acs-image-link:hover .apex-acs-image { transform: scale(1.02); }
.apex-acs-img-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.2) 100%); }
.apex-acs-list { flex: 1; min-width: 0; }
.apex-acs-item { display: flex; align-items: flex-start; gap: 8px; padding: 7px 0; border-bottom: 1px dotted #ddd; }
.apex-acs-item:last-of-type { border-bottom: 0; }
.apex-acs-bullet { flex-shrink: 0; font-size: 8px; color: var(--apex-red); margin-top: 5px; }
.apex-acs-item-body { flex: 1; min-width: 0; }
.apex-acs-item-title { display: block; font-size: 13px; font-weight: 600; color: #222; text-decoration: none; line-height: 1.55; margin-bottom: 2px; }
.apex-acs-item-title:hover { color: var(--apex-red); }
.apex-acs-item-time  { font-size: 11px; color: var(--apex-meta); }
.apex-acs-more { margin-top: 10px; text-align: end; }
.apex-acs-more-link { font-size: 13px; color: var(--apex-red); font-weight: 600; text-decoration: none; }
.apex-acs-more-link:hover { text-decoration: underline; }
@media (max-width: 768px) {
    .apex-acs-inner { flex-direction: column; }
    .apex-acs-image-link { flex: 0 0 100%; width: 100%; }
    .apex-acs-image { height: 200px; }
}

/* ─────────────────────────────────────────────
   SHARED UTILITIES (new)
───────────────────────────────────────────── */
.apex-no-posts { font-size: 13px; color: var(--apex-meta); padding: 12px 0; }
.apex-views-icon { font-style: normal; }

/* ═══════════════════════════════════════════════════════════════
   ENGLISH TYPOGRAPHY (GTranslate)
   Applied when lang="en" or GTranslate switches to English
   ════════════════════════════════════════════════════════════ */
html[lang="en"] h1, html[lang="en"] h2, html[lang="en"] h3,
html[lang="en"] h4, html[lang="en"] h5, html[lang="en"] h6,
html[lang^="en-"] h1, html[lang^="en-"] h2, html[lang^="en-"] h3,
html[lang^="en-"] h4, html[lang^="en-"] h5, html[lang^="en-"] h6,
.goog-te-menu-value h1, .goog-te-menu-value h2,
body.translated-ltr h1, body.translated-ltr h2, body.translated-ltr h3,
body.translated-ltr h4, body.translated-ltr h5, body.translated-ltr h6 {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
}
html[lang="en"] body, html[lang^="en-"] body,
body.translated-ltr, body.translated-ltr p, body.translated-ltr span,
body.translated-ltr a, body.translated-ltr li, body.translated-ltr td {
    font-family: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;
}
/* Apex widget headings in English mode */
html[lang^="en"] .apex-sph-title,
html[lang^="en"] .apex-cat-hero-title,
html[lang^="en"] .apex-cfs-feat-title,
html[lang^="en"] .apex-ch-title,
body.translated-ltr .apex-sph-title,
body.translated-ltr .apex-cat-hero-title,
body.translated-ltr .apex-cfs-feat-title {
    font-family: 'Merriweather', Georgia, serif;
    letter-spacing: -0.01em;
}
html[lang^="en"] .apex-card-title,
html[lang^="en"] .apex-sbn-item-title,
html[lang^="en"] .apex-mrd-item-title,
html[lang^="en"] .apex-svid-item-title,
html[lang^="en"] .apex-cfs-list-title,
html[lang^="en"] .apex-acs-item-title {
    font-family: 'Merriweather', Georgia, serif;
}
