﻿/* Estilos generales del cuerpo */
body {
    font-family: 'Inter', sans-serif;
    background-color: #f8fafc; /* Tailwind: bg-slate-50 */
    color: #334155; /* Tailwind: text-slate-700 */
}

/* Añade esta propiedad para corregir el desplazamiento de anclaje debajo de la barra de navegación fija */
html {
    scroll-padding-top: 6rem; /* Ajusta este valor si tu barra de navegación es más alta o más baja */
    scroll-behavior: smooth; /* Opcional: Hace el desplazamiento más suave */
}

/* Estilo para los títulos de sección */
.section-title {
    text-align: center;
    margin-bottom: 2rem; /* 32px */
    font-size: 2.25rem; /* text-4xl */
    font-weight: 800; /* font-extrabold */
    color: #1e40af; /* text-blue-800 */
}

/* Estilo para las tarjetas (cards) */
.card {
    background-color: white;
    padding: 1.5rem; /* 24px */
    border-radius: 0.75rem; /* 12px */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-lg */
    transition-property: all;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); /* transition-shadow duration-300 */
}

.card:hover {
    transform: translateY(-5px); /* hover:translate-y-[-5px] */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* hover:shadow-xl */
}

/* Estilo para los botones primarios */
.btn-primary {
    display: inline-block;
    background-color: #2563eb; /* bg-blue-600 */
    color: white;
    padding: 0.75rem 1.5rem; /* py-3 px-6 */
    border-radius: 0.5rem; /* rounded-lg */
    font-weight: 600; /* font-semibold */
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #1d4ed8; /* hover:bg-blue-700 */
}

/* Estilo para los enlaces de navegación */
.nav-link {
    color: #334155; /* text-slate-700 */
    padding-left: 1rem; /* px-4 */
    padding-right: 1rem; /* px-4 */
    padding-top: 0.5rem; /* py-2 */
    padding-bottom: 0.5rem; /* py-2 */
    border-radius: 0.5rem; /* rounded-lg */
    transition-property: all; /* Simplificado para color */
    transition-duration: 200ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); /* ease-in-out */
}

.nav-link:hover {
    color: #1d4ed8; /* hover:text-blue-700 */
}

/* Animaciones para la sección Hero */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-fade-in-down {
    animation: fadeInDown 1s ease-out forwards;
}

.animate-fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
    animation-delay: 0.3s; /* Retraso para que aparezca después del título */
    opacity: 0; /* Asegura que esté oculto antes de la animación */
}

.animate-fade-in-up-delay {
    animation: fadeInUp 1s ease-out forwards;
    animation-delay: 0.6s; /* Retraso para que aparezca después de la descripción */
    opacity: 0; /* Asegura que esté oculto antes de la animación */
}

.animate-fade-in-right {
    animation: fadeInRight 1s ease-out forwards;
    animation-delay: 0.9s; /* Retraso para que aparezca después del botón */
    opacity: 0; /* Asegura que esté oculto antes de la animación */
}

/* Estilos para el video */
video {
    max-width: 100%;
    height: auto;
}

/* Pequeño ajuste para enlaces dentro de los dropdowns */
.nav-link-dropdown {
    white-space: nowrap; /* Evita que el texto se rompa en varias líneas */
}

/* Media Queries para responsividad, si es necesario */
@media (max-width: 768px) {
    .section-title {
        font-size: 1.75rem; /* Ajusta el tamaño del título para móviles */
    }
}