/* ========================================
   ARCHIVO PRINCIPAL DE ESTILOS
   ======================================== */

/* Base y utilidades */
@import url('./sections/_base.css');
@import url('./sections/_utilities.css');
@import url('./sections/_color-consistency.css');

/* Accesibilidad y audio */
@import url('./sections/_accessibility.css');
@import url('./sections/_audio.css');

/* Layout y estructura */
@import url('./sections/_layout.css');
@import url('./sections/_backgrounds.css');

/* Componentes principales */
@import url('./sections/_header.css');
@import url('./sections/_footer.css');
@import url('./sections/_galeria.css');

/* Secciones de contenido */
@import url('./sections/_detalles.css');
@import url('./sections/_itinerario.css');
@import url('./sections/_dresscode.css');
@import url('./sections/_dresscodeblock.css');
@import url('./sections/_ubicaciones.css');
@import url('./sections/_regalos.css');
@import url('./sections/_rsvp.css');
@import url('./sections/_dropdown-styles.css');
@import url('./sections/_custom-dropdown.css');
@import url('./sections/_gift-title-fix.css');
@import url('./sections/_social.css');
@import url('./sections/_hospedaje.css');
@import url('./sections/_parents.css');
@import url('./sections/_sponsors.css');
@import url('./sections/_final.css');
@import url('./sections/_moneyshower.css');

/* Animaciones y media queries */
@import url('./sections/_animations.css');
@import url('./sections/_mediaqueries.css');

/* Eliminación de efectos hover en títulos */
@import url('./sections/_no-hover.css');

/* ========================================
   ANIMACIÓN DE TYPING PARA NOMBRES DE PADRES
   ======================================== */

.typing-animation {
    position: relative;
    overflow: hidden;
    display: block; /* Cambiar a block para permitir saltos de línea */
    white-space: normal; /* Permitir saltos de línea */
    width: 100%; /* Usar todo el ancho disponible */
    max-width: 600px; /* Ancho máximo más amplio */
    margin: 0 auto; /* Centrar el elemento */
    opacity: 0;
}

.typing-animation.animate {
    opacity: 1;
    animation: reveal-text 2.5s steps(30, end);
}

/* Animación más rápida para subtítulos */
.parent-subtitle.typing-animation.animate {
    animation: reveal-text 1.5s steps(20, end);
}

.typing-animation::after {
    content: '';
    position: absolute;
    right: -2px;
    top: 0;
    height: 100%;
    width: 2px;
    background: var(--color-accent);
    animation: blink 0.75s infinite;
    opacity: 0;
}

.typing-animation.animate::after {
    opacity: 1;
}

@keyframes reveal-text {
    from { 
        clip-path: inset(0 100% 0 0); /* Ocultar todo el texto */
    }
    to { 
        clip-path: inset(0 0% 0 0); /* Mostrar todo el texto */
    }
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

.typing-animation.completed {
    opacity: 1;
    clip-path: inset(0 0% 0 0); /* Asegurar que esté completamente visible */
}