/* Responsividade Global e Ajustes de UX */

/* Ajustes de Tipografia Fluida */
@media (max-width: 1199.98px) {
    .display-4 { font-size: 3rem; }
}

@media (max-width: 991.98px) {
    /* Navbar Mobile */
    .navbar { padding: 0.8rem 0; }
    .navbar-collapse { 
        background: white; 
        padding: 1.5rem; 
        border-radius: 1.5rem; 
        box-shadow: 0 1rem 3rem rgba(0,0,0,0.15); 
        margin-top: 1rem; 
        border: 1px solid rgba(0,0,0,0.05);
    }
    .nav-link { 
        padding: 0.8rem 1rem !important; 
        border-bottom: 1px solid rgba(0,0,0,0.05);
    }
    .nav-link:last-child { border-bottom: none; }
    .nav-link::after { display: none; }
    
    /* Hero Section */
    .hero-section { height: auto; min-height: 100vh; padding: 0; position: relative; }
    .hero-section #heroCarousel { position: relative !important; height: 100vh !important; }
    .carousel-caption { padding-top: 100px; padding-bottom: 40px; }
    .display-4 { font-size: 2.5rem; }
    .hero-overlay { background: linear-gradient(180deg, rgba(10, 37, 64, 0.95) 0%, rgba(10, 37, 64, 0.8) 100%); }
    
    /* Seções */
    .py-5 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
    #servicos { margin-top: 0; position: relative; z-index: 5; }
}

@media (max-width: 767.98px) {
    /* Tipografia */
    .display-4 { font-size: 2.2rem; }
    h2 { font-size: 1.75rem; }
    
    /* Hero */
    .hero-section { padding-top: 80px; }
    .carousel-caption { text-align: center !important; }
    .carousel-caption .container .row > div { text-align: center !important; }
    .carousel-caption .d-flex { justify-content: center !important; }
    
    /* Botões Flutuantes */
    .floating-buttons { bottom: 15px !important; right: 15px !important; gap: 8px !important; }
    .floating-buttons a, .floating-buttons button { width: 45px !important; height: 45px !important; font-size: 20px !important; }
    
    /* Footer */
    footer { text-align: center; }
    footer .col-lg-3 { margin-bottom: 2rem; }
    footer .d-flex { justify-content: center !important; }
    footer ul { padding-left: 0; }
    
    /* Cards */
    .card { margin-bottom: 1rem; }
}

@media (max-width: 575.98px) {
    .display-4 { font-size: 1.8rem; }
    .lead { font-size: 1rem; }
    .btn-lg { padding: 0.6rem 1.5rem; font-size: 1rem; }
}

/* Utilitários de Visibilidade Responsiva */
.w-sm-100 { width: 100% !important; }
@media (min-width: 576px) {
    .w-sm-auto { width: auto !important; }
}

/* Ajustes de Scroll Suave */
html { scroll-behavior: smooth; }

/* Melhoria no toque para dispositivos móveis */
a, button { touch-action: manipulation; }

/* Ajuste de imagens responsivas */
img { max-width: 100%; height: auto; }
