/* Fuentes personalizadas */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'Onest';
    src: url('../fonts/Onest.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'Iceberg';
    src: url('../fonts/Iceberg.woff2') format('woff2');
    font-display: swap;
}

/* Clases de fuentes */
.font-iceberg {
    font-family: 'Iceberg', sans-serif;
}

.font-poppins {
    font-family: 'Poppins', sans-serif;
}

.font-onest {
    font-family: 'Onest', sans-serif;
}

/* Estilos del select personalizado */
select#region {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" height="20" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right .3rem center;
    background-size: 1.5em;
    width: 140px;
}

/* Animaciones del menú */
.open-menu-animation {
    animation: open-menu 0.2s ease-in-out forwards;
}

@keyframes open-menu {
    0% {
        opacity: 0;
        transform: translateY(-5%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.close-menu-animation {
    animation: close-menu 0.2s ease-in-out forwards;
}

@keyframes close-menu {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-5%);
    }
}

/* Animaciones de fade-in */
.fade-in-animation p,
.fade-in-animation div {
    animation: fade-in 0.4s ease-in-out forwards;
}

.fade-in-animation p:nth-child(2) {
    opacity: 0;
    animation-delay: 0.2s;
}

.fade-in-animation p:nth-child(3) {
    opacity: 0;
    animation-delay: 0.4s;
}

.fade-in-animation p:nth-child(4) {
    opacity: 0;
    animation-delay: 0.8s;
}

.fade-in-animation div {
    opacity: 0;
    animation-delay: 0.7s;
}

@keyframes fade-in {
    0% {
        transform: translateY(-15px) scale(1.1);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Animación de opacidad */
.opacity-animation {
    animation: opacity-animation 1s ease-in-out forwards;
}

@keyframes opacity-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Estilos generales */
p, p a {
    text-wrap: pretty;
}

/* Ajustes para mejor compatibilidad entre navegadores */
.scroll-smooth {
    scroll-behavior: smooth;
}

/* Medidas responsivas adicionales */
@media (prefers-reduced-motion: reduce) {
    .scroll-smooth {
        scroll-behavior: auto;
    }
    
    .fade-in-animation p,
    .fade-in-animation div,
    .opacity-animation {
        animation: none !important;
        opacity: 1 !important;
    }
}

/* Ajustes para el grid de características */
.features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

@media (min-width: 768px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .features-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}