/* ==========================================================================
   HYCC — Giao diện chính (phương án đỏ mận, trang chủ PA 1)
   Theme: hycc · CSS thuần, không build, không framework.
   Giá trị màu/cỡ/khoảng cách theo SPEC-THIET-KE.md.
   ========================================================================== */

/* --- 1. TOKENS ---------------------------------------------------------- */
:root{
  --ink:#1E1A17;          --ink-soft:#3D372F;
  --muted:#6F655C;        --muted-light:#756C63;
  --primary:#8E1F2B;      --primary-dark:#6B1620;   --primary-bright:#A82533;
  --primary-tint:#FBEEEF;
  --gold:#C8922A;         --gold-light:#F0D9A8;
  /* Vàng đủ tương phản AA khi làm chữ trên nền sáng */
  --gold-ink:#946A14;
  --bg:#FBF8F4;           --surface:#FFFFFF;        --cream:#F6F1EA;
  --line:#E7DFD5;         --line-soft:#F0EAE1;
  --line-dark:#3A332D;    --line-darker:#2E2822;
  --on-dark:#CFC5B9;      --on-dark-2:#C9BFB4;      --on-dark-3:#9C9186;      --on-primary-soft:#F3D2CE;

  --sh-card:0 20px 40px -24px rgba(30,26,23,.3);
  --sh-card-lg:0 22px 44px -26px rgba(30,26,23,.32);
  --sh-mega:0 24px 40px -24px rgba(30,26,23,.25);
  --sh-hero:0 30px 60px -20px rgba(0,0,0,.55);
  --sh-cta:0 14px 30px -10px rgba(142,31,43,.7);
  --sh-cta-sm:0 6px 16px rgba(142,31,43,.24);
  --sh-float:0 16px 32px -12px rgba(142,31,43,.6);
  --sh-pill:0 10px 26px -12px rgba(30,26,23,.35);

  --wrap:1240px;  --pad:28px;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --sans:'Be Vietnam Pro','Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --t:170ms ease-out;
  --hdr-h:86px;  /* chiều cao thanh header */
  --stick:0px;   /* khoảng đẩy header xuống — admin bar WordPress, JS đo lại */
}

/* --- 2. RESET & BASE ---------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--link,var(--primary));text-decoration:none;transition:color var(--t),border-color var(--t),background var(--t)}
a:hover{color:var(--link-hover,var(--primary-dark))}
button,input,select,textarea{font-family:inherit}
/* Ô nhập không bao giờ được rộng quá khung chứa. Cần thiết vì biểu mẫu do
   WordPress tự dựng (bình luận, tìm kiếm) mang sẵn cols/size nên rộng cứng:
   textarea cols="45" ra 357px, tràn khung ở màn 360px và làm cả trang cuộn ngang. */
input,select,textarea{max-width:100%;box-sizing:border-box}
h1,h2,h3,p{margin:0;text-wrap:pretty}
::selection{background:var(--gold-light)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
.on-dark :focus-visible{outline-color:var(--gold-light)}
[hidden]{display:none !important}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- 3. TIỆN ÍCH -------------------------------------------------------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}
.eyebrow--sm{font-size:11px;letter-spacing:.14em}
.eyebrow--gold-light{color:var(--gold-light)}
.serif{font-family:var(--serif);font-weight:600}
.sec{padding-top:76px}
.sec--lg{padding-top:86px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:28px}
.sec-head__t{display:flex;flex-direction:column;gap:10px}
.h2{font-family:var(--serif);font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.h2--sm{font-size:34px}
.link-underline{font-size:14.5px;font-weight:700;color:var(--ink);padding-bottom:4px;border-bottom:2px solid var(--line);white-space:nowrap}
.link-underline:hover{color:var(--primary);border-color:var(--primary)}
.link-arrow{font-size:13.5px;font-weight:700}

/* ô ảnh chưa có — nền sọc + nhãn monospace ghi rõ cần ảnh gì */
.ph{background:repeating-linear-gradient(135deg,#E4DCD1 0 12px,#EFE9E0 12px 24px);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:#5A5149;text-align:center;padding:0 18px}
.ph--warm{background:repeating-linear-gradient(135deg,#E7DFD5 0 11px,#F1EBE2 11px 22px)}
.ph--dark{background:repeating-linear-gradient(115deg,#2A241F 0 14px,#211C18 14px 28px)}
.ph--bl{align-items:flex-end;justify-content:flex-start;padding:10px;font-size:10px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--btn-r,12px);font-family:inherit;font-weight:700;cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t);white-space:nowrap;text-align:center}
.btn--primary{padding:16px 30px;background:var(--btn-bg,var(--primary));color:var(--btn-fg,#fff);font-size:15.5px;box-shadow:var(--sh-cta)}
.btn--primary:hover{background:var(--btn-hover-bg,var(--primary-bright));color:var(--btn-hover-fg,#fff)}
.btn--outline-light{padding:16px 26px;border:1px solid rgba(246,241,234,.28);color:var(--cream);font-size:15.5px;font-weight:600;background:transparent}
.btn--outline-light:hover{background:rgba(246,241,234,.08);color:#fff}
.btn--dark{padding:15px;border-radius:var(--btn-r,11px);background:var(--btn2-bg,var(--ink));color:var(--btn2-fg,#fff);font-size:15px}
.btn--dark:hover{background:var(--btn-bg,var(--primary));color:var(--btn-fg,#fff)}
.btn--white{padding:14px;border-radius:var(--btn-r,11px);background:#fff;color:var(--primary);font-size:14.5px}
.btn--white:hover{background:var(--gold-light);color:var(--primary-dark)}
.btn--gold{padding:14px 26px;border-radius:var(--btn-r,11px);background:var(--gold-light);color:var(--ink);font-size:15px}
.btn--gold:hover{background:#fff;color:var(--ink)}
.btn--outline{padding:15px;border-radius:var(--btn-r,11px);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14.5px}
.btn--outline:hover{border-color:var(--primary);color:var(--primary)}
.btn--outline-on-primary{padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:600;background:transparent}
.btn--outline-on-primary:hover{background:rgba(255,255,255,.1);color:#fff}
.btn--block{display:flex;width:100%}

.badge-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(200,146,42,.16);border:1px solid rgba(240,217,168,.35);color:var(--gold-light);font-size:12.5px;font-weight:600;letter-spacing:.04em}
.cat-badge{padding:5px 11px;border-radius:6px;background:var(--primary);color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em}
.count-badge{flex:none;font-size:11.5px;font-weight:700;color:var(--primary);background:var(--primary-tint);padding:5px 10px;border-radius:999px}

.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t)}
.tab:hover{border-color:var(--primary);color:var(--primary)}
.tab[aria-selected="true"]{background:var(--primary);border-color:var(--primary);color:#fff}

.card{background:var(--surface);border:1px solid var(--line);border-radius:16px}
.card-hover{transition:border-color var(--t),box-shadow var(--t),background var(--t)}
.card-hover:hover{border-color:var(--primary);box-shadow:var(--sh-card)}

.field{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.field input,.field select,.field textarea{padding:13px 14px;border-radius:10px;border:1px solid var(--line);font-size:14.5px;color:var(--ink);background:var(--bg)}
.field textarea{resize:vertical;min-height:82px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.field--wide{grid-column:1/-1}
.form-note{font-size:11.5px;color:var(--muted-light);text-align:center}
.form-msg{font-size:13.5px;font-weight:600;color:var(--primary);grid-column:1/-1}
.field-err{font-size:12px;font-weight:600;color:var(--primary)}
.field.is-err input{border-color:var(--primary)}

/* --- 5. UTILITY BAR ----------------------------------------------------- */
.utility{background:var(--top-bg,var(--ink));color:var(--top-fg,var(--on-dark-2));font-size:12.5px}
.utility__in{height:38px;display:flex;align-items:center;gap:22px}
.utility a{color:var(--top-fg,var(--on-dark-2))}
.utility a:hover{color:var(--top-hover,var(--gold-light))}
.utility__sep{width:1px;height:14px;background:var(--line-dark);flex:none}
.utility__hot{color:var(--top-hover,var(--gold-light));font-weight:600}
.utility__right{margin-left:auto;display:flex;align-items:center;gap:16px}
.utility__sis{color:var(--cream);font-weight:600;display:flex;align-items:center;gap:6px}
.utility__soc{display:flex;gap:8px;color:var(--on-dark-3)}

/* --- 6. HEADER + MEGA-MENU ---------------------------------------------- */
.hdr{position:sticky;top:var(--stick);z-index:600;background:var(--hdr-bg,var(--surface));border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(30,26,23,.04)}
.hdr__in{height:var(--hdr-h);display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand img{width:52px;height:52px;object-fit:contain;flex:none}
.brand__t{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand__vi{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--primary);overflow-wrap:anywhere}
.brand__en{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-light);font-weight:600}
.brand__short{display:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:1px;font-size:14.5px;font-weight:600}
.nav__item{padding:10px 9px;border-radius:8px;white-space:nowrap;color:var(--hdr-fg,var(--ink));background:transparent;border:0;font-size:14.5px;font-weight:600;cursor:pointer;transition:background var(--t),color var(--t)}
.nav__item:hover,.nav__item[aria-expanded="true"]{background:var(--cream);color:var(--hdr-hover,var(--primary))}
.nav__search{margin-left:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;display:flex;align-items:center;white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:color var(--t),border-color var(--t)}
.nav__search:hover{border-color:var(--primary);color:var(--primary)}
.nav__cta{margin-left:6px;padding:12px 18px;border-radius:var(--btn-r,10px);white-space:nowrap;background:var(--btn-bg,var(--primary));color:var(--btn-fg,#fff);font-weight:700;font-size:14px;box-shadow:var(--sh-cta-sm)}
.nav__cta:hover{background:var(--btn-hover-bg,var(--primary-dark));color:var(--btn-hover-fg,#fff)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:11px;border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);font-size:18px;cursor:pointer}

/* Mega-menu nổi trên nội dung — không đẩy trang xuống.
   .hdr là position:sticky nên đã là mốc định vị cho panel absolute bên trong. */
.mega{position:absolute;top:100%;left:0;right:0;z-index:5;border-top:1px solid var(--line);background:var(--mega-bg,var(--surface));box-shadow:var(--sh-mega);max-height:calc(100vh - var(--stick) - var(--hdr-h) - 16px);overflow-y:auto;overscroll-behavior:contain}
.mega__in{display:grid;gap:34px;padding-top:30px;padding-bottom:34px}
.mega__col{display:flex;flex-direction:column;gap:10px}
.mega__col a{font-size:14px;color:var(--ink-soft)}
.mega__col a:hover{color:var(--primary)}
.mega__ttl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}
/* Số cột do số nhóm trong menu quyết định (tối đa 4); cột thẻ nổi bật cộng thêm */
.mega--c1 .mega__in{grid-template-columns:minmax(0,1fr)}
.mega--c2 .mega__in{grid-template-columns:repeat(2,minmax(0,1fr))}
.mega--c3 .mega__in{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega--c4 .mega__in{grid-template-columns:repeat(4,minmax(0,1fr))}
.mega--c1.has-card .mega__in{grid-template-columns:minmax(0,1fr) 320px}
.mega--c2.has-card .mega__in{grid-template-columns:repeat(2,minmax(0,1fr)) 320px}
.mega--c3.has-card .mega__in{grid-template-columns:repeat(3,minmax(0,1fr)) 300px}
.mega--c4.has-card .mega__in{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 26px}
.mega--flat .mega__in{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.mega__sub{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.mega__sub .mega__ttl{grid-column:1/-1}
.mega__video{border-radius:14px;overflow:hidden;background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color var(--t)}
.mega__video:hover{border-color:var(--primary)}
.mega__video .ph{height:120px;font-size:10.5px;padding:0 12px}
.mega__video-b{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.mega__video-t{font-size:14px;font-weight:700;color:var(--ink)}
.mega__video-s{font-size:12.5px;color:var(--muted)}
.mega__cta{border-radius:14px;padding:22px;background:var(--primary);color:#fff;display:flex;flex-direction:column;gap:8px;transition:background var(--t)}
.mega__cta:hover{background:var(--primary-dark);color:#fff}
.mega__cta-t{font-size:19px;font-weight:800;line-height:1.25}
.mega__cta-s{font-size:13px;color:var(--on-primary-soft)}
.mega__card{padding:18px;border-radius:12px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:5px;transition:border-color var(--t)}
.mega__card:hover{border-color:var(--primary)}
.mega__card-t{font-size:14.5px;font-weight:700;color:var(--ink)}
.mega__card-s{font-size:12.5px;color:var(--muted)}

/* Lớp phủ mờ phía sau mega-menu / ngăn kéo, để thấy rõ menu đang nổi lên trên */
.veil{position:fixed;inset:0;z-index:590;background:rgba(30,26,23,.30);opacity:0;pointer-events:none;transition:opacity var(--t)}
.veil.is-on{opacity:1;pointer-events:auto}
body.is-locked{overflow:hidden}

/* ngăn kéo menu cho màn hình hẹp */
.drawer{position:absolute;top:100%;left:0;right:0;z-index:5;display:none;border-top:1px solid var(--line);background:var(--surface);max-height:min(70vh,560px);overflow:auto;overscroll-behavior:contain;box-shadow:var(--sh-mega)}
.drawer.is-open{display:block}
.drawer__grp{border-bottom:1px solid var(--line-soft)}
.drawer__btn{width:100%;min-height:52px;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:transparent;border:0;font-size:15.5px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.drawer__btn span:last-child{color:var(--primary);font-size:18px}
.drawer__panel{padding:0 28px 18px;display:flex;flex-direction:column;gap:14px}
.drawer__panel .mega__col a{min-height:44px;display:flex;align-items:center}
.drawer__foot{padding:18px 28px 24px;display:flex;flex-direction:column;gap:10px}

/* --- 7. OVERLAY TÌM KIẾM ------------------------------------------------ */
.searchov{position:fixed;inset:0;z-index:950;background:rgba(30,26,23,.55);display:flex;align-items:flex-start;justify-content:center;padding:14vh 20px 20px}
.searchov__box{width:min(640px,100%);background:#fff;border-radius:18px;padding:26px;box-shadow:var(--sh-hero);display:flex;flex-direction:column;gap:14px}
.searchov__row{display:flex;gap:10px}
.searchov__row input{flex:1;padding:15px 16px;border-radius:11px;border:1px solid var(--line);font-size:15.5px;background:var(--bg)}
.searchov__hint{font-size:12.5px;color:var(--muted-light)}
.searchov__quick{display:flex;gap:8px;flex-wrap:wrap}
.searchov__quick a{padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--ink-soft);background:var(--bg)}
.searchov__quick a:hover{border-color:var(--primary);color:var(--primary)}
.searchov__go{padding:15px 22px;font-size:14.5px}

/* --- 9. TRANG CHỦ · PHƯƠNG ÁN 1 ----------------------------------------- */
.hero{position:relative;background:var(--ink);overflow:hidden}
.hero__bg{position:absolute;inset:0;background:repeating-linear-gradient(115deg,#2A241F 0 14px,#211C18 14px 28px)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,26,23,.96) 0%,rgba(30,26,23,.72) 52%,rgba(30,26,23,.30) 100%)}
.hero__note{position:absolute;right:60px;bottom:26px;font-family:var(--mono);font-size:11px;color:var(--on-dark-3)}
.hero__in{position:relative;padding-top:96px;padding-bottom:120px;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero__txt{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.hero__h1{font-family:var(--serif);font-size:60px;line-height:1.08;font-weight:600;color:#fff;letter-spacing:-.01em}
.hero__h1 em{font-style:normal;color:var(--gold-light)}
.hero__p{max-width:520px;font-size:17px;line-height:1.65;color:var(--on-dark)}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap;padding-top:4px}
.quickform{background:#fff;border-radius:18px;padding:26px;box-shadow:var(--sh-hero);display:flex;flex-direction:column;gap:16px}
.quickform__hd{display:flex;flex-direction:column;gap:4px}
.quickform__t{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink)}

.stats{background:var(--primary)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:30px 22px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.stats--left .stat{align-items:flex-start;text-align:left}
.stat:last-child{border-right:0}
.stat__i{font-size:var(--stat-ico-size,28px);line-height:1;display:block;flex:none;margin:0 0 4px;color:var(--stat-ico,var(--gold-light))}
.stat__v{font-family:var(--serif);font-size:38px;font-weight:600;color:var(--stat-num,#fff);line-height:1}
.stat__l{font-size:13.5px;color:var(--stat-lb,var(--on-primary-soft))}

.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fieldcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.fieldcard .ph{height:158px}
.fieldcard__b{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.fieldcard__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fieldcard__n{font-size:19px;font-weight:700;color:var(--ink);line-height:1.3}
.fieldcard__list{display:flex;flex-direction:column;gap:6px}
.fieldcard__li{font-size:13.5px;color:var(--muted);display:flex;gap:9px}
.fieldcard__li i{font-style:normal;color:var(--gold-ink)}
.fieldcard__more{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:700;color:var(--primary)}

.news2{display:grid;grid-template-columns:1.08fr .92fr;gap:28px}
.lead{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.lead:hover{color:var(--ink)}
.lead .ph{height:300px}
.lead__b{padding:26px 28px 30px;display:flex;flex-direction:column;gap:12px}
.lead__meta{display:flex;align-items:center;gap:12px;font-size:12px}
.lead__meta span:last-child{color:var(--muted-light)}
.lead__t{font-family:var(--serif);font-size:27px;line-height:1.3;font-weight:600;color:var(--ink)}
.lead__e{font-size:15px;line-height:1.65;color:var(--muted)}
.newsrows{display:flex;flex-direction:column;gap:2px}
.newsrow{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:18px 6px;border-bottom:1px solid var(--line);align-items:center;color:var(--ink);border-radius:8px;transition:background var(--t)}
.newsrow:hover{background:#fff;color:var(--ink)}
.newsrow .ph{height:72px;border-radius:10px}
.newsrow__b{display:flex;flex-direction:column;gap:6px}
.newsrow__m{display:flex;gap:10px;font-size:11.5px;color:var(--muted-light)}
.newsrow__m b{color:var(--primary);font-weight:700}
.newsrow__t{font-size:15.5px;font-weight:600;line-height:1.4;color:var(--ink)}
.empty{padding:26px;border:1px dashed var(--line);border-radius:14px;font-size:14.5px;color:var(--muted);background:#fff}
.empty--wide{grid-column:1/-1}
.newsrows__all{margin-top:18px}

.week{display:grid;grid-template-columns:1.25fr .75fr;gap:28px}
.sched{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px 22px}
.sched__hd{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.sched__hd-t{display:flex;flex-direction:column;gap:5px}
.sched__w{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}
.sched__act{display:flex;align-items:center;gap:14px;flex-shrink:0}
.sched__nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.sched__arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:17px;line-height:1;color:var(--ink-soft);background:#fff;transition:background var(--t),border-color var(--t),color var(--t)}
.sched__arrow:hover,.sched__arrow:focus-visible{background:var(--primary);border-color:var(--primary);color:#fff}
.sched__d{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line-soft)}
.sched__day{font-size:14.5px;font-weight:700;color:var(--ink)}
.sched__col{display:flex;flex-direction:column}
.sched__date{font-size:12.5px;color:var(--muted-light)}
.sched__items{display:flex;flex-direction:column;gap:8px}
.sched__it{font-size:14px;line-height:1.55;color:var(--ink-soft)}
.sched__it b{font-weight:700;color:var(--primary)}
.events{display:flex;flex-direction:column;gap:14px}
.events__t{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}
.event{display:grid;grid-template-columns:62px 1fr;gap:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;align-items:center;color:var(--ink)}
.event:hover{color:var(--ink)}
.event__d{display:flex;flex-direction:column;align-items:center;padding:9px 0;border-radius:10px;background:var(--primary-tint)}
.event__mon{font-size:10.5px;font-weight:700;color:var(--primary);letter-spacing:.08em}
.event__day{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--primary);line-height:1.1}
.event__t{font-size:14.5px;font-weight:600;line-height:1.4;color:var(--ink)}
.event__b{display:flex;flex-direction:column;gap:4px}
.event__p{font-size:12.5px;color:var(--muted-light)}

.video{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.video__box{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.video__note{position:absolute;bottom:16px;left:20px;font-family:var(--mono);font-size:11px;color:#F0EBE4;background:rgba(30,26,23,.78);padding:5px 10px;border-radius:7px}
.video__play{position:relative;z-index:1;width:76px;height:76px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--primary);box-shadow:0 16px 34px -12px rgba(0,0,0,.6);transition:transform var(--t),background var(--t),color var(--t)}
a.video__box:hover .video__play,a.video__box:focus-visible .video__play{transform:scale(1.08);background:var(--primary);color:#fff}
.video__box--on{background:#000;padding:0}
.video__box>img{position:absolute;inset:0}
.video__frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.video__txt{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.video__h{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--ink);line-height:1.2}
.video__p{font-size:16px;line-height:1.7;color:var(--muted)}

.partners{display:flex;flex-direction:column;gap:22px}
.partners .eyebrow{text-align:center}
.partners__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.partner{height:76px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:var(--muted-light);text-align:center;padding:0 8px}

/* Dải đăng ký: nền có thể là màu, ảnh, hoặc ảnh phủ màu.
   Các biến --band-* do PHP sinh ra từ trang cài đặt (xem inc/colors.php). */
.ctaband{position:relative;margin-top:80px;isolation:isolate;
  --band-auto:#fff;--band-auto2:var(--on-dark);--band-auto3:var(--gold-light);
  background-color:var(--band-bg,var(--ink));
  background-image:var(--band-img,none);
  background-size:cover;
  background-position:var(--band-pos,center);
  background-repeat:no-repeat;
  background-attachment:var(--band-attach,scroll)}
/* Nền sáng thì chữ tự đổi sang màu tối */
.ctaband.is-light{--band-auto:var(--ink);--band-auto2:var(--muted);--band-auto3:var(--gold-ink)}
.ctaband.has-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--band-bg,var(--ink));opacity:var(--band-ovl,.7)}
.ctaband__in{position:relative;padding-top:70px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ctaband__txt{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ctaband__h{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--band-fg,var(--band-auto));line-height:1.15}
.ctaband__p{font-size:16px;line-height:1.7;color:var(--band-fg2,var(--band-auto2));max-width:460px}
.ctaband__hot{padding-top:6px;font-size:14.5px;color:var(--band-auto3);font-weight:600}
.ctaband .eyebrow--gold-light{color:var(--band-auto3)}
.ctaform{background:var(--surface);border-radius:18px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ctaband.has-bg .ctaform{box-shadow:var(--sh-card-lg)}

/* --- 11. TRANG TUYỂN SINH ----------------------------------------------- */
.pagehead{background:var(--ink);color:#fff}
/* Dải chỉ chứa đường dẫn (trang bài viết) thì không cần cao như dải có tiêu đề */
.pagehead--crumb .pagehead__in{padding-top:20px;padding-bottom:20px}
.pagehead__in{padding-top:44px;padding-bottom:52px;display:flex;flex-direction:column;gap:14px}
.crumb{font-size:12.5px;color:var(--muted)}
.crumb a{color:var(--muted)}
.pagehead .crumb,.pagehead .crumb a{color:var(--on-dark-3)}
.crumb a:hover{color:var(--gold-light)}
.pagehead__h{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1.14;max-width:760px}
.pagehead__s{font-size:15.5px;color:var(--on-dark)}
.layout{padding-top:36px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start}
.layout__main{display:flex;flex-direction:column;gap:34px}
.side{position:sticky;top:calc(var(--stick) + var(--hdr-h) + 24px);display:flex;flex-direction:column;gap:14px}
.methods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.method{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:8px}
.method__t{font-size:17px;font-weight:700;color:var(--ink);line-height:1.3}
.method__x{font-size:13.5px;line-height:1.6;color:var(--muted)}
.quota{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.quota__hd{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.quota__t{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}
.quota__note{font-size:12.5px;color:var(--muted-light)}
.quota__row{display:grid;grid-template-columns:2.2fr 1fr 1fr .9fr;padding:16px 24px;border-top:1px solid var(--line-soft);font-size:14.5px;align-items:center;gap:10px}
.quota__row--h{padding:14px 24px;background:var(--bg);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-light);font-weight:700;border-top:0}
.quota__row b{font-weight:600;color:var(--ink)}
.quota__row span{color:var(--muted)}
.quota__q{text-align:right;font-weight:700;color:var(--primary)}
.faqs{display:flex;flex-direction:column;gap:12px}
.faqs__t{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}
.faq{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.faq__b{width:100%;padding:18px 20px;border:0;background:transparent;font-size:15.5px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px}
.faq__b span{color:var(--primary);font-size:18px}
.faq__a{padding:0 20px 20px;font-size:14.5px;line-height:1.7;color:var(--muted)}
.sidecta{background:var(--primary);border-radius:16px;padding:24px;color:#fff;display:flex;flex-direction:column;gap:12px}
.sidecta__t{font-family:var(--serif);font-size:22px;font-weight:600}
.sidecta__t--sm{font-size:20px}
.sidecta__x{font-size:13.5px;color:var(--on-primary-soft);line-height:1.6}
.sidebox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px}
.sidebox__t{font-size:15.5px;font-weight:700;color:var(--ink)}
.sidebox__li{font-size:13.5px;line-height:1.55;color:var(--muted);display:flex;gap:9px}
.sidebox__li i{font-style:normal;color:var(--gold-ink)}
.sidebox--tint{background:var(--bg);gap:6px}
.sidebox__phone{font-size:15px;font-weight:700;color:var(--ink)}
.sidebox__addr{font-size:13.5px;color:var(--muted)}

/* --- 11a. ĐẾM NGƯỢC HẠN NHẬN HỒ SƠ -------------------------------------- */
.cdown{background:var(--cd-bg,var(--primary));color:var(--cd-num,#fff)}
.cdown__in{padding-top:20px;padding-bottom:20px;display:flex;align-items:center;justify-content:center;gap:12px 26px;flex-wrap:wrap;text-align:center}
.cdown__t{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--cd-title,var(--gold-light))}
.cdown__clock{display:flex;gap:10px}
.cdown__u{min-width:66px;padding:9px 10px 7px;border-radius:11px;background:var(--cd-box,rgba(255,255,255,.13));display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.cdown__n{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--cd-num,#fff)}
.cdown__l{font-size:11px;color:var(--cd-label,var(--on-primary-soft))}
.cdown__note{font-size:13.5px;color:var(--cd-label,var(--on-primary-soft))}
.cdown__done{padding-top:18px;padding-bottom:18px;font-size:14.5px;color:var(--cd-num,#fff);text-align:center}
.cdown--done .cdown__in{padding-top:0;padding-bottom:0}
/* Bản gọn nằm ngay dưới hai nút của khối mở đầu trang chủ. */
.cdown--inline{background:none}
.cdown--inline .cdown__in{padding:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;text-align:left;max-width:none}
.cdown--inline .cdown__clock{gap:8px;flex-wrap:wrap}
.cdown--inline .cdown__u{min-width:58px;padding:7px 9px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.15)}
.cdown--inline .cdown__n{font-size:22px}
.cdown--inline .cdown__l,.cdown--inline .cdown__note{color:var(--cd-label,rgba(255,255,255,.74))}
.cdown--inline .cdown__note{font-size:13px}
.cdown--inline .cdown__done{padding:0;font-size:14px;text-align:left}

/* --- 11b. TRANG NGÀNH ĐÀO TẠO ------------------------------------------ */
.majgroup{display:flex;flex-direction:column;gap:16px}
.majgroup__hd{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.majgroup__t{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);line-height:1.25}
.majgroup__d{font-size:14.5px;line-height:1.65;color:var(--muted);margin:-6px 0 0}
.majors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.major{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.major__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.major__n{font-size:18px;font-weight:700;color:var(--ink);line-height:1.35;min-width:0;overflow-wrap:anywhere}
.major__code{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--primary);background:var(--primary-tint);padding:5px 10px;border-radius:999px}
.major__x{font-size:13.5px;line-height:1.65;color:var(--muted)}
.major__meta{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:4px;border-top:1px solid var(--line-soft)}
.major__meta div{display:flex;flex-direction:column;gap:3px;min-width:0}
.major__meta dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-light);font-weight:700}
.major__meta dd{margin:0;font-size:14px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.major__more{margin-top:auto;align-self:flex-start;font-size:13.5px}
.majors__cta{margin:0}

/* --- 11c. TRANG ĐĂNG KÝ XÉT TUYỂN -------------------------------------- */
.signup{display:flex;flex-direction:column;gap:16px}
.signup__t{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink)}
.signup__f{border:1px solid var(--line);padding:26px}
.signup__note{margin:0;font-size:12.5px;line-height:1.6;color:var(--muted)}

/* --- 12. TRANG TIN TỨC -------------------------------------------------- */
.newshead{background:#fff;border-bottom:1px solid var(--line)}
.newshead__in{padding-top:36px;padding-bottom:30px;display:flex;flex-direction:column;gap:16px}
.newshead__h{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--ink)}
.layout--news{padding-top:32px}
.newslist{display:flex;flex-direction:column;gap:16px}
/* Ảnh bài nằm bên PHẢI và nhỏ (96x72), không bên trái và không to.
   Trường chỉ có 51 ảnh khác nhau cho 215 bài nên khoảng 3/4 hàng không có ảnh thật.
   Ảnh đặt bên trái đẩy tiêu đề của thiểu số hàng có ảnh thụt vào, làm mép trái cột
   tiêu đề răng cưa và mắt mất chỗ bám khi quét danh sách. Đặt bên phải thì mọi tiêu
   đề khởi đầu cùng một toạ độ x, kể cả khi hàng không có ảnh. */
.nrow{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:22px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink)}
.nrow:hover{color:var(--ink)}
.nrow .ph{order:2;height:72px;align-self:start;border-radius:10px}
.nrow__b{display:flex;flex-direction:column;gap:9px;padding:6px 0}
.nrow__m{display:flex;gap:12px;font-size:11.5px}
.nrow__m b{color:var(--primary);font-weight:700}
.nrow__m span{color:var(--muted-light)}
.nrow__t{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.35;color:var(--ink)}
.nrow__e{font-size:14.5px;line-height:1.65;color:var(--muted)}
.pager{display:flex;gap:8px;justify-content:center;padding-top:14px}
.pager a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--muted)}
.pager a:hover{border-color:var(--primary);color:var(--primary)}
.pager a[aria-current="page"]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.catlist{display:flex;flex-direction:column}
.catlist a{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-soft);padding:9px 0;border-top:1px solid var(--line-soft)}
.catlist a:hover{color:var(--primary)}
.catlist a span{color:var(--muted-light)}

/* --- 13. CHI TIẾT BÀI VIẾT ---------------------------------------------- */
.layout--post{grid-template-columns:1fr 320px;gap:44px}
.post{display:flex;flex-direction:column;gap:22px}
.post__meta{display:flex;gap:12px;align-items:center;font-size:12px;flex-wrap:wrap}
.post__meta span:last-child{color:var(--muted-light)}
.post__h1{font-family:var(--serif);font-size:42px;line-height:1.2;font-weight:600;color:var(--ink)}
.post__sapo{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.7;color:var(--ink-soft)}
.post__cover{height:400px;border-radius:16px;font-size:11.5px;padding:0 24px}
.post__body{display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.8;color:var(--ink-soft)}
.post__body h2{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);margin-top:8px}
.post__quote{padding:22px 26px;background:#fff;border-left:3px solid var(--primary);border-radius:0 12px 12px 0;font-family:var(--serif);font-size:19px;line-height:1.65;color:var(--ink)}
.tags{display:flex;gap:10px;flex-wrap:wrap;padding-top:6px}
.tags a{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--ink-soft)}
.tags a:hover{border-color:var(--primary);color:var(--primary)}
.related{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid var(--line)}
.related__t{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.rcard:hover{color:var(--ink)}
.rcard .ph{height:120px}
.rcard__b{padding:16px;display:flex;flex-direction:column;gap:6px}
.rcard__d{font-size:11.5px;color:var(--muted-light)}
.rcard__t{font-size:14.5px;font-weight:600;line-height:1.4}
.toc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}
.toc a{font-size:13.5px;color:var(--ink-soft);padding:6px 0;border-top:1px solid var(--line-soft)}
.toc a:hover{color:var(--primary)}
.files{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.files__t{font-size:15px;font-weight:700;color:var(--ink)}
.files a{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--ink-soft);padding:12px;border-radius:10px;background:var(--bg);min-height:44px}
.files a:hover{color:var(--primary);background:var(--primary-tint)}

/* --- 14. FOOTER + NÚT NỔI ----------------------------------------------- */
/* Chân trang: nền có thể là màu, ảnh, hoặc ảnh phủ màu.
   Các biến --ftr-* do PHP sinh ra từ trang cài đặt (xem inc/colors.php). */
.ftr{position:relative;margin-top:80px;isolation:isolate;
  --ftr-auto:var(--on-dark-2);--ftr-auto-h:var(--gold-light);--ftr-auto-s:#fff;--ftr-auto-l:var(--line-dark);--ftr-auto-m:var(--on-dark-3);
  background-color:var(--ftr-bg,var(--ink));
  background-image:var(--ftr-img,none);
  background-size:cover;
  background-position:var(--ftr-pos,center);
  background-repeat:no-repeat;
  background-attachment:var(--ftr-attach,scroll);
  color:var(--ftr-fg,var(--ftr-auto))}
/* Nền sáng thì chữ tự đổi sang màu tối */
.ftr.is-light{--ftr-auto:var(--ink-soft);--ftr-auto-h:var(--gold-ink);--ftr-auto-s:var(--ink);--ftr-auto-l:rgba(30,26,23,.22);--ftr-auto-m:var(--muted)}
.ftr.has-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ftr-bg,var(--ink));opacity:var(--ftr-ovl,.8)}
/* Các cột chân trang luôn rộng bằng nhau; số cột do PHP truyền qua --ftr-cols */
.ftr__in{position:relative;padding-top:56px;padding-bottom:30px;display:grid;grid-template-columns:repeat(var(--ftr-cols,4),minmax(0,1fr));gap:40px}
.ftr__col{display:flex;flex-direction:column;gap:10px;min-width:0}
.ftr__col a{font-size:14px;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__col a:hover{color:var(--ftr-head,var(--ftr-auto-h))}
.ftr .eyebrow--gold-light{color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__brand{display:flex;flex-direction:column;gap:14px;min-width:0}
.ftr__blk-b{font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.ftr__blk-b > :first-child{margin-top:0}
.ftr__blk-b > :last-child{margin-bottom:0}
.ftr__blk-b p{margin:0 0 10px}
.ftr__blk-b ul,.ftr__blk-b ol{margin:0 0 10px;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.ftr__blk-b li{list-style:disc}
.ftr__blk-b ol li{list-style:decimal}
.ftr__blk-b a{color:var(--ftr-fg,var(--ftr-auto));text-decoration:underline;text-underline-offset:3px}
.ftr__blk-b a:hover{color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__blk-b strong,.ftr__blk-b b{color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__blk-b h2,.ftr__blk-b h3,.ftr__blk-b h4{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ftr-strong,var(--ftr-auto-s));margin:0 0 8px}
.ftr__blk-b img,.ftr__blk-b iframe{max-width:100%;height:auto;border:0;border-radius:10px;display:block}
.ftr__blk-b table{width:100%;border-collapse:collapse}
.ftr__blk-b td,.ftr__blk-b th{padding:6px 8px;border-bottom:1px solid var(--ftr-line,var(--ftr-auto-l));text-align:left}
.ftr__logo{display:flex;align-items:center;gap:12px}
.ftr__logo img{width:48px;height:48px;object-fit:contain}
.ftr__vi{display:block;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__en{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ftr-auto-m);font-weight:600}
.ftr__addr{font-size:14px;line-height:1.75}
.ftr__soc{display:flex;gap:10px;padding-top:4px}
.ftr__soc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--ftr-line,var(--ftr-auto-l));display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__soc a:hover{border-color:var(--ftr-head,var(--ftr-auto-h));color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__bar{position:relative;border-top:1px solid var(--ftr-line,var(--line-darker));background:var(--ftr-bar-bg,transparent)}
.ftr__bar-in{padding:20px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--ftr-auto-m);max-width:var(--wrap);margin:0 auto}
/* Liên kết ở dải bản quyền: nền tối nên phải lấy màu của chân trang, không để rơi
   về màu liên kết chung (đỏ mận trên nền gần đen chỉ đạt 1,96:1). Gạch chân vì
   chúng nằm lẫn trong dòng chữ bản quyền. */
.ftr__bar-in a{color:var(--ftr-fg,var(--ftr-auto));text-decoration:underline;text-underline-offset:3px}
.ftr__bar-in a:hover,.ftr__bar-in a:focus-visible{color:var(--ftr-head,var(--ftr-auto-h))}

.float{position:fixed;right:20px;bottom:24px;z-index:800;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.float a{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);box-shadow:var(--sh-pill);min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
/* Biểu tượng đứng trước chữ, không co lại khi chữ dài. */
.float__i{font-size:18px;line-height:1;width:1.25em;height:auto;flex:0 0 auto;display:block;text-align:center}
img.float__i{width:18px;height:18px;object-fit:contain;border-radius:4px}
.float a.float__cta .float__i{font-size:20px}
.float a.float__cta img.float__i{width:20px;height:20px}
.float a:hover{border-color:var(--primary);color:var(--primary)}
/* Nút bỏ chữ, chỉ để biểu tượng: hình tròn đều cạnh, vẫn đủ 44px cho ngón tay. */
.float a.float--ico{width:48px;height:48px;min-height:48px;padding:0;gap:0}
.float a.float--ico .float__i{font-size:20px;width:auto}
.float a.float--ico img.float__i{width:22px;height:22px}
.float a.float__cta.float--ico{width:56px;height:56px;min-height:56px;padding:0}
.float a.float__cta.float--ico .float__i{font-size:24px}
.float a.float__cta.float--ico img.float__i{width:26px;height:26px}
/* Không dùng !important để màu riêng của từng nút (style trong thẻ) vẫn thắng. */
.float a.float__cta{padding:15px 22px;background:var(--btn-bg,var(--primary));border-color:var(--btn-bg,var(--primary));color:var(--btn-fg,#fff);font-weight:700;font-size:14.5px;box-shadow:var(--sh-float)}
.float a.float__cta:hover{background:var(--btn-hover-bg,var(--primary-dark));border-color:var(--btn-hover-bg,var(--primary-dark));color:var(--btn-hover-fg,#fff)}
/* Nút đã đặt màu riêng thì giữ nguyên màu đó, rê chuột chỉ đậm lên một chút. */
.float a[style]:hover{filter:brightness(.93)}

/* --- 16. ĐÁP ỨNG -------------------------------------------------------- */
.pt-34{padding-top:34px}
.stack10{display:flex;flex-direction:column;gap:10px}
/* màn hình mobile không dùng bộ khung desktop */
@media (max-width:1279px){
  .hero__in{grid-template-columns:minmax(0,1fr);gap:38px;padding-top:64px;padding-bottom:72px}
  .hero__h1{font-size:46px}
  .hero__note{display:none}
  .fields,.methods,.related__grid{grid-template-columns:repeat(2,1fr)}
  .news2,.week,.video,.ctaband__in{grid-template-columns:minmax(0,1fr)}
  .layout,.layout--post{grid-template-columns:minmax(0,1fr)}
  .side{position:static}
  .partners__grid{grid-template-columns:repeat(3,1fr)}
  .lead .ph{height:240px}
  .h2{font-size:34px}
  .pagehead__h{font-size:36px}
  .post__h1{font-size:34px}
}
@media (max-width:1199px){
  .nav{display:none}
  .burger{display:flex;align-items:center;justify-content:center}
}
/* Từ 1200px menu ngang chiếm chỗ, nên tên trường ẩn đi trừ khi được bật trong cài đặt */
@media (min-width:1200px){
  .brand--compact .brand__t{display:none}
}
/* Màn hình hẹp: thu nhỏ để tên trường không ngắt dòng gãy chữ */
@media (max-width:520px){
  .brand{gap:10px}
  .brand img{width:42px;height:42px}
  .brand__vi{font-size:15px}
  .brand__en{display:none}
  .brand__full{display:none}
  .brand__short{display:inline}
}
@media (max-width:360px){
  .brand__vi{font-size:13.5px}
}
@media (max-width:1023px){
  .utility__right{display:none}
  .fields,.methods,.related__grid,.newslist{grid-template-columns:minmax(0,1fr)}
  .stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .ctaform{grid-template-columns:minmax(0,1fr)}
  .quota__row{grid-template-columns:1fr auto;gap:4px 12px}
  .quota__row--h{display:none}
  .quota__row span{font-size:13px}
  .quota__row b{grid-column:1;grid-row:1}
  .quota__row span:not(.quota__q){grid-column:1}
  .quota__q{grid-column:2;grid-row:1/span 3;align-self:center}
  .partners__grid{grid-template-columns:repeat(2,1fr)}
  .sched__d{grid-template-columns:1fr;gap:8px}
  .float a{min-height:46px}
  .hero__h1{font-size:38px}
  .ftr__in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .majors{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  :root{--pad:18px}
  /* Ở 390px ảnh cướp phần lớn bề rộng dòng chữ, tiêu đề tiếng Việt vỡ vụn còn vài
     chữ mỗi dòng. Trên màn hẹp tiêu đề quan trọng hơn ảnh minh hoạ nên ẩn hẳn ảnh.
     Quy tắc này phải nằm SAU quy tắc gốc: @media không tự cộng độ đặc hiệu. */
  .nrow{grid-template-columns:minmax(0,1fr)}
  .nrow .ph{display:none}
  .hero__h1{font-size:32px}
  .h2,.newshead__h{font-size:27px}
  .post__h1{font-size:28px}
  .post__cover{height:220px}
  .ftr__in{grid-template-columns:minmax(0,1fr)}
  .float{right:12px;bottom:12px}
  .sec,.sec--lg{padding-top:52px}
  /* nút dài được phép ngắt dòng thay vì làm tràn khung */
  .btn{white-space:normal}
  .utility__in{gap:14px}
  .majgroup__t,.signup__t{font-size:23px}
  .major{padding:18px}
  .major__meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signup__f{padding:20px}
  .cdown__in{gap:10px 14px}
  .cdown__clock{gap:7px;width:100%}
  .cdown__u{min-width:0;flex:1;padding:8px 4px 6px}
  .cdown__n{font-size:22px}
  .cdown__l{font-size:10.5px}
  .video__play{width:58px;height:58px;font-size:19px}
  /* Trên màn hẹp nhãn tuần khá dài nên đưa cụm nút xuống dòng riêng, đồng thời
     nới nút cho đủ 44px vùng bấm theo khuyến nghị của WCAG. */
  .sched__hd{flex-wrap:wrap;gap:12px}
  .sched__act{width:100%}
  .sched__arrow{width:44px;height:44px}
  /* Nhãn tuần giữ nguyên khoảng ngày trên một dòng (không bẻ đôi "10/08 – 16/08/2026"),
     nên trên màn hẹp phải thu chữ lại cho vừa thay vì để tràn ngang. */
  .sched__w{font-size:22px}
}
/* Điện thoại rất hẹp: bỏ bớt phần phụ ở thanh tiện ích cho khỏi tràn */
@media (max-width:420px){
  :root{--pad:14px}
  .utility__in{gap:10px}
  .utility #today,.utility #today + .utility__sep{display:none}
  /* Ở 320px khoảng ngày (một khối liền, không bẻ được) cần khoảng 195px; thu chữ thêm
     một nấc để nó vẫn nằm trọn một dòng thay vì đẩy tràn ngang. */
  .sched__w{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* --- 17. WORDPRESS ------------------------------------------------------- */
/* Bỏ qua tới nội dung chính (bàn phím / trình đọc màn hình) */
.skip{position:absolute;left:-9999px;top:0;z-index:1000;padding:12px 18px;background:var(--primary);color:#fff;font-weight:700;border-radius:0 0 10px 0}
.skip:focus{left:0;color:#fff}

/* Ảnh thật thay cho ô placeholder: giữ nguyên khung, cắt ảnh vừa khung */
.ph img,.ph--img>img{width:100%;height:100%;object-fit:cover;display:block}
.ph--img{padding:0;background:var(--cream)}
.ph--img::after{content:none}

/* Nội dung soạn trong trình biên tập */
.post__body p{margin:0}
.post__body h3{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink);margin:6px 0 0}
.post__body ul,.post__body ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.post__body li{line-height:1.75}
.post__body a{text-decoration:underline;text-underline-offset:3px}
.post__body img{border-radius:14px;margin:6px 0}
.post__body table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border-radius:12px;overflow:hidden}
.post__body th,.post__body td{padding:12px 16px;border-bottom:1px solid var(--line-soft);text-align:left}
.post__body th{background:var(--cream);font-weight:700;color:var(--ink)}
.post__body blockquote{margin:0;padding:22px 26px;background:#fff;border-left:3px solid var(--primary);border-radius:0 12px 12px 0;font-family:var(--serif);font-size:19px;line-height:1.65;color:var(--ink)}
.post__body figure{margin:0;display:flex;flex-direction:column;gap:8px}
.post__body figcaption,.wp-caption-text{font-size:12.5px;color:var(--muted);font-style:italic;text-align:center}
.post__body iframe,.post__body video{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px}
.alignleft{float:left;margin:6px 22px 14px 0;max-width:50%}
.alignright{float:right;margin:6px 0 14px 22px;max-width:50%}
.aligncenter{margin-left:auto;margin-right:auto}
.alignwide,.alignfull{width:100%}
.wp-caption{max-width:100%}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Ghi chú ảnh minh hoạ AI — bắt buộc hiện dưới ảnh đại diện */
.post__credit{font-size:12.5px;color:var(--muted);font-style:italic}

/* Phân trang WordPress */
.pager .page-numbers{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--ink-soft)}
.pager .page-numbers:hover{border-color:var(--primary);color:var(--primary)}
.pager .page-numbers.current{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.pager .page-numbers.dots{border-color:transparent;background:transparent}
.pager .next,.pager .prev{width:auto;padding:0 16px}

/* Thanh admin WordPress không được che header dính */
body.admin-bar{--stick:32px}
@media (max-width:782px){body.admin-bar{--stick:46px}}

/* Trang tĩnh dùng chung khung bài viết */
.page__body{max-width:820px}

/* Trạng thái nạp dữ liệu tab tin — khung xám đúng kích thước card */
.is-loading{opacity:.45;pointer-events:none;transition:opacity var(--t)}

/* Đường dẫn phân cấp */
.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crumb a:hover{color:var(--primary)}
.crumb span[aria-hidden]{opacity:.55}
.form-msg.is-ok{color:var(--gold-ink)}

/* Mục menu ứng với trang đang xem */
.nav__item.is-current{color:var(--primary)}
.nav__item.is-current::after{content:'';display:block;height:2px;margin-top:3px;background:var(--primary);border-radius:2px}

/* Hộp cột phải: mỗi dòng là một liên kết */
a.sidebox__li:hover{color:var(--primary)}

/* Ô nhập ẩn dùng để bẫy thư rác — không được hiện với người dùng */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Trang trong: bố cục một cột, ô tìm kiếm, mốc thời gian tuyển sinh */
.layout--full{grid-template-columns:minmax(0,1fr)}
.searchform{display:flex;gap:10px;flex-wrap:wrap}
.searchform input{flex:1;min-width:220px;padding:14px 16px;border-radius:11px;border:1px solid var(--line);background:#fff;font-size:15px;color:var(--ink)}
.searchform input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.admgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.tl{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}
.tl__i{display:flex;flex-direction:column;gap:2px;padding:11px 0 11px 16px;border-left:2px solid var(--line);position:relative}
.tl__i::before{content:"";position:absolute;left:-5px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--primary)}
.tl__i b{font-size:12.5px;font-weight:700;color:var(--primary)}
.tl__i span{font-size:14px;color:var(--muted);line-height:1.55}
figure.post__cover{height:auto;background:none;padding:0;display:block;margin:0}
.post__cover figcaption{padding:10px 2px 0;font-size:12.5px;color:var(--muted-light)}
.post__cover img{width:100%;height:auto;border-radius:16px;display:block}
.post__body img{max-width:100%;height:auto;border-radius:12px}
.pagehead .badge-pill{align-self:flex-start}
.pagehead .badge-pill i{font-style:normal;font-size:9px}
@media (max-width:900px){
  .admgrid{grid-template-columns:1fr}
}.share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}
.share__t{font-size:13px;font-weight:700;color:var(--ink)}
.share a{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--ink-soft)}
.share a:hover{border-color:var(--primary);color:var(--primary)}
/* --- 18. WIDGET ---------------------------------------------------------- */
/* Cột phải: vỏ .sidebox lo phần khung, widget chỉ lo phần ruột.             */

/* Hộp đăng ký: đổi vỏ trắng thành vỏ đỏ mận cho giống hộp dựng sẵn */
.side .hycc-wdg--cta{background:var(--primary);border-color:transparent;color:#fff;padding:24px;gap:12px}
.side .hycc-wdg--cta .sidecta__t{color:#fff}

/* Mục lục bài viết */
.wtoc{display:flex;flex-direction:column}
.wtoc a{font-size:13.5px;color:var(--ink-soft);padding:6px 0;border-top:1px solid var(--line-soft)}
.wtoc a:hover{color:var(--primary)}

/* Danh sách bài viết */
.wposts{display:flex;flex-direction:column}
.wpost{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line-soft)}
.wpost:first-child{border-top:0;padding-top:0}
.wpost__ph{width:64px;height:48px;border-radius:9px;overflow:hidden;flex:none;padding:0;font-size:0}
.wpost__b{display:flex;flex-direction:column;gap:3px;min-width:0}
.wpost__t{font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.wpost:hover .wpost__t{color:var(--primary)}
.wpost__d{font-size:12px;color:var(--muted-light)}

/* Tệp đính kèm */
.wfiles{display:flex;flex-direction:column;gap:10px}
.wfiles a{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--ink-soft);padding:12px;border-radius:10px;background:var(--bg);min-height:44px}
.wfiles a:hover{color:var(--primary);background:var(--primary-tint)}
.wfiles i{font-style:normal}

/* Mạng xã hội ở cột phải */
.wsoc{display:flex;gap:10px;flex-wrap:wrap}
.wsoc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-soft)}
.wsoc a:hover{border-color:var(--primary);color:var(--primary)}

/* Widget dựng sẵn của WordPress và của plugin: kéo về đúng tông của theme */
.side .wdg:not(.hycc-wdg) ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.side .wdg:not(.hycc-wdg) li{font-size:13.5px;line-height:1.55;color:var(--muted);padding:7px 0;border-top:1px solid var(--line-soft);list-style:none}
.side .wdg:not(.hycc-wdg) > ul > li:first-child{border-top:0;padding-top:0}
.side .wdg:not(.hycc-wdg) li a{color:var(--ink-soft)}
.side .wdg:not(.hycc-wdg) li a:hover{color:var(--primary)}
.side .wdg:not(.hycc-wdg) li ul{padding-left:14px;margin-top:7px}
.side .wdg p{margin:0;font-size:13.5px;line-height:1.65;color:var(--muted)}
.side .wdg a{color:var(--ink-soft)}
.side .wdg a:hover{color:var(--primary)}
.side .wdg select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink)}
.side .wdg .post-date,.side .wdg .rss-date{display:block;font-size:12px;color:var(--muted-light)}
.side .wdg cite{font-size:12px;color:var(--muted-light);font-style:normal}
.side .wdg .rssSummary{font-size:13px;line-height:1.6;color:var(--muted);margin-top:4px}

/* Ô tìm kiếm trong widget */
.side .wdg form[role=search],.side .wdg .search-form{display:flex;gap:8px;flex-wrap:wrap}
.side .wdg input[type=search],.side .wdg input[type=text]{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink)}
.side .wdg input[type=search]:focus-visible,.side .wdg input[type=text]:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.side .wdg input[type=submit],.side .wdg button[type=submit]{padding:11px 16px;border-radius:10px;border:0;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer}
.side .wdg input[type=submit]:hover,.side .wdg button[type=submit]:hover{background:var(--primary-dark)}

/* Đám mây thẻ */
.side .wdg .tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.side .wdg .tagcloud a{font-size:12.5px!important;padding:7px 12px;border-radius:999px;background:var(--bg);color:var(--ink-soft)}
.side .wdg .tagcloud a:hover{background:var(--primary-tint);color:var(--primary)}

/* Lịch */
.side .wdg table{width:100%;border-collapse:collapse;font-size:13px;color:var(--muted)}
.side .wdg caption{font-size:13px;font-weight:700;color:var(--ink);padding-bottom:8px}
.side .wdg th,.side .wdg td{padding:6px 2px;text-align:center;border-bottom:1px solid var(--line-soft)}
.side .wdg th{color:var(--ink-soft);font-weight:700}
.side .wdg #today{background:var(--primary-tint);color:var(--primary);font-weight:700;border-radius:6px}

/* --- 18b. WIDGET CHÂN TRANG ---------------------------------------------- */
.ftr__wdg{gap:10px}
.ftr__wdg ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.ftr__wdg li{font-size:14px;line-height:1.7;color:var(--ftr-fg,var(--ftr-auto));list-style:none}
.ftr__wdg li ul{padding-left:14px;margin-top:9px}
.ftr__wdg p{margin:0;font-size:14px;line-height:1.75;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__wdg .sidebox__t{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__wdg .sidecta__t{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__wdg .sidecta__x{font-size:14px;line-height:1.7;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__wdg .sidebox__phone{font-size:16px;font-weight:700;color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__wdg .sidebox__addr{font-size:14px;line-height:1.7;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__wdg .catlist a,.ftr__wdg .wtoc a{border-top:0;padding:0;font-size:14px}
.ftr__wdg .catlist a span{color:var(--ftr-auto-m)}
.ftr__wdg .catlist,.ftr__wdg .wtoc,.ftr__wdg .wposts{gap:9px}
.ftr__wdg .wpost{border-top:0;padding:0}
.ftr__wdg .wpost__t{font-size:14px;line-height:1.6;color:var(--ftr-fg,var(--ftr-auto))}
.ftr__wdg .wpost:hover .wpost__t{color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__wdg .wpost__d{color:var(--ftr-auto-m)}
.ftr__wdg .wfiles a{background:transparent;padding:0;min-height:0;font-size:14px}
.ftr__wdg .wfiles a:hover{background:transparent;color:var(--ftr-head,var(--ftr-auto-h))}
.ftr__wdg .btn--white{align-self:flex-start;width:auto;display:inline-flex}
.ftr__wdg input[type=search],.ftr__wdg input[type=text]{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--ftr-line,var(--ftr-auto-l));background:transparent;font-size:14px;color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__wdg input[type=submit],.ftr__wdg button[type=submit]{margin-top:8px;padding:11px 16px;border-radius:10px;border:0;background:#fff;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer}
.ftr__wdg select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--ftr-line,var(--ftr-auto-l));background:transparent;font-size:14px;color:var(--ftr-strong,var(--ftr-auto-s))}
.ftr__wdg .tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.ftr__wdg .tagcloud a{font-size:12.5px!important;padding:6px 11px;border-radius:999px;border:1px solid var(--ftr-line,var(--ftr-auto-l))}