:root {
    --bg-color: #ffffff;
    --card-bg: #fdfdfd;
    --primary: #d80d8b;
    --accent-gold: #d4af37;
    --text-main: #222222;
    --text-sec: #666666;
    --danger: #ff4b4b;
    --success: #25D366; 
    --nav-height: 70px;
    --border-color: #eaeaea;
}

* { box-sizing: border-box; tap-highlight-color: transparent; }

body { background-color: var(--bg-color); color: var(--text-main); }
.hidden { display: none !important; }
.container { padding: 20px 20px 80px 20px; max-width: 500px; margin: 0 auto; }
.search-bar { background: #2c2c2c; border: 1px solid #333; color: white; padding: 12px 15px; border-radius: 10px; width: 100%; margin-bottom: 20px; font-size: 14px; }

.vip-card-digital { background: linear-gradient(135deg, #FFD700, #B8860B); border-radius: 20px; padding: 25px; height: 220px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 10px 30px rgba(255, 215, 0, 0.15); color: black; margin-bottom: 20px; }
.card-row { display: flex; justify-content: space-between; align-items: center; }
.card-label { font-size: 16px; font-weight: 800; opacity: 0.7; }
.card-value { font-size: 18px; font-weight: 900; text-transform: uppercase; }
.card-small { font-size: 16px; font-weight: 600; }
.counter-box { text-align: right; }
.counter-days { font-size: 36px; font-weight: 900; line-height: 1; }
.counter-text { font-size: 10px; font-weight: bold; text-transform: uppercase; }

.btn-primary { background: var(--primary); color: black; border: none; padding: 12px; width: 100%; border-radius: 10px; font-weight: bold; font-size: 16px; margin-top: 10px; cursor: pointer; }
.btn-outline { background: transparent; border: 1px solid var(--primary); color: var(--primary); padding: 10px; width: 100%; border-radius: 10px; font-weight: bold; cursor: pointer; margin-top:10px; }
input.login-input { width: 100%; padding: 15px; background: #2c2c2c; border: 1px solid #444; border-radius: 10px; color: white; text-align: center; font-weight: bold; }

.wallet-card { background: linear-gradient(180deg, #1e1e1e, #121212); border: 1px solid #333; border-radius: 20px; padding: 25px; text-align: center; margin-bottom: 20px; }
.wallet-balance-label { font-size: 12px; color: #888; font-weight: 800; }
.wallet-balance { font-size: 45px; font-weight: 900; color: var(--primary); margin: 5px 0; }
.referral-code-box { background: rgba(255,215,0,0.1); border: 1px dashed var(--primary); padding: 15px; border-radius: 12px; margin-top: 20px; display: flex; justify-content: space-between; align-items: center; }
.code-label { font-size: 12px; color: #aaa;}
.code-value { font-size: 18px; font-weight: 800; color: white;}

.btn-withdraw { background: transparent; border: 1px solid #555; color: #555; padding: 15px; width: 100%; border-radius: 12px; font-size: 15px; font-weight: 700; margin-top: 10px; }
.btn-withdraw.active { background: var(--primary); color: black; border: none; }

.jackpot-container { background: radial-gradient(circle, #2a2a2a 0%, #111 100%); border: 2px solid var(--primary); border-radius: 20px; padding: 20px 15px; text-align: center; margin-bottom: 25px; }
.jackpot-label { font-size: 12px; color: #aaa; }
.jackpot-number { font-size: 45px; font-weight: 900; color: var(--primary); margin: 0; }

.bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: var(--nav-height); background: #1a1a1a; border-top: 1px solid #333; display: flex; justify-content: flex-start; align-items: center; z-index: 1000; overflow-x: auto; scrollbar-width: none; gap: 4px; padding: 0 10px; }
.nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-sec); font-size: 12px; cursor: pointer; flex: 1; height: 100%; min-width: 60px; flex-shrink: 0; } 
.nav-item.active { color: var(--primary); }
.nav-icon { font-size: 20px; margin-bottom: 3px; }

/* Botón punteado para registrar negocio */
.btn-dashed { background: transparent; border: 2px dashed var(--primary); color: var(--primary); padding: 15px; width: 100%; border-radius: 12px; font-weight: bold; cursor: pointer; margin-bottom: 20px; transition: all 0.3s; font-size: 14px; display: flex; justify-content: center; align-items: center; gap: 8px; }
.btn-dashed:hover { background: rgba(255, 215, 0, 0.1); transform: translateY(-2px); }

/* Panel del Administrador */
.admin-panel-box { background: #1e1e1e; border: 1px solid #333; border-radius: 15px; padding: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }

/* ==========================================
   MENÚ HAMBURGUESA MÓVIL (ESTILO APP)
   ========================================== */

/* 1. Capa Oscura (Overlay) */
.menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.3s ease; }
.menu-overlay.active { opacity: 1; visibility: visible; }

/* 2. Contenedor Principal del Menú */
.sidebar-mobile { position: fixed; top: 0; left: -300px; width: 280px; height: 100dvh; background: #ffffff; z-index: 9999; transition: left 0.3s ease; display: flex; flex-direction: column; box-shadow: 4px 0 15px rgba(0,0,0,0.2); }
.sidebar-mobile.active { left: 0; }

/* 3. Cabecera */
.sidebar-header { background: var(--primary); padding: 30px 20px 20px 20px; color: #ffffff; }
.sidebar-header h3 { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: 1px; }
.sidebar-header span { font-size: 13px; opacity: 0.9; }

/* 4. Lista de Enlaces */
.sidebar-links { flex: 1; overflow-y: auto; padding: 10px 0; }
.sidebar-links a { display: flex; align-items: center; padding: 16px 20px; color: var(--text-main, #333333); text-decoration: none; font-size: 16px; font-weight: 500; border-bottom: 1px solid #f5f5f5; transition: background 0.2s; }
.sidebar-links a i { width: 30px; font-size: 20px; margin-right: 15px; text-align: center; }
.sidebar-links a:active { background: #f0f0f0; }

/* 5. Separador Grueso */
.sidebar-divider { height: 8px; background: #f9f9f9; border-top: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee; margin: 10px 0; }

/* 6. Botón de Cerrar Sesión Rojo */
.sidebar-links a.btn-logout { color: #e74c3c; border-bottom: none; }
.sidebar-links a.btn-logout i { color: #e74c3c; }

/* Mostrar botón hamburguesa solo en móviles */
.btn-menu-hamburguesa { display: none; background: transparent; border: none; font-size: 24px; color: var(--primary); cursor: pointer; }

@media (max-width: 768px) {
    .btn-menu-hamburguesa { display: block; }
}

/* Ajustes visuales para las categorías dentro del menú hamburguesa */
.categorias-en-menu a { padding: 12px 20px !important; border-bottom: none !important; color: var(--text-sec) !important; }
.categorias-en-menu a i { font-size: 16px !important; }
.categorias-en-menu a:hover { background: rgba(216, 13, 139, 0.05); color: var(--primary) !important; }

/* ==========================================
   OCULTAR CATEGORÍAS DE PC EN VISTA MÓVIL 
   ========================================== */
@media (max-width: 768px) {
    #store-categorias-filter {
        display: none !important;
    }
}