/*
Theme Name: WarAtlas
Theme URI: https://thewaratlas.com/
Description: Theme rieng cua WarAtlas — tap chi lich su quan su 1914-1945, 6 ngon ngu (EN/FR/DE/VI/JA/ES) qua Polylang. Lay tu Mau 2 Tap chi (da duyet): navy #102040 + dong #c09b5a, khung 1400px, mot mau nen duy nhat. Khong phu thuoc Flatsome. Chuoi giao dien viet qua ham dich WordPress (textdomain "waratlas") de Polylang dich trong Languages > Strings translations.
Author: WarAtlas
Author URI: https://thewaratlas.com/
Version: 1.3.11
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: waratlas
Tags: history, magazine, atlas, multilingual, polylang
*/

/* ==========================================================================
   MUC LUC
   1. Design tokens (mau, font, khoang cach)
   2. Nen + kieu chu co ban
   3. Tieu de + doan van (typography scale)
   4. Bo cuc bai viet (2 cot: noi dung + sidebar)
   5. Tieu de bai + meta + breadcrumb
   6. Hero (anh bia)
   7. Hop Key Facts (bang tom tat dat dau bai)
   8. Infobox sidebar
   9. Bang (chung + bang thong so ky thuat)
   10. Hinh anh + chu thich (figure)
   11. Song ngu Anh-Viet (.wa-bi)
   12. Timeline doc (giai doan / cuoc doi)
   13. Tab + Accordion (details/summary)
   14. The bai + luoi chuyen muc
   15. Nut bam
   16. Trang chu (Mau 2)
   16a. Top block: ticker + featured + most read (Mau 2 — v1.3.4)
   17. FAQ + Lien quan
   18. Ban do Leaflet
   19. Tim kiem + form
   20. Muc luc bai viet (.wa-toc)
   21. Responsive
   22. In an
   23. Trung lap — .wa-solemn (trang Ky uc: trang trong, khong giat gan)
   24. Bo nhan dien — logo lockup + hero cover (navy #102040 + dong #c09b5a)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. DESIGN TOKENS — lay tu Mau 2 Tap chi (da duyet). Khong doi ten bien:
   moi class v1 van dung cac bien nay.
   BO NHAN DIEN (do truc tiep tu file brand, 2026-11-09):
   - Navy dam #102040: mau nen logo (do duoc: 70% diem anh logo), dung lam
     mau chinh cho header, nut, tieu de, hop Key Facts.
   - Vang dong co #c09b5a: mau duong kinh tuyen qua dia cau trong logo,
     dung lam mau nhan (gach duoi H2, vien Key Facts, nut vang).
   - Dong #d08a5b: mau ngoi sao la ban cua favicon (chi dung cho diem nhan
     nho / favicon, khong dung lam mau chu dao).
   - Vang dong dam #a97b1e: ban dam hon cua vang dong, dung cho chu nho
     tren nen sang (tuong phan tot hon #c09b5a).
   TRUNG LAP: bang mau la bang mau tai lieu trung tinh (hai quan / vang
   dong / giay trang) — KHONG dung mau co quoc gia, KHONG dung mau de
   phan biet phe phai (vd: khong xanh = Dong minh, khong do/den = Truc).
   Mau do (--wa-red) chi dung cho canh bao "so lieu tranh cai" (.wa-disputed),
   khong dung lam mau trang tri ton vinh mot ben.
   -------------------------------------------------------------------------- */
:root {
    /* Mau chinh — hai quan / vang dong / do gach (tai lieu chien tranh). */
    --wa-navy: #16324f;
    --wa-navy-d: #102040;
    --wa-navy-l: #21486b;
    --wa-gold: #c09b5a;
    --wa-gold-d: #a97b1e;
    --wa-gold-l: #d9b45b;
    --wa-gold-bg: #f7f0dc;
    --wa-bronze: #d08a5b;
    --wa-red: #b3232a;
    --wa-red-d: #8f1b21;
    --wa-red-bg: #f9e9e9;
    --wa-olive: #5c6650;
    --wa-green: #2e6b34;
    --wa-green-bg: #e9f2e7;
    /* Nen + chu. */
    --wa-bg: #f6f4ef;
    --wa-paper: #ffffff;
    --wa-chip: #f1eee5;
    --wa-ink: #16191d;
    --wa-ink-2: #33383e;
    --wa-muted: #6a727e;
    --wa-line: #e2ded2;
    --wa-line-d: #cfc8b8;
    /* Hinh dang + bong. */
    --wa-radius: 10px;
    --wa-radius-s: 6px;
    --wa-shadow: 0 1px 2px rgba(20, 25, 29, .06), 0 8px 24px -12px rgba(20, 25, 29, .18);
    --wa-shadow-s: 0 1px 2px rgba(20, 25, 29, .08);
    /* Bo cuc. */
    --wa-maxw: 1400px;
    --wa-content-w: 74ch;
    --wa-gap: 2rem;
    /* Font — user chot Roboto cho TOAN BO chu (19:14). Logo "WAR ATLAS" giu
       Playfair Display serif do qua rule rieng (.wa-site-logo). */
    --wa-font-head: "Roboto", Arial, sans-serif;
    --wa-font-body: "Roboto", Arial, sans-serif;
    --wa-font-mono: "Roboto", Arial, sans-serif;
    --wa-font-logo: "Playfair Display", Georgia, "Times New Roman", serif;
}

/* --------------------------------------------------------------------------
   2. NEN + KIEU CHU CO BAN
   -------------------------------------------------------------------------- */
body { background: var(--wa-bg); color: var(--wa-ink); font-family: var(--wa-font-body); margin: 0; }
a { color: var(--wa-navy); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--wa-red); }
::selection { background: var(--wa-gold-l); color: var(--wa-navy-d); }
:focus-visible { outline: 2px solid var(--wa-gold); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* --------------------------------------------------------------------------
   3. TIEU DE + DOAN VAN — typography scale (doc de, quet nhanh)
   -------------------------------------------------------------------------- */
.wa-single h1, .wa-single h2, .wa-single h3, .wa-single h4,
.wa-front h1, .wa-front h2, .wa-front h3 { font-family: var(--wa-font-head); color: var(--wa-navy-d); line-height: 1.2; }
.wa-single h1 { font-size: 2.35rem; line-height: 1.15; margin: .2rem 0 .6rem; letter-spacing: -.01em; }
.wa-single h2 { font-size: 1.6rem; margin: 2.2rem 0 .8rem; padding-bottom: .45rem; border-bottom: 2px solid var(--wa-gold); scroll-margin-top: 90px; }
.wa-single h3 { font-size: 1.25rem; margin: 1.6rem 0 .5rem; scroll-margin-top: 90px; }
.wa-single h4 { font-size: 1.05rem; margin: 1.2rem 0 .4rem; }
.wa-single p { line-height: 1.75; margin: 0 0 1rem; text-align: justify; hyphens: auto; }
/* User 20:34 — noi dung bai can deu 2 ben, khong de khoang trong le phai:
   bo gioi han 74ch de .wa-content dung het chieu rong cot luoi (toi sidebar),
   chu can deu 2 ben se lap day mep phai. */
.wa-content { max-width: none; }
/* Doan mo dau: tra loi ngay trong 40-60 tu dau (chuan GEO) — dam + lon hon. */
.wa-lead, .wa-content > p:first-of-type { font-size: 1.15rem; line-height: 1.7; color: var(--wa-ink-2); }
.wa-single ul, .wa-single ol { line-height: 1.7; margin: 0 0 1rem 1.25rem; padding: 0; }
.wa-single li { margin-bottom: .35rem; }
.wa-single li::marker { color: var(--wa-gold); }
.wa-single blockquote { border-left: 3px solid var(--wa-gold); background: var(--wa-chip); margin: 1.2rem 0; padding: .9rem 1.1rem; font-style: italic; color: var(--wa-ink-2); border-radius: 0 var(--wa-radius-s) var(--wa-radius-s) 0; }
.wa-single blockquote cite { display: block; margin-top: .5rem; font-style: normal; font-family: var(--wa-font-mono); font-size: .8rem; color: var(--wa-muted); }
.wa-single hr { border: 0; border-top: 1px solid var(--wa-line); margin: 2rem 0; }
.wa-single strong { color: var(--wa-navy-d); }
/* So lieu tranh cai: viet ro nguon, danh dau khoi rieng — khong bia so. */
.wa-disputed { background: var(--wa-red-bg); border-left: 3px solid var(--wa-red); padding: .6rem .9rem; border-radius: 0 var(--wa-radius-s) var(--wa-radius-s) 0; font-size: .95rem; }
.wa-source { font-size: .85rem; color: var(--wa-muted); }

/* --------------------------------------------------------------------------
   4. BO CUC BAI VIET — 2 cot: noi dung + sidebar (infobox dinh)
   -------------------------------------------------------------------------- */
.wa-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--wa-gap); align-items: start; max-width: var(--wa-maxw); margin: 0 auto; padding: 0 1rem; }
.wa-content { min-width: 0; }

/* --------------------------------------------------------------------------
   5. TIEU DE BAI + META + BREADCRUMB
   -------------------------------------------------------------------------- */
.wa-single header { max-width: var(--wa-maxw); margin: 0 auto; padding: 1.2rem 1rem 0; }
.wa-crumb { font-family: var(--wa-font-mono); font-size: .8rem; color: var(--wa-muted); margin-bottom: .4rem; }
.wa-crumb a { color: var(--wa-navy); }
.wa-crumb .wa-crumb-sep { margin: 0 .35rem; color: var(--wa-line-d); }
.wa-meta { font-family: var(--wa-font-mono); font-size: .8rem; color: var(--wa-muted); }
.wa-meta a { color: var(--wa-navy); }
.wa-cat-chip { display: inline-block; background: var(--wa-navy); color: #fff; font-family: var(--wa-font-mono); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; padding: .2rem .6rem; border-radius: 999px; }
.wa-cat-chip:hover { background: var(--wa-red); color: #fff; }

/* --------------------------------------------------------------------------
   6. HERO (anh bia) — anh 16:9, chu de len tren, khong chu chen anh
   -------------------------------------------------------------------------- */
.wa-hero-img { position: relative; max-width: var(--wa-maxw); margin: 1rem auto 0; padding: 0 1rem; }
.wa-hero-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--wa-radius); display: block; }
.wa-hero-img figcaption { font-size: .85rem; color: var(--wa-muted); margin-top: .4rem; }
.wa-hero-img figcaption .wa-img-credit { font-family: var(--wa-font-mono); font-size: .75rem; }

/* --------------------------------------------------------------------------
   7. HOP KEY FACTS — bang tom tat dat DAU BAI (muc 1 cua mo hinh 10 muc).
   Day du thong tin nhung gon: doc xong hop la nam duoc bai.
   -------------------------------------------------------------------------- */
.wa-keyfacts { background: var(--wa-paper); border: 1px solid var(--wa-line); border-top: 3px solid var(--wa-gold); border-radius: var(--wa-radius); box-shadow: var(--wa-shadow-s); padding: 1rem 1.25rem; margin: 1.4rem 0 1.6rem; }
.wa-keyfacts h2 { font-size: 1.05rem; margin: 0 0 .6rem; padding: 0; border: 0; font-family: var(--wa-font-head); }
.wa-keyfacts table { width: 100%; border-collapse: collapse; }
.wa-keyfacts th, .wa-keyfacts td { border-top: 1px solid var(--wa-line); padding: .45rem .25rem; text-align: left; vertical-align: top; font-size: .95rem; }
.wa-keyfacts tr:first-child th, .wa-keyfacts tr:first-child td { border-top: 0; }
.wa-keyfacts th { width: 32%; color: var(--wa-muted); font-weight: 600; padding-right: .8rem; }
.wa-keyfacts .wa-kf-answer td { font-weight: 700; color: var(--wa-navy-d); }

/* --------------------------------------------------------------------------
   8. INFOBOX SIDEBAR — giu nguyen class v1, them dinh + tieu de vang
   -------------------------------------------------------------------------- */
.wa-infobox { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); box-shadow: var(--wa-shadow); padding: 1rem 1.25rem; position: sticky; top: 1rem; }
.wa-infobox h2 { font-size: 1.05rem; border-bottom: 2px solid var(--wa-gold); padding-bottom: .4rem; margin-top: 0; }
.wa-infobox dl { margin: 0; }
.wa-infobox dt { font-weight: 700; font-size: .85rem; color: var(--wa-muted); margin-top: .6rem; }
.wa-infobox dd { margin: 0; }
.wa-infobox .wa-infobox-img img { width: 100%; border-radius: var(--wa-radius-s); display: block; margin-bottom: .6rem; }

/* --------------------------------------------------------------------------
   9. BANG — bang chung + bang thong so ky thuat (khi tai)
   -------------------------------------------------------------------------- */
.wa-table, .wa-spec-table { width: 100%; border-collapse: collapse; background: var(--wa-paper); margin: 0 0 1.2rem; font-size: .95rem; }
.wa-table th, .wa-table td, .wa-spec-table th, .wa-spec-table td { border: 1px solid var(--wa-line); padding: .5rem .75rem; text-align: left; vertical-align: top; }
.wa-table thead th, .wa-spec-table th { background: var(--wa-chip); }
.wa-spec-table th { width: 30%; }
.wa-table tbody tr:nth-child(even) td { background: #fbfaf7; }
.wa-table-wrap { overflow-x: auto; overflow-y: auto; max-height: 480px; margin: 0 0 1.2rem; }
.wa-table-wrap .wa-table { margin: 0; }

/* --------------------------------------------------------------------------
   10. HINH ANH + CHU THICH — anh AI, WebP, lazy-load; chu thich co nguon
   -------------------------------------------------------------------------- */
.wa-content figure { margin: 1.4rem 0; }
.wa-content figure img { width: 100%; border-radius: var(--wa-radius); display: block; }
.wa-content figcaption { font-size: .85rem; color: var(--wa-muted); margin-top: .45rem; line-height: 1.5; }
.wa-content figcaption .wa-img-credit { font-family: var(--wa-font-mono); font-size: .75rem; }
.wa-figure-half { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.wa-figure-half figure { margin: 0; }
/* Anh chan dung nhan vat: dung nho, can giua. */
.wa-figure-portrait { max-width: 320px; margin-left: auto; margin-right: auto; }
.wa-figure-portrait img { aspect-ratio: 3 / 4; object-fit: cover; }

/* --------------------------------------------------------------------------
   11. SONG NGU ANH-VIET — tieng Anh truoc, tieng Viet ngay sau, tung muc.
   Khong tron 2 ngon ngu trong 1 doan. Khoi Viet co nen rieng + nhan ro.
   Giai doan review song ngu; khi tach ngon ngu thi moi khoi .wa-lang
   chuyen nguyen ven sang trang /en/ hoac /vi/ tuong ung.
   -------------------------------------------------------------------------- */
.wa-bi { margin: 0 0 1.2rem; }
.wa-lang-tag { display: inline-block; font-family: var(--wa-font-mono); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; padding: .15rem .55rem; border-radius: 999px; margin-bottom: .5rem; }
.wa-lang-en .wa-lang-tag { background: var(--wa-navy); color: #fff; }
.wa-lang-vi .wa-lang-tag { background: var(--wa-gold-bg); color: var(--wa-navy-d); border: 1px solid var(--wa-gold-l); }
.wa-lang-vi { background: #fbf8ef; border: 1px solid var(--wa-line); border-left: 3px solid var(--wa-gold); border-radius: var(--wa-radius-s); padding: .9rem 1rem; margin-top: .9rem; }
.wa-lang-vi p:last-child { margin-bottom: 0; }
.wa-lang-vi h3, .wa-lang-vi h4 { color: var(--wa-navy); }
/* Tieu de muc song ngu: H2 tieng Anh + dong phu de tieng Viet ngay duoi. */
.wa-h2-vi { display: block; font-family: var(--wa-font-body); font-size: .95rem; font-weight: 600; color: var(--wa-muted); margin-top: .25rem; }
/* Nut chuyen ngon ngu tren dau bai (link sang ban dich Polylang). */
.wa-lang-switch { display: flex; gap: .5rem; flex-wrap: wrap; margin: .6rem 0 0; }
.wa-lang-switch a { font-family: var(--wa-font-mono); font-size: .8rem; border: 1px solid var(--wa-line-d); border-radius: 999px; padding: .25rem .8rem; background: var(--wa-paper); }
.wa-lang-switch a[aria-current="true"] { background: var(--wa-navy); color: #fff; border-color: var(--wa-navy); }

/* --------------------------------------------------------------------------
   12. TIMELINE DOC — giai doan tran danh / cuoc doi nhan vat / chien dich
   -------------------------------------------------------------------------- */
.wa-timeline { list-style: none; margin: 0 0 1.4rem; padding: 0 0 0 1.1rem; border-left: 2px solid var(--wa-gold); }
.wa-timeline li { position: relative; padding: 0 0 1.1rem 1rem; }
.wa-timeline li::before { content: ""; position: absolute; left: -1.1rem; top: .35rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--wa-paper); border: 2px solid var(--wa-gold); transform: translateX(-.325rem); }
.wa-timeline .wa-tl-date { font-family: var(--wa-font-mono); font-size: .85rem; font-weight: 600; color: var(--wa-navy); display: block; }
.wa-timeline .wa-tl-title { font-family: var(--wa-font-head); font-size: 1.1rem; color: var(--wa-navy-d); display: block; margin: .1rem 0 .25rem; }
.wa-timeline p { margin: 0; }
/* Nut chon nam (timeline 1914-1945 trang chu) — giu class v1. */
.wa-timeline-years { display: flex; flex-wrap: wrap; gap: .4rem; }
.wa-timeline-years button { background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: 999px; padding: .3rem .8rem; cursor: pointer; font-family: var(--wa-font-mono); }
.wa-timeline-years button[aria-pressed="true"] { background: var(--wa-navy); color: #fff; border-color: var(--wa-navy); }
.wa-timeline-list { margin-top: 1rem; }
.wa-timeline-item { margin: 0 0 .5rem; }

/* --------------------------------------------------------------------------
   13. TAB + ACCORDION — dung the <details> goc (khong them JS, nhe, nhanh)
   -------------------------------------------------------------------------- */
.wa-acc { border: 1px solid var(--wa-line); border-radius: var(--wa-radius); background: var(--wa-paper); margin: 0 0 .7rem; overflow: hidden; }
.wa-acc summary { cursor: pointer; padding: .8rem 1rem; font-weight: 700; color: var(--wa-navy-d); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.wa-acc summary::-webkit-details-marker { display: none; }
.wa-acc summary::after { content: "+"; font-size: 1.3rem; color: var(--wa-gold-d); flex: none; }
.wa-acc[open ] summary::after { content: "–"; }
.wa-acc .wa-acc-body { padding: 0 1rem 1rem; }
.wa-acc .wa-acc-body p:last-child { margin-bottom: 0; }
.wa-tabs-note { font-size: .85rem; color: var(--wa-muted); }

/* --------------------------------------------------------------------------
   14. THE BAI + LUOI CHUYEN MUC — dung cho trang chu, hub, lien quan
   -------------------------------------------------------------------------- */
.wa-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2rem; }
.wa-card { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); overflow: hidden; box-shadow: var(--wa-shadow-s); display: flex; flex-direction: column; transition: transform .15s ease, box-shadow .15s ease; }
.wa-card:hover { transform: translateY(-2px); box-shadow: var(--wa-shadow); }
.wa-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.wa-card-body { padding: .9rem 1rem 1rem; display: flex; flex-direction: column; flex: 1; }
.wa-card-body h3 { font-size: 1.1rem; margin: .45rem 0 .35rem; line-height: 1.3; }
.wa-card-body h3 a { color: var(--wa-navy-d); }
.wa-card-body h3 a:hover { color: var(--wa-red); }
.wa-card-body p { font-size: .92rem; color: var(--wa-muted); margin: 0 0 .6rem; line-height: 1.55; }
.wa-card-body .wa-meta { margin-top: auto; }
.wa-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.wa-cat-card { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem; box-shadow: var(--wa-shadow); overflow: hidden; }
.wa-cat-card h3 { margin-top: 0; }
.wa-cat-card .wa-cat-count { font-family: var(--wa-font-mono); font-size: .8rem; color: var(--wa-muted); }
/* 16d. CARD IMAGES (v1.3.0) — anh minh hoa tren the chuyen muc + the Start Here */
.wa-cat-img { display: block; width: calc(100% + 2rem); max-width: none; margin: -1rem -1rem .8rem; aspect-ratio: 16 / 9; object-fit: cover; }
.wa-hub-img { display: block; width: calc(100% + 2.5rem); max-width: none; margin: -1.1rem -1.25rem .8rem; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--wa-radius) var(--wa-radius) 0 0; }

/* --------------------------------------------------------------------------
   15. NUT BAM
   -------------------------------------------------------------------------- */
.wa-btn, a.wa-btn { display: inline-block; background: var(--wa-navy); color: #fff; font-weight: 600; padding: .6rem 1.2rem; border-radius: var(--wa-radius-s); border: 1px solid var(--wa-navy); text-decoration: none; line-height: 1.4; }
.wa-btn:hover { background: var(--wa-navy-d); color: #fff; }
.wa-btn-gold, a.wa-btn-gold { background: var(--wa-gold-d); border-color: var(--wa-gold-d); color: #fff; }
.wa-btn-gold:hover { background: #8f6716; color: #fff; }
.wa-btn-ghost, a.wa-btn-ghost { background: transparent; color: var(--wa-navy); }
.wa-btn-ghost:hover { background: var(--wa-chip); color: var(--wa-navy-d); }

/* --------------------------------------------------------------------------
   16. TRANG CHU (Mau 2) — hero + muc + the gioi hom nay + tim kiem DB
   Khung 1400px: .wa-front tu gioi han chieu rong (khong phu thuoc container
   cua theme cha — theme nay khong co theme cha).
   -------------------------------------------------------------------------- */
.wa-front { max-width: var(--wa-maxw); margin: 0 auto; padding: 0 1rem; }
.wa-front section { margin-bottom: 2.5rem; }
.wa-front h2 { font-size: 1.5rem; }
.wa-front .wa-hero { background: var(--wa-navy-d); color: #fff; border-radius: var(--wa-radius); padding: 2rem; position: relative; overflow: hidden; }
.wa-front .wa-hero h1, .wa-front .wa-hero h2 { color: #fff; }
.wa-front .wa-hero a { color: #f1eee5; }
.wa-front .wa-hero p { color: #d7dee6; }
.wa-front .wa-hero .wa-hero-img { padding: 0; margin: 1.2rem 0 0; max-width: none; }
.wa-front .wa-hero .wa-hero-img img { border-radius: var(--wa-radius-s); }
.wa-front .wa-hero-search { display: flex; gap: .5rem; margin-top: 1.2rem; max-width: 560px; }
.wa-front .wa-hero-search input[type="search"] { flex: 1; padding: .65rem .9rem; border: 0; border-radius: var(--wa-radius-s); font-size: 1rem; }
.wa-front .wa-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.wa-front .wa-section-head a { font-family: var(--wa-font-mono); font-size: .85rem; }
.wa-front .wa-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; }
.wa-front .wa-stat { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem; text-align: center; }
.wa-front .wa-stat b { display: block; font-family: var(--wa-font-head); font-size: 1.7rem; color: var(--wa-navy-d); }
.wa-front .wa-stat span { font-size: .85rem; color: var(--wa-muted); }
.wa-db-search { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem 1.25rem; }
.wa-db-search input[type="search"] { width: 100%; box-sizing: border-box; padding: .6rem; border: 1px solid var(--wa-line); border-radius: 6px; }
.wa-db-table { width: 100%; border-collapse: collapse; background: var(--wa-paper); font-size: .92rem; }
.wa-db-table th, .wa-db-table td { border: 1px solid var(--wa-line); padding: .45rem .6rem; text-align: left; }
.wa-db-table thead th { background: var(--wa-navy); color: #fff; }
.wa-db-table tbody tr:nth-child(even) td { background: #fbfaf7; }
/* "The gioi hom nay": the tom tat trung lap, anh minh hoa khong bao luc.
   QUY TAC CUA CHU: Ukraine chi dang ban do / timeline tom tat, KHONG bai tin. */
.wa-world-today { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem 1.25rem; }
.wa-world-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.wa-world-card { border: 1px solid var(--wa-line); border-radius: var(--wa-radius); overflow: hidden; background: var(--wa-bg); }
.wa-world-card img { width: 100%; height: auto; display: block; }
.wa-world-card h3 { font-size: 1rem; margin: .6rem .8rem 0; }
.wa-world-card p { margin: .4rem .8rem .8rem; font-size: .9rem; color: var(--wa-muted); }
.wa-world-note { font-size: .85rem; color: var(--wa-muted); }
/* YouTube lite embed (facade — chi tai iframe khi bam). */
.wa-yt-facade { position: relative; aspect-ratio: 16 / 9; background: var(--wa-navy-d); border-radius: var(--wa-radius); cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; }
.wa-yt-facade::after { content: "\25B6"; font-size: 3rem; opacity: .9; }
.wa-yt-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* --------------------------------------------------------------------------
   16b. 4 KHOI MOI CUA MAU 2 (v1.1.0) — Dossier / Hubs / Tactics / Newsletter
   -------------------------------------------------------------------------- */
/* Tieu de phu cua section (giong .sub cua Mau 2). */
.wa-section-sub { font-size: .9rem; color: var(--wa-muted); }
/* Dossier: 2 cot — anh + noi dung (bang Key Facts + tab theo muc). */
.wa-dossier { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1.5rem; }
.wa-dossier-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.5rem; align-items: start; }
.wa-dossier-media img { width: 100%; border-radius: var(--wa-radius-s); display: block; }
.wa-dossier-cap { font-size: .85rem; color: var(--wa-muted); margin-top: .5rem; line-height: 1.5; }
.wa-dossier-body h3 { font-size: 1.5rem; margin: .5rem 0; }
.wa-dossier-body h3 a { color: var(--wa-navy-d); text-decoration: none; }
.wa-dossier-body h3 a:hover { color: var(--wa-red); }
.wa-dossier-dek { font-size: 1.05rem; line-height: 1.7; color: var(--wa-ink-2); }
.wa-chip { display: inline-block; background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: 999px; padding: .15rem .7rem; font-size: .8rem; font-weight: 700; color: var(--wa-navy-d); }
.wa-facts { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .95rem; }
.wa-facts th, .wa-facts td { border-top: 1px solid var(--wa-line); padding: .45rem .25rem; text-align: left; vertical-align: top; }
.wa-facts th { width: 34%; color: var(--wa-muted); font-weight: 600; }
.wa-result-badge { display: inline-block; background: var(--wa-navy-d); color: #fff; border-radius: 999px; padding: .15rem .7rem; font-size: .85rem; font-weight: 700; }
.wa-dossier-body h4 { font-size: 1.1rem; margin: 1.4rem 0 .6rem; }
.wa-dossier-days { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .9rem; }
.wa-dossier-days button { border: 1.5px solid var(--wa-line); background: #fff; border-radius: 999px; padding: .45rem 1rem; font-weight: 700; font-size: .85rem; color: var(--wa-ink-2); cursor: pointer; }
.wa-dossier-days button.on { background: var(--wa-red); border-color: var(--wa-red); color: #fff; }
.wa-dossier-day { background: var(--wa-bg); border: 1px solid var(--wa-line); border-radius: var(--wa-radius-s); padding: .9rem 1.1rem; }
.wa-dossier-day p { margin: 0; line-height: 1.7; }
/* Hubs: 4 the — giong .hub-mem cua Mau 2. */
.wa-hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.wa-hub-card { display: block; background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1.1rem 1.25rem; text-decoration: none; color: var(--wa-ink); }
.wa-hub-card:hover { border-color: var(--wa-gold); }
.wa-hub-card h3 { font-size: 1.2rem; margin: .6rem 0 .4rem; color: var(--wa-navy-d); }
.wa-hub-card p { font-size: .92rem; color: var(--wa-muted); line-height: 1.6; margin: 0 0 .6rem; }
.wa-hub-more { font-size: .85rem; font-weight: 700; color: var(--wa-navy); }
/* Tactics: 4 the — giong .tac cua Mau 2. */
.wa-tac-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.wa-tac-card { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1.1rem 1.25rem; }
.wa-tac-card h3 { font-size: 1.1rem; margin: 0 0 .4rem; }
.wa-tac-card h3 a { color: var(--wa-navy-d); text-decoration: none; }
.wa-tac-card h3 a:hover { color: var(--wa-red); }
.wa-tac-card p { font-size: .92rem; color: var(--wa-muted); line-height: 1.6; margin: 0 0 .6rem; }
.wa-tac-card > a { font-size: .85rem; font-weight: 700; }
/* Newsletter: 2 cot — chu + form (chi front-end, chua noi dich vu). */
.wa-newsletter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; background: var(--wa-navy-d); border-radius: var(--wa-radius); padding: 1.5rem 1.75rem; }
.wa-newsletter h2 { color: #fff; margin: 0 0 .4rem; }
.wa-newsletter p { color: #d7dee6; margin: 0; line-height: 1.6; }
.wa-nl-form { display: flex; gap: .5rem; }
.wa-nl-form input[type="email"] { flex: 1; min-width: 0; padding: .65rem .9rem; border: 0; border-radius: var(--wa-radius-s); font-size: 1rem; }
.wa-nl-note { font-size: .8rem; color: #8fa5ba; margin-top: .5rem; }
/* Mobile: xep doc — anh tren, chu duoi, full width (nhu yeu cau Battles mobile). */
@media (max-width: 900px) {
    .wa-dossier-grid { grid-template-columns: 1fr; }
    /* 1.3.6 — "1fr" = minmax(auto, 1fr): cot tu dan theo min-content cua form
       (input size mac dinh ~236px + nut Subscribe ~105px = ~349px) nen tran
       ngang 73px o 320px. minmax(0, 1fr) khoa cot theo chieu rong khung;
       input da co min-width: 0 nen co lai vua. */
    .wa-newsletter { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------------------------------------------------
   16c. KHOI "BAI MOI NHAT" + "10 TIN MOI NHAT" TREN TRANG CATEGORY (v1.2.0)
   -------------------------------------------------------------------------- */
/* 2 cot: bai noi bat ben trai (2/3) + list 10 tin moi ben phai (1/3). */
.wa-latest-block { max-width: var(--wa-maxw); margin: 1.5rem auto 0; padding: 0 1rem; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.wa-latest-kicker { display: inline-block; background: var(--wa-red); color: #fff; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .6rem; border-radius: 999px; margin-bottom: .7rem; }
.wa-latest-thumb { display: block; }
.wa-latest-thumb img { width: 100%; height: auto; border-radius: var(--wa-radius-s); display: block; }
.wa-latest-nothumb { display: flex; align-items: center; justify-content: center; height: 220px; background: var(--wa-navy-d); color: #fff; border-radius: var(--wa-radius-s); }
.wa-latest-title { font-size: 1.5rem; margin: .7rem 0 .4rem; }
.wa-latest-title a { color: var(--wa-navy-d); text-decoration: none; }
.wa-latest-title a:hover { color: var(--wa-red); }
.wa-latest-excerpt { color: var(--wa-ink-2); line-height: 1.7; margin: 0 0 .5rem; }
.wa-latest-meta { color: var(--wa-muted); font-size: .9rem; margin: 0; }
.wa-latest-list { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem 1.25rem; }
.wa-latest-list-heading { font-size: 1.05rem; margin: 0 0 .6rem; padding-bottom: .6rem; border-bottom: 2px solid var(--wa-gold); color: var(--wa-navy-d); }
.wa-latest-items { list-style: none; padding: 0; margin: 0; counter-reset: wa-latest; }
.wa-latest-items li { counter-increment: wa-latest; padding: .55rem 0; border-bottom: 1px solid var(--wa-line); line-height: 1.5; }
.wa-latest-items li:last-child { border-bottom: 0; }
.wa-latest-items li::before { content: counter(wa-latest, decimal-leading-zero) ". "; font-weight: 700; color: var(--wa-gold-d); }
.wa-latest-items a { color: var(--wa-navy-d); text-decoration: none; font-weight: 600; }
.wa-latest-items a:hover { color: var(--wa-red); }
.wa-latest-date { display: block; font-size: .85rem; color: var(--wa-muted); margin-top: .15rem; }
/* Mobile: xep doc — bai noi bat tren, list 10 tin duoi. */
@media (max-width: 900px) {
    .wa-latest-block { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   16a. TOP BLOCK: TICKER + FEATURED + MOST READ (Mau 2 — v1.3.4)
   Cau truc theo mau da duyet: ticker trang trang duoi nav; khoi tren gom
   bai noi bat ben trai + sidebar Doc nhieu nhat ben phai.
   Bien mau lay tu :root (muc 1) — do --wa-red, navy --wa-navy-d.
   -------------------------------------------------------------------------- */
.wa-ticker { background: var(--wa-paper); border-bottom: 1px solid var(--wa-line); }
.wa-ticker-inner { max-width: var(--wa-maxw); margin: 0 auto; padding: .55rem 1rem; display: flex; align-items: center; gap: .9rem; }
.wa-ticker-lbl { background: var(--wa-red); color: #fff; font-weight: 800; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .65rem; border-radius: 4px; white-space: nowrap; }
.wa-ticker p { margin: 0; font-size: .875rem; color: var(--wa-ink-2); }
.wa-ticker p a { color: var(--wa-ink); font-weight: 700; text-decoration: none; }
.wa-ticker p a:hover { color: var(--wa-red); }
.wa-ticker-cat { color: var(--wa-muted); }
.wa-top-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.75rem; align-items: start; }
.wa-feat { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); overflow: hidden; box-shadow: var(--wa-shadow); }
.wa-feat figure { margin: 0; position: relative; }
.wa-feat figure img { width: 100%; height: 440px; object-fit: cover; display: block; }
.wa-feat figcaption { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, rgba(10, 15, 20, .72)); color: #e8edf2; font-size: .78rem; padding: 1.6rem 1.1rem .6rem; }
/* 1.3.6 — chip co the dai hon khung o ngon ngu khac (VI ~306px trong khung
   253px): max-width: 100% khoa chip theo khung, chu xuong dong ben trong. */
.wa-feat-chip { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .4rem; background: var(--wa-red); color: #fff; font-weight: 800; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 4px; max-width: 100%; }
.wa-feat-body { padding: 1.4rem 1.6rem 1.5rem; }
.wa-feat-body h1 { font-size: clamp(1.9rem, 4.4vw, 2.75rem); line-height: 1.08; margin: .75rem 0; font-weight: 900; }
.wa-feat-body h1 a { color: var(--wa-navy-d); text-decoration: none; }
.wa-feat-body h1 a:hover { color: var(--wa-red); }
.wa-feat-dek { font-size: 1.1rem; color: var(--wa-ink-2); line-height: 1.6; margin: 0 0 1rem; }
.wa-feat-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; font-size: .82rem; color: var(--wa-muted); border-top: 1px solid var(--wa-line); padding-top: .9rem; }
.wa-feat-meta b { color: var(--wa-ink-2); }
.wa-feat-links { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.wa-top-side { display: flex; flex-direction: column; gap: 1.4rem; }
.wa-top-panel { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1.25rem 1.25rem .5rem; box-shadow: var(--wa-shadow); }
.wa-top-panel h3 { margin: 0 0 .4rem; font-size: 1.25rem; font-weight: 800; border-bottom: 2px solid var(--wa-ink); padding-bottom: .5rem; }
.wa-toplist { list-style: none; margin: .4rem 0 .6rem; padding: 0; }
.wa-toplist li { display: flex; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--wa-line); }
.wa-toplist li:last-child { border-bottom: 0; }
.wa-toplist .num { font-family: var(--wa-font-logo); font-weight: 900; font-size: 1.6rem; color: var(--wa-red); line-height: 1; min-width: 1.75rem; }
.wa-toplist a { font-weight: 700; font-size: .9rem; line-height: 1.35; text-decoration: none; }
.wa-toplist a:hover { color: var(--wa-red); }
.wa-toplist small { display: block; color: var(--wa-muted); font-weight: 500; font-size: .75rem; margin-top: .2rem; }
@media (max-width: 1020px) {
    .wa-top-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .wa-feat figure img { height: 250px; }
    .wa-feat-body { padding: 1.1rem; }
}

/* --------------------------------------------------------------------------
   17. FAQ (GEO) + LIEN QUAN — giu class v1, them kieu chu
   -------------------------------------------------------------------------- */
.wa-faq { background: var(--wa-paper); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem 1.25rem; }
.wa-faq h2 { margin-top: 0; }
.wa-faq dt { font-weight: 700; margin-top: .8rem; }
.wa-faq dd { margin: 0 0 .4rem; }
.wa-related ul { list-style: none; padding: 0; }
.wa-related li { padding: .35rem 0; border-bottom: 1px solid var(--wa-line); }
.wa-coming-soon { color: var(--wa-muted); font-style: italic; }

/* --------------------------------------------------------------------------
   18. BAN DO — chi tai khi cuon toi (xem js/waratlas.js)
   -------------------------------------------------------------------------- */
.wa-map { min-height: 340px; background: #dbe4ee; border: 1px solid var(--wa-line); border-radius: var(--wa-radius); z-index: 1; }
.wa-map-note { font-size: .85rem; color: var(--wa-muted); }

/* --------------------------------------------------------------------------
   19. TIM KIEM + FORM
   -------------------------------------------------------------------------- */
.wa-search-form { display: flex; gap: .5rem; }
.wa-search-form input[type="search"] { flex: 1; padding: .6rem .8rem; border: 1px solid var(--wa-line-d); border-radius: var(--wa-radius-s); font-size: 1rem; background: var(--wa-paper); }
.wa-search-form button { background: var(--wa-navy); color: #fff; border: 1px solid var(--wa-navy); border-radius: var(--wa-radius-s); padding: .6rem 1rem; cursor: pointer; font-weight: 600; }
.wa-search-form button:hover { background: var(--wa-navy-d); }

/* --------------------------------------------------------------------------
   20. MUC LUC BAI VIET — bai 3.000-10.000 tu bat buoc co muc luc
   -------------------------------------------------------------------------- */
.wa-toc { background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: .9rem 1.1rem; margin: 1.2rem 0; }
.wa-toc h2 { font-size: 1rem; margin: 0 0 .5rem; padding: 0; border: 0; font-family: var(--wa-font-body); }
.wa-toc ol { margin: 0 0 0 1.1rem; line-height: 1.7; font-size: .95rem; }
.wa-toc a { color: var(--wa-navy); }

/* --------------------------------------------------------------------------
   21. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1020px) {
    .wa-layout { grid-template-columns: 1fr; }
    .wa-infobox { position: static; }
    .wa-single h1 { font-size: 2rem; }
}
@media (max-width: 760px) {
    .wa-single h1 { font-size: 1.7rem; }
    .wa-single h2 { font-size: 1.35rem; }
    .wa-figure-half { grid-template-columns: 1fr; }
    .wa-front .wa-hero { padding: 1.3rem; }
    .wa-front .wa-hero-search { flex-direction: column; }
    .wa-keyfacts th { width: 38%; }
    .wa-map { min-height: 260px; }
}
@media (max-width: 520px) {
    .wa-single h1 { font-size: 1.5rem; }
    .wa-lang-vi { padding: .7rem .8rem; }
    .wa-timeline { padding-left: .8rem; }
}

/* --------------------------------------------------------------------------
   22. IN AN — chi in noi dung, bo sidebar / nut / ban do
   -------------------------------------------------------------------------- */
/* Hook theo loai bai (chua co style rieng — ke thua .wa-single; them
   style rieng cho tung loai o day khi can, khong sua template). */
.wa-single-battle, .wa-single-equipment, .wa-single-person,
.wa-single-place, .wa-single-tactic, .wa-single-topic,
.wa-single-comparison, .wa-single-post { /* hook loai bai */ }
.wa-archive { max-width: var(--wa-maxw); margin: 0 auto; padding: 1.2rem 1rem; }
.wa-archive h1 { font-family: var(--wa-font-head); color: var(--wa-navy-d); }
@media print {
    body { background: #fff; }
    .wa-infobox, .wa-lang-switch, .wa-yt-facade, .wa-front .wa-hero-search { display: none; }
    .wa-layout { display: block; }
    .wa-single a { color: var(--wa-ink); text-decoration: none; }
    .wa-lang-vi { border: 1px solid #999; background: #fff; }
}

/* --------------------------------------------------------------------------
   23. TRUNG LAP — .wa-solemn (trang Ky uc: Holocaust, Auschwitz, Nam Kinh...)
   Bo cuc trang trong, tiet che: bo vien vang noi bat, bo hieu ung noi len
   khi hover, khong dung mau do lam diem nhan trang tri. Template
   single-wa_place.php tu gan class nay. Quy tac noi dung (doi Noi dung
   chiu trach nhiem): giong van tuong thuat, khach quan, binh tinh nhu
   bach khoa; cung mot chuan su that cho moi ben; tai lieu ve toi ac
   chien tranh viet trung thuc, mang tinh giao duc, khong giat gan,
   khong anh do hoa, khong tuyen truyen chong lai mot dan toc.
   -------------------------------------------------------------------------- */
.wa-solemn .wa-keyfacts { border-top-color: var(--wa-line-d); }
.wa-solemn .wa-keyfacts h2 { color: var(--wa-ink-2); }
.wa-solemn .wa-card:hover, .wa-solemn .wa-cat-card:hover { transform: none; box-shadow: var(--wa-shadow-s); }
.wa-solemn .wa-single h2 { border-bottom-color: var(--wa-line-d); }
.wa-solemn .wa-timeline { border-left-color: var(--wa-muted); }
.wa-solemn .wa-timeline li::before { border-color: var(--wa-muted); }
.wa-solemn blockquote { border-left-color: var(--wa-muted); background: var(--wa-bg); }
/* Chu thich tuong niem duoi tieu de bai Ky uc. */
.wa-solemn-note { font-size: .9rem; color: var(--wa-muted); border-top: 1px solid var(--wa-line); padding-top: .8rem; margin-top: 1.6rem; }

/* --------------------------------------------------------------------------
   24. BO NHAN DIEN — logo lockup + hero cover
   File goc: files/brand/ (logo / cover / favicon .webp).
   Ban copy trong theme: waratlas-child/assets/brand/
     waratlas-logo.webp (1600x1600, bieu tuong khong chu)
     waratlas-cover.webp (2048x1152, 16:9, anh hero trang chu)
     waratlas-favicon.webp (1600x1600, ngoi sao la ban dong tren nen navy)
   QUY TAC: logo la bieu tuong KHONG CHU — ten site "WAR ATLAS" dat bang
   chu ben canh logo (class .wa-wordmark). Khong keo dan logo, khong doi
   mau logo, khong dat logo len nen roi (logo co nen navy san).
   -------------------------------------------------------------------------- */
/* Khoa logo: anh logo + ten site bang chu. Dung trong header
   va trong hero trang chu. */
.wa-brand-lockup { display: flex; align-items: center; gap: .8rem; }
.wa-brand-lockup img { width: 48px; height: 48px; flex: none; border-radius: 4px; }
.wa-brand-lockup .wa-wordmark { font-family: var(--wa-font-head); font-weight: 700; font-size: 1.5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--wa-navy-d); line-height: 1; white-space: nowrap; }
.wa-brand-lockup .wa-wordmark small { display: block; font-family: var(--wa-font-mono); font-weight: 400; font-size: .6rem; letter-spacing: .28em; color: var(--wa-muted); margin-top: .3rem; }
.wa-brand-lockup--on-dark .wa-wordmark { color: #fff; }
.wa-brand-lockup--on-dark .wa-wordmark small { color: var(--wa-gold-l); }
.wa-brand-lockup--hero img { width: 72px; height: 72px; }
/* 1.3.5 — wordmark co dan theo viewport (clamp) de khong tran o 320px. */
.wa-brand-lockup--hero .wa-wordmark { font-size: clamp(1.25rem, 7vw, 2rem); }
/* Hero trang chu dung anh cover lam nen, phu lop navy mo de chu doc duoc. */
.wa-hero-cover { background-size: cover; background-position: center; position: relative; }
.wa-hero-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 32, 64, .82), rgba(16, 32, 64, .62) 55%, rgba(16, 32, 64, .85)); border-radius: var(--wa-radius); }
.wa-hero-cover > * { position: relative; z-index: 1; }

/* GHI CHU HIEU NANG (muc tieu < 3 giay): CSS nay khong dung @import, khong
   dung anh nen lon, khong dung webfont chan hien thi (font-display: swap
   o functions.php). Anh dung WebP + lazy-load + srcset; Leaflet + YouTube
   chi tai khi can. Khong them thu vien JS/CSS nao khac. */

/* ==========================================================================
   25. HEADER — top bar + logo + menu + bo chon ngon ngu (Polylang)
   Top bar: nen navy dam, chu sang. Logo "WAR ATLAS" do serif (Playfair),
   KHONG doi sang Roboto. Menu chinh + bo chon ngon ngu ngang 6 ngon ngu.
   ========================================================================== */
.wa-topbar { background: var(--wa-navy-d); color: #d7dee6; font-size: .85rem; }
.wa-topbar-inner { max-width: var(--wa-maxw); margin: 0 auto; padding: .45rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.wa-top-line { color: #d7dee6; }
.wa-top-line a { color: #f1eee5; }
/* Bo chon ngon ngu Polylang — hien ngang, khong dropdown.
   pll_the_languages() xuat <ul> trong .wa-lang-switcher; muc hien tai to dam.
   (Ca .wa-lang-list — dung khi goi pll_the_languages voi class tu che.) */
.wa-lang-switcher ul, .wa-lang-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .15rem .9rem; }
/* pll_the_languages() co the tra ve <li> tran (khong co <ul> bao ngoai)
   tuy cau hinh — ep chinh .wa-lang-switcher thanh flex de cac muc
   ngon ngu LUON nam ngang, du co <ul> hay khong. */
.wa-lang-switcher { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .9rem; }
.wa-lang-switcher > li { list-style: none; margin: 0; padding: 0; }
.wa-lang-switcher li, .wa-lang-list li { margin: 0; }
.wa-lang-switcher a, .wa-lang-list a { color: #d7dee6; text-decoration: none; font-weight: 400; }
.wa-lang-switcher a:hover, .wa-lang-list a:hover { color: var(--wa-gold-l); }
.wa-lang-switcher .current-lang a, .wa-lang-list .current-lang a { color: #fff; font-weight: 700; border-bottom: 2px solid var(--wa-gold); padding-bottom: 1px; }
.wa-header { background: var(--wa-paper); border-bottom: 3px solid var(--wa-gold); }
.wa-header-inner { max-width: var(--wa-maxw); margin: 0 auto; padding: .9rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
/* Logo chu "WAR ATLAS" — serif do, giu nguyen (khong Roboto). */
.wa-brand { min-width: 0; }
.wa-site-logo { font-family: var(--wa-font-logo); font-weight: 700; font-size: 2rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wa-red); line-height: 1; text-decoration: none; white-space: nowrap; }
.wa-site-logo:hover { color: var(--wa-red-d); }
.wa-site-logo small { display: block; font-family: var(--wa-font-body); font-weight: 400; font-size: .62rem; letter-spacing: .3em; color: var(--wa-muted); margin-top: .35rem; white-space: normal; }
.wa-site-logo img { height: 44px; width: auto; vertical-align: middle; margin-right: .6rem; }
/* 1.3.6 — cac ghi de <=520px cua 1.3.5 (logo hero 48px, wordmark .10em,
   tagline .2em) phai dat SAU cac rule goc (dong ~578/582/623) thi moi thang
   cascade: cung do dac hieu, rule sau thang. Dat o khoi 520px dau file thi
   khong co tac dung (logo hero van 72px, wordmark van .18em, tagline van
   .3em o 320px). */
@media (max-width: 520px) {
    .wa-brand-lockup--hero img { width: 48px; height: 48px; }
    .wa-brand-lockup--hero .wa-wordmark { letter-spacing: .10em; }
    .wa-site-logo small { letter-spacing: .2em; }
}
/* Menu chinh. */
.wa-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; }
.wa-nav a { color: var(--wa-navy-d); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .92rem; text-decoration: none; padding: .3rem 0; }
.wa-nav a:hover { color: var(--wa-red); }
.wa-nav .current-menu-item > a, .wa-nav .current-category-ancestor > a { color: var(--wa-red); border-bottom: 2px solid var(--wa-gold); }
.wa-nav-toggle { display: none; background: var(--wa-navy); color: #fff; border: 0; border-radius: var(--wa-radius-s); padding: .55rem .9rem; font-weight: 700; cursor: pointer; }

/* ==========================================================================
   26. FOOTER — navy #102040 + dong #c09b5a (giong UX Block "War Atlas Footer")
   ========================================================================== */
.wa-footer { background: var(--wa-navy-d); color: #f5f1e8; margin-top: 3rem; }
.wa-footer-inner { max-width: var(--wa-maxw); margin: 0 auto; padding: 48px 20px 36px; }
.wa-footer-cols { display: flex; flex-wrap: wrap; gap: 36px 40px; }
.wa-footer-brand { flex: 2 1 280px; min-width: 260px; }
.wa-footer-brand h2 { color: #fff; font-size: 30px; letter-spacing: 3px; margin: 0 0 6px; font-weight: 700; }
.wa-footer-brand h2 span { color: var(--wa-gold); }
.wa-footer-tagline { color: var(--wa-gold); letter-spacing: 2px; font-size: 13px; margin: 0 0 16px; text-transform: uppercase; }
.wa-footer-brand p { font-size: 16px; line-height: 1.7; margin: 0; color: #d8d2c4; }
.wa-footer-col { flex: 1 1 160px; min-width: 160px; }
.wa-footer-col h3 { color: var(--wa-gold); font-size: 15px; letter-spacing: 2px; text-transform: uppercase; margin: 0 0 16px; }
.wa-footer-col p { margin: 0 0 10px; font-size: 16px; }
.wa-footer a { color: #f5f1e8; text-decoration: none; }
.wa-footer a:hover { color: var(--wa-gold); }
.wa-footer-news { flex: 1 1 280px; min-width: 260px; }
.wa-footer-news p { font-size: 16px; line-height: 1.6; margin: 0 0 14px; color: #d8d2c4; }
.wa-footer-news input[type="email"] { width: 100%; box-sizing: border-box; padding: 12px 14px; font-size: 16px; border: 1px solid var(--wa-gold); border-radius: 4px; background: #fff; color: var(--wa-navy-d); margin-bottom: 10px; }
.wa-footer-news button { width: 100%; box-sizing: border-box; background: var(--wa-gold); color: var(--wa-navy-d); font-weight: 700; letter-spacing: 1px; padding: 13px; border: 0; border-radius: 4px; font-size: 16px; cursor: pointer; }
.wa-footer-news button:hover { background: var(--wa-gold-l); }
.wa-footer-news .wa-news-msg { display: none; color: var(--wa-gold); margin: 10px 0 0; font-size: 15px; }
.wa-copyright { border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 18px; padding-top: 18px; font-size: .85rem; color: #b9c2cc; text-align: center; }
.wa-copyright a { color: #d7dee6; }
.wa-footer-legal { margin-top: 28px; font-size: .9rem; text-align: center; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; }
.wa-footer-legal a { color: #d7dee6; }
.wa-footer-legal a:hover { color: var(--wa-gold); }
.wa-footer-legal .wa-legal-sep { color: var(--wa-gold); }

/* ==========================================================================
   27. TRANG CHUYEN MUC — danh sach bai + A-Z + bang tra cuu
   (chuyen tu snippet "Battles category page — Model 2" sang theme;
   da sua loi thieu dau } trong media query mobile cua snippet goc)
   ========================================================================== */
.wa-archive-head { max-width: var(--wa-maxw); margin: 0 auto; padding: 1.6rem 1rem 0; }
.wa-archive-head h1 { font-size: 2.1rem; margin: 0 0 .4rem; }
.wa-archive-head .wa-archive-intro { color: var(--wa-ink-2); line-height: 1.6; max-width: 74ch; }
.wa-battles-list, .wa-az { max-width: var(--wa-maxw); margin: 0 auto; padding: 0 1rem; }
.wa-battle-item { display: flex; gap: 28px; padding: 28px 0; border-bottom: 1px solid #e8e0cc; align-items: flex-start; }
.wa-battle-thumb { flex: 0 0 220px; display: block; }
.wa-battle-thumb img { width: 100%; height: auto; display: block; border-radius: var(--wa-radius-s); }
.wa-no-thumb { display: flex; align-items: center; justify-content: center; height: 132px; background: var(--wa-navy-d); color: #fff; border-radius: var(--wa-radius-s); }
.wa-battle-body { flex: 1; min-width: 0; }
.wa-battle-title { margin: 0 0 8px; font-size: 1.6rem; line-height: 1.25; }
.wa-battle-title a { color: var(--wa-navy-d); text-decoration: none; }
.wa-battle-title a:hover { color: var(--wa-gold-d); }
.wa-battle-lead { margin: 0 0 10px; color: var(--wa-ink-2); line-height: 1.6; }
.wa-battle-meta { display: flex; gap: 16px; align-items: center; font-size: .92rem; flex-wrap: wrap; }
.wa-battle-date { color: var(--wa-muted); }
.wa-battle-cat { color: var(--wa-gold-d); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.wa-az-heading, .wa-lookup-heading { color: var(--wa-navy-d); margin: 36px 0 12px; }
.wa-az-bar { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.wa-az-letter { display: inline-block; min-width: 30px; text-align: center; padding: 6px 8px; border: 1px solid var(--wa-gold); color: var(--wa-navy-d); font-weight: 700; text-decoration: none; }
.wa-az-letter:hover { background: var(--wa-navy-d); color: #fff; }
.wa-az-letter.wa-az-off { border-color: #ddd; color: #bbb; }
.wa-az-group { color: var(--wa-navy-d); margin: 24px 0 6px; scroll-margin-top: 90px; }
.wa-az-list { margin: 0 0 8px; padding-left: 20px; }
.wa-az-list a { color: var(--wa-navy-d); }
.wa-lookup-search { width: 100%; box-sizing: border-box; max-width: 420px; padding: 10px 12px; border: 1px solid var(--wa-gold); margin: 0 0 16px; border-radius: var(--wa-radius-s); }
.wa-lookup-wrap { overflow-x: auto; }
.wa-lookup-table { width: 100%; border-collapse: collapse; background: var(--wa-paper); }
.wa-lookup-table th { background: var(--wa-navy-d); color: #fff; text-align: left; padding: 10px 12px; }
.wa-lookup-table td { padding: 10px 12px; border-bottom: 1px solid #e8e0cc; color: var(--wa-ink-2); }
.wa-lookup-table a { color: var(--wa-navy-d); }
.wa-pagination { max-width: var(--wa-maxw); margin: 2rem auto 0; padding: 0 1rem; display: flex; gap: .6rem; flex-wrap: wrap; }
.wa-pagination a, .wa-pagination span { border: 1px solid var(--wa-line-d); border-radius: var(--wa-radius-s); padding: .45rem .8rem; text-decoration: none; background: var(--wa-paper); }
.wa-pagination .current { background: var(--wa-navy-d); color: #fff; border-color: var(--wa-navy-d); }

/* ==========================================================================
   28. TRANG TIM KIEM + 404 + TRANG TINH
   ========================================================================== */
.wa-page { max-width: var(--wa-maxw); margin: 0 auto; padding: 1.6rem 1rem 2rem; }
.wa-page h1 { font-size: 2.1rem; margin: 0 0 .8rem; }
.wa-page .wa-content { max-width: var(--wa-content-w); }
.wa-search-results .wa-battle-item { align-items: flex-start; }
.wa-404 { text-align: center; padding: 3rem 1rem; }
.wa-404 h1 { font-size: 2.4rem; }

/* ==========================================================================
   29. RESPONSIVE — header / menu / the chuyen muc (mobile: the xep doc)
   ========================================================================== */
@media (max-width: 1020px) {
    .wa-header-inner { gap: .8rem; }
}
@media (max-width: 760px) {
    .wa-nav-toggle { display: inline-block; }
    .wa-nav { display: none; width: 100%; }
    .wa-nav.wa-nav-open { display: block; }
    .wa-nav ul { flex-direction: column; gap: 0; }
    .wa-nav li { border-top: 1px solid var(--wa-line); }
    .wa-nav a { display: block; padding: .6rem 0; }
    .wa-site-logo { font-size: 1.6rem; }
    .wa-topbar-inner { font-size: .8rem; }
}
@media (max-width: 640px) {
    .wa-battle-item { flex-direction: column; gap: 14px; padding: 20px 0; }
    .wa-battle-thumb { flex: 0 0 auto; width: 100%; }
    .wa-battle-thumb img { width: 100%; height: 200px; object-fit: cover; }
    .wa-no-thumb { width: 100%; height: 200px; }
    .wa-battle-body { width: 100%; }
    .wa-battle-title { font-size: 1.35rem; }
    .wa-battle-meta { flex-wrap: wrap; gap: 4px 12px; }
    .wa-footer-inner { padding: 36px 18px 28px; }
    .wa-footer-brand h2 { font-size: 26px; }
    .wa-footer-news input[type="email"] { font-size: 16px; }
}

/* ==========================================================================
   16e. TRANG CHU THEO MAU 2 (v1.3.2) — World Today moi, Pilot 30, Timeline
   nhom theo cuoc chien, Dossier 3 tran noi bat, DB loc theo chuyen muc.
   ========================================================================== */
/* Timeline: nut nam gio la link <a> (phan trang server) — giu kieu pill cu. */
.wa-timeline-years a { background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: 999px; padding: .3rem .8rem; cursor: pointer; font-family: var(--wa-font-mono); text-decoration: none; color: var(--wa-navy-d); }
.wa-timeline-years a[aria-current="true"] { background: var(--wa-navy); color: #fff; border-color: var(--wa-navy); }
.wa-timeline-group { font-family: var(--wa-font-mono); font-size: .8rem; font-weight: 700; color: var(--wa-muted); align-self: center; margin-left: .6rem; }
.wa-timeline-note { font-size: .9rem; color: var(--wa-muted); margin: .6rem 0 0; }
/* Phan trang trong trang chu: bo max-width/padding thua cua .wa-pagination. */
.wa-front .wa-pagination { max-width: none; margin: 1rem 0 0; padding: 0; }
/* Dossier: 3 tran noi bat duoi anh. */
.wa-dossier-more { margin-top: 1.1rem; border-top: 1px solid var(--wa-line); padding-top: .9rem; }
.wa-dossier-more h4 { font-size: 1rem; margin: 0 0 .6rem; }
.wa-dossier-more ul { list-style: none; margin: 0; padding: 0; }
.wa-dossier-more li { display: flex; gap: .7rem; align-items: center; margin: 0 0 .6rem; }
.wa-dossier-more li img { width: 72px; height: 54px; object-fit: cover; border-radius: var(--wa-radius-s); flex: 0 0 auto; }
.wa-dossier-more li a { color: var(--wa-navy-d); font-weight: 700; line-height: 1.3; }
/* Pilot 30 + DB: chip loc (giong nut nam timeline). */
.wa-pilot-filters, .wa-db-filters { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; }
.wa-pilot-filters button, .wa-db-filters button { background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: 999px; padding: .3rem .8rem; cursor: pointer; font-family: var(--wa-font-mono); }
.wa-pilot-filters button.on, .wa-db-filters button.on { background: var(--wa-navy); color: #fff; border-color: var(--wa-navy); }
/* World Today (v1.3.2). */
.wa-world-intro { font-size: 1.02rem; line-height: 1.7; color: var(--wa-ink-2); }
.wa-world-date { font-family: var(--wa-font-mono); font-size: .9rem; color: var(--wa-navy-d); font-weight: 700; }
.wa-world-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.wa-world-note { background: var(--wa-bg); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: .9rem 1.1rem; }
.wa-world-note h3 { font-size: 1rem; margin: 0 0 .4rem; }
.wa-world-note p { margin: 0; font-size: .92rem; line-height: 1.65; color: var(--wa-ink-2); }
.wa-world-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; margin: 0 0 1.2rem; }
.wa-world-stats .wa-stat { background: var(--wa-bg); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); padding: 1rem; text-align: center; }
.wa-world-stats .wa-stat b { display: block; font-family: var(--wa-font-head); font-size: 1.7rem; color: var(--wa-navy-d); }
.wa-world-stats .wa-stat span { font-size: .85rem; color: var(--wa-muted); }
.wa-world-map-block { margin: 0 0 1.2rem; }
.wa-world-map-block h3 { font-size: 1.15rem; margin: 0 0 .4rem; }
.wa-world-map { position: relative; min-height: 220px; background: var(--wa-bg); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; padding: 1.2rem; text-align: center; }
.wa-world-map.leaflet-loaded { display: block; padding: 0; min-height: 420px; }
.wa-world-map .leaflet-container { border-radius: var(--wa-radius); font-family: inherit; }
.wa-world-map-note { margin: 0; font-size: .85rem; color: var(--wa-muted); }
.wa-world-points { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1.2rem; }
.wa-world-points button { display: block; width: 100%; text-align: left; background: none; border: none; padding: .3rem 0; cursor: pointer; }
.wa-world-points button b { display: block; color: var(--wa-navy-d); font-size: .95rem; }
.wa-world-points button span { font-size: .85rem; color: var(--wa-muted); }
.wa-world-points button:hover b { color: var(--wa-red); }
.wa-world-map-fallback { font-size: .85rem; color: var(--wa-muted); margin: .8rem 0 0; }
.wa-today-filters { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; }
.wa-today-filters button { background: var(--wa-chip); border: 1px solid var(--wa-line); border-radius: 999px; padding: .3rem .8rem; cursor: pointer; font-family: var(--wa-font-mono); }
.wa-today-filters button.on { background: var(--wa-navy); color: #fff; border-color: var(--wa-navy); }
/* Chip loc theo muc do: mau active trung voi badge .wa-level + marker ban do. */
.wa-today-filters button[data-tf="critical"].on { background: var(--wa-red); border-color: var(--wa-red); color: #fff; }
.wa-today-filters button[data-tf="high"].on { background: #e67e22; border-color: #e67e22; color: #fff; }
.wa-today-filters button[data-tf="watch"].on { background: #f2c200; border-color: #f2c200; color: var(--wa-ink); }
.wa-today-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.2rem; }
.wa-today-card { background: var(--wa-bg); border: 1px solid var(--wa-line); border-radius: var(--wa-radius); overflow: hidden; display: flex; flex-direction: column; }
.wa-today-fig { margin: 0; }
.wa-today-fig img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.wa-today-fig figcaption { font-size: .8rem; color: var(--wa-muted); padding: .45rem .9rem 0; }
.wa-today-credit { font-size: .75rem; color: var(--wa-muted); padding: .15rem .9rem 0; margin: 0; }
.wa-today-credit a { color: var(--wa-muted); text-decoration: underline; }
.wa-today-top { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .7rem .9rem 0; }
.wa-level { display: inline-block; border-radius: 999px; padding: .15rem .7rem; font-size: .8rem; font-weight: 700; }
.wa-level-critical { background: var(--wa-red); color: #fff; }
.wa-level-high { background: #e67e22; color: #fff; }
.wa-level-watch { background: #f2c200; color: var(--wa-ink); }
.wa-today-when { font-family: var(--wa-font-mono); font-size: .8rem; color: var(--wa-muted); }
.wa-today-card h3 { font-size: 1.1rem; margin: .5rem .9rem 0; }
.wa-today-facts { display: flex; flex-wrap: wrap; gap: 1.2rem; padding: .5rem .9rem 0; font-size: .88rem; }
.wa-today-fk { font-size: .78rem; color: var(--wa-muted); text-transform: uppercase; letter-spacing: .04em; }
.wa-today-fv { font-weight: 700; color: var(--wa-navy-d); }
.wa-today-update { margin: .6rem .9rem; font-size: .92rem; line-height: 1.65; }
.wa-today-source { margin: 0 .9rem .9rem; font-size: .85rem; color: var(--wa-muted); }
.wa-today-source a { color: var(--wa-navy-d); }
/* YouTube item title. */
.wa-yt-item h3 { font-size: 1rem; margin: .6rem 0 0; line-height: 1.35; }
@media (max-width: 760px) {
    .wa-world-notes, .wa-world-points { grid-template-columns: 1fr; }
    .wa-today-grid { grid-template-columns: 1fr; }
}
