@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

body {
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto;
    font-style: normal;
}

a {
    text-decoration: none;
    color: #000000;
}

.top-section {
    background-image: url(../image/bg-section-top.png);
    width: 100%;
    min-height: 250px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.top-section .main-title {
    font-size: 38px;
    color: #FFFFFF;
}

.top-section .container {
    padding-top: 16px;
    padding-bottom: 16px;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1248px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1248px;
    }
}

.icon {
    background: url(../icon/icon.png);
}

.open-menu-icon {
    width: 50px;
    height: 30px;
    display: inline-block;
    background-position-x: -13px;
    background-position-y: -12px;
}

header .navbar-toggler {
    border: none;
}

header .navbar-toggler:focus {
    box-shadow: none;
}

header .navbar-toggler:hover {
    border: 1px solid #ccc;
}

.icon-livestream {
    width: 20px;
    height: 20px;
    display: inline-block;
    background-position-x: -77px;
    background-position-y: -19px;
}

.side-bar .btn-livestream {
    font-weight: 500;
    font-size: 14px;
    color: #000000;
}

#reportingModal .title,
.side-bar .title {
    color: #3D7DC5;
    font-size: 24px;
    font-weight: 900;
}

.icon-eye {
    width: 30px;
    height: 20px;
    display: inline-block;
    background-position-x: -108px;
    background-position-y: -19px;
}

.main-menu #navbarNav {
    max-width: 1200px;
}

.icon-more {
    width: 15px;
    height: 10px;
    display: inline-block;
    background-position-x: -150px;
    background-position-y: -24px;
}

.main-menu .nav-link {
    font-size: 14px;
}

.card-article-outstanding .card-text {
    color: #202224;
    font-size: 14px;
}

.card-article-outstanding .card-title {
    color: #202224;
    font-size: 18px;
}

.card-article-outstanding .time-public {
    color: #545658;
    font-size: 12px;
}

.right-article-outstanding .title {
    font-size: 20px;
    color: #202224;
}

.icon-arrow-right {
    width: 10px;
    height: 10px;
    display: inline-block;
    background-position-x: -176px;
    background-position-y: -24px;
}

.article-category .container h3.title,
.article-category .container h2.title {
    border-top: 2px solid #000000;
    padding-top: 15px;
}

.article-category .title {
    color: #000000;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
}

.article-category .container h3.title {
    font-size: 15px;
}

.icon-chevron-right {
    width: 10px;
    height: 15px;
    display: inline-block;
    background-position-x: -196px;
    background-position-y: -23px;
}

.icon-save {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-position-x: -218px;
    background-position-y: -18px;
}

.article-category-slider .card-article .card-link,
.article-category-slider .card-article .card-text {
    font-size: 12px;
    font-weight: 400;
    color: #545658;
}

.article-category-slider .card-article .card-title {
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    min-height: 70px;
}

.article-category-slider .card-article img {
    min-height: 180px;
    object-fit: cover;
}

.article-category-slider .category-medical-slider .owl-nav .owl-prev,
.article-category-slider .category-slider .owl-nav .owl-prev {
    position: absolute;
    top: -45px;
    right: 25px;
    font-size: 35px;
}

.article-category-slider .category-medical-slider .owl-nav .owl-next,
.article-category-slider .category-slider .owl-nav .owl-next {
    position: absolute;
    top: -45px;
    right: 10px;
    font-size: 35px;
}

.article-culture .card-horizontal .card-title {
    font-size: 28px;
    font-weight: 500;
    font-style: medium;
}

.article-medical .card-article,
.article-medical {
    background: #141618;
}

.article-medical .container h2 {
    border-top: 2px solid #E6E8EA;
    padding-top: 15px;
}

.article-medical .title {
    color: #E6E8EA;
}

.article-medical .card-article .card-link,
.article-medical .card-article .card-text,
.article-medical .card-article .card-title {
    color: #FFFFFF;
}

.icon-chevron-right-light {
    width: 10px;
    height: 15px;
    display: inline-block;
    background-position-x: -252px;
    background-position-y: -23px;
}

.article-medical .category-medical-slider .owl-nav .owl-prev,
.article-medical .category-medical-slider .owl-nav .owl-next {
    color: #FFFFFF;
}

.digitaltransformation .card-horizontal {
    background: #000000;
}

.digitaltransformation .card-horizontal .card-text,
.digitaltransformation .card-horizontal .card-title {
    color: #E6E8EA;
}

footer .container {
    border-top: 1px solid #ccc;

}

footer .title {
    color: #3D7DC5;
    font-size: 24px;
    font-weight: 900;
}

footer .navbar-nav {
    flex-wrap: wrap;
}

.icon-facebook {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-position-x: -282px;
    background-position-y: -20px;
}

.icon-youtube {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-position-x: -317px;
    background-position-y: -19px;
}

.side-bar .dropdown-toggle::after,
.main-menu .dropdown-toggle::after {
    display: none;
}

#navbarSocial .nav-link {
    color: #000000;
    font-size: 16px;
}

#navbarFooter .nav-link {
    color: #000000;
    font-size: 14px;
}

#navbarCopyright .nav-link,
#navbarClause .nav-link {
    font-size: 12px;
}

#reportingModal .sub-title {
    font-size: 30px;
    font-weight: 600;
    background: linear-gradient(to right, #CA52C2, #404EED);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.required::after {
    content: " *";
    color: red;
}

.upload-box {
    border: 2px dashed #dcdcdc;
    border-radius: 8px;
    padding: 25px;
    text-align: center;
    cursor: pointer;
    position: relative;
    transition: 0.3s;
}

.upload-box:hover {
    border-color: #0d6efd;
    background: #f8f9fa;
}

.upload-box input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.upload-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.upload-icon {
    font-size: 28px;
}

.upload-text {
    font-size: 14px;
    color: #6c757d;
}

.upload-plus button {
    color: #ffffff;
    font-size: 30px;
    font-weight: 600;
}

.upload-plus {
    background-color: #047857;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-upload-file {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-position-x: -354px;
    background-position-y: -19px;
}

/* 1. Hiển thị menu khi di chuột (Áp dụng cho mọi cấp) */
.main-menu .dropdown:hover>.dropdown-menu,
.main-menu .dropend:hover>.dropdown-menu {
    display: block !important;
}

/* 2. Style chung cho tất cả Dropdown Menu */
.main-menu .dropdown-menu {
    position: absolute;
    width: auto;
    min-width: 200px;
    border-radius: 4px;
    margin-top: 0;
    display: none;
    /* Mặc định ẩn */
}

/* 3. Định vị menu cấp 3 (trong phần Thêm) - Mở sang TRÁI */
.more-menu .dropend {
    position: relative;
}

.more-menu .dropend>.dropdown-menu {
    top: 0;
    left: auto !important;
    right: 97% !important;
    margin-right: 5px;
}

/* 4. Định vị menu con của các danh mục chính ngoài thanh menu - Mở sang PHẢI */
.main-nav>.nav-item:not(.more-menu) .dropend>.dropdown-menu {
    top: 0;
    left: 100% !important;
    right: auto !important;
    margin-left: 5px;
}

/* 5. Hiệu ứng Hover: Màu chữ xanh + Nền xám nhạt */
.main-menu .nav-item:hover>.nav-link,
.main-menu .dropdown-item:hover {
    color: #3D7DC5 !important;
    background-color: #f8f9fa !important;
    text-decoration: none;
}

/* 6. Chỉ giữ gạch chân cho các mục Menu cấp 1 ngoài thanh menu */
.main-nav>.nav-item:hover>.nav-link {
    text-decoration: underline !important;
    text-decoration-color: #3D7DC5 !important;
    text-decoration-thickness: 3px;
    text-underline-offset: 6px;
}

/* 7. Đảm bảo chữ không bị xuống hàng */
.main-menu .dropdown-item {
    white-space: nowrap;
}

.main-menu .dropdown-menu::-webkit-scrollbar {
    height: 6px;
}

.main-menu .dropdown-menu::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.main-menu {
    position: relative;
}

/* dropdown thường */
/* .main-menu .nav-item:not(.more-menu) {
    position: static;
} */

/* menu con full width */
/* .main-menu .nav-item:not(.more-menu) .dropdown-menu {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    min-width: 100%;
    margin-top: 0;
    display: none;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: 0;
} */

.main-menu .nav-item:hover>.nav-link {
    color: #3D7DC5;
    text-decoration: underline;
    text-decoration-color: #3D7DC5;
    text-decoration-thickness: 3px !important;
    /* độ dày */
    text-underline-offset: 6px;
}

.main-menu .nav-item .nav-link.active {
    color: #3D7DC5;

}

.main-nav>.nav-item .nav-link {
    font-weight: bold;
}

.detail h1 {
    font-size: 38px;
    color: #202224;
}

.icon-share {
    width: 14px;
    height: 24px;
    display: inline-block;
    background-position-x: -400px;
    background-position-y: -19px;
}

.icon-save_ {
    width: 14px;
    height: 24px;
    display: inline-block;
    background-position-x: -436px;
    background-position-y: -19px;
}

.content-detail .post-thumbnail {
    width: 100%;
}

.detail .content-detail .content {
    text-align: justify
}

.relate .container {
    border-top: 2px solid #000000;
}

.relate .title {
    font-size: 15px;
    font-weight: bold;
}

.relate .article-title {
    font-size: 18px;
    font-weight: 500;
}

.relate .time-public {
    font-size: 12px;
}

.relate .article-description {
    font-size: 14px;
    font-weight: 400;
}

.category .title {
    font-size: 22px;
    font-weight: bolder;
    color: #3D7DC5;
    text-transform: uppercase;
    text-align: center;
}

.most-read .number p {
    font-size: 32px;
    font-weight: 400;
    color: #8A8C8E;
}

.icon-play {
    width: 20px;
    height: 20px;
    display: inline-block;
    background-position-x: -470px;
    background-position-y: -19px;
}

.most-read .article-title {
    font-size: 16px;
    font-weight: 500;
    color: #202224;
}

.category .title span {
    font-size: 16px;
    color: #000000;
}

header .navbar-toggler:hover {
    border: none;
}

/* --- CSS CHO SIDEBAR OFFCANVAS --- */
/* Làm cho dropdown menu trong sidebar hiện xuống dưới (thay vì đè lên) */
.side-bar .dropdown-menu {
    position: static !important;
    float: none;
}

.side-bar .nav-item .nav-link {
    font-weight: bold;
}

/* Hiệu ứng hover cho sidebar offcanvas */
.side-bar .nav-item:hover>.nav-link {
    color: #3D7DC5 !important;
    padding-left: 10px;
    transition: all 0.3s;
    text-decoration: underline !important;
    text-decoration-color: #3D7DC5 !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 6px;
}

/* Chỉ hiện menu cấp 2 khi hover vào cấp 1 trong sidebar */
.side-bar .dropdown:hover>.dropdown-menu {
    display: block !important;
}
#navbarSubCategory .nav-link {
    font-size: 12px;
    font-weight: 400;
}
#navbarSubCategory .nav-link:hover {
    color: #3D7DC5 !important;
    text-decoration: underline !important;
    text-decoration-color: #3D7DC5 !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 6px;
}
.card-article-outstanding img {
    aspect-ratio: 6/4;
    object-fit: cover;
}