:root {
    --color-bg-top: #D41E5E;
    --color-bg-bottom: #222222;
    --color-component: #CB809A;

    --color-text-main: #D41E5E;
    --color-text-secondary: #aaaaaa;
    --color-text-wht: #ffffff;
}

html, body {
    height: 100vh;
    width: 100vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--bg-main, #050505);
    background-repeat: no-repeat;
    background-size: cover;
    font-family: 'Poppins' !important;
    color: var(--color-text-main);
}


#app {
    height: 100%;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}

h1, h2, h3, h4 {
    font-weight: 700;
}

.wh_t {
    color:var(--color-text-wht) !important;
}

.main_t {
    color: var(--color-text-main) !important;
}

button {
    cursor: pointer;
    background-color: var(--color-bg-top);
    color: var(--color-text-wht);

    cursor: pointer;

    border: none;
    padding: 0 20px;
    border-radius: 12px;
    font-size: 13px;
    text-transform: uppercase;
    box-shadow: 0px 4px 6px rgba(0,0,0,0.2);
    
    min-height: 40px;
    min-width: 100px;

    
    transition: transform 0.1s;
}

    button:active {
        transform: scale(0.98);
    }

    button:disabled {
        background-color: #ccc;
        box-shadow: none;
        cursor: not-allowed;
    }

.btn-linkR {
    background-color: var(--color-component);
    width: 100%;
    border: none;
    margin-top: 25px;
    font-size: 14px;
}

.CentraContenido_Block {
    text-align: center;
}

.CentraContenido_Flex {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.list-Palomas {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0px;
}

    .list-Palomas img {
        margin-right: 10px;
    }

.btn_PalomaEStore {
    width: 25px;
    height: 25px;
}

.btn-close-sheet {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    border-radius: 50%;
    min-width: 32px !important;
    min-height: 32px !important;
    width: 32px;
    height: 32px;
    z-index: 20;
    cursor: pointer;
    font-weight: bold;
    color: var(--color-text-secondary);
    box-shadow: 0 0 0 rgba(0,0,0,0.1);
}
.btn-close {
    background: white;
    border: none;
    border-radius: 50%;
    min-width: 32px !important;
    min-height: 32px !important;
    width: 32px;
    height: 32px;
    z-index: 20;
    cursor: pointer;
    font-weight: bold;
    color: var(--color-text-secondary);
    box-shadow: 0 0 0 rgba(0,0,0,0.1);
}


/* --- FORMULARIOS --- */
.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

label {
    color: #ccc;
    font-size: 0.9rem;
    margin-left: 5px;
}

.row-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.dark-input {
    width: 100%;
    box-sizing: border-box;
    background-color: #1e1e1e;
    color: white;
    border: 1px solid #333;
    padding: 16px;
    border-radius: 16px;
    font-size: 1rem;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
}

    .dark-input:focus {
        border-color: var(--color-bg-top);
        background-color: #252525;
    }

    /* Placeholder (texto de ayuda gris) */
    .dark-input::placeholder {
        color: #666;
    }

select.dark-input {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23e91e63%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px auto;
    padding-right: 40px;
}

input[type="date"].dark-input {
    color-scheme: dark;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.6;
    cursor: pointer;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@keyframes slideInRight {
    from {
        transform: translateX(20%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ==========================================================================
   SISTEMA DE TEMAS: LIZ CONTRERAS (DARK LUXURY DEFAULT / LIGHT LUXURY EDITORIAL)
   ========================================================================== */

/* -------------------------------------------------------------
   MODO CLARO (LIGHT LUXURY) - COBERTURA TOTAL Y EXHAUSTIVA
   ------------------------------------------------------------- */
.page.theme-light {
    background-color: #f4f6fb !important;
    color: #0f172a !important;
}

.page.theme-light html,
.page.theme-light body,
.page.theme-light .content,
.page.theme-light .page-transition,
.page.theme-light .home-container,
.page.theme-light .home-page-container,
.page.theme-light .landing-page,
.page.theme-light .page-wrapper,
.page.theme-light .program-dashboard,
.page.theme-light .reto-page,
.page.theme-light .workout-container,
.page.theme-light .workout-page-container,
.page.theme-light .workout-page,
.page.theme-light .meal-plan-container,
.page.theme-light .nutrition-page,
.page.theme-light .onboarding-container,
.page.theme-light .nutrition-wa-container,
.page.theme-light .estore-container,
.page.theme-light .estore-page,
.page.theme-light .wellness-container,
.page.theme-light .wellness-dashboard,
.page.theme-light .conoceme-container,
.page.theme-light .page-testimonios,
.page.theme-light .rayito-page-container,
.page.theme-light .hipo-page-container,
.page.theme-light .account-page,
.page.theme-light .profile-container,
.page.theme-light .auth-page-container,
.page.theme-light .login-page-wrapper,
.page.theme-light .forgot-page-container,
.page.theme-light .forgot-page-wrapper,
.page.theme-light .payment-result-container,
.page.theme-light .result-page,
.page.theme-light .not-found-page-wrapper,
.page.theme-light .support-container,
.page.theme-light .legal-page-container,
.page.theme-light .legal-wrapper,
.page.theme-light .my-goals-container,
.page.theme-light .goals-page,
.page.theme-light .admin-container,
.page.theme-light .admin-layout,
.page.theme-light .admin-metas-layout,
.page.theme-light .admin-page,
.page.theme-light .admin-rutinas-container {
    background-color: #f4f6fb !important;
    color: #0f172a !important;
}

/* Cabeceras Sticky en Modo Claro */
.page.theme-light .header-sticky {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

.page.theme-light .header-title {
    color: #0f172a !important;
}

.btn-back {
    text-transform: none !important;
    border-radius: 12px !important;
    min-height: unset !important;
    min-width: unset !important;
    width: auto !important;
    padding: 8px 14px !important;
    box-shadow: none !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.page.theme-light .btn-back {
    background: rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #0f172a !important;
    text-transform: none !important;
    border-radius: 12px !important;
}

.page.theme-light .btn-back:hover {
    background: rgba(233, 30, 99, 0.12) !important;
    border-color: #e91e63 !important;
    color: #d41e5e !important;
}

.page.theme-light .btn-menu {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #0f172a !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
}

/* Tarjetas y Paneles en Modo Claro */
.page.theme-light .glass-card,
.page.theme-light .luxury-card,
.page.theme-light .card-luxury,
.page.theme-light .section-glass,
.page.theme-light .hero-banner,
.page.theme-light .hero-card,
.page.theme-light .hero-luxury,
.page.theme-light .hero-luxury-banner,
.page.theme-light .cta-luxury-banner,
.page.theme-light .not-found-glass-card,
.page.theme-light .auth-card,
.page.theme-light .auth-glass-card,
.page.theme-light .forgot-glass-card,
.page.theme-light .control-panel-card,
.page.theme-light .profile-main-card,
.page.theme-light .account-card,
.page.theme-light .product-card,
.page.theme-light .product-card-luxury,
.page.theme-light .product-glass-card,
.page.theme-light .transformation-card,
.page.theme-light .bento-card,
.page.theme-light .module-card,
.page.theme-light .exercise-card,
.page.theme-light .series-row,
.page.theme-light .circuit-card,
.page.theme-light .meal-card,
.page.theme-light .meal-glass-card,
.page.theme-light .recipe-card,
.page.theme-light .recipe-box,
.page.theme-light .exchange-card,
.page.theme-light .exchange-box,
.page.theme-light .video-card-glass,
.page.theme-light .video-card,
.page.theme-light .banner-rayito-glass,
.page.theme-light .bio-card,
.page.theme-light .cert-card,
.page.theme-light .story-card,
.page.theme-light .philosophy-card,
.page.theme-light .timeline-card,
.page.theme-light .photo-card,
.page.theme-light .photo-comparison-card,
.page.theme-light .measurement-card,
.page.theme-light .chart-box,
.page.theme-light .chart-glass-box,
.page.theme-light .day-accordion,
.page.theme-light .admin-card,
.page.theme-light .routine-card,
.page.theme-light .list-panel,
.page.theme-light .form-panel,
.page.theme-light .form-panel-full,
.page.theme-light .terms-card,
.page.theme-light .privacy-card,
.page.theme-light .support-card,
.page.theme-light .faq-card,
.page.theme-light .faq-item,
.page.theme-light .contact-card,
.page.theme-light .order-card,
.page.theme-light .goal-card,
.page.theme-light .info-glass-box,
.page.theme-light .wellness-card,
.page.theme-light .category-card,
.page.theme-light .receipt-card,
.page.theme-light .result-glass-card,
.page.theme-light .theme-toggle-row,
.page.theme-light .empty-state-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    color: #0f172a !important;
}

/* Modales y Overlays en Modo Claro */
.page.theme-light .modal-glass-card,
.page.theme-light .modal-content,
.page.theme-light .lock-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
    color: #0f172a !important;
}

.page.theme-light .modal-header-luxury,
.page.theme-light .modal-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.page.theme-light .modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.page.theme-light .btn-modal-close,
.page.theme-light .btn-lock-close {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #64748b !important;
}

.page.theme-light .btn-modal-close:hover,
.page.theme-light .btn-lock-close:hover {
    background: rgba(233, 30, 99, 0.12) !important;
    color: #d41e5e !important;
}

/* Chips, Tabs y Píldoras en Modo Claro */
.page.theme-light .category-pill,
.page.theme-light .filter-chip,
.page.theme-light .filter-pill,
.page.theme-light .tab-day-btn,
.page.theme-light .day-pill,
.page.theme-light .day-selector-btn,
.page.theme-light .stat-chip,
.page.theme-light .stat-box,
.page.theme-light .ingredient-pill,
.page.theme-light .ingredient-item,
.page.theme-light .routine-chip,
.page.theme-light .resource-pill {
    background: #f1f5f9 !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: #334155 !important;
}

.page.theme-light .category-pill.active,
.page.theme-light .filter-chip.active,
.page.theme-light .tab-day-btn.active,
.page.theme-light .day-pill.active {
    background: linear-gradient(135deg, #e91e63, #ff4081) !important;
    color: #ffffff !important;
    border-color: #e91e63 !important;
    box-shadow: 0 4px 15px rgba(233, 30, 99, 0.3) !important;
}

/* Tipografía en Modo Claro */
.page.theme-light h1,
.page.theme-light h2,
.page.theme-light h3,
.page.theme-light h4,
.page.theme-light h5,
.page.theme-light h6,
.page.theme-light .title,
.page.theme-light .card-title,
.page.theme-light .card-main-title,
.page.theme-light .page-title,
.page.theme-light .section-title,
.page.theme-light .user-name,
.page.theme-light .hero-title,
.page.theme-light .hero-main-title,
.page.theme-light .cta-title,
.page.theme-light .lock-title,
.page.theme-light .faq-question,
.page.theme-light strong,
.page.theme-light b {
    color: #0f172a !important;
}

.page.theme-light p,
.page.theme-light .subtitle,
.page.theme-light .hero-subtitle,
.page.theme-light .description,
.page.theme-light .card-desc,
.page.theme-light .card-sub-title,
.page.theme-light .section-desc,
.page.theme-light .cta-desc,
.page.theme-light .lock-desc,
.page.theme-light .lock-sub,
.page.theme-light .faq-answer,
.page.theme-light .user-email,
.page.theme-light .user-display-email,
.page.theme-light .meta-info,
.page.theme-light .stat-label,
.page.theme-light .not-found-description,
.page.theme-light .terms-text {
    color: #475569 !important;
}

/* Excepciones de alto impacto: Héroes fotográficos oscuros que requieren texto blanco luminoso */
.page.theme-light .hero-section h1,
.page.theme-light .hero-content h1,
.page.theme-light .hero-description,
.page.theme-light .hero-badge-pill,
.page.theme-light .hero-small h1,
.page.theme-light .hero-small p,
.page.theme-light .btn-primary-glow {
    color: #ffffff !important;
}

/* Inputs, Selects y Textareas en Modo Claro */
.page.theme-light input,
.page.theme-light select,
.page.theme-light textarea,
.page.theme-light .luxury-auth-input,
.page.theme-light .form-input,
.page.theme-light .dark-input,
.page.theme-light .form-control {
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
}

.page.theme-light input:focus,
.page.theme-light select:focus,
.page.theme-light textarea:focus,
.page.theme-light .luxury-auth-input:focus {
    border-color: #e91e63 !important;
    box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.15) !important;
}

.page.theme-light input::placeholder,
.page.theme-light textarea::placeholder,
.page.theme-light .dark-input::placeholder {
    color: #94a3b8 !important;
}

.page.theme-light label,
.page.theme-light .input-luxury-group label {
    color: #334155 !important;
}

/* Botones secundarios y acciones en Modo Claro */
.page.theme-light .btn-cancel-glass,
.page.theme-light .btn-secondary,
.page.theme-light .btn-auth-secondary,
.page.theme-light .btn-action-logout {
    background: rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    color: #334155 !important;
}

.page.theme-light .btn-card-action {
    background: rgba(233, 30, 99, 0.08) !important;
    border: 1px solid rgba(233, 30, 99, 0.3) !important;
    color: #d41e5e !important;
}

.page.theme-light .btn-card-action.external {
    background: rgba(16, 185, 129, 0.08) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    color: #059669 !important;
}

.page.theme-light .card-features {
    color: #334155 !important;
}

.page.theme-light .toggle-segmented-control {
    background: #f1f5f9 !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.page.theme-light .toggle-tab {
    color: #64748b !important;
}

.page.theme-light .btn-action-logout:hover {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: #ef4444 !important;
    color: #dc2626 !important;
}

/* Tablas de Administración en Modo Claro */
.page.theme-light .admin-table,
.page.theme-light .table {
    color: #0f172a !important;
}

.page.theme-light .admin-table th,
.page.theme-light .table th {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border-bottom: 2px solid #cbd5e1 !important;
}

.page.theme-light .admin-table td,
.page.theme-light .table td {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.page.theme-light .admin-table tr:hover td {
    background-color: #f8fafc !important;
}

/* Menú Lateral en Modo Claro */
.page.theme-light .sidebar-swipe {
    background: rgba(255, 255, 255, 0.98) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 10px 0 40px rgba(0, 0, 0, 0.1) !important;
}

.page.theme-light .menu-container {
    color: #0f172a !important;
}

.page.theme-light .profile-card {
    background: linear-gradient(135deg, rgba(233, 30, 99, 0.08) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
    border: 1px solid rgba(233, 30, 99, 0.15) !important;
}

.page.theme-light .nav-item {
    color: #334155 !important;
}

.page.theme-light .nav-item:hover {
    background: rgba(233, 30, 99, 0.06) !important;
    color: #d41e5e !important;
}

.page.theme-light .nav-item.active {
    background: linear-gradient(90deg, rgba(233, 30, 99, 0.12) 0%, rgba(233, 30, 99, 0.03) 100%) !important;
    color: #d41e5e !important;
    border: 1px solid rgba(233, 30, 99, 0.3) !important;
}

.page.theme-light .nav-icon-box {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}

.page.theme-light .menu-footer {
    background: rgba(255, 255, 255, 0.98) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.page.theme-light .footer-item {
    color: #334155 !important;
}

.page.theme-light .support-item:hover {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #0f172a !important;
}

.page.theme-light .version-badge {
    color: #94a3b8 !important;
}


