/**
 * ==========================================================================
 * GESTIONADMIN THEME - MAIN CSS
 * ==========================================================================
 * 
 * Estilos adicionales para componentes del tema:
 * - Header
 * - Footer
 * - Mobile Menu
 * - User Navigation
 * - Social Icons
 * - Page Templates
 * 
 * @package    GestionAdmin_Theme
 * @version    1.0.0
 */


/* ==========================================================================
   HEADER
   ========================================================================== */

.ga-header {
    position: sticky;
    top: 0;
    z-index: var(--ga-z-sticky);
    background-color: var(--ga-color-primary);
    box-shadow: var(--ga-shadow-md);
}

.ga-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ga-spacing-md);
    padding: var(--ga-spacing-sm) 0;
    min-height: 70px;
}

/* Logo */
.ga-header-logo {
    flex-shrink: 0;
}

.ga-header-logo .ga-logo {
    display: flex;
    align-items: center;
}

.ga-header-logo img {
    max-height: 50px;
    width: auto;
}

.ga-header-logo .ga-logo-text {
    font-family: var(--ga-font-heading);
    font-size: 1.5rem;
    color: var(--ga-color-white);
    letter-spacing: 0.02em;
}

/* Navegación Desktop */
.ga-header-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.ga-menu-horizontal {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-xs);
    flex-wrap: wrap;
    justify-content: center;
}

.ga-menu-horizontal li {
    position: relative;
}

.ga-menu-horizontal a {
    display: block;
    padding: var(--ga-spacing-sm) var(--ga-spacing-md);
    color: var(--ga-color-white);
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--ga-radius-md);
    transition: background-color var(--ga-transition-fast);
    white-space: nowrap;
}

.ga-menu-horizontal a:hover,
.ga-menu-horizontal .current-menu-item > a {
    background-color: rgba(255, 255, 255, 0.15);
    color: var(--ga-color-white);
}

/* Submenu */
.ga-menu-horizontal .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: var(--ga-color-white);
    border-radius: var(--ga-radius-md);
    box-shadow: var(--ga-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all var(--ga-transition-fast);
    z-index: var(--ga-z-dropdown);
}

.ga-menu-horizontal li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ga-menu-horizontal .sub-menu a {
    color: var(--ga-color-text);
    padding: var(--ga-spacing-sm) var(--ga-spacing-md);
    font-size: 0.85rem;
}

.ga-menu-horizontal .sub-menu a:hover {
    background-color: var(--ga-color-light);
    color: var(--ga-color-primary);
}

/* Acciones del Header */
.ga-header-actions {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-sm);
    flex-shrink: 0;
}

/* ==========================================================================
   HEADER RESPONSIVE
   ========================================================================== */

/* Ocultar en desktop */
@media (min-width: 993px) {
    .ga-hide-desktop {
        display: none !important;
    }
}

/* Ocultar en mobile/tablet */
@media (max-width: 992px) {
    .ga-hide-mobile {
        display: none !important;
    }
    
    .ga-header-inner {
        padding: var(--ga-spacing-sm) 0;
    }
    
    .ga-header-logo img {
        max-height: 45px;
    }
}

@media (max-width: 576px) {
    .ga-header-inner {
        gap: var(--ga-spacing-sm);
    }
    
    .ga-header-logo img {
        max-height: 40px;
    }
    
    .ga-header-logo .ga-logo-text {
        font-size: 1.2rem;
    }
}


/* ==========================================================================
   USER NAVIGATION
   ========================================================================== */

.ga-user-nav {
    position: relative;
}

.ga-user-trigger {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-sm);
    color: var(--ga-color-white);
    text-decoration: none;
}

.ga-user-name {
    font-weight: 500;
    font-size: 0.9rem;
}

.ga-user-avatar img {
    width: 36px;
    height: 36px;
    border-radius: var(--ga-radius-full);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

/* Dropdown */
.ga-user-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    margin-top: var(--ga-spacing-sm);
    background-color: var(--ga-color-white);
    border-radius: var(--ga-radius-md);
    box-shadow: var(--ga-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all var(--ga-transition-fast);
}

.ga-user-nav:hover .ga-user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ga-user-dropdown a {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-sm);
    padding: var(--ga-spacing-sm) var(--ga-spacing-md);
    color: var(--ga-color-text);
    font-size: 0.9rem;
    transition: background-color var(--ga-transition-fast);
}

.ga-user-dropdown a:hover {
    background-color: var(--ga-color-light);
}

.ga-user-dropdown a:first-child {
    border-radius: var(--ga-radius-md) var(--ga-radius-md) 0 0;
}

.ga-user-dropdown a:last-child {
    border-radius: 0 0 var(--ga-radius-md) var(--ga-radius-md);
}


/* ==========================================================================
   MOBILE MENU TOGGLE
   ========================================================================== */

.ga-mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--ga-radius-md);
    color: var(--ga-color-white);
    cursor: pointer;
    transition: all var(--ga-transition-fast);
}

.ga-mobile-toggle:hover,
.ga-mobile-toggle:focus {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    outline: none;
}

.ga-mobile-toggle svg {
    width: 24px;
    height: 24px;
}

/* Ocultar en desktop por defecto */
@media (min-width: 993px) {
    .ga-mobile-toggle {
        display: none;
    }
}


/* ==========================================================================
   MOBILE MENU (Overlay)
   ========================================================================== */

.ga-mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    z-index: var(--ga-z-modal);
    background-color: var(--ga-color-primary);
    transition: right var(--ga-transition-normal);
    overflow-y: auto;
}

.ga-mobile-menu.is-open {
    right: 0;
}

.ga-mobile-menu-inner {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: var(--ga-spacing-lg);
}

/* Header del menú mobile */
.ga-mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: var(--ga-spacing-lg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin-bottom: var(--ga-spacing-lg);
}

.ga-mobile-menu-header img {
    max-height: 40px;
}

.ga-mobile-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    color: var(--ga-color-white);
    cursor: pointer;
}

/* Navegación mobile */
.ga-mobile-menu-nav {
    flex: 1;
}

.ga-menu-vertical {
    display: flex;
    flex-direction: column;
    gap: var(--ga-spacing-xs);
}

.ga-menu-vertical a {
    display: block;
    padding: var(--ga-spacing-md);
    color: var(--ga-color-white);
    font-weight: 500;
    border-radius: var(--ga-radius-md);
    transition: background-color var(--ga-transition-fast);
}

.ga-menu-vertical a:hover,
.ga-menu-vertical .current-menu-item > a {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Footer del menú mobile */
.ga-mobile-menu-footer {
    margin-top: auto;
    padding-top: var(--ga-spacing-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ga-mobile-contact {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-sm);
    padding: var(--ga-spacing-sm) 0;
    color: var(--ga-color-white);
    font-size: 0.9rem;
}

.ga-mobile-contact svg {
    opacity: 0.7;
}

.ga-mobile-menu-footer .ga-social-icons {
    margin-top: var(--ga-spacing-md);
    justify-content: center;
}

/* Overlay */
.ga-mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: calc(var(--ga-z-modal) - 1);
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: all var(--ga-transition-normal);
}

.ga-mobile-overlay.is-open {
    opacity: 1;
    visibility: visible;
}


/* ==========================================================================
   SOCIAL ICONS
   ========================================================================== */

.ga-social-icons {
    display: flex;
    align-items: center;
    gap: var(--ga-spacing-sm);
}

.ga-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    transition: all var(--ga-transition-fast);
}

/* Estilo círculo */
.ga-social-circle .ga-social-link {
    width: 40px;
    height: 40px;
    border: 2px solid currentColor;
    border-radius: var(--ga-radius-full);
    opacity: 0.7;
}

.ga-social-circle .ga-social-link:hover {
    opacity: 1;
    background-color: currentColor;
}

.ga-social-circle .ga-social-link:hover svg {
    color: var(--ga-color-white);
}

/* Tamaños */
.ga-social-small .ga-social-link { width: 32px; height: 32px; }
.ga-social-medium .ga-social-link { width: 40px; height: 40px; }
.ga-social-large .ga-social-link { width: 48px; height: 48px; }


/* ==========================================================================
   FOOTER - ESTILOS GLOBALES ULTRA ESPECÍFICOS
   ========================================================================== */

/* Base del footer */
footer,
.ga-footer,
footer.ga-footer,
#ga-footer,
footer#ga-footer,
.site-footer,
#site-footer {
    background-color: var(--ga-color-primary, #0056A6) !important;
    color: #FFFFFF !important;
}

/* =========================================
   CRÍTICO: FORZAR TODOS LOS TEXTOS BLANCOS
   ========================================= */
footer *,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer p, footer span, footer a, footer li, footer div, footer label,
.ga-footer *,
.ga-footer h1, .ga-footer h2, .ga-footer h3, .ga-footer h4, .ga-footer h5, .ga-footer h6,
.ga-footer p, .ga-footer span, .ga-footer a, .ga-footer li, .ga-footer div, .ga-footer label,
#ga-footer *,
#ga-footer h1, #ga-footer h2, #ga-footer h3, #ga-footer h4, #ga-footer h5, #ga-footer h6,
#ga-footer p, #ga-footer span, #ga-footer a, #ga-footer li, #ga-footer div, #ga-footer label,
footer.ga-footer *,
footer.ga-footer h1, footer.ga-footer h2, footer.ga-footer h3, footer.ga-footer h4,
footer.ga-footer p, footer.ga-footer span, footer.ga-footer a, footer.ga-footer li,
.site-footer *,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer p, .site-footer span, .site-footer a {
    color: #FFFFFF !important;
}

/* Títulos del footer - DOBLE FUERZA */
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.ga-footer h1, .ga-footer h2, .ga-footer h3, .ga-footer h4, .ga-footer h5, .ga-footer h6,
.ga-footer-title,
.ga-footer .ga-footer-title,
footer .ga-footer-title,
#ga-footer .ga-footer-title,
.ga-footer-col h4,
.ga-footer-col h3,
.ga-footer-contact h4,
.ga-footer-menu h4 {
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

/* Links hover */
footer a:hover,
.ga-footer a:hover,
#ga-footer a:hover {
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: underline !important;
}

/* Línea decorativa - CELESTE */
.ga-footer-accent,
.ga-footer > .ga-footer-accent,
footer > .ga-footer-accent {
    height: 6px !important;
    background-color: var(--ga-color-secondary, #0891B2) !important;
    background: linear-gradient(90deg, var(--ga-color-secondary, #0891B2) 0%, var(--ga-color-accent, #06B6D4) 100%) !important;
}

/* Contenido principal */
.ga-footer-main {
    padding: 3rem 1rem;
}

.ga-footer-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

/* Columnas */
.ga-footer-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 200px;
    max-width: 350px;
}

.ga-footer-logo {
    display: flex;
    justify-content: center;
}

.ga-footer-logo img {
    max-width: 120px;
    height: auto;
    margin-bottom: 1rem;
}

.ga-footer-slogan,
.ga-footer .ga-footer-slogan {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9) !important;
}

.ga-footer-title,
.ga-footer .ga-footer-title,
.ga-footer-col .ga-footer-title {
    font-family: var(--ga-font-primary, 'Montserrat', sans-serif);
    font-size: 1.1rem;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
    color: #FFFFFF !important;
}

.ga-footer-link,
.ga-footer .ga-footer-link,
.ga-footer-col .ga-footer-link {
    display: block;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    transition: all 0.2s ease;
}

.ga-footer-link:hover {
    color: #FFFFFF !important;
}

.ga-footer-address,
.ga-footer .ga-footer-address {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9) !important;
    line-height: 1.6;
}

/* =========================================
   REDES SOCIALES EN FOOTER
   ========================================= */

.ga-footer-social {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
}

.ga-footer-social .ga-social-icons,
.ga-footer .ga-social-icons,
#ga-footer .ga-social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Iconos de redes sociales - BLANCOS con borde */
.ga-footer .ga-social-link,
.ga-footer .ga-social-circle .ga-social-link,
#ga-footer .ga-social-link,
.ga-footer-social .ga-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #FFFFFF !important;
    border: 2px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 50%;
    background: transparent;
    transition: all 0.3s ease;
}

.ga-footer .ga-social-link:hover,
.ga-footer .ga-social-circle .ga-social-link:hover,
#ga-footer .ga-social-link:hover {
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}

.ga-footer .ga-social-link:hover svg,
.ga-footer .ga-social-circle .ga-social-link:hover svg,
#ga-footer .ga-social-link:hover svg {
    color: var(--ga-color-primary, #0056A6) !important;
}

.ga-footer .ga-social-link svg,
#ga-footer .ga-social-link svg {
    width: 24px;
    height: 24px;
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

/* Menú del footer */
.ga-footer-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ga-footer-nav li {
    list-style: none;
}

.ga-footer-nav a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.95rem;
    transition: color 0.2s ease;
}

.ga-footer-nav a:hover {
    color: #FFFFFF !important;
}

/* =========================================
   BARRA INFERIOR (Copyright)
   ========================================= */

.ga-footer-bottom {
    background-color: var(--ga-color-dark, #1F2937) !important;
    padding: 1rem;
}

.ga-footer-bottom * {
    color: rgba(255, 255, 255, 0.9) !important;
}

.ga-footer-bottom-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.ga-footer-copyright,
.ga-footer-credits {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9) !important;
}

.ga-footer-credits a {
    color: #FFFFFF !important;
    text-decoration: underline;
}

.ga-footer-credits a:hover {
    color: var(--ga-color-secondary, #DC2626) !important;
}

/* =========================================
   FOOTER RESPONSIVE
   ========================================= */

@media (max-width: 992px) {
    .ga-footer-grid {
        gap: 1.5rem;
    }
    
    .ga-footer-col {
        min-width: 180px;
    }
}

@media (max-width: 768px) {
    .ga-footer-main {
        padding: 2rem 1rem;
    }
    
    .ga-footer-grid {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
    
    .ga-footer-col {
        width: 100%;
        max-width: 100%;
        padding-bottom: 1.5rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }
    
    .ga-footer-col:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
    
    .ga-footer-social .ga-social-icons,
    .ga-footer .ga-social-icons {
        justify-content: center;
    }
    
    .ga-footer .ga-social-link,
    .ga-footer-social .ga-social-link {
        width: 44px;
        height: 44px;
    }
    
    .ga-footer-bottom-inner {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .ga-footer-main {
        padding: 1.5rem 0.75rem;
    }
    
    .ga-footer-title {
        font-size: 1rem;
    }
    
    .ga-footer-link,
    .ga-footer-address {
        font-size: 0.875rem;
    }
    
    .ga-footer .ga-social-link,
    .ga-footer-social .ga-social-link {
        width: 40px;
        height: 40px;
    }
    
    .ga-footer .ga-social-link svg {
        width: 20px;
        height: 20px;
    }
}


/* ==========================================================================
   PAGE TEMPLATES
   ========================================================================== */

.ga-page-header {
    background-color: var(--ga-color-primary);
    color: var(--ga-color-white);
    padding: var(--ga-spacing-2xl) 0;
    text-align: center;
}

.ga-page-title {
    font-size: 2.5rem;
    margin: 0;
}

.ga-page-content {
    padding: var(--ga-spacing-2xl) 0;
}

.ga-content {
    max-width: 800px;
    margin: 0 auto;
}

.ga-content p {
    margin-bottom: var(--ga-spacing-md);
}

.ga-content h2,
.ga-content h3,
.ga-content h4 {
    margin-top: var(--ga-spacing-xl);
    margin-bottom: var(--ga-spacing-md);
}


/* ==========================================================================
   POSTS GRID
   ========================================================================== */

.ga-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ga-spacing-lg);
}

@media (max-width: 992px) {
    .ga-posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .ga-posts-grid {
        grid-template-columns: 1fr;
    }
}

.ga-card-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: var(--ga-radius-md) var(--ga-radius-md) 0 0;
}

.ga-card-content {
    padding: var(--ga-spacing-md);
}

.ga-card-title {
    font-size: 1.25rem;
    margin-bottom: var(--ga-spacing-sm);
}

.ga-card-title a {
    color: var(--ga-color-dark);
}

.ga-card-title a:hover {
    color: var(--ga-color-primary);
}

.ga-card-meta {
    font-size: 0.85rem;
    color: var(--ga-color-text-light);
    margin-bottom: var(--ga-spacing-sm);
}

.ga-card-excerpt {
    font-size: 0.9rem;
    color: var(--ga-color-text);
    margin-bottom: var(--ga-spacing-md);
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.ga-pagination {
    margin-top: var(--ga-spacing-xl);
    text-align: center;
}

.ga-pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: var(--ga-spacing-xs);
}

.ga-pagination a,
.ga-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--ga-spacing-sm);
    border-radius: var(--ga-radius-md);
    font-size: 0.9rem;
}

.ga-pagination a {
    background-color: var(--ga-color-light);
    color: var(--ga-color-text);
    transition: all var(--ga-transition-fast);
}

.ga-pagination a:hover {
    background-color: var(--ga-color-primary);
    color: var(--ga-color-white);
}

.ga-pagination .current {
    background-color: var(--ga-color-primary);
    color: var(--ga-color-white);
}


/* ==========================================================================
   NO CONTENT
   ========================================================================== */

.ga-no-content {
    padding: var(--ga-spacing-2xl);
}

.ga-no-content h2 {
    color: var(--ga-color-text-light);
    margin-bottom: var(--ga-spacing-md);
}


/* ==========================================================================
   PÁGINA DE LOGIN DEL PLUGIN - SOBREESCRITURA
   ========================================================================== */

/* Fondo de la página de login - Gradiente profesional azul/celeste */
.ga-login-page,
.page-template-template-login,
body.page-id-acceso,
.ga-portal-login,
[class*="login-page"],
[class*="acceso"] {
    background: linear-gradient(135deg, #0056A6 0%, #0891B2 50%, #06B6D4 100%) !important;
}

/* Contenedor principal del login del plugin */
.ga-login-container,
.ga-auth-container,
.ga-portal-container,
[class*="login-container"],
[class*="auth-container"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: calc(100vh - 150px) !important;
    padding: 40px 20px !important;
}

/* =============================================
   OCULTAR ELEMENTOS NO DESEADOS
   ============================================= */

/* Ocultar sidebar con features */
.ga-login-sidebar,
.ga-auth-sidebar,
.ga-login-features,
.ga-features-list,
[class*="login-sidebar"],
[class*="auth-features"],
[class*="features-list"],
.ga-login-container aside,
.ga-auth-container aside {
    display: none !important;
}

/* Ocultar "¿Eres freelancer o empresa?" y botón de registro */
.ga-login-register,
.ga-register-link,
.ga-register-cta,
.ga-login-divider,
[class*="register-link"],
[class*="register-cta"],
[class*="freelancer"],
.ga-login-form ~ div,
.ga-login-card > div:last-child,
.ga-auth-card > div:last-child {
    display: none !important;
}

/* Ocultar específicamente el separador "o" y registro */
.ga-login-card hr,
.ga-login-card .divider,
.ga-auth-card hr {
    display: none !important;
}

/* =============================================
   TARJETA DE LOGIN - CENTRADA
   ============================================= */

.ga-login-card,
.ga-auth-card,
.ga-login-box,
[class*="login-card"],
[class*="login-box"],
[class*="auth-card"] {
    background: #FFFFFF !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
    padding: 40px !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
}

/* Título del formulario */
.ga-login-card h1,
.ga-login-card h2,
.ga-login-card .title,
.ga-auth-card h1,
.ga-auth-card h2,
[class*="login-card"] h1,
[class*="login-card"] h2 {
    text-align: center !important;
    color: #1F2937 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.5rem !important;
}

/* Subtítulo */
.ga-login-card p,
.ga-login-card .subtitle,
.ga-auth-card .subtitle {
    text-align: center !important;
    color: #6B7280 !important;
    font-size: 0.95rem !important;
    margin-bottom: 1.5rem !important;
}

/* Labels */
.ga-login-card label,
.ga-auth-card label {
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

/* Inputs */
.ga-login-card input[type="text"],
.ga-login-card input[type="email"],
.ga-login-card input[type="password"],
.ga-auth-card input[type="text"],
.ga-auth-card input[type="email"],
.ga-auth-card input[type="password"] {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 2px solid #E5E7EB !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 1rem !important;
}

.ga-login-card input:focus,
.ga-auth-card input:focus {
    border-color: #0056A6 !important;
    box-shadow: 0 0 0 4px rgba(0, 86, 166, 0.15) !important;
    outline: none !important;
}

/* Botón de login */
.ga-login-card button[type="submit"],
.ga-login-card input[type="submit"],
.ga-login-card .btn-primary,
.ga-auth-card button[type="submit"],
.ga-auth-card .btn-primary,
[class*="login-card"] button[type="submit"] {
    width: 100% !important;
    background: linear-gradient(135deg, #0056A6 0%, #0891B2 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0, 86, 166, 0.3) !important;
    margin-top: 0.5rem !important;
}

.ga-login-card button[type="submit"]:hover,
.ga-auth-card button[type="submit"]:hover {
    background: linear-gradient(135deg, #003d75 0%, #0e7490 100%) !important;
    box-shadow: 0 6px 25px rgba(0, 86, 166, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Link de olvidé contraseña */
.ga-login-card a,
.ga-auth-card a,
[class*="login-card"] a[href*="password"],
[class*="login-card"] a[href*="forgot"] {
    color: #0056A6 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    display: block !important;
    text-align: center !important;
    margin-top: 1rem !important;
}

.ga-login-card a:hover,
.ga-auth-card a:hover {
    text-decoration: underline !important;
}

/* Checkbox recordarme */
.ga-login-card input[type="checkbox"],
.ga-auth-card input[type="checkbox"] {
    width: auto !important;
    margin-right: 8px !important;
}

/* =============================================
   RESPONSIVE MÓVIL
   ============================================= */

@media (max-width: 768px) {
    .ga-login-container,
    .ga-auth-container,
    [class*="login-container"] {
        padding: 20px 15px !important;
    }
    
    .ga-login-card,
    .ga-auth-card,
    [class*="login-card"] {
        padding: 30px 20px !important;
        border-radius: 16px !important;
    }
    
    .ga-login-card h1,
    .ga-login-card h2 {
        font-size: 1.3rem !important;
    }
}

@media (max-width: 480px) {
    .ga-login-card,
    .ga-auth-card,
    [class*="login-card"] {
        padding: 25px 18px !important;
    }
    
    .ga-login-card input[type="text"],
    .ga-login-card input[type="email"],
    .ga-login-card input[type="password"] {
        padding: 10px 14px !important;
    }
    
    .ga-login-card button[type="submit"] {
        padding: 12px 20px !important;
        font-size: 14px !important;
    }
}


/* ==========================================================================
   CORRECCIÓN NUCLEAR FOOTER - TEXTOS BLANCOS
   Esto sobreescribe CUALQUIER CSS del plugin o tema
   ========================================================================== */

/* Fondo del footer */
footer,
.footer,
#footer,
.ga-footer,
#ga-footer,
footer.ga-footer,
.site-footer,
#site-footer,
[class*="footer"]:not([class*="footer-bottom"]) {
    background-color: #0056A6 !important;
}

/* NUCLEAR: Todos los textos blancos en footer */
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer p, footer span, footer a, footer li, footer div, footer label,
footer strong, footer em, footer b, footer i,
.ga-footer h1, .ga-footer h2, .ga-footer h3, .ga-footer h4, .ga-footer h5, .ga-footer h6,
.ga-footer p, .ga-footer span, .ga-footer a, .ga-footer li, .ga-footer div,
.ga-footer label, .ga-footer strong, .ga-footer em,
#ga-footer h1, #ga-footer h2, #ga-footer h3, #ga-footer h4, #ga-footer h5, #ga-footer h6,
#ga-footer p, #ga-footer span, #ga-footer a, #ga-footer li, #ga-footer div,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer p, .site-footer span, .site-footer a, .site-footer li,
[class*="footer"] h1, [class*="footer"] h2, [class*="footer"] h3, [class*="footer"] h4,
[class*="footer"] p, [class*="footer"] span, [class*="footer"] a, [class*="footer"] li,
[class*="footer-title"],
[class*="footer-link"],
[class*="footer-text"],
[class*="footer-col"] *,
[class*="footer-contact"] *,
[class*="footer-menu"] * {
    color: #FFFFFF !important;
}

/* Línea decorativa - GRADIENTE CELESTE */
.ga-footer-accent,
[class*="footer-accent"],
[class*="footer-line"],
[class*="footer-bar"],
footer > div:first-child,
.ga-footer > div:first-child {
    background: linear-gradient(90deg, #0891B2 0%, #06B6D4 100%) !important;
    background-color: #0891B2 !important;
}

/* Ocultar cualquier línea morada/púrpura */
[style*="purple"],
[style*="violet"],
[style*="800080"],
[style*="9333EA"],
[style*="7C3AED"],
[style*="8B5CF6"] {
    background: linear-gradient(90deg, #0891B2 0%, #06B6D4 100%) !important;
}

/* Íconos de redes sociales */
footer .ga-social-link,
.ga-footer .ga-social-link,
[class*="footer"] .ga-social-link,
footer [class*="social"] a,
.ga-footer [class*="social"] a {
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

footer .ga-social-link svg,
.ga-footer .ga-social-link svg,
[class*="footer"] [class*="social"] svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

footer .ga-social-link:hover,
.ga-footer .ga-social-link:hover {
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}

footer .ga-social-link:hover svg,
.ga-footer .ga-social-link:hover svg {
    color: #0056A6 !important;
    fill: #0056A6 !important;
}

/* Barra inferior - Copyright */
.ga-footer-bottom,
[class*="footer-bottom"],
[class*="footer-copyright"],
footer [class*="bottom"] {
    background-color: #1E293B !important;
}

.ga-footer-bottom *,
[class*="footer-bottom"] *,
[class*="footer-copyright"] * {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ==========================================================================
   FIN DEL ARCHIVO
   ========================================================================== */
