

/* reset & base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {

    color: #fff;
    min-height: 100vh;
}

input::placeholder {
    color: #fff;
    font-weight: 300;
}

.modal-open .modal {
    margin-top: 20% !important;
}

/* Social icons top */
.social-top {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 1000;
}

.social-top .icon {
    width: 40px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
}

.social-top .telegram {
    background-image: url('../index_files/icon-telegram.png');
}

.social-top .facebook {
    background-image: url('../index_files/icon-facebook.png');
}

.social-top .chat {
    background-image: url('../index_files/icon-chat.png');
}

/* Header */
.header {
    text-align: center;
    padding: 20px 0 10px 0;
}

.header .logo {
    width: 170px;
}

/* Hero */
.hero {
    text-align: center;
    padding: 0 15px 0;
    position: relative;
    font-size: 18px;
    color: #fff;
}

.hero h1 {
    /* font-size: 36px;
    margin-bottom: -5px;
    margin-top: -10px; */
}

.hero span img {
    width: 600px;

    margin-bottom: -25px !important;
}

.hero .highlight {
    color: #FFD700;
    text-decoration: underline;
    /* Apply the underline */
    text-underline-offset: 3px;
    /* Set the offset distance */
}

.register-card {
    width: 600px;
    height: 580px; 
    background-image: url('../index_files/register_bg.png');
    background-size: 100% auto;
    /* ✔️ Đảm bảo chiều rộng vừa khít ảnh */
    background-repeat: no-repeat;
    background-position: top center;
    border-radius: 36px;
    padding: 100px 30px 40px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 70px;
}

.register-card h2 {
    font-size: 28px;
    margin-bottom: 25px;
}

.register-card form {
    margin: auto;
    width: 470px;
    margin-top: 40px;
}

@media (max-width: 768px) {
    .register-card {
        height: 400px; 
    }
}

.register-card form .field {
    position: relative;
    width: 100%;
    height: 100px;
}

.register-card form input {
    width: 100%;
    font-size: 16px;
}

.register-card form .icon {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    width: 20px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
}

.register-card form .user {
    width: 40px;
    left: 18px;
    background-image: url('../index_files/icon_user.svg');
}

.register-card form .lock {
    width: 40px;
    left: 18px;
    background-image: url('../index_files/icon_lock.svg');
}

.register-card form .field {
    position: relative;
}

.register-card form .eye {
    position: absolute;
    top: 40%;
    right: 18px;
    width: 30px;
    height: 30px;
    background-image: url('../index_files/icon-eye.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    display: block;
    pointer-events: auto;
}

.register-card form .eye.hide {
    background-image: url('../index_files/icon-eye-non-view.svg');
}

.input-user,
.input-pass {
    width: 100%;
    height: 80px;
    /* Chiều cao cố định để khớp ảnh */
    padding-left: 55px;
    border: none;
    outline: none;
    color: #fff;
    font-size: 14px;

    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* ✔️ Nền luôn phủ khít input */
    background-position: center;
    background-color: transparent;
    box-sizing: border-box;
}

.input-user,
.input-pass {
    background-image: url('../index_files/input_bg_normal.png');
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: background-image 0.2s ease-in-out; /* hiệu ứng mượt */
}

/* Khi hover hoặc focus */
.input-user:hover,
.input-user:focus,
.input-pass:hover,
.input-pass:focus {
    background-image: url('../index_files/input_bg_active.png');
}

.icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

.icon.user {
    left: 16px;
    background-image: url('../index_files/icon_user.svg');
}

.icon.lock {
    left: 16px;
    background-image: url('../index_files/icon_lock.svg');
}

.icon.eye {
    right: 16px;
    background-image: url('../index_files/icon-eye.png');
    cursor: pointer;
}

/* Nút Tham Gia */
.btn.gold {
    width: 340px;
    height: 100px;
    background-image: url('../index_files/reg_btn.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0;
    margin-top: 0px;
    line-height: 56px;
    border: 0px !important;
    box-shadow: none !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.btn.gold:hover {
    box-shadow: 0 0 12px 4px rgba(255, 215, 0, 0.6);
    /* viền sáng mờ */
    transform: scale(1.05);
}

.or-line {
    display: inline-block;
    position: absolute;
    margin-bottom: 55px;
}

.or-line img {
    width: 430px;
}

.btn-web-play {
    display: inline-block;
    width: 500px;
    height: 100px;
    background-image: url('../index_files/web_play_btn.webp');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    position: absolute;
    margin-bottom: -50px;
    /* margin-left: 25px; */
    transition: transform 0.2s ease;
}

.btn-web-play:hover {
    transform: scale(1.05);
}

.btn.blue {
    background: linear-gradient(45deg, #0d3b82, #1b6cc6);
    color: #fff;
}

.btn.purple {
    background: linear-gradient(45deg, #8e2de2, #4a00e0);
    color: #fff;
}

/* CTA & note */
.cta {
    margin: 25px 0;
}

.note {
    font-size: 16px;
    margin-bottom: 30px;
    margin-top: 30px;
    text-align: center;
    /* padding-left: 20px; */
}

.note .link {
    color: #FFD700;
    text-decoration: underline;
}

/* Carousel */
.games-carousel {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
    /* margin-top: 22vh; */
}

.game-item {
    width: 100px;
    text-align: center;
    display: flex;
    align-items: flex-end;
    /* ✔️ ảnh nằm dưới cùng khối */
    justify-content: center;
    transition: transform 0.3s ease;
}

.game-item img {
    max-height: 100%;
    /* đảm bảo ảnh không vượt khung */
    max-width: 100%;
    object-fit: contain;
    transition: opacity 0.2s ease;
    cursor: pointer;
}

.game-item .label {
    margin-top: 8px;
    font-size: 14px;
    color: #fff;
}

/* Info section */
.info {
    padding: 40px 20px;
}

.info-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0; /* bỏ padding để không bị che */
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid #6a0dad;
    overflow: hidden; /* cắt gọn border-radius */
    }

    .info-content {
    padding: 30px;
    max-height: 600px;
    overflow-y: auto;
    }

/* Custom Scrollbar cho Chrome, Edge, Safari */
.info-content::-webkit-scrollbar {
width: 10px; /* độ rộng thanh scroll */
}

.info-content::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.05); /* nền track */
border-radius: 10px;
}

.info-content::-webkit-scrollbar-thumb {
background: #6a0dad; /* màu tím */
border-radius: 10px;
}

.info-content::-webkit-scrollbar-thumb:hover {
background: #8b1bd1; /* tím sáng hơn khi hover */
}

/* Custom Scrollbar cho Firefox */
.info-content {
scrollbar-width: thin;           /* mảnh hơn */
scrollbar-color: #6a0dad transparent; /* màu thumb + màu track */
}

.info-container h1 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #FDDE4E;
    text-align: center;
}

.info-container h2 {
    font-size: 20px;
    margin-top: 30px;
    color: #da35e2;
}

.info-container h3 {
    font-size: 16px;
    margin-top: 30px;
    color: #c09dd2;
}

.info-container h4 {
    font-size: 14px;
    margin-top: 30px;
    color: #fff;
}

.info-container p {
    line-height: 1.6;
    color: #ccc;
    margin-top: 12px;
}

.info-container ul {
    margin: 12px 0 0 20px;
    color: #ccc;
}

.info-image {
    text-align: center;
    margin: 20px 0;
}

.info-image img {
    max-width: 100%;
    border-radius: 12px;
}

/* Footer */
footer {
    background: #0b0030;
    text-align: center;
    padding: 40px 20px;
    padding-bottom: 30px;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;
}

.logo-footer {
    height: 60px;
}

.footer-social .icon {
    width: 40px;
    height: 40px;
    background-size: contain;
    margin: 0 8px;
}

.footer-social .facebook {
    background-image: url('../index_files/icon-facebook.png');
}

.footer-social .telegram {
    background-image: url('../index_files/icon-telegram.png');
}

.footer-social .chat {
    background-image: url('../index_files/icon-chat.png');
}

.cert {
    height: 40px;
}

.support {
    margin-bottom: 20px;
}

footer p {
    font-size: 14px;
    color: #666;
}

/* ===== Responsive: Mobile ===== */
@media (max-width: 768px) {
    .header .logo {
        width: 150px;
    }

    .hero h1 {
        font-size: 24px;
    }

    .register-card {
        height: 400px; 
        padding: 30px 20px;
        display: block;
    }

    .register-card h2 {
        font-size: 22px;
    }

    .btn {
        font-size: 16px;
        padding: 10px 24px;
    }

    .games-carousel {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 10px;
        margin-bottom: 40px;
    }

    .game-item {
        flex: 0 0 auto;
    }

    .info-container {
        max-height: none;
    }

    .register-card form .field {
        height: 60px;
    }

    .btn.gold {
        height: 57px;
        width: 100%;
        margin-top: 20px;
    }

    .invalid-feedback {
        font-size: 10px !important;
        margin-top: -5px !important;
        width: 110% !important;
    }
}

.invalid-feedback {
    margin-top: -5px !important;
    text-align: left;
}

.background {
    width: 100%;
    min-height: 100vh;
    /* ít nhất lấp đầy chiều cao viewport */
    background-image: url('../index_files/bg.png');
    background-color: #0d032d;
    background-repeat: no-repeat;
    background-position: top center;
    /* ưu tiên phần trên của ảnh */
    background-size: cover;
    /* cover để không bị méo, cắt vừa đủ */
}

/* 1. Điện thoại nhỏ (portrait phones) */
@media (max-width: 576px) {
    .background {
        background-image: url('../index_files/bg_mobile.png');
        min-height: 100vh;
        background-size: contain;
        /* vừa khít, giữ nguyên tỷ lệ */
        background-repeat: no-repeat;
        background-position: top center;
    }
}

/* 2. Điện thoại lớn / máy tính bảng nhỏ (landscape phones đến small tablets) */
/* @media (min-width: 577px) and (max-width: 768px) {
    .background {
        min-height: 90vh;
    }
} */

/* 3. Tablet / laptop nhỏ */
@media (min-width: 769px) and (max-width: 992px) {
    .background {
        min-height: 100vh;
    }

    .mobile-banners {
        display: flex;
        justify-content: space-between;
        padding: 0 20px;
        margin: 20px 0 40px;
        /* khoảng cách trên dưới */
    }

    .mobile-banners img {
        width: 48%;
        /* mỗi banner chiếm ~1/2 chiều ngang */
        border-radius: 12px;
        /* bo góc nếu cần */
        object-fit: cover;
    }
}

@media (max-width: 500px) {
        .register-card {
        height: 400px; 
    }
}

/* 2. Desktop (>=769px) */
@media (min-width: 769px) {

    /* wrapper căn form + 2 banner */
    .register-wrapper {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        gap: 30px;
        flex-wrap: wrap;
        margin: 0 auto;
        position: relative;
    }

    .desktop-banner {
        max-width: 440px;
        height: auto;
        transition: transform 0.3s ease, filter 0.3s ease;
        cursor: pointer;
    }

    .desktop-banner:hover {
        transform: scale(1.05);
    }


    /* Ẩn mobile banners khi desktop */
    .mobile-banners {
        display: none;
    }
}

/* 3. Mobile (<769px) */
@media (max-width: 768px) {

    /* Ẩn banner Desktop */
    .desktop-banner {
        display: none;
    }

    /* Hiện lại mobile banners (nếu trước đó có ẩn) */
    .mobile-banners {
        display: flex;
    }

    .banner-left {
        width: 100px !important;
    }

    .banner-right {
        width: 100px !important;
    }
}

/* 4. Desktop trung bình */
@media (min-width: 993px) and (max-width: 1200px) {
    .background {
        min-height: 100vh;
    }
}

/* 5. Desktop lớn */
@media (min-width: 1201px) {
    .background {
        min-height: 100vh;
    }
}

.group-line-bottom {
    padding-bottom: 0;
    padding-top: 0;
}

.banner-right,
.banner-left {
    width: calc(50% - 330px);
}

@media (min-width: 430px) and (max-width: 500px) {
    .or-line {
        display: none;
    }

    .register-wrapper {
        width: 100%;
    }

    .register-card form {
        width: 90%;
    }

    .input-user,
    .input-pass {
        padding-left: 35px;
    }

    .hero span img {
        width: 85% !important;
        margin-top: -5px !important;
        margin-bottom: 5px !important;
    }

    .btn.gold {
        height: 75px;
    }
}

@media (min-width: 430px) and (max-width: 440px) {
    .hero span img {
        margin-top: 10px !important;
        margin-bottom: 35px !important;
    }

    .mobile-app-download img {
        width: 345px !important;
    }

    .register-card form .icon {
        top: 52%;
        height: 25px;
    }

    .input-user,
    .input-pass {
        padding-left: 40px;
    }

    .icon.user,  .icon.lock{
        left: 10px !important;
    }

    .register-card form .eye {
        position: absolute;
        top: 53%;
        right: 15px;
        width: 23px;
    }

    .register-card form {
        margin-top: 40px;
    }

    .register-container,
    .register-wrapper {
        width: 100% !important;
    }

    .btn.gold {
        height: 70px;
        width: 300px;
    }

    .register-card form {
        width: 95%;
    }

    .or-line {
        display: none;
    }

    .header .logo {
        width: 130px;
    }

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

    .group-line.mobile {
        margin-top: -15px;
    }

    .mobile-app-download {
        margin-top: -10px;
        margin-bottom: 10px;
    }

    .btn-web-play-moblie {
        width: 310px !important;
        height: 65px !important;
        margin-top: -10px;
        margin-bottom: -10px !important;
    }

    .roll-more-mobile img {
        width: 50px !important;
        margin-top: 10px !important;
    }

    .invalid-feedback {
        margin-top: -13px !important;
        font-size: 11px !important;
    }

    .btn.gold {
        margin-top: 10px !important;
    }

    .game-item-mobile img {
        width: 90px !important;
    }

    .register-card form .field {
        height: 75px;
    }

    #f-loading {
        margin-top: 15px !important;
        height: 55px !important;
        width: 300px;
        margin: auto;
    }

    .modal-open .modal {
        margin-top: 50% !important;
    }
}



@media (min-width: 300px) and (max-width: 420px) {
    .register-card form .field {
        height: 60px !important;
    }

    .mobile-app-download img {
        width: 345px !important;
    }

    .register-card form .eye {
        position: absolute;
        top: 56%;
        right: 15px;
        width: 20px;
    }

    .register-card form .icon {
            top: 65%;
            height: 20px;
    }

    .input-user,
    .input-pass {
        padding-left: 35px !important;
    }

    .icon.user,  .icon.lock{
        left: 10px !important;
    }

    .register-card form {

        margin-top: 30px;
    }

    .register-container,
    .register-wrapper {
        width: 100% !important;
    }

    .btn.gold {
        height: 60px;
        width: 100%;
        margin-top: 20px !important;
    }

    .register-card form {
        width: 95%;
    }

    .input-user,
    .input-pass {
        padding-left: 30px;
    }

    .or-line {
        display: none;
    }

    .header .logo {
        width: 130px;
    }

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

    .group-line.mobile {
        margin-top: -15px;
    }

    .mobile-app-download {
        margin-top: -10px;
        margin-bottom: 10px;
    }

    .btn-web-play-moblie {
        width: 300px !important;
        height: 60px !important;
        margin-top: -10px;
        margin-bottom: -10px !important;
    }

    .roll-more-mobile img {
        width: 50px !important;
        margin-top: 10px !important;
    }

    .invalid-feedback {
        margin-top: -18px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
    }

    .game-item-mobile img {
        width: 90px !important;
    }

    .hero span img {
        margin-bottom: 15px !important;
    }

    #f-loading {
        margin-top: 15px !important;
        height: 55px !important;
        width: 300px;
    }

    .modal-open .modal {
        margin-top: 50% !important;
    }

    .group-line.mobile {
        margin-top: -25px !important;
    }
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto;
    }

    .modal-dialog-centered {
        min-height: calc(100% - (1.75rem * 2));
    }

    .modal-dialog-centered::before {
        height: calc(100vh - (1.75rem * 2));
    }

    .modal-sm {
        max-width: 300px;
    }
}

@media (min-width: 992px) {
    .modal-lg {
        max-width: 800px;
    }
}

.modal-content {
    background-color: #5e2a8e !important;
    color: #fff;
}

.modal-header {
    border-bottom: 1px solid #6c5572 !important;
}

.modal-footer {
    border-top: 1px solid #6c5572 !important;
}

.modal.show .modal-dialog {
    background-color: transparent !important;
}

.social-fixed {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    z-index: 9999;
}

.social-btn img {
    width: 70px;
    height: 70px;
    transition: transform 0.3s ease;
    margin-bottom: -15px;
}

.social-btn.sound img {
    width: 52px;
    height: 52px;
    transition: transform 0.3s ease;
    margin-bottom: -45px;
    margin-left: 10px;
}

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

.group-line.mobile {
    display: none;
}

.note.mobile {
    display: none;
}

.games-carousel-container {
    display: none;
}

.mobile-app-download {
    display: none;
}

.btn-web-play-moblie {
    display: none;
}

.games-carousel-wrapper {
    display: none;
}

.roll-more-mobile {
    display: none;
}

@media (max-width: 768px) {

    html,
    body {
        overflow-x: hidden;
        /* ✔️ Ngăn scroll ngang */
        width: 100vw;
        /* Giới hạn chiều ngang đúng viewport */
        max-width: 100%;
        position: relative;
    }

    .social-fixed {
        display: none;
    }

    .info-top {
        display: none;
    }

    .hero span img {
        width: 330px;
        margin-top: -10px;
        margin-bottom: 15px;
    }

    .invalid-feedback {}

    .games-carousel {
        display: none;
    }

    .group-line {
        display: none;
    }

    .group-line img {
        width: 100%;
        height: 2px;
    }

    .group-line .mobile {
        display: block;
    }

    .games-carousel-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        /* khoảng cách giữa banner và slide */
        flex-wrap: nowrap;
        margin-top: 10px;
        margin-bottom: 20px;
    }

    .banner-left-mobile,
    .banner-right-mobile {
        width: 120px;
        height: auto;
    }

    .games-carousel-container {
        display: block !important;
        width: 100%;
        max-width: 300px;
        margin: auto;
        position: relative;
        overflow: hidden;
    }

    .games-carousel-mobile {
        display: flex;
        transition: transform 0.4s ease-in-out;
        gap: 0px;
    }

    .game-item-mobile {
        min-width: 100%;
        text-align: center;
    }

    .game-item-mobile img {
        width: 100px;
        /* ✔️ Kích thước cố định */
        height: auto;
        display: block;
        margin: 0 auto;
        /* ✔️ Canh giữa trong khung */
    }

    /* Dot Indicators */
    .carousel-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 12px;
    }

    .carousel-dots .dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #666;
        opacity: 0.4;
        transition: opacity 0.3s;
        cursor: pointer;
    }

    .carousel-dots .dot.active {
        background-color: #ffc940;
        opacity: 1;
    }

    .group-line.mobile {
        display: block !important;
    }

    .note.mobile {
        display: block;
    }

    .note {
        font-size: 14px;
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .register-card {
        margin-bottom: 0;
        width: 100%;
    }

    .mobile-app-download {
        display: block;
    }

    .mobile-app-download img {
        width: 390px;
    }

    .btn-web-play {
        display: none;
    }

    .btn-web-play-moblie {
        display: inline-block;
        width: 350px;
        height: 74px;
        background-image: url('../index_files/web_play_btn.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        text-align: center;
    }

    .info {
        padding: 20px 20px;
    }

    .roll-more {
        display: none;
    }

    .roll-more-mobile {
        display: block;
    }

    .or-line {
        display: none;    
    }

    .register-card form .icon {
        top: 65%;
        height: 20px;
    }

        .register-card form .user,.lock {
        left: 10px !important;
    }

    .input-user, .input-pass {
        padding-left: 35px;
    }

}

.cursor-glow {
    position: absolute;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    pointer-events: none;
    box-shadow: 0 0 10px 4px #bd15f0;
    transform: translate(-50%, -50%);
    animation: fadeOut 1s linear forwards;
}

@keyframes fadeOut {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}

.dot-star {
    position: absolute;
    width: 1px;
    height: 1px;
    background: #fffacd;
    border-radius: 50%;
    box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.4);
    animation: rise linear forwards;
}

@keyframes rise {
    0% {
        opacity: 0;
        transform: translateY(0) scale(1);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(-60px) scale(1.5);
        /* giảm khoảng di chuyển */
    }
}

@keyframes shake {
    0% {
        transform: translate(0px, 0px) rotate(0deg);
    }

    10% {
        transform: translate(-4px, 4px) rotate(-1deg);
    }

    20% {
        transform: translate(4px, -4px) rotate(1deg);
    }

    30% {
        transform: translate(-6px, 6px) rotate(-2deg);
    }

    40% {
        transform: translate(6px, -6px) rotate(2deg);
    }

    50% {
        transform: translate(-4px, 4px) rotate(-1deg);
    }

    60% {
        transform: translate(4px, -4px) rotate(1deg);
    }

    70% {
        transform: translate(-2px, 2px) rotate(0deg);
    }

    80% {
        transform: translate(2px, -2px);
    }

    90% {
        transform: translate(-1px, 1px);
    }

    100% {
        transform: translate(0, 0) rotate(0deg);
    }
}

.game-item.shake {
    animation: shake 0.7s ease-in-out;
}

.hw-title-header {
    display: block;
    margin: 0 auto;
    animation: zoomInOut 1.5s ease-in-out infinite;
    transition: transform 0.3s ease;
}

@keyframes zoomInOut {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

.social-mobile-left-fixed,
.social-mobile-right-fixed {
    display: none;
}

@media (max-width: 768px) {

    .social-mobile-left-fixed,
    .social-mobile-right-fixed {
        position: fixed;
        top: 5px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        z-index: 1000;
    }

    .social-mobile-left-fixed {
        left: 10px;
        align-items: flex-start;
    }

    .social-mobile-right-fixed {
        right: 10px;
        align-items: flex-end;
    }

    .social-btn.sound img {
        width: 50px;
        height: 37px;
        transition: transform 0.3s ease;
        margin-bottom: -45px;
        margin-left: 6px;
    }

    .social-btn img {
        width: 50px;
        height: 68px;
        object-fit: contain;
        transition: transform 0.2s;
    }

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

    .footer-text {
        margin-top: 0;
        margin-bottom: 20px;
        font-size: 14px;
    }
}

@media (max-height: 850px) and (min-width: 1180px) {
    .register-card {
        width: 585px;
        margin-bottom: 74px;
        padding: 80px 30px 55px;
    }

    .banner-right,
    .banner-left {
        /* width: 390px; */
        margin-bottom: 15px;
    }

    .register-card form {
        margin: auto;
        width: 490px;
        margin-top: 50px;
    }

    .btn.gold {
        width: 300px;
        height: 90px;
        margin-top: 5px;
    }

    .register-card form .field {
        height: 100px;
    }

    .btn-web-play {
        margin-bottom: -20px;
        width: 444px;
    }

    .note {
        margin-top: 30px;
        font-size: 17px;
    }

    .game-item {
        width: 75px;
    }

    .invalid-feedback {
        margin-top: -5px !important;
        font-size: 15px !important;

    }

    .hero {
        font-size: 12px;
    }

    .hero span img {
        width: 500px;
        margin-bottom: -10px !important;
    }

    .header .logo {
        width: 150px;
    }

    .register-card form .eye {
        top: 40%;
    }

    .or-line {
        margin-bottom: 83px;
    }

    .or-line img {
        width: 360px;
    }

    .roll-more {
        margin-top: 20px !important;
    }

}

.register-container {
    /* height: 60vh; */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px !important;
    margin: auto;
}

.roll-more {
    animation: soft-blink 1.5s infinite ease-in-out;
    cursor: pointer;
    margin-top: 60px;
}

@keyframes soft-blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

.line-top {
    margin-top: 0;
    margin-bottom: 10px;
}

#f-loading {
    height: 100px;
}

.btn-close {
    display: none !important;
}

:root {
    --btn-size: 48px;
    --btn-bg: linear-gradient(180deg, #7B2CD6, #5510B0);
    --btn-shadow: 0 10px 24px rgba(108, 32, 182, .35);
}

@media (max-width: 1000px) {
    .desktop-banner {
        display: none;
    }
}

/* ----- Nền mặc định ----- */
.field-user,
.field-password {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background-image: url('../index_files/input_bg_normal.png');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.2s linear;
}

/* ----- Hover + Focus thì đổi sang ảnh active ----- */
.field-user:hover,
.field-password:hover,
.field-user:has(.input-user:focus),
.field-password:has(.input-pass:focus) {
    background-image: url('../index_files/input_bg_active.png');
}

/* ----- Input trong suốt ----- */
.input-user,
.input-pass {
    width: 100%;
    border: none;
    outline: none;
    background: transparent !important;
    color: #fff;
}

/* ----- Fix autofill Chrome không che nền ----- */
.input-user:-webkit-autofill,
.input-pass:-webkit-autofill,
.input-user:-webkit-autofill:hover,
.input-pass:-webkit-autofill:hover,
.input-user:-webkit-autofill:focus,
.input-pass:-webkit-autofill:focus {
-webkit-text-fill-color: #fff !important;
caret-color: #fff !important;
box-shadow: 0 0 0 1000px transparent inset !important;
-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
transition: background-color 9999s ease-out, color 9999s ease-out !important;
}

/* 2) Khi có lỗi (JS đang add vào .field) => hiện ra */
.field.was-validated .invalid-feedback {
display: block !important;
}

/* 3) Nếu bạn muốn dựa vào validate của form (khi form có .was-validated) */
form.was-validated .field .invalid-feedback {
display: block;
}

@media (width: 390px) {
.group-line.mobile {
    margin-top: -16px !important;
}
}

@media (width: 414px) {
    .register-card form .icon {
        top: 60% !important;
        height: 25px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .group-line.mobile {
        display: block !important;
        margin-top: -15px !important;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }

    .register-card form {
        margin-top: 40px !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 11px !important;
    }

    .register-card form .field {
        height: 66px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .register-card form .eye {
        right: 10px !important;
    }

    .register-container {
        margin-top: 0 !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .mobile-app-download {
        margin-bottom: 10px;
    }
}



@media (width: 540px) {
    .register-card form .icon {
        top: 65% !important;
        height: 25px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .group-line.mobile {
        display: block !important;
        margin-top: -15px;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }

    .register-card form {
        margin-top: 26px !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 11px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .register-card form .eye {
        right: 10px !important;
    }

    .register-container {
        margin-top: 30px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}
}

@media (width: 667px) {
    .register-card form .icon {
        top: 65% !important;
        height: 25px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .group-line.mobile {
        display: block !important;
        margin-top: -15px;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }

    .register-card form {
        margin-top: 26px !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 11px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .register-card form .eye {
        right: 10px !important;
    }

    .register-container {
        margin-top: 30px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}
}

@media (width: 768px) {
        .register-card form .icon {
        top: 65% !important;
        height: 27px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .register-card form {
        margin-top: 25px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 12px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .group-line.mobile {
        display: block !important;
        margin-top: -13px;
    }

    .mobile-app-download {
        margin-bottom: 20px;
    }

    .register-container {
        margin-top: 30px !important;
        /* margin-top: -20px !important; */
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }   

    .register-card form .eye {
        right: 10px !important;
    }
}

@media (width: 844px) {
        .register-card form .icon {
        top: 65% !important;
        height: 27px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .register-card form {
        margin-top: 25px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 12px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .group-line.mobile {
        display: block !important;
        margin-top: -13px;
    }

    .mobile-app-download {
        margin-bottom: 20px;
    }

    .register-container {
        margin-top: 30px !important;
        margin-top: -20px !important;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }   

    .register-card form .eye {
        right: 10px !important;
    }
}

@media (max-width: 720px) {
        .register-card form .icon {
        top: 65% !important;
        height: 27px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .register-card form {
        margin-top: 25px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 12px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .group-line.mobile {
        display: block !important;
        margin-top: -13px;
    }

    .mobile-app-download {
        margin-bottom: 20px;
    }

    .register-container {
        margin-top: 30px !important;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }   

    .register-card form .eye {
        right: 10px !important;
    }
}

@media (max-width: 660px) {
        .register-card form .icon {
        top: 65% !important;
        height: 27px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .register-card form {
        margin-top: 30px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 12px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .group-line.mobile {
        display: block !important;
        margin-top: -13px;
    }

    .mobile-app-download {
        margin-bottom: 20px;
    }

    .register-container {
        margin-top: -10px !important;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }   

    .register-card form .eye {
        right: 10px !important;
    }
}

@media (width: 428px) {
    .register-card form .icon {
        top: 65% !important;
        height: 25px !important;
    }

    .register-card form .user,.lock {
        left: 10px !important;
    }

    .group-line.mobile {
        display: block !important;
        margin-top: -15px;
    }

    .input-user, .input-pass {
        padding-left: 42px !important;
    }

    .register-card form {
        margin-top: 26px !important;
    }

    .invalid-feedback {
        margin-top: -20px !important;
        font-size: 11px !important;
    }

    .register-card form .field {
        height: 60px !important;
    }

    .btn.gold {
        margin-top: 20px !important;
        width: 100% !important;
    }

    .register-card form .eye {
        right: 10px !important;
    }

    .register-container {
        margin-top: 30px !important;
    }

    .or-line {
        display: none !important;
    }

    .roll-more-mobile img {width: 65px;}

    .mobile-app-download {
        margin-bottom: 10px;
    }
}

.info-content img {
    width: 100% !important;
    max-width: 800px;
    height: auto !important;
}

.anime-btn-container {
    min-height: 50px !important;
}

.info-content .logo-img {
    width: 40px !important;
}


/* 222 */

    .anime-btn-container {
        position: relative;
        width: 100%;
        min-height: 100px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }
    .anime-btn {
        padding: 0 10px;
        position: relative;
        height: 100%;
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(45deg, #3bc3f5, #2961d2);
        border-radius: 15px;
        font-family: "Lora", serif;
        font-weight: 600;
        font-size: 18px;
        color: white;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        box-shadow: 0 10px 20px rgba(255, 107, 107, 0.4);
        cursor: pointer;
        transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        overflow: hidden;
        z-index: 1;
        border: none;
        outline: none;
    }
    .anime-btn:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(255, 107, 107, 0.6);
        animation: pulse 1.5s infinite;
    }
    .anime-btn:active {
        transform: translateY(0);
        animation: none;
    }
    /* Hiệu ứng ánh sáng lướt */
    .anime-btn::before {
        content: '';
        position: absolute;
        top: -50%;
        left: -50%;
        width: 200%;
        height: 200%;
        background: linear-gradient(to bottom right,
                rgba(255, 255, 255, 0.3),
                rgba(255, 255, 255, 0));
        transform: rotate(30deg);
        animation: shine 3s infinite;
        z-index: -1;
    }
    /* Hiệu ứng phát sáng khi hover */
    .anime-btn::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: radial-gradient(circle at center,
                rgba(255, 255, 255, 0.4) 0%,
                rgba(255, 255, 255, 0) 70%);
        opacity: 0;
        transition: opacity 0.3s;
        z-index: -1;
    }
    .anime-btn:hover::after {
        opacity: 1;
    }
    /* Hiệu ứng hạt lấp lánh */
    .sparkles {
        position: absolute;
        width: 100%;
        height: 100%;
        pointer-events: none;
    }
    .sparkle {
        position: absolute;
        width: 6px;
        height: 6px;
        background: white;
        border-radius: 50%;
        opacity: 0;
        filter: blur(1px);
        animation: sparkleAnim 1.5s infinite;
    }
    /* Vị trí ngẫu nhiên cho các hạt */
    .sparkle:nth-child(1) {
        top: 20%;
        left: 15%;
        animation-delay: 0.1s;
    }
    .sparkle:nth-child(2) {
        top: 70%;
        left: 25%;
        animation-delay: 0.3s;
    }
    .sparkle:nth-child(3) {
        top: 30%;
        left: 50%;
        animation-delay: 0.5s;
    }
    .sparkle:nth-child(4) {
        top: 80%;
        left: 70%;
        animation-delay: 0.7s;
    }
    .sparkle:nth-child(5) {
        top: 40%;
        left: 85%;
        animation-delay: 0.9s;
    }
    .sparkle:nth-child(6) {
        top: 60%;
        left: 10%;
        animation-delay: 1.1s;
    }
    .logo-img {
        width: 24px;
        height: 24px;
        margin-right: 10px;
        object-fit: contain;
        filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.3));
        animation: float 3s ease-in-out infinite;
    }
    /* Keyframes */
    @keyframes float {
        0%,
        100% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-5px);
        }
    }
    @keyframes shine {
        0% {
            transform: rotate(30deg) translate(-30%, -30%);
        }
        100% {
            transform: rotate(30deg) translate(30%, 30%);
        }
    }
    @keyframes pulse {
        0% {
            transform: translateY(-5px) scale(1);
        }
        50% {
            transform: translateY(-5px) scale(1.05);
        }
        100% {
            transform: translateY(-5px) scale(1);
        }
    }
    @keyframes sparkleAnim {
        0% {
            opacity: 0;
            transform: scale(0.5);
        }
        50% {
            opacity: 0.8;
            transform: scale(1.2);
        }
        100% {
            opacity: 0;
            transform: scale(0.5);
        }
    }
    .brand-name {
        font-family: "Lora", serif;
        font-weight: 700;
        margin-left: 5px;
        color: #fffacd;
        text-shadow: 0 0 5px #ff9e00, 0 0 10px #ff9e00;
        animation: glow 2s infinite alternate;
    }
    @keyframes glow {
        from {
            text-shadow: 0 0 5px #ff9e00, 0 0 10px #ff9e00;
        }
        to {
            text-shadow: 0 0 10px #ff9e00, 0 0 15px #ff9e00, 0 0 20px #ff9e00;
        }
    }
    .captcha-alert {
        //margin-bottom: 12px;
        padding: 12px 20px;
        font-weight: 600;
        font-size: 15px;
        font-family: "Lora", serif;
        color: #dc3545;
        background: linear-gradient(135deg, rgba(220, 53, 69, 0.1), rgba(220, 53, 69, 0.05));
        border-radius: 12px;
        border-left: 4px solid #dc3545;
        box-shadow: 0 4px 12px rgba(220, 53, 69, 0.15);
        user-select: none;
        animation: slideIn 0.4s ease-out;
        backdrop-filter: blur(10px);
    }
    .captcha-alert.success {
        color: #28a745;
        background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(40, 167, 69, 0.05));
        border-left-color: #28a745;
        box-shadow: 0 4px 12px rgba(40, 167, 69, 0.15);
    }
    @keyframes slideIn {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    .anime-button {
        position: relative;
        padding: 10px 20px;
        background: linear-gradient(45deg, #ff3cac, #784ba0, #2b86c5);
        border: none;
        border-radius: 10px;
        color: white;
        font-family: "Lora", serif;
        font-size: 15px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 2px;
        cursor: pointer;
        overflow: hidden;
        z-index: 1;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
        transform-style: preserve-3d;
    }
    .anime-button:hover {
        transform: translateY(-5px) scale(1.05);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        animation: gradientShift 3s infinite alternate;
    }
    .anime-button:active {
        transform: translateY(0) scale(1);
    }
    /* Hiệu ứng ánh sáng lướt qua */
    .anime-button::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg,
                transparent,
                rgba(255, 255, 255, 0.4),
                transparent);
        transition: 0.5s;
        z-index: -1;
    }
    .anime-button:hover::before {
        left: 100%;
    }
    /* Hiệu ứng bong bóng nổi */
    .anime-button::after {
        content: '';
        position: absolute;
        width: 20px;
        height: 20px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 50%;
        bottom: -20px;
        left: 20%;
        animation: bubble 4s infinite ease-in;
        z-index: -1;
    }
    .anime-button:hover::after {
        animation: bubble 2s infinite ease-in;
    }
    /* Hiệu ứng chữ nảy */
    .anime-button span {
        display: inline-block;
        transition: transform 0.3s ease;
    }
    .anime-button:hover span {
        animation: textBounce 0.5s ease;
    }
    /* Keyframes */
    @keyframes gradientShift {
        0% {
            background-position: 0% 50%;
        }
        50% {
            background-position: 100% 50%;
        }
        100% {
            background-position: 0% 50%;
        }
    }
    @keyframes bubble {
        0% {
            transform: translateY(0) scale(0.5);
            opacity: 0;
        }
        50% {
            opacity: 0.8;
        }
        100% {
            transform: translateY(-100px) scale(1.2);
            opacity: 0;
        }
    }
    @keyframes textBounce {
        0%,
        100% {
            transform: translateY(0);
        }
        25% {
            transform: translateY(-10px);
        }
        50% {
            transform: translateY(0);
        }
        75% {
            transform: translateY(-5px);
        }
    }
    /* Thêm nhiều bong bóng hơn */
    .anime-button:hover .bubble {
        position: absolute;
        background: rgba(255, 255, 255, 0.4);
        border-radius: 50%;
        animation: bubble 3s infinite ease-in;
        z-index: -1;
    }
    .bubble:nth-child(1) {
        width: 15px;
        height: 15px;
        bottom: -15px;
        left: 30%;
        animation-delay: 0.5s;
    }
    .bubble:nth-child(2) {
        width: 10px;
        height: 10px;
        bottom: -10px;
        left: 60%;
        animation-delay: 1s;
    }
    .bubble:nth-child(3) {
        width: 8px;
        height: 8px;
        bottom: -8px;
        left: 80%;
        animation-delay: 1.5s;
    }
    .anime-input-container {
        position: relative;
        margin: 20px 0;
    }
    .anime-input {
        width: 220px;
        padding: 5px 10px;
        font-family: 'Lora', serif;
        font-size: 16px;
        color: #4a2d7a;
        background: rgba(255, 255, 255, 0.9);
        border: 2px solid #d9c2ff;
        border-radius: 8px;
        outline: none;
        transition: all 0.4s ease;
        box-shadow: 0 2px 10px rgba(120, 75, 160, 0.1);
    }
    .anime-input:focus {
        border-color: #9d65ff;
        box-shadow: 0 0 0 3px rgba(157, 101, 255, 0.3);
        animation: inputPulse 1.5s infinite;
    }
    .anime-input::placeholder {
        color: #b39ddb;
        transition: all 0.3s ease;
    }
    .anime-input:focus::placeholder {
        transform: translateX(5px);
        opacity: 0.5;
    }
    /* Hiệu ứng sóng anime */
    .wave-effect {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: linear-gradient(90deg, transparent, #9d65ff, transparent);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease;
        z-index: 2;
    }
    .anime-input:focus~.wave-effect {
        transform: scaleX(1);
        animation: waveFlow 1.8s infinite;
    }
    /* Hiệu ứng lá rơi */
    .leaf {
        position: absolute;
        width: 12px;
        height: 12px;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239d65ff"><path d="M17 8C8 10 5.9 16.8 5.9 16.8C5.9 16.8 7 7 17 8Z"/></svg>') no-repeat;
        opacity: 0;
        z-index: 1;
    }
    .anime-input:focus~.leaf {
        animation: leafFall 3s infinite;
    }
    .leaf:nth-child(1) {
        top: -15px;
        left: 10%;
        animation-delay: 0.5s;
    }
    .leaf:nth-child(2) {
        top: -20px;
        left: 40%;
        animation-delay: 1.2s;
    }
    .leaf:nth-child(3) {
        top: -10px;
        left: 70%;
        animation-delay: 1.8s;
    }
    /* Keyframes */
    @keyframes inputPulse {
        0%,
        100% {
            box-shadow: 0 0 0 3px rgba(157, 101, 255, 0.3);
        }
        50% {
            box-shadow: 0 0 0 6px rgba(157, 101, 255, 0.15);
        }
    }
    @keyframes waveFlow {
        0% {
            transform: scaleX(0);
            transform-origin: left;
        }
        50% {
            transform: scaleX(1);
            transform-origin: left;
        }
        51% {
            transform-origin: right;
        }
        100% {
            transform: scaleX(0);
            transform-origin: right;
        }
    }
    @keyframes leafFall {
        0% {
            transform: translateY(0) rotate(0deg);
            opacity: 0;
        }
        20% {
            opacity: 0.8;
        }
        100% {
            transform: translateY(150px) rotate(360deg);
            opacity: 0;
        }
    }
    #captcha-container {
        width: 300px;
        margin: 1rem 0;
    }
    #slider-track {
        width: 100%;
        height: 40px;
        background-color: #e0e0e0;
        border-radius: 5px;
        position: relative;
        user-select: none;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .slider-text {
        position: absolute;
        color: #888;
        transition: opacity 0.3s ease;
        z-index: 1;
        font-family: math;
    }
    #slider-track {
        position: relative;
        user-select: none;
        width: 300px;
        height: 40px;
        background-color: #e0e0e0;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #4a90e2;
        filter: drop-shadow(2px 5px 7px #000);
    }
    #captcha-target-img {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        border-radius: 4px;
    }
    #slider-handle {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        width: 40px;
        height: 100%;
        background-color: #4a90e2;
        /* Màu xanh dương */
        border: 1px solid #357ABD;
        cursor: grab;
        border-radius: 5px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        color: white;
    }
    #slider-handle:active {
        cursor: grabbing;
    }



       /* 33333 */

     .site-footer {
        background-color: #000;
        color: #fff;
        padding: 10px 20px 10px;
        text-align: center;

    }

    .footer-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        /* Canh giữa các cột */
        align-items: flex-start;
        gap: 0px;
        text-align: center;
        /* Canh giữa nội dung trong từng cột */
    }

    .footer-column {
        flex: 1;
        min-width: 200px;
        max-width: 250px;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* ✔️ Canh giữa nội dung theo chiều ngang */
    }

    .footer-column h4 {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 10px;
    }

    .footer-column img.footer-dmca {
        margin-top: 4px;
    }

    .footer-column:first-child {
        padding-top: 18px;
    }

    .footer-text {
        max-width: 800px;
        margin: 0 auto;
        margin-top: 10px;
        font-size: 11px;
        font-weight: 300;
    }

    .footer-contact {
        margin-top: 10px;
    }

    .footer-logo {
        max-width: 150px;
    }

    .footer-icons {
        margin-bottom: -15px;
    }

    .footer-icons a {
        margin: -8px;
        display: inline-block;
    }

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

    .footer-icons img:hover {
        transform: scale(1.1);
    }

    .footer-support {
        background-color: #7e1dd0;
        color: #fff;
        display: inline-block;
        padding: 10px 20px;
        border-radius: 20px;
        font-weight: 500;
        margin-top: 20px;
    }

    .footer-support span {
        font-weight: bold;
    }

    .footer-dmca {
        max-height: 50px;
        margin-top: 10px;
    }

    .footer-bottom {
        font-size: 11px;
        color: #aaa;
        font-weight: 300;
    }

    .modal-open {
        overflow: hidden;
    }

    .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto;
    }

    .modal {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
        display: none;
        overflow: hidden;
        outline: 0;
    }

    .modal-dialog {
        position: relative;
        width: auto;
        margin: 0.5rem;
        pointer-events: none;
    }

    .modal.fade .modal-dialog {
        transition: transform 0.3s ease-out;
        transform: translate(0, -25%);
    }

    @media screen and (prefers-reduced-motion: reduce) {
        .modal.fade .modal-dialog {
            transition: none;
        }
    }

    .modal.show .modal-dialog {
        transform: translate(0, 0);
    }

    .modal-dialog-centered {
        display: flex;
        align-items: center;
        min-height: calc(100% - (0.5rem * 2));
    }

    .modal-dialog-centered::before {
        display: block;
        height: calc(100vh - (0.5rem * 2));
        content: "";
    }

    .modal-content {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        pointer-events: auto;
        background-color: transparent;
        background-clip: padding-box;
        border: 1px solid rgba(34, 37, 42, 0.2);
        border-radius: 0.3rem;
        outline: 0;
    }

    .modal-backdrop {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1040;
        background-color: #22252A;
    }

    .modal-backdrop.fade {
        opacity: 0;
    }

    .modal-backdrop.show {
        opacity: 0.5;
    }

    .modal-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 1rem;
        border-bottom: 1px solid #e9ecef;
        border-top-left-radius: 0.3rem;
        border-top-right-radius: 0.3rem;
    }

    .modal-header .close {
        padding: 1rem;
        margin: -1rem -1rem -1rem auto;
    }

    .modal-title {
        margin-bottom: 0;
        line-height: 1.5;
    }

    .modal-body {
        position: relative;
        flex: 1 1 auto;
        padding: 1rem;
    }

    .modal-footer {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 1rem;
        border-top: 1px solid #e9ecef;
    }

    .modal-footer> :not(:first-child) {
        margin-left: 0.25rem;
    }

    .modal-footer> :not(:last-child) {
        margin-right: 0.25rem;
    }

    .modal-scrollbar-measure {
        position: absolute;
        top: -9999px;
        width: 50px;
        height: 50px;
        overflow: scroll;
    }

    .site-footer-mobile {
        display: none;
    }

    @media (max-width: 768px) {
        .site-footer-mobile {
            display: block;
            background: #000;
            color: white;
            text-align: center;
            padding: 20px;

        }

        .site-footer {
            display: none;
        }

        

        .footer-logo-mobile img {
            width: 150px;
            margin-bottom: 20px;
        }

        .footer-cert-social-mobile {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            gap: 40px;
            flex-wrap: wrap;
            margin-bottom: 20px;
        }

        .footer-cert-mobile,
        .footer-social-mobile {
            text-align: center;
        }

        .footer-cert-mobile img {
            width: 150px;
        }

        .footer-social-mobile h4,
        .footer-cert-mobile h4 {
            margin-bottom: 10px;
            font-size: 16px;
            font-weight: 500;
        }

        .footer-icons-mobile a img {
            width: 70px;
            margin: -10px;
        }

        .footer-support-mobile button {
            background: #8000d9;
            color: white;
            border: none;
            padding: 12px 30px;
            border-radius: 30px;
            font-size: 20px;
            font-weight: 400;
            margin-bottom: 20px;
            cursor: pointer;
            width: 300px;
        }

        .footer-support-mobile button span {
            /* color: #ffed4f;
            font-weight: 300; */
        }

        .footer-bottom-mobile {
            font-size: 12px;
            color: #ccc;
            margin-top: 10px;
        }

        .footer-bottom-mobile span {
            color: white;
            font-weight: 300;
        }
    }

     @media (min-width: 300px) and (max-width: 490px) {
        .popup-card {
            width: 100% !important;
            margin-left: 14px !important;
        }

        .popup-message {
            margin-top: 110px !important;
            font-size: 16px !important;
            padding-bottom: 90px;
            height: 100px;
        }

        .popup-button {
            margin-top: 5px !important;
        }
    }

    /* New popup */
    :root {
        --purple-700: #6A1AB6;
        --purple-600: #7B2CD6;
        --purple-500: #8D3FF1;
        --text: #2A2A2A;
        --radius-xl: 24px;
    }

    * {
        box-sizing: border-box
    }

    .demo-open {
        padding: 10px 16px;
        border-radius: 12px;
        border: 0;
        background: linear-gradient(180deg, var(--purple-600), var(--purple-700));
        color: #fff;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 8px 24px rgba(108, 32, 182, .35);
    }

    /* Overlay */
    .popup-overlay {
        position: fixed;
        inset: 0;
        background: rgba(9, 10, 20, .45);
        backdrop-filter: blur(4px);
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease;
        z-index: 999;
    }

    /* Root */
    .popup {
        position: fixed;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 24px;
        opacity: 0;
        transform: translateY(10px) scale(.98);
        pointer-events: none;
        transition: opacity .25s ease, transform .25s ease;
        z-index: 1000;
    }

    /* Active state (JS sẽ thêm .is-open) */
    .popup.is-open {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .popup-overlay.is-open {
        opacity: .5;
        pointer-events: auto;
        background-color: #000
    }

    /* Nền trang trí (ppup_bg.png) */
    .popup-bg {
        position: absolute;
        inset: 0;

        filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .15));
        z-index: -1;
        /* dưới card */
    }

    /* Card */
    .popup-card {
        position: relative;
        width: 450px;
        height: auto;
        border-radius: var(--radius-xl);

        background-size: 100% 100%;
        /* luôn căng vừa khích form */
        box-shadow:
            0 30px 80px rgba(87, 32, 168, .20),
            0 10px 24px rgba(87, 32, 168, .12);
        padding: 28px 24px 24px;
        overflow: hidden;
        margin-left: 20px;
        margin-top: -110px;
    }


    /* Art góc phải (poup_form.png) */
    .popup-art {
        position: absolute;
        right: 12px;
        top: 6px;
        width: 120px;
        height: auto;
        pointer-events: none;
        user-select: none;
    }

    /* Close */
    .popup-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 0;
        cursor: pointer;
        line-height: 0;
        font-size: 26px;
        color: #6e6e6e;
        background: #fff;
        box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
    }

    .popup-close:hover {
        background: #f3f3f5
    }

    /* Title */
    .popup-title {
        margin: 8px 0 14px;
        font-weight: 800;
        font-size: 28px;
        letter-spacing: .2px;
    }

    /* Message box */
    .popup-message {
        margin-top: 160px;
        width: 100%;
        padding-left: 50px;
        padding-right: 70px;
        text-align: center;
        font-size: 20px;
        padding-bottom: 10px;

        display: flex;
        /* bật flex */
        align-items: center;
        /* canh giữa theo chiều dọc */
        justify-content: center;
        /* canh giữa theo chiều ngang */
        text-align: center;
        /* canh giữa nhiều dòng */
        color: #000;
    }

    /* Button dùng ảnh (popup_button.png) */
    .popup-button {
        margin-top: 40px;
        /* margin-bottom: 10px; */
        margin-left: 15px;
        width: 90%;
        height: 56px;
        border: 0;
        cursor: pointer;
        color: #fff;
        font-weight: 800;
        font-size: 18px;
        text-shadow: 0 1px 0 rgba(0, 0, 0, .15);
        border-radius: 999px;
    }

    /* Fallback nếu ảnh nút chưa load: dùng gradient gần giống */
    .popup-button:not([style*="background"]) {
        background: linear-gradient(180deg, #7B2CD6 0%, #5F0993 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 24px rgba(108, 32, 182, .35);
    }

    /* Responsive nhỏ hơn 380px */
    @media (max-width: 380px) {
        .popup-title {
            font-size: 24px
        }

        .popup-art {
            width: 96px
        }

        .popup-card {
            padding: 24px 16px 18px
        }
    }

    /* Liên kết cột phải */
        .ft-links {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 14px;
            padding-left: 25px;
            font-size: 14px;
        }

        .ft-links a {
            color: #fff;
            text-decoration: none;
            font-weight: 300;
            letter-spacing: .3px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .ft-links a:hover {
            color: #ffd84d
        }

        /* Icon nhỏ */
        .ico {
            width: 18px;
            height: 18px;
            display: inline-block;
            flex: 0 0 18px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .08));
        }

        .ico-news {
            background-image: url('../index_files/f_news_icon.svg');
        }

        .ico-event {
            background-image: url('../index_files/f_event_icon.svg');
        }

        .ico-guide {
            background-image: url('../index_files/f_guide_icon.svg');
        }

        .info-more {
  background:#000; padding:0 12px 24px; color:#fff;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

/* Title */
.info-title {
  text-align: center;
    font-size: 14px;
    letter-spacing: .5px;
    font-weight: 300;
    margin: 6px 0 12px;
}

/* Grid of items */
.info-grid {
  display:flex; flex-wrap:wrap; gap:4px; justify-content:center;
}

/* Card button */
.info-item {
  flex: 1 1 calc(33.333% - 10px);
    min-width: 102px;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 5px;
    background:rgb(30, 23, 23);
    border-radius: 3px;
    text-decoration: none;
    color: #fff;
    border: 1px solid #2f2f2f;
    transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

/* Icon */
.info-ico { width:22px; height:22px; display:inline-flex; }
.info-ico svg { width:100%; height:100%; fill:#fff; opacity:.9; }

/* Label */
.info-text { font-weight:300; font-size:10px; letter-spacing:.4px; }

/* States */
.info-item:active { transform:scale(.98); }
.info-item:hover { background:#2b2b2b; border-color:#3a3a3a; }

/* Small phones: 2 ô / hàng */
@media (max-width: 380px) {
  .info-item { flex:1 1 calc(50% - 10px); }
}

/* Very narrow: 1 ô / hàng */
@media (max-width: 300px) {
  .info-item { flex:1 1 100%; }
}
