/* ============================================================
   NUA NEWS — main.css  v1.0.0
   ============================================================ */

/* ── Variables ──────────────────────────────────────────────── */
:root {
    --red:       #bb1919;
    --darkred:   #8c0000;
    --dark:      #111;
    --dark2:     #1a1a1a;
    --white:     #fff;
    --offwhite:  #f5f5f5;
    --border:    #e0e0e0;
    --text:      #222;
    --muted:     #767676;
    --green:     #00a86b;
    --purple:    #3d0066;
    --purple2:   #5a009d;
    --max:       1280px;
}


/* ── Force full width on homepage ─────────────────────────── */
body.home .site-content,
body.home #content,
body.home #primary,
body.home .site-main,
body.home main,
body.home .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.single-live .site-content,
body.single-live #content,
body.single-live #primary,
body.single-live .site-main,
body.single-live main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { font-family: Arial, Helvetica, sans-serif; background: var(--offwhite); color: var(--text); line-height: 1.5; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
img { display: block; max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 { font-family: Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.2; }
ul,ol { list-style: none; }
button { cursor: pointer; border: none; background: none; }

/* ── Site wrapper ───────────────────────────────────────────── */
.nua-site { display: flex; flex-direction: column; min-height: 100vh; }
.nua-main  { flex: 1; }
.nua-wrap  { max-width: var(--max); margin: 0 auto; padding: 0 16px; }

/* ── Pulse dot ──────────────────────────────────────────────── */
@keyframes nuapulse {
    0%   { opacity: 1; transform: scale(1); }
    100% { opacity: .4; transform: scale(1.5); }
}
.nua-dot { display: inline-block; width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; animation: nuapulse .9s infinite alternate; }
.nua-dot-green  { background: var(--green); }
.nua-dot-red    { background: var(--red); }
.nua-dot-white  { background: var(--white); }
.nua-dot-purple { background: #c084fc; }

/* ============================================================
   HEADER
   ============================================================ */
.nua-header { background: var(--dark); }
.nua-header-brand { padding: 12px 0; }
.nua-brand-link { font-size: 2rem; font-weight: 900; letter-spacing: 3px; text-transform: uppercase; color: var(--white); display: inline-block; }
.nua-brand-link:hover { color: #ddd; text-decoration: none; }

.nua-primary-nav { background: var(--red); }
.nua-primary-nav .nua-wrap { display: flex; align-items: stretch; }
.nua-primary-nav ul { display: flex; flex-wrap: wrap; }
.nua-primary-nav ul li { position: relative; }
.nua-primary-nav ul li a { display: block; color: var(--white); font-size: .875rem; font-weight: 600; padding: 11px 14px; white-space: nowrap; }
.nua-primary-nav ul li a:hover,
.nua-primary-nav ul li.current-menu-item > a { background: var(--darkred); text-decoration: none; }
.nua-primary-nav ul li ul { display: none; position: absolute; top: 100%; left: 0; background: var(--darkred); min-width: 200px; z-index: 200; }
.nua-primary-nav ul li:hover > ul { display: block; }
.nua-primary-nav ul li ul li a { padding: 9px 16px; font-size: .82rem; border-bottom: 1px solid rgba(255,255,255,.1); }

/* ============================================================
   HOMEPAGE — NO SIDEBAR
   ============================================================ */

/* Breaking Types:
   Global  = big full-width dark hero (above grid)
   Main    = replaces the top-left big card in the grid
   Mini    = one of the 3 complementary cards
*/

/* ── Global Breaking Hero ────────────────────────────────── */
.nua-global-hero { background: var(--dark); border-bottom: 3px solid var(--red); }
.nua-global-hero-inner { max-width: var(--max); margin: 0 auto; padding: 0 16px; display: grid; grid-template-columns: 1fr 420px; min-height: 400px; }

.nua-global-hero-img { overflow: hidden; }
.nua-global-hero-img img { width: 100%; height: 100%; object-fit: cover; min-height: 340px; }

.nua-global-hero-body { padding: 40px 32px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }

.nua-hero-badge { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; width: fit-content; }
.nua-hero-badge--live     { color: var(--green); }
.nua-hero-badge--breaking { color: var(--white); }

.nua-global-hero-body h2 { font-size: 2rem; font-weight: 700; color: var(--white); }
.nua-global-hero-body h2 a { color: var(--white); }
.nua-global-hero-body h2 a:hover { color: #ccc; text-decoration: none; }
.nua-global-hero-body p  { font-size: 1rem; color: #bbb; line-height: 1.6; }
.nua-global-hero-meta    { font-size: .8rem; color: #666; }

.nua-hero-btn { display: inline-flex; align-items: center; gap: 8px; color: var(--white) !important; font-size: .9rem; font-weight: 700; padding: 12px 26px; width: fit-content; text-decoration: none !important; }
.nua-hero-btn--live     { background: var(--green); }
.nua-hero-btn--live:hover     { background: #007a4f; }
.nua-hero-btn--breaking { background: var(--red); }
.nua-hero-btn--breaking:hover { background: var(--darkred); }

/* ── Special Hero (Election / Global Announcement) ────────── */
/* Separate CTA section above the grid, configurable bg colour */
.nua-special-hero { background: #0a0a0a; border-bottom: 3px solid var(--purple2); }
.nua-special-topbar { background: var(--purple); padding: 14px 0; }
.nua-special-topbar .nua-wrap { display: flex; align-items: center; gap: 14px; }
.nua-special-name  { font-size: 1.5rem; font-weight: 900; letter-spacing: 3px; text-transform: uppercase; color: var(--white); }
.nua-special-pill  { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.4); font-size: .7rem; font-weight: 900; letter-spacing: 2px; color: var(--white); padding: 4px 10px; }

/* Election bar chart */
.nua-chart-wrap  { background: #0a0a0a; padding: 24px 0; border-bottom: 1px solid #1e1e1e; color: #fff; }
.nua-chart-inner { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
.nua-chart-hdr   { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; flex-wrap: wrap; gap: 6px; }
.nua-chart-hdr h3 { font-size: .9rem; font-weight: 700; color: var(--white); }
.nua-chart-majority { font-size: .78rem; color: #888; }
.nua-chart-bars { display: flex; align-items: flex-end; gap: 6px; height: 160px; }
.nua-bar-col   { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 40px; height: 100%; }
.nua-bar-track { flex: 1; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.nua-bar-fill  { width: 100%; min-height: 3px; }
.nua-bar-label { width: 100%; text-align: center; font-size: .68rem; font-weight: 900; color: var(--white); padding: 3px 1px; text-transform: uppercase; }
.nua-bar-seats { font-size: .82rem; font-weight: 700; color: var(--white); padding: 3px 0; }

/* Special hero story block */
.nua-special-story { padding: 28px 0; background: #0a0a0a; }
.nua-special-story .nua-wrap { display: grid; grid-template-columns: 1fr 500px; gap: 28px; align-items: center; }
.nua-special-story-text h2 { font-size: 1.7rem; color: var(--white); margin-bottom: 10px; }
.nua-special-story-text h2 a { color: var(--white); }
.nua-special-story-text h2 a:hover { color: #c084fc; text-decoration: none; }
.nua-special-story-text p { color: #bbb; font-size: .95rem; line-height: 1.6; margin-bottom: 10px; }
.nua-special-story-img img { width: 100%; height: 280px; object-fit: cover; }

/* ── Homepage Grid ─────────────────────────────────────────── */
/* BBC layout: 1 big left (span 2 rows) + 3 right | 3 right */
/* ── Homepage full-bleed ─────────────────────────────────── */
#nua-homepage {
    position: relative;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    box-sizing: border-box;
    background: var(--offwhite);
}
.nua-home-grid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    background: var(--offwhite);
}

.nua-grid-row { display: grid; gap: 2px; }
.nua-grid-row--main    { grid-template-columns: 1fr 1fr 1fr 1fr; }    /* col 1 spans 2 rows */
.nua-grid-row--cards   { grid-template-columns: repeat(3,1fr); }
.nua-grid-row--wide    { grid-template-columns: repeat(2,1fr); }
.nua-grid-row--five    { grid-template-columns: repeat(5,1fr); margin-top: 2px; }

/* Main feature card — spans rows 1+2 on left */
.nua-feature-wrap { grid-column: 1; grid-row: 1 / 3; }

/* The BBC main layout is actually:
   Left half = 1 big story (50% wide)
   Right half = 3 cols of 2 rows = 6 small cards
   We do it as: big card (col-span 2 of 4) + 3 cards per row */

.nua-home-top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 3px;
    margin-bottom: 3px;
    width: 100%;
    background: var(--offwhite);
}
/* Feature: takes LEFT 2 of 4 cols, spans BOTH rows — exactly like BBC */
.nua-feature {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    background: var(--white);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.nua-feature-img { overflow: hidden; flex-shrink: 0; }
.nua-feature-img img { width: 100%; height: 300px; object-fit: cover; transition: transform .3s; display: block; }
.nua-feature-no-img { width: 100%; height: 300px; background: #1a1a1a; flex-shrink: 0; }
.nua-feature:hover .nua-feature-img img { transform: scale(1.02); }
.nua-feature-body { padding: 14px 16px 18px; flex: 1; }
.nua-feature-body h2 { font-size: 1.4rem; line-height: 1.25; margin-bottom: 8px; }
.nua-feature-body h2 a:hover { color: var(--red); text-decoration: none; }
.nua-feature-body p  { font-size: .88rem; color: #555; line-height: 1.5; margin-bottom: 10px; }

/* small card in the right 2 cols */
.nua-card { background: var(--white); overflow: hidden; }
.nua-card-img { overflow: hidden; }
.nua-card-img img { width: 100%; height: 130px; object-fit: cover; transition: transform .3s; display: block; }
.nua-card:hover .nua-card-img img { transform: scale(1.03); }
.nua-card-body { padding: 10px 12px; }
.nua-card-body h3 { font-size: .95rem; line-height: 1.3; margin-bottom: 6px; }
.nua-card-body h3 a:hover { color: var(--red); text-decoration: none; }
.nua-card-foot { padding: 0 12px 10px; display: flex; gap: 10px; font-size: .74rem; color: var(--muted); flex-wrap: wrap; align-items: center; }

/* Second row — 5 cards below */
.nua-home-bottom { display: grid; grid-template-columns: repeat(5,1fr); gap: 3px; width: 100%; margin-top: 3px; }

/* Inline LIVE badge */
.nua-inline-live { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: .82rem; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; margin-right: 5px; vertical-align: middle; }

/* Story meta */
.nua-cat-link  { color: var(--red); font-weight: 700; font-size: .78rem; }
.nua-cat-link:hover { text-decoration: underline; }
.nua-time      { font-size: .74rem; color: var(--muted); }

/* ============================================================
   SINGLE ARTICLE
   ============================================================ */
.nua-article-wrap { max-width: var(--max); margin: 0 auto; padding: 28px 16px; display: grid; grid-template-columns: 1fr 300px; gap: 32px; }

.nua-article-cat { display: inline-block; background: var(--red); color: var(--white); font-size: .68rem; font-weight: 900; padding: 3px 10px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }
.nua-article-title { font-size: 2rem; font-weight: 800; line-height: 1.15; margin-bottom: 14px; }
.nua-article-meta  { display: flex; gap: 16px; flex-wrap: wrap; font-size: .82rem; color: #666; padding-bottom: 14px; border-bottom: 1px solid var(--border); margin-bottom: 20px; }
.nua-article-hero  { margin-bottom: 6px; }
.nua-article-hero img { width: 100%; height: auto; }
.nua-img-caption   { font-size: .78rem; color: var(--muted); padding: 6px 0 16px; border-bottom: 1px solid var(--border); margin-bottom: 20px; }

.nua-article-content { font-size: 1.05rem; line-height: 1.75; color: #222; }
.nua-article-content p  { margin-bottom: 1.4rem; }
.nua-article-content h2 { font-size: 1.4rem; margin: 1.8rem 0 .8rem; }
.nua-article-content h3 { font-size: 1.15rem; margin: 1.4rem 0 .6rem; }
.nua-article-content blockquote { border-left: 4px solid var(--red); padding: 10px 18px; margin: 20px 0; background: #f9f9f9; font-style: italic; color: #444; }
.nua-article-content ul,
.nua-article-content ol { padding-left: 24px; margin-bottom: 1.2rem; list-style: disc; }
.nua-article-content ol { list-style: decimal; }
.nua-article-content li { margin-bottom: .5rem; }

.nua-tags { margin-top: 28px; padding-top: 16px; border-top: 3px solid var(--red); }
.nua-tags-label { font-size: .7rem; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: var(--red); margin-right: 8px; }
.nua-tags a { display: inline-block; background: #f0f0f0; color: var(--text); font-size: .8rem; padding: 4px 10px; margin: 0 4px 6px 0; border: 1px solid var(--border); }
.nua-tags a:hover { background: var(--red); color: var(--white); border-color: var(--red); text-decoration: none; }

.nua-share { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nua-share-label { font-size: .75rem; font-weight: 900; color: #666; text-transform: uppercase; letter-spacing: 1px; }
.nua-share a { display: inline-flex; align-items: center; gap: 6px; color: var(--white); font-size: .8rem; font-weight: 700; padding: 8px 14px; min-height: 44px; text-decoration: none !important; }
.nua-share a:hover { opacity: .85; }
.nua-share-fb { background: #1877f2; }
.nua-share-tw { background: #000; }
.nua-share-wa { background: #25d366; }

/* Article sidebar */
.nua-aside {}
.nua-aside-block { background: var(--white); border-top: 3px solid var(--red); margin-bottom: 20px; }
.nua-aside-inner { padding: 14px; }
.nua-aside-title { font-size: .7rem; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; border-bottom: 2px solid var(--red); padding-bottom: 8px; margin-bottom: 12px; }

.nua-aside-status { margin-bottom: 20px; color: var(--white); }
.nua-aside-status-badge { padding: 10px 14px 6px; display: flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.nua-aside-status-img img { width: 100%; height: 130px; object-fit: cover; display: block; }
.nua-aside-status-body { padding: 10px 14px 14px; }
.nua-aside-status-body h4 { font-size: .92rem; line-height: 1.3; margin-bottom: 6px; color: var(--white); }
.nua-aside-status-body h4 a { color: var(--white); }
.nua-aside-status-body h4 a:hover { text-decoration: underline; }
.nua-aside-status-body p { font-size: .8rem; color: #aaa; line-height: 1.4; }

.nua-list-item { display: grid; grid-template-columns: 88px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); align-items: start; }
.nua-list-item:last-child { border-bottom: none; }
.nua-list-item-noimg { grid-template-columns: 1fr; }
.nua-list-item img { width: 88px; height: 60px; object-fit: cover; }
.nua-list-item-text h4 { font-size: .87rem; line-height: 1.3; margin-bottom: 3px; }
.nua-list-item-text h4 a:hover { color: var(--red); text-decoration: none; }
.nua-list-item-text .nua-cat-link { font-size: .68rem; display: block; margin-bottom: 2px; }
.nua-list-item-text .nua-time { font-size: .72rem; }

.nua-latest-item { border-bottom: 1px solid var(--border); padding: 10px 0; }
.nua-latest-item:last-child { border-bottom: none; }
.nua-latest-item img { width: 100%; height: 68px; object-fit: cover; margin-bottom: 6px; }
.nua-latest-item a { font-size: .87rem; font-weight: 700; display: block; line-height: 1.3; }
.nua-latest-item a:hover { color: var(--red); text-decoration: none; }
.nua-latest-item .nua-time { font-size: .72rem; color: var(--muted); margin-top: 3px; display: block; }

/* ============================================================
   LIVE POST — BBC Live Reporting (Dark page)
   ============================================================ */
.nua-live-page { background: var(--dark); color: var(--white); }

/* Live header */
.nua-live-hdr { background: var(--dark); border-bottom: 3px solid var(--green); }
.nua-live-hdr-inner { max-width: var(--max); margin: 0 auto; padding: 0 16px; display: grid; grid-template-columns: 1fr 500px; min-height: 380px; }
.nua-live-hdr-text  { padding: 40px 36px 40px 0; display: flex; flex-direction: column; justify-content: center; gap: 14px; }

.nua-live-badge { display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.nua-live-badge--live     { color: var(--green); }
.nua-live-badge--breaking { color: var(--white); }
.nua-live-badge-sep { color: #555; font-weight: 400; }
.nua-live-badge-updated { font-size: .78rem; font-weight: 400; letter-spacing: 0; color: #888; text-transform: none; }

.nua-live-hdr-text h1 { font-size: 2.1rem; color: var(--white); line-height: 1.2; }
.nua-live-hdr-text .nua-live-date { font-size: .8rem; color: #777; }
.nua-live-hdr-img { overflow: hidden; }
.nua-live-hdr-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Live body — 3 cols: summary | feed | empty */
.nua-live-body { max-width: var(--max); margin: 0 auto; padding: 32px 16px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }

.nua-live-summary h3 { font-size: .85rem; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: var(--white); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid #2a2a2a; }
.nua-live-summary ul li { position: relative; padding: 10px 0 10px 14px; border-bottom: 1px solid #1e1e1e; font-size: .88rem; color: #ccc; line-height: 1.5; }
.nua-live-summary ul li::before { content: ''; position: absolute; left: 0; top: 17px; width: 5px; height: 5px; background: var(--red); border-radius: 50%; }
.nua-live-summary ul li a { color: #7dd3fc; text-decoration: underline; }

.nua-live-feed-hdr { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid #1e1e1e; }
.nua-live-feed-hdr h3 { font-size: .85rem; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.nua-live-feed-hdr p { font-size: .82rem; color: #777; }

/* Live entry */
.nua-entry { margin-bottom: 32px; padding-bottom: 32px; border-bottom: 1px solid #1e1e1e; }
.nua-entry:last-child { border-bottom: none; }
.nua-entry-time  { display: inline-block; background: var(--red); color: var(--white); font-size: .82rem; font-weight: 700; padding: 3px 10px; margin-bottom: 10px; }
.nua-entry-title { font-size: 1.15rem; font-weight: 700; color: var(--white); margin-bottom: 8px; line-height: 1.3; }
.nua-entry-author { font-size: .78rem; color: #888; margin-bottom: 10px; }
.nua-entry-author strong { color: #bbb; }
.nua-entry-img   { margin-bottom: 12px; }
.nua-entry-img img { width: 100%; max-height: 400px; object-fit: cover; }
.nua-entry-body  { font-size: .97rem; color: #ccc; line-height: 1.7; }
.nua-entry-body p { margin-bottom: 1rem; color: #ccc; }
.nua-entry-body a { color: #7dd3fc; text-decoration: underline; }

/* Announcement entry type */
.nua-entry--ann { border-left: 4px solid #e27d3a; background: #111; padding: 0; overflow: hidden; margin-bottom: 32px; }
.nua-entry-ann-top { display: flex; align-items: center; justify-content: space-between; background: #00527d; padding: 10px 16px; }
.nua-entry-ann-top .t { color: var(--white); font-weight: 700; font-size: .82rem; }
.nua-entry-ann-top .l { color: var(--white); font-weight: 700; font-size: .82rem; letter-spacing: .05em; flex: 1; text-align: center; }
.nua-entry-ann-body { padding: 14px 16px; }
.nua-entry-ann-body h4 { color: #f47821; font-size: 1.1rem; margin-bottom: 10px; }

/* ============================================================
   ELECTION LIVE SINGLE PAGE
   ============================================================ */
.nua-election-page { background: var(--dark); color: var(--white); }

.nua-election-page-hdr { background: var(--purple); padding: 28px 0; border-bottom: 3px solid var(--purple2); }
.nua-election-page-hdr .nua-wrap { }
.nua-election-page-label-row { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.nua-election-page-hdr h1 { font-size: 2rem; color: var(--white); line-height: 1.2; margin-bottom: 10px; }
.nua-election-page-hdr .summary { color: #c4b5fd; font-size: 1rem; margin-bottom: 10px; }
.nua-election-page-hdr .meta { font-size: .8rem; color: #a78bfa; }

.nua-election-page-chart { background: #0a0a0a; padding: 28px 0; border-bottom: 1px solid #222; }

.nua-election-page-body { max-width: var(--max); margin: 0 auto; padding: 32px 16px; display: grid; grid-template-columns: 1fr 300px; gap: 32px; }

.nua-election-page-content { }
.nua-election-page-content .nua-live-feed-hdr { }
.nua-election-page-content .nua-entry { }

/* ============================================================
   ARCHIVE / CATEGORY
   ============================================================ */
.nua-archive-hdr { background: var(--dark); padding: 18px 0; }
.nua-archive-hdr h1 { color: var(--white); font-size: 1.6rem; font-weight: 900; text-transform: uppercase; border-left: 4px solid var(--red); padding-left: 12px; }

.nua-archive-wrap { max-width: var(--max); margin: 0 auto; padding: 24px 16px; display: grid; grid-template-columns: 1fr 300px; gap: 28px; }
.nua-archive-list .nua-card-wide { display: grid; grid-template-columns: 180px 1fr; background: var(--white); margin-bottom: 2px; overflow: hidden; }
.nua-archive-list .nua-card-wide img { width: 180px; height: 120px; object-fit: cover; display: block; }
.nua-archive-list .nua-card-wide-body { padding: 12px 14px; }
.nua-archive-list .nua-card-wide-body h3 { font-size: .95rem; line-height: 1.3; margin-bottom: 6px; }
.nua-archive-list .nua-card-wide-body h3 a:hover { color: var(--red); text-decoration: none; }
.nua-archive-list .nua-card-wide-body .nua-excerpt { font-size: .85rem; color: #555; line-height: 1.4; margin: 5px 0; }

/* ============================================================
   PAGINATION
   ============================================================ */
.nua-pagination { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 24px; }
.nua-pagination a,
.nua-pagination span { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid var(--border); font-size: .85rem; font-weight: 700; background: var(--white); color: var(--text); min-height: 44px; }
.nua-pagination a:hover { background: var(--red); color: var(--white); border-color: var(--red); text-decoration: none; }
.nua-pagination .current { background: var(--red); color: var(--white); border-color: var(--red); }

/* ============================================================
   FOOTER
   ============================================================ */
.nua-footer { background: var(--dark); color: #ccc; border-top: 4px solid var(--red); padding: 32px 0 20px; }
.nua-footer a { color: #aaa; }
.nua-footer a:hover { color: var(--white); }
.nua-footer-bottom { margin-top: 20px; padding-top: 16px; border-top: 1px solid #333; font-size: .78rem; color: #666; }

/* ============================================================
   RESPONSIVE — 1024px
   ============================================================ */
@media (max-width: 1024px) {
    .nua-home-top { grid-template-columns: 1fr 1fr; }
    .nua-feature  { grid-column: 1 / 2; grid-row: 1; }
    .nua-home-bottom { grid-template-columns: repeat(3,1fr); }
    .nua-special-story .nua-wrap { grid-template-columns: 1fr 400px; }
}

/* ============================================================
   RESPONSIVE — 900px
   ============================================================ */
@media (max-width: 900px) {
    .nua-global-hero-inner,
    .nua-special-story .nua-wrap,
    .nua-article-wrap,
    .nua-archive-wrap,
    .nua-live-hdr-inner,
    .nua-live-body,
    .nua-election-page-body { grid-template-columns: 1fr; }

    .nua-global-hero-img { order: -1; }
    .nua-global-hero-img img { min-height: unset; height: 280px; }
    .nua-global-hero-body { padding: 24px 16px; gap: 10px; }
    .nua-global-hero-body h2 { font-size: 1.5rem; }

    .nua-live-hdr-img { order: -1; max-height: 260px; }
    .nua-live-hdr-img img { height: 260px; }
    .nua-live-hdr-text { padding: 24px 0; gap: 10px; }
    .nua-live-hdr-text h1 { font-size: 1.6rem; }
    .nua-live-body { grid-template-columns: 1fr; gap: 24px; }
    .nua-live-summary { order: 2; }
    .nua-live-feed  { order: 1; }

    .nua-home-top { grid-template-columns: 1fr 1fr; }
    .nua-feature  { grid-column: 1 / 3; }
    .nua-feature-img img { height: 260px; }
    .nua-home-bottom { grid-template-columns: repeat(2,1fr); }

    .nua-special-story-img img { height: 200px; }
    .nua-chart-bars { height: 110px; }
    .nua-special-name { font-size: 1.1rem; }

    .nua-archive-list .nua-card-wide { grid-template-columns: 1fr; }
    .nua-archive-list .nua-card-wide img { width: 100%; height: 180px; }
}

/* ============================================================
   RESPONSIVE — 600px
   ============================================================ */
@media (max-width: 600px) {
    .nua-brand-link { font-size: 1.4rem; letter-spacing: 2px; }
    .nua-wrap { padding: 0 10px; }

    .nua-global-hero-body h2 { font-size: 1.2rem; }
    .nua-global-hero-body { padding: 16px 12px; gap: 8px; }
    .nua-hero-btn { width: 100%; justify-content: center; }

    .nua-home-top  { grid-template-columns: 1fr; }
    .nua-feature   { grid-column: 1; }
    .nua-home-bottom { grid-template-columns: 1fr; }
    .nua-card-img img { height: 200px; }

    .nua-special-name { font-size: .9rem; letter-spacing: 1px; }
    .nua-chart-bars { height: 90px; gap: 3px; }
    .nua-bar-label  { font-size: .6rem; }
    .nua-chart-wrap { padding: 12px 0; }
    .nua-special-story { padding: 16px 0; }
    .nua-special-story-text h2 { font-size: 1.2rem; }

    .nua-live-hdr-text h1 { font-size: 1.3rem; }
    .nua-article-title { font-size: 1.4rem; }
    .nua-election-page-hdr h1 { font-size: 1.4rem; }

    .nua-share { flex-direction: column; }
    .nua-share a { width: 100%; justify-content: center; }

    .nua-list-item { grid-template-columns: 76px 1fr; }
    .nua-list-item img { width: 76px; height: 54px; }
}
