/* Estilos adicionais para responsividade */

/* Tablets e dispositivos médios */
@media (max-width: 1024px) {
    header {
        padding: 15px 20px;
    }
    
    nav ul {
        gap: 15px;
    }
    
    .center-logo {
        margin: 30px 0;
    }
    
    .animated-logo {
        width: 180px;
    }
    
    .services {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .service-item {
        text-align: center;
        padding: 10px;
    }
    
    .separator {
        display: none;
    }
}

/* Dispositivos móveis - landscape */
@media (max-width: 768px) {
    header {
        flex-direction: column;
        padding: 10px 15px;
    }
    
    .logo {
        margin-bottom: 10px;
    }
    
    nav {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    nav ul {
        width: max-content;
        padding-bottom: 5px;
    }
    
    .auth-buttons {
        width: 100%;
        justify-content: center;
        margin-top: 10px;
    }
    
    .animated-logo {
        width: 150px;
    }
    
    .services {
        flex-direction: column;
        gap: 20px;
    }
    
    .service-item {
        width: 100%;
    }
    
    .modal-content {
        width: 90%;
        margin: 15% auto;
    }
}

/* Dispositivos móveis - portrait */
@media (max-width: 480px) {
    header {
        padding: 10px;
    }
    
    .logo img {
        height: 30px;
    }
    
    nav ul {
        gap: 10px;
    }
    
    nav ul li a {
        font-size: 14px;
    }
    
    .btn-cadastrar, .btn-entrar {
        padding: 8px 15px;
        font-size: 14px;
    }
    
    .animated-logo {
        width: 120px;
    }
    
    .service-item h3 {
        font-size: 16px;
    }
    
    .modal-content {
        padding: 20px 15px;
        margin: 20% auto;
    }
    
    .close-modal {
        top: 10px;
        right: 15px;
    }
    
    .form-group {
        margin-bottom: 15px;
    }
    
    .form-group input {
        padding: 10px;
    }
    
    .btn-submit {
        padding: 10px;
    }
}

/* Ajustes para telas muito pequenas */
@media (max-width: 360px) {
    nav ul li a {
        font-size: 12px;
    }
    
    .auth-buttons {
        flex-direction: column;
        gap: 10px;
    }
    
    .btn-cadastrar, .btn-entrar {
        width: 100%;
        text-align: center;
    }
}

/* Ajustes para orientação landscape em dispositivos móveis */
@media (max-height: 500px) and (orientation: landscape) {
    .center-logo {
        margin: 15px 0;
    }
    
    .animated-logo {
        width: 100px;
    }
    
    .modal-content {
        margin: 5% auto;
        max-height: 80vh;
        overflow-y: auto;
    }
}

/* Suporte para telas de alta resolução */
@media (min-width: 1440px) {
    .center-logo {
        margin: 60px 0;
    }
    
    .animated-logo {
        width: 250px;
    }
    
    header {
        padding: 25px 80px;
    }
    
    nav ul li a {
        font-size: 18px;
    }
    
    .btn-cadastrar, .btn-entrar {
        padding: 12px 25px;
        font-size: 16px;
    }
    
    .service-item h3 {
        font-size: 20px;
    }
}

/* Ajustes para acessibilidade */
@media (prefers-reduced-motion: reduce) {
    .animated-logo, .wave-container, .service-hover-effect {
        animation: none !important;
        transition: none !important;
    }
}

/* Ajustes para modo escuro do sistema */
@media (prefers-color-scheme: dark) {
    :root {
        --shadow-color: rgba(0, 0, 0, 0.4);
    }
}
