/*--------------------------------------------------------------
/** 1. VARIABLES
--------------------------------------------------------------*/
:root {
    --primary-base-color: #f3f0f8; /* Nền chính, footer */
    --color-surface: #FFFFFF;
    --deep-violet: #6B46C1; /* Màu chủ đạo cho CTA, điểm nhấn */
    --light-violet: #8C73D6; /* Màu nhấn phụ, hiệu ứng hover, border nhẹ */
    --secondary-base-color: #9bbef7; /* Nền cho các card, khối nội dung phụ */
    --color-text: #000000; /* Văn bản phụ, icon trên nền tối */
    --color-text-muted: #2D2D2D; /* Văn bản chính trên nền tối, tiêu đề phụ */
    --color-secondary: #FFFFFF; /* Văn bản trên nền tối, icon sáng */
    /* Màu trạng thái */
    --success-color: #48BB78;
    --warning-color: #ECC94B;
    --error-color: #F56565;
    /* Giữ lại hoặc điều chỉnh các biến khác nếu cần */
    --bs-border-color: #f3f3f3; /* Một màu xám đậm hơn cho border nếu cần */
    --bs-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); /* Shadow nổi bật hơn */
    --bs-body-color: var(--color-secondary);
    /* Thay đổi gradient nền chính cho phù hợp hơn hoặc loại bỏ nếu không cần thiết */
    --linear-to-right: linear-gradient(to right, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-left: linear-gradient(to left, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-top: linear-gradient(to top, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-bottom: linear-gradient(to bottom, var(--primary-base-color), var(--secondary-base-color));
    --body-font: "Nunito", sans-serif;
    --heading-font: "Nunito", sans-serif;
    --see-more-font: "UTM-Cafeta", sans-serif;
    --font-size-base: 16px;
    --font-size-base-xsmall: 18px;
    --font-size-base-small: 20px;
    --font-size-base-medium: 24px;
    --font-size-base-large: 26px;
    --font-size-base-xlarge: 28px;
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-lg: 1.25rem;
    --rounded: 0.5rem;
}

body.dark-theme {
    /* dark theme color */
    --primary-base-color: #1A202C;
    --color-surface: #2D3748;
    --secondary-base-color: #2D3748;
    --deep-violet: #6B46C1;
    --light-violet: #8C73D6;
    --color-secondary: #f3f3f3;
    --color-text: #FFFFFF;
    --color-text-muted: #A0AEC0;
    --bs-border-color: #4A5568;
    --linear-to-left: linear-gradient(to left, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-right: linear-gradient(to right, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-top: linear-gradient(to top, var(--primary-base-color), var(--secondary-base-color));
    --linear-to-bottom: linear-gradient(to bottom, var(--primary-base-color), var(--secondary-base-color));
}

@font-face {
    font-family: "UTM-Cafeta";
    src: url("/fonts/00052-UTM-Cafeta.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

@media (min-width: 1400px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1200px;
    }
}

@media (min-width: 1850px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1500px;
    }
}

/*----------------------------------------------*/
/* 2. GENERAL TYPOGRAPHY */
/*----------------------------------------------*/

/* 2.1 General Styles
/*----------------------------------------------*/
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    box-sizing: border-box;
}

body {
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    background: var(--linear-to-right);
    color: var(--color-text);
}

p {
    color: var(--color-text);
    letter-spacing: 0.01rem;
    line-height: 1.6;
}

a {
    color: var(--color-text);
    text-decoration: none;
    transition: 0.3s color ease-out;
}

    a:hover {
        text-decoration: none;
        color: var(--light-violet);
    }

hr {
    margin: 1.25rem 0;
    color: var(--bs-border-color);
    opacity: 1;
}

/*------------ Background Color -----------*/
.bg-gray {
    background: var(--gray-color);
}

.bg-dark {
    background: var(--color-text);
}

.bg-light {
    background: var(--light-color);
}

.bg-light-gray {
    background: #f5f5f5;
}

/* - Section Padding
--------------------------------------------------------------*/
.padding-xsmall {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.padding-small {
    padding-top: 2em;
    padding-bottom: 2em;
}

.padding-medium {
    padding-top: 4em;
    padding-bottom: 4em;
}

.padding-large {
    padding-top: 7em;
    padding-bottom: 7em;
}

.padding-xlarge {
    padding-top: 9.5em;
    padding-bottom: 9.5em;
}

/* - Section margin
--------------------------------------------------------------*/
.margin-small {
    margin-top: 2em;
    margin-bottom: 2em;
}

.margin-medium {
    margin-top: 4em;
    margin-bottom: 4em;
}

.margin-large {
    margin-top: 7em;
    margin-bottom: 7em;
}

.margin-xlarge {
    margin-top: 9.5em;
    margin-bottom: 9.5em;
}

/* 2.2 Section Title
/*----------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
    text-transform: capitalize;
    letter-spacing: 0.03em;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-text);
}

h1 {
    font-size: 40px; /* Tinh chỉnh kích thước */
}

h2 {
    font-size: 32px; /* Tinh chỉnh kích thước */
}

h3 {
    font-size: 24px; /* Tinh chỉnh kích thước */
}

h4 {
    font-size: 20px; /* Tinh chỉnh kích thước */
}

h5 {
    font-size: 18px; /* Tinh chỉnh kích thước */
    font-weight: 600; /* Tăng độ đậm */
}

h6 {
    font-size: 16px; /* Tinh chỉnh kích thước */
}


@media only screen and (max-width: 999px) {
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.95rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.24rem;
    }

    h5 {
        font-size: 1.2rem;
    }
}

@media only screen and (max-width: 500px) {
    h1 {
        font-size: 2.6rem;
    }

    h2 {
        font-size: 2rem;
    }
}

/*--------------------------------------------------------------
/** 2.3 Buttons
--------------------------------------------------------------*/
.btn {
    font-weight: 500;
    text-transform: capitalize;
    letter-spacing: 0.09em;
    color: var(--color-secondary);
    background-color: var(--primary-color);
    border: none;
    padding: 1.125rem 2.625rem;
    font-size: 1rem;
    border-radius: 200px;
    cursor: pointer;
}

    .btn:hover,
    .btn:focus-visible,
    .btn-check:checked + .btn,
    .btn.active,
    .btn.show,
    .btn:first-child:active,
    :not(.btn-check) + .btn:active {
        color: var(--color-secondary);
        background-color: var(--color-text);
    }

.btn-dark {
    background-color: var(--color-text);
}

    .btn-dark:hover {
        background-color: var(--primary-color);
    }

.btn-light {
    background-color: var(--light-color);
}

    .btn-light:hover {
        color: #fff;
        background-color: var(--primary-color);
    }

/*--------------------------------------------------------------
/** 3. CONTENT ELEMENTS
--------------------------------------------------------------*/

/*--------------------------------------------------------------
/** 3.1 Form Control
--------------------------------------------------------------*/
.form-control {
    padding: 1rem;
    font-size: 21px;
    font-weight: 300;
    letter-spacing: 0.01rem;
    line-height: normal;
    color: var(--color-text) !important;
    background-color: var(--color-surface);
}

    .form-control:focus {
        box-shadow: none;
        border-color: #131814;
    }

input.form-control::placeholder,
textarea.form-control::placeholder {
    color: var(--color-text);
}

/*--------------------------------------------------------------
/** 3.2 Form Select
--------------------------------------------------------------*/
.filter-blog .form-select,
.filter-shop .form-select {
    padding: 0;
    font-size: 21px;
    font-weight: 300;
    border: none;
    background-color: transparent;
    line-height: normal;
    width: 180px;
}

.form-select:focus {
    box-shadow: none;
}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.form-check-input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(243, 141, 68, 0.25);
}

/*--------------------------------------------------------------
/** 3.3 Table
--------------------------------------------------------------*/
th {
    font-weight: 300;
    letter-spacing: 0.06rem;
}

.table {
    --bs-table-bg: var(--color-surface);
}

    .table > :not(caption) > * > * {
        color: var(--color-text);
    }
/*--------------------------------------------------------------
/** 3.4 Pagination
--------------------------------------------------------------*/
.page-link {
    padding: 0;
    font-size: 21px;
    color: var(--color-text);
    background: none;
    border: none;
}

    .page-link:focus {
        color: var(--primary-color);
        background: none;
        box-shadow: none;
    }

    .page-link:hover {
        color: var(--primary-color);
        background: none;
        border: none;
    }

    .active > .page-link,
    .page-link.active {
        color: var(--primary-color);
        background: none;
        border: none;
    }

    .disabled > .page-link,
    .page-link.disabled {
        color: var(--gray-color-500);
        background: none;
        border: none;
    }

/* Animation */
@media (min-width: 200px) {
    .animate {
        animation-duration: 0.3s;
        -webkit-animation-duration: 0.3s;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
    }
}

/* Animate Slide */
@keyframes slide {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    100% {
        transform: translateY(0rem);
        opacity: 1;
    }

    0% {
        transform: translateY(1rem);
        opacity: 0;
    }
}

@-webkit-keyframes slide {
    0% {
        -webkit-transform: transform;
        -webkit-opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        -webkit-opacity: 1;
    }

    0% {
        -webkit-transform: translateY(1rem);
        -webkit-opacity: 0;
    }
}

.slide {
    -webkit-animation-name: slide;
    animation-name: slide;
}

/*----------------------------------------------*/
/* 4. SITE STRUCTURE */
/*----------------------------------------------*/

/* Preloader */
#preloader {
    background: #fff;
    opacity: 0.99;
    /*height: 2000px;*/
    position: fixed;
    width: 100%;
    z-index: 99999999;
    transition: 0.2s ease-in-out;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    min-height: 100vh;
}

    #preloader.hide-preloader {
        display: none;
    }

.book {
    --color: #f86d72;
    --duration: 6.8s;
    width: 32px;
    height: 12px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

    .book .inner {
        width: 32px;
        height: 12px;
        position: relative;
        transform-origin: 2px 2px;
        transform: rotateZ(-90deg);
        animation: book var(--duration) ease infinite;
    }

        .book .inner .left,
        .book .inner .right {
            width: 60px;
            height: 4px;
            top: 0;
            border-radius: 2px;
            background: var(--color);
            position: absolute;
        }

            .book .inner .left:before,
            .book .inner .right:before {
                content: "";
                width: 48px;
                height: 4px;
                border-radius: 2px;
                background: inherit;
                position: absolute;
                top: -10px;
                left: 6px;
            }

        .book .inner .left {
            right: 28px;
            transform-origin: 58px 2px;
            transform: rotateZ(90deg);
            animation: left var(--duration) ease infinite;
        }

        .book .inner .right {
            left: 28px;
            transform-origin: 2px 2px;
            transform: rotateZ(-90deg);
            animation: right var(--duration) ease infinite;
        }

        .book .inner .middle {
            width: 32px;
            height: 12px;
            border: 4px solid var(--color);
            border-top: 0;
            border-radius: 0 0 9px 9px;
            transform: translateY(2px);
        }

    .book ul {
        margin: 0;
        padding: 0;
        list-style: none;
        position: absolute;
        left: 50%;
        top: 0;
    }

        .book ul li {
            height: 4px;
            border-radius: 2px;
            transform-origin: 100% 2px;
            width: 48px;
            right: 0;
            top: -10px;
            position: absolute;
            background: var(--color);
            transform: rotateZ(0deg) translateX(-18px);
            animation-duration: var(--duration);
            animation-timing-function: ease;
            animation-iteration-count: infinite;
        }

            .book ul li:nth-child(0) {
                animation-name: page-0;
            }

            .book ul li:nth-child(1) {
                animation-name: page-1;
            }

            .book ul li:nth-child(2) {
                animation-name: page-2;
            }

            .book ul li:nth-child(3) {
                animation-name: page-3;
            }

            .book ul li:nth-child(4) {
                animation-name: page-4;
            }

            .book ul li:nth-child(5) {
                animation-name: page-5;
            }

            .book ul li:nth-child(6) {
                animation-name: page-6;
            }

            .book ul li:nth-child(7) {
                animation-name: page-7;
            }

            .book ul li:nth-child(8) {
                animation-name: page-8;
            }

            .book ul li:nth-child(9) {
                animation-name: page-9;
            }

            .book ul li:nth-child(10) {
                animation-name: page-10;
            }

            .book ul li:nth-child(11) {
                animation-name: page-11;
            }

            .book ul li:nth-child(12) {
                animation-name: page-12;
            }

            .book ul li:nth-child(13) {
                animation-name: page-13;
            }

            .book ul li:nth-child(14) {
                animation-name: page-14;
            }

            .book ul li:nth-child(15) {
                animation-name: page-15;
            }

            .book ul li:nth-child(16) {
                animation-name: page-16;
            }

            .book ul li:nth-child(17) {
                animation-name: page-17;
            }

            .book ul li:nth-child(18) {
                animation-name: page-18;
            }

@keyframes page-0 {
    4% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    13%, 54% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    63% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-1 {
    5.86% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    14.74%, 55.86% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    64.74% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-2 {
    7.72% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    16.48%, 57.72% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    66.48% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-3 {
    9.58% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    18.22%, 59.58% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    68.22% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-4 {
    11.44% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    19.96%, 61.44% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    69.96% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-5 {
    13.3% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    21.7%, 63.3% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    71.7% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-6 {
    15.16% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    23.44%, 65.16% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    73.44% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-7 {
    17.02% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    25.18%, 67.02% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    75.18% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-8 {
    18.88% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    26.92%, 68.88% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    76.92% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-9 {
    20.74% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    28.66%, 70.74% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    78.66% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-10 {
    22.6% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    30.4%, 72.6% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    80.4% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-11 {
    24.46% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    32.14%, 74.46% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    82.14% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-12 {
    26.32% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    33.88%, 76.32% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    83.88% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-13 {
    28.18% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    35.62%, 78.18% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    85.62% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-14 {
    30.04% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    37.36%, 80.04% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    87.36% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-15 {
    31.9% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    39.1%, 81.9% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    89.1% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-16 {
    33.76% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    40.84%, 83.76% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    90.84% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-17 {
    35.62% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    42.58%, 85.62% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    92.58% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes page-18 {
    37.48% {
        transform: rotateZ(0deg) translateX(-18px);
    }

    44.32%, 87.48% {
        transform: rotateZ(180deg) translateX(-18px);
    }

    94.32% {
        transform: rotateZ(0deg) translateX(-18px);
    }
}

@keyframes left {
    4% {
        transform: rotateZ(90deg);
    }

    10%, 40% {
        transform: rotateZ(0deg);
    }

    46%, 54% {
        transform: rotateZ(90deg);
    }

    60%, 90% {
        transform: rotateZ(0deg);
    }

    96% {
        transform: rotateZ(90deg);
    }
}

@keyframes right {
    4% {
        transform: rotateZ(-90deg);
    }

    10%, 40% {
        transform: rotateZ(0deg);
    }

    46%, 54% {
        transform: rotateZ(-90deg);
    }

    60%, 90% {
        transform: rotateZ(0deg);
    }

    96% {
        transform: rotateZ(-90deg);
    }
}

@keyframes book {
    4% {
        transform: rotateZ(-90deg);
    }

    10%, 40% {
        transform: rotateZ(0deg);
        transform-origin: 2px 2px;
    }

    40.01%, 59.99% {
        transform-origin: 30px 2px;
    }

    46%, 54% {
        transform: rotateZ(90deg);
    }

    60%, 90% {
        transform: rotateZ(0deg);
        transform-origin: 2px 2px;
    }

    96% {
        transform: rotateZ(-90deg);
    }
}

/* Search Bar
------------------------------------------------------------- */
.search-box {
    background: var(--gray-color);
    position: relative;
}

.close-button {
    position: absolute;
    top: 20px;
    right: 120px;
    cursor: pointer;
    z-index: 9;
}

.search-box input.search-input {
    font-size: 1.3em;
    width: 70%;
    height: 30px;
    padding: 25px;
    border-radius: 80px;
    border-color: rgb(0 0 0 / 25%);
    background: transparent;
}

.search-box svg {
    width: 22px;
    height: 22px;
    color: var(--primary-color);
}

    .search-box svg.search {
        margin-left: -50px;
    }

/** Search Form
--------------------------------------------------------------*/
.search-form input[type="search"].search-field {
    border: none;
    background: #f1f1f1;
    width: 100%;
    border-radius: 50px;
    padding: 10px 40px;
}

    .search-form input[type="search"].search-field::focus {
        border-color: #af9aaa;
    }

.search-form button {
    position: absolute;
    top: 6px;
    right: 9px;
    background: transparent;
    border: none;
}

.search-form-nav {
    width: 200px;
}

    .search-form-nav input[type="search"].search-field {
        border: none;
        background: #f1f1f1;
        width: 100%;
        border-radius: 50px;
        padding: 10px 40px;
    }

        .search-form-nav input[type="search"].search-field::focus {
            border-color: #af9aaa;
        }

    .search-form-nav button {
        position: absolute;
        top: 25px;
        left: 175px;
        background: transparent;
        border: none;
    }

@media (min-width: 300px) and (max-width: 574px) {
    .search-form-nav {
        display: flex;
    }

    .navbar-brand-logo {
        display: none;
    }
}

@media (min-width: 575px) {
    .search-form-nav {
        display: none;
    }

    .navbar-brand-logo {
        display: block;
    }
}
/** Search Popup
--------------------------------------------------------------*/
.search-popup {
    background-color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 999999;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s;
    transition: opacity 0.3s 0s, visibility 0s 0.3s;
}

    .search-popup.is-visible {
        opacity: 1;
        visibility: visible;
        cursor: -webkit-image-set( url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E") 1x, url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E") 2x ), pointer;
        cursor: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E"), pointer;
        -webkit-transition: opacity 0.3s 0s, visibility 0s 0s;
        -moz-transition: opacity 0.3s 0s, visibility 0s 0s;
        transition: opacity 0.3s 0s, visibility 0s 0s;
    }

.search-popup-container {
    background-color: transparent;
    position: relative;
    top: 50%;
    margin: 0 auto;
    padding: 0;
    width: 90%;
    max-width: 800px;
    text-align: center;
    box-shadow: none;
    cursor: default;
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
    -webkit-backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.is-visible .search-popup-container {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.search-popup-form {
    position: relative;
    margin: 0 0 3em 0;
}

    .search-popup-form .form-control {
        padding: 0 0 0.375em 0;
        font-size: 2em;
    }

    .search-popup-form #search-popup-submit {
        display: none;
    }

.search-popup .search-popup-close {
    display: block;
    position: absolute;
    top: 2em;
    right: 2em;
    margin: -0.5em;
    padding: 0.5em;
    line-height: 0;
}

    .search-popup .search-popup-close:hover {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .search-popup .search-popup-close i {
        display: block;
        position: relative;
        width: 1em;
        height: 1em;
        fill: rgba(0, 0, 0, 0.5);
    }

    .search-popup .search-popup-close:hover i {
        fill: rgba(0, 0, 0, 1);
    }

.search-popup .cat-list-title {
    margin-top: 40px;
    margin-bottom: 10px;
    font-size: 0.6em;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.search-popup .cat-list {
    margin: 0;
    list-style-type: none;
}

.search-popup .cat-list-item {
    display: inline-block;
    margin-bottom: 0;
    letter-spacing: 0.015em;
    font-size: 2em;
}

    .search-popup .cat-list-item a {
        position: relative;
    }

        .search-popup .cat-list-item a::after {
            background: none repeat scroll 0 0 #fff;
            content: "";
            height: 1px;
            border-bottom: 1px solid #ff9697;
            left: 0;
            opacity: 0;
            position: absolute;
            top: 100%;
            width: 100%;
            -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
            transition: height 0.3s, opacity 0.3s, transform 0.3s;
            -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
        }

        .search-popup .cat-list-item a:hover::after {
            height: 1px;
            opacity: 1;
            -webkit-transform: translateY(2px);
            transform: translateY(2px);
        }

    .search-popup .cat-list-item::after {
        content: "/";
        padding: 0 5px;
        line-height: 1;
        color: rgba(0, 0, 0, 0.5);
        vertical-align: text-top;
    }

    .search-popup .cat-list-item:last-child::after {
        display: none;
    }

@media only screen and (max-width: 991px) {
    .search-popup .cat-list-item,
    .search-popup-form .form-control {
        font-size: 1.425em;
    }
}

@media only screen and (max-width: 767px) {
    .search-popup .search-popup-close {
        top: 1em;
        right: 1em;
    }
}

@media only screen and (max-width: 575px) {
    .search-popup .cat-list-item,
    .search-popup-form .form-control {
        font-size: 1.125em;
    }

    .search-popup .search-popup-close {
        top: 1em;
        right: 1em;
    }
}

.search-popup input[type="search"] {
    font-size: 24px;
    height: 60px;
    padding: 26px;
}

.search-popup .search-form button {
    top: 12px;
    right: 15px;
}

    .search-popup .search-form button svg {
        height: 28px;
        width: 28px;
    }

/* nav tabs */
.nav-tabs .nav-link {
    color: var(--color-text);
}

:focus-visible {
    outline: none;
}

/* 4.1 Header
/*----------------------------------------------*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--linear-to-left);
    box-shadow: var(--bs-box-shadow);
    z-index: 999;
    color: var(--color-secondary);
}

.site-header {
    width: 100%;
    z-index: 10;
    transition: background 0.3s ease-out;
}

.navbar-icon {
    fill: var(--color-text); /* works if the SVG respects it */
}

.navbar-toggler svg.navbar-icon {
    width: 30px;
    height: 30px;
    color: var(--color-text);
}

.navbar-nav .nav-item a.nav-link {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-text);
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .navbar-nav .nav-item a.nav-link.active,
    .navbar-nav .nav-item a.nav-link:focus,
    .navbar-nav .nav-item a.nav-link:hover {
        border-bottom: solid 0.5px var(--color-text-muted);
        transform: translateY(-5px); /* Hiệu ứng nổi lên khi hover */
    }

.modal {
    --bs-modal-zindex: 99999;
}

.modal-content {
    background-color: var(--color-surface);
}

.modal-backdrop {
    --bs-backdrop-zindex: 0;
}

.modal-dialog {
    max-width: 800px;
    margin: auto;
    height: 100vh;
    display: flex;
    align-items: center;
}

.dropdown-menu {
    --bs-dropdown-link-active-color: var(--primary-color);
    --bs-dropdown-link-active-bg: #f5f5f5;
    --bs-dropdown-zindex: 99999;
    background-color: var(--color-surface);
}

.dropdown-item {
    color: var(--color-text);
}

    .dropdown-item.active,
    .dropdown-item:active {
        color: var(--color-text);
        text-decoration: none;
    }

    .dropdown-item:hover {
        color: var(--color-text);
        background-color: var(--bs-border-color);
    }

.cart-dropdown .dropdown-menu,
.user-dropdown .dropdown-menu {
    min-width: 21rem;
}

.cart-dropdown.dropdown a::after,
.user-dropdown.dropdown a::after {
    display: none;
}

.offcanvas {
    background-color: var(--color-surface);
}

.offcanvas-body {
    align-items: center;
}

@media only screen and (max-width: 500px) {
    .cart-dropdown .dropdown-menu, .user-dropdown .dropdown-menu {
        min-width: fit-content;
    }
}

/*------------ Offcanvas -------------- */
#header-nav .navbar-toggler:focus {
    box-shadow: none;
}

#header-nav .offcanvas {
    transition: 0.5s ease-in-out;
}

    #header-nav .offcanvas.show {
        z-index: 99999;
    }

#header-nav .offcanvas-end {
    width: 500px;
}

/*------------ Top User Icons -----------*/
.site-header .user-items svg {
    width: 22px;
    height: 22px;
    cursor: pointer;
}

@media only screen and (max-width: 991px) {
    #navbar .user-items {
        display: none;
    }
}

/* 4.2 Billboard
/*----------------------------------------------*/
/*------------Swiper Arrow -----------*/
#billboard {
    margin-top: 180px;
    background-image: url('../images/hero_image.png');
    background-size: cover;
    background-repeat: no-repeat;
    height: 450px;
}

@supports (background-image: -webkit-image-set(url('../images/hero_image.webp') 1x)) {
    #billboard {
        background-image: -webkit-image-set(url('../images/hero_image.webp') 1x)
    }
}

.swiper-next,
.swiper-prev {
    color: var(--color-text);
    z-index: 9999;
}

.swiper-button-disabled {
    color: var(--gray-color-500);
}

@media only screen and (max-width: 765px) {
    section#billboard {
        height: 50vh !important;
        background-position: center;
    }
}

@media only screen and (min-width: 766px) {
    section#billboard {
        height: 50vh !important;
        background-position: 0 70px;
    }
}

@media only screen and (min-width: 1165px) {
    section#billboard {
        height: 50vh !important;
        background-position: 0 30px;
    }
}

@media only screen and (min-width: 1300px) {
    section#billboard {
        height: 50vh !important;
        background-position: 0 -50px;
    }
}

@media only screen and (min-width: 1595px) {
    section#billboard {
        height: 50vh !important;
        background-position: 0 -70px;
    }
}

@media only screen and (min-width: 1700px) {
    section#billboard {
        height: 450px;
        background-position: 0 -120px;
    }
}
/* 4.3 Icon Box - Company Services
/*----------------------------------------------*/
.icon-box {
    text-align: center;
    padding: 10px; /* Tăng padding */
    border-radius: 12px; /* Bo tròn góc */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .icon-box:hover {
        transform: translateY(-5px); /* Hiệu ứng nổi lên khi hover */
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4); /* Shadow đậm hơn khi hover */
    }

    .icon-box .icon-box-icon svg {
        width: 48px; /* Tăng kích thước icon */
        height: 48px;
        fill: var(--deep-violet); /* Màu icon */
        margin-bottom: 15px; /* Khoảng cách với text */
    }

#company-services {
    display: none;
}

@media only screen and (max-width: 991px) {
    #company-services .icon-box {
        flex-wrap: wrap;
    }
}

@media only screen and (min-width: 992px) {
    #company-services {
        display: block;
    }
}
/* 4.4 Product
/*----------------------------------------------*/
.card-concern {
    text-align: center;
    bottom: 145px;
    display: flex;
    justify-content: center;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s ease-out;
    opacity: 0;
}

    .card-concern .btn {
        padding: 1.125rem;
    }

    .card-concern svg {
        width: 27px;
        height: 27px;
        cursor: pointer;
    }

.card:hover .card-concern {
    bottom: 160px;
    opacity: 1;
}

/* 4.5 Items Listings
/*----------------------------------------------*/
#items-listing img {
    max-width: 80px;
    max-height: 90px;
}

/*------------Swiper Pagination -----------*/
.product-store
.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 35px;
}

.swiper-pagination span.swiper-pagination-bullet {
    width: 15px;
    height: 15px;
}

/* 4.6 Testimonial
/*----------------------------------------------*/
.rating svg.star {
    width: 16px;
    height: 16px;
}

/* 4.7 Brands
/*----------------------------------------------*/
#brands .brand-images img {
    filter: grayscale(100%);
    opacity: 0.5;
    transition: 0.3s ease-in-out;
}

#brands .brand-images a.brand:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

/* 4.8 Instagram
/*----------------------------------------------*/
.instagram-item .icon-overlay {
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: auto;
    color: var(--light-color);
    opacity: 0;
    transition: 0.9s ease-out;
}

.instagram-item:hover .icon-overlay {
    opacity: 1;
}

/* 4.9 Footer
/*----------------------------------------------*/
#footer {
    background: var(--linear-to-right);
    padding: 4em 0;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

    #footer .menu-list .menu-item a {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.05em;
        color: var(--color-text);
    }

        #footer .menu-list .menu-item a:hover {
            color: var(--light-violet);
        }

.social-links svg {
    width: 24px; /* Tăng kích thước icon social */
    height: 24px;
    color: var(--color-text); /* Màu icon social */
    transition: 0.3s ease-in-out;
}

    .social-links svg:hover {
        color: var(--light-violet); /* Màu hover icon social */
    }

.social-links li {
    padding-right: 20px; /* Giảm khoảng cách giữa các icon */
}

/*----------------------------------------------*/
/* 5. SITE STRUCTURE */
/*----------------------------------------------*/
/* ----------- Search Bar -----------*/
select#input-sort {
    border: none;
    padding: 0;
    text-align: right;
    cursor: pointer;
}

/* 5.1 Single Product Page
/*----------------------------------------------*/
.thumb-swiper .swiper-slide {
    height: auto;
}

.swiper-slide-thumb-active img {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.product-info del {
    color: var(--gray-color-500);
}

label, .label-body {
    color: var(--color-text);
}
/*---- Product Tabs ----------*/
.nav-tabs .nav-link {
    letter-spacing: 0.06em;
}

.nav-tabs .nav-link {
    background: none;
    border: none;
}

.nav-tabs button.nav-link.active {
    color: var(--color-text);
    background: none;
}

.nav-tabs button.nav-link:hover {
    color: var(--color-text-muted);
}

@media screen and (max-width: 991px) {
    .product-tabs .review-item {
        width: 100%;
        flex-wrap: wrap;
    }

        .product-tabs .review-item .image-holder {
            margin-bottom: 10px;
        }
}

.messenger-float {
    display: none;
    position: fixed;
    bottom: 15%;
    right: 1%;
    z-index: 1;
}

    .messenger-float img {
        width: 60px;
        height: 60px;
        cursor: pointer;
        border-radius: 50%;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        transition: transform 0.2s ease;
    }

        .messenger-float img:hover {
            transform: scale(1.1);
        }

/* Style for the floating button */
.go-top-button {
    position: fixed; /* Fix the position relative to the viewport */
    bottom: 30px; /* Distance from the bottom */
    right: 30px; /* Distance from the right */
    background-color: var(--gray-color-500);
    color: white; /* Button text color */
    border: none; /* Remove default border */
    border-radius: 9999px; /* Make it round */
    cursor: pointer; /* Indicate it's clickable */
    display: none; /* Hide by default */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Add a subtle shadow */
    z-index: 1000; /* Ensure it's above other content */
    transition: opacity 0.3s ease-in-out; /* Smooth fade transition */
}

    .go-top-button:hover {
        background-color: var(--gray-color-200);
    }

.grid-item, .grid-item-list-game {
    background-color: #fff;
    color: white;
    padding: 15px;
    text-align: center;
    border-radius: 12px;
    box-shadow: var(--bs-box-shadow);
    min-height: 276px;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.img-game {
    padding: 0; /* Bỏ padding cũ nếu có */
    border-radius: 8px; /* Bo tròn ảnh nhẹ */
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.grid-item-list-game {
    width: 280px;
}

    .grid-item:hover, .grid-item-list-game:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
    }

.grid-item h4 { /* Sử dụng h4 cho tên game */
    font-size: 18px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 10px;
    height: 41px;
}


.xem-them-button-list {
    border-radius: 8px; /* Bo tròn góc */
    border: none;
    background-color: var(--deep-violet); /* Màu nền nút */
    color: var(--color-secondary); /* Màu chữ nút */
    font-weight: 700; /* Semi-Bold */
    font-size: 16px; /* Kích thước font */
    padding: 10px 15px; /* Padding nút */
    display: inline-flex; /* Để căn giữa icon và text nếu có */
    align-items: center;
    justify-content: center;
    width: 100%; /* Chiều rộng nút */
    margin-top: 15px; /* Khoảng cách với nội dung trên */
}

    .xem-them-button-list:hover {
        transform: scale(1.05);
        background-color: var(--light-violet); /* Màu hover */
    }

.my-grid-container, .my-grid-container-list-game {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.my-grid-container-list-game {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 300px) and (max-width: 639px) {
    #list-group-item {
        margin-top: 100px;
    }

    .pack-items {
        width: 90%;
    }

    .sidebar {
        width: 100%;
        left: -100%; /* Hide full width on smaller screens */
        position: fixed;
        /* Fixed position for the slide-in effect */
        top: 0;
        left: -240px;
        /* Initially hidden off-screen (width + padding) */
        height: 100%;
        overflow-y: auto;
        /* For scrollable content if needed */
        transition: left 0.3s ease-in-out;
        /* Smooth transition for the 'left' property */
        z-index: 5;
        /* Ensure it's above the main content */
    }

        .sidebar.open {
            left: 0;
            width: 75%;
            padding-top: 140px;
        }

    .content.sidebar-open {
        margin-left: 100%;
    }

    .listgame, .main-content {
        width: 100%;
    }

    .grid-item-list-game {
        width: 100%;
    }

    .image-info {
        flex-direction: column;
    }

    .left-banner {
        display: none;
    }

    .right-banner {
        display: none;
    }
}
/* Trên màn hình nhỏ (sm: 640px) trở lên, hiển thị 2 cột (tương ứng với 'sm:grid-cols-2') */
@media (min-width: 640px) {
    .my-grid-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .my-grid-container-list-game {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    #list-group-item {
        margin-top: 140px;
    }

    .sidebar-toggle {
        display: none;
    }

    .listgame {
        width: 80%;
    }

    .main-content {
        width: 69%;
    }

    .main-content {
        border: 1px solid #ccc;
        padding: 20px
    }

    .left-banner {
        display: none;
    }

    .right-banner {
        display: none;
    }

    .pack-items {
        width: 48%;
    }
}

/* Trên màn hình trung bình (md: 768px) trở lên, hiển thị 3 cột (tương ứng với 'md:grid-cols-3') */
@media (min-width: 768px) {
    .my-grid-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .my-grid-container-list-game {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Trên màn hình lớn (lg: 1024px) trở lên, hiển thị 6 cột (tương ứng với 'lg:grid-cols-6') */
@media (min-width: 1024px) {
    .my-grid-container {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .my-grid-container-list-game {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .messenger-float {
        display: block;
    }
}

@media screen and (min-width: 1500px) {
    .left-banner {
        display: block;
        position: fixed;
        left: 20px; /* Adjust the distance from the left edge */
        top: 50%; /* Position vertically in the middle of the viewport */
        transform: translateY(-50%); /* Adjust for the banner's height */
        z-index: 10; /* Ensure it's above other content */
        /* Add your banner styles here: */
        background-color: #f0f0f0;
        border: 1px solid #ccc;
    }

    .right-banner {
        display: block;
        position: fixed;
        right: 20px; /* Adjust the distance from the right edge */
        top: 50%; /* Position vertically in the middle of the viewport */
        transform: translateY(-50%); /* Adjust for the banner's height */
        z-index: 10; /* Ensure it's above other content */
        /* Add your banner styles here: */
        background-color: #e0e0e0;
        border: 1px solid #bbb;
    }

        .left-banner img,
        .right-banner img {
            width: 100px;
            height: auto;
        }
}

@media (min-width: 1900px) {
    .my-grid-container-list-game {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .left-banner img,
    .right-banner img {
        width: 150px;
        height: auto;
    }

    .pack-items {
        width: 33%;
    }
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--deep-violet);
    font-weight: 700; /* Semi-Bold */
}

.nav-pills .nav-link {
    color: var(--color-text);
    font-weight: bold;
    padding: 10px 20px; /* Tăng padding */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.breadcrumb-item.active {
    color: var(--primary-color);
}

.sidebar {
    width: 15%;
    /* Adjust as needed */
    background-color: #f0f0f0;
    padding: 20px;
}

    .sidebar.open {
        left: 0;
        /* Slide the sidebar into view */
    }

    .sidebar ul {
        list-style-type: none;
        padding: 0;
    }

    .sidebar li {
        margin-bottom: 10px;
    }

    .sidebar a {
        text-decoration: none;
        color: #333;
    }

        .sidebar a:hover {
            color: #007bff;
            /* Change color on hover */
        }

.button-list {
    display: flex;
    gap: 10px; /* Space between buttons */
}

.custom-button {
    padding: 8px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f9f9f9;
    color: #333;
    cursor: pointer;
    font-size: 16px;
    transition: border-color 0.3s ease;
}

    .custom-button.clicked {
        border: 2px solid #f86d72; /* Style for the clicked button */
    }

.action-buttons {
    display: flex;
    gap: 10px; /* Space between buttons */
}

.action-button {
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-to-cart {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    background-color: #fff;
}

.buy-now {
    background-color: var(--primary-color);
    color: white;
    border: none;
}

.action-button:hover {
    opacity: 0.8;
}

.cart-icon {
    margin-right: 8px;
    font-size: 1.2em; /* Adjust size as needed */
}


.status-tag,
.button-list,
.action-buttons {
    margin: 20px 0;
}

.card-img-top {
    padding: 10px;
    border-radius: 5%;
}

.gradient-text {
    background: linear-gradient( to right, #ff00ff, #e03a3a ); /* From purple-500 to blue-500 */
    -webkit-background-clip: text;
    color: transparent;
}

.xem-them-button {
    border-radius: 0.375rem; /* Rounded corners - equivalent to rounded-md */
    background-color: transparent;
    color: transparent;
    font-weight: 600; /* Semibold font */
    transition: background-color 0.3s ease; /* Smooth transition */
    outline: none; /* Remove default outline */
    border: none;
}


.user-activity {
    width: 30%;
    padding: 20px;
    background-color: var(--color-surface);
    border-radius: 20px;
    border-color: var(--secondary-base-color);
}

    .user-activity li a {
        color: var(--color-text);
    }

.left-col-table {
    width: 50%;
    text-align: left;
    padding-left: 20px;
    font-weight: bold;
}

.right-col-table {
    width: 50%;
    text-align: right;
    padding-right: 20px;
}

.btn-custom {
    background-color: #218bf5;
    color: white;
    border-radius: 10px;
    padding: 5px 10px;
    border: none;
    cursor: pointer;
}

.active-activity {
    border-left: 5px solid #0075eb;
}

.user-avatar {
    position: absolute;
    bottom: -30px;
    left: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.avatar-wrapper {
    position: relative;
    width: 100px;
    height: 100px;
}

.avatar-base {
    position: absolute;
    top: 23px;
    left: 22px;
    width: 55px;
    height: 55px;
    border-radius: 50%;
}

.avatar-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

.avatar-frame {
    pointer-events: none; /* So clicks go through */
}

@media (min-width: 300px) and (max-width: 1100px) {
    .user-avatar {
        left: 10px !important;
        bottom: -10px !important;
    }
}

.btn9 {
    background: linear-gradient(270deg, red, orange, yellow, green, blue, indigo, violet);
    background-size: 1400% 1400%;
    animation: rainbowStripes 5s linear infinite;
}

@keyframes rainbowStripes {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

.btn9:hover {
    transform: scale(1.05);
}

.swiper {
    width: 1240px;
}

.card {
    background: var(--linear-to-top) !important;
}

.notification-wrapper {
    position: relative;
    display: inline-block;
}

.notification-badge, .notification-badge-msg {
    position: absolute;
    top: -5px;
    right: -10px;
    background-color: red;
    color: white;
    padding: 2px 6px;
    font-size: 10px;
    border-radius: 12px;
    min-width: 18px;
    text-align: center;
    line-height: 1;
}

.notification-badge-msg {
    top: 0;
    right: 0;
}

.dropdown-toggle::after {
    display: none;
}

#snackbar {
    visibility: hidden;
    min-width: 300px;
    margin: 0 auto;
    background-color: #414242;
    color: #fff;
    text-align: center;
    border-radius: 2px;
    padding: 16px;
    position: fixed;
    z-index: 100;
    left: 40%;
    bottom: 30px;
    font-size: 17px;
}

    #snackbar.show {
        visibility: visible;
        -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
        animation: fadein 0.5s, fadeout 0.5s 2.5s;
    }

.btn-reset {
    border: none;
    border-radius: 20px;
    padding: 0 20px;
    background: red;
    color: white;
    margin-left: 20px;
}

.btn-savechange {
    border: none;
    border-radius: 20px;
    padding: 0 20px;
    background: var(--primary-color);
    color: white;
    margin-left: 20px;
}

.system {
    font-size: 12px;
    padding: 0;
}

.nap-uid-section,
.nap-login-section {
    background-color: var(--color-surface);
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

    .nap-uid-section h2,
    .nap-login-section h2 {
        color: #007bff;
        margin-top: 0;
        margin-bottom: 15px;
    }

    .nap-uid-section p {
        color: #666;
        margin-bottom: 15px;
    }

.game-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.game-item {
    background-color: #e9ecef;
    border-radius: 5px;
    padding: 10px;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
}

    .game-item img {
        width: 50px;
        height: 50px;
        border-radius: 5px;
        object-fit: cover;
    }

.game-info {
    flex-grow: 1;
}

.game-name {
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.game-type {
    color: #6c757d;
    font-size: 0.9em;
}

.topup-badge {
    background-color: #ffc107;
    color: #fff;
    padding: 3px 5px;
    border-radius: 3px;
    font-size: 0.8em;
    margin-left: 5px;
}

.nap-login-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.nap-login-item {
    background-color: #e9ecef;
    border-radius: 5px;
    padding: 15px;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
}

    .nap-login-item img {
        width: 60px;
        height: 60px;
        border-radius: 5px;
        object-fit: cover;
    }

.nap-login-info {
    flex-grow: 1;
}

.nap-login-title {
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
}

.nap-login-button {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.9em;
    outline: none;
}

    .nap-login-button:hover {
        background-color: #0056b3;
    }

#theme-toggle {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    transition: color 0.3s;
}

    #theme-toggle:hover {
        color: var(--color-primary);
    }


