/* ── HERO ── */
        .news-hero {
            background: var(--bg1);
            border-bottom: 1px solid var(--bg3);
            padding: 64px 0 48px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .news-hero::after {
            content: '';
            position: absolute;
            top: 0; left: 50%; transform: translateX(-50%);
            width: 600px; height: 200px;
            background: radial-gradient(ellipse at top, rgba(230,57,70,.10) 0%, transparent 70%);
            pointer-events: none;
        }
        .news-hero h1 {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: clamp(40px, 7vw, 72px);
            font-weight: 900;
            text-transform: uppercase;
            color: #fff;
            letter-spacing: 2px;
            margin: 0 0 12px;
            position: relative;
        }
        .news-hero h1 span { color: var(--red); }
        .news-hero p {
            font-family: 'Barlow', sans-serif;
            color: var(--sub);
            font-size: 15px;
            max-width: 520px;
            margin: 0 auto;
            position: relative;
        }

        /* ── API BADGE ── */
        .api-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 18px;
            padding: 4px 12px;
            border-radius: 20px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            position: relative;
        }
        .api-badge.live { background: rgba(34,197,94,.12); color: #22c55e; border: 1px solid rgba(34,197,94,.25); }
        .api-badge.demo { background: rgba(100,100,100,.12); color: #555; border: 1px solid #2a2a2a; }
        .api-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
        .api-badge.live .dot { animation: apiBlink 1.4s ease-in-out infinite; }
        @keyframes apiBlink { 0%,100%{opacity:1} 50%{opacity:.2} }

        /* ── NEWS GRID ── */
        .news-wrap {
            max-width: 1280px;
            margin: 0 auto;
            padding: 48px 32px 80px;
        }
        .news-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 24px;
        }

        /* ── NEWS CARD ── */
        .news-card {
            background: var(--bg1);
            border: 1px solid var(--bg3);
            border-radius: 10px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transition: transform .25s, border-color .25s, box-shadow .25s;
        }
        .news-card:hover {
            transform: translateY(-6px);
            border-color: rgba(230,57,70,.35);
            box-shadow: 0 16px 40px rgba(0,0,0,.7);
        }
        .news-card-img {
            width: 100%;
            aspect-ratio: 16/9;
            object-fit: cover;
            background: var(--bg2);
            display: block;
        }
        .news-card-img-ph {
            width: 100%;
            aspect-ratio: 16/9;
            background: var(--bg2);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3rem;
            color: var(--bg3);
        }
        .news-card-body {
            padding: 18px 20px 20px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            flex: 1;
        }
        .news-card-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
        }
        .news-card-date {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 10px;
            font-weight: 700;
            color: var(--sub);
            text-transform: uppercase;
            letter-spacing: 1.5px;
        }
        .news-card-source {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 10px;
            font-weight: 700;
            color: #2e2e2e;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .news-card-title {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 17px;
            font-weight: 900;
            text-transform: uppercase;
            color: #fff;
            line-height: 1.2;
            letter-spacing: .5px;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .news-card-desc {
            font-family: 'Barlow', sans-serif;
            font-size: .85rem;
            color: var(--sub);
            line-height: 1.6;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            flex: 1;
        }
        .news-card-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--red);
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 800;
            text-decoration: none;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-top: auto;
            padding-top: 10px;
            border-top: 1px solid var(--bg3);
            transition: color .2s;
        }
        .news-card-link:hover { color: #ff5560; }
        .news-card-link i { font-size: 9px; }

        /* ── EMPTY ── */
        .news-empty {
            text-align: center;
            padding: 80px 20px;
            color: #2a2a2a;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 16px;
            letter-spacing: 3px;
            text-transform: uppercase;
        }

        @media (max-width: 640px) {
            .news-wrap { padding: 32px 16px 60px; }
            .news-grid { grid-template-columns: 1fr; }
        }

        /* ════════════════════════════════════════
           SEARCH BAR
        ════════════════════════════════════════ */
        .news-search-wrap {
            padding: 32px 0 0;
            margin-bottom: 32px;
        }

        .news-search-bar {
            display: flex;
            align-items: center;
            background: var(--bg1, #111);
            border: 1px solid var(--bg3, #2a2a2a);
            border-radius: 8px;
            overflow: hidden;
            height: 52px;
            transition: border-color .2s, box-shadow .2s;
        }

        .news-search-bar:focus-within {
            border-color: rgba(230, 57, 70, .5);
            box-shadow: 0 0 0 3px rgba(230, 57, 70, .10);
        }

        .news-search-icon {
            padding: 0 18px;
            color: #555;
            font-size: 15px;
            flex-shrink: 0;
            pointer-events: none;
        }

        .news-search-input {
            flex: 1;
            background: transparent;
            border: none;
            outline: none;
            color: #f0f0f0;
            font-family: 'Barlow', sans-serif;
            font-size: 15px;
            padding: 0;
            height: 100%;
            caret-color: #e63946;
        }

        .news-search-input::placeholder { color: #3a3a3a; }

        .news-search-count {
            display: none;
            align-items: center;
            gap: 5px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #3a3a3a;
            padding: 0 16px;
            border-left: 1px solid var(--bg3, #2a2a2a);
            height: 100%;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .news-search-count.visible { display: flex; }

        .news-search-count strong {
            color: #e63946;
            font-weight: 900;
            font-size: 13px;
        }

        .news-search-clear {
            display: none;
            align-items: center;
            justify-content: center;
            background: transparent;
            border: none;
            border-left: 1px solid var(--bg3, #2a2a2a);
            color: #3a3a3a;
            padding: 0 16px;
            height: 100%;
            cursor: pointer;
            font-size: 13px;
            flex-shrink: 0;
            transition: color .2s, background .2s;
        }

        .news-search-clear:hover {
            color: #e63946;
            background: rgba(230,57,70,.06);
        }

        .news-search-clear.visible { display: flex; }

        .news-search-kbd {
            display: flex;
            align-items: center;
            gap: 3px;
            padding: 0 16px;
            border-left: 1px solid var(--bg3, #2a2a2a);
            height: 100%;
            flex-shrink: 0;
        }

        .news-search-kbd kbd {
            background: rgba(255,255,255,.04);
            border: 1px solid #2a2a2a;
            border-radius: 3px;
            color: #3a3a3a;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 1px;
            padding: 2px 6px;
            text-transform: uppercase;
        }

        /* Highlighted search match text */
        .news-hl {
            background: rgba(230, 57, 70, .22);
            color: #ff6b74;
            border-radius: 2px;
            padding: 0 2px;
            font-style: normal;
        }

        /* Hidden card during search filter */
        .news-card.ns-hidden {
            display: none !important;
        }

        /* No results state */
        .news-no-results {
            display: none;
            grid-column: 1 / -1;
            text-align: center;
            padding: 80px 20px;
        }

        .news-no-results-icon {
            font-size: 44px;
            color: #1e1e1e;
            margin-bottom: 18px;
        }

        .news-no-results h3 {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 22px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #2a2a2a;
            margin: 0 0 8px;
        }

        .news-no-results p {
            font-family: 'Barlow', sans-serif;
            font-size: 13px;
            color: #2a2a2a;
        }

        @media (max-width: 640px) {
            .news-search-kbd { display: none; }
            .news-search-count { display: none !important; }
        }