/* Estilos adicionales para mejorar espaciados y tamaños en móviles y tablets */

/* Mejoras generales para todos los dispositivos móviles */
@media (max-width: 1024px) {
    /* Mejora de espaciado general */
    p {
        margin-bottom: 1em;
    }
    
    /* Mejora de legibilidad de textos */
    .subtitle, 
    .feature-description, 
    .service-description,
    .project-description p,
    .footer-about p {
        line-height: 1.6;
        letter-spacing: 0.01em;
    }
    
    /* Mejora de botones para evitar encimamiento */
    .btn {
        margin: 10px 5px;
        min-height: 44px; /* Altura mínima para mejor usabilidad táctil */
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Mejora de formularios */
    .form-control {
        min-height: 44px; /* Altura mínima para mejor usabilidad táctil */
    }
    
    /* Mejora de espaciado en secciones */
    .section-header {
        padding: 0 10px;
    }
}

/* Ajustes específicos para tablets */
@media (min-width: 768px) and (max-width: 1024px) {
    /* Ajuste de grid para evitar elementos demasiado estrechos */
    .features-grid,
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Ajuste de tamaño de texto para mejor legibilidad */
    .feature-title, 
    .service-title {
        font-size: 22px;
    }
    
    /* Ajuste de botones para evitar encimamiento */
    .hero-buttons {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    /* Ajuste de espaciado en contacto */
    .contact-container {
        column-gap: 40px;
    }
}

/* Ajustes específicos para móviles medianos */
@media (max-width: 767px) {
    /* Mejora de espaciado vertical */
    section {
        padding: 60px 0;
    }
    
    section + section {
        padding-top: 40px;
    }
    
    /* Mejora de espaciado en textos */
    .overlay-text p {
        padding: 0 20px;
        margin-bottom: 15px;
    }
    
    /* Ajuste de botones para evitar encimamiento */
    .form-button-container .btn {
        width: 100%;
        max-width: 100%;
    }
    
    /* Mejora de espaciado en contacto */
    .contact-info-container {
        padding: 0 10px;
    }
    
    /* Mejora de visualización de videos */
    .video-container {
        margin: 0 auto;
    }
}

/* Ajustes específicos para móviles pequeños */
@media (max-width: 480px) {
    /* Mejora de espaciado vertical */
    .section-header {
        margin-bottom: 25px;
    }
    
    /* Ajuste de tamaño de texto para mejor legibilidad */
    .section-header h2 {
        font-size: 24px;
        line-height: 1.3;
    }
    
    /* Mejora de espaciado en textos */
    .subtitle {
        font-size: 14px;
        line-height: 1.5;
    }
    
    /* Ajuste de botones para evitar encimamiento */
    .btn {
        padding: 10px 15px;
        font-size: 14px;
    }
    
    /* Mejora de espaciado en contacto */
    .contact-item {
        align-items: flex-start;
    }
    
    /* Mejora de visualización de videos */
    .play-button {
        width: 55px;
        height: 55px;
    }
}

/* Ajustes específicos para móviles muy pequeños */
@media (max-width: 360px) {
    /* Ajuste de tamaño de texto para mejor legibilidad */
    body {
        font-size: 14px;
    }
    
    .section-header h2 {
        font-size: 22px;
    }
    
    /* Mejora de espaciado en textos */
    .subtitle {
        font-size: 13px;
    }
    
    /* Ajuste de botones para evitar encimamiento */
    .btn {
        padding: 8px 12px;
        font-size: 13px;
    }
}
