@font-face {
  font-family: "svn_last_paradise";
  src: url("../fonts/svn_last_paradise.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* Desktop/tablet ngang: đẩy các khung dưới banner xuống để tránh che nhân vật nền. */
@media (min-width: 1201px) {
  /* Dịch đồng bộ toàn bộ nội dung phía trước; không di chuyển nền banner. */
  body > .topmain,
  body > main {
    position: relative;
    top: 160px !important;
  }

  .list3link-section {
    position: static;
    margin-top: 0 !important;
  }

  .topmain__left {
    position: static;
  }

  /* Bù đúng phần dịch của main để footer không đè lên section nhân vật. */
  body > .site-footer {
    margin-top: 160px !important;
  }
}

/* Khoảng cách riêng cho desktop: giữ nguyên banner, đẩy các khối phía dưới. */
@media (min-width: 1201px) {
  .list3link-section {
    margin-top: 50px !important;
  }

  /* Thu hẹp khoảng cách giữa các khối đầu trang trên PC. */
  .list3link-section {
    margin-top: 15px !important;
  }

  .main-container {
    margin-top: 15px !important;
  }
}

/* Đẩy toàn bộ nội dung dưới banner xuống, giữ nguyên vị trí banner. */
.list3link-section {
  margin-top: 28px;
}

/* Reset cÃ†Â¡ bÃ¡ÂºÂ£n */
html {
  background: #faf6f7 url("../images/bannerblk1.png?v=4k2") no-repeat center -51px / min(100%, 3840px) auto;
}

body {
  /* Banner thứ hai được fade vào ở phần cuối banner đầu để không tạo đường cắt. */
  background: transparent;
  position: relative;
  isolation: isolate;
  margin: 0;
  padding: 0;
}

body::before {
  content: "";
  background: url("../images/bannerblk2.png?v=20261021") no-repeat center top / 100% auto !important;
  position: absolute;
  /* Chồng sâu hơn để mây/lá của banner 2 nối vào banner 1, không để hở mảng nền. */
  top: calc(min(56.25vw, 2160px) - min(20vw, 768px));
  left: 50%;
  z-index: 0;
  width: min(100%, 3840px);
  height: min(56.28vw, 2161.2px);
  transform: translateX(-50%);
  pointer-events: none;
  background: url("../images/bannerblk2.png?v=3") no-repeat center top / 100% auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 140px);
  mask-image: linear-gradient(to bottom, transparent 0, #000 140px);
}

body::after {
  content: none;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: min(100%, 3840px);
  height: min(56.28vw, 2161.2px);
  transform: translateX(-50%);
  pointer-events: none;
  background: url("../images/bannerblk3.png?v=1") no-repeat center top / 100% auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 140px);
  mask-image: linear-gradient(to bottom, transparent 0, #000 140px);
}

body > header,
body > main,
body > footer {
  position: relative;
  z-index: 1;
}

/* Các khối đầu trang được render ngoài thẻ main cũng phải nằm trên lớp mây nền. */
body > .infotop,
body > .topmain,
body > .event-page,
body > .feature-page {
  position: relative;
  z-index: 1;
}

/* Trang Sự kiện kết thúc ở footer, không kéo lớp banner nối xuống bên dưới. */
body:has(.event-page)::before,
body:has(.event-page)::after,
body:has(.feature-page)::before,
body:has(.feature-page)::after {
  content: none;
}

/* Footer của trang Sự kiện nối trực tiếp với banner, không tạo dải trắng. */
body:has(.event-page) .site-footer {
  margin-top: 0;
}

body:has(.feature-page) .site-footer {
  margin-top: 0;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
}

/* Header */
.header {
  /* background: #000000bd; */   /* nÃ¡Â»Ân menu */
  padding: 25px 0;
}

/* Nav full width */
.nav {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Nav container giÃ¡Â»â€ºi hÃ¡ÂºÂ¡n 980px */
.nav__container {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 70px;
  align-items: center;
  position: relative;
}

/* Menu trÃƒÂ¡i + phÃ¡ÂºÂ£i */
.nav__list {
  display: flex;
  gap: 25px;
}
.nav__list a {
  font-family: "Cambria", serif;
  color: #000000;
  font-size: 1.2rem;
  transition: color 0.3s ease;
  font-weight: bold;
}

.nav__list a:hover {
  color: #ffe100; /* vÃƒÂ­ dÃ¡Â»Â¥: Ã„â€˜Ã¡Â»â€¢i sang vÃƒÂ ng khi hover */
}
/* Logo giÃ¡Â»Â¯a */
.nav__logo {
  position: fixed;
  z-index: 1000;
  left: 0;
  right: auto;
  top: 0;
  transform: none;
  margin-top: 0;
}
.nav__logo img {
  width: 220px !important;
  height: 220px !important;
  object-fit: contain;
  display: block;
}
html body .nav__logo {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 2147483647 !important;
}
html body img[src*="logo-moi.png"] {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 2147483647 !important;
  transform: none !important;
}
/* Infotop */
.infotop {
  margin-top: 240px;
  text-align: center;
  font-size: 20px;
  color: #333;
}
/* Top Main */
.topmain {
  margin-top: 40px;
  padding: 5px 0;
}

.topmain__container {
  position: relative;   /* Ã„â€˜Ã¡Â»Æ’ cÃƒÂ³ thÃ¡Â»Æ’ Ã„â€˜Ã¡ÂºÂ·t item con dÃ¡ÂºÂ¡ng absolute nÃ¡ÂºÂ¿u cÃ¡ÂºÂ§n */
  width: 960px;         /* fix ngang 980px */
  height: auto;
  min-height: 261px;
  margin: 0 auto;       /* cÃ„Æ’n giÃ¡Â»Â¯a mÃƒÂ n hÃƒÂ¬nh */
  display: flex;        /* chia cÃ¡Â»â„¢t bÃ¡ÂºÂ±ng flex thay vÃƒÂ¬ grid */
  justify-content: space-between;
  align-items: flex-start;
  background-color: #e3e0dc;
  border: 2px solid #b8860b; /* viền ngoài màu vàng */
  box-sizing: border-box;    /* tÃƒÂ­nh cÃ¡ÂºÂ£ border vÃƒÂ o width/height */
  padding: 1px;
}

/* CÃ¡Â»â„¢t trÃƒÂ¡i */
.topmain__left {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 227px;
  flex: 0 0 227px;
}

.topmain__center {
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
}

.topmain__right {
  display: none !important;
}

/* Ẩn cột liên kết phụ trên màn hình mobile để không tạo khung trắng bên phải. */
@media (max-width: 600px) {
  .social-links-row { display: none; }
  .topmain__right {
    display: none;
  }

  .topmain__container {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Responsive mobile: giữ đúng thứ tự các khối như PC nhưng không để layout
   cố định 960px/491px làm tràn ngang màn hình nhỏ. */
@media (max-width: 1200px) {
  /* Trang tin dùng cùng khung đầu trang với trang chủ khi hiển thị responsive. */
  body.article-desktop-layout .topmain__container {
    width: calc(100% - 12px) !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.article-desktop-layout .topmain__left {
    width: 24% !important;
    flex: 0 0 24% !important;
  }

  body.article-desktop-layout .topmain__center {
    width: 76% !important;
    flex: 0 0 76% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.article-desktop-layout .topmain__right {
    display: none !important;
  }

  body.article-desktop-layout .banner-slider {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 491 / 253 !important;
    margin: 0 !important;
  }

  body {
    background-position: center -35px;
  }

  .header {
    padding: 18px 8px 12px;
  }

  .nav__container {
    justify-content: center;
    gap: clamp(40px, 13vw, 96px);
    padding-left: 0;
  }

  .nav__list {
    gap: 10px;
  }

  .nav__list a {
    font-size: clamp(0.78rem, 2.4vw, 1.05rem);
    white-space: nowrap;
  }

  .nav__logo img {
    width: 125px !important;
    height: 125px !important;
  }

  html body .nav__logo,
  html body img[src*="logo-moi.png"] {
    top: 0 !important;
  }

  .topmain {
    margin-top: 105px;
  }

  .topmain__container {
    width: 100%;
    height: auto;
    min-height: 0;
    align-items: stretch;
    padding: 1px;
  }

  .topmain__right {
    display: none;
  }

  .topmain__left {
    width: 34%;
    flex: 0 0 34%;
  }

  .topmain__center {
    width: 66%;
    flex: 0 0 66%;
    padding: 2px;
  }

  .btn-download,
  .btn-register,
  .btn-napthe {
    width: 100%;
  }

  .btn-download {
    height: auto;
    aspect-ratio: 227 / 122;
  }

  .btn-register,
  .btn-napthe {
    height: auto;
    min-height: 52px;
    font-size: clamp(10px, 2.1vw, 16px);
  }

  .btn-register span,
  .btn-napthe span {
    font-size: inherit;
    white-space: nowrap;
  }

  .banner-slider {
    width: 100%;
    height: auto;
    aspect-ratio: 491 / 253;
  }

  .list3link-section,
  .main-container {
    width: calc(100% - 12px);
  }

  .list3link-section {
    margin-top: 8px;
  }

  .list-3link {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  .link-to3link {
    width: 100%;
    height: 68px;
    padding: 10px 8px;
  }

  .link-to3link .name-3link {
    font-size: clamp(11px, 2.6vw, 16px);
  }

  .main-container {
    display: flex;
    flex-direction: row;
    gap: 2%;
    margin: 16px auto;
    aspect-ratio: 960 / 391;
  }

  .main-left {
    width: 24%;
    height: 100%;
    flex: 0 0 24%;
  }

  .daily-timeline {
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  .main-right {
    flex: 1 1 0;
    width: auto;
    height: 100%;
    min-height: 0;
  }
  }

.topmain__center {
  display: flex;
  flex-direction: column;
  padding: 3px;
}


/*
 * Trang đọc tin dùng một canvas PC cố định. Trên điện thoại, bài viết ban đầu
 * vì vậy sẽ tràn ngang như giao diện PC; người đọc có thể pinch-zoom nhỏ để
 * xem toàn bộ form, thay vì bị CSS mobile ép bảng/ảnh co vào một khung hẹp.
 * Chỉ áp dụng cho viewpost.php.
 */
@media (max-width: 1200px) {
  html:has(body.article-desktop-layout),
  body.article-desktop-layout {
    max-width: none !important;
    overflow-x: visible !important;
  }

  body.article-desktop-layout {
    min-width: 960px;
    /* Header của trang tin là fixed; không chừa khoảng trắng mobile ở đầu trang. */
    padding-top: 0 !important;
  }

  /* Banner đầu trang giữ tỷ lệ theo canvas PC của bài viết, không bị co theo
     chiều rộng màn hình điện thoại. */
  html:has(body.article-desktop-layout) {
    /* Phủ trọn ngang canvas PC 960px, giữ tỷ lệ gốc của banner. */
    background-position: left top;
    background-size: 960px auto;
  }

  /* Phần đầu bài tin dùng lại đúng lưới 960px của PC. */
  body.article-desktop-layout .topmain {
    /* Cụm nút chồng vào phần dưới banner như bố cục PC mẫu. */
    margin-top: 180px;
    padding: 5px 0;
  }

  body.article-desktop-layout .topmain__container {
    width: 960px;
    min-height: 261px;
    margin: 0 auto;
    padding: 1px;
    align-items: flex-start;
  }

  body.article-desktop-layout .topmain__left {
    width: 227px;
    flex: 0 0 227px;
    gap: 3px;
  }

  body.article-desktop-layout .topmain__center {
    width: 491px;
    flex: 0 0 491px;
    padding: 3px;
  }

  body.article-desktop-layout .topmain__right {
    display: block;
    width: 230px;
    flex: 0 0 230px;
  }

  body.article-desktop-layout .btn-download {
    width: 227px;
    height: 122px;
  }

  body.article-desktop-layout .btn-register,
  body.article-desktop-layout .btn-napthe {
    width: 227px;
    height: 64px;
    min-height: 0;
    aspect-ratio: auto;
    font-size: 16px;
  }

  body.article-desktop-layout .banner-slider {
    width: 491px;
    height: 253px;
    aspect-ratio: auto;
  }

  body.article-desktop-layout .fourlink-cskh {
    width: auto;
    padding: 5px 0 0 2px;
  }

  body.article-desktop-layout .fourlink-cskh .detail-fourlink {
    width: 230px;
    gap: 3px;
  }

  body.article-desktop-layout .fourlink-cskh .link-dt-4link {
    width: 112px;
    height: 105px;
    aspect-ratio: auto;
    font-size: 12px;
  }

  body.article-desktop-layout .cskh-number {
    width: 230px;
    height: 40px;
  }

  body.article-desktop-layout .post-header.article-post-header,
  body.article-desktop-layout .viewpost .container {
    width: 960px !important;
    box-sizing: border-box;
  }

  body.article-desktop-layout .post-header.article-post-header {
    min-height: 108px;
    margin: 0 auto;
    padding: 11px 52px 11px 84px;
  }

  body.article-desktop-layout .article-post-header .article-post-icon {
    left: -68px;
    transform: translateY(-50%);
  }

  body.article-desktop-layout .article-post-header .post-title {
    font-size: 25px;
  }

  body.article-desktop-layout .article-post-header .post-date {
    font-size: 17px;
  }

  body.article-desktop-layout .viewpost .container {
    margin: 0 auto 20px;
    padding: 20px;
    overflow: visible;
  }

  body.article-desktop-layout .article-page,
  body.article-desktop-layout .article-page .container,
  body.article-desktop-layout .article-page .post-content {
    min-width: 0;
    max-width: none;
  }

  body.article-desktop-layout .article-page .post-content {
    overflow-wrap: normal;
    word-break: normal;
  }

  body.article-desktop-layout .article-page .post-content table,
  body.article-desktop-layout .viewpost table {
    width: 90% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    table-layout: auto;
  }

  body.article-desktop-layout .article-page .post-content table th,
  body.article-desktop-layout .article-page .post-content table td {
    width: auto !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.article-desktop-layout .btn-topup {
    display: flex !important;
    width: 227px !important;
    height: 122px !important;
    flex: 0 0 227px !important;
    aspect-ratio: auto !important;
    background: url("../images/napthe.png") no-repeat center center !important;
    background-size: 100% 100% !important;
    border: 0 !important;
    position: relative !important;
    overflow: hidden !important;
  }
}

/* Reset section đầu trang tin theo đúng layout trang chủ. */
@media (max-width: 1200px) {
  body.article-desktop-layout .topmain__container {
    display: flex !important;
    width: calc(100% - 12px) !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  body.article-desktop-layout .topmain__left {
    display: flex !important;
    flex-direction: column !important;
    width: 24% !important;
    flex: 0 0 24% !important;
    gap: 3px !important;
  }

  body.article-desktop-layout .topmain__left .btn-download,
  body.article-desktop-layout .topmain__left .btn-register,
  body.article-desktop-layout .topmain__left .btn-napthe,
  body.article-desktop-layout .topmain__left .btn-topup {
    width: 100% !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
  }

  body.article-desktop-layout .topmain__left .btn-download {
    height: auto !important;
    aspect-ratio: 227 / 122 !important;
  }

  body.article-desktop-layout .topmain__left .btn-register,
  body.article-desktop-layout .topmain__left .btn-napthe,
  body.article-desktop-layout .topmain__left .btn-topup {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 227 / 66 !important;
  }

  body.article-desktop-layout .topmain__center {
    display: flex !important;
    width: 76% !important;
    flex: 0 0 76% !important;
    min-width: 0 !important;
    padding: 2px !important;
  }

  body.article-desktop-layout .topmain__center .banner-slider {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 491 / 253 !important;
    margin: 0 !important;
  }

  body.article-desktop-layout .topmain__right {
    display: none !important;
  }
}

/* PC: bù khoảng dịch 160px của nội dung chính để footer không phủ lên section nhân vật. */
@media (min-width: 1201px) {
  body > .site-footer {
    margin-top: 160px !important;
  }

  /* Trang Tin Tức: kết thúc ngay sau khung danh sách, không giữ khoảng trống của trang sự kiện. */
  body:has(.news-page) .news-page {
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  body:has(.news-page) > .site-footer {
    margin-top: 0 !important;
  }
}

.btn-download {
  display: block;
  width: 227px;
  height: 122px;
  background: url("../images/btn_download1.png") no-repeat center center;
  background-size: 100% 100%;
  position: relative;
  /* overflow: hidden; */

  filter: brightness(1.1); /* Ã°Å¸Å’Å¸ sÃƒÂ¡ng hÃ†Â¡n 10% ngay cÃ¡ÂºÂ£ khi bÃƒÂ¬nh thÃ†Â°Ã¡Â»Âng */
  transition: filter 0.3s ease;
}

#download_canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.btn-download::before {
  content: "";
  position: absolute;
  width: 161px;
  height: 336px;
  background: url("../images/icon-dl1-transparent.png") no-repeat center center;
  background-size: 100% 100%;
  left: -46px;
  top: -92px;
  pointer-events: none;
}

/* Base style cho nÃƒÂºt cÃƒÂ³ chÃ¡Â»Â¯ + dot */
.btn-register,
.btn-napthe {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px; /* khoÃ¡ÂºÂ£ng cÃƒÂ¡ch giÃ¡Â»Â¯a dot vÃƒÂ  chÃ¡Â»Â¯ */
  width: 227px;
  height: 64px;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  text-decoration: none;
  text-transform: uppercase;
  background-size: 100% auto;
  background-attachment: fixed;
}

/* NÃƒÂºt Ã„â€˜Ã„Æ’ng kÃƒÂ½ */
.btn-register {
  background: url("../images/dangky1.png") no-repeat center center;
  background-size: cover;
  transition: filter 0.2s ease;
}
.btn-register:hover {
  filter: brightness(1.25);
}

/* NÃƒÂºt nÃ¡ÂºÂ¡p thÃ¡ÂºÂ» */
.btn-napthe {
  background: url("../images/dangky1.png") no-repeat center center;
  background-size: cover;
  transition: filter 0.2s ease;
}
.btn-napthe:hover {
  filter: brightness(1.25);
}

.btn-topup {
  display: flex;
  width: 227px;
  height: 122px;
  align-items: center;
  justify-content: center;
  color: #fff5bd;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 1px;
  text-decoration: none;
  text-shadow: 2px 2px 0 #6d2500, 0 0 8px #fff2a8;
  background: url("../images/napthe.png") no-repeat center center;
  background-size: 100% 100%;
  border: 0;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  transition: filter .2s ease, transform .2s ease;
}
.btn-topup:hover {
  filter: brightness(1.25) saturate(1.2);
  transform: translateY(-2px);
}

.btn-register span,
.btn-napthe span {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  text-transform: uppercase;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000; /* tÃ¡ÂºÂ¡o viÃ¡Â»Ân Ã„â€˜en bÃ¡Â»â€˜n phÃƒÂ­a */
}

 .fourlink-cskh {
  padding-top: 5px;
  padding-left: 2px;
}
.fourlink-cskh .detail-fourlink {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  width: 230px;
}
.topmain-hidden-links { display: none !important; }
.topmain-small-banner {
  display: block;
  width: 230px;
  height: 122px;
  max-width: 230px;
  min-width: 0;
  object-fit: contain;
  background: #eadfc2;
}
.social-links-row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  width: 960px;
  margin: 8px auto 0;
}
.social-links-row .link-dt-4link { width: 230px; height: 79px; }
.social-links-row .name-link4 { margin-top: 4px; }
.fourlink-cskh .link-dt-4link {
  position: relative;
  width: 112px;
  height: 105px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  overflow: hidden;
}

/* nÃ¡Â»Ân mÃ¡ÂºÂ·c Ã„â€˜Ã¡Â»â€¹nh */
.fourlink-cskh .link-dt-4link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("../images/fbt2.png") no-repeat center center;
  background-size: 100% 100%;
  left: 0;
  top: 0;
  z-index: 0;
  filter: brightness(0.86) saturate(1.1);
}
/* hover nÃ¡Â»Ân */
.fourlink-cskh .link-dt-4link:hover::before {
  filter: brightness(1.25);
}

/* icon */
.icon-bt-link, .icon-bt-link-hover {
  width: 40px;
  height: auto;
  position: relative;
  z-index: 1;
}
.icon-bt-link-hover { display: none; }

/* hover: Ã„â€˜Ã¡Â»â€¢i icon */
.link-dt-4link:hover .icon-bt-link { display: none; }
.link-dt-4link:hover .icon-bt-link-hover { display: block; }

/* text */
.name-link4 {
  position: relative;
  margin-top: 6px;
  z-index: 1;
  color: #fff;
}
.link-dt-4link:hover .name-link4 { color: #b8860b; }

/* flip cÃƒÂ¡c ÃƒÂ´ */
.link-dt2::before { transform: scaleX(-1); }
.link-dt3::before { transform: scaleY(-1); }
.link-dt4::before { transform: scale(-1); }

/* hotline */
.cskh-number {
  margin-top: 2px;
  font-size: 15px;
  color: #9f2b30;
  width: 230px;
  height: 40px;
  background: url("../images/hotline.png") no-repeat center center;
  background-size: 100% 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
.banner-slider {
  width: 100%;      /* banner mở rộng vào vùng cột phải cũ */
  height: auto;
  aspect-ratio: 491 / 253;
  margin: 0 auto;   /* cÃ„Æ’n giÃ¡Â»Â¯a */
  position: relative;
  border-radius: 6px; /* bo gÃƒÂ³c nÃ¡ÂºÂ¿u muÃ¡Â»â€˜n */
  overflow: hidden;  /* trÃƒÂ¡nh trÃƒÂ n Ã¡ÂºÂ£nh */
}

.banner-slider img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #eadfc2;
}
.list3link-section {
  width: 960px;        /* cÃƒÂ¹ng Ã„â€˜Ã¡Â»â„¢ rÃ¡Â»â„¢ng vÃ¡Â»â€ºi topmain */
  margin: 0 auto;      /* cÃ„Æ’n giÃ¡Â»Â¯a */
}

.list-3link {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}

.link-to3link {
  width: 241px;
  height: 79px;
  background: url("../images/bg-img-link-final.png") no-repeat center center;
  background-size: cover;
  padding: 15px 13px;
  position: relative;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.3s ease;   /* mÃ†Â°Ã¡Â»Â£t khi hover */
}

/* Hover hiÃ¡Â»â€¡u Ã¡Â»Â©ng */
.link-to3link:hover {
  filter: brightness(1.15);   /* sÃƒÂ¡ng hÃ†Â¡n mÃ¡Â»â„¢t chÃƒÂºt */
  box-shadow: 0 0 12px rgb(255 220 120 / 18%); /* viÃ¡Â»Ân sÃƒÂ¡ng vÃƒÂ ng */
  transform: translateY(-3px); /* nhÃƒÂ­ch lÃƒÂªn nhÃ¡ÂºÂ¹ */
}
.social-card {
  border: 1px solid #b77a08;
  box-shadow: inset 0 0 22px rgb(255 247 180 / 25%), 0 2px 5px rgb(80 40 0 / 25%);
}
.social-card:nth-child(1) { background-color: #f4c52d; }
.social-card:nth-child(2) { background-color: #f8d24a; }
.social-card:nth-child(3) { background-color: #edb51e; }
.social-card:nth-child(4) { background-color: #f6ca36; }
.social-card .social-card-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
  right: auto;
  bottom: auto;
  left: 58%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: .9;
  filter: brightness(0) saturate(100%) invert(18%) sepia(34%) saturate(2450%) hue-rotate(315deg) brightness(82%) contrast(105%) drop-shadow(0 2px 2px rgb(255 241 140 / 75%));
  transition: transform .25s ease, filter .25s ease;
}
.social-card .name-3link,
.social-card .note-bold {
  position: relative;
  z-index: 2;
}
.social-card:hover .social-card-icon {
  transform: translate(-50%, -50%) scale(1.12) rotate(-4deg);
  filter: brightness(0) saturate(100%) invert(34%) sepia(40%) saturate(2200%) hue-rotate(315deg) brightness(92%) contrast(110%) drop-shadow(0 0 7px #fff4a3);
}

.link-to3link .name-3link {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 1px 1px 2px #000000, -1px -1px 1px rgb(0 0 0 / 45%);
  margin-bottom: 6px;
  text-transform: uppercase;
}

.link-to3link .note-bold {
  color: #d6d6d6;
  font-size: 9px;
  background: #363636;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
}

.link-to3link .img-gitf3link {
  position: absolute;
  right: -1%;
  bottom: -5%;
  width: 60px;
  height: auto;
  pointer-events: none;
}
.main-container {
  width: 960px;          /* Ã„â€˜Ã¡Â»â€œng bÃ¡Â»â„¢ vÃ¡Â»â€ºi topmain, list-3link */
  margin: 30px auto;     /* cÃ„Æ’n giÃ¡Â»Â¯a */
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.main-left {
    width: 231px;
    height: 391px;
    background: #f9f5ec;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden;   /* bắt child phải theo bo góc */
}
.main-right {
  flex: 1;
  height: 391px;          /* Äƒn full theo cha .main-container */
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-top-left-radius: 8px;   /* bo góc trên trái */
  border-top-right-radius: 8px;  /* bo góc trên phải */
}

.daily-timeline {
  width: 231px;
  height: 391px;
  box-sizing: border-box;
  position: relative;
  padding: 0;
  border: 1px solid #d3cbb7;
  background: #e3e0dc;
  display: flex;
  flex-direction: column;
}

/* Thanh tiÃƒÂªu Ã„â€˜Ã¡Â»Â */
.daily-header {
  background: #d9a52f;
  color: #1f2e45;
  border-bottom: 2px solid #b98519;
  text-align: center;
  padding: 10px 0;
  font-weight: 500;
  font-size: 18px;
  text-transform: uppercase;
}

/* Thanh tab T2 - CN */
.daily-tabs {
  display: grid;
  grid-template-columns: repeat(7, 1fr); /* 7 ÃƒÂ´ Ã„â€˜Ã¡Â»Âu nhau */
  margin: 0;
  padding: 0;
  list-style: none;
  background: #e8b23d;
}

.daily-tabs li {
  text-align: center;
  padding: 6px 0;
  font-size: 13px;
  color: #1f2e45;
  cursor: pointer;
  transition: background 0.3s;
}

.daily-tabs li:hover {
  background: #f0c65f;
}

.daily-tabs li.active {
  background: #1f2e45;
  color: #fff;
}

/* Danh sÃƒÂ¡ch */
.daily-list {
  list-style: none;
  padding: 8px;
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  flex: 1;
  overflow-y: auto;
}
.daily-list {
  display: none; /* máº·c Ä‘á»‹nh áº©n */
}

.daily-list.active {
  display: block; /* chá»‰ list active má»›i hiá»‡n */
}
.daily-list li {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: flex-start;
  border-bottom: 1px solid rgb(47 29 21 / 30%);
  padding: 4px 0;
  font-weight: 500;
  gap: 8px;
}

.daily-list li .time {
  color: #8d5600;
  font-weight: 400;
  min-width: 0;
  grid-column: 2;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.4;
}

.daily-list li .activity-name {
  min-width: 0;
  grid-column: 1;
}


.rightcontent {
  border: 1px solid #d3cbb7;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-top-left-radius: 8px;   /* bo góc trên trái */
  border-top-right-radius: 8px;  /* bo góc trên phải */
  position: relative; 
}





/* Tabs */
.rightcontent-tabs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  background: #e8b23d;
  border-top-left-radius: 8px;   /* bo góc trên trái */
  border-top-right-radius: 8px;  /* bo góc trên phải */
}

.rightcontent-tabs li {
  flex: 1;
  text-align: center;
  color: #1f2e45;
  padding: 10px;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
}

.rightcontent-tabs li.active {
  background: #1f2e45;
  color: #fff;
   border-top-left-radius: 8px;   /* bo góc trên trái */
    border-top-right-radius: 8px;  /* bo góc trên phải */
}

.rightcontent-body {
  flex: 1;
  display: flex;
  height: 100%;
  padding: 10px;
  min-height: 0; /* QUAN TRá»ŒNG Ä‘á»ƒ con co giÃ£n */
}




.rightcontent-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding-left: 0;
  box-sizing: border-box;
}

/* Chrome, Edge, Safari */
.rightcontent-right::-webkit-scrollbar {
  width: 6px;
}

.rightcontent-right::-webkit-scrollbar-thumb {
  background: #883108;
  border-radius: 3px;
}

.rightcontent-right::-webkit-scrollbar-track {
  background: #f1f1f1;
}



.rightcontent-list.active {
  display: block;
}


.rightcontent-panel {
  display: none;
  gap: 10px;
  height: 100%;
  min-height: 0;              /* QUAN TRá»ŒNG */
}
.rightcontent-panel.active { display: flex; }
/* Cá»™t trÃ¡i: áº£nh full chiá»u cao body */

/* BÃ i ná»•i báº­t */
.highlight-post{display:flex; gap:10px; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #e6e6e6;}
.highlight-text {width: 100%; min-width: 0;}
.highlight-text .title-hot{font-weight:700; color:#ae3b43; margin-bottom:2px;}
.highlight-text .date-hot{font-size:12px;color: #8c8c8c;margin-bottom:4px;}
.highlight-text .desc-hot{font-size: 14px;color: #7d571f;}

/* Danh sÃ¡ch tin: KHÃ”NG áº©n theo .active ná»¯a */
.rightcontent-list{list-style:none; margin:0; padding:0;}
.rightcontent-list li {
  border-bottom: 1px dashed #ccc;
  font-size: 13px;
  list-style: none;
}
.rightcontent-list li a {
  display: flex;
  justify-content: space-between;  /* Ä‘áº©y span Ä‘áº§u vÃ  cuá»‘i ra 2 bÃªn */
  align-items: center;
  padding: 6px 10px;
  color: #333;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.rightcontent-list li a:hover {
  color: #d94141;
}

.rightcontent-list li a span:first-child {
  flex: 1;  /* span Ä‘áº§u chiáº¿m háº¿t khoáº£ng trá»‘ng */
}

.rightcontent-list li a span:last-child {
  flex: 0 0 auto;  /* span cuá»‘i (ngÃ y thÃ¡ng) dÃ­nh mÃ©p pháº£i */
  margin-left: 20px;
  color: #888;
  font-size: 12px;
}
/* áº¢nh trÃ¡i â€œcao full bodyâ€ */
.rightcontent-body{flex:1;display:flex;padding:10px;height:100%;background: #e3e0dc;}

.highlight-post {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  padding: 8px;
  border-bottom: 1px solid #e6e6e6;
  text-decoration: none;   /* bá» gáº¡ch chÃ¢n link */
  color: inherit;          /* giá»¯ nguyÃªn mÃ u chá»¯ */
  transition: background 0.3s;
}

.highlight-post .title-hot {
  font-weight: 700;
  color: #ae3b43;
  margin-bottom: 4px;
}

.highlight-post:hover .title-hot {
  color: #cc9d01;         /* Ä‘á»•i mÃ u chá»¯ khi hover */
}
/* Danh sÃ¡ch bÃªn dÆ°á»›i: chiáº¿m háº¿t pháº§n cÃ²n láº¡i vÃ  cuá»™n riÃªng */
.rightcontent-list {
  flex: 1;              /* âœ… chiáº¿m háº¿t pháº§n cÃ²n láº¡i */
  width: 100%;          /* âœ… full ngang */
  overflow-y: auto;     /* scroll náº¿u dÃ i */
  box-sizing: border-box;
}
/* Scrollbar cho list */
.rightcontent-list::-webkit-scrollbar { width: 6px; }
.rightcontent-list::-webkit-scrollbar-thumb { background: #d3a84f; border-radius: 3px; }
.rightcontent-list::-webkit-scrollbar-track { background: #f1f1f1; }
.rightcontent-panel{
  display: none;
  gap: 10px;
  height: 100%;
  min-height: 0;

  /* QUAN TRá»ŒNG: giÃºp panel chiáº¿m háº¿t chiá»u ngang cÃ²n láº¡i */
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.rightcontent-panel.active{ display:flex; }
.rightcontent-right{
  flex: 1;
  min-width: 0;        /* trÃ¡nh bá»‹ co ngang vÃ¬ ná»™i dung */
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-left: 0;
  box-sizing: border-box;
}

/* Con bÃªn trong kÃ©o FULL ngang */
.highlight-post,
.rightcontent-list{ width:100%; box-sizing:border-box; }
.rightcontent-list{ flex:1; overflow-y:auto; }

.it-dt-newhome {
  display: flex;
  align-items: center;
  justify-content: space-between; /* Ä‘áº©y trÃ¡i pháº£i */
  padding: 6px 10px;
  border-bottom: 1px dashed #ccc;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.it-dt-newhome:hover {
  color: #d94141;
}

.it-dt-newhome .cat-newhome {
  flex: 0 0 auto;
  display: inline-block;
  width: 70px;            /* ðŸ‘ˆ mÃ y muá»‘n cá»‘ Ä‘á»‹nh bao nhiÃªu px thÃ¬ chá»‰nh */
  min-width: 70px;        /* Ä‘áº£m báº£o khÃ´ng co láº¡i nhá» hÆ¡n */
  white-space: nowrap;       /* khÃ´ng xuá»‘ng dÃ²ng */
  overflow: hidden;          /* áº©n pháº§n chá»¯ trÃ n ra */
  text-overflow: ellipsis;   /* thÃªm dáº¥u "..." náº¿u chá»¯ quÃ¡ dÃ i */
  font-weight: bold;
  color: #555;           /* mÃ u cat náº¿u cáº§n */



}

.it-dt-newhome .title-newhome {
  flex: 1;              /* giÃ£n ra full khoáº£ng trá»‘ng giá»¯a */
  font-weight: 600;
  margin: 0 10px;
  color: #2d3d55;
  font-size: 14px;
}

.it-dt-newhome .date-newhome {
  flex: 0 0 auto;       /* luÃ´n náº±m ngoÃ i cÃ¹ng pháº£i */
  color: #888;
  font-size: 12px;
  text-align: right;
}

.main-nhanvat {
  width: 960px;
  height: 333px;
  margin: 20px auto;
  display: flex;
  background: #e3e0dc; /* ná»n body */
  border-radius: 6px;
  overflow: hidden;
}

/* sidebar cá»‘ Ä‘á»‹nh */
.sidebar-title {
  width: 80px;
  position: relative;
  background: #f9f5ec;
}

.sidebar-title .bg-doc {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidebar-title .icon-doc {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
}

/* box ná»™i dung */
.char-content-box {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* tabs */
.list-tab-char {
  display: flex;
  background: #1f2e45;
  height: 36px;
  line-height: 36px;         /* cách khác: dùng line-height bằng height */
  align-items: center;
}
.it-tab-char {
    /* background: rgba(251, 251, 251, 0.5); */
    margin-block: 3px;
    font-size: 17px;
    color: #ffffff;
    display: inline-block;
    padding: 2px 8px;
    cursor: pointer;
    transition: 0.2s;
}

.it-tab-char:hover {
  color: #c95536;        /* đổi màu chữ khi hover */
  transform: scale(1.05); /* hơi phóng to nhẹ */
}
.it-tab-char.active {
  /* background: #c95536; */
  color: #c95536;
}

/* detail info */
.list-detail-info {
  flex: 1;
  padding: 20px;
  position: relative;
}


.info-left {
  flex: 1;
}
.detail-char .info-left {
    position: relative;
}
.detail-char .info-left .name-char {
    display: inline-block;
    font-size: 50px;
    font-family: "svn_last_paradise", sans-serif;
    color: #1f2e45;
    z-index: 3;
    margin-bottom: 0;       /* bỏ margin-bottom to */
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.detail-char .info-left .name-char {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.detail-char .info-left .phainao {
    font-size: 15px;
    position: relative;
    top: 14px;             /* kéo cụm Chính/Tà/Trung lên gần name-char */
    padding-left: 2%;
    gap: 0 15px;
}
.detail-char .info-left .phainao .itphai-nao:not(.active) {
    color: #7d7c7c;          /* item không active -> xám nhạt */
}

.detail-char .info-left .phainao .itphai-nao.active {
    font-family: "tahomabold";  /* item đang active -> in đậm */
    font-weight: 900;
}
.d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.img-char {
  max-height: 282px;
}
.sidebar-title {
  width: 81px;
  height: 333px;
  position: relative;
}

.sidebar-title .bg-doc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidebar-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 60px 0;
}

.icon-top {
  width: 70px;
}

.sidebar-text {
  font-family: "UTM Essendine Caps", serif; /* nếu bạn có font */
  font-size: 16px;
  font-weight: bold;
  color: #8a6d3b;
  text-align: center;
  line-height: 2;
  letter-spacing: 1px;
}

.icon-bottom {
  width: 20px;
}
.f-svn_last_paradise {
    font-family: "svn_last_paradise";
}
.f-tahomabold {
    font-family: "tahomabold";
}

.info-left {
  display: flex;
  flex-direction: column;
}

.block-top {
  margin-bottom: 80px;  /* khoảng cách giữa phần trên và dưới */
}

.name-char {
  display: inline-block;
  font-size: 50px;
  font-family: "svn_last_paradise", sans-serif;
  color: #1f2e45;
  line-height: 1.2;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  margin-bottom: 5px;   /* sát phainao */
}

.phainao {
  font-size: 15px;
  padding-left: 5px;
  gap: 0 15px;
}

.block-bottom .list-dt-row {
  font-size: 14px;
  line-height: 1.6;
}
.detail-char { display: none; }
.detail-char.active { display: flex; }
.social {
  position: relative;
  width: 100%;
  height: 523px;             /* cao */
  margin: 30px auto 0;
  background-color: #faf6f7;
  background-image: url("../images/img-bg-social2-transparent.png?v=202609291029"), url("../images/bannerblk2.png");
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom, center bottom;
  background-size: min(960px, 100%) auto, cover;
  isolation: isolate;
}


/* Khung footer cam nối trực tiếp với vùng Social. */
.social + .site-footer { margin-top: 0; }

/* Các khối dùng banner nối liền nhau để không lộ nền trắng ở điểm giao. */
.main-nhanvat { margin-bottom: 0; }
.main-nhanvat { display: block; }
.main-nhanvat + .social { display: none !important; }
.main-nhanvat + .social { margin-top: 0; }
.site-footer { margin-top: 0; }

/* Chỉ section nhân vật trên mobile: giữ bố cục ngang giống PC. */
@media (max-width: 600px) {
  .main-nhanvat {
    display: block !important;
    width: 100% !important;
    height: calc(41.2vw + 78px) !important;
    min-height: 250px !important;
    margin: 20px 0 !important;
    overflow: hidden !important;
  }

  .main-nhanvat .list-tab-char {
    display: flex !important;
    width: 100% !important;
    height: 78px !important;
    min-height: 78px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    justify-content: flex-start !important;
  }

  .main-nhanvat .it-tab-char {
    flex: 0 0 52px !important;
    min-width: 52px !important;
    height: 78px !important;
    min-height: 78px !important;
    padding: 3px 2px 4px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  .main-nhanvat .char-icon {
    width: 44px !important;
    height: 44px !important;
  }

  .main-nhanvat .char-content-box,
  .main-nhanvat .list-detail-info,
  .main-nhanvat .detail-char,
  .main-nhanvat .detail-char.active {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .main-nhanvat .list-detail-info {
    height: 41.2vw !important;
    min-height: 250px !important;
  }

  .main-nhanvat .detail-char,
  .main-nhanvat .detail-char.active {
    height: 41.2vw !important;
    min-height: 250px !important;
  }

  .main-nhanvat .detail-char {
    position: relative !important;
    display: none !important;
  }

  .main-nhanvat .detail-char.active {
    display: flex !important;
  }

  .main-nhanvat .detail-char .img-char {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
    transform-origin: center bottom !important;
    animation: mon-phai-breath-mobile 6s ease-in-out infinite !important;
    will-change: transform;
  }

  .main-nhanvat .detail-char .info-left {
    position: relative !important;
    z-index: 2 !important;
    width: 46% !important;
    flex: 0 0 46% !important;
    padding: 170px 20px 16px !important;
    box-sizing: border-box !important;
  }
}

@keyframes mon-phai-breath-mobile {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -2px, 0) scale(1.005); }
}


/* Nền banner đã phủ toàn khu vực Social nên không dùng thêm lớp mây cũ. */
.social::before {
  content: none;
}

.social-inner {
  position: absolute;
  bottom: 115px;             /* canh item lên */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 18px;
  z-index: 1;
}

.social-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  font-family: "tahomabold", sans-serif;
  font-size: 14px;
  color: #1f2e45;
  position: relative;
  z-index: 1; /* icon và chữ mặc định cao hơn background */
}

.social-item::before {
  content: "";
  position: absolute;
  top: -20px;                 
  left: 50%;
  transform: translateX(-50%);
  width: 140px;               
  height: 140px;
  background: url("../images/img-bg-item-social.png") no-repeat center;
  background-size: contain;
  z-index: -1;  /* quan trọng: đưa nền xuống dưới */
}
.social-item::after {
  content: "";
  position: absolute;
  top: 0px;  /* canh thấp hơn chút để ôm icon */
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 90px;
  background: url("../images/img-bg-item-social-after.png") no-repeat center;
  background-size: contain;
  z-index: -1; /* nằm giữa before và icon */
}

.social-item img {
  width: 110px;
  height: auto;
  margin-bottom: 0px;
  transition: transform 0.3s ease;
}

.social-item:hover img {
  transform: scale(1.1);
}

.social-item span {
  position: relative;
  z-index: 1;                 /* giữ icon + text ở trên background */
  background: url("../images/img-bnt-social.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  padding: 6px 18px;
  color: #fff;
  font-size: 16px;
}




.site-footer {
  background: linear-gradient(180deg, #bd3700 0%, #8a2500 56%, #361000 100%);
  color: #fff;
  padding: 20px 0;
  margin-top: 30px;
  font-size: 14px;
}

.site-footer .container {
  width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-social {
  list-style: none;
  display: flex;
  gap: 15px;
  margin: 0;
  padding: 0;
}

.footer-social img {
  width: 28px;
  height: 28px;
  transition: transform 0.3s ease;
}

.footer-social img:hover {
  transform: scale(1.1);
}
.footer-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer-18plus img {
  width: 45px;   /* chỉnh kích thước hợp lý */
  height: auto;
}

/* Phần header khớp 960px */
.post-header {
  width: 960px;
  margin: 20px auto 0 auto;   /* canh giữa, sát trên */
  background: #1f2e45;
  color: #fff;
  padding: 30px 20px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.post-header .post-title {
  font-size: 32px;
  margin: 0 0 10px;
  color: #fff;
}

.post-header .post-date {
  font-size: 14px;
  margin: 0 0 10px;
  color: #ccc;
}

.post-header .breadcrumb {
  font-size: 17px;
}

.post-header .breadcrumb a {
  color: #ffcc00; /* vàng cho nổi */
  text-decoration: none;
}

.post-header .breadcrumb span {
  color: #fff;
}

/* Phần container nội dung (nối liền ngay dưới header) */
.viewpost .container {
  width: 960px;
  margin: 0 auto 20px auto;   /* bỏ khoảng cách trên để dính header */
  background: #f9f5ec;
  padding: 20px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border: 1px solid #d3cbb7;
}

.viewpost .post-image img {
  max-width: 100%;
  border-radius: 6px;
  margin-bottom: 20px;
}

.viewpost .post-content {
  line-height: 1.6;
  font-family: "News Roboto Condensed", "Arial Narrow", Arial, sans-serif;
}

.viewpost h2 {
  margin: 20px 0 10px;  /* cách trên dưới hợp lý */
  color: #1f2e45;
}

.viewpost table {
  margin-bottom: 30px;
  border-collapse: collapse;
  width: 100%;
}

.viewpost table td, 
.viewpost table th {
  border: 1px solid #333;
  padding: 8px;
}
.post-content p {
  margin: 0; /* bỏ margin trên dưới */
  padding: 0;
}

/* Article editor output: scoped so game home-page typography is untouched. */
.post-content { font-family: "News Roboto Condensed", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif; overflow-wrap:anywhere; }
.post-content img { max-width:100%; height:auto; }
.post-content a { color:#b42318; font-weight:600; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.post-content a:hover { color:#7a1712; }
.post-content table a { display:inline-block; color:#b42318 !important; }
.post-content .article-icon { display:inline-flex; align-items:center; justify-content:center; font-size:1em; line-height:1; vertical-align:-.125em; }
.post-content .content-block { margin:20px 0; padding:14px 18px; border-left:4px solid #1ab394; border-radius:0 6px 6px 0; background:#f4fbf9; }
.post-content .content-block--warning { border-color:#e6a23c; background:#fff8e8; }.post-content .content-block--reward { border-color:#d9a400; background:#fffbe8; }.post-content .content-block--important { border-color:#e35d6a; background:#fff3f4; }
.post-content .article-divider { margin:30px 0; border:0; border-top:1px solid #d9e2ea; }

 /* Áp dụng trong phần nội dung bài viết */
.post-content h1 {
    background: url(../images/icon_h1.png) no-repeat scroll 2px 4px transparent;
    clear: both;
    color: #b04100;
    text-indent: 34px;
    margin-top: 7px;
    font: bold 24px/30px "Cambria";
}

.post-content h2 {
    background: url(../images/icon_h2.png) no-repeat;
    background-position: 2px 3px;
    clear: both;
    font: 18px/29px "Cambria", serif;
    margin: 8px 8px 7px 29px;
    text-indent: 27px;
    color: #000000;
}

.post-content h3 {
    background: url(../images/icon_h3.png) no-repeat;
    background-position: 1px 10px;
    clear: both;
    font: 17px/29px "Cambria", serif;
    margin: 6px 0px 6px 46px;
    text-indent: 15px;
    color: #000000;
}

.post-content h4 {
    background: url(../images/icon_h4.png) no-repeat;
    background-position: 2px 12px;
    clear: both;
    font: 16px/29px "Cambria", serif;
    margin: 4px 0px 4px 56px;
    text-indent: 13px;
    color: #000000;
}

.post-content h5 {
    background: url(../images/icon_h4.png) no-repeat;
    background-position: 50px 11px;
    clear: both;
    font: 14px/29px "Cambria", serif;
    margin: 0px 0px 0px 15px;
    text-indent: 60px;
    color: #000000;
}

/* Table trong nội dung */
.post-content table {
    margin: 10px auto;
    border-collapse: collapse !important;
    max-width: 100%;
}

.post-content table tr,
.post-content table td {
    border: 1px solid #000;
    padding: 5px;
    background-color: #fff;
}

/* H4 và H5 bên trong table */
.post-content table td h4 {
    background: url(../images/icon_h3.png) no-repeat;
    background-position: 0px 11px;
    clear: both;
    font: 15px/29px "Roboto Slab", serif;
    margin: 0px 0px 0px 15px;
    text-indent: 13px;
    color: #000000;
}

.post-content table td h5 {
    background: url(../images/icon_h4.png) no-repeat;
    background-position: 13px 11px;
    clear: both;
    font: 13px/29px "Roboto Slab", serif;
    margin: 0px 0px 0px 15px;
    text-indent: 24px;
    color: #000000;
}

.post-content table th {
    background: #1f2e45;
    border: 1px solid #000000;
    color: #fff;
    text-align: center;
    font-weight: bolder;
    padding: 6px 10px;
}

/* Hàng tiêu đề của bảng luôn đồng nhất trên trang tin. */
.viewpost .post-content table tr:first-child > th,
.viewpost .post-content table tr:first-child > td {
    background-color: #93c47d !important;
    background-image: linear-gradient(#93c47d, #93c47d) !important;
    color: #000 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

/* Đồng bộ kích thước bảng khi hiển thị bài viết. */
.viewpost .post-content table {
    width: 90% !important;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Căn giữa nội dung của mọi ô bảng trên trang tin. */
.viewpost .post-content table th,
.viewpost .post-content table td,
.viewpost .post-content table th *,
.viewpost .post-content table td * {
    text-align: center !important;
    vertical-align: middle;
}

/* Viền bảng mặc định màu đen. */
.viewpost .post-content table,
.viewpost .post-content table th,
.viewpost .post-content table td {
    border-color: #000 !important;
}

.viewpost .post-content table td img,
.viewpost .post-content table th img {
    margin-left: auto !important;
    margin-right: auto !important;
}

.list-cat-posts {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cat-post-item {
  display: flex;
  border-bottom: 1px solid #eee;
  padding: 15px;
  color: inherit;           /* giữ màu chữ */
  text-decoration: none;    /* bỏ gạch chân */
}

.cat-post-item:hover {
  background: #f9f9f9;      /* hiệu ứng hover toàn khối */
}

.cat-post-item .title {
  font-size: 18px;
  font-weight: bold;
  color: #001a33;
}

.cat-post-item:hover .title {
  color: #c95536;
}

.cat-date {
  width: 80px;
  text-align: center;
  font-family: 'tahoma';
  font-weight: bold;
  margin-right: 20px;
}

.cat-date .day {
  font-size: 35px;
  color: #6d85a4;
  display: block;
}

.cat-date .month {
  font-size: 14px;
  color: #b7c2cf;
}

.cat-info {
  flex: 1;
}

.cat-title {
  font-size: 13px;
  color: #777;
  margin-bottom: 5px;
}

.cat-info .title {
  font-size: 22px;
  font-weight: bold;
  color: #1f2e45;
  margin: 0 0 5px;
}

.cat-info .title:hover {
  color: #c95536;
}

.cat-info .desc {
  font-size: 14px;
  color: #666;
}
.pagination {
  text-align: center;
  margin-top: 20px;
}

.pagination a {
  display: inline-block;
  margin: 0 5px;
  padding: 6px 12px;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
  border-radius: 3px;
}

.pagination a:hover {
  background: #f0f0f0;
}

.pagination a.active {
  background: #c95536;
  color: #fff;
  border-color: #c95536;
}

/* Redesigned 12-school navigation and detail panel */
.list-tab-char { background:#f0d477; min-height:104px; height:auto; line-height:normal; align-items:stretch; overflow-x:auto; }
.it-tab-char { flex:1 0 76px; min-height:104px; margin:0; border:0; border-right:1px solid rgb(105 78 26 / 30%); background:transparent; color:#1f2e45; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:7px 4px 8px; font-size:12px; cursor:pointer; }
.it-tab-char img { width:62px; height:62px; object-fit:cover; border-radius:50%; border:2px solid #fff4c2; }
.it-tab-char.active { background:#fff8dc; color:#1f2e45; }
.it-tab-char:hover { color:#8a5a00; transform:none; }
.list-detail-info { background:#e8e5e0; min-height:280px; }
.detail-char .info-left .name-char { font-size:50px; }
.school-element { color:#8a5a00; font-size:13px; margin-top:3px; }
.detail-char .phainao { top:8px; }
.detail-char .block-bottom .list-dt-row { max-width:66%; }
.detail-char .img-char { max-width:44%; max-height:282px; object-fit:contain; object-position:right bottom; }
@media (max-width:1200px) { .it-tab-char { flex-basis:72px; } .detail-char .block-bottom .list-dt-row { max-width:58%; } }

/* Final alignment for the 12-school panel */
.list-tab-char { width:100%; overflow:hidden; }
.it-tab-char { flex:1 1 0; min-width:0; padding-inline:2px; font-size:13px; font-weight:700; }
.char-icon { width:62px; height:62px; display:block; overflow:hidden; border-radius:10px; border:1px solid #6d5525; background:#f8e7a2; box-shadow:0 1px 2px rgb(56 38 8 / 35%); }
.char-icon img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none;
  transform:none !important;
  object-fit:cover;
  object-position:center center;
  border:0;
  border-radius:0;
  image-rendering:auto;
}
.char-icon-caibang img,
.char-icon-thiennhan img,
.char-icon-vodang img,
.char-icon-conlon img {
  transform:translateX(6px) scale(1.08) !important;
  transform-origin:center center;
}
.list-detail-info { padding:0; }
.detail-char .block-top { margin-bottom:38px; }
.detail-char .block-bottom .list-dt-row { max-width:62%; }
.detail-char .img-char { max-width:42%; max-height:260px; }
.detail-char { position:relative; overflow:hidden; min-height:326px; }
.list-detail-info { height:100%; box-sizing:border-box; }
.detail-char.active { height:100%; min-height:100%; }
.main-nhanvat .sidebar-title { display:none; }
.main-nhanvat .char-content-box { width:100%; flex:1; }
.detail-char .info-left { position:relative; z-index:2; width:46%; flex:0 0 46%; }
.detail-char .info-left { padding:170px 24px 20px; box-sizing:border-box; }
.detail-char .info-left .name-char { display:none; }
.detail-char .img-char { position:absolute; z-index:1; top:0; right:0; bottom:-30px; left:0; width:100%; height:calc(100% + 30px); max-width:none; max-height:none; object-fit:cover; object-position:center top; }
.detail-char .info-left { text-shadow:0 1px 1px rgb(255 255 255 / 55%); }

/* Hiệu ứng phóng/thu rất nhẹ cho ảnh môn phái */
#dmp1.active .img-char {
  transform-origin: center bottom;
  animation: mon-phai-breath 6s ease-in-out infinite !important;
  will-change: transform;
}

img[src*="thieulam.png"].img-char {
  transform-origin: center bottom;
  animation: mon-phai-breath 6s ease-in-out infinite !important;
  will-change: transform;
}

.detail-char .img-char {
  transform-origin: center bottom;
  animation: mon-phai-breath 6s ease-in-out infinite !important;
  will-change: transform;
}

@keyframes mon-phai-breath {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -3px, 0) scale(1.015); }
}

@media (prefers-reduced-motion: reduce) {
  #dmp1.active .img-char { animation: none; }
}

/* Mobile: giữ đúng thứ tự và trục căn của giao diện PC */
@media (max-width: 1200px) {
  html {
    background-size: 85% auto;
  }

  body {
    overflow-x: hidden;
  }

  body::before {
    top: calc(47.8125vw - clamp(110px, 24vw, 240px));
    width: 85%;
    height: 47.84vw;
    background: url("../images/bannerblk2.png?v=20261021") no-repeat center top / 100% auto !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 90px);
    mask-image: linear-gradient(to bottom, transparent 0, #000 90px);
  }

  body::after {
    top: auto;
    bottom: 0;
    width: 85%;
    height: 47.84vw;
    background: url("../images/bannerblk2.png?v=20261021") no-repeat center top / 100% auto !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 90px);
    mask-image: linear-gradient(to bottom, transparent 0, #000 90px);
  }


  .infotop {
    display: none;
  }

  .topmain {
    margin-top: 100px;
    padding: 0 6px;
  }

  .topmain__container {
    width: 100%;
    height: auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 1px;
  }

  .topmain__left {
    width: 34%;
    flex: 0 0 34%;
    gap: 3px;
  }

  .topmain__center {
    width: 66%;
    flex: 0 0 66%;
    padding: 0 0 0 3px;
    align-self: stretch;
    height: auto;
  }

  .btn-download,
  .btn-register,
  .btn-napthe,
  .btn-topup {
    width: 100%;
  }

  .btn-download {
    height: auto;
    aspect-ratio: 227 / 122;
  }

  .btn-register,
  .btn-napthe,
  .btn-topup {
    height: auto;
    min-height: 0;
    aspect-ratio: 227 / 66;
    font-size: clamp(10px, 2.1vw, 16px);
  }

  .btn-topup {
    height: 64px !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-size: 100% 100%;
  }

  .banner-slider {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    flex: 1 1 auto;
  }

  .banner-slider .swiper-wrapper,
  .banner-slider .swiper-slide {
    height: 100%;
  }

  .banner-slider img {
    object-fit: cover;
    background: transparent;
  }

  .list3link-section,
  .main-container,
  .main-nhanvat,
  .social {
    width: calc(100% - 12px);
    max-width: 960px;
  }

  .main-nhanvat {
    height: auto;
    min-height: 0;
    margin: 20px auto;
    display: block;
    overflow: hidden;
  }

  .main-nhanvat .char-content-box {
    width: 100%;
  }

  .list-tab-char {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    justify-content: flex-start;
  }

  .it-tab-char {
    flex: 0 0 76px;
    min-width: 76px;
  }

  .list-detail-info {
    min-height: 396px;
    height: 396px;
  }

  .detail-char.active {
    min-height: 396px;
    height: 396px;
  }

  .detail-char .info-left {
    width: 46%;
    flex-basis: 46%;
    padding: 170px 18px 20px;
  }

  .detail-char .block-bottom .list-dt-row {
    max-width: 100%;
    font-size: 12px;
  }
}

.main-container { align-items:stretch; }
.main-right { height:375px; }
.main-left { height:375px; }
.daily-timeline { height:375px; }
.sidebar-title { height:500px; }
.main-nhanvat { height:500px; overflow:hidden; }
.list-detail-info { min-height:396px; }

/* Màn hình nhỏ: vẫn hiển thị cụm nút bên phải nhưng thu gọn toàn bộ khung đầu trang. */
@media (max-width: 1200px) {
  .topmain {
    margin-top: 90px;
  }

  .topmain__container {
    width: calc(100% - 12px);
    height: auto;
    min-height: 0;
    margin-left: auto;
    margin-right: auto;
  }

  .topmain__left {
    width: 24%;
    flex: 0 0 24%;
  }

  .topmain__center {
    width: 76%;
    flex: 0 0 76%;
  }

  .topmain__right {
    display: flex;
    width: 24%;
    flex: 0 0 24%;
    min-width: 0;
    overflow: hidden;
  }

  .topmain__right .topmain-small-banner {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 230 / 122;
  }

  .banner-slider {
    width: 100%;
    height: auto;
    aspect-ratio: 491 / 253;
  }


  .fourlink-cskh {
    width: 100%;
    padding: 2px 0 0 2px;
  }

  .fourlink-cskh .detail-fourlink {
    width: 100%;
    gap: 2px;
  }

  .fourlink-cskh .link-dt-4link {
    width: calc(50% - 1px);
    height: auto;
    aspect-ratio: 112 / 105;
    font-size: clamp(7px, 1.5vw, 12px);
  }

  .icon-bt-link,
  .icon-bt-link-hover {
    width: 34%;
  }

  .name-link4 {
    margin-top: 3px;
  }

  .cskh-number {
    width: 100%;
    height: auto;
    aspect-ratio: 230 / 40;
    font-size: clamp(8px, 1.8vw, 15px);
  }
}

/* Shared typography for news and daily activities. */
.rightcontent,
.daily-timeline {
  font-family: "News Roboto Condensed", "Arial Narrow", Arial, sans-serif;
}
.rightcontent .rightcontent-tabs li {
  font-family: inherit;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}
.rightcontent .highlight-text .title-hot,
.rightcontent .it-dt-newhome .title-newhome {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  color: #5a5a5a;
}
.rightcontent .it-dt-newhome {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 33px;
  column-gap: 8px;
  row-gap: 0;
  padding: 4px 8px;
  border-bottom: 0;
}
.rightcontent .rightcontent-list li {
  border-bottom: 1px solid #cfd8df;
}
.rightcontent .it-dt-newhome .cat-newhome {
  grid-column: 1;
  width: auto;
  min-width: 0;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  color: #d14d54;
}
.rightcontent .it-dt-newhome .title-newhome {
  grid-column: 2;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rightcontent .it-dt-newhome .date-newhome {
  grid-column: 3;
  grid-row: 1;
  white-space: nowrap;
  align-self: center;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.1;
  color: #ce252b;
  font-variant-numeric: tabular-nums;
}
.rightcontent .news-year {
  display: inline;
  margin-left: 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  color: #535d63;
}
.rightcontent .highlight-text .date-hot,
.rightcontent .highlight-text .desc-hot {
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: #535d63;
}
.rightcontent a:hover .title-newhome,
.rightcontent a:hover .title-hot {
  color: #ce252b;
}
@media (max-width: 600px) {
  .rightcontent .rightcontent-tabs li {
    padding: 10px 4px;
    font-size: 17px;
  }
  .rightcontent .it-dt-newhome {
    column-gap: 5px;
    padding: 4px 6px;
  }
}

/* Compact burst badge for the first two news entries in each tab. */
.rightcontent .news-meta {
  grid-column: 3;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  white-space: nowrap;
}
.rightcontent .news-hot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 24px;
  background: #ff1515;
  color: #ffff00;
  font-family: "News Roboto Condensed", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.3px;
  transform: rotate(-12deg);
  clip-path: polygon(0% 43%, 18% 34%, 9% 13%, 31% 23%, 36% 0%, 48% 19%, 65% 2%, 66% 23%, 91% 10%, 81% 34%, 100% 40%, 84% 53%, 98% 73%, 74% 69%, 76% 96%, 57% 79%, 44% 100%, 36% 79%, 13% 94%, 20% 68%, 0% 66%, 14% 54%);
}
/* Đồng bộ ba banner nền trên điện thoại và tablet. */
@media (max-width: 1200px) {
  html {
    background-size: 100% auto;
  }

  body::before {
    top: calc(56.25vw - 18vw);
    width: 100%;
    height: 56.25vw;
    background-size: 100% auto;
  }

  body::after {
    width: 100%;
    height: 56.25vw;
    background-size: 100% auto;
  }
}

@media (max-width: 1200px) {
  body {
    background-image: url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk7.png?v=20261021");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: center 94.5vw, center 150.75vw, center 207vw, center 263.25vw;
    background-size: 100% auto, 100% auto, 100% auto;
  }
}

@media (max-width: 1200px) {
  .list-tab-char {
    overflow: hidden;
  }

  .it-tab-char {
    flex: 1 1 0;
    min-width: 0;
    padding: 7px 2px 8px;
    font-size: clamp(10px, 1.6vw, 12px);
    font-weight: 700;
  }

  .char-icon {
    width: min(62px, 100%);
    height: auto;
    aspect-ratio: 1;
  }
}

@media (max-width: 1200px) {
  .detail-char .img-char {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 62%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
  }
}

@media (max-width: 1200px) {
  .detail-char .img-char {
    top: 0;
    right: 0;
    bottom: -30px;
    left: 0;
    width: 100%;
    height: calc(100% + 30px);
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: 70% top;
    transform-origin: center bottom !important;
    animation: mon-phai-breath 6s ease-in-out infinite !important;
    will-change: transform;
  }
}

@media (max-width: 1200px) {
  .detail-char .info-left {
    padding-top: 135px;
  }
}

@media (max-width: 1200px) {
  .detail-char .info-left {
    padding-top: 48px;
  }
}

@media (max-width: 1200px) {
  html {
    background-position: center 28px;
  }
}

/* Thanh menu riêng cho điện thoại và tablet. */
@media (max-width: 1200px) {
  .header {
    position: relative;
    z-index: 20;
    padding: 0;
    background: rgb(255 248 228 / 92%);
    border-bottom: 1px solid rgb(128 82 24 / 32%);
    box-shadow: 0 2px 8px rgb(73 43 7 / 16%);
  }

  .nav,
  .nav__container {
    min-height: 44px;
  }

  .nav__container {
    justify-content: center;
    gap: 18px;
    padding: 0 8px;
  }

  .nav__list {
    gap: 12px;
  }

  .nav__list a {
    color: #552b0c;
    font-size: clamp(11px, 1.6vw, 15px);
    line-height: 44px;
    text-shadow: none;
  }

  html body .nav__logo {
    position: absolute !important;
    top: 44px !important;
    left: 8px !important;
  }
}

@media (max-width: 1200px) {
  html {
    background-position: center 44px;
  }
}

@media (max-width: 1200px) {
  .nav__container {
    padding-left: 54px;
  }

  html body .nav__logo {
    position: absolute !important;
    top: 2px !important;
    left: 6px !important;
  }

  .nav__logo img {
    width: 40px !important;
    height: 40px !important;
  }
}

@media (max-width: 1200px) {
  .btn-download::before {
    width: 100px;
    height: 208px;
    left: -29px;
    top: -57px;
  }
}

@media (max-width: 1200px) {
  .list3link-section {
    display: none;
  }
}

@media (max-width: 1200px) {
  .main-left {
    display: none;
  }
}

@media (max-width: 1200px) {
  .btn-register,
  .btn-napthe {
    gap: 5px;
  }

  .btn-register span,
  .btn-napthe span {
    font-size: clamp(10px, 1.25vw, 13px);
    letter-spacing: 0;
    white-space: nowrap;
  }
}

@media (max-width: 1200px) {
  .detail-char .info-left {
    display: none;
  }
}

@media (max-width: 1200px) {
  .social {
    display: block;
    width: 100%;
    max-width: none;
    height: 320px;
    margin: 0;
    /* Phóng nhẹ để cắt mép trắng vốn có của ảnh banner trên màn hình dọc. */
    background-size: 118% auto, auto 140%;
    background-position: center 46%, center 46%;
  }

  .social-inner {
    bottom: 62px;
    width: min(96%, 620px);
    justify-content: center;
    gap: clamp(4px, 2vw, 14px);
  }

  .social-item { font-size: clamp(10px, 1.8vw, 14px); }
  .social-item img { width: clamp(56px, 13vw, 90px); }
  .social-item::before { width: clamp(72px, 17vw, 112px); height: clamp(72px, 17vw, 112px); }
  .social-item::after { width: clamp(52px, 12vw, 76px); height: clamp(52px, 12vw, 76px); }
}

@media (max-width: 1200px) {
  .site-footer {
    display: none;
  }
}

@media (max-width: 1200px) {
  .site-footer {
    display: block;
  }

  .main-nhanvat {
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 1200px) {
  .site-footer {
    display: block;
    min-height: 0;
    padding: 14px 12px;
    background: linear-gradient(180deg, #bd3700 0%, #8a2500 56%, #361000 100%) !important;
  }

  .site-footer .container {
    width: 100%;
    min-height: 0;
    flex-wrap: wrap;
    gap: 12px;
  }
}

@media (max-width: 1200px) {
  .site-footer {
    box-sizing: border-box;
    margin-top: 0;
    padding: 16px;
    font-size: 13px;
    line-height: 1.45;
    overflow: hidden;
  }

  .site-footer .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    gap: 12px;
  }

  .footer-left,
  .footer-right {
    width: 100%;
    margin: 0;
  }

  .footer-left p {
    margin: 0 0 5px;
  }

  .footer-right {
    justify-content: flex-start;
    gap: 14px;
  }

  .footer-social {
    gap: 10px;
  }
}

@media (max-width: 1200px) {
  .main-container {
    margin-top: 6px;
    margin-bottom: 6px;
  }
}

/* Không cho lớp banner xuyên qua trang chi tiết bài viết. */
.post-header,
.viewpost .container {
  position: relative;
  z-index: 2;
  opacity: 1;
}

.viewpost .container {
  background: #f9f5ec !important;
}



/* Chỉ làm mờ mối nối banner ở trang tin tức. */
body:has(.viewpost)::before {
  content: "" !important;
  background: url("../images/bannerblk2.png?v=20261021") no-repeat center top / 100% auto !important;
}

body:has(.viewpost)::after {
  background: url("../images/bannerblk2.png?v=20261021") no-repeat center top / 100% auto !important;
}

body:has(.viewpost) {
  background-image: url("../images/bannerblk2.png?v=20261021") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% auto !important;
}

@media (max-width: 1200px) {
  body:has(.viewpost) {
    background-image: url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk2.png?v=20261021"), url("../images/bannerblk7.png?v=20261021") !important;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
    background-position: center 94.5vw, center 150.75vw, center 207vw, center 263.25vw !important;
  }
}

@media (min-width: 1201px) {
  body:has(.viewpost) {
    background-image: url("../images/bannerblk2.png?v=20261021") !important;
    background-repeat: repeat-y !important;
    background-position: center top !important;
    background-size: 100% auto !important;
  }

  body:has(.viewpost) .viewpost,
  body:has(.viewpost) .viewpost .container {
    background: url("../images/bannerblk2.png?v=seam226") repeat-y center top / 100% auto !important;
  }

  body:has(.viewpost) .viewpost .container {
    background: #fff !important;
  }
}

body:has(.viewpost) .viewpost {
  background: url("../images/bannerblk2.png?v=seam226") repeat-y center top / 100% auto !important;
}

/* Căn khung trang tin tức trên mobile. */
@media (max-width: 1200px) {
  .post-header,
  .viewpost .container {
    width: calc(100% - 12px);
    box-sizing: border-box;
  }

  .post-header {
    margin: 6px auto 0;
    padding: 18px 14px;
    overflow: hidden;
  }

  .post-header .post-title {
    font-size: clamp(20px, 5vw, 32px);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .post-header .breadcrumb {
    font-size: clamp(12px, 2.8vw, 16px);
    line-height: 1.45;
  }

  .viewpost .container {
    margin: 0 auto 12px;
    padding: 14px;
    overflow-x: auto;
  }

  .viewpost .post-content { overflow-wrap: anywhere; }

  .viewpost table {
    min-width: 520px;
  }
}

@media (max-width: 1200px) {
  .viewpost .container {
    overflow-x: hidden;
  }

  .viewpost table,
  .post-content table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  .viewpost table th,
  .viewpost table td {
    padding: 5px 3px;
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Chỉ ép ảnh nằm trong bảng theo kích thước ô. Ảnh ngoài bảng giữ kích thước đã chỉnh trong editor. */
.viewpost .post-content table img {
  display: block;
  position: static !important;
  float: none !important;
  clear: both;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 14px auto;
  object-fit: contain;
}

/* Ảnh trong nội dung tin tức luôn nằm trên nền banner và không bị lớp nền che. */
.article-page .post-content img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 3 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1200px) {
  .viewpost .post-content img {
    margin: 10px auto;
  }
}


/* Banner dài chỉ bắt đầu từ phần nội dung tin tức, không đè bannerblk1 đầu trang. */
body:has(.viewpost) {
  background: transparent !important;
}

body:has(.viewpost)::before {
  display: block;
}

.viewpost {
  background: url("../images/bannerblk2.png?v=20261021") no-repeat center center / cover fixed;
}

.viewpost .container {
  background: rgb(249 245 236 / 90%) !important;
}

/* Trang chuyên mục tin tức: bố cục danh sách theo giao diện game. */
.category-page {
  padding: 0 0 28px;
  background: #fbf4d8 url("../images/bg.png") center top / cover fixed;
}

.category-page-header {
  display: none;
  width: 100%;
  box-sizing: border-box;
  min-height: 68px;
  margin: 0 auto;
  padding: 20px 20px 16px;
  border-top: 4px solid #ffd400;
  background: linear-gradient(#ffa900, #ed8700);
  color: #fff;
  text-align: center;
}

.category-page-header h1 {
  margin: 0;
  color: inherit;
  font: 700 26px/1 "News Roboto Condensed", Arial, sans-serif;
  text-transform: uppercase;
}

.viewpost .container.category-page-container {
  width: 960px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
}

.category-page .list-cat-posts { gap: 0; }

.category-page .cat-post-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 108px;
  box-sizing: border-box;
  padding: 11px 52px 11px 84px;
  border: 0;
  border-bottom: 1px solid #bb1c2d;
  background: linear-gradient(110deg, rgb(15 18 20 / 96%), rgb(31 34 37 / 92%)), url("../images/bg-doc-hover.jpg") center / cover;
  color: #ffd329;
  text-decoration: none;
}

.category-page .cat-post-item:hover {
  background: linear-gradient(110deg, rgb(41 38 24 / 96%), rgb(52 48 26 / 93%)), url("../images/bg-doc-hover.jpg") center / cover;
}

.category-page .cat-post-icon {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 48px;
  height: 54px;
  transform: translateY(-50%);
  filter: drop-shadow(1px 2px 1px rgb(0 0 0 / .55));
}

.category-page .cat-post-icon::before {
  content: "▱";
  display: block;
  box-sizing: border-box;
  width: 34px;
  height: 42px;
  margin: 6px auto;
  border: 3px solid #d9d3bd;
  border-radius: 2px;
  background: repeating-linear-gradient(0deg, #c9c2a9 0 3px, #f3eed9 3px 6px);
  color: #776f5f;
  font-size: 26px;
  line-height: 31px;
  text-align: center;
  transform: rotate(-12deg);
}

.category-page .cat-info { min-width: 0; }

.category-page .cat-info .title {
  margin: 0 0 6px;
  color: #ffd329;
  font: 700 25px/1.3 "News Roboto Condensed", Arial, sans-serif;
}

/* Trang Sự kiện: bảng tiêu đề đen và danh sách cùng kiểu khung tin trang chủ. */
.event-page {
  min-height: 430px;
  padding: 6px 0 32px;
  background: #faf6f7 url("../images/bannerblk2.png") no-repeat center bottom / cover;
}

.event-page-container {
  width: 960px;
  margin: 0 auto;
}

.event-information-title {
  box-sizing: border-box;
  min-height: 106px;
  padding: 33px 40px;
  border-bottom: 2px solid #bb1c2d;
  background: linear-gradient(110deg, rgb(15 18 20 / 96%), rgb(31 34 37 / 92%)), url("../images/bg-doc-hover.jpg") center / cover;
  color: #ffd329;
  font: 700 28px/1.35 "News Roboto Condensed", Arial, sans-serif;
  text-align: center;
}

.event-news-panel {
  min-height: 325px;
  border: 1px solid #d3cbb7;
  background: #e3e0dc;
}

.event-news-tab {
  width: 25%;
  min-width: 175px;
  margin: 0;
  padding: 12px 18px;
  border-radius: 7px 7px 0 0;
  background: #1f2e45;
  color: #fff;
  font: 700 18px/1.2 "News Roboto Condensed", Arial, sans-serif;
  text-align: center;
}

.event-news-list {
  padding: 8px 18px 18px;
}

.event-news-item {
  display: block;
  padding: 11px 0;
  border-bottom: 1px dashed #c6bfb4;
  color: #2d3d55;
  font: 700 15px/1.35 Arial, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}

.event-news-item::before {
  content: "[" attr(data-category) "] ";
  color: #d94141;
}

.event-news-item:hover { color: #d94141; }

.event-page .pagination { margin: 4px 18px 20px; }

.event-empty {
  margin: 0;
  padding: 30px;
  color: #555;
  text-align: center;
}

@media (max-width: 1200px) {
  .event-page {
    min-height: 0;
    padding: 6px 0 0;
    background-size: auto 100%;
  }

  .event-page-container {
    width: calc(100% - 12px);
    margin: 0 auto;
  }

  .event-information-title {
    min-height: 82px;
    padding: 25px 16px;
    font-size: clamp(21px, 5vw, 28px);
  }

  .event-news-panel { min-height: 220px; }
  .event-news-list { padding: 8px 12px 16px; }
  .event-news-item { font-size: 14px; }
  .event-page .pagination { margin: 4px 12px 16px; }
}

@media (max-width: 600px) {
  .event-information-title {
    min-height: 68px;
    padding: 20px 12px;
    font-size: 20px;
  }

  .event-news-panel { min-height: 180px; }

  .event-news-item {
    padding: 10px 0;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
}

.category-page .cat-post-date {
  display: block;
  color: #fff;
  font: 400 17px/1.25 "News Roboto Condensed", Arial, sans-serif;
}

.category-page .pagination { margin: 22px 0 0; }

@media (max-width: 1200px) {
  .category-page-header { width: calc(100% - 12px); min-height: 62px; padding: 18px 12px 14px; }
  .category-page-header h1 { font-size: clamp(21px, 5vw, 26px); }
  .viewpost .container.category-page-container { width: calc(100% - 12px); margin: 0 auto 12px; overflow: hidden; }
  .category-page .cat-post-item { min-height: 82px; padding: 10px 12px 10px 62px; }
  .category-page .cat-post-icon { left: 8px; transform: translateY(-50%) scale(.75); transform-origin: left center; }
  .category-page .cat-info .title { font-size: clamp(17px, 4.2vw, 22px); }
  .category-page .cat-post-date { font-size: 15px; }
}

/* Đầu trang bài viết dùng cùng phong cách với danh sách tin tức. */
.article-category-header {
  display: none;
  width: 100%;
  box-sizing: border-box;
  min-height: 68px;
  margin: 0 auto;
  padding: 20px 20px 16px;
  border-top: 4px solid #ffd400;
  background: linear-gradient(#ffa900, #ed8700);
  color: #fff;
  text-align: center;
}

.article-category-header h1 {
  margin: 0;
  color: inherit;
  font: 700 26px/1 "News Roboto Condensed", Arial, sans-serif;
  text-transform: uppercase;
}

.post-header.article-post-header {
  width: 960px;
  min-height: 108px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 11px 52px 11px 84px;
  border-radius: 0;
  border-bottom: 1px solid #bb1c2d;
  background: url("../images/khungtintuc.png") center / 100% 100% no-repeat;
  color: #fff;
}

@media (min-width: 1201px) {
  /* Chừa khoảng cho cụm nút bên trái trên trang tin tức. */
  body.article-desktop-layout .post-header.article-post-header {
    margin-top: 170px !important;
  }
}

.article-post-header .post-header-container { position: relative; }

.article-post-header .article-post-icon {
  position: absolute;
  left: -68px;
  top: 50%;
  width: 62px;
  height: 62px;
  background: url("../images/khungsach.png") center / contain no-repeat;
  transform: translateY(-50%);
}

.article-post-header .article-post-icon::before {
  content: none;
}

.article-post-header .post-title {
  margin: 0 0 6px;
  color: #ffd329;
  font: 700 25px/1.3 "News Roboto Condensed", Arial, sans-serif;
}

.article-post-header .post-date {
  margin: 0;
  color: #fff;
  font: 400 17px/1.25 "News Roboto Condensed", Arial, sans-serif;
}

.article-page .container {
  border-radius: 0 !important;
}

/* Chỉ nền phía trong khung hiển thị bài tin là trắng. */
.article-page .container {
  background: #fff !important;
}

/* Chỉ chữ trong bảng có cỡ mặc định cố định; phần ngoài bảng giữ cỡ do nội dung đặt. */
.article-page .post-content {
  font-family: inherit;
  color: inherit;
}

.article-page .post-content table th,
.article-page .post-content table td,
.article-page .post-content table th *,
.article-page .post-content table td * {
  font-size: 20px !important;
}

.article-page .post-content table th,
.article-page .post-content table td {
  font-family: Tahoma, Arial, sans-serif;
  color: rgb(51, 51, 51);
}

/* Khung menu đen bóng trên banner, không dùng hiệu ứng làm mờ nền. */
.header {
  position: sticky;
  top: 0;
  z-index: 30;
  padding: 0;
}

.nav__container {
  width: 100%;
  min-height: 74px;
  margin: 0;
  padding: 3px max(18px, calc((100vw - 1240px) / 2));
  gap: 0;
  justify-content: center;
  border-top: 1px solid rgb(255 228 139 / 42%);
  border-bottom: 1px solid rgb(0 0 0 / 88%);
  border-radius: 0;
  background-color: rgb(18 18 18 / 40%);
  background-image: none;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), inset 0 -1px 0 rgb(0 0 0 / 55%);
}

.nav__logo,
html body .nav__logo,
html body img[src*="logo-moi.png"] {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block;
  margin: 0 20px 0 0 !important;
  transform: none !important;
}

.nav__logo img,
html body img[src*="logo-moi.png"] {
  position: static !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 3px 5px rgb(0 0 0 / .38));
}

/* Desktop: đặt logo trên banner, ở góc trái màn hình. */
@media (min-width: 1201px) {
  html body .nav__logo {
    position: absolute !important;
    top: calc(100% + 16px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 24px !important;
    z-index: 32 !important;
    margin: 0 !important;
    transform: none !important;
  }

  .nav__logo img,
  html body img[src*="logo-moi.png"] {
    width: 200px !important;
    height: 200px !important;
  }
}

.nav__list { gap: 0; }

.nav__list li {
  display: flex;
  align-items: center;
}

.nav__list li + li::before,
.nav__right::before {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  margin: 0 8px;
  background: #f5d56b;
  box-shadow: 0 0 0 1px rgb(87 57 8 / .25);
}

.nav__menu-link,
.nav__list a.nav__menu-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  color: lab(91.7203% -0.505269 49.9084);
  font-family: "News Roboto Condensed", Arial, sans-serif !important;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .15px;
  text-transform: uppercase;
  text-shadow: 0 1px 1px rgb(255 244 190 / .72), 0 2px 3px rgb(75 43 0 / .3);
}

.nav__menu-link::before {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}

.nav__menu-link--home::before { content: "⌂"; }
.nav__menu-link--news::before { content: "▤"; }
.nav__menu-link--event::before { content: "□"; }
.nav__menu-link--guide::before { content: "▰"; }
.nav__menu-link--feature::before { content: "⚔"; font-size: 12px; }
.nav__menu-link--support::before { content: "?"; }

.nav__menu-link:hover,
.nav__list a.nav__menu-link:hover {
  color: #7d4e00;
  background: rgb(185 117 0 / 13%);
}

/* PC: chia đều sáu mục, chữ căn giữa và vạch ngăn nằm đúng giữa hai mục. */
@media (min-width: 1201px) {
  .nav__container {
    min-height: 52px;
    padding-top: 2px;
    padding-bottom: 2px;
    gap: 0;
  }

  .nav__list {
    flex: 0 0 396px;
    width: 396px;
  }

  .nav__list li {
    position: relative;
    flex: 1 1 0;
    justify-content: center;
  }

  .nav__menu-link,
  .nav__list a.nav__menu-link {
    justify-content: center;
    min-width: 0;
    gap: 5px;
    padding: 6px 5px;
    font-size: 15px;
    white-space: nowrap;
  }

  .nav__menu-link::before {
    width: 19px;
    height: 19px;
    font-size: 12px;
  }

  .nav__list li + li::before,
  .nav__right::before {
    height: 20px;
  }

  .nav__list li + li::before,
  .nav__right::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin: 0;
  }

  .nav__right { position: relative; }
}

@media (max-width: 1200px) {
  .header { padding: 0; }
  .nav { overflow-x: auto; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .nav__container { min-height: 0; min-width: max-content; padding: 5px 4px; flex-wrap: nowrap; justify-content: flex-start; }
  .nav__list { flex: 0 0 auto; }
  .nav__logo, html body .nav__logo { flex: 0 0 auto; margin: 0 4px 0 0 !important; }
  .nav__logo img, html body img[src*="logo-moi.png"] { width: 50px !important; height: 50px !important; border-radius: 10px; }
  .nav__menu-link, .nav__list a.nav__menu-link { padding: 8px 5px; font-size: 13px; gap: 4px; white-space: nowrap; }
  .nav__menu-link::before { width: 17px; height: 17px; font-size: 11px; }
  .nav__list li + li::before, .nav__right::before { height: 20px; margin: 0 2px; }
}

@media (max-width: 1200px) {
  .article-category-header { width: calc(100% - 12px); min-height: 62px; padding: 18px 12px 14px; }
  .article-category-header h1 { font-size: clamp(21px, 5vw, 26px); }
  .post-header.article-post-header { width: calc(100% - 12px); min-height: 82px; padding: 10px 12px 10px 62px; }
  .article-post-header .article-post-icon { left: -54px; transform: translateY(-50%) scale(.75); transform-origin: left center; }
  .article-post-header .post-title { font-size: clamp(17px, 4.2vw, 22px); }
  .article-post-header .post-date { font-size: 15px; }
}

/* Mobile article safety: content pasted from the editor may contain fixed-width
   tables, images, embeds, or unbroken strings.  Keep that overflow inside the
   article instead of widening the entire page. */
@media (max-width: 1200px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .article-page,
  .article-page .container,
  .article-page .post-content {
    min-width: 0;
    max-width: 100%;
  }

  .article-page .post-content {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .article-page .post-content img,
  .article-page .post-content video,
  .article-page .post-content canvas,
  .article-page .post-content svg,
  .article-page .post-content iframe {
    display: block;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .article-page .post-content img,
  .article-page .post-content video,
  .article-page .post-content canvas,
  .article-page .post-content svg {
    height: auto !important;
  }

  .article-page .post-content pre,
  .article-page .post-content code {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
  }

  /* Keep editor tables inside the article on narrow screens. */
  .article-page .post-content table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  .article-page .post-content table th,
  .article-page .post-content table td {
    width: auto !important;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .article-page .post-content table th *,
  .article-page .post-content table td * {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

/* Ưu tiên nối liền banner sau mọi quy tắc responsive cũ. */
.main-nhanvat { margin-bottom: 0; }
.main-nhanvat + .social { margin-top: 0; }
.social + .site-footer,
.site-footer { margin-top: 0; }

@media (max-width: 1200px) {
  .main-nhanvat { margin-bottom: 0; }
  .main-nhanvat + .social { margin-top: 0; }
}

/* Menu mobile: ưu tiên logo và bốn mục nội dung chính, không cần cuộn ngang. */
@media (max-width: 1200px) {
  /* Mobile không hiển thị dải liên kết Social; footer cam nối sát nội dung. */
  html {
    background-position: center 28px;
  }

  .social {
    display: none;
  }

  .main-nhanvat + .social + .site-footer {
    margin-top: 0;
  }

  body {
    padding-top: 38px;
  }

  .topmain {
    margin-top: 90px;
    padding-top: 0;
  }

  .banner-slider img {
    object-position: center top;
  }

  .header {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .nav {
    min-height: 0;
    overflow: visible;
  }

  .header {
    background: #fff7e8;
    border-bottom-color: rgb(150 108 54 / 30%);
    box-shadow: 0 2px 8px rgb(106 72 31 / 12%);
  }

  .nav__container {
    background-color: #fff7e8;
    background-image: none;
    border-top-color: rgb(255 255 255 / 85%);
    border-bottom-color: rgb(150 108 54 / 22%);
    box-shadow: inset 0 -1px 0 rgb(150 108 54 / 10%);
  }

  .nav__container {
    width: 100%;
    min-width: 0;
    min-height: 0;
    justify-content: center;
    gap: 0;
    padding: 3px 4px;
    border-top: 0;
    box-shadow: inset 0 -1px 0 rgb(150 108 54 / 10%);
  }

  .nav__list {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    align-items: center;
  }

  .nav__list li {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    position: relative;
  }

  .nav__list li:has(.nav__menu-link--home),
  .nav__list li:has(.nav__menu-link--support) {
    display: none;
  }

  /* Không để vạch phân cách trước mục đầu tiên còn hiển thị. */
  .nav__list li:has(.nav__menu-link--home) + li::before { display: none; }

  .nav__logo,
  html body .nav__logo {
    position: absolute !important;
    /* Đặt tâm logo đúng trên đường ranh giữa thanh xanh và phần xám. */
    top: calc(100% - 74px) !important;
    left: 50% !important;
    z-index: 35 !important;
    display: block;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  .nav__logo img,
  html body img[src*="logo-moi.png"] {
    width: 58px !important;
    height: 58px !important;
    border-radius: 0;
  }

  .nav__menu-link,
  .nav__list a.nav__menu-link {
    gap: 3px;
    padding: 3px;
    line-height: 24px;
    justify-content: center;
    color: #161616;
    font-size: clamp(10px, 2.15vw, 11px);
    font-weight: 800;
    letter-spacing: 0;
    text-shadow: none;
  }

  .nav__menu-link:hover,
  .nav__list a.nav__menu-link:hover {
    color: #161616;
  }

  .nav__menu-link::before {
    width: 15px;
    height: 15px;
    font-size: 10px;
  }

  .nav__list li + li::before,
  .nav__right::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
    margin: 0;
    background: #161616;
    box-shadow: none;
  }

  .nav__list li + li::before { left: 0; }
  .nav__right { position: relative; }
  .nav__right::before { left: 0; }
}

/* Logo mobile nhỏ gọn ở góc trái thanh điều hướng. */
@media (max-width: 600px) {
  .header {
    height: 43px;
  }

  html body .nav__logo {
    position: absolute !important;
    top: 0 !important;
    left: 8px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 35 !important;
  }

  html body .nav__logo img,
  html body img[src*="logo-moi.png"] {
    width: 42px !important;
    height: 42px !important;
  }
}
/* Cỡ chữ bảng bài viết: đặt ở cuối stylesheet để thắng các rule responsive. */
body.article-desktop-layout .article-page .post-content table th,
body.article-desktop-layout .article-page .post-content table td,
body.article-desktop-layout .article-page .post-content table th *,
body.article-desktop-layout .article-page .post-content table td * {
  font-size: 20px !important;
}

/* Khôi phục ký hiệu danh sách trong nội dung bài viết.
   CSS toàn trang đang reset ul về list-style:none để phục vụ menu. */
body.article-desktop-layout .article-page .post-content ul {
  list-style-type: disc !important;
  padding-left: 2em !important;
  margin: 0 0 1em !important;
}

body.article-desktop-layout .article-page .post-content ol {
  list-style-type: decimal !important;
  padding-left: 2em !important;
  margin: 0 0 1em !important;
}

body.article-desktop-layout .article-page .post-content li {
  display: list-item !important;
  list-style-position: outside !important;
}

/* Chỉ chỉnh nút Nạp thẻ trong section đầu trang tin, không ảnh hưởng nội dung bài. */
@media (max-width: 1200px) {
  body.article-desktop-layout .topmain__left > .btn-topup {
    display: flex !important;
    width: 227px !important;
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
    flex: 0 0 227px !important;
    aspect-ratio: auto !important;
    background: url("../images/napthe.png") center center / 100% 100% no-repeat !important;
  }
}

/* Đồng bộ khung đầu trang tin với trang chủ trên màn hình responsive. */
@media (max-width: 1200px) {
  body.article-desktop-layout .topmain__container {
    width: calc(100% - 12px) !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    align-items: stretch !important;
  }

  body.article-desktop-layout .topmain__left {
    width: 24% !important;
    flex: 0 0 24% !important;
  }

  body.article-desktop-layout .topmain__center {
    width: 76% !important;
    flex: 0 0 76% !important;
    min-width: 0 !important;
    padding: 2px !important;
  }

  body.article-desktop-layout .topmain__right {
    display: none !important;
  }

  body.article-desktop-layout .banner-slider {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 491 / 253 !important;
    margin: 0 !important;
  }
}

/* PC: bù khoảng dịch 160px của nội dung chính để footer không phủ lên section nhân vật. */
@media (min-width: 1201px) {
  body > .site-footer {
    margin-top: 160px !important;
  }
}

/* Tin Tức PC: khung và footer ôm sát phần nội dung thực tế. */
@media (min-width: 1201px) {
  body:has(.news-page) .news-page {
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  body:has(.news-page) .event-news-panel {
    min-height: 0 !important;
  }

  body:has(.news-page) > .site-footer {
    margin-top: 0 !important;
  }

  /* Bài Tin Tức chi tiết dùng body.article-desktop-layout, không cộng khoảng bù của trang chủ. */
  body.article-desktop-layout .viewpost .container {
    margin-bottom: 0 !important;
  }

  body.article-desktop-layout > .site-footer {
    margin-top: 0 !important;
  }
}

