/* IMPORTACIÓN DE FUENTES E ICONOS (Antes estaban en el HTML) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons+Round');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

/* CONFIGURACIÓN BASE */
html { scroll-behavior: smooth; }
body { min-height: max(884px, 100dvh); }

/* SCROLLBARS */
.hide-scrollbar::-webkit-scrollbar, .no-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar, .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* EFECTOS GLASSMORPHISM */
.glass-nav {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.dark .glass-nav {
    background: rgba(15, 27, 35, 0.7);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.glass-card, .glass {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 8px 32px 0 rgba(0, 51, 87, 0.1);
}
.dark .glass-card, .dark .glass {
    background: rgba(0, 51, 87, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
}

/* FONDOS Y PATRONES */
.bg-grid {
    background-size: 40px 40px;
    background-image: linear-gradient(to right, rgba(0, 51, 87, 0.05) 1px, transparent 1px),
                      linear-gradient(to bottom, rgba(0, 51, 87, 0.05) 1px, transparent 1px);
}
.bg-pattern {
    background-image: radial-gradient(#003357 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.05;
}
.footer-lines {
    background: linear-gradient(90deg, transparent 49%, rgba(255, 255, 255, 0.03) 50%, transparent 51%),
                linear-gradient(0deg, transparent 49%, rgba(255, 255, 255, 0.03) 50%, transparent 51%);
    background-size: 100px 100px;
}

/* ANIMACIONES */
@keyframes float-center {
    0%, 100% { transform: translateY(0px) translateX(0px); }
    50% { transform: translateY(-5px) translateX(2px); }
}
@keyframes ripple {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 52, 88, 0.2); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 20px rgba(0, 52, 88, 0); }
    100% { transform: scale(1.1); box-shadow: 0 0 0 0 rgba(0, 52, 88, 0); }
}
.animate-float-1 { animation: float-center 4s ease-in-out infinite; }
.animate-float-2 { animation: float-center 5s ease-in-out infinite reverse; }
.animate-float-slow { animation: float-center 6s ease-in-out infinite; }
.pulse-ring { animation: ripple 2s linear infinite; }