/* ==============================================
   CLASES DE COLORES DINÁMICOS
   ============================================== */

/* ---- COLORES DE TEXTO ---- */
.text-primary { color: var(--color-primary) !important; }
.text-secondary { color: var(--color-secondary) !important; }
.text-tertiary { color: var(--color-tertiary) !important; }
.text-main { color: var(--text-color) !important; }
.text-paragraph { color: var(--paragraph-main-color) !important; }
.text-paragraph-dark { color: var(--paragraph-dark-bg-color) !important; }

/* ---- COLORES DE FONDO ---- */
.bg-primary { background-color: var(--color-primary) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; }
.bg-tertiary { background-color: var(--color-tertiary) !important; }
.bg-main { background-color: var(--background-color) !important; }
.bg-menu { background-color: var(--menu-background) !important; }
.bg-submenu { background-color: var(--submenu-background) !important; }

/* ---- BOTONES ---- */
.btn-primary-custom {
    background-color: var(--button-background) !important;
    border-color: var(--button-border) !important;
    color: var(--button-text) !important;
    box-shadow: 0 4px 8px var(--button-shadow) !important;
    text-shadow: 1px 1px 2px var(--button-text-shadow) !important;
}

.btn-primary-custom:hover {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px var(--button-shadow) !important;
}

.btn-secondary-custom {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
    color: var(--button-text) !important;
}

.btn-outline-primary-custom {
    border-color: var(--button-border) !important;
    color: var(--color-primary) !important;
    background-color: transparent !important;
}

.btn-outline-primary-custom:hover {
    background-color: var(--color-primary) !important;
    color: var(--button-text) !important;
}

/* ---- BORDES ---- */
.border-primary { border-color: var(--color-primary) !important; }
.border-secondary { border-color: var(--color-secondary) !important; }
.border-custom { border-color: var(--border-color) !important; }

/* ---- TÍTULOS ---- */
.title-h1 { color: var(--title-h1-color) !important; }
.title-h2 { color: var(--title-h2-color) !important; }
.title-h3 { color: var(--title-h3-color) !important; }

/* ---- ENLACES ---- */
.link-custom {
    color: var(--link-color) !important;
    text-decoration: none;
}

.link-custom:hover {
    color: var(--link-hover-color) !important;
    text-decoration: underline;
}

/* ---- MENÚ Y NAVEGACIÓN ---- */
.menu-item {
    color: var(--menu-text) !important;
    background-color: var(--menu-background) !important;
}

.menu-item:hover {
    color: var(--color-primary) !important;
}

.submenu-item {
    color: var(--submenu-text) !important;
    background-color: var(--submenu-background) !important;
}

.submenu-item:hover {
    color: var(--color-primary) !important;
}

/* ---- CARDS Y COMPONENTES ---- */
.card-primary {
    border-left: 4px solid var(--color-primary) !important;
}

.card-secondary {
    border-left: 4px solid var(--color-secondary) !important;
}

.alert-primary-custom {
    background-color: rgba(var(--color-primary), 0.1) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
}

/* ---- UTILIDADES ---- */
.shadow-primary {
    box-shadow: 0 4px 8px var(--button-shadow) !important;
}

.gradient-primary {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
}

.gradient-primary-text {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ---- RESPONSIVE HELPERS ---- */
@media (max-width: 768px) {
    .btn-primary-custom {
        padding: 8px 16px;
        font-size: 14px;
    }
}
