/**
 * Paleta Ixion — única fuente de verdad (variables + overrides globales).
 * Ver .cursor/rules/paleta-colores-ixion.mdc
 */
:root {
    --ix-brand: #CDAA93;
    --ix-sidebar: #493226;
    --ix-bg: #FAF6F2;
    --ix-surface: #FFFFFF;
    --ix-text: #2D211B;
    --ix-text-muted: #756B65;
    --ix-border: #E8DDD4;
    --ix-accent: #99613F;
    --ix-btn-primary: #4D7664;
    --ix-btn-primary-hover: #4A7463;
    --ix-btn-primary-text: #FFFFFF;
    --ix-topbar-bg: #CDAA93;
    --ix-sidebar-text: rgba(255, 255, 255, 0.88);
    --ix-sidebar-text-muted: rgba(255, 255, 255, 0.65);
    --ix-sidebar-active-bg: #CDAA93;
    --ix-sidebar-active-text: #2D211B;
}

/* —— Botones Bootstrap (solo primary; alerts sin tocar) —— */
.btn-primary {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
    color: var(--ix-btn-primary-text);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--ix-btn-primary-hover);
    border-color: var(--ix-btn-primary-hover);
    color: var(--ix-btn-primary-text);
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
    opacity: 0.65;
}

.btn-outline-primary {
    color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
}

.btn-outline-primary:hover {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
    color: var(--ix-btn-primary-text);
}

/* —— Layout panel —— */
.content-page {
    background-color: var(--ix-bg) !important;
}

.card,
.card-box,
.card.bg-pattern .card-body {
    background-color: var(--ix-surface);
    border-color: var(--ix-border);
}

.page-title-box h4.page-title,
h1, h2, h3, h4, h5, h6 {
    color: var(--ix-text);
}

.text-muted:not(.alert .text-muted) {
    color: var(--ix-text-muted) !important;
}

.form-control {
    background-color: var(--ix-surface);
    border-color: var(--ix-border);
    color: var(--ix-text);
}

.form-control:focus {
    border-color: var(--ix-brand);
    color: var(--ix-text);
}

/* Compatibilidad clases legacy ACSense */
.color-acsense {
    color: var(--ix-text) !important;
}

.color-acsense-light {
    color: var(--ix-text-muted) !important;
}

/* Topbar (beige) */
.navbar-custom.background-acsense,
.navbar-custom .logo-box.background-acsense {
    background-color: var(--ix-topbar-bg) !important;
}

.navbar-custom.background-acsense .nav-user,
.navbar-custom.background-acsense .pro-user-name,
.navbar-custom.background-acsense .button-menu-mobile,
.navbar-custom.background-acsense .nav-link {
    color: var(--ix-text) !important;
}

.navbar-custom.background-acsense .nav-link:hover {
    color: var(--ix-accent) !important;
}

/* Sidebar (marrón oscuro) */
.left-side-menu.background-acsense {
    background-color: var(--ix-sidebar) !important;
}

.left-side-menu.background-acsense #sidebar-menu > ul > li > a {
    color: var(--ix-sidebar-text);
}

.left-side-menu.background-acsense #sidebar-menu > ul > li > a:hover,
.left-side-menu.background-acsense #sidebar-menu > ul > li > a:focus {
    color: #ffffff;
}

.left-side-menu.background-acsense #sidebar-menu .menuitem-active > a,
.left-side-menu.background-acsense #sidebar-menu > ul > li > a.mm-active,
.left-side-menu.background-acsense #sidebar-menu .menuitem-active .active {
    background-color: var(--ix-sidebar-active-bg) !important;
    color: var(--ix-sidebar-active-text) !important;
}

.left-side-menu.background-acsense .nav-second-level li a:focus,
.left-side-menu.background-acsense .nav-second-level li a:hover {
    color: var(--ix-brand);
}

.left-side-menu.background-acsense #sidebar-menu .menu-title {
    color: var(--ix-sidebar-text-muted);
}

/* Login / logout */
body.authentication-bg.background-acsense {
    background-color: var(--ix-sidebar) !important;
}

body.authentication-bg .card.bg-pattern {
    background-color: var(--ix-surface) !important;
}

/* Modales ix-modal */
.ix-modal .modal-header {
    background-color: var(--ix-sidebar);
}

.ix-modal .modal-header .modal-title,
.ix-modal .modal-header .close {
    color: #ffffff;
}

.ix-modal .ix-modal-field label {
    color: var(--ix-text-muted);
}

.ix-modal .ix-modal-field .form-control,
.ix-modal .ix-modal-readonly.form-control {
    border-color: var(--ix-border);
}

.ix-modal .ix-modal-btn-submit {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
    color: var(--ix-btn-primary-text);
}

.ix-modal .ix-modal-btn-submit:hover {
    background-color: var(--ix-btn-primary-hover);
    border-color: var(--ix-btn-primary-hover);
}

.ix-modal .ix-modal-repetir .custom-control-input:checked ~ .custom-control-label::before,
.ix-modal .ix-modal-dias-row .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
}

/* Paquetes y membresías */
.ix-paquetes-tabs {
    border-bottom-color: var(--ix-border);
}

.ix-paquetes-tabs .nav-link {
    color: var(--ix-text-muted);
}

.ix-paquetes-tabs .nav-link.active {
    color: var(--ix-accent);
    border-bottom-color: var(--ix-accent);
}

.ix-paquetes-tabs .nav-link:hover {
    color: var(--ix-accent);
}

.ix-paquetes-seccion-titulo,
.ix-paquete-card__metrica {
    color: var(--ix-text);
}

.ix-paquete-card {
    background: var(--ix-surface);
    border-color: var(--ix-border);
}

.ix-paquete-card__precio {
    color: var(--ix-accent);
}

.ix-paquete-card__action:hover:not(:disabled),
a.ix-paquete-card__action:hover {
    color: var(--ix-accent);
}

.ix-paquete-card__nombre,
.ix-paquete-card__submetrica,
.ix-paquete-card__clientes {
    color: var(--ix-text-muted);
}

/* Portal cliente */
.ix-cliente-portal .ix-portal-home__link,
.ix-cliente-portal .ix-portal-bottom-nav a.active,
.ix-cliente-portal .ix-portal-bottom-nav a:active {
    color: var(--ix-accent);
}

.ix-cliente-portal .btn-primary,
.ix-cliente-portal .ix-portal-home__btn.btn-primary {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
    color: var(--ix-btn-primary-text);
}

.ix-cliente-portal .btn-primary:hover {
    background-color: var(--ix-btn-primary-hover);
    border-color: var(--ix-btn-primary-hover);
}

.ix-cliente-portal .content-page {
    background-color: var(--ix-bg) !important;
}

/* DataTables / tablas (acento suave) */
table.dataTable thead th {
    color: var(--ix-text);
    border-bottom-color: var(--ix-border) !important;
}

.page-item.active .page-link {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
}

.page-link {
    color: var(--ix-btn-primary);
}

.page-link:hover {
    color: var(--ix-btn-primary-hover);
}

/* —— Reservaciones / calendario (acentos) —— */
.ix-reservaciones .btn-primary,
.ix-portal-reservar .btn-primary {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
}

.ix-portal-reservar__btn-reservar.btn-primary {
    background-color: var(--ix-btn-primary);
    border-color: var(--ix-btn-primary);
}

.ix-cliente-portal .ix-portal-bottom-nav a {
    color: var(--ix-text-muted);
}

.ix-cliente-portal .ix-portal-bottom-nav a.active {
    color: var(--ix-accent);
}

body[data-sidebar-size="condensed"] .left-side-menu.background-acsense #sidebar-menu > ul > li:hover > .collapse > ul,
body[data-sidebar-size="condensed"] .left-side-menu.background-acsense #sidebar-menu > ul ul li:hover > .collapse > ul {
    background-color: var(--ix-sidebar) !important;
}

body[data-sidebar-size="condensed"] .left-side-menu.background-acsense #sidebar-menu > ul > li:hover > a,
body[data-sidebar-color="dark"][data-sidebar-size="condensed"] #wrapper .left-side-menu.background-acsense #sidebar-menu > ul > li:hover > a {
    background-color: var(--ix-brand) !important;
    color: var(--ix-sidebar-active-text) !important;
}

body[data-sidebar-size="condensed"] .left-side-menu.background-acsense #sidebar-menu > ul > li:hover > .collapse > ul li.active > a {
    color: var(--ix-brand);
}
