/* Screen-only mobile foundation shared by public, admin and standalone pages. */
@media screen {
    .prj-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    table.table-mobile-cards { width: 100% !important; min-width: 0 !important; }
}
@media screen and (max-width: 991.98px) {
    main, .content, .block, .block-content, .card, .card-body, .row > *, .d-flex > * { min-width: 0; }
    main, .content, .block, .card { overflow-wrap: anywhere; }
    .prj-table-scroll, .table-responsive { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .prj-table-scroll:focus-visible { outline: 2px solid #0d6efd; outline-offset: 2px; }
    .nav-tabs, .nav-pills, .pagination { flex-wrap: wrap; }
    .site-navbar .navbar-collapse { max-height: calc(100dvh - 5rem); overflow-y: auto; }
    .site-navbar .dropdown-menu { min-width: 0; max-width: 100%; }
    .site-navbar .dropdown-item { white-space: normal; overflow-wrap: anywhere; }
    .site-brand-text, .site-topbar-info a { min-width: 0; overflow-wrap: anywhere; }
    .site-topbar-info { justify-content: flex-start; }
    .block-header, .modal-header, .modal-footer { flex-wrap: wrap; gap: .5rem; }
    .block-header .block-options { display: flex; flex-wrap: wrap; gap: .4rem; margin-left: 0; }
    .block-title, .modal-title { white-space: normal; overflow-wrap: anywhere; }
    .select2-container { max-width: 100%; }
    .select2-container .select2-selection--single .select2-selection__rendered { overflow: hidden; text-overflow: ellipsis; }
    .dataTables_wrapper { max-width: 100%; min-width: 0; }
    .dataTables_wrapper .dataTables_filter label { display: block; white-space: normal; }
    .dataTables_wrapper .dataTables_filter input { max-width: 100%; margin-left: 0; }
    .modal-dialog { max-width: calc(100% - 1rem); margin-inline: auto; }
    .modal-body, .modal-content { min-width: 0; }
    .modal-body { overflow-wrap: anywhere; }
    main img, main video, .prj-content img, .prj-card img { max-width: 100%; height: auto; }
    .prj-content iframe, .prj-card iframe, .noticia-corpo iframe { max-width: 100%; }
    pre { max-width: 100%; overflow-x: auto; }
}
@media screen and (max-width: 767.98px) {
    .table-mobile-cards { width: 100% !important; min-width: 0 !important; }
    .table-mobile-cards tbody, .table-mobile-cards tr, .table-mobile-cards td { box-sizing: border-box; min-width: 0 !important; max-width: 100%; }
    .table-mobile-cards td { width: 100% !important; white-space: normal !important; overflow-wrap: anywhere; }
    .table-mobile-cards td[data-label]::before { float: none; display: block; margin: 0 0 .25rem; text-align: left; }
    .table-mobile-cards td[data-label] { text-align: left; }
    .table-mobile-cards [hidden] { display: none !important; }
    .table-mobile-cards td .btn-group { flex-wrap: wrap; gap: .25rem; max-width: 100%; }
    .table-mobile-cards td .btn { white-space: normal; }
    .form-control, .form-select, .select2-search__field { font-size: 16px; max-width: 100%; }
    input[type="file"] { width: 100%; min-width: 0; }
    .btn, .navbar-toggler { min-height: 44px; }
    .btn { white-space: normal; }
    .input-group { min-width: 0; }
    .input-group > .form-control, .input-group > .form-select { min-width: 0; }
    .site-navbar > .container { column-gap: .35rem; }
    .site-navbar .btn-prj-cta { min-width: 0; white-space: normal; flex: 1; max-width: 14rem; text-align: center; justify-content: center; }
    .site-navbar .navbar-brand, .site-navbar .navbar-toggler { flex-shrink: 0; }
    .site-navbar .nav-link, .site-navbar .dropdown-item { padding-block: .7rem; }
    .site-topbar .site-topbar-info { justify-content: flex-start; gap: .5rem 1rem; }
    .site-brand img { flex-shrink: 0; }
    .prj-card, .prj-content { padding: 1rem; }
    .prj-alert { overflow-wrap: anywhere; }
    .modal-dialog-scrollable { height: calc(100dvh - 1rem); }
    .modal-footer > .btn { flex: 1 1 auto; }
    #page-header .content-header { gap: .5rem; }
    #titulo-pagina { white-space: normal; overflow-wrap: anywhere; }
    #modalContentAssinatura { width: calc(100% - 1rem) !important; max-height: calc(100dvh - 1rem) !important; overflow-y: auto; padding: .75rem !important; }
    #modalContentAssinatura .d-flex, #modalContentAssinatura > div:first-child { flex-wrap: wrap; }
}
@media screen and (max-width: 359.98px) {
    .site-navbar .btn-prj-cta { font-size: .75rem; padding-inline: .4rem; }
    .site-brand-text strong { font-size: .9rem; }
}
@media print { .prj-table-scroll { overflow: visible; } }
