/* =========================
   Root + Resets
   ========================= */

:root {
    --red-600: #c00000;
    --red-700: #a00000;
    --orange-500: #ff9900;
    --gray-900: #0a0a0a;
    --gray-800: #333;
    --gray-700: #555;
    --gray-600: #666;
    --gray-500: #888;
    --gray-200: #eee;
    --gray-100: #f8f8f8;
    --body-bg: #fff;
}

html,
body {
    overflow-x: hidden;
    background: url(../../assets/images/bg-v2.png) repeat center top;
    background-size: 11%;
}
*::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 8px;
	background-color: #F5F5F5;
}

*::-webkit-scrollbar
{
	width: 10px;
	background-color: #F5F5F5;
}

*::-webkit-scrollbar-thumb
{
	border-radius: 8px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #D62929;
}

body {
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    background-color: var(--body-bg);
    color: var(--gray-800);
    position: relative;
}

body::before {
    position: absolute;
    height: 100%;
    content: '';
    width: 100vw;
    top: 0;
    left: 0;
    z-index: 999;
    background-color: #ffffff;
}
body.hidden:before{
    content: unset;
}
body.no-scroll {
    top: 0;
    overflow: hidden !important;
    height: 100vh;
    padding-top: 200px;
}
a {
    color: var(--gray-800);
    text-decoration: none;
}

a:hover {
    color: var(--red-600);
}

/* =========================
   Font sizes (desktop default)
   - Dùng unitless line-height để dễ responsive
   ========================= */

.fs-64 {
    font-size: 64px;
    line-height: 1.0;
}

.fs-48 {
    font-size: 44px;
    line-height: 1.2;
}

.fs-40 {
    font-size: 40px;
    line-height: 1.2;
}

.fs-32 {
    font-size: 32px;
    line-height: 1.2;
}

.fs-24 {
    font-size: 24px;
    line-height: 1.5;
}

.fs-20 {
    font-size: 20px;
    line-height: 1.3;
}

.fs-18 {
    font-size: 18px;
    line-height: 1.5;
}

.fs-16 {
    font-size: 16px;
    line-height: 1.3;
}

.fs-14 {
    font-size: 14px;
    line-height: 1.3;
}

.fs-12 {
    font-size: 12px;
    line-height: 1.2;
}

.fs-8 {
    font-size: 8px;
    line-height: 1;
}

/* Font weights (để ngoài media query) */

.fw-100 {
    font-weight: 100;
}

.fw-200 {
    font-weight: 200;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.fw-800 {
    font-weight: 800;
}

.fw-900 {
    font-weight: 900;
}

/* =========================
   Top bar
   ========================= */

.top-bar {
    background-color: var(--gray-100);
    font-size: 12px;
    color: var(--gray-600);
    padding: 5px 0;
    border-bottom: 1px solid var(--gray-200);
}

.top-bar .social-links a {
    color: var(--gray-600);
    margin-left: 8px;
    font-size: 14px;
}

.top-bar .social-links a:hover {
    color: var(--red-600);
}

/* =========================
   Header
   ========================= */

.header-logo img {
    max-height: 80px;
}

.header-banner img {
    max-height: 80px;
    width: auto;
    float: right;
}

/* =========================
   Main Navigation
   ========================= */

.main-nav {
    background-color: var(--red-600);
    min-height: 40px;
    display: block;
}

.main-nav .navbar-nav .nav-link {
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    padding: 10px 12px;
    line-height: 20px;
    border-right: 1px solid rgba(0, 0, 0, .15);
}

.main-nav .navbar-nav .nav-item:first-child .nav-link {
    padding-left: 12px;
    padding-right: 12px;
}

.main-nav .navbar-nav .nav-item:last-child .nav-link {
    border-right: none;
}

.main-nav .navbar-nav .nav-link:hover,
.main-nav .navbar-nav .nav-link.active {
    background-color: var(--red-700);
}

.main-nav .search-form {
    background-color: var(--red-700);
    padding: 4px 5px 4px 10px;
}

.main-nav .search-form .form-control {
    border: 0;
    border-radius: 0;
    font-size: 13px;
    width: auto;
    min-width: 120px;
}

.main-nav .search-form .btn-search {
    background: #fff;
    color: var(--red-600);
    border: 0;
    border-radius: 0;
    width: 38px;
    height: 32px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================
   Hero
   ========================= */

.hero-banner img {
    display: block;
}

/* =========================
   Main content
   ========================= */

main.container {
    background: #fff;
}

/* =========================
   Section title
   ========================= */

.section-title-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    border-bottom: 3px solid var(--orange-500);
    padding-bottom: 5px;
    position: relative;
}

.section-title-custom h2 {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-800);
    margin: 0;
    padding-left: 10px;
}

.section-title-custom::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 60px;
    height: 3px;
    background-color: var(--red-600);
    z-index: 1;
}

.section-title-custom .btn-more {
    background-color: var(--orange-500);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 6px 15px;
    border: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
}

.section-title-custom .btn-more:hover {
    background-color: #e68a00;
}

.section-title-custom .btn-more i {
    margin-left: 5px;
}

hr.section-divider {
    display: none;
}

/* =========================
   Cards / Articles
   ========================= */

.article-card {
    border: 0;
    background: none;
    margin-bottom: 15px;
    border-bottom: 1px dashed #ccc;
}

.article-card img {
    border: 1px solid var(--gray-200);
    width: 100%;
    max-height: 400px;
    object-fit: cover;
}

.article-card .card-title {
    font-size: 15px;
    font-weight: 700;
    margin: 8px 0 5px;
    line-height: 1.3;
}

.article-card .card-title a {
    color: var(--gray-800);
}

.article-card .card-title a:hover {
    color: var(--red-600);
}

.article-card .card-text {
    font-size: 14px;
    color: var(--gray-700);
    line-height: 1.5;
    margin-bottom: 5px;
}

.article-card .card-date {
    font-size: 12px;
    color: var(--gray-500);
    margin-bottom: 8px;
}

.article-card .card-date i {
    margin-right: 3px;
}

.featured-article-main .card-title {
    font-size: 24px;
    line-height: 1.3;
    margin-top: 10px;
}

.featured-article-main .card-title a {
    color: #000;
}

.featured-article-main .card-title a:hover {
    color: var(--red-600);
}

.featured-article-main .card-text {
    font-size: 15px;
    color: var(--gray-800);
}

/* Related list (thumb + text) */

.related-list-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #ccc;
}

.related-list-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.related-list-item img {
    width: 100px;
    height: auto;
    margin-right: 10px;
    flex-shrink: 0;
    border: 1px solid var(--gray-200);
}

.related-list-item .related-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.related-list-item .related-title a {
    color: var(--gray-800);
}

.related-list-item .related-title a:hover {
    color: var(--red-600);
}

/* Simple related list */

.simple-related-list .list-group-item {
    border: 0;
    border-bottom: 1px dashed #ccc;
    padding: 8px 0;
    font-size: 14px;
    background: none;
}

.simple-related-list .list-group-item:first-child {
    padding-top: 0;
}

.simple-related-list .list-group-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.simple-related-list .list-group-item a {
    color: var(--gray-800);
    font-weight: 500;
    line-height: 1.4;
}

.simple-related-list .list-group-item a:hover {
    color: var(--red-600);
}

.simple-related-list .card-date {
    font-size: 12px;
    color: var(--gray-500);
    margin-top: 3px;
    display: block;
}

/* =========================
   Sidebar
   ========================= */

.sidebar-widget {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    background: #fff;
}

.sidebar-widget .widget-title {
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    padding: 10px 15px;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    color: #555;
}

.sidebar-widget .widget-title.yellow {
    background: #fff7e6;
    color: #8a6d3b;
    border-bottom-color: #ddd;
}

.sidebar-widget .widget-body {
    padding: 15px;
}

.sidebar-widget .ratio {
    margin-bottom: 10px;
}

.sidebar-widget .video-title a {
    font-size: 14px;
    font-weight: 700;
    color: var(--gray-800);
    line-height: 1.3;
}

.sidebar-widget .video-title a:hover {
    color: var(--red-600);
}

.sidebar-widget .list-group-flush {
    border-top: 0;
}

.sidebar-widget .list-group-flush .list-group-item {
    padding: 10px 15px;
    font-size: 14px;
    border-bottom: 1px dashed #eee;
    background: none;
}

.sidebar-widget .list-group-flush .list-group-item:last-child {
    border-bottom: none;
}

.sidebar-widget .list-group-flush .list-group-item a {
    color: var(--gray-800);
    line-height: 1.4;
}

.sidebar-widget .list-group-flush .list-group-item a:hover {
    color: var(--red-600);
}

.video-list-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.video-list-item:last-child {
    margin-bottom: 0;
}

.video-list-item img {
    width: 100px;
    margin-right: 10px;
    flex-shrink: 0;
    border: 1px solid var(--gray-200);
}

.video-list-item a {
    color: var(--gray-800);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
}

.video-list-item a:hover {
    color: var(--red-600);
}

.sidebar-widget.widget-banner {
    border: 0;
    padding: 0;
}

.sidebar-widget.widget-banner img {
    display: block;
}

.sidebar-widget .form-select {
    border-radius: 0;
    font-size: 14px;
}

.stats-list li {
    font-size: 13px;
    padding: 4px 0;
    display: flex;
    justify-content: space-between;
    color: var(--gray-700);
    border-bottom: 1px dotted #eee;
}

.stats-list li:last-child {
    border-bottom: none;
}

.stats-list li i {
    margin-right: 5px;
    color: #999;
}

.stats-list li strong {
    color: var(--gray-800);
    font-weight: 700;
}

/* =========================
   Footer
   ========================= */

.footer {
    background: #eee;
    color: var(--gray-800);
    padding: 25px 0 10px;
    font-size: 13px;
    border-top: 3px solid var(--red-600);
    margin-top: 20px;
    background: url(../../assets/images/bg-footer-hcm.png) no-repeat center top #FFFAFA;
}

.footer h5 {
    color: var(--red-600);
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 15px;
}

.footer p,
.footer ul li {
    margin-bottom: 8px;
    line-height: 1.5;
}

.footer ul {
    list-style: none;
    padding-left: 0;
}

.footer ul li a {
    color: var(--gray-800);
}

.footer ul li a:hover {
    color: var(--red-600);
}

.footer .footer-bottom {
    border-top: 1px solid #ddd;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 12px;
    text-align: center;
    color: #555;
}

.footer .footer-map iframe {
    width: 100%;
    height: 160px;
    border: 1px solid #ccc;
}

/* =========================
   Category list
   ========================= */

.category-list-item .related-list-item img {
    width: 200px;
    height: auto;
}

.wp-block-image .aligncenter>figcaption {
    width: 100%;
    text-align: center;
    display: block;
}

.wp-caption {
    max-width: 100%;
    height: auto;
}

.wp-block-file__button {
    color: #fff;
}

/* =========================
   News single
   ========================= */

.news_single {
    color: #212529;
    word-break: break-word;
    text-align: justify;
    font-size: 16px;
}
.container {
    background: #ffffff;
}

.news_single p {
    margin-bottom: 1.2rem;
}

.news_single h1,
.news_single h2,
.news_single h3,
.news_single h4,
.news_single h5,
.news_single h6 {
    font-weight: 600;
    line-height: 1.3;
    margin: 1.8rem 0 1rem;
    color: var(--gray-900);
}

.news_single h2 {
    font-size: 1.5rem;
    border-left: 4px solid #0d6efd;
    padding-left: 10px;
}

.news_single a {
    color: #06c;
    transition: color .2s;
}

.news_single a:hover {
    color: #004c99;
    text-decoration: underline;
}

.news_single ul,
.news_single ol {
    padding-left: 1.6rem;
    margin-bottom: 1.2rem;
}

.news_single li {
    margin-bottom: .4rem;
}

.news_single img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
    margin: 1rem auto;
}

.news_single blockquote {
    border-left: 4px solid #0d6efd;
    background: #f8f9fa;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #555;
}

.news_single table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}

.news_single table th,
.news_single table td {
    border: 1px solid #dee2e6;
    padding: .75rem;
}

.news_single table th {
    background: #f1f3f5;
    font-weight: 600;
}

.news_single iframe,.news_single video {
    max-width: 100%;
    border: 0;
    border-radius: 8px;
}

.news_single .wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 1.5rem 0;
}

.news_single .wp-block-gallery img {
    border-radius: 8px;
    height: auto;
    width: 100%;
}

.news_single .wp-caption {
    text-align: center;
    font-size: .9rem;
    color: #6c757d;
}

.news_single .wp-caption img {
    margin-bottom: .3rem;
}

.news_single hr {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 2rem 0;
}

.news_single pre,
.news_single code {
    background: #f8f9fa;
    border-radius: 6px;
    padding: .5rem .75rem;
    font-family: monospace;
    font-size: .95rem;
    overflow-x: auto;
}

.news_single .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.news_single .alignright {
    float: right;
    margin: 0 0 1rem 1rem;
}

.news_single .alignleft {
    float: left;
    margin: 0 1rem 1rem 0;
}

.news_single .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.news_single .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* =========================
   Utilities (fixed icons, buttons)
   ========================= */

.right-fix-icon {
    position: fixed;
    right: 27px;
    bottom: 165px;
}

.right-fix-icon img {
    max-width: 50px;
}

.zalo-chat-widget {
    bottom: 95px !important;
    right: 25px !important;
}

.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    display: none;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fd0d0d, #ff0000);
    border: 0;
    z-index: 1050;
    transition: all .3s ease-in-out;
}

.scroll-to-top:hover {
    transform: scale(1.1);
    box-shadow: 0 0 12px rgba(13, 110, 253, .7);
}
.wp-block-file__button.wp-element-button {
  color: #fff;
  background: #dc3545;
  border-radius: 5px;
}
.bottom-nav{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0px;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -2px 15px rgba(0, 0, 0, .08);
    display: none;
    justify-content: space-around;
    align-items: center;
    padding: 10px 0px 30px;
    z-index: 1030;
}

.bottom-nav a.logo-center {
    position: relative;
    top: -15px;
    background: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bottom-nav a.logo-center img {
    width: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.bottom-nav a {
    color: #333;
    text-decoration: none;
    text-align: center;
    flex: 1;
    font-size: 10px;
    transition: color 0.2s;
}

.bottom-nav a i {
    display: block;
    font-size: 21px;
    margin-bottom: 0px;
}

.bottom-nav a.active {
    color: #fe2803;
    /* xanh chủ đạo */
    font-weight: 600;
}

.bottom-nav a.active i {
    color: #fe2803;
}

.menu-popup {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(8px);
  z-index: 1025;
  display: none;
  flex-direction: column;
  animation: fadeIn .3s ease;
  overflow-y: auto;       /* ✅ Cho phép cuộn toàn bộ popup */
  -webkit-overflow-scrolling: touch; /* ✅ mượt trên iOS */
  padding: 10px 5px 70px;
}
.menu-popup { overscroll-behavior: contain; }
.menu-popup.active {
  display: block;
}

/* Xóa overflow riêng của menu */
.popup-menu {
  flex: unset;
  overflow: visible;      /* ✅ Không giới hạn vùng cuộn */
}

.popup-contact {
  border-top: 1px solid #e9ecef;
  background: #fff;
  padding: 16px;
}

.contact-title {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.3;
    color: #c41230;
    margin-bottom: 8px;
}

.contact-list li {
    font-size: 14px;
    padding: 8px 0;
    border-bottom: 1px solid #f3f4f6;
}

.contact-list li:last-child {
    border-bottom: none;
}

.contact-list a {
    text-decoration: none;
}

/* --- Social row --- */

.social-row {
    margin-top: 4px;
}

.social-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fff;
    color: #111;
    text-decoration: none;
    font-size: 14px;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.social-btn i {
    font-size: 18px;
    line-height: 1;
}

.social-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
    border-color: #d1d5db;
}

.social-btn.zalo:hover {
    box-shadow: 0 6px 16px rgba(0, 104, 255, .15);
}

.social-btn.facebook i {
    color: #1877f2;
}
@media (max-width: 991.98px) {
    .social-btn.facebook {
        display: none !important;
    }
}

/* Đảm bảo danh sách menu cuộn được và contact luôn ở đáy */

.popup-menu {
    flex: 1;
    overflow-y: auto;
}

@keyframes fadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.menu-popup .search-box {
    padding: 16px;
    border-bottom: 1px solid #e9ecef
}

.menu-popup .close-btn {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: 22px;
    cursor: pointer;
    color: #ffffff;
    background: #cb2c4e;
    padding: 5px 10px;
}

.popup-menu {
    overflow-y: auto;
    flex: 1;
    padding: 8px 0 24px
}

.popup-item a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #f1f3f5;
    text-decoration: none;
    color: #222
}

.popup-item a:hover {
    background: #f8f9fa
}

.popup-item-img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 6px;
    flex: 0 0 28px
}

.popup-item-text {
    font-size: 16px;
    line-height: 22px;
    color: #000000;
    font-weight: 500;
}

#app-loader {
    height: 100vh;
    width: 100vw;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    inset: 0;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
.error-container {
  text-align: center;
  font-size: 106px;
  font-family: 'Catamaran', sans-serif;
  font-weight: 800;
    padding: 70px 15px;
}
.error404 .footer {
    margin-top: 0px !important;
}
.error-container > span {
  display: inline-block;
  position: relative;
}
.error-container > span.four {
  width: 136px;
  height: 43px;
  border-radius: 999px;
  background:
    linear-gradient(140deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.07) 43%, transparent 44%, transparent 100%),
    linear-gradient(105deg, transparent 0%, transparent 40%, rgba(0, 0, 0, 0.06) 41%, rgba(0, 0, 0, 0.07) 76%, transparent 77%, transparent 100%),
    linear-gradient(to right, #d89ca4, #e27b7e);
}
.error-container > span.four:before,
.error-container > span.four:after {
  content: '';
  display: block;
  position: absolute;
  border-radius: 999px;
}
.error-container > span.four:before {
  width: 43px;
  height: 156px;
  left: 60px;
  bottom: -43px;
  background:
    linear-gradient(128deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.07) 40%, transparent 41%, transparent 100%),
    linear-gradient(116deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.07) 50%, transparent 51%, transparent 100%),
    linear-gradient(to top, #99749D, #B895AB, #CC9AA6, #D7969E, #E0787F);
}
.error-container > span.four:after {
  width: 137px;
  height: 43px;
  transform: rotate(-49.5deg);
  left: -18px;
  bottom: 36px;
  background: linear-gradient(to right, #99749D, #B895AB, #CC9AA6, #D7969E, #E0787F);
}

.error-container > span.zero {
  vertical-align: text-top;
  width: 156px;
  height: 156px;
  border-radius: 999px;
  background: linear-gradient(-45deg, transparent 0%, rgba(0, 0, 0, 0.06) 50%,  transparent 51%, transparent 100%),
    linear-gradient(to top right, #99749D, #99749D, #B895AB, #CC9AA6, #D7969E, #ED8687, #ED8687);
  overflow: hidden;
  animation: bgshadow 5s infinite;
}
.error-container > span.zero:before {
  content: '';
  display: block;
  position: absolute;
  transform: rotate(45deg);
  width: 90px;
  height: 90px;
  background-color: transparent;
  left: 0px;
  bottom: 0px;
  background:
    linear-gradient(95deg, transparent 0%, transparent 8%, rgba(0, 0, 0, 0.07) 9%, transparent 50%, transparent 100%),
    linear-gradient(85deg, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.05) 20%, rgba(0, 0, 0, 0.07) 91%, transparent 92%, transparent 100%);
}
.error-container > span.zero:after {
  content: '';
  display: block;
  position: absolute;
  border-radius: 999px;
  width: 70px;
  height: 70px;
  left: 43px;
  bottom: 43px;
  background: #FDFAF5;
  box-shadow: -2px 2px 2px 0px rgba(0, 0, 0, 0.1);
}

.screen-reader-text {
    position: absolute;
    top: -9999em;
    left: -9999em;
}
#hochi-minh-page {
    background: url(../../assets/images/bg-v2.png) repeat center top;
    background-size: 11%;
}
.hcm-banner {
    width: 100%;
}
#hochi-minh-page .news-section-title{
    color:#d21f1f;
    font-weight:800;
    letter-spacing:.5px;
}
#hochi-minh-page .hcm_section .container {
    background: #ffffff;
}
#hochi-minh-page .news-divider{
    height:2px;
    background:linear-gradient(90deg, rgba(210,31,31,.25), rgba(210,31,31,0));
}
#hochi-minh-page .news-feature .news-thumb{
    border-radius: 8px;
    overflow: hidden;
    background:#f3f4f6;
}
#hochi-minh-page .news-feature .news-title{
    font-weight:800;
    line-height:1.2;
}
.news-feature .news-excerpt{
    color:#555;
    line-height:1.6;
}
#hochi-minh-page .news-date{
    color:#6b7280;
    font-size:.9rem;
}
#hochi-minh-page .news-list .item{
    padding: 14px 0;
    border-bottom: 1px solid #e5e7eb;
}
#hochi-minh-page .news-list .item:last-child{ border-bottom:0; }
#hochi-minh-page .news-list .title{
    font-weight:800;
    line-height:1.25;
    margin-bottom:.35rem;
}
#hochi-minh-page .news-list .excerpt{
    color:#555;
    line-height:1.5;
    margin-bottom:.35rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#hochi-minh-page .news-link{
    text-decoration:none;
    color:inherit;
}
#hochi-minh-page .news-link:hover .title,
#hochi-minh-page .news-link:hover .news-title{ text-decoration: underline; color:#d21f1f;}

#hochi-minh-page .museum-title{
    color:#d21f1f;
    font-weight:800;
    letter-spacing:.5px;
}
#hochi-minh-page .museum-divider{
    height:2px;
    background:linear-gradient(90deg, rgba(210,31,31,.25), rgba(210,31,31,0));
}
#hochi-minh-page  .museum-item {
    padding: 15px;
}
#hochi-minh-page  .museum-item img{
    border-radius:6px;
    transition:.3s;
}
#hochi-minh-page .museum-item:hover img{
    transform:scale(1.03);
}
#hochi-minh-page .museum-caption{
    text-align:center;
    font-weight:800;
    margin-top:10px;
}
#hochi-minh-page .mm-wrap{ background:#fbf3f2; }

#hochi-minh-page .mm-wrap.section_audio{ 
    background:#ffffff;
}

#hochi-minh-page .mm-title{
  color:#d21f1f; 
  font-weight:900; 
  letter-spacing:.5px;
}
#hochi-minh-page .mm-divider{
  height:2px;
  background:linear-gradient(90deg, rgba(210,31,31,.25), rgba(210,31,31,0));
}

/* Header tabs */
#hochi-minh-page .mm-tabs{ gap:18px; }
#hochi-minh-page .mm-tab{
  display:inline-flex; align-items:center; gap:8px;
  color:#111; text-decoration:none; font-weight:700;
  padding:6px 0;
}
#hochi-minh-page .mm-tab i{ color:#d21f1f; font-size:1rem; }
#hochi-minh-page .mm-tab.active{ color:#d21f1f; }
#hochi-minh-page .mm-tab.active i{ color:#d21f1f; }

/* Left list */
#hochi-minh-page .mm-list{
  display:flex; 
  flex-direction:column; 
  gap:14px;
}
#hochi-minh-page .mm-item{
  display:flex; 
  gap:14px; 
  text-decoration:none; 
  color:inherit;
}
#hochi-minh-page .mm-thumb{
  aspect-ratio: 16 / 9;
  width:170px;
  flex:0 0 170px;
  border-radius:8px;
  overflow:hidden;
  position:relative;
  background:#eee;
}
#hochi-minh-page .mm-thumb img{
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block;
}
#hochi-minh-page .mm-thumb img,
#hochi-minh-page .mm-feature img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#hochi-minh-page .mm-feature {
    position: relative;
}
#hochi-minh-page .mm-feature::before {
    content:'';
    background: rgb(0 0 0 / 15%);
    position: absolute;
}
#hochi-minh-page img{
  object-fit: cover;
}
#hochi-minh-page .mm-thumb .mm-icon{
  position:absolute; 
  inset:0; 
  display:grid; 
  place-items:center;
}
#hochi-minh-page .mm-thumb .mm-icon span{
  width:44px; 
  height:44px; 
  border-radius:999px;
  background:rgba(255,255,255,.65);
  display:grid; 
  place-items:center;
  backdrop-filter: blur(2px);
}
#hochi-minh-page .mm-thumb .mm-icon i{
  font-size:18px; 
  color:#111;
}

#hochi-minh-page .mm-item .mm-text{
  font-weight:700; 
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#hochi-minh-page .mm-item:hover .mm-text{
  text-decoration:underline;
  color: #d21f1f;
}

/* Right featured */
#hochi-minh-page .mm-feature{
  aspect-ratio: 16 / 10;
  border-radius:10px;
  overflow:hidden;
  position:relative;
  background:#ddd;
}
#hochi-minh-page .mm-feature img{
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block;
}
#hochi-minh-page .mm-feature .mm-center{
  position:absolute; 
  inset:0; 
  display:grid; 
  place-items:center;
  pointer-events:none;
}
#hochi-minh-page .mm-feature .mm-center span{
  width:64px; 
  height:64px; 
  border-radius:999px;
  background:rgba(255,255,255,.65);
  display:grid; 
  place-items:center;
  backdrop-filter: blur(2px);
}
#hochi-minh-page .mm-feature .mm-center i{
  font-size:22px; 
  color:#111;
}

#hochi-minh-page .mm-feature .mm-overlay{
  position:absolute; 
  left:0; right:0; bottom:0;
  padding:22px 22px 18px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.68) 85%);
}
#hochi-minh-page .mm-feature .mm-overlay h3{
  margin:0; 
  color:#fff; 
  font-weight:900; 
  font-size:1.75rem;
  line-height:1.15;
}
.news_single.hcm_new_detail {
    padding: 15px 30px;
}
/* ===== Slick Arrow style theo mẫu ===== */
#hochi-minh-page .hcm_section_3d .slick-prev,
#hochi-minh-page .hcm_section_3d .slick-next {
  width: 44px;
  height: 44px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  z-index: 10;
  transition: all .25s ease;
}

/* Vị trí */
#hochi-minh-page .hcm_section_3d .slick-prev {
  left: -18px;
}
#hochi-minh-page .hcm_section_3d .slick-next {
  right: -18px;
}

/* RESET arrow mặc định */
#hochi-minh-page .hcm_section_3d .slick-prev:before,
#hochi-minh-page .hcm_section_3d .slick-next:before {
  content: '';
}

/* Icon mũi tên (CSS thuần, không font) */
#hochi-minh-page .hcm_section_3d .slick-prev:after,
#hochi-minh-page .hcm_section_3d .slick-next:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2.5px solid #e53935;   /* đỏ */
  border-right: 2.5px solid #e53935;
  transform-origin: center;
}

/* Hướng mũi tên */
#hochi-minh-page .hcm_section_3d .slick-prev:after {
  transform: translate(-50%, -50%) rotate(-135deg);
}
#hochi-minh-page .hcm_section_3d .slick-next:after {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* Hover */
#hochi-minh-page .hcm_section_3d .slick-prev:hover,
#hochi-minh-page .hcm_section_3d .slick-next:hover {
  /* transform: scale(1.08); */
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
}

/* Disabled */
#hochi-minh-page .hcm_section_3d .slick-disabled {
  opacity: .4;
  pointer-events: none;
}


/* Disabled */
#hochi-minh-page.hcm_section_3d .slick-disabled {
  opacity: .35;
  pointer-events: none;
}
/* ===== Book slider ===== */
#hochi-minh-page .hcm_section_books .book-slick .book-slide-item{
  padding: 0 10px;             /* khoảng cách giữa card */
}
#hochi-minh-page .hcm_section_books .book-slick{
  margin: 0 -10px;
}

/* Card */
#hochi-minh-page .hcm_section_books .book-card{
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease;
}
#hochi-minh-page .hcm_section_books .book-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}

/* Cover */
#hochi-minh-page .hcm_section_books .book-cover{
  background: #f3f4f6;
}
#hochi-minh-page .hcm_section_books .book-cover img{
  width: 100%;
  height: 100%;
}

/* Title clamp */
#hochi-minh-page .hcm_section_books .book-title{
  font-size: 14px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 36px;
}

/* Slick dots giống ảnh */
#hochi-minh-page .hcm_section_books .slick-dots{
  bottom: -28px;
}
#hochi-minh-page .hcm_section_books .slick-dots li button:before{
  font-size: 10px;
  opacity: .25;
}
#hochi-minh-page .hcm_section_books .slick-dots li.slick-active button:before{
  opacity: .85;
}
#hochi-minh-page .hcm_section_books .slick-prev,
#hochi-minh-page .hcm_section_books .slick-next{
  width: 44px; height: 44px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  z-index:10;
}
#hochi-minh-page .hcm_section_books .slick-prev{ left:-18px; }
#hochi-minh-page .hcm_section_books .slick-next{ right:-18px; }
#hochi-minh-page .hcm_section_books .slick-prev:before,
#hochi-minh-page .hcm_section_books .slick-next:before{ content:''; }

#hochi-minh-page .hcm_section_books .slick-prev:after,
#hochi-minh-page .hcm_section_books .slick-next:after{
  content:'';
  position:absolute; top:50%; left:50%;
  width:10px; height:10px;
  border-top:2.5px solid #da251d;
  border-right:2.5px solid #da251d;
}
#hochi-minh-page .hcm_section_books .slick-prev:after{
  transform:translate(-50%,-50%) rotate(-135deg);
}
#hochi-minh-page .hcm_section_books .slick-next:after{
  transform:translate(-50%,-50%) rotate(45deg);
}
/* ===== Book Detail Hero ===== */
.book-detail-page .book-hero{
  background: radial-gradient(1200px 600px at 30% 20%, rgba(255,255,255,.06), rgba(255,255,255,0)),
              linear-gradient(180deg, #0b1b33 0%, #0b1b33 60%, #0b1b33 100%);
  color: #fff;
}

.book-detail-page .book-cover-wrap{
  width: 320px;
  max-width: 100%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  background: rgba(255,255,255,.06);
}
.book-detail-page .book-cover-wrap img{
  width: 100%;
  height: auto;
  display: block;
}

/* badges */
.book-detail-page .book-badge-red{
  background:#da251d;
  color:#fff;
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 700;
  font-size: 12px;
}
.book-detail-page .book-badge-white{
  background: rgba(255,255,255,.10);
  color:#fff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  font-size: 12px;
}

/* title + desc */
.book-detail-page .book-hero-title{
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.15;
  font-weight: 800;
  margin: 0;
}
.book-detail-page .book-hero-desc{
  color: rgba(255,255,255,.85);
  max-width: 820px;
}
.book-detail-page .book-hero-desc p{ margin-bottom: 10px; }

/* buttons */
.book-detail-page .book-btn-pill{
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
}
.book-detail-page .btn-light.book-btn-pill{
  background: rgba(255,255,255,.92);
  border: 0;
}

/* ===== Related ===== */
.book-detail-page .book-related{
  background: #fff;
}
.book-detail-page .book-mini-card{
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.book-detail-page .book-mini-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
}
.book-detail-page .book-mini-card img{
  border-radius: 12px;
}
.book-detail-page .book-mini-title{
  margin-top: 10px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 34px;
}
.news_single .book-mini-card img {
    height: 445px;
}
/* ===== Book grid item like screenshot ===== */
#hochi-minh-page .book-mini-card{
  background:#fff;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  height:100%;
  display:flex;
  flex-direction:column;
  transition: transform .2s ease, box-shadow .2s ease;
}
#hochi-minh-page .book-mini-card:hover{
  transform: translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* Cover */
#hochi-minh-page .book-cover{
  border-radius:14px;
  overflow:hidden;
  background:#f3f4f6;
  aspect-ratio: 2 / 3; /* cover 2:3 */
}
#hochi-minh-page .book-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Badge */
#hochi-minh-page .book-pill{
  display:inline-block;
  background:#da251d;
  color:#fff;
  font-weight:900;
  font-size:12px;
  padding:6px 12px;
  border-radius:999px;
  letter-spacing:.3px;
  text-transform:uppercase;
  margin-top:12px;
    width: 100px;
    text-align: center;
}

/* Title */
#hochi-minh-page .book-mini-title{
  margin-top:10px;
  font-size:16px;
  font-weight:900;
  line-height:1.15;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height: 38px;
  text-align: left;
}

/* Desc */
#hochi-minh-page .book-mini-desc{
  margin-top:8px;
  color:#6b7280;
  font-size:13px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height: 38px;
}

/* Bottom meta row */
#hochi-minh-page .book-mini-bottom{
  margin-top:auto;
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#hochi-minh-page .book-reads{
  color:#6b7280;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
#hochi-minh-page .book-detail-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:999px;
  border:2px solid rgba(218,37,29,.25);
  color:#da251d;
  font-weight:900;
  text-decoration:none;
  transition: all .2s ease;
  white-space:nowrap;
}
#hochi-minh-page .book-detail-btn:hover{
  background:#da251d;
  border-color:#da251d;
  color:#fff;
}
#hochi-minh-page  .hcm-baotang-iframe iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
}


/* ===== HCM: Gương sáng học và làm theo Bác ===== */
#hochi-minh-page .hcm_section_guong_sang .container{
  background: linear-gradient(180deg, #fff 0%, #fff7f2 100%);
}
#hochi-minh-page .guong-feature{
  display:block;
  height:100%;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
#hochi-minh-page .guong-feature:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(0,0,0,.13);
}
#hochi-minh-page .guong-feature-thumb{
  position:relative;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#f3f4f6;
}
#hochi-minh-page .guong-feature-thumb img,
#hochi-minh-page .guong-item-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
#hochi-minh-page .guong-feature:hover .guong-feature-thumb img,
#hochi-minh-page .guong-item:hover .guong-item-thumb img{
  transform:scale(1.04);
}
#hochi-minh-page .guong-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 14px;
  border-radius:999px;
  background:#da251d;
  color:#fff;
  font-weight:800;
  font-size:13px;
  box-shadow:0 8px 20px rgba(218,37,29,.28);
}
#hochi-minh-page .guong-feature-body{
  padding:22px;
}
#hochi-minh-page .guong-feature-body h3{
  margin:0 0 10px;
  color:#111827;
  font-weight:900;
  font-size:clamp(22px, 2vw, 30px);
  line-height:1.2;
}
#hochi-minh-page .guong-feature-body p{
  margin:12px 0 14px;
  color:#4b5563;
  line-height:1.65;
}
#hochi-minh-page .guong-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#hochi-minh-page .guong-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff1f1;
  color:#b91c1c;
  font-size:13px;
  font-weight:700;
}
#hochi-minh-page .guong-date,
#hochi-minh-page .guong-item-date{
  display:flex;
  align-items:center;
  gap:6px;
  color:#6b7280;
  font-size:13px;
  font-weight:600;
}
#hochi-minh-page .guong-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
#hochi-minh-page .guong-item{
  display:flex;
  gap:14px;
  background:#fff;
  border:1px solid rgba(218,37,29,.12);
  border-radius:16px;
  padding:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
#hochi-minh-page .guong-item:hover{
  transform:translateY(-2px);
  border-color:rgba(218,37,29,.32);
  box-shadow:0 14px 32px rgba(0,0,0,.1);
}
#hochi-minh-page .guong-item-thumb{
  width:150px;
  flex:0 0 150px;
  aspect-ratio:4 / 3;
  border-radius:12px;
  overflow:hidden;
  background:#f3f4f6;
}
#hochi-minh-page .guong-item-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#hochi-minh-page .guong-item-content h4{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#hochi-minh-page .guong-item:hover h4{
  color:#da251d;
  text-decoration:underline;
}
#hochi-minh-page .guong-item-meta{
  color:#b91c1c;
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#hochi-minh-page .guong-empty{
  background:#fff;
  border-radius:14px;
  padding:18px;
  border:1px dashed rgba(218,37,29,.25);
}

/* Responsive */
@media (max-width: 991.98px){
    .news_single.hcm_new_detail {
        padding: unset;
    }
  #hochi-minh-page .mm-thumb{
    width:150px; 
    flex-basis:150px;
  }
  #hochi-minh-page .mm-feature{
    min-height:280px;
  }
  #hochi-minh-page .mm-feature .mm-overlay h3{
    font-size:1.4rem;
  }
}

@keyframes bgshadow {
  0% {
    box-shadow: inset -160px 160px 0px 5px rgba(0, 0, 0, 0.4);
  }
  45% {
    box-shadow: inset 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
  }
  55% {
    box-shadow: inset 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
  }
  100% {
    box-shadow: inset 160px -160px 0px 5px rgba(0, 0, 0, 0.4);
  }
}


@media (max-width: 1399.98px) {
    .fs-64 {
        font-size: 40px;
        line-height: 1.2;
    }
    .fs-48 {
        font-size: 32px;
        line-height: 1.2;
    }
    .fs-40 {
        font-size: 28px;
        line-height: 1.25;
    }
    .fs-32 {
        font-size: 26px;
        line-height: 1.1;
    }
    .fs-24 {
        font-size: 20px;
        line-height: 1.4;
    }
    .fs-20 {
        font-size: 18px;
        line-height: 1.1;
    }
    .fs-18 {
        font-size: 16px;
    }
    .fs-16 {
        font-size: 15px;
    }
    .fs-12 {
        font-size: 10px;
    }
}

/* <= 991.98px (nav mobile styles) */

@media (max-width: 991.98px) {
    .navbar-toggler {
        border-color: rgba(255, 255, 255, .5);
    }
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--red-700);
        box-shadow: 0 4px 15px rgba(0, 0, 0, .1);
        border-top: 1px solid rgba(0, 0, 0, .05);
        z-index: 9999;
        transition: all .3s ease-in-out;
    }
    .navbar-collapse.collapse {
        display: block !important;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-10px);
        transition: all .3s ease-in-out;
    }
    .navbar-collapse.collapse.show {
        max-height: 500px;
        opacity: 1;
        transform: translateY(0);
    }
    /* Link trên nền đỏ: để màu trắng cho dễ đọc */
    .navbar-nav .nav-link {
        padding: .75rem 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        color: #fff;
    }
    .navbar-nav .nav-link:hover {
        background: rgba(0, 0, 0, .08);
    }
    /* Category list thumb nhỏ hơn */
    .category-list-item .related-list-item img {
        width: 100px;
        height: auto;
    }
    /* Ẩn mô tả trong danh sách khi mobile */
    .category-list-item .related-list-item .card-text {
        display: none;
    }
    .related_news .ff-title {
        font-size: 18px;
        margin-top: 5px;
    }
}
#app-loader {
    display: none;
}
.hcm-menu {
    background-color: var(--red-600);
}
/* ===== Mobile offcanvas look giống hình ===== */
.hcm-mobilebar {
  background: #c00000;
}

.hcm-offcanvas.offcanvas-start {
 z-index: 1055;
  width: 300px;
  border: 0;
  background: #c00000;
}
.offcanvas-backdrop {
  z-index: 1050;
}

/* nền đỏ full */
.hcm-offcanvas .hcm-offcanvas-inner {
  height: 100%;
  background: #c00000;
  padding: 0px 0 24px;
}

/* ô search */
.hcm-offcanvas-search {
  padding: 12px 14px 10px;
  position: relative;
}

.hcm-search-input {
  width: 100%;
  height: 42px;
  border: 0;
  outline: 0;
  padding: 0 44px 0 12px;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
}

.hcm-mic-btn {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #666;
}

/* menu list */
.hcm-offcanvas-menu {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
}

.hcm-offcanvas-menu > li {
  border-top: 1px solid rgba(255,255,255,.15);
}

.hcm-offcanvas-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 15px;
}

/* submenu */
.hcm-offcanvas-menu li ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: none; /* JS sẽ toggle */
  background: rgba(0,0,0,.08);
}

.hcm-offcanvas-menu li ul li a {
  display: block;
  padding: 10px 14px 10px 34px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 14px;
  opacity: .95;
}

/* nút + ở bên phải */
.hcm-subtoggle {
  margin-left: auto;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .9;
}

/* trạng thái mở */
.hcm-menu-open > ul {
  display: block;
}

/* nút X góc phải overlay */
.hcm-offcanvas-close {
  position: fixed;
  right: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.85);
  background: rgba(0,0,0,.35);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1060;
}

/* ẩn bottom nav của bạn nếu có */
.bottom-nav { display: none; }
.hcm-menu .main-nav .navbar-nav .nav-item .nav-link, .hcm-offcanvas-menu > li {
    padding-left: 30px;
    position: relative;
}
.hcm-menu .main-nav .navbar-nav .nav-item .nav-link:before, .hcm-offcanvas-menu > li > a:before {
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    left: 10px;
    top: 30%;
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-home .nav-link:before,.hcm-offcanvas-menu > li.icon-home > a:before {
    content: "\f423";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-tu-tuong .nav-link:before,.hcm-offcanvas-menu > li.icon-tu-tuong > a:before {
    content: "\f1a4";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-book .nav-link:before,.hcm-offcanvas-menu > li.icon-book > a:before {
    content: "\f194";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-audio .nav-link:before,.hcm-offcanvas-menu > li.icon-audio > a:before {
    content: "\f57c";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-video .nav-link:before,.hcm-offcanvas-menu > li.icon-video > a:before {
    content: "\f21f";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-bao-tang .nav-link:before,.hcm-offcanvas-menu > li.icon-bao-tang > a:before {
    content: "\f62e";
}
.hcm-menu .main-nav .navbar-nav .nav-item.icon-back .nav-link:before,.hcm-offcanvas-menu > li.icon-back > a:before {
    content: "\f12e";
}
footer .container,.book-detail-page .book-hero .container, .hcm-menu .container, .hcm-menu .main-nav{
    background: transparent;
}
#hcmMenuSticky.is-sticky{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1030; /* chuẩn navbar bootstrap, thấp hơn offcanvas */
}
/* giữ background + shadow để giống sticky-top */
#hcmMenuSticky.is-sticky .main-nav {
  background: #c00000; /* hoặc màu menu của bạn */
  box-shadow: 0 6px 20px rgba(0,0,0,.12);
}

/* để tránh bị “nhảy” nội dung khi menu chuyển sang fixed */
body.hcm-has-sticky-padding {
  padding-top: var(--hcm-sticky-h, 0px);
}

@media (max-width: 767.98px) {
    @media (max-width: 768px){
        #hochi-minh-page .hcm-baotang-iframe iframe{
            aspect-ratio: 9 / 16;
        }
        }
    #hochi-minh-page .book-mini-bottom {
        display: block;
    }
    #hochi-minh-page .book-detail-btn {
        margin-top: 10px;
    }
    #hochi-minh-page .mm-feature {
        aspect-ratio: unset;
    }
    #app-loader {
        display: flex;
    }
    #app-loader.hidden {
        display: none;
    }
    .fs-64 {
        font-size: 28px;
        line-height: 1.2;
    }
    .fs-48 {
        font-size: 24px;
        line-height: 1.2;
    }
    .fs-40 {
        font-size: 22px;
        line-height: 1.25;
    }
    .fs-32 {
        font-size: 18px;
        line-height: 1.1;
    }
    .fs-24 {
        font-size: 18px;
    }
    .fs-20 {
        font-size: 16px;
        line-height: 1.1;
    }
    .fs-18,
    .fs-16,
    .fs-14 {
        font-size: 14px;
    }
    .fs-12 {
        font-size: 10px;
    }
    body {
      padding-bottom: 10px;
    }
    .right-fix-icon {
        display: none;
    }
    .zalo-chat-widget {
        bottom: 10px !important;
        left: 10px !important;
    }
    .scroll-to-top {
      display: none !important;
    }
    .bottom-nav {
      display: flex;
    }
    .main-nav {
      display: none;
    }
    .related-list-item img {
      width: 120px;
      height: 90px;
      object-fit: cover;
    }
    .zalo-chat-widget {
        display: none;
    }
}

@media (max-width: 767.98px){
  #hochi-minh-page .guong-item{
    display:block;
  }
  #hochi-minh-page .guong-item-thumb{
    width:100%;
    flex-basis:auto;
    margin-bottom:12px;
  }
  #hochi-minh-page .guong-feature-body{
    padding:16px;
  }
  #hochi-minh-page .guong-badge{
    left:12px;
    bottom:12px;
    font-size:12px;
  }
}

/* ===== HCM: Import mẫu cá nhân / tập thể Gương sáng ===== */
#hochi-minh-page .guong-type-summary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
#hochi-minh-page .guong-type-summary span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(218,37,29,.18);
  color:#b91c1c;
  font-size:13px;
  font-weight:800;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
#hochi-minh-page .guong-type-badge{
  position:absolute;
  right:18px;
  top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#b91c1c;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
#hochi-minh-page .guong-type-inline,
#hochi-minh-page .guong-item-type{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  margin-bottom:8px;
  border-radius:999px;
  background:#fff1f1;
  color:#b91c1c;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
#hochi-minh-page .guong-item-type{
  margin-bottom:6px;
  background:#fef2f2;
}

@media (max-width: 767.98px){
  #hochi-minh-page .guong-type-badge{
    right:12px;
    top:12px;
  }
  #hochi-minh-page .guong-type-summary span{
    flex:1 1 auto;
    justify-content:center;
  }
}

/* ===== HCM: Gương sáng lightbox + AJAX search/loadmore ===== */
#hochi-minh-page .guong-topbar{
  display:flex;
  align-items:center;
  /* justify-content:space-between; */
  gap:16px;
  flex-wrap:wrap;
}
#hochi-minh-page .guong-search-wrap{
  position:relative;
  flex:1 1 320px;
  max-width:460px;
}
#hochi-minh-page .guong-search-wrap i{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#b91c1c;
  font-size:16px;
  pointer-events:none;
}
#hochi-minh-page .guong-search-input{
  width:100%;
  height:48px;
  border:1px solid rgba(218,37,29,.22);
  border-radius:999px;
  padding:0 18px 0 45px;
  background:#fff;
  color:#111827;
  font-size:15px;
  font-weight:600;
  outline:none;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  transition:border-color .2s ease, box-shadow .2s ease;
}
#hochi-minh-page .guong-search-input:focus{
  border-color:#da251d;
  box-shadow:0 12px 28px rgba(218,37,29,.14);
}
#hochi-minh-page .guong-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  position:relative;
}
#hochi-minh-page .guong-grid.is-loading{
  opacity:.65;
  pointer-events:none;
}
#hochi-minh-page .guong-card{
  appearance:none;
  width:100%;
  min-height:100%;
  padding:0;
  border:1px solid rgba(218,37,29,.14);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  text-align:left;
  color:#111827;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
#hochi-minh-page .guong-card:hover{
  transform:translateY(-4px);
  border-color:rgba(218,37,29,.35);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}
#hochi-minh-page .guong-card-thumb{
  position:relative;
  display:block;
  aspect-ratio:16 / 9;
  background:#f3f4f6;
  overflow:hidden;
}
#hochi-minh-page .guong-card-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
#hochi-minh-page .guong-card:hover .guong-card-thumb img{
  transform:scale(1.04);
}
#hochi-minh-page .guong-card-body{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:15px;
}
#hochi-minh-page .guong-card-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:42px;
  color:#111827;
  font-size:16px;
  font-weight:900;
  line-height:1.28;
}
#hochi-minh-page .guong-card:hover .guong-card-title{
  color:#da251d;
}
#hochi-minh-page .guong-card-meta,
#hochi-minh-page .guong-card-quote{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13px;
  line-height:1.45;
}
#hochi-minh-page .guong-card-meta{
  -webkit-line-clamp:1;
  color:#b91c1c;
  font-weight:800;
}
#hochi-minh-page .guong-card-quote{
  -webkit-line-clamp:2;
  color:#4b5563;
}
#hochi-minh-page .guong-card-date{
  display:flex;
  align-items:center;
  gap:6px;
  color:#6b7280;
  font-size:13px;
  font-weight:700;
}
#hochi-minh-page .guong-card-action{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  margin-top:3px;
  padding:6px 11px;
  border-radius:999px;
  background:#fff1f1;
  color:#b91c1c;
  font-size:12px;
  font-weight:900;
}
#hochi-minh-page .guong-load-more[disabled]{
  opacity:.7;
  cursor:not-allowed;
}
body.guong-lightbox-open{
  overflow:hidden;
}
#hochi-minh-page .guong-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
#hochi-minh-page .guong-lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}
#hochi-minh-page .guong-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,24,39,.72);
  backdrop-filter:blur(4px);
}
#hochi-minh-page .guong-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(860px, 100%);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
  transform:translateY(12px) scale(.98);
  transition:transform .2s ease;
}
#hochi-minh-page .guong-lightbox.is-open .guong-lightbox-dialog{
  transform:translateY(0) scale(1);
}
#hochi-minh-page .guong-lightbox-close{
  position:absolute;
  right:14px;
  top:14px;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#da251d;
  color:#fff;
  font-size:30px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(218,37,29,.25);
}
#hochi-minh-page .guong-lightbox-nav{
  position:absolute;
  top:50%;
  z-index:3;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#b91c1c;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  transform:translateY(-50%);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
#hochi-minh-page .guong-lightbox-nav:hover{
  background:#fff1f1;
  transform:translateY(-50%) scale(1.06);
}
#hochi-minh-page .guong-lightbox-nav:disabled{
  opacity:.35;
  cursor:not-allowed;
  transform:translateY(-50%);
}
#hochi-minh-page .guong-lightbox-prev{
  left:14px;
}
#hochi-minh-page .guong-lightbox-next{
  right:14px;
}
#hochi-minh-page .guong-lightbox-nav i{
  font-size:24px;
  line-height:1;
}
#hochi-minh-page .guong-lightbox-media{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  min-height:auto;
  max-height:52vh;
  background:#fff7f2;
  overflow:hidden;
  flex:0 0 auto;
}
#hochi-minh-page .guong-lightbox-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
#hochi-minh-page .guong-lightbox-body{
  padding:28px 34px 32px;
  overflow-y:auto;
  flex:1 1 auto;
}
#hochi-minh-page .guong-lightbox-type{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 12px;
  margin-bottom:12px;
  border-radius:999px;
  background:#fff1f1;
  color:#b91c1c;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#hochi-minh-page .guong-lightbox-body h3{
  margin:0 0 12px;
  color:#111827;
  font-size:clamp(24px, 2.4vw, 34px);
  font-weight:900;
  line-height:1.2;
}
#hochi-minh-page .guong-lightbox-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}
#hochi-minh-page .guong-lightbox-meta > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:#fef2f2;
  color:#b91c1c;
  font-size:13px;
  font-weight:800;
}
#hochi-minh-page .guong-lightbox-body blockquote{
  margin:0 0 16px;
  padding:14px 16px;
  border-left:4px solid #da251d;
  border-radius:12px;
  background:#fff7f2;
  color:#991b1b;
  font-weight:800;
  line-height:1.6;
}
#hochi-minh-page .guong-lightbox-content{
  color:#374151;
  font-size:15px;
  line-height:1.75;
}
#hochi-minh-page .guong-lightbox-content p:last-child{
  margin-bottom:0;
}

@media (max-width: 991.98px){
  #hochi-minh-page .guong-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  #hochi-minh-page .guong-lightbox-dialog{
    max-width:720px;
  }
  #hochi-minh-page .guong-lightbox-media{
    min-height:auto;
    max-height:48vh;
  }
}
@media (max-width: 767.98px){
  #hochi-minh-page .guong-topbar{
    display:block;
  }
  #hochi-minh-page .guong-search-wrap{
    max-width:100%;
    margin-top:12px;
  }
  #hochi-minh-page .guong-grid{
    grid-template-columns:1fr;
  }
  #hochi-minh-page .guong-lightbox{
    align-items:flex-end;
    padding:10px;
  }
  #hochi-minh-page .guong-lightbox-dialog{
    width:100%;
    max-height:94vh;
    border-radius:18px;
  }
  #hochi-minh-page .guong-lightbox-media{
    max-height:42vh;
  }
  #hochi-minh-page .guong-lightbox-body{
    padding:20px 16px 22px;
  }
  #hochi-minh-page .guong-lightbox-body h3{
    font-size:23px;
  }
  #hochi-minh-page .guong-lightbox-close{
    right:10px;
    top:10px;
    width:38px;
    height:38px;
    font-size:26px;
  }
  #hochi-minh-page .guong-lightbox-nav{
    top:calc(21vw + 10px);
    width:38px;
    height:38px;
  }
  #hochi-minh-page .guong-lightbox-prev{
    left:10px;
  }
  #hochi-minh-page .guong-lightbox-next{
    right:10px;
  }
}

/* ===== HCM Good Example Detail ===== */
#hochi-minh-page .hcm_good_example_detail_section .container{
  background:#fff;
}
#hochi-minh-page .guong-detail-card{
  border:1px solid rgba(218,37,29,.12);
  border-radius:24px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 18px 46px rgba(0,0,0,.08);
}
#hochi-minh-page .guong-detail-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#6b7280;
  font-size:14px;
  font-weight:700;
}
#hochi-minh-page .guong-detail-breadcrumb a{
  color:#b91c1c;
  text-decoration:none;
}
#hochi-minh-page .guong-detail-breadcrumb a:hover{
  text-decoration:underline;
}
#hochi-minh-page .guong-detail-hero{
  margin:0;
  background:#f3f4f6;
  border-radius:24px 24px 0 0;
  overflow:hidden;
}
#hochi-minh-page .guong-detail-hero img{
  display:block;
  width:100%;
  object-fit:cover;
}
#hochi-minh-page .guong-detail-content-wrap{
  padding:28px 34px 36px;
}
#hochi-minh-page .guong-detail-heading{
  border-bottom:1px solid rgba(218,37,29,.12);
  margin-bottom:22px;
  padding-bottom:20px;
}
#hochi-minh-page .guong-detail-type{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:12px;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#da251d,#b91c1c);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}
#hochi-minh-page .guong-detail-title{
  margin:0 0 14px;
  color:#991b1b;
  font-size:clamp(28px, 4vw, 44px);
  font-weight:900;
  line-height:1.15;
}
#hochi-minh-page .guong-detail-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}
#hochi-minh-page .guong-detail-meta span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff5f5;
  color:#7f1d1d;
  font-size:14px;
  font-weight:800;
}
#hochi-minh-page .guong-detail-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
#hochi-minh-page .guong-detail-quote{
  position:relative;
  margin:0 0 24px;
  padding:20px 22px 20px 58px;
  border-left:5px solid #da251d;
  border-radius:16px;
  background:#fff7ed;
  color:#7f1d1d;
  font-size:18px;
  font-weight:800;
  line-height:1.65;
}
#hochi-minh-page .guong-detail-quote:before{
  content:'“';
  position:absolute;
  left:20px;
  top:8px;
  color:#da251d;
  font-size:58px;
  font-weight:900;
  line-height:1;
}
#hochi-minh-page .guong-detail-content{
  color:#1f2937;
  font-size:17px;
  line-height:1.85;
}
#hochi-minh-page .guong-detail-content p{
  margin-bottom:1.1rem;
}
#hochi-minh-page .guong-detail-content img,
#hochi-minh-page .guong-detail-content iframe{
  max-width:100%;
}
#hochi-minh-page .guong-detail-content img{
  height:auto;
  border-radius:14px;
}
#hochi-minh-page .guong-card{
  display:block;
  text-decoration:none;
}
#hochi-minh-page .guong-card:focus-visible{
  outline:3px solid rgba(218,37,29,.35);
  outline-offset:3px;
}
@media (max-width: 767.98px){
  #hochi-minh-page .guong-detail-card{
    border-radius:18px;
  }
  #hochi-minh-page .guong-detail-breadcrumb{
    font-size:13px;
  }
  #hochi-minh-page .guong-detail-hero{
    border-radius:18px 18px 0 0;
  }
  #hochi-minh-page .guong-detail-hero img{
    max-height:420px;
  }
  #hochi-minh-page .guong-detail-content-wrap{
    padding:20px 16px 26px;
  }
  #hochi-minh-page .guong-detail-meta span,
  #hochi-minh-page .guong-detail-actions .btn{
    width:100%;
    justify-content:center;
  }
  #hochi-minh-page .guong-detail-quote{
    padding:16px 16px 16px 46px;
    font-size:16px;
  }
  #hochi-minh-page .guong-detail-content{
    font-size:16px;
  }
}
