/* =====================================================================
   KIẾM TÔNG - TRUNG TÂM TÀI KHOẢN  (giao diện kiếm hiệp trắng / đỏ thẫm)
   Thay thế toàn bộ khối <style> "galaxy neon" cũ của các trang.
   Bố cục: kt-topbar · kt-auth (đăng nhập/đăng ký/quên MK) · kt-hero + kt-tabs (sau đăng nhập) · kt-footer
   ===================================================================== */
/* Font nạp bằng <link> trong <head> các trang: Alegreya (tiêu đề), Charm (tên game), Lexend (chữ thường) */

:root {
    --red: #a50d24;
    --red-dark: #6e0816;
    --red-deep: #3f040c;
    --red-soft: #f9e9e6;
    --red-line: #e8c3bd;
    --gold: #d9a441;
    --gold-light: #f3d38a;
    --paper: #fbf8f3;
    --card: #ffffff;
    --line: #eadfd6;
    --ink: #2a1a16;
    --muted: #7a655d;
    --radius: 14px;

    /* biến cũ còn nằm trong style="" của HTML -> trỏ về bảng màu mới */
    --cyan-neon: var(--red);
    --cyan-glow: rgba(165, 13, 36, 0.18);
    --accent-blue: var(--red-dark);
    --text-main: var(--ink);
    --text-muted: var(--muted);
    --panel-bg: var(--card);
    --galaxy-bg: var(--paper);
    --green: var(--red);

    /* ---- hoa văn SVG ---- */
    /* mây cát tường (tile) */
    --orn-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='96' viewBox='0 0 180 96'%3E%3Cg fill='none' stroke='%23d9a441' stroke-opacity='.22' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M14 62c0-9 7-15 15-13 2-10 14-14 22-7 7-8 21-5 22 6 10-1 15 10 9 16H14z'/%3E%3Cpath d='M42 49a6 6 0 1 1 7 6M63 47a5 5 0 1 0-5 5'/%3E%3Cpath d='M104 30c0-7 6-12 12-10 2-8 11-11 17-5 6-6 16-4 17 5 8-1 12 8 7 12h-53z'/%3E%3Cpath d='M126 21a5 5 0 1 1 5 5'/%3E%3C/g%3E%3C/svg%3E");
    /* hồi văn (strip cao 12) */
    --orn-meander: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 10.5H24M20 10.5V1.5H8V7.5H14V4.5' fill='none' stroke='%23d9a441' stroke-width='1.5'/%3E%3C/svg%3E");
    /* góc chạm (trên-trái) */
    --orn-c-tl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46'%3E%3Cg transform='rotate(0 23 23)'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M3 43V12Q3 3 12 3H43' stroke='%23d9a441' stroke-width='2'/%3E%3Cpath d='M9 43V17Q9 9 17 9H43' stroke='%23a50d24' stroke-width='1.2'/%3E%3Cpath d='M15 21a5 5 0 1 1 5 5' stroke='%23d9a441' stroke-width='1.4'/%3E%3C/g%3E%3Cpath d='M3 3l4 0 0 4-4 0z' fill='%23a50d24' transform='rotate(45 5 5)'/%3E%3C/g%3E%3C/svg%3E");
    --orn-c-tr: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46'%3E%3Cg transform='rotate(90 23 23)'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M3 43V12Q3 3 12 3H43' stroke='%23d9a441' stroke-width='2'/%3E%3Cpath d='M9 43V17Q9 9 17 9H43' stroke='%23a50d24' stroke-width='1.2'/%3E%3Cpath d='M15 21a5 5 0 1 1 5 5' stroke='%23d9a441' stroke-width='1.4'/%3E%3C/g%3E%3Cpath d='M3 3l4 0 0 4-4 0z' fill='%23a50d24' transform='rotate(45 5 5)'/%3E%3C/g%3E%3C/svg%3E");
    --orn-c-br: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46'%3E%3Cg transform='rotate(180 23 23)'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M3 43V12Q3 3 12 3H43' stroke='%23d9a441' stroke-width='2'/%3E%3Cpath d='M9 43V17Q9 9 17 9H43' stroke='%23a50d24' stroke-width='1.2'/%3E%3Cpath d='M15 21a5 5 0 1 1 5 5' stroke='%23d9a441' stroke-width='1.4'/%3E%3C/g%3E%3Cpath d='M3 3l4 0 0 4-4 0z' fill='%23a50d24' transform='rotate(45 5 5)'/%3E%3C/g%3E%3C/svg%3E");
    --orn-c-bl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46'%3E%3Cg transform='rotate(270 23 23)'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M3 43V12Q3 3 12 3H43' stroke='%23d9a441' stroke-width='2'/%3E%3Cpath d='M9 43V17Q9 9 17 9H43' stroke='%23a50d24' stroke-width='1.2'/%3E%3Cpath d='M15 21a5 5 0 1 1 5 5' stroke='%23d9a441' stroke-width='1.4'/%3E%3C/g%3E%3Cpath d='M3 3l4 0 0 4-4 0z' fill='%23a50d24' transform='rotate(45 5 5)'/%3E%3C/g%3E%3C/svg%3E");
    /* gạch chân tiêu đề */
    --orn-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='16' viewBox='0 0 240 16'%3E%3Cg fill='none' stroke='%23d9a441' stroke-width='1.4'%3E%3Cpath d='M4 8H96M144 8H236'/%3E%3Cpath d='M100 8a5 5 0 1 0 5-5M140 8a5 5 0 1 1-5-5'/%3E%3C/g%3E%3Cpath d='M120 1l7 7-7 7-7-7z' fill='%23a50d24'/%3E%3Cpath d='M120 4.5l3.5 3.5-3.5 3.5-3.5-3.5z' fill='%23f3d38a'/%3E%3Ccircle cx='4' cy='8' r='2' fill='%23d9a441'/%3E%3Ccircle cx='236' cy='8' r='2' fill='%23d9a441'/%3E%3C/svg%3E");
    /* núi thủy mặc (đáy trang) */
    --orn-mountain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='260' viewBox='0 0 1600 260' preserveAspectRatio='none'%3E%3Cpath d='M0 260V170l90-60 70 40 110-100 90 80 80-50 120 110 90-70 110 60 100-90 130 100 90-40 120 70 110-80 100 60 90-30V260z' fill='%236e0816' opacity='.05'/%3E%3Cpath d='M0 260V210l120-50 90 30 140-70 120 80 110-40 150 60 120-50 160 70 130-60 150 50 110-30V260z' fill='%236e0816' opacity='.07'/%3E%3C/svg%3E");
}

/* ======================= NỀN CHUNG ======================= */
html, body {
    font-family: 'Lexend', 'Segoe UI', sans-serif !important;
    color: var(--ink) !important;
    background-color: var(--paper) !important;
    background-image: var(--orn-mountain), linear-gradient(rgba(251, 248, 243, .7), rgba(251, 248, 243, .7)), var(--orn-cloud) !important;
    background-repeat: no-repeat, no-repeat, repeat !important;
    background-position: bottom center, 0 0, 0 0 !important;
    background-size: 100% 260px, 100% 100%, 180px 96px !important;
    background-attachment: fixed, fixed, fixed !important;
    overflow-x: hidden !important;
}
a { color: var(--red); }
a:hover, a:focus { color: var(--red-dark); text-decoration: none; }
h1, h2, h3, h4, h5, h6, label, .btn, button { font-family: 'Lexend', 'Segoe UI', sans-serif !important; text-shadow: none !important; }
#loader-wrapper { background: var(--paper) !important; }
#loader { border-top-color: var(--red) !important; }
.c-wrapper, .t-wrapper-top, .t-wrapper-bottom { background: transparent !important; }
.text-white { color: var(--ink) !important; }
.hide-mobile { }
@media (max-width: 768px) { .hide-mobile { display: none !important; } }

/* ======================= TOPBAR ======================= */
.kt-topbar {
    position: sticky; top: 0; z-index: 1000;
    background:
        var(--orn-cloud) 0 0 / 180px 96px repeat,
        linear-gradient(100deg, var(--red-deep) 0%, var(--red-dark) 45%, var(--red) 100%);
    box-shadow: 0 6px 20px rgba(63, 4, 12, 0.3);
}
.kt-topbar::after { /* dải hồi văn vàng */
    content: ''; display: block; height: 12px;
    background: var(--orn-meander) repeat-x center / 24px 12px, var(--red-deep);
    border-top: 1px solid var(--gold);
}
.kt-topbar__inner {
    max-width: 1180px; margin: 0 auto; padding: 10px 18px;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.kt-brand { display: flex; align-items: center; gap: 12px; color: #fff !important; }
.kt-brand img {
    width: 52px; height: 52px; border-radius: 12px;
    border: 2px solid var(--gold); box-shadow: 0 0 0 3px rgba(217, 164, 65, 0.25);
}
.kt-brand__text b {
    display: block; font-family: 'Charm', cursive; font-weight: 700; font-size: 26px; letter-spacing: .5px;
    color: var(--gold-light); line-height: 1.25; margin-bottom: 4px;
}
.kt-brand__text small { display: block; color: rgba(255, 255, 255, 0.75); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.kt-topbar__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

.kt-btn, .kt-chip {
    display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px;
    border-radius: 999px; font-weight: 700; font-size: 14px; white-space: nowrap; transition: .2s;
}
.kt-btn--gold {
    background: linear-gradient(180deg, #f6dc9a, var(--gold) 60%, #b8812a) !important;
    color: var(--red-deep) !important; border: 1px solid #fff2cc;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.kt-btn--gold:hover { filter: brightness(1.07); transform: translateY(-1px); color: var(--red-deep) !important; }
.kt-btn--ghost { color: #fff !important; border: 1px solid rgba(243, 211, 138, 0.6); background: rgba(255, 255, 255, 0.06); }
.kt-btn--ghost:hover { background: rgba(255, 255, 255, 0.16); color: var(--gold-light) !important; }
.kt-chip { color: var(--gold-light) !important; background: rgba(0, 0, 0, 0.22); border: 1px dashed rgba(243, 211, 138, 0.6); }
.kt-chip:hover { background: rgba(0, 0, 0, 0.35); color: #fff !important; }

/* ======================= TRANG ĐĂNG NHẬP / ĐĂNG KÝ / QUÊN MK ======================= */
.kt-auth { padding: 42px 16px 60px; }
.kt-auth__card {
    max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr;
    background: var(--card); border-radius: 20px; overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 30px 60px rgba(63, 4, 12, 0.16), 0 4px 10px rgba(0, 0, 0, 0.05);
}
.kt-auth__art {
    position: relative; min-height: 560px; color: #fff;
    background:
        linear-gradient(180deg, rgba(63, 4, 12, 0.15) 0%, rgba(63, 4, 12, 0.55) 55%, rgba(40, 2, 8, 0.95) 100%),
        url('../images/kt/auth-art.jpg') center top / cover no-repeat;
}
.kt-auth__art::before { /* khung viền vàng trong tranh */
    content: ''; position: absolute; inset: 14px; border: 1px solid rgba(243, 211, 138, 0.55); border-radius: 12px; pointer-events: none;
}
.kt-auth__art-inner { position: absolute; left: 0; right: 0; bottom: 0; padding: 34px 38px 40px; }
.kt-auth__art h2 {
    margin: 0 0 4px; font-family: 'Charm', cursive !important; font-weight: 700; font-size: 56px; letter-spacing: 0; line-height: 1.1;
    color: var(--gold-light); text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6) !important;
}
.kt-slogan { margin: 0 0 18px; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.kt-perks { list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid rgba(243, 211, 138, 0.35); }
.kt-perks li { display: flex; gap: 10px; align-items: center; margin: 8px 0; font-size: 14px; color: rgba(255, 255, 255, 0.92); }
.kt-perks i { color: var(--gold-light); width: 18px; text-align: center; }

.kt-auth__form { position: relative; padding: 46px 44px; display: flex; align-items: center; }
.kt-auth__form > * { width: 100%; }
/* 4 góc chạm hoa văn */
.kt-auth__form, .kt-panel {
    background-image: var(--orn-c-tl), var(--orn-c-tr), var(--orn-c-bl), var(--orn-c-br);
    background-repeat: no-repeat;
    background-size: 46px 46px;
}
.kt-auth__form { background-position: top 12px left 12px, top 12px right 12px, bottom 12px left 12px, bottom 12px right 12px; }
/* lật góc bằng các bản xoay: dùng 4 lớp phụ */
.kt-auth__form::before, .kt-auth__form::after { content: none; }

/* reset khung form cũ */
.boxdangnhap, .boxdangky {
    background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
    backdrop-filter: none !important; width: 100% !important; max-width: none !important; color: var(--ink) !important;
}
.title_form {
    margin: 0 0 6px !important; text-align: center; color: var(--red) !important;
    font-family: 'Alegreya', serif !important; font-weight: 800 !important; font-size: 36px !important;
    letter-spacing: 1px !important; text-transform: none !important;
    padding-bottom: 22px; background: var(--orn-divider) center bottom / 240px 16px no-repeat;
}
.boxdangnhap > p, .boxdangnhap form > p, .boxdangky .subtitle, .boxdangnhap .text-left {
    text-align: center !important; color: var(--muted) !important; font-size: 14px; margin: 12px 0 24px !important;
}

/* ô nhập */
.form-group { position: relative; margin-bottom: 16px !important; }
.form-group label { display: none !important; }
.form-control {
    height: 50px !important; background: #fff !important; color: var(--ink) !important;
    border: 1px solid #e2d3c9 !important; border-radius: 12px !important;
    padding: 10px 16px 10px 46px !important; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    font-size: 15px !important;
}
.form-control:focus { border-color: var(--red) !important; box-shadow: 0 0 0 4px rgba(165, 13, 36, 0.10) !important; outline: none; }
.form-control::placeholder { color: #ab9a92 !important; }
.form-group::before, .captcha-group .input-wrapper::before {
    font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 17px; top: 50%;
    transform: translateY(-50%); color: var(--red) !important; text-shadow: none !important; z-index: 2; font-size: 15px;
}
.input-wrapper { position: relative; }
.input-wrapper .fa-icon { position: absolute; left: 17px; top: 50%; transform: translateY(-50%); color: var(--red) !important; z-index: 2; }
.boxdangky .form-group::before { content: none !important; }
/* icon theo loại ô nhập */
.form-group:has(input[name="username"])::before { content: "\f007"; }
.form-group:has(input[name="password"])::before { content: "\f023"; }
.form-group:has(input[name="email"])::before { content: "\f0e0"; }
.form-group:has(input[name="tel"])::before { content: "\f095"; }
.captcha-group::before { content: none !important; }
.captcha-group .input-wrapper::before { content: "\f084"; }
.captcha-group { display: flex !important; gap: 10px; align-items: center; }

#captchaImg, #imageCaptcha {
    height: 50px !important; border-radius: 12px !important; border: 1px dashed var(--red) !important; cursor: pointer;
}
.boxdangky small { color: var(--muted) !important; }

/* nút chính */
.btn, .btn.bt-dangnhap, .btn.btn-dangky, .btn.bt-click, .btn-danger, .btn-primary, .btn-info, .payment-btn, .swal2-confirm {
    position: relative;
    background: linear-gradient(180deg, #c2182f 0%, var(--red) 50%, var(--red-dark) 100%) !important;
    color: #fff !important; border: 1px solid var(--red-deep) !important; border-radius: 12px !important;
    font-weight: 700 !important; letter-spacing: 1px !important; text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(243, 211, 138, 0.55), 0 8px 18px rgba(110, 8, 22, 0.28) !important;
    transition: .2s !important;
}
.btn.bt-dangnhap, .btn.btn-dangky, .btn.bt-click { width: 100%; height: 52px; font-size: 16px !important; margin-top: 8px; }
.btn:hover, .btn.bt-dangnhap:hover, .btn.btn-dangky:hover, .btn.bt-click:hover, .payment-btn:hover, .swal2-confirm:hover {
    filter: brightness(1.08); transform: translateY(-1px); color: #fff !important;
}
.btn-outline-info, .btn.btn-sm.btn-outline-info {
    background: #fff !important; color: var(--red) !important; border: 1px solid var(--red) !important;
    box-shadow: none !important; text-transform: none; letter-spacing: 0 !important; border-radius: 999px !important;
}
.btn-outline-info:hover { background: var(--red) !important; color: #fff !important; }

/* link dưới form */
.textlogin, .text-link-bottom {
    margin-top: 22px !important; padding-top: 16px !important; border-top: 1px dashed var(--line) !important;
    color: var(--muted) !important; text-align: center;
}
.textlogin p { color: var(--muted) !important; float: none !important; text-align: center !important; margin: 4px 0 !important; }
.textlogin a, .text-link-bottom a, .boxdangnhap .text-left a, .TextBlue { color: var(--red) !important; font-weight: 700; }

/* ======================= SAU ĐĂNG NHẬP ======================= */
.kt-hero {
    position: relative; height: 210px;
    background:
        linear-gradient(90deg, rgba(40, 2, 8, 0.92) 0%, rgba(63, 4, 12, 0.6) 45%, rgba(63, 4, 12, 0.1) 100%),
        url('../images/kt/hero.jpg') center / cover no-repeat;
}
.kt-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: var(--orn-meander) repeat-x center / 24px 12px; opacity: .9; }
.kt-hero__inner { max-width: 1180px; margin: 0 auto; height: 100%; padding: 0 18px; display: flex; align-items: center; }
.kt-profile { display: flex; align-items: center; gap: 18px; color: #fff; }
.kt-avatar {
    width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center;
    font-family: 'Alegreya', serif; font-weight: 900; font-size: 38px; color: var(--red-deep);
    background: radial-gradient(circle at 35% 30%, #fff3cf, var(--gold) 70%, #a8741f);
    border: 3px solid #fff2cc; box-shadow: 0 0 0 4px rgba(217, 164, 65, 0.35), 0 8px 20px rgba(0, 0, 0, 0.4);
}
.kt-profile__hello { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-light); }
.kt-profile__name { font-family: 'Alegreya', serif; font-weight: 900; font-size: 30px; line-height: 1.15; }
.kt-profile__meta { margin-top: 6px; display: flex; gap: 10px; flex-wrap: wrap; }
.kt-profile__meta span { background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(243, 211, 138, 0.5); border-radius: 999px; padding: 4px 12px; font-size: 13px; }
.kt-profile__meta i { color: var(--gold-light); margin-right: 4px; }

.kt-tabs { background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 6px 16px rgba(63, 4, 12, 0.06); }
.kt-tabs__inner { max-width: 1180px; margin: 0 auto; padding: 0 12px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.kt-tabs__inner::-webkit-scrollbar { display: none; }
.kt-tabs a {
    display: flex; align-items: center; gap: 8px; padding: 16px 18px; white-space: nowrap;
    color: var(--ink) !important; font-weight: 600; font-size: 15px; border-bottom: 3px solid transparent;
}
.kt-tabs a i { color: var(--red); }
.kt-tabs a:hover { color: var(--red) !important; background: var(--red-soft); }
.kt-tabs a.is-active { color: var(--red) !important; border-bottom-color: var(--red); background: linear-gradient(180deg, transparent, var(--red-soft)); }
.kt-tabs a.kt-tabs__logout { margin-left: auto; color: var(--muted) !important; }

/* bố cục nội dung: bỏ menu trái cũ, nội dung rộng toàn khung */
main { min-height: 0 !important; display: block !important; padding: 34px 0 60px !important; }
.kt-auth { padding-top: 42px !important; }
main .row > [class*="col-"]:has(> .nav-left) { display: none !important; }
main .row > .col-sm-8.col-md-8 { width: 100% !important; float: none !important; max-width: 1000px; margin: 0 auto; }
.nav-left, .navbar-default, .header, .mobile-only-menu { display: none !important; }

.kt-panel, .boxinfo {
    position: relative; background-color: var(--card) !important; color: var(--ink) !important;
    border: 1px solid var(--line) !important; border-radius: var(--radius) !important;
    box-shadow: 0 18px 40px rgba(63, 4, 12, 0.08) !important; padding: 34px 34px 28px !important; margin-top: 0 !important;
    backdrop-filter: none !important;
    background-image: var(--orn-c-tl), var(--orn-c-tr), var(--orn-c-bl), var(--orn-c-br) !important;
    background-repeat: no-repeat !important; background-size: 40px 40px !important;
    background-position: top 10px left 10px, top 10px right 10px, bottom 10px left 10px, bottom 10px right 10px !important;
}
h3.title, .boxinfo .title {
    background: var(--orn-divider) left bottom / 200px 14px no-repeat !important;
    border: 0 !important; color: var(--red) !important; padding: 0 0 20px !important; margin: 0 0 24px !important;
    font-family: 'Alegreya', serif !important; font-weight: 900 !important; font-size: 26px !important;
    text-transform: none !important; letter-spacing: .5px !important;
}
h3.title i { color: var(--gold); margin-right: 6px; }
.boxinfo .form-group.row { border-bottom: 1px dashed var(--line) !important; padding: 10px 0 12px; margin: 0 0 6px !important; }
.boxinfo .form-group::before { content: none !important; }
.boxinfo .control-label { color: var(--muted) !important; font-weight: 600 !important; display: block !important; }
.boxinfo .form-group label { display: block !important; }
.boxinfo .form-control { padding-left: 14px !important; height: 44px !important; }
.textbold, .info .textbold, .notbg.textbold { color: var(--red) !important; font-weight: 700; }
[id^="form-doi-"] { background: var(--red-soft) !important; border: 1px dashed var(--red-line) !important; border-radius: 12px !important; }
[id^="form-doi-"] p { color: var(--red-dark) !important; }
[id^="form-doi-"] .form-control { padding-left: 14px !important; margin-bottom: 8px; }

/* bảng */
.table { background: #fff !important; color: var(--ink) !important; border-radius: 12px; overflow: hidden; }
.table thead th { background: var(--red-dark) !important; color: #fff !important; border: 0 !important; font-weight: 700; }
.table tbody tr td, .table tbody tr th { border-color: var(--line) !important; color: var(--ink) !important; }
.table tbody tr:nth-child(even) { background: #fcf8f5 !important; }
.table tbody tr:hover { background: var(--red-soft) !important; }

.alert-info { background: var(--red-soft) !important; border: 1px solid var(--red-line) !important; color: var(--red-dark) !important; border-radius: 12px !important; }

/* ======================= FOOTER ======================= */
.footer, .kt-footer {
    position: relative; margin-top: 30px; color: rgba(255, 255, 255, 0.8) !important;
    background: var(--orn-cloud) 0 0 / 180px 96px repeat, linear-gradient(180deg, var(--red-dark), var(--red-deep)) !important;
    border: 0 !important; padding: 0 0 26px !important;
}
.footer::before { content: ''; display: block; height: 12px; background: var(--orn-meander) repeat-x center / 24px 12px, var(--red-deep); border-bottom: 1px solid var(--gold); margin-bottom: 24px; }
.kt-footer__inner { max-width: 1180px; margin: 0 auto; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.kt-footer__brand { display: flex; align-items: center; gap: 12px; }
.kt-footer__brand img { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--gold); }
.kt-footer__brand b { display: block; font-family: 'Charm', cursive; color: var(--gold-light); font-size: 22px; }
.kt-footer__brand small { color: rgba(255, 255, 255, 0.65); font-size: 12px; }
.kt-footer__links a { color: rgba(255, 255, 255, 0.85) !important; margin-left: 18px; font-size: 13px; }
.kt-footer__links a:hover { color: var(--gold-light) !important; }

/* ======================= NÚT HỖ TRỢ NỔI ======================= */
.support-btn-floating {
    position: fixed; right: 26px; bottom: 26px; width: 58px; height: 58px; border-radius: 50%; z-index: 9999;
    display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--red-deep) !important;
    background: radial-gradient(circle at 35% 30%, #fff3cf, var(--gold) 70%, #a8741f) !important;
    border: 2px solid #fff2cc; box-shadow: 0 8px 22px rgba(63, 4, 12, 0.35) !important; animation: kt-pulse 2.4s infinite !important;
}
.support-tooltip {
    position: fixed; right: 96px; bottom: 40px; z-index: 9998; pointer-events: none;
    background: #fff !important; color: var(--red) !important; border: 1px solid var(--gold) !important;
    border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: 13px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
.support-text-mobile { display: none; }
@keyframes kt-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }

/* ======================= POPUP SWEETALERT ======================= */
.swal2-popup { background: #fff !important; border: 1px solid var(--line) !important; border-top: 5px solid var(--red) !important; border-radius: 16px !important; color: var(--ink) !important; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25) !important; }
.swal2-title { color: var(--red) !important; font-family: 'Alegreya', serif !important; text-shadow: none !important; }
.swal2-html-container { color: var(--ink) !important; }
.swal2-html-container img { border: 2px solid var(--gold) !important; box-shadow: none !important; }
.swal2-icon.swal2-success { border-color: #15803d !important; }
.swal2-icon.swal2-success [class^=swal2-success-line] { background-color: #15803d !important; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(21, 128, 61, .3) !important; }
.swal2-icon.swal2-error { border-color: var(--red) !important; }
.swal2-icon.swal2-error [class^=swal2-x-mark-line] { background-color: var(--red) !important; }

/* ======================= MOBILE ======================= */
@media (max-width: 860px) {
    .kt-auth__card { grid-template-columns: 1fr; }
    .kt-auth__art { min-height: 230px; background-position: center 20%; }
    .kt-auth__art-inner { padding: 22px 24px; }
    .kt-auth__art h2 { font-size: 30px; }
    .kt-perks { display: none; }
    .kt-auth__form { padding: 34px 22px; }
}
@media (max-width: 600px) {
    .kt-brand img { width: 42px; height: 42px; }
    .kt-brand__text b { font-size: 18px; }
    .kt-brand__text small { display: none; }
    .kt-btn, .kt-chip { height: 36px; padding: 0 12px; font-size: 13px; }
    .kt-hero { height: 170px; }
    .kt-avatar { width: 64px; height: 64px; font-size: 28px; }
    .kt-profile__name { font-size: 22px; }
    .kt-panel, .boxinfo { padding: 26px 18px 20px !important; }
    .kt-footer__links a { margin: 0 14px 0 0; }
    .support-tooltip { display: none !important; }
    .support-btn-floating { width: 50px; height: 50px; font-size: 22px; right: 16px; bottom: 16px; }
}

/* ---- Nút "Đăng Ký Tài Khoản" nổi bật ở trang đăng nhập ---- */
.textlogin a.bt-dangky-noibat {
    position: relative; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 10px; padding: 12px 28px;
    border-radius: 999px; border: 1px solid var(--gold);
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    color: var(--red-deep) !important; font-weight: 800; font-size: 15px;
    letter-spacing: .5px; text-transform: uppercase; text-decoration: none !important;
    box-shadow: 0 0 0 0 rgba(217, 164, 65, .6), 0 4px 12px rgba(110, 8, 22, .18);
    animation: kt-dangky-pulse 1.8s ease-out infinite;
    transition: transform .15s ease;
}
.textlogin a.bt-dangky-noibat::after {
    content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent);
    transform: skewX(-20deg);
    animation: kt-dangky-shine 2.6s ease-in-out infinite;
}
.textlogin a.bt-dangky-noibat:hover { transform: translateY(-2px) scale(1.03); }
.textlogin a.bt-dangky-noibat i { animation: kt-dangky-bounce 1.8s ease-in-out infinite; }
@keyframes kt-dangky-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(217, 164, 65, .65), 0 4px 12px rgba(110, 8, 22, .18); }
    70%  { box-shadow: 0 0 0 14px rgba(217, 164, 65, 0), 0 4px 12px rgba(110, 8, 22, .18); }
    100% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0), 0 4px 12px rgba(110, 8, 22, .18); }
}
@keyframes kt-dangky-shine {
    0%, 55% { left: -60%; }
    100%    { left: 130%; }
}
@keyframes kt-dangky-bounce {
    0%, 60%, 100% { transform: translateY(0); }
    30%           { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
    .textlogin a.bt-dangky-noibat, .textlogin a.bt-dangky-noibat::after, .textlogin a.bt-dangky-noibat i { animation: none; }
}
