/* Estilos del menú móvil */
@media (max-width: 768px) {
    .nav-toggle {
        display: block !important;
    }

    .nav-container {
        padding: 0.5rem 1rem;
    }

    .nav-links {
        position: fixed;
        top: 60px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 60px);
        background: var(--bg-white);
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 2rem 1rem;
        gap: 2rem;
        transition: left 0.3s ease-in-out;
        z-index: 999;
    }

    .nav-links.active {
        left: 0;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .nav-links li {
        width: 100%;
        text-align: center;
    }

    .nav-links li a {
        display: block;
        padding: 1rem;
        font-size: 1.2rem;
        color: var(--text-primary);
    }

    /* Asegurar que las imágenes se vean y sean responsivas en móvil */
    .hero-img,
    .contact-img {
        display: block !important; /* Asegura que se muestren */
        max-width: 100%; /* Hace la imagen responsiva */
        height: auto; /* Mantiene la proporción de la imagen */
        margin: 0 auto; /* Centra la imagen si es un elemento de bloque */
    }
    /* Centrar cualquier imagen dentro de los contenedores relevantes */
    .hero-content,
    .contact-container {
        text-align: center; /* Centra el contenido en línea, incluyendo imágenes */
    }

    /* Ajustes de contenido para móvil */
    .hero {
        padding-top: 40px; /* Reducido para menor espacio en móvil */
    }

    .hero-content {
        flex-direction: column;
        text-align: center;
        padding: 2rem 1rem;
    }

    .hero-text {
        width: 100%;
    }

    .hero h1 {
        font-size: 2rem;
    }

    .service-grid {
        grid-template-columns: 1fr;
        padding: 0 1rem;
    }

    .contact-container {
        grid-template-columns: 1fr;
        padding: 0 1rem;
    }

    .contact-form {
        width: 100%;
    }

    .btn {
        width: 100%;
    }
    .hero {
        padding-bottom: 20px; /* Reducir espacio inferior del hero en móvil */
    }

    .about {
        padding-top: 40px; /* Reducir espacio superior del about en móvil */
    }
}

/* Animaciones del botón hamburguesa */
.nav-toggle.active .hamburger {
    background: transparent;
}

.nav-toggle.active .hamburger::before {
    transform: translateY(0) rotate(45deg);
}

.nav-toggle.active .hamburger::after {
    transform: translateY(0) rotate(-45deg);
}

/* Prevenir scroll cuando el menú está abierto */
body.menu-open {
    overflow: hidden;
}
