/* ══════════════════════════════════════════
   RESPONSIVIDADE — SITE + ADMIN
   ══════════════════════════════════════════ */

html, body { overflow-x: clip; }

/* ── SITE ─────────────────────────────── */

.navbar { overflow-x: clip; }

@media (max-width: 991px) {
    .navbar-collapse .navbar-nav { padding: .5rem 0; text-align: center; }
    .navbar-collapse .nav-link   { padding: .6rem 1rem !important; }
    .navbar-collapse .dropdown-menu { position: static !important; box-shadow: none; border: none; padding-left: 0; text-align: center; }
}

img { max-width: 100%; height: auto; }

.table-responsive-always { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
    .servico-row img { width: 36px !important; height: 36px !important; }

    .card-img-top { height: 180px !important; }

    section.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
    section.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }

    .section-title { font-size: 1.25rem; }

    .mais-noticias a { font-size: .85rem; }

    .col-sm-12.col-md-6.col-lg-4 { margin-bottom: .75rem; }

    footer .row > [class*="col-"]           { margin-bottom: 1.2rem; }
    footer .row > [class*="col-"]:last-child { margin-bottom: 0; }
}

@media (max-width: 480px) {
    body { font-size: .9rem; }
    .noticia-destaque .col-md-6 { padding: 0; }
    .parceiro-logo-card     { width: 110px !important; height: 60px !important; }
    .parceiro-logo-card img { max-height: 34px !important; }
}

/* ── ADMIN (Mazer) ─────────────────────── */

@media (max-width: 991px) {
    #sidebar {
        z-index: 1050;
    }
}

@media (max-width: 767px) {
    .card-body .table-responsive,
    .card-body > .table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .btn-sm { font-size: .75rem; padding: .25rem .5rem; }

    .page-heading .d-flex { flex-direction: column; align-items: flex-start !important; gap: .5rem; }
    .card-body { padding: .75rem !important; }

    .mb-3 .input-group { flex-wrap: wrap; }
    .mb-3 .input-group input[type="text"] { flex: 1 1 0; min-width: 80px; }
}

/* ── Acessibilidade: painel mobile ────── */
@media (max-width: 767px) {
    #acc-fab { width: 40px !important; height: 46px !important; font-size: 1.05rem !important; }
    #acc-fab:hover { width: 40px !important; }
    #acc-fab::after { display: none !important; }

    #acc-painel {
        right: 0 !important; left: 0 !important; width: auto !important;
        max-width: 100vw !important; top: auto !important; bottom: 0 !important;
        border-radius: 16px 16px 0 0 !important; max-height: 80vh !important; overflow-y: auto !important;
    }
}

/* ── VLibras ──────────────────────────── */
[vw] {
    position: fixed !important; top: 50% !important; bottom: auto !important;
    right: 0 !important; left: auto !important;
    transform: translateY(-50%) !important; z-index: 99990 !important; overflow: visible !important;
}
[vw-access-button] {
    position: relative !important; top: auto !important; bottom: auto !important;
    left: auto !important; right: auto !important; transform: none !important;
}
[vw-plugin-wrapper] {
    right: 0 !important; left: auto !important;
    max-width: 100vw !important; overflow-x: hidden !important;
}
