/* ===== CONTENEDOR (para hover) ===== */
.card {
    position: relative;
}

/* ===== BURBUJAS BASE ===== */
.bubble {
    position: absolute;
    --size: 2rem;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    filter: blur(1px);
    z-index:50;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* ===== TAMAÑOS ===== */
.bubble-1 { --size: 1.7rem; background: #EFB509; }
.bubble-2 { --size: 3rem; background: #8FC27A; }
.bubble-3 { --size: 4.5rem; background: #9BC8F3; }

/* ===== POSICIONES CENTRADAS ===== */
.top-right {
    top: calc(var(--size) / -2);
    right: calc(var(--size) / -2);
}

.bottom-right {
    bottom: calc(var(--size) / -2);
    right: calc(var(--size) / -2);
}

.bottom-left {
    bottom: calc(var(--size) / -2);
    left: calc(var(--size) / -2);
}

/* ===== ANIMACIONES ===== */

@keyframes float1 {
    0%   { transform: translateY(0); }
    25%  { transform: translateY(-8px); }
    50%  { transform: translateY(10px); }
    100% { transform: translateY(-6px); }
}

@keyframes float2 {
    0%   { transform: translateY(0); }
    25%  { transform: translateY(12px); }
    50%  { transform: translateY(-14px); }
    100% { transform: translateY(8px); }
}

@keyframes float3 {
    0%   { transform: translateY(0) translateX(0); }
    25%  { transform: translateY(-10px) translateX(4px); }
    50%  { transform: translateY(14px) translateX(-4px); }
    100% { transform: translateY(-12px) translateX(6px); }
}

/* ===== APLICACIÓN ===== */
.bubble-1 {
    animation: float1 3.5s infinite alternate;
}

.bubble-2 {
    animation: float2 5s infinite alternate;
}

.bubble-3 {
    animation: float3 6s infinite alternate;
}

/* ===== HOVER EFFECT 🔥 ===== */
.card:hover .bubble {
    filter: blur(2px) brightness(1.2);
}

/* más movimiento + escala en hover */
.card:hover .bubble-1 {
    animation-duration: 2s;
    transform: scale(1.2);
}

.card:hover .bubble-2 {
    animation-duration: 3s;
    transform: scale(1.25);
}

.card:hover .bubble-3 {
    animation-duration: 4s;
    transform: scale(1.15);
}

body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: system-ui, sans-serif;
}

.glass {
    background: rgba(255, 250, 250, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #16253D
}

.glass-dark {
    background: rgba(22, 37, 61, 0.8);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.animate-shimmer {
    animation: shimmer 2s linear infinite;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    background-size: 200% 100%;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Navbar */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    transition: all 0.3s;
    background-color: var(--background);
}

.navbar.scrolled {
    background-color: var(--navy);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.navbar .navbar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.navbar a {
    text-decoration: none;
    color: var(--snow);
    font-weight: bold;
    padding: 10px;
}

.navbar .menu-button {
    
}

@media (max-width: 1024px) {
    .navbar .menu-button {
        display: block;
    }
}

.fade-up {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Animación de elementos flotantes */
@keyframes float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

.animate-float {
    animation: float 2s ease-in-out infinite;
}