/**
 * Regras de responsividade globais – Site Câmara Louveira.
 * Garante uso correto em celular, tablet e desktop.
 */

/* ========== Containers e conteúdo principal ========== */
@media (max-width: 575.98px) {
    .container,
    .container-xxl,
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    #conteudo .container-fluid,
    #conteudo .container-xxl {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* ========== Tabelas – scroll horizontal em mobile ========== */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
@media (max-width: 767.98px) {
    .table {
        font-size: 0.875rem;
    }
    .table th,
    .table td {
        padding: 0.5rem;
        white-space: nowrap;
    }
}

/* ========== Iframes (YouTube, transmissão) ========== */
iframe {
    max-width: 100%;
}
.embed-responsive,
.ratio.ratio-16x9 {
    max-width: 100%;
    overflow: hidden;
}
.embed-responsive iframe,
.ratio iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ========== Formulários em mobile ========== */
@media (max-width: 575.98px) {
    .d-flex.gap-2 {
        flex-wrap: wrap;
    }
    .d-flex.gap-2 .form-control,
    .d-flex.gap-2 .form-select {
        flex: 1 1 100%;
        min-width: 0;
    }
    form .row .col-md-2,
    form .row .col-md-3,
    form .row .col-md-4,
    form .row .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .input-group {
        flex-wrap: nowrap;
    }
    .input-group .form-control {
        min-width: 0;
    }
}

/* ========== Imagens em conteúdo ========== */
img.img-fluid,
main img:not([width]):not([height]) {
    max-width: 100%;
    height: auto;
}

/* ========== Home – blocos específicos ========== */
@media (max-width: 767.98px) {
    /* Transmissão + Links: uma coluna */
    .container-xxl .row > .col-lg-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    /* Iframe de transmissão: altura proporcional em tablet/mobile */
    .container-xxl iframe[title*="video"],
    .container-xxl iframe[title*="YouTube"] {
        max-height: 280px;
    }
    /* Atividade Legislativa: formulários em coluna */
    .container-xxl .row.text-center.mt-4 .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 575.98px) {
    /* Iframe transmissão: altura menor em celular */
    .container-xxl iframe[title*="video"],
    .container-xxl iframe[title*="YouTube"] {
        max-height: 220px;
        height: 220px !important;
    }
    /* Atalhos: scroll horizontal já existe; garantir toque */
    .shortcut-buttons-scroll {
        -webkit-overflow-scrolling: touch;
    }
    /* Título + subtítulo da atividade legislativa */
    .vereadores-title-box {
        flex-wrap: wrap;
    }
    .vereadores-title-box h2,
    .vereadores-title-box span {
        display: block;
        width: 100%;
    }
}

/* ========== Cards e grids genéricos ========== */
@media (max-width: 767.98px) {
    .row.g-3 > [class*="col-"],
    .row.g-4 > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media (max-width: 575.98px) {
    .item-boxes {
        padding: 1rem;
    }
}

/* ========== Barra “Pesquisa de Propostas” ========== */
@media (max-width: 575.98px) {
    .text-white.p-2.d-flex.align-items-center {
        flex-wrap: wrap;
        font-size: 0.9rem;
    }
}

/* ========== Documentos (lista) ========== */
@media (max-width: 767.98px) {
    .documentos-item {
        flex-wrap: wrap;
    }
    .documentos-item-title {
        width: 100%;
    }
    .documentos-btn {
        margin-top: 0.5rem;
    }
}

/* ========== Conteúdo principal sempre visível ========== */
/* Garante que o main não colapse em layout flex (body.d-flex.flex-column) */
body.d-flex.flex-column main#conteudo,
body.d-flex.flex-column #conteudo.main-content {
    flex: 1 0 auto;
    min-height: 0;
    display: block;
}
#conteudo > .container-fluid,
#conteudo > .container-xxl {
    display: block;
    min-height: 1px;
}
/* Conteúdo da home: seções sempre visíveis */
#conteudo .shortcut-buttons-section,
#conteudo .noticias-legislativo-section,
#conteudo .home-galeria-videos-section,
#conteudo .vereadores-section,
#conteudo .documentos-section {
    display: block !important;
    visibility: visible !important;
}

/* ========== Evitar overflow horizontal ========== */
body {
    overflow-x: hidden;
}
main {
    max-width: 100%;
    overflow-x: hidden;
}
