/* CSS Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}
/* XÓA 2 BLOCK BODY CŨ VÀ THAY BẰNG BLOCK NÀY */
body {
    background-color: #f0f0f0; /* Màu nền xám nhạt cho phần thừa trên PC */
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center; /* Căn giữa app theo chiều ngang */
}

/* Khung app: Tràn viền trên điện thoại, khóa kích thước trên PC */
.app-container {
    width: 100%; 
    max-width: 500px; 
    background-color: #fff;
    min-height: 100vh;
    position: relative;
    
    /* THÊM/SỬA 2 DÒNG NÀY ĐỂ TRÁNH BỊ ĐÈ NỘI DUNG */
    padding-top: 60px; /* Đẩy nội dung xuống bằng đúng chiều cao của Header */
    padding-bottom: 80px; /* Đẩy nội dung lên bằng đúng chiều cao của Bottom Nav */
    
    overflow-x: hidden;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); 
}

/* Container của Header */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    background-color: #fff;
    height: 60px;
    
    /* CÁC LỆNH GHIM CỐ ĐỊNH TRÊN CÙNG */
    position: fixed; 
    top: 0;
    
    /* Đảm bảo chiều rộng khớp với khung app và được căn giữa */
    width: 100%;
    max-width: 500px; /* Thay số này cho khớp với max-width của .app-container nếu bạn đã đổi */
    left: 50%;
    transform: translateX(-50%);
    
    z-index: 999;
}
/* Định dạng cho biểu tượng 3 gạch bên trái */
.menu-icon i {
    font-size: 24px; /* Tăng giảm số này để đổi kích thước icon */
    color: #1abc9c; /* Màu xanh ngọc đồng bộ với giao diện gốc, hoặc thay bằng #333 nếu muốn màu xám đen */
    cursor: pointer;
    margin-left: 20px;
}
/* Căn chỉnh kích thước và vị trí Logo chính */
.logo-img {
    width: 200px; /* Tăng giảm con số này để đổi kích thước logo */
    height: auto; /* Giữ nguyên tỷ lệ khung hình gốc */
    margin-left: 50px;
    /* Dùng margin nếu bạn muốn nhích vị trí thủ công */
    /* margin-top: 5px; */
    /* margin-left: 10px; */
}

/* Căn chỉnh kích thước và vị trí Logo/Icon VIP */
.vip-img {
    width: 55px; /* Kích thước icon thường nhỏ hơn logo */
    height: auto;
    
    /* Dùng margin để nhích vị trí nếu cần */
    /* margin-right: 5px; */
}
.logo { font-weight: bold; color: #00bfa5; font-size: 24px; }
.logo span { color: #f57c00; }

/* BANNER */
.banner {
    background: linear-gradient(to bottom, #fff, #c8e6c9);
    padding: 10px;
    text-align: center;
    border-top: 2px solid #00bfa5;
    border-bottom: 2px solid #00bfa5;
}
.banner-title { color: #d32f2f; font-weight: bold; font-size: 14px; margin-bottom: 5px; }
.banner-text { font-size: 10px; color: #333; text-align: left;}

/* CONTAINER MENU ĐĂNG NHẬP & ICON */
.top-menu {
    display: flex;
    padding: 15px 10px 20px 10px;
    background-color: #fbfbfb; /* Màu nền sáng nhẹ */
    border-bottom-left-radius: 20px; /* Bo tròn góc dưới giống bản gốc */
    border-bottom-right-radius: 20px;
    box-shadow: 0 4px 10px rgba(46, 196, 172, 0.1); /* Đổ bóng mờ màu xanh ngọc xuống dưới */
    align-items: center;
    gap: 15px; /* Khoảng cách giữa cột nút bấm và cột icon */
}

/* NHÓM NÚT BẤM (Bên trái) */
.auth-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px; /* Khoảng cách giữa 2 nút */
    min-width: 110px; /* Đảm bảo nút không bị bóp méo */
}

.btn {
    padding: 8px 10px;
    border: none;
    border-radius: 25px; /* Bo tròn hoàn toàn 2 đầu */
    color: white;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2); /* Đổ bóng nhẹ cho chữ */
}

/* Hiệu ứng Gradient và 3D cho nút Đăng Nhập */
.btn-login { 
    background: linear-gradient(180deg, #4edbb0, #25b999);
    /* Tạo hiệu ứng nổi khối 3D với viền dưới đậm hơn */
    box-shadow: 0 3px 0 #1a967b, 0 4px 4px rgba(0,0,0,0.2); 
}

/* Hiệu ứng Gradient và 3D cho nút Đăng Ký */
.btn-register { 
    background: linear-gradient(180deg, #ffd370, #f39b36);
    box-shadow: 0 3px 0 #cf7d22, 0 4px 4px rgba(0,0,0,0.2);
}

/* NHÓM 4 ICON (Bên phải) */
.icon-menu {
    display: flex;
    flex: 1; /* Chiếm toàn bộ khoảng trống còn lại */
    justify-content: space-around; /* Dàn đều 4 icon */
}

.icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px; /* Khoảng cách giữa hình ảnh và chữ */
    cursor: pointer;
}

/* Kích thước ảnh Icon tải lên */
.icon-item img {
    width: 48px; /* Tùy chỉnh con số này nếu icon của bạn bị to/nhỏ */
    height: 48px;
    object-fit: contain; /* Giúp ảnh không bị méo tỷ lệ */
}

/* Chữ dưới Icon */
.icon-item span {
    font-size: 12px;
    color: #666;
    font-weight: bold;
}
/* MAIN CONTENT AREA */
.main-content {
    display: flex;
    background: #fff;
}

/* SIDEBAR (Trái) */
.sidebar {
    width: 85px; /* Chiều rộng thanh bên trái */
    background: #f0f4f7; /* Màu nền xám/xanh nhạt giống ảnh gốc */
    display: flex;
    flex-direction: column;
    gap: 10px; /* Khoảng cách giữa các ô */
    padding: 10px; /* Khoảng cách từ viền vào trong */
    
    /* Thiết lập cho phép cuộn dọc */
    overflow-y: auto; 
    
    /* Đặt chiều cao cố định để nội dung bên trong có thể cuộn (bạn có thể tinh chỉnh con số này) */
    height: calc(100vh - 250px); 
}

/* Ẩn thanh cuộn (scrollbar) để giao diện app trông mượt hơn */
.sidebar::-webkit-scrollbar {
    display: none; /* Dành cho Chrome, Safari, Opera */
}
.sidebar {
    -ms-overflow-style: none;  /* Dành cho IE và Edge */
    scrollbar-width: none;  /* Dành cho Firefox */
}

/* Các ô chức năng trong Sidebar */
.sidebar-item {
    background: #fff;
    border-radius: 15px; /* Bo tròn góc */
    padding: 12px 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); /* Đổ bóng nhẹ */
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Icon lúc bình thường (chưa click) */
.sidebar-item i {
    font-size: 24px;
    color: #1abc9c; /* Màu xanh ngọc */
    margin-bottom: 8px;
}

/* Chữ lúc bình thường */
.sidebar-item span {
    font-size: 9px;
    font-weight: bold;
    color: #555;
    text-align: center;
}

/* Hiệu ứng cho ô đang được chọn (ACTIVE) */
.sidebar-item.active {
    background: linear-gradient(180deg, #4edbb0, #25b999);
    box-shadow: 0 4px 8px rgba(37, 185, 153, 0.4); /* Bóng đổ màu xanh */
}

.sidebar-item.active i,
.sidebar-item.active span {
    color: #fff; /* Đổi màu chữ và icon sang trắng */
}
/* CONTENT AREA (Vùng hiển thị chính bên phải) */
.content-area {
    flex: 1;
    padding: 10px;
    background: #eaf8f5; /* Nền xanh nhạt đồng bộ bản gốc */
    
    /* Thiết lập thanh cuộn dọc cho vùng game nếu danh sách quá dài */
    overflow-y: auto;
    height: calc(100vh - 250px);
}

/* Ẩn thanh cuộn của content-area */
.content-area::-webkit-scrollbar { display: none; }
.content-area { -ms-overflow-style: none; scrollbar-width: none; }

/* TABS CONTAINER */
.tabs-container {
    display: flex;
    justify-content: space-between;
    
    /* Đổi từ center thành flex-start để các nút bám sát mép trên của ảnh nền */
    align-items: flex-start; 
    margin-bottom: 15px;
    background-image: url('images/thanh tabs phải.avif'); 
    background-size: 100% 100%;
    background-repeat: no-repeat;
    
    /* Chỉnh lại padding: Ít ở trên (8px) để nút không bị đẩy xuống phần trắng, 
       chừa nhiều ở dưới (15px) vì ảnh nền có độ cong và bóng đổ */
    padding: 8px 10px 15px 10px; 
    min-height: 50px; 
}

.tabs {
    display: flex;
    gap: 8px;
}

/* Các thẻ Tab */
.tab {
    position: relative; 
    padding: 6px 14px;
    background: #ffffff;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800; /* In đậm chữ hơn một chút cho giống gốc */
    color: #999;
    border: 1.5px solid transparent; /* Đặt sẵn viền để không bị giật khung khi active */
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); 
}

/* Tab đang chọn */
.tab.active {
    color: #1abc9c; 
    border: 1.5px solid #1abc9c; /* Viền xanh ngọc */
}

/* Icon ngọn lửa */
.tab.active i {
    position: absolute;
    top: 4px; /* Hạ xuống một chút để nằm gọn bên trong khung viền */
    right: 4px; /* Kéo hẳn vào trong viền */
    font-size: 10px;
    color: #1abc9c;
}

.tab:not(.active) i {
    display: none; 
}

/* NÚT TẤT CẢ */
.search-all {
    background: transparent; 
    color: white; 
    padding: 0 15px 0 0; /* Chỉ đẩy margin bên phải */
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px; /* Đẩy nhẹ nút này xuống để cân bằng với các tab bên trái */
}

/* Vòng tròn trắng bọc ngoài icon kính lúp */
.search-icon {
    background-color: white;
    color: #1abc9c;
    width: 20px;
    height: 20px;
    border-radius: 50%; /* Bo tròn tuyệt đối */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1); /* Đổ bóng nhẹ cho vòng tròn */
}
/* GAME GRID (Lưới 3 cột) */
.game-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

/* GAME CARD */
.game-card {
    background: white;
    border-radius: 8px;
    border: 1px solid #bce8dd;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Vùng chứa ảnh game */
.card-image-container {
    width: 100%;
    aspect-ratio: 1; /* Giữ khung vuông */
    overflow: hidden;
    background: #fff;
}

.main-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Phủ kín khung hình vuông mà không bị méo ảnh */
    display: block;
}

/* Tiêu đề game bên dưới */
.game-title {
    font-size: 10px;
    font-weight: bold;
    color: #333;
    text-align: center;
    padding: 6px 4px;
    background: #fff;
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

/* BOTTOM NAV (Ghim cố định dưới màn hình) */
.bottom-nav {
    /* Đổi từ absolute sang fixed */
    position: fixed; 
    bottom: 0;
    
    /* Đảm bảo chiều rộng khớp với khung app và được căn giữa */
    width: 100%;
    max-width: 500px; /* Thay số này cho khớp với max-width của .app-container */
    left: 50%;
    transform: translateX(-50%);
    
    height: 80px;
    background: #ffffff;
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-top: 1px solid #eeeeee;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    z-index: 999;
}

/* Các nút bấm */
.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    color: #999999; /* Chữ màu xám khi chưa chọn */
    width: 20%; /* Chia đều 5 ô, mỗi ô chiếm 20% */
    transition: all 0.3s ease;
}

/* Kích thước của ảnh icon */
.nav-item img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    transition: all 0.3s ease;
    
    /* Mặc định biến mọi ảnh icon màu thành màu xám nhạt để đồng bộ */
    filter: grayscale(100%) opacity(0.6); 
}

.nav-item span {
    font-size: 10px;
    font-weight: bold;
}

/* ---------------------------------------------------
   HIỆU ỨNG KHI ĐƯỢC BẤM VÀO (TRẠNG THÁI ACTIVE) 
--------------------------------------------------- */

/* Đổi màu chữ sang xanh ngọc */
.nav-item.active {
    color: #1abc9c; 
}

/* Đổi màu hình ảnh sang xanh ngọc */
.nav-item.active img {
    /* Bộ lọc này sẽ nhuộm ảnh icon trong suốt màu đen/xám thành đúng mã màu xanh ngọc #1abc9c */
    filter: invert(58%) sepia(54%) saturate(460%) hue-rotate(119deg) brightness(94%) contrast(90%);
}
.nav-item.active { color: #00bfa5; }
.nav-item i { font-size: 20px; margin-bottom: 4px; }
/* SLIDER BANNER */
.slider-container {
    width: 100%;
    position: relative;
    overflow: hidden; /* Giấu các ảnh bị tràn ra ngoài khung */
    background-color: #f5f5f5;
}

.slider-wrapper {
    display: flex;
    width: 100%;
    transition: transform 0.5s ease-in-out; /* Hiệu ứng lướt ngang 0.5s */
}

.slide {
    width: 100%;
    flex-shrink: 0; /* Ngăn ảnh bị bóp méo khi đưa vào flexbox */
    object-fit: cover;
    display: block;
}

/* Dấu chấm điều hướng */
.slider-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.dot {
    width: 8px;
    height: 8px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
    border: 1px solid #ccc;
}

.dot.active {
    background-color: #fff;
    transform: scale(1.2); /* Dấu chấm đang chọn sẽ to hơn một chút */
    border: none;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
/* PHẦN BANNER TIN TỨC - NẰM RIÊNG BIỆT BÊN DƯỚI */
.news-section {
    width: 100%;
    padding: 10px 15px 20px 15px; /* Căn lề trái phải 15px, dưới 20px để không dính vào menu đáy */
    background-color: #f0f4f7; /* Đồng bộ màu nền xám nhạt với sidebar */
    display: flex;
    justify-content: center;
}

.news-img {
    width: 100%;
    height: auto;
    border-radius: 12px; /* Bo góc ảnh giống thiết kế gốc */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Đổ bóng nhẹ tạo chiều sâu */
    display: block; 
}
/* =========================================
   GIAO DIỆN MODAL ĐĂNG NHẬP / ĐĂNG KÝ
========================================= */
.auth-modal {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 500px;
    height: 100vh;
    background-color: #ffffff;
    z-index: 10000; /* Luôn nằm trên cùng */
    display: none; /* Ẩn đi khi chưa bấm */
    overflow-y: auto;
}

/* Kích hoạt hiển thị */
.auth-modal.show { display: block; }

.auth-modal-content {
    padding: 20px 25px;
    padding-bottom: 50px;
}

/* Header Modal */
.auth-header {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 20px;
}
.back-btn {
    position: absolute;
    left: 0;
    width: 30px;
    height: 30px;
    background-color: #38d39f; /* Màu xanh ngọc */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.back-btn .icon-img { width: 14px; height: auto; }
.auth-logo { width: 100%; text-align: center; }
.auth-logo .logo-img { width: 140px; height: auto; }

/* Banner Juventus */
.auth-banner { 
    display: flex;
    align-items: center; /* Căn giữa chữ và ảnh theo chiều dọc */
    justify-content: space-between; /* Đẩy chữ sang trái, ảnh sang phải */
    margin-bottom: 35px; 
}

/* Định dạng cho khối chữ bên trái */
.banner-text {
    text-align: left;
    flex: 1; /* Cho phép khối chữ chiếm không gian còn lại */
}

.banner-text h3 {
    font-size: 25px;
    font-weight: 750; /* In đậm nét chữ */
    color: #000;
    margin-bottom: 3px;
}

.banner-text p {
    font-size: 18px;
    color: #000000;
    margin: 2px 0;
}

/* Định dạng kích thước cho logo bên phải */
.auth-banner .banner-img { 
    width: 45%; /* Giới hạn độ rộng của logo để nhường chỗ cho chữ */
    max-width: 350px; /* Tránh logo bị vỡ hoặc quá to trên màn hình lớn */
    height: auto; 
    object-fit: contain;
}
/* Tabs Đăng Nhập / Đăng Ký */
.auth-tabs {
    display: flex;
    background: #f4f6f9;
    border-radius: 30px;
    margin-bottom: 20px;
    padding: 4px;
}
.auth-tab {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    border-radius: 30px;
    font-weight: bold;
    font-size: 14px;
    color: #888;
    cursor: pointer;
    transition: 0.3s;
}
.auth-tab.active {
    background: linear-gradient(to right, #40e0b5, #1abc9c);
    color: #fff;
    box-shadow: 0 4px 10px rgba(26, 188, 156, 0.3);
}

/* Form (Ẩn hiện theo Tab) */
.auth-form { display: none; }
.auth-form.active { display: block; }

/* Các ô Input */
.input-group {
    display: flex;
    align-items: center;
    background: #f4f6f9;
    border-radius: 8px;
    padding: 12px 15px;
    margin-bottom: 15px;
}
.input-icon { width: 20px; height: 20px; object-fit: contain; margin-right: 8px;}
.input-icon-right { width: 20px; height: 20px; object-fit: contain; cursor: pointer; margin-left: auto;}
.required { color: red; margin-right: 8px; font-weight: bold; }
.phone-prefix { border-right: 1px solid #ccc; padding-right: 8px; margin-right: 8px; color: #555; font-weight: bold;}
.input-group input {
    border: none;
    background: transparent;
    outline: none;
    flex: 1;
    font-size: 13px;
    color: #333;
}

/* Các tùy chọn và Ghi nhớ */
.login-methods {
    display: flex;
    gap: 15px;
    margin-top: -5px;
    margin-bottom: 15px;
    font-size: 12px;
}
.method { display: flex; align-items: center; gap: 5px; color: #888; }
.method.active { color: #1abc9c; }
.method-icon { width: 14px; height: 14px; }

.checkbox-group {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #555;
    margin-bottom: 25px;
}
/* Nhuộm màu ô Checkbox */
.checkbox-group input[type="checkbox"] { accent-color: #1abc9c; width: 16px; height: 16px;}
.checkbox-group a { color: #1abc9c; text-decoration: none; }

/* Thông báo lỗi / Độ mạnh MK */
.password-strength { display: flex; align-items: center; gap: 5px; font-size: 11px; color: #888; margin-top: -10px; margin-bottom: 15px;}
.strength-bar { width: 25px; height: 4px; background: #ddd; border-radius: 2px; }
.warning-text { color: #f39c12; font-size: 11px; margin-top: -10px; margin-bottom: 15px; }

/* Nút Submit */
.btn-submit {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(to right, #40e0b5, #1abc9c);
    color: white;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(26, 188, 156, 0.3);
}
