/* ==================================================
   EFEITO HOVER — COMPUTADOR
================================================== */

.efeito-hover {
    position: relative;
    z-index: 1;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        filter 0.3s ease !important;
}

.efeito-hover:hover {
    z-index: 10;

    transform: scale(1.03);
    filter: brightness(1.05);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
}


/* ==================================================
   TRÊS BLOCOS LADO A LADO NO CELULAR
================================================== */

@media screen and (max-width: 767px) {

    /* A própria Row do RSPageBuilder */
    .home-carrossel-mobile {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;

        width: 100vw !important;
        max-width: 100vw !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 0 4px 12px !important;
        gap: 4px !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }


    /* Caso exista um container interno */
    .home-carrossel-mobile > .container,
    .home-carrossel-mobile > .container-fluid {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }


    /* Caso o RSPageBuilder crie outra Row internamente */
    .home-carrossel-mobile > .container > .row,
    .home-carrossel-mobile > .container-fluid > .row,
    .home-carrossel-mobile > .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
        gap: 4px !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }


    /* Três colunas — pela classe personalizada ou Bootstrap */
    .home-carrossel-mobile > .home-coluna-mobile,
    .home-carrossel-mobile > [class*="col-"],
    .home-carrossel-mobile > .row > .home-coluna-mobile,
    .home-carrossel-mobile > .row > [class*="col-"],
    .home-carrossel-mobile > .container > .row > .home-coluna-mobile,
    .home-carrossel-mobile > .container > .row > [class*="col-"],
    .home-carrossel-mobile > .container-fluid > .row > .home-coluna-mobile,
    .home-carrossel-mobile > .container-fluid > .row > [class*="col-"] {
        display: block !important;
        float: none !important;

        flex: 0 0 calc((100% - 8px) / 3) !important;

        width: calc((100% - 8px) / 3) !important;
        min-width: 0 !important;
        max-width: calc((100% - 8px) / 3) !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }


    /* Conteúdo interno */
    .home-carrossel-mobile .rspbld-module,
    .home-carrossel-mobile .n2-section-smartslider,
    .home-carrossel-mobile .n2-ss-align,
    .home-carrossel-mobile .n2-ss-slider,
    .home-carrossel-mobile .n2-ss-slider-wrapper-inside {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* Imagens */
    .home-carrossel-mobile img {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;

        margin: 0 !important;
    }


    /* Remove os espaçadores */
    .home-carrossel-mobile .rspbld-spacer {
        display: none !important;

        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* Efeito adaptado para celular, sem aumentar a largura */
    .home-carrossel-mobile .efeito-hover:hover {
        z-index: 10;

        transform: translateY(-3px) !important;
        filter: brightness(1.05);
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.20);
    }
}

/* ==================================================
   TABELA DE EQUIPAMENTOS
================================================== */

.tabela-equipamentos {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.tabela-equipamentos table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
}

.tabela-equipamentos td,
.tabela-equipamentos th {
    padding: 14px 12px !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}


/* ==================================================
   CELULAR
================================================== */

@media screen and (max-width: 767px) {

    .tabela-equipamentos {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .tabela-equipamentos table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        table-layout: auto !important;
    }

    .tabela-equipamentos tbody {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .tabela-equipamentos tr {
        display: contents !important;
    }

    .tabela-equipamentos td,
    .tabela-equipamentos th {
        display: block !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;
        min-height: 105px !important;

        margin: 0 !important;
        padding: 14px 10px !important;

        vertical-align: top !important;

        font-size: 14px !important;
        line-height: 1.55 !important;

        border: 1px solid #cfcfcf !important;
        box-sizing: border-box !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        overflow: visible !important;
    }

    /* Remove margens internas do conteúdo */
    .tabela-equipamentos td p,
    .tabela-equipamentos th p,
    .tabela-equipamentos td div,
    .tabela-equipamentos th div,
    .tabela-equipamentos td span,
    .tabela-equipamentos th span {
        margin: 0 !important;
        padding: 0 !important;
        line-height: inherit !important;
    }

    /* Evita borda dupla no meio */
    .tabela-equipamentos td:nth-child(even),
    .tabela-equipamentos th:nth-child(even) {
        border-left: 0 !important;
    }
}