/* Estilos responsivos para Optisense Industrial */

@media (max-width: 1200px) {
    .container {
        padding: 30px 15px;
    }
    
    .hero-section {
        height: 70vh;
    }
}

@media (max-width: 992px) {
    .logo {
        font-size: 2rem;
    }
    
    .tagline {
        font-size: 1.3rem;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .gallery-item, .portfolio-item, .service-card {
        max-width: 280px;
    }
}

@media (max-width: 1200px) {
    .container {
        padding: 30px 15px;
    }
    
    .hero-section {
        height: 70vh;
    }
}

@media (max-width: 992px) {
    .logo {
        font-size: 2rem;
    }
    
    .tagline {
        font-size: 1.3rem;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .gallery-item, .portfolio-item, .service-card {
        max-width: 280px;
    }
}

@media (max-width: 768px) {
    .contact-grid, .footer-grid {
        flex-direction: column;
    }
    
    .contact-info, .contact-form-container {
        width: 100%;
        margin-bottom: 30px;
    }
    
    .hero-section {
        height: 60vh;
    }
    
    .logo {
        font-size: 1.8rem;
    }
    
    .tagline {
        font-size: 1.2rem;
    }
    
    .description {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.6rem;
    }
    
    .gallery-item, .portfolio-item, .service-card {
        max-width: 100%;
    }
    
    .testimonials-slider {
        height: 300px;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-bottom-links {
        margin-top: 15px;
    }
    
    .footer-bottom-links a {
        margin: 0 10px;
    }
    
    nav {
        padding: 5px;
    }
    
    nav a {
        font-size: 16px;
        margin: 5px;
    }
}

@media (max-width: 576px) {
    .hero-section {
        height: 50vh;
    }
    
    .logo {
        font-size: 1.6rem;
    }
    
    .tagline {
        font-size: 1.1rem;
    }
    
    .cta-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    .section-title {
        font-size: 1.4rem;
    }
    
    .stats-grid {
        gap: 15px;
    }
    
    .stat-item {
        width: 150px;
        padding: 15px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .testimonials-slider {
        height: 350px;
    }
    
    .video-container video,
    .video-container iframe {
        height: auto;
    }
	
	/* Estilos responsive para el formulario de contacto */
@media screen and (max-width: 1024px) {
    .contact-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media screen and (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-form-container {
        margin-top: 30px;
    }
    
    .form-group {
        margin-bottom: 15px;
    }
    
    .form-group label {
        margin-bottom: 5px;
    }
    
    .form-group input,
    .form-group textarea {
        padding: 12px;
        font-size: 16px; /* Mejor tamaño para móviles */
    }
    
    .submit-button {
        width: 100%;
        padding: 14px;
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    .contact-section {
        padding: 40px 0;
    }
    
    .contact-details {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    
    .contact-item {
        padding: 15px;
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 5px;
    }
    
    .contact-item h3 {
        margin-top: 0;
        margin-bottom: 5px;
    }
    
    .contact-item p {
        margin: 0;
    }
}
