/*!
 * Giao diện "Thanh Trường" - Trường Tiểu học và THCS Thanh Trường
 * Nền: NukeViet 4.6.02 (Bootstrap 3, lưới 24 cột)
 * Phong cách: hiện đại, trẻ trung, nhiều màu sắc tươi sáng
 */

:root {
    --tt-blue: #1366d6;
    --tt-blue-d: #0b4fae;
    --tt-navy: #0a2b66;
    --tt-ink: #1b2a41;
    --tt-muted: #5d6b82;
    --tt-line: #e3eaf4;
    --tt-bg: #f3f7fc;
    --tt-white: #fff;
    --tt-orange: #ff8a1f;
    --tt-sun: #ffc531;
    --tt-green: #16a864;
    --tt-pink: #ec4c84;
    --tt-violet: #7357e8;
    --tt-cyan: #0aa8c8;
    --tt-red: #e5484d;
    --tt-radius: 16px;
    --tt-radius-sm: 10px;
    --tt-shadow: 0 6px 22px rgba(15, 45, 100, .08);
    --tt-shadow-h: 0 16px 36px rgba(15, 45, 100, .16);
    --tt-font: 'Be Vietnam Pro', 'Segoe UI', Roboto, Arial, sans-serif;
    --tt-c: var(--tt-blue);
    --tt-c-soft: #e8f1fd;
}

/* ---------- Màu theo biến thể ---------- */
.tt-c-blue, .tt-card--blue, .tt-q-blue, .ckgd-row--blue { --tt-c: var(--tt-blue); --tt-c-soft: #e8f1fd; }
.tt-c-orange, .tt-card--orange, .tt-q-orange, .ckgd-row--orange { --tt-c: var(--tt-orange); --tt-c-soft: #fff1e3; }
.tt-c-green, .tt-card--green, .tt-q-green, .ckgd-row--green { --tt-c: var(--tt-green); --tt-c-soft: #e3f7ed; }
.tt-c-pink, .tt-card--pink, .tt-q-pink, .ckgd-row--pink { --tt-c: var(--tt-pink); --tt-c-soft: #fde8f0; }
.tt-c-violet, .tt-card--violet, .tt-q-violet, .ckgd-row--violet { --tt-c: var(--tt-violet); --tt-c-soft: #efebfd; }
.tt-c-cyan, .tt-card--cyan, .tt-q-cyan, .ckgd-row--cyan { --tt-c: var(--tt-cyan); --tt-c-soft: #e1f6fa; }
.tt-q-sun { --tt-c: #e9a500; --tt-c-soft: #fff6d9; }
.tt-q-red { --tt-c: var(--tt-red); --tt-c-soft: #fde7e8; }

/* ---------- Nền tảng ---------- */
html, body { height: auto; }
body {
    font-family: var(--tt-font);
    font-size: 15px;
    line-height: 1.6;
    color: var(--tt-ink);
    background: var(--tt-bg);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.btn, input, select, textarea, button { font-family: var(--tt-font); }
h1, h2, h3, h4, h5, h6 { color: var(--tt-navy); line-height: 1.35; }
a, a:link, a:active, a:visited { color: var(--tt-blue-d); }
a:hover, a:focus { color: var(--tt-orange); text-decoration: none; }
img { max-width: 100%; height: auto; }
::selection { background: var(--tt-sun); color: var(--tt-navy); }
:focus-visible { outline: 3px solid rgba(255, 197, 49, .9); outline-offset: 2px; }
@media (min-width: 1280px) {
    .container { width: 1240px; }
}
.tt-skip {
    position: absolute; left: -999px; top: 8px; z-index: 2000;
    background: var(--tt-sun); color: var(--tt-navy) !important; padding: 8px 14px; border-radius: 8px; font-weight: 700;
}
.tt-skip:focus { left: 12px; }
.tt-meta { color: var(--tt-muted); font-size: 13px; }
.tt-meta .fa { opacity: .75; }
.tt-empty { color: var(--tt-muted); font-style: italic; margin: 8px 0; }
.tt-chip {
    display: inline-block; font-size: 12px; font-weight: 600; line-height: 1; padding: 5px 10px; border-radius: 999px;
    background: var(--tt-c-soft); color: var(--tt-c);
}
.tt-chip--sun { background: var(--tt-sun); color: var(--tt-navy); }
.tt-chip--blue { --tt-c: var(--tt-blue); --tt-c-soft: #e8f1fd; }
.tt-chip--orange { --tt-c: #e06d00; --tt-c-soft: #fff1e3; }
.tt-chip--green { --tt-c: #0f8f53; --tt-c-soft: #e3f7ed; }
.tt-chip--pink { --tt-c: #d33470; --tt-c-soft: #fde8f0; }
.tt-chip--violet { --tt-c: #5f43d6; --tt-c-soft: #efebfd; }
.tt-chip--cyan { --tt-c: #078ba6; --tt-c-soft: #e1f6fa; }
.tt-badge-new {
    display: inline-block; background: linear-gradient(135deg, var(--tt-red), var(--tt-orange)); color: #fff;
    font-size: 10px; font-weight: 700; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; letter-spacing: .3px;
    animation: tt-pulse 2s infinite;
}
@keyframes tt-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }

/* ---------- Thanh trên cùng ---------- */
.tt-topbar {
    position: relative; z-index: 60;
    background: linear-gradient(90deg, var(--tt-navy), var(--tt-blue-d) 60%, #1a74e0);
    color: rgba(255, 255, 255, .88); font-size: 13px;
}
.tt-topbar a, .tt-topbar a:link, .tt-topbar a:visited { color: #fff; }
.tt-topbar a:hover { color: var(--tt-sun); }
.tt-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; }
.tt-topbar__left, .tt-topbar__right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.tt-topbar__left .fa { color: var(--tt-sun); margin-right: 4px; }
.tt-topbar .tt-links { margin: 0; }
.tt-topbar__social ul { margin: 0; padding: 0; list-style: none; display: flex; gap: 6px; }
.tt-topbar__social a {
    display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(255, 255, 255, .14); font-size: 13px;
}
.tt-topbar__social a:hover { background: var(--tt-sun); color: var(--tt-navy); }
.tt-topbar__user { position: relative; }
.tt-topbar__user .btn, .tt-topbar__user .button { padding: 3px 10px; font-size: 12.5px; border-radius: 999px; }
.tt-topbar #tip { top: 100%; right: 15px; border-radius: 12px; overflow: hidden; }

.tt-links { list-style: none; padding: 0; margin: 0; }
.tt-links--inline { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.tt-links--inline li + li:before { content: '•'; margin-right: 12px; opacity: .45; }
.tt-links--inline li { display: flex; align-items: center; }
.tt-links--list li { margin: 0 0 8px; }
.tt-links--list a:before { content: '\f105'; font-family: FontAwesome; margin-right: 8px; color: var(--tt-sun); }

/* ---------- Header ---------- */
.tt-header {
    position: relative; overflow: hidden;
    background:
        radial-gradient(1200px 260px at 85% -40%, rgba(19, 102, 214, .12), transparent 60%),
        radial-gradient(500px 220px at 0% 120%, rgba(255, 197, 49, .18), transparent 60%),
        linear-gradient(180deg, #fff, #f6faff);
}
.tt-header__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; }
.tt-brand { display: flex; align-items: center; gap: 18px; text-decoration: none !important; min-width: 0; }
.tt-brand__logo {
    flex: 0 0 auto; width: 104px; height: 104px; border-radius: 50%; padding: 6px; background: #fff;
    box-shadow: 0 0 0 4px var(--tt-sun), 0 0 0 8px #fff, 0 10px 26px rgba(10, 43, 102, .22);
    display: flex; align-items: center; justify-content: center; transition: transform .4s ease;
}
.tt-brand__logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.tt-brand:hover .tt-brand__logo { transform: rotate(-6deg) scale(1.04); }
.tt-brand__text { display: flex; flex-direction: column; min-width: 0; }
.tt-brand__org { font-size: 13px; font-weight: 700; color: var(--tt-blue); letter-spacing: 1.6px; text-transform: uppercase; }
.tt-brand__type { font-size: 20px; font-weight: 700; color: var(--tt-navy); text-transform: uppercase; line-height: 1.25; margin-top: 2px; }
.tt-brand__name {
    font-size: 42px; font-weight: 800; text-transform: uppercase; line-height: 1.08; letter-spacing: .5px;
    background: linear-gradient(90deg, #f7701a 0%, #ec4c84 40%, #7357e8 72%, #1366d6 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 2px 0 rgba(255, 255, 255, .8));
}
.tt-brand__slogan { font-size: 14px; color: var(--tt-muted); font-style: italic; margin-top: 4px; }
.tt-header__tools { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex: 0 0 auto; }
.tt-search { position: relative; width: 320px; }
.tt-search .form-control {
    height: 46px; border-radius: 999px; padding: 0 56px 0 20px; border: 2px solid var(--tt-line);
    box-shadow: var(--tt-shadow); font-size: 14.5px; background: #fff; transition: border-color .2s, box-shadow .2s;
}
.tt-search .form-control:focus { border-color: var(--tt-blue); box-shadow: 0 0 0 4px rgba(19, 102, 214, .12); }
.tt-search.has-error .form-control { border-color: var(--tt-red); }
.tt-search__btn {
    position: absolute; right: 5px; top: 5px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #fff;
    background: linear-gradient(135deg, var(--tt-orange), var(--tt-pink)); transition: transform .2s;
}
.tt-search__btn:hover { transform: scale(1.08); }

.tt-header__decor { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.tt-dot { position: absolute; border-radius: 50%; opacity: .9; }
.tt-dot--1 { width: 16px; height: 16px; background: var(--tt-sun); right: 30%; top: 22px; animation: tt-float 6s ease-in-out infinite; }
.tt-dot--2 { width: 10px; height: 10px; background: var(--tt-pink); right: 25%; bottom: 26px; animation: tt-float 7s ease-in-out infinite .6s; }
.tt-dot--3 { width: 22px; height: 22px; border: 4px solid var(--tt-green); right: 40%; bottom: 14px; animation: tt-float 8s ease-in-out infinite 1s; }
.tt-dot--4 { width: 12px; height: 12px; background: var(--tt-cyan); left: 46%; top: 18px; animation: tt-float 6.5s ease-in-out infinite .3s; }
.tt-deco-star { position: absolute; width: 28px; height: 28px; right: 34%; top: 50%; fill: var(--tt-orange); opacity: .55; animation: tt-spin 18s linear infinite; }
.tt-deco-book { position: absolute; width: 74px; height: 56px; right: 3%; bottom: -6px; stroke: var(--tt-blue); opacity: .12; }
.tt-deco-pencil { position: absolute; width: 60px; height: 60px; right: 22%; top: -8px; stroke: var(--tt-violet); opacity: .18; transform: rotate(12deg); }
@keyframes tt-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes tt-spin { to { transform: rotate(360deg); } }

/* ---------- Menu chính ---------- */
.tt-nav {
    position: sticky; top: 0; z-index: 50;
    background: linear-gradient(90deg, var(--tt-blue-d), var(--tt-blue) 55%, #1d86ea);
    box-shadow: 0 8px 22px rgba(10, 43, 102, .18);
}
.tt-rainbow { display: flex; height: 4px; }
.tt-rainbow i { flex: 1; }
.tt-rainbow i:nth-child(1) { background: var(--tt-red); }
.tt-rainbow i:nth-child(2) { background: var(--tt-orange); }
.tt-rainbow i:nth-child(3) { background: var(--tt-sun); }
.tt-rainbow i:nth-child(4) { background: var(--tt-green); }
.tt-rainbow i:nth-child(5) { background: var(--tt-cyan); }
.tt-rainbow i:nth-child(6) { background: var(--tt-violet); }
.tt-menu__toggle, .tt-menu__panel-head, .tt-menu__expand { display: none; }
.tt-menu__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; }
.tt-menu__list > li { position: relative; }
.tt-menu__list > li > a {
    display: flex; align-items: center; gap: 6px; height: 54px; padding: 0 16px; color: #fff !important;
    font-weight: 600; font-size: 14.5px; text-transform: uppercase; letter-spacing: .2px; position: relative; white-space: nowrap;
}
.tt-menu__list > li > a:after {
    content: ''; position: absolute; left: 16px; right: 16px; bottom: 10px; height: 3px; border-radius: 3px;
    background: var(--tt-sun); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.tt-menu__list > li:hover > a:after, .tt-menu__list > li.active > a:after { transform: scaleX(1); }
.tt-menu__list > li:hover > a, .tt-menu__list > li.active > a { background: rgba(255, 255, 255, .12); }
.tt-menu__home > a { font-size: 18px !important; }
.tt-menu__home-text { display: none; }
.tt-caret { font-size: 13px; opacity: .85; transition: transform .2s; }
.tt-menu__list > li:hover .tt-caret { transform: rotate(180deg); }
.tt-menu__sub {
    list-style: none; margin: 0; padding: 8px; position: absolute; left: 0; top: 100%; min-width: 250px; z-index: 30;
    background: #fff; border-radius: 0 0 14px 14px; box-shadow: var(--tt-shadow-h); border-top: 3px solid var(--tt-sun);
    opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .22s ease;
}
.tt-menu__sub .tt-menu__sub { left: 100%; top: -8px; border-radius: 14px; border-top: 0; }
.tt-menu__list li:hover > .tt-menu__sub, .tt-menu__list li:focus-within > .tt-menu__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.tt-menu__sub li { position: relative; }
.tt-menu__sub a {
    display: block; padding: 9px 14px; border-radius: 9px; color: var(--tt-ink) !important; font-size: 14.5px; font-weight: 500;
}
.tt-menu__sub a:hover { background: var(--tt-c-soft); color: var(--tt-blue-d) !important; padding-left: 18px; transition: all .15s; }
.tt-menu__sub li.has-sub > a:after { content: '\f105'; font-family: FontAwesome; float: right; opacity: .5; }
.tt-menu__backdrop { display: none; }

/* ---------- Tin chạy ---------- */
.tt-ticker-zone:empty, .tt-ticker-zone .container:empty { display: none; }
.tt-ticker-zone { background: #fff; border-bottom: 1px solid var(--tt-line); }
.tt-ticker { display: flex; align-items: center; gap: 14px; height: 44px; overflow: hidden; }
.tt-ticker__label {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px;
    background: linear-gradient(135deg, var(--tt-red), var(--tt-orange)); color: #fff; font-weight: 700; font-size: 13px; text-transform: uppercase;
}
.tt-ticker__viewport { flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.tt-ticker__track { display: flex; width: max-content; animation: tt-marquee 60s linear infinite; }
.tt-ticker:hover .tt-ticker__track { animation-play-state: paused; }
.tt-ticker__list { display: flex; list-style: none; margin: 0; padding: 0; }
.tt-ticker__list li { white-space: nowrap; padding-right: 42px; }
.tt-ticker__list a { color: var(--tt-ink) !important; font-weight: 500; font-size: 14px; }
.tt-ticker__list a:hover { color: var(--tt-orange) !important; }
.tt-ticker__date { display: inline-block; font-size: 12px; font-weight: 700; color: var(--tt-blue); background: var(--tt-c-soft); border-radius: 6px; padding: 1px 6px; margin-right: 8px; }
@keyframes tt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Đường dẫn trang ---------- */
.tt-pagehead { background: linear-gradient(90deg, #eaf2fe, #fdf3ff); border-bottom: 1px solid var(--tt-line); padding: 10px 0; }
.tt-pagehead .breadcrumbs-wrap .display { height: auto; min-height: 34px; overflow: hidden; }
.tt-pagehead .breadcrumbs li { margin: 0; display: flex; align-items: center; }
.tt-pagehead .breadcrumbs li + li:before { content: '\f105'; font-family: FontAwesome; color: var(--tt-muted); margin: 0 10px; }
.tt-pagehead .breadcrumbs a, .tt-pagehead .show-subs-breadcrumbs {
    background: transparent; padding: 6px 0; color: var(--tt-blue-d); font-weight: 600; font-size: 14px; float: none;
}
.tt-pagehead .breadcrumbs li:first-child a:before { content: '\f015'; font-family: FontAwesome; position: static; border: 0; margin: 0 6px 0 0; padding: 0; color: var(--tt-orange); }
.tt-pagehead .breadcrumbs a:before, .tt-pagehead .breadcrumbs a:after, .tt-pagehead .show-subs-breadcrumbs:after { display: none; }
.tt-pagehead .breadcrumbs li:first-child a:before { display: inline-block; }
.tt-pagehead .breadcrumbs li:last-child a { color: var(--tt-ink); }
.tt-pagehead .breadcrumbs a:hover { color: var(--tt-orange); background: transparent; }
.tt-pagehead .subs-breadcrumbs { border-radius: 12px; box-shadow: var(--tt-shadow-h); }

/* ---------- Khung trang ---------- */
.tt-main { display: block; outline: 0; }
.tt-page { padding-top: 26px; padding-bottom: 14px; }
.tt-error-zone:empty { display: none; }
.tt-col-main > *:first-child, .tt-col-side > *:first-child { margin-top: 0; }
.tt-col-side { position: relative; }
@media (min-width: 992px) {
    .tt-row-eq { display: flex; }
    .tt-row-eq > [class*=col-] { display: flex; flex-direction: column; }
    .tt-row-eq > [class*=col-] > * { flex: 1; }
}

/* ---------- Thẻ block ---------- */
.panel.tt-card {
    border: 0; border-radius: var(--tt-radius); background: #fff; box-shadow: var(--tt-shadow);
    margin-bottom: 24px; overflow: hidden; position: relative;
}
.panel.tt-card:before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--tt-c), color-mix(in srgb, var(--tt-c) 45%, #fff)); }
.tt-card > .tt-card__head { background: transparent; border: 0; padding: 18px 20px 0; }
.tt-card__title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 17px; font-weight: 800; color: var(--tt-navy); text-transform: uppercase; letter-spacing: .2px; }
.tt-card__title a { color: var(--tt-navy) !important; }
.tt-card__title a:hover { color: var(--tt-c) !important; }
.tt-card__icon {
    flex: 0 0 auto; width: 34px; height: 34px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center;
    background: var(--tt-c-soft); color: var(--tt-c); font-size: 15px;
}
.tt-card > .tt-card__body { padding: 14px 20px 20px; }
.tt-card .panel-body:before, .tt-card .panel-body:after { display: table; content: ''; }
.tt-card .panel-body:after { clear: both; }

.well.tt-well { background: #fff; border: 2px dashed var(--tt-line); border-radius: var(--tt-radius); box-shadow: none; }
.tt-simple__title { font-size: 16px; font-weight: 800; text-transform: uppercase; margin: 0 0 14px; position: relative; padding-bottom: 10px; }
.tt-simple__title:after { content: ''; position: absolute; left: 0; bottom: 0; width: 42px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--tt-sun), var(--tt-orange)); }

/* Tiêu đề khu vực */
.tt-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--tt-line); position: relative; }
.tt-sec-head:after { content: ''; position: absolute; left: 0; bottom: -2px; width: 120px; height: 2px; background: var(--tt-c); }
.tt-sec-title { margin: 0; font-size: 21px; font-weight: 800; text-transform: uppercase; color: var(--tt-navy); display: flex; align-items: center; gap: 10px; }
.tt-sec-title a { color: inherit !important; }
.tt-sec-title a:hover { color: var(--tt-c) !important; }
.tt-sec-title__icon { width: 12px; height: 26px; border-radius: 6px; background: linear-gradient(180deg, var(--tt-c), color-mix(in srgb, var(--tt-c) 40%, #fff)); }
.tt-sec-more { font-size: 13.5px; font-weight: 600; color: var(--tt-c) !important; white-space: nowrap; }
.tt-sec-more:hover { color: var(--tt-orange) !important; }
.tt-btn-more {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 7px 16px; border-radius: 999px;
    background: var(--tt-c-soft); color: var(--tt-c) !important; font-weight: 600; font-size: 13.5px; transition: all .2s;
}
.tt-btn-more:hover { background: var(--tt-c); color: #fff !important; }
.tt-readmore { font-weight: 600; font-size: 13.5px; color: var(--tt-c) !important; }

/* ---------- Trang nhất: Hero ---------- */
.tt-home-hero { padding: 26px 0 4px; }
.tt-home-hero .tt-nl { height: 100%; }
.tt-slider { position: relative; margin-bottom: 24px; }
.tt-slider__stage { position: relative; border-radius: 22px; overflow: hidden; box-shadow: var(--tt-shadow-h); background: var(--tt-navy); aspect-ratio: 16 / 9; }
.tt-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.tt-slide.is-active { opacity: 1; visibility: visible; }
.tt-slide__media, .tt-slide__media img { display: block; width: 100%; height: 100%; }
.tt-slide__media img { object-fit: cover; transform: scale(1.06); transition: transform 7s ease; }
.tt-slide.is-active .tt-slide__media img { transform: scale(1); }
.tt-slide__caption {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 70px 28px 26px;
    background: linear-gradient(180deg, transparent, rgba(6, 20, 52, .55) 35%, rgba(6, 20, 52, .92));
}
.tt-slide__title { margin: 10px 0 6px; font-size: 25px; font-weight: 800; line-height: 1.3; text-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.tt-slide__title a { color: #fff !important; }
.tt-slide__title a:hover { color: var(--tt-sun) !important; }
.tt-slide__meta { color: rgba(255, 255, 255, .85); margin: 0; font-size: 13.5px; }
.tt-slider__nav {
    position: absolute; top: 42%; width: 44px; height: 44px; border-radius: 50%; border: 0; z-index: 3;
    background: rgba(255, 255, 255, .9); color: var(--tt-navy); font-size: 22px; box-shadow: var(--tt-shadow);
    opacity: 0; transition: all .25s;
}
.tt-slider__nav--prev { left: 16px; }
.tt-slider__nav--next { right: 16px; }
.tt-slider:hover .tt-slider__nav { opacity: 1; }
.tt-slider__nav:hover { background: var(--tt-sun); }
.tt-slider__dots { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding: 4px 2px 6px; scrollbar-width: thin; }
.tt-slider__dot {
    flex: 0 0 auto; width: 92px; height: 58px; border-radius: 12px; overflow: hidden; border: 3px solid transparent; padding: 0;
    background: #dfe8f5; opacity: .6; transition: all .25s; cursor: pointer;
}
.tt-slider__dot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-slider__dot.is-active, .tt-slider__dot:hover { opacity: 1; border-color: var(--tt-orange); transform: translateY(-2px); }

/* Thông báo (danh sách có ngày) */
.tt-home-hero .tt-nl--notice {
    background: #fff; border-radius: 22px; box-shadow: var(--tt-shadow); padding: 20px 20px 18px; margin-bottom: 24px; position: relative; overflow: hidden;
}
.tt-home-hero .tt-nl--notice:before { content: ''; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--tt-c-soft); }
.tt-home-hero .tt-nl--notice .tt-sec-head { position: relative; }
.tt-notice { list-style: none; margin: 0; padding: 0; position: relative; }
.tt-notice__item { display: flex; gap: 14px; padding: 11px 0; border-bottom: 1px dashed var(--tt-line); }
.tt-notice__item:last-child { border-bottom: 0; }
.tt-datebadge {
    flex: 0 0 auto; width: 52px; height: 54px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: linear-gradient(160deg, var(--tt-c), color-mix(in srgb, var(--tt-c) 70%, #000)); color: #fff; box-shadow: 0 6px 14px color-mix(in srgb, var(--tt-c) 35%, transparent);
}
.tt-notice__item:nth-child(4n+2) .tt-datebadge { --tt-c: var(--tt-blue); }
.tt-notice__item:nth-child(4n+3) .tt-datebadge { --tt-c: var(--tt-green); }
.tt-notice__item:nth-child(4n+4) .tt-datebadge { --tt-c: var(--tt-violet); }
.tt-datebadge b { font-size: 20px; line-height: 1; font-weight: 800; }
.tt-datebadge small { font-size: 11px; text-transform: uppercase; opacity: .9; margin-top: 3px; }
.tt-notice__body { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tt-notice__title { color: var(--tt-ink) !important; font-weight: 600; font-size: 14.5px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-notice__title:hover { color: var(--tt-c) !important; }

/* ---------- Truy cập nhanh ---------- */
.tt-home-quick { padding: 4px 0 8px; }
.tt-quick__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px; }
.tt-quick__item a {
    display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; height: 100%;
    padding: 18px 10px 16px; border-radius: 18px; background: #fff; box-shadow: var(--tt-shadow);
    color: var(--tt-ink) !important; font-weight: 700; font-size: 13.5px; line-height: 1.35; position: relative; overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.tt-quick__item a:before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--tt-c); transform: scaleX(.3); transition: transform .3s; }
.tt-quick__item a:hover { transform: translateY(-6px); box-shadow: var(--tt-shadow-h); color: var(--tt-c) !important; }
.tt-quick__item a:hover:before { transform: scaleX(1); }
.tt-quick__icon {
    width: 58px; height: 58px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 24px;
    color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--tt-c) 75%, #fff), var(--tt-c));
    box-shadow: 0 10px 18px color-mix(in srgb, var(--tt-c) 35%, transparent); transform: rotate(-6deg); transition: transform .3s;
}
.tt-quick__item a:hover .tt-quick__icon { transform: rotate(0) scale(1.06); }

/* ---------- Danh sách tin ---------- */
.tt-nl { margin-bottom: 30px; }
.tt-page--home .tt-col-main .tt-nl, .tt-page--home .tt-col-main .tt-ck { background: #fff; border-radius: 22px; box-shadow: var(--tt-shadow); padding: 20px 22px 22px; }
.tt-feature { display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; }
.tt-feature__lead { min-width: 0; }
.tt-feature__img { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 10; margin-bottom: 12px; }
.tt-feature__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.tt-feature__lead:hover .tt-feature__img img { transform: scale(1.05); }
.tt-feature__title { font-size: 18.5px; font-weight: 800; margin: 0 0 6px; line-height: 1.38; }
.tt-feature__title a { color: var(--tt-navy) !important; }
.tt-feature__title a:hover, .tt-tabpane__lead h3 a:hover { color: var(--tt-c) !important; }
.tt-feature__desc { color: var(--tt-muted); margin: 6px 0 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-feature__list, .tt-thumbs { list-style: none; margin: 0; padding: 0; }
.tt-feature__list li, .tt-thumbs li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--tt-line); }
.tt-feature__list li:first-child { padding-top: 0; }
.tt-feature__list li:last-child, .tt-thumbs li:last-child { border-bottom: 0; }
.tt-feature__list .tt-btn-more { grid-column: 1 / -1; }
.tt-feature > .tt-btn-more { grid-column: 1 / -1; justify-self: start; margin-top: 0; }
.tt-mini-thumb { flex: 0 0 96px; height: 66px; border-radius: 11px; overflow: hidden; display: block; background: #e7eef8; }
.tt-thumbs .tt-mini-thumb { flex-basis: 82px; height: 58px; }
.tt-mini-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tt-feature__item, .tt-thumbs li > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tt-feature__item a, .tt-thumbs li > div > a { color: var(--tt-ink) !important; font-weight: 600; font-size: 14.5px; line-height: 1.42; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-feature__item a:hover, .tt-thumbs li > div > a:hover { color: var(--tt-c) !important; }

.tt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tt-gcard { background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid var(--tt-line); transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.tt-gcard:hover { transform: translateY(-5px); box-shadow: var(--tt-shadow-h); border-color: transparent; }
.tt-gcard__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tt-c-soft); }
.tt-gcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.tt-gcard:hover .tt-gcard__img img { transform: scale(1.06); }
.tt-gcard__ph { display: flex; height: 100%; align-items: center; justify-content: center; font-size: 36px; color: var(--tt-c); }
.tt-gcard__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.tt-gcard__title { font-size: 15px; font-weight: 700; margin: 0; line-height: 1.42; }
.tt-gcard__title a { color: var(--tt-ink) !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-gcard__title a:hover { color: var(--tt-c) !important; }
.tt-gcard .tt-meta { margin-top: auto; }

.tt-list { list-style: none; margin: 0; padding: 0; }
.tt-list li { position: relative; padding: 8px 0 8px 18px; border-bottom: 1px dashed var(--tt-line); }
.tt-list li:last-child { border-bottom: 0; }
.tt-list li:before { content: ''; position: absolute; left: 2px; top: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--tt-c); }
.tt-list a { color: var(--tt-ink) !important; font-weight: 500; }
.tt-list a:hover { color: var(--tt-c) !important; }

.tt-tabs__nav { border: 0; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.tt-tabs__nav > li { float: none; margin: 0; }
.tt-tabs__nav > li > a { border: 0 !important; border-radius: 999px !important; margin: 0; padding: 8px 16px; background: var(--tt-c-soft); color: var(--tt-c) !important; font-weight: 700; font-size: 14px; }
.tt-tabs__nav > li > a:hover { background: color-mix(in srgb, var(--tt-c) 18%, #fff); }
.tt-tabs__nav > li.active > a, .tt-tabs__nav > li.active > a:hover, .tt-tabs__nav > li.active > a:focus { background: var(--tt-c) !important; color: #fff !important; }
.tt-tabpane { display: grid; grid-template-columns: 1.1fr 1fr; gap: 22px; }
.tt-tabpane__img { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 10; margin-bottom: 10px; }
.tt-tabpane__img img { width: 100%; height: 100%; object-fit: cover; }
.tt-tabpane__lead h3 { font-size: 17.5px; font-weight: 800; margin: 0 0 6px; }
.tt-tabpane__lead h3 a { color: var(--tt-navy) !important; }

/* Cột bên */
.tt-col-side .tt-nl { margin-bottom: 0; }
.tt-col-side .tt-btn-more { margin-top: 10px; }

/* ---------- Công khai (trang nhất) ---------- */
.tt-ck { margin-bottom: 30px; --tt-c: var(--tt-violet); --tt-c-soft: #efebfd; position: relative; overflow: hidden; }
.tt-ck:after { content: ''; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(115, 87, 232, .14), transparent 70%); pointer-events: none; }
.tt-ck__year { color: var(--tt-muted); margin: 0 0 10px; font-size: 14px; }
.tt-ck__tiles { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tt-ck__tile a {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--tt-c-soft);
    color: var(--tt-ink) !important; font-weight: 700; font-size: 13.5px; line-height: 1.3; height: 100%; transition: all .2s; border: 2px solid transparent;
}
.tt-ck__tile a:hover { border-color: var(--tt-c); background: #fff; transform: translateY(-3px); box-shadow: var(--tt-shadow); }
.tt-ck__ico { flex: 0 0 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: var(--tt-c); color: #fff; font-size: 16px; }
.tt-ck__name { flex: 1; min-width: 0; }
.tt-ck__num { flex: 0 0 auto; min-width: 28px; height: 28px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--tt-c); font-size: 13px; font-weight: 800; box-shadow: inset 0 0 0 2px var(--tt-c-soft); }
.tt-ck__list { list-style: none; margin: 0; padding: 0; }
.tt-ck__list li { display: flex; gap: 12px; padding: 11px 0; border-bottom: 1px dashed var(--tt-line); }
.tt-ck__list li:last-child { border-bottom: 0; }
.tt-ck__doc { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: #fde8f0; color: var(--tt-pink); display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.tt-ck__list li > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.tt-ck__list a { color: var(--tt-ink) !important; font-weight: 600; line-height: 1.45; }
.tt-ck__list a:hover { color: var(--tt-violet) !important; }

/* ---------- Công khai: ma trận TT 09/2024 ---------- */
.ckgd-intro { background: #fff; border-radius: 22px; box-shadow: var(--tt-shadow); padding: 24px 26px; margin-bottom: 24px; position: relative; overflow: hidden; }
.ckgd-intro:before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--tt-blue), var(--tt-orange), var(--tt-green), var(--tt-violet), var(--tt-pink), var(--tt-cyan)); }
.ckgd-intro__head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.ckgd-intro__badge { flex: 0 0 56px; height: 56px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; background: linear-gradient(145deg, var(--tt-violet), var(--tt-blue)); box-shadow: 0 10px 20px rgba(115, 87, 232, .3); }
.ckgd-intro__title { margin: 0 0 6px; font-size: 22px; font-weight: 800; color: var(--tt-navy); }
.ckgd-lead { margin: 0; color: #3b4a62; line-height: 1.7; }
.ckgd-table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--tt-line); -webkit-overflow-scrolling: touch; }
.ckgd-matrix { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; background: #fff; }
.ckgd-matrix thead th { background: linear-gradient(180deg, var(--tt-blue-d), var(--tt-navy)); color: #fff; font-weight: 700; font-size: 13.5px; padding: 12px 10px; text-align: center; white-space: nowrap; }
.ckgd-matrix thead th.ckgd-matrix__group { text-align: left; padding-left: 16px; }
.ckgd-matrix thead th a { color: #fff !important; display: inline-block; padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); }
.ckgd-matrix thead th a:hover { background: var(--tt-sun); color: var(--tt-navy) !important; }
.ckgd-matrix thead th:first-child + th + th a { background: var(--tt-sun); color: var(--tt-navy) !important; }
.ckgd-matrix tbody th { text-align: left; padding: 12px 14px; font-weight: 700; color: var(--tt-navy); background: #fff; min-width: 250px; }
.ckgd-matrix tbody th, .ckgd-matrix tbody td { border-top: 1px solid var(--tt-line); vertical-align: middle; }
.ckgd-matrix tbody tr:hover th, .ckgd-matrix tbody tr:hover td { background: color-mix(in srgb, var(--tt-c-soft) 60%, #fff); }
.ckgd-row th { display: flex; align-items: center; gap: 12px; }
.ckgd-row__icon { flex: 0 0 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--tt-c-soft); color: var(--tt-c); font-size: 16px; }
.ckgd-row__text { display: flex; flex-direction: column; line-height: 1.35; }
.ckgd-row__text small { font-weight: 400; color: var(--tt-muted); font-size: 12.5px; margin-top: 2px; }
.ckgd-matrix td { text-align: center; padding: 10px 8px; }
.ckgd-law { font-size: 12.5px; font-weight: 700; color: var(--tt-c) !important; white-space: nowrap; }
.ckgd-cell { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--tt-c-soft); color: var(--tt-c) !important; font-weight: 700; font-size: 13px; transition: all .2s; }
.ckgd-cell:hover { background: var(--tt-c); color: #fff !important; transform: translateY(-2px); box-shadow: 0 6px 14px color-mix(in srgb, var(--tt-c) 35%, transparent); }
.ckgd-cell__num { min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #fff; color: var(--tt-c); font-size: 11.5px; display: inline-flex; align-items: center; justify-content: center; }
.ckgd-none { color: #b8c3d4; font-weight: 700; }
.ckgd-older { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 4px; }
.ckgd-older__label { color: var(--tt-muted); font-weight: 600; font-size: 14px; }
.ckgd-older__year { padding: 4px 12px; border-radius: 999px; background: var(--tt-bg); border: 1px solid var(--tt-line); color: var(--tt-blue-d) !important; font-weight: 600; font-size: 13px; }
.ckgd-older__year:hover { background: var(--tt-blue); color: #fff !important; border-color: var(--tt-blue); }
.ckgd-facts { list-style: none; margin: 16px 0 0; padding: 16px 18px; background: linear-gradient(135deg, #fffaf0, #f3f0ff); border-radius: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.ckgd-facts li { display: flex; gap: 10px; font-size: 14px; color: #3b4a62; line-height: 1.55; }
.ckgd-facts .fa { flex: 0 0 18px; color: var(--tt-orange); margin-top: 4px; }

/* Văn bản công khai (chi tiết) */
.ckgd-doc { margin-bottom: 10px; }
.ckgd-meta { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--tt-line); border-radius: 14px; overflow: hidden; margin: 0 0 16px; }
.ckgd-meta th, .ckgd-meta td { padding: 10px 14px; border-top: 1px solid var(--tt-line); vertical-align: top; font-size: 14.5px; }
.ckgd-meta tr:first-child th, .ckgd-meta tr:first-child td { border-top: 0; }
.ckgd-meta th { width: 30%; background: #f4f8fe; color: var(--tt-navy); font-weight: 700; }
.ckgd-content { margin: 6px 0 12px; }
.ckgd-hint { background: #fff8e6; border-left: 4px solid var(--tt-sun); padding: 10px 14px; border-radius: 10px; font-size: 14px; }

/* ---------- Thư viện ảnh, video ---------- */
.tt-home-gallery {
    position: relative; padding: 44px 0 30px; margin-top: 10px; color: #fff;
    background: radial-gradient(900px 300px at 10% 0%, rgba(255, 197, 49, .25), transparent 60%), radial-gradient(800px 300px at 100% 100%, rgba(236, 76, 132, .28), transparent 60%), linear-gradient(135deg, var(--tt-navy), #1550b8 60%, #5a3fd0);
}
.tt-home-gallery:empty, .tt-home-gallery .container:empty { display: none; }
.tt-sec-head--light { border-bottom-color: rgba(255, 255, 255, .2); }
.tt-sec-head--light:after { background: var(--tt-sun); }
.tt-sec-head--light .tt-sec-title, .tt-sec-head--light .tt-sec-title a { color: #fff !important; }
.tt-sec-head--light .tt-sec-title__icon { background: linear-gradient(180deg, var(--tt-sun), var(--tt-orange)); }
.tt-sec-head--light .tt-sec-more { color: var(--tt-sun) !important; }
.tt-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 120px; gap: 12px; margin-bottom: 20px; }
.tt-photo { position: relative; display: block; border-radius: 14px; overflow: hidden; background: rgba(255, 255, 255, .1); }
.tt-photo.is-big { grid-column: span 2; grid-row: span 2; }
.tt-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.tt-photo:hover img { transform: scale(1.08); }
.tt-photo__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 10px 8px; font-size: 12.5px; color: #fff; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .7)); opacity: 0; transition: opacity .25s; }
.tt-photo:hover .tt-photo__cap, .tt-photo.is-big .tt-photo__cap { opacity: 1; }
.tt-videos { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.tt-video { display: flex; gap: 12px; align-items: center; color: #fff !important; background: rgba(255, 255, 255, .08); border-radius: 14px; padding: 8px; transition: background .2s; }
.tt-video:hover { background: rgba(255, 255, 255, .16); color: var(--tt-sun) !important; }
.tt-video__thumb { position: relative; flex: 0 0 130px; height: 80px; border-radius: 10px; overflow: hidden; background: rgba(0, 0, 0, .25); }
.tt-video.is-lead { flex-direction: column; align-items: stretch; }
.tt-video.is-lead .tt-video__thumb { flex: none; height: auto; aspect-ratio: 16 / 9; }
.tt-video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.tt-video__ph { position: absolute; inset: 0; background: linear-gradient(135deg, var(--tt-pink), var(--tt-violet)); }
.tt-video__play { position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--tt-red); display: flex; align-items: center; justify-content: center; font-size: 16px; padding-left: 3px; box-shadow: 0 0 0 6px rgba(255, 255, 255, .3); transition: transform .25s; }
.tt-video:hover .tt-video__play { transform: scale(1.12); }
.tt-video__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 0 4px; }
.tt-video__title { font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-video .tt-meta { color: rgba(255, 255, 255, .75); }

/* ---------- Chân trang ---------- */
.tt-footer { position: relative; margin-top: 40px; color: rgba(255, 255, 255, .85); background: var(--tt-navy); font-size: 14.5px; }
.tt-home-gallery + .container + .tt-footer, .is-home .tt-footer { margin-top: 0; }
.tt-footer__wave { position: absolute; left: 0; right: 0; top: -58px; height: 60px; line-height: 0; }
.tt-footer__wave svg { width: 100%; height: 100%; }
.tt-footer__wave .w1 { fill: rgba(10, 43, 102, .45); }
.tt-footer__wave .w2 { fill: var(--tt-navy); }
.is-home .tt-footer__wave { display: none; }
.tt-footer__main { padding: 40px 0 14px; background: radial-gradient(700px 240px at 100% 0%, rgba(115, 87, 232, .25), transparent 60%), radial-gradient(600px 240px at 0% 100%, rgba(19, 102, 214, .3), transparent 60%); }
.tt-footer a, .tt-footer a:link, .tt-footer a:visited { color: #fff; }
.tt-footer a:hover { color: var(--tt-sun); }
.tt-footer h2, .tt-footer .tt-simple__title { color: #fff; }
.tt-footer__col { margin-bottom: 24px; }
.tt-footer .tt-simple__body ul { list-style: none; padding: 0; margin: 0; }
.tt-footer .tt-simple__body ul li { margin-bottom: 8px; }
.tt-footer .tt-simple__body ul li a:before { content: '\f105'; font-family: FontAwesome; margin-right: 8px; color: var(--tt-sun); }
.tt-footer .tt-links--list a:before { content: '\f0c1'; }
.tt-footer__qr { margin-top: 10px; }
.tt-school__brand { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.tt-school__logo { width: 64px; height: 64px; border-radius: 50%; background: #fff; padding: 4px; box-shadow: 0 0 0 3px var(--tt-sun); object-fit: contain; }
.tt-school__name { font-size: 18px; font-weight: 800; margin: 0; color: #fff; text-transform: uppercase; line-height: 1.35; }
.tt-school__slogan { margin: 2px 0 0; color: var(--tt-sun); font-style: italic; font-size: 13.5px; }
.tt-school__info { list-style: none; padding: 0; margin: 0; }
.tt-school__info li { display: flex; gap: 10px; margin-bottom: 8px; line-height: 1.55; }
.tt-school__info .fa { flex: 0 0 18px; margin-top: 4px; color: var(--tt-sun); text-align: center; }
.tt-school__info b { color: #fff; font-weight: 600; }
.tt-school__note { opacity: .85; }
.tt-school__map { margin-top: 12px; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 7; }
.tt-school__map iframe { width: 100%; height: 100%; display: block; }
.tt-school__hint { margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: rgba(255, 197, 49, .16); color: var(--tt-sun); font-size: 13px; }
.tt-footer__bottom { background: rgba(0, 0, 0, .22); padding: 14px 0; font-size: 13.5px; }
.tt-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tt-footer__copy p, .tt-footer__copy ul { margin: 0; }
.tt-footer .theme-change a, .tt-footer .theme-change span { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .1); margin-left: 4px; }
.tt-footer .counter-button, .tt-footer .qr-code-wraper img { border-radius: 8px; }
.tt-totop {
    position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #fff !important; font-size: 18px;
    background: linear-gradient(135deg, var(--tt-orange), var(--tt-pink)); box-shadow: 0 10px 22px rgba(236, 76, 132, .35);
    opacity: 0; visibility: hidden; transform: translateY(14px); transition: all .3s;
}
.tt-totop.is-show { opacity: 1; visibility: visible; transform: translateY(0); }
.tt-totop:hover { transform: translateY(-3px); }

/* ---------- Thành phần chung của module ---------- */
.tt-col-main > .panel, .tt-col-main .news_column > .panel, .tt-page .panel-default {
    border: 0; border-radius: var(--tt-radius); box-shadow: var(--tt-shadow);
}
.tt-page .panel-default > .panel-heading { background: #f6f9fe; border-color: var(--tt-line); border-radius: var(--tt-radius) var(--tt-radius) 0 0; font-weight: 700; color: var(--tt-navy); }
.tt-page .panel-primary { border: 0; border-radius: var(--tt-radius); box-shadow: var(--tt-shadow); overflow: hidden; }
.tt-page .panel-primary > .panel-heading { background: linear-gradient(90deg, var(--tt-blue-d), var(--tt-blue)); border: 0; }
.btn { border-radius: 10px; font-weight: 600; }
.btn-primary { background: linear-gradient(135deg, var(--tt-blue), var(--tt-blue-d)); border-color: var(--tt-blue-d); }
.btn-primary:hover, .btn-primary:focus { background: var(--tt-blue-d); border-color: var(--tt-navy); }
.btn-info { background: var(--tt-cyan); border-color: #0895b2; }
.btn-warning { background: var(--tt-orange); border-color: #e57400; }
.btn-success { background: var(--tt-green); border-color: #0f8f53; }
.form-control { border-radius: 10px; border-color: #d6e0ee; box-shadow: none; }
.form-control:focus { border-color: var(--tt-blue); box-shadow: 0 0 0 3px rgba(19, 102, 214, .12); }
.pagination > li > a, .pagination > li > span { border: 0; margin: 0 3px; border-radius: 10px !important; color: var(--tt-blue-d); background: #fff; box-shadow: 0 2px 6px rgba(15, 45, 100, .08); font-weight: 600; }
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover { background: linear-gradient(135deg, var(--tt-orange), var(--tt-pink)); color: #fff; }
.pagination > li > a:hover { background: var(--tt-c-soft); color: var(--tt-blue-d); }
.table > thead > tr > th { background: #f4f8fe; color: var(--tt-navy); border-bottom-width: 1px; }
.alert { border-radius: 14px; }
.alert-info { background: #ecf5ff; border-color: #cfe3fb; color: #12407f; }
.label { border-radius: 6px; }
.nav-tabs > li > a { border-radius: 10px 10px 0 0; }
.list-group-item:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; }
.list-group-item:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
.bodytext { font-size: 16px; line-height: 1.8; }
.bodytext img { border-radius: 10px; }
.bodytext table { max-width: 100%; }
.cookie-notice > div { border-radius: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
    .tt-quick__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
    .tt-brand__name { font-size: 36px; }
    .tt-brand__type { font-size: 17px; }
    .tt-search { width: 260px; }
    .tt-menu__list > li > a { padding: 0 11px; font-size: 13.5px; }
}
@media (max-width: 991px) {
    body { font-size: 15px; }
    .tt-header__inner { padding: 16px 0; }
    .tt-header__tools { display: none; }
    .tt-brand__logo { width: 84px; height: 84px; }
    .tt-brand__name { font-size: 32px; }
    .tt-feature, .tt-tabpane { grid-template-columns: 1fr; }
    .tt-ck__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ckgd-facts { grid-template-columns: 1fr; }
    .tt-col-side { margin-top: 10px; }

    /* Menu di động: ngăn kéo */
    .tt-nav { position: sticky; }
    .tt-nav .container { display: flex; align-items: center; min-height: 54px; }
    .tt-menu__toggle {
        display: inline-flex; align-items: center; gap: 10px; border: 0; background: rgba(255, 255, 255, .14); color: #fff;
        font-weight: 700; text-transform: uppercase; padding: 8px 14px; border-radius: 12px; font-size: 14px;
    }
    .tt-burger { display: inline-flex; flex-direction: column; gap: 4px; }
    .tt-burger i { display: block; width: 20px; height: 2.5px; border-radius: 2px; background: #fff; }
    .tt-burger i:nth-child(2) { width: 14px; background: var(--tt-sun); }
    .tt-menu__panel {
        position: fixed; top: 0; bottom: 0; left: 0; z-index: 1100; width: 86%; max-width: 360px; background: #fff;
        transform: translateX(-102%); transition: transform .3s ease; overflow-y: auto; box-shadow: var(--tt-shadow-h);
    }
    .tt-menu.is-open .tt-menu__panel { transform: translateX(0); }
    .tt-menu__backdrop { display: block; position: fixed; inset: 0; z-index: 1090; background: rgba(6, 20, 52, .55); opacity: 0; visibility: hidden; transition: all .3s; }
    .tt-menu.is-open .tt-menu__backdrop { opacity: 1; visibility: visible; }
    .tt-menu__panel-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: linear-gradient(90deg, var(--tt-blue-d), var(--tt-blue)); color: #fff; }
    .tt-menu__panel-title { font-weight: 800; text-transform: uppercase; }
    .tt-menu__close { border: 0; background: rgba(255, 255, 255, .18); color: #fff; width: 34px; height: 34px; border-radius: 50%; }
    .tt-menu__list { display: block; padding: 8px 10px 30px; }
    .tt-menu__list > li { border-bottom: 1px solid var(--tt-line); }
    .tt-menu__list > li > a { height: auto; padding: 13px 44px 13px 10px; color: var(--tt-navy) !important; text-transform: none; font-size: 15.5px; }
    .tt-menu__list > li > a:after { display: none; }
    .tt-menu__list > li:hover > a, .tt-menu__list > li.active > a { background: transparent; color: var(--tt-blue) !important; }
    .tt-menu__list > li.active > a { font-weight: 800; }
    .tt-menu__home-text { display: inline; font-size: 15.5px; }
    .tt-menu__home > a { font-size: 15.5px !important; }
    .tt-menu__home .fa { color: var(--tt-orange); }
    .tt-caret { display: none; }
    .tt-menu__expand { display: flex; align-items: center; justify-content: center; position: absolute; right: 4px; top: 8px; width: 34px; height: 34px; border: 0; border-radius: 10px; background: var(--tt-c-soft); color: var(--tt-blue); transition: transform .2s; }
    .tt-menu__list li.is-expanded > .tt-menu__expand { transform: rotate(180deg); }
    .tt-menu__sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 8px 12px; display: none; min-width: 0; border-radius: 0; }
    .tt-menu__list li.is-expanded > .tt-menu__sub { display: block; }
    .tt-menu__sub .tt-menu__sub { display: block; padding-left: 14px; }
    .tt-menu__sub a { padding: 9px 10px; font-size: 15px; }
    body.tt-menu-open { overflow: hidden; }
}
@media (max-width: 767px) {
    .tt-topbar__inner { min-height: 36px; }
    .tt-topbar__social { display: none; }
    .tt-brand { gap: 12px; }
    .tt-brand__logo { width: 68px; height: 68px; padding: 4px; box-shadow: 0 0 0 3px var(--tt-sun), 0 0 0 6px #fff, 0 8px 18px rgba(10, 43, 102, .2); }
    .tt-brand__org { font-size: 10.5px; letter-spacing: .8px; }
    .tt-brand__type { font-size: 13px; }
    .tt-brand__name { font-size: 26px; }
    .tt-brand__slogan { font-size: 12px; }
    .tt-header__decor .tt-deco-book, .tt-header__decor .tt-deco-pencil, .tt-dot--3, .tt-dot--4 { display: none; }
    .tt-slide__caption { padding: 50px 16px 16px; }
    .tt-slide__title { font-size: 18px; }
    .tt-slider__stage { border-radius: 16px; aspect-ratio: 4 / 3; }
    .tt-slider__nav { opacity: 1; width: 36px; height: 36px; font-size: 18px; }
    .tt-slider__dot { width: 72px; height: 46px; }
    .tt-quick__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .tt-quick__item a { flex-direction: row; text-align: left; padding: 12px; gap: 10px; font-size: 13.5px; }
    .tt-quick__icon { width: 44px; height: 44px; font-size: 19px; border-radius: 14px; flex: 0 0 44px; }
    .tt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .tt-sec-title { font-size: 18px; }
    .tt-sec-head { flex-wrap: wrap; align-items: center; }
    .tt-page--home .tt-col-main .tt-nl, .tt-page--home .tt-col-main .tt-ck, .ckgd-intro { padding: 16px; border-radius: 18px; }
    .tt-ck__tiles { grid-template-columns: 1fr; }
    .tt-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 110px; }
    .ckgd-intro__head { flex-direction: column; }
    .ckgd-meta th { width: 38%; }
    .tt-footer__bottom-inner { flex-direction: column; text-align: center; }
    .tt-mini-thumb { flex-basis: 84px; height: 58px; }
}
@media (max-width: 420px) {
    .tt-grid { grid-template-columns: 1fr; }
    .tt-brand__name { font-size: 22px; }
    .tt-brand__type { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { animation: none !important; transition: none !important; }
    .tt-ticker__track { animation: none !important; }
}
@media print {
    .tt-topbar, .tt-nav, .tt-ticker-zone, .tt-header__tools, .tt-header__decor, .tt-footer, .tt-totop, .tt-col-side, .tt-pagehead { display: none !important; }
    .tt-col-main { width: 100% !important; }
    body { background: #fff; }
}

/* ---------- Văn bản mới (module laws) ---------- */
.tt-laws { list-style: none; margin: 0; padding: 0; }
.tt-laws__item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--tt-line); }
.tt-laws__item:first-child { padding-top: 0; }
.tt-laws__item:last-child { border-bottom: 0; padding-bottom: 0; }
.tt-laws__icon { flex: 0 0 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--tt-c-soft); color: var(--tt-c); }
.tt-laws__body { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tt-laws__title { color: var(--tt-ink) !important; font-weight: 600; font-size: 14px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-laws__title:hover { color: var(--tt-c) !important; }
.tt-laws__code { font-weight: 700; color: var(--tt-c); }

/* Tinh chỉnh bảng công khai cho vừa 5 năm học */
.ckgd-matrix { min-width: 640px; }
.ckgd-matrix tbody th { min-width: 200px; padding: 10px 10px; font-size: 14px; }
.ckgd-row th { gap: 10px; }
.ckgd-row__icon { flex-basis: 32px; height: 32px; border-radius: 10px; font-size: 14px; }
.ckgd-row__text small { font-size: 12px; }
.ckgd-matrix thead th { padding: 11px 4px; font-size: 13px; }
.ckgd-matrix thead th a { padding: 3px 8px; }
.ckgd-matrix td { padding: 8px 3px; }
.ckgd-matrix .ckgd-law { padding: 8px 4px; }
.ckgd-cell { padding: 5px 9px; gap: 5px; font-size: 12.5px; }

/* ---------- Mô tả chuyên mục ---------- */
.tt-catdesc {
    display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; padding: 20px 22px; border-radius: 20px;
    background: linear-gradient(135deg, #eef5ff, #f6f1ff); border: 1px solid #dfe8f7; position: relative; overflow: hidden;
}
.tt-catdesc:before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, var(--tt-blue), var(--tt-violet)); }
.tt-catdesc__img { border-radius: 12px; max-width: 120px; }
.tt-catdesc__title { font-size: 22px; font-weight: 800; color: var(--tt-navy); margin: 0 0 6px; }
.tt-catdesc__text { margin: 0; color: #3b4a62; line-height: 1.7; }

/* ---------- Danh sách văn bản / bài viết dạng danh sách ---------- */
.tt-doclist { list-style: none; margin: 0 0 20px; padding: 0; counter-reset: none; }
.tt-doclist__item {
    display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; margin-bottom: 10px; background: #fff;
    border-radius: 16px; box-shadow: var(--tt-shadow); border: 1px solid transparent; transition: all .2s;
}
.tt-doclist__item:hover { border-color: #cfe0f8; transform: translateX(3px); }
.tt-doclist__num {
    flex: 0 0 auto; min-width: 36px; height: 36px; padding: 0 6px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px; color: #fff; background: linear-gradient(145deg, var(--tt-blue), var(--tt-violet));
}
.tt-doclist__item:nth-child(3n+2) .tt-doclist__num { background: linear-gradient(145deg, var(--tt-orange), var(--tt-pink)); }
.tt-doclist__item:nth-child(3n+3) .tt-doclist__num { background: linear-gradient(145deg, var(--tt-green), var(--tt-cyan)); }
.tt-doclist__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.tt-doclist__title { color: var(--tt-navy) !important; font-weight: 700; font-size: 15.5px; line-height: 1.45; }
.tt-doclist__title:hover { color: var(--tt-orange) !important; }
.tt-doclist__desc { color: var(--tt-muted); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-doclist__desc:empty { display: none; }
.tt-doclist__thumb { flex: 0 0 120px; height: 80px; border-radius: 12px; overflow: hidden; }
.tt-doclist__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mod-cong-khai-giao-duc .tt-doclist__thumb { display: none; }
.tt-catdesc__text p:last-child { margin-bottom: 0; }

/* Cây chuyên mục (block danh mục của module tin/công khai) */
.tt-card .metismenu, .tt-card .metismenu .sidebar { background: transparent; border: 0; box-shadow: none; margin: 0; }
.tt-card .metismenu .sidebar-nav ul { margin: 0; padding: 0; }
.tt-card .metismenu .sidebar-nav > ul > li { border-radius: 12px; margin-bottom: 6px; background: var(--tt-c-soft); overflow: hidden; border: 0; }
.tt-card .metismenu .sidebar-nav li a { color: var(--tt-navy) !important; background: transparent !important; font-weight: 600; padding: 9px 36px 9px 14px; border: 0 !important; }
.tt-card .metismenu .sidebar-nav li a:hover, .tt-card .metismenu .sidebar-nav li.active > a { color: var(--tt-c) !important; }
.tt-card .metismenu .sidebar-nav li ul { background: #fff; padding: 4px 0 6px; }
.tt-card .metismenu .sidebar-nav li ul li a { font-weight: 500; padding: 7px 14px 7px 26px; font-size: 14px; position: relative; }
.tt-card .metismenu .sidebar-nav li ul li a:before { content: ''; position: absolute; left: 13px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--tt-c); }
.tt-card .metismenu .arrow, .tt-card .metismenu .expand { color: var(--tt-c); }

/* ---------- Module tin tức: các kiểu danh sách ---------- */
.tt-col-main .news_column > .panel { margin-bottom: 16px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.tt-col-main .news_column > .panel:hover { box-shadow: var(--tt-shadow-h); }
.tt-col-main .news_column .panel-body { padding: 16px 18px; }
.tt-col-main .news_column .imghome {
    width: 230px !important; height: 150px; object-fit: cover; border-radius: 14px; border: 0; padding: 0; margin: 0 18px 8px 0; background: var(--tt-bg);
}
.tt-col-main .news_column .featured .imghome { width: 100% !important; height: auto; aspect-ratio: 16 / 8; float: none !important; margin: 0 0 14px; }
.tt-col-main .news_column h2, .tt-col-main .news_column h3 { font-size: 17.5px; font-weight: 800; line-height: 1.4; margin: 0 0 6px; }
.tt-col-main .news_column .featured h2 { font-size: 22px; }
.tt-col-main .news_column h2 a, .tt-col-main .news_column h3 a { color: var(--tt-navy) !important; }
.tt-col-main .news_column h2 a:hover, .tt-col-main .news_column h3 a:hover { color: var(--tt-orange) !important; }
.tt-col-main .news_column .text-muted ul { margin: 0 0 8px; }
.tt-col-main .news_column .text-muted li { font-size: 13px; color: var(--tt-muted); padding-right: 12px; }
.tt-col-main .news_column .alert-info { border: 0; border-radius: 20px; background: linear-gradient(135deg, #eef5ff, #f6f1ff); padding: 18px 22px; }
.tt-col-main .news_column .alert-info h1, .tt-col-main .news_column .alert-info h3 { font-size: 22px; font-weight: 800; color: var(--tt-navy); margin: 0 0 6px; }
.tt-col-main .related { list-style: none; padding: 0; }
.tt-col-main .related li { padding: 7px 0; border-bottom: 1px dashed var(--tt-line); }
.tt-col-main .related li .fa { color: var(--tt-orange); }
.tt-col-main hr + h4, .tt-col-main .news_column h4.margin-bottom-lg { font-weight: 800; color: var(--tt-navy); text-transform: uppercase; font-size: 16px; }
.icon_new { filter: hue-rotate(-20deg); }

/* Chi tiết bài viết */
.tt-col-main .news_column h1.title { font-size: 27px; font-weight: 800; color: var(--tt-navy); line-height: 1.35; }
.tt-col-main .news_column .hometext { font-weight: 600; color: #2c3d57; font-size: 16.5px; line-height: 1.7; }
.tt-col-main .news-download-file .list-group-item { border-color: var(--tt-line); }
.tt-col-main #news-bodyhtml { font-size: 16px; }
.tt-col-main .news_column .panel-body > .row .h5 { color: var(--tt-muted); }
.tt-col-main .news_column .list-inline .dimgray .fa { width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 10px; background: var(--tt-c-soft); color: var(--tt-blue); }
.tt-col-main .news_column .list-inline .dimgray:hover .fa { background: var(--tt-blue); color: #fff; }

@media (max-width: 767px) {
    .tt-col-main .news_column .imghome { width: 100% !important; height: auto; aspect-ratio: 16 / 9; float: none !important; margin: 0 0 12px; }
    .tt-col-main .news_column h1.title { font-size: 22px; }
    .tt-doclist__item { padding: 12px; gap: 10px; }
    .tt-doclist__thumb { display: none; }
}
a.btn-primary, a.btn-success, a.btn-info, a.btn-warning, a.btn-danger,
a.btn-primary:link, a.btn-success:link, a.btn-info:link, a.btn-warning:link, a.btn-danger:link,
a.btn-primary:visited, a.btn-success:visited, a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited { color: #fff !important; }
a.btn-default, a.btn-default:link, a.btn-default:visited { color: #333 !important; }

/* ---------- Module Văn bản (laws), Tài nguyên (download), Ảnh, Video ---------- */
.tt-col-main .table-responsive, .mod-laws .tt-col-main > .table, .mod-laws .tt-col-main table.table {
    background: #fff; border-radius: 16px; box-shadow: var(--tt-shadow); overflow: hidden;
}
.mod-laws .tt-col-main table.table { border: 0; }
.mod-laws .tt-col-main table.table > thead > tr > th { background: linear-gradient(180deg, var(--tt-blue-d), var(--tt-navy)); color: #fff; border: 0; font-size: 13.5px; }
.mod-laws .tt-col-main table.table > tbody > tr > td { border-color: var(--tt-line); padding: 10px 8px; }
.mod-laws .tt-col-main table.table > tbody > tr:nth-child(even) > td { background: #f8fbff; }
.mod-laws .tt-col-main table.table > tbody > tr:hover > td { background: #eef5ff; }
.tt-col-main .well.tt-well { border: 0; box-shadow: var(--tt-shadow); background: linear-gradient(135deg, #fff, #f6f9ff); }
.tt-card ul li .fa-comment-o, .tt-card .list-unstyled li { line-height: 1.7; }
.mod-download .tt-col-main .panel, .mod-photos .tt-col-main .panel, .mod-videos .tt-col-main .panel { border: 0; border-radius: var(--tt-radius); box-shadow: var(--tt-shadow); }
.mod-photos .tt-col-main img, .mod-videos .tt-col-main img { border-radius: 12px; }

/* Di động: menu mở nằm trên cùng, ẩn trang trí header, tiêu đề slider gọn */
body.tt-menu-open .tt-nav { z-index: 1200; }
@media (max-width: 767px) {
    .tt-header__decor { display: none; }
    .tt-slide__title { font-size: 17px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .tt-slide__caption .tt-chip { font-size: 11px; }
    .tt-home-hero { padding-top: 16px; }
    .tt-ticker__label { padding: 5px 10px; font-size: 12px; }
}

/* Bảng công khai: cố định cột nhóm khi cuộn ngang */
.ckgd-matrix thead th:first-child, .ckgd-matrix tbody th { position: sticky; left: 0; z-index: 2; }
.ckgd-matrix thead th:first-child { background: var(--tt-navy); }
.ckgd-matrix tbody th { box-shadow: 6px 0 10px -8px rgba(10, 43, 102, .25); }
.ckgd-swipe { display: none; }
@media (max-width: 767px) {
    .ckgd-matrix tbody th { min-width: 168px; max-width: 168px; }
    .ckgd-row__icon { display: none; }
    .ckgd-row__text small { display: none; }
    .ckgd-swipe { display: block; text-align: center; color: var(--tt-muted); font-size: 12.5px; margin: 8px 0 0; }
    .ckgd-intro__title { font-size: 19px; }
    .ckgd-lead { font-size: 14.5px; }
}

/* ---------- Khối tab "tin chính ảnh đẹp nhất" (spotlight): 3 tin bên trái, tin chính bên phải ---------- */
.tt-spot .tab-content { margin-top: 2px; }
.tt-spot__grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr); gap: 20px; align-items: stretch; }
.tt-spot__side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.tt-spot__item { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 12px; align-items: start; padding-bottom: 12px; border-bottom: 1px dashed var(--tt-line); }
.tt-spot__item:last-of-type { border-bottom: 0; }
.tt-spot__thumb { display: block; height: 86px; border-radius: 12px; overflow: hidden; background: var(--tt-c-soft); }
.tt-spot__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.tt-spot__item:hover .tt-spot__thumb img { transform: scale(1.06); }
.tt-spot__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tt-spot__title { margin: 0; font-size: 14.5px; font-weight: 700; line-height: 1.42; }
.tt-spot__title a { color: var(--tt-ink) !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-spot__title a:hover { color: var(--tt-c) !important; }
.tt-spot__side .tt-btn-more { margin-top: auto; align-self: flex-start; }
.tt-spot__lead { position: relative; border-radius: 18px; overflow: hidden; min-height: 340px; background: var(--tt-navy); box-shadow: var(--tt-shadow); }
.tt-spot__img, .tt-spot__img img { display: block; width: 100%; height: 100%; }
.tt-spot__img { position: absolute; inset: 0; }
.tt-spot__img img { object-fit: cover; transition: transform .6s ease; }
.tt-spot__lead:hover .tt-spot__img img { transform: scale(1.04); }
.tt-spot__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 20px 18px; background: linear-gradient(180deg, transparent, rgba(6, 20, 52, .6) 35%, rgba(6, 20, 52, .94)); color: #fff; }
.tt-spot__leadtitle { margin: 8px 0 6px; font-size: 19px; font-weight: 800; line-height: 1.35; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.tt-spot__leadtitle a { color: #fff !important; }
.tt-spot__leadtitle a:hover { color: var(--tt-sun) !important; }
.tt-spot__desc { margin: 0 0 6px; color: rgba(255, 255, 255, .86); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tt-spot__desc:empty { display: none; }
.tt-spot__date { font-size: 13px; color: rgba(255, 255, 255, .8); }
@media (max-width: 767px) {
    .tt-spot__grid { grid-template-columns: 1fr; }
    .tt-spot__lead { order: -1; min-height: 260px; }
    .tt-spot__item { grid-template-columns: 104px minmax(0, 1fr); }
    .tt-spot__thumb { height: 72px; }
}

/* Văn bản mới: chữ thường, không in đậm */
.tt-laws__title { font-weight: 400; }
.tt-laws__code { font-weight: 400; }

/* Trang nhất: khối đầu cột phải cao bằng khối đầu cột chính (js/custom.js đặt chiều cao, ẩn mục không vừa) */
@media (min-width: 992px) {
    .tt-page--home .tt-card.tt-eq { display: flex; flex-direction: column; }
    .tt-page--home .tt-card.tt-eq > .tt-card__head { flex: 0 0 auto; }
    .tt-page--home .tt-card.tt-eq > .tt-card__body { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
    .tt-page--home .tt-card.tt-eq > .tt-card__body > ul { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }
    .tt-page--home .tt-card.tt-eq .tt-laws__item:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* Trang nhất – hàng tin nổi bật: ảnh lớn giãn cao bằng khối Thông báo, ảnh nhỏ trải đều bề ngang */
.tt-slide__title { font-size: 21px; line-height: 1.38; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 992px) {
    .tt-home-hero .tt-slider { display: flex; flex-direction: column; }
    .tt-home-hero .tt-slider__stage { flex: 1 1 auto; aspect-ratio: auto; min-height: 360px; }
    .tt-home-hero .tt-slider__dots {
        flex: 0 0 auto; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
        gap: 12px; margin-top: 14px; padding: 4px 0 0; overflow: visible;
    }
    .tt-home-hero .tt-slider__dot { width: auto; height: 66px; }
}
@media (max-width: 991px) {
    .tt-slide__title { font-size: 17px; }
}
@media (max-width: 767px) {
    .tt-slide__title { font-size: 16px; -webkit-line-clamp: 2; }
}

/* Nút "Xem tất cả": nền gọn ôm sát chữ (bỏ vòng tròn trang trí lớn ở góc khối Thông báo) */
.tt-home-hero .tt-nl--notice:before { display: none; }
.tt-sec-more {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px; border-radius: 999px; line-height: 1.45;
    background: var(--tt-c-soft, #eef3fb); transition: background .2s, color .2s;
}
.tt-sec-more:hover { background: color-mix(in srgb, var(--tt-c, #0b4fae) 16%, #fff); }
.tt-sec-head--light .tt-sec-more { background: rgba(255, 255, 255, .12); }
.tt-sec-head--light .tt-sec-more:hover { background: rgba(255, 255, 255, .22); }
.tt-sec-head { align-items: center; }

/* Khối Công khai giáo dục: tiêu đề văn bản chữ thường (không đậm); trang nhất: đáy ngang đáy cột phải (js/custom.js) */
.tt-ck__list a { font-weight: 400; }
@media (min-width: 992px) {
    .tt-page--home .tt-ck.tt-eq-main { display: flex; flex-direction: column; overflow: hidden; }
    .tt-page--home .tt-ck.tt-eq-main > .tt-ck__list {
        flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between;
    }
}

/* Thư viện ảnh & Video: hai cột cao bằng nhau – cột video 1 video lớn + 2 video nhỏ, lưới ảnh giãn vừa khung, phần thừa ẩn */
@media (min-width: 992px) {
    .tt-gallery > .row { display: flex; }
    .tt-gallery > .row > [class*=col-] { display: flex; flex-direction: column; }
    .tt-gallery .tt-photos { flex: 1 1 0; min-height: 0; grid-template-rows: repeat(3, minmax(0, 1fr)); overflow: hidden; }
    .tt-gallery .tt-photo:nth-child(n+10) { display: none; }
    .tt-gallery .tt-photo img { position: absolute; inset: 0; }
    .tt-gallery .tt-video:nth-child(n+4) { display: none; }
}

/* Trang nhất: vùng nội dung rộng dưới hai cột (Dạy và học - Phong trào, Bán trú) */
.tt-page--home .tt-col-main .tt-nl, .tt-page--home .tt-col-main .tt-ck { margin-bottom: 24px; }
.tt-home-wide .tt-nl { background: #fff; border-radius: 22px; box-shadow: var(--tt-shadow); padding: 20px 22px 22px; margin-bottom: 30px; }
@media (min-width: 992px) {
    .tt-home-wide .tt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tt-home-wide .tt-spot__grid { grid-template-columns: 1fr 1.6fr; }
}
@media (max-width: 991px) {
    .tt-home-wide .tt-nl { padding: 16px; border-radius: 18px; }
}

/* Danh sách tin phụ (cạnh tin chính): tiêu đề chữ thường, không đậm */
.tt-feature__item a, .tt-thumbs li > div > a, .tt-spot__title, .tt-spot__title a { font-weight: 400; }

/* Danh mục chuyên mục dạng cây (cột phải): bỏ nền xanh của metisMenu, cả dòng bấm được để mở mục con */
.tt-card .metismenu .sidebar-nav { background: transparent !important; }
.tt-card .metismenu .sidebar-nav > ul > li { position: relative; }
.tt-card .metismenu .sidebar-nav > ul > li > .arrow { position: absolute; right: 6px; top: 6px; margin: 0; }
.tt-card .metismenu .sidebar-nav li.tt-cat-all > a { font-style: italic; color: var(--tt-c) !important; }

/* Bảng danh sách văn bản: tên cột căn giữa ô (ngang và dọc), trích yếu chữ thường */
@media (min-width: 768px) {
    .flex-table-laws > .table-head > div { display: flex; align-items: center; justify-content: center; text-align: center; }
}
.flex-table-laws .c-intro .l-title { font-weight: 400; }

/* Menu ngang: các mục giãn đều phủ kín chiều ngang thanh menu (không còn khoảng trống bên phải) */
@media (min-width: 992px) {
    .tt-menu__list { flex-wrap: nowrap; }
    .tt-menu__list > li:not(.tt-menu__home) { flex: 1 1 auto; }
    .tt-menu__list > li > a { justify-content: center; }
    .tt-menu__list > li:nth-last-child(-n+2) > .tt-menu__sub { left: auto; right: 0; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .tt-menu__list > li > a { padding: 0 7px; font-size: 12.5px; letter-spacing: 0; gap: 4px; }
    .tt-menu__list > li > a:after { left: 7px; right: 7px; }
}
