
/*
 * BODYCHECK PRO — RESPONSIVO GLOBAL
 * Corrige largura, títulos, formulários, cards, tabelas e botões.
 */

html,
body.bcp-responsive-global {
    max-width: 100%;
    overflow-x: hidden;
}

body.bcp-responsive-global {
    width: 100%;
}

body.bcp-responsive-global *,
body.bcp-responsive-global *::before,
body.bcp-responsive-global *::after {
    box-sizing: border-box;
}

body.bcp-responsive-global img,
body.bcp-responsive-global svg,
body.bcp-responsive-global video,
body.bcp-responsive-global canvas {
    max-width: 100%;
    height: auto;
}

body.bcp-responsive-global input,
body.bcp-responsive-global select,
body.bcp-responsive-global textarea,
body.bcp-responsive-global button {
    max-width: 100%;
    font: inherit;
}

body.bcp-responsive-global textarea {
    resize: vertical;
}

/* Impede títulos e textos de quebrarem letra por letra */
body.bcp-responsive-global h1,
body.bcp-responsive-global h2,
body.bcp-responsive-global h3,
body.bcp-responsive-global h4,
body.bcp-responsive-global h5,
body.bcp-responsive-global h6,
body.bcp-responsive-global strong,
body.bcp-responsive-global label,
body.bcp-responsive-global p,
body.bcp-responsive-global span,
body.bcp-responsive-global a,
body.bcp-responsive-global button {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* Containers principais conhecidos */
body.bcp-responsive-global :is(
    .bcp-pagina-inicial,
    .bcp-comparar,
    .bcp-evolucao-pro,
    .bcp-container,
    .bcp-wrapper,
    .bcp-app,
    .bodycheck-pro,
    [class*="bcp-pagina"],
    [class*="bcp-container"],
    [class*="bodycheck"]
) {
    max-width: 100%;
}

/* Tabelas sempre utilizáveis no celular */
body.bcp-responsive-global :is(
    .bcp-tabela-wrap,
    .table-responsive,
    [class*="tabela-wrap"],
    [class*="table-wrap"]
) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.bcp-responsive-global table {
    border-collapse: collapse;
}

/* Elementor */
body.bcp-responsive-global .elementor,
body.bcp-responsive-global .elementor-section,
body.bcp-responsive-global .elementor-container,
body.bcp-responsive-global .elementor-widget-wrap,
body.bcp-responsive-global .elementor-widget,
body.bcp-responsive-global .elementor-widget-container {
    max-width: 100%;
}

@media (max-width: 1024px) {
    body.bcp-responsive-global .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.bcp-responsive-global :is(
        .bcp-grid,
        .bcp-menu,
        .bcp-destaques,
        .bcp-filtros,
        .bcp-form-grid,
        .bcp-cards,
        [class*="bcp-grid"],
        [class*="bcp-cards"]
    ) {
        min-width: 0;
    }
}

@media (max-width: 767px) {
    body.bcp-responsive-global {
        padding: 0 !important;
    }

    body.bcp-responsive-global .elementor-section,
    body.bcp-responsive-global .elementor-container,
    body.bcp-responsive-global .e-con,
    body.bcp-responsive-global .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.bcp-responsive-global .elementor-column,
    body.bcp-responsive-global .elementor-widget-wrap,
    body.bcp-responsive-global .elementor-widget,
    body.bcp-responsive-global .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Card externo de todas as telas */
    body.bcp-responsive-global :is(
        .bcp-pagina-inicial,
        .bcp-comparar,
        .bcp-evolucao-pro,
        .bcp-container,
        .bcp-wrapper,
        .bcp-app,
        .bodycheck-pro,
        [class*="bcp-pagina"],
        [class*="bcp-container"]
    ) {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        border-radius: 18px !important;
    }

    /* Cabeçalhos */
    body.bcp-responsive-global :is(
        .bcp-topo,
        .bcp-header,
        .bcp-cabecalho,
        [class*="bcp-topo"],
        [class*="bcp-header"]
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.bcp-responsive-global :is(
        .bcp-topo,
        .bcp-header,
        .bcp-cabecalho
    ) > * {
        min-width: 0 !important;
    }

    body.bcp-responsive-global h1 {
        max-width: 100% !important;
        font-size: clamp(27px, 8.5vw, 40px) !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    body.bcp-responsive-global h2 {
        font-size: clamp(22px, 6.8vw, 31px) !important;
        line-height: 1.15 !important;
    }

    body.bcp-responsive-global h3 {
        font-size: clamp(18px, 5.5vw, 24px) !important;
        line-height: 1.2 !important;
    }

    /* Grids viram uma coluna */
    body.bcp-responsive-global :is(
        .bcp-grid,
        .bcp-menu,
        .bcp-destaques,
        .bcp-filtros,
        .bcp-form-grid,
        .bcp-cards,
        .bcp-duas-colunas,
        .bcp-row,
        [class*="bcp-grid"],
        [class*="bcp-cards"],
        [class*="duas-colunas"]
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Formulários */
    body.bcp-responsive-global :is(
        input:not([type="checkbox"]):not([type="radio"]),
        select,
        textarea
    ) {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px;
    }

    body.bcp-responsive-global button,
    body.bcp-responsive-global .button,
    body.bcp-responsive-global [class*="bcp-botao"],
    body.bcp-responsive-global [class*="bcp-button"] {
        min-height: 48px;
        white-space: normal !important;
    }

    body.bcp-responsive-global :is(
        .bcp-filtros,
        .bcp-acoes,
        .bcp-actions,
        [class*="bcp-acoes"],
        [class*="bcp-actions"]
    ) {
        gap: 12px !important;
    }

    body.bcp-responsive-global :is(
        .bcp-filtros,
        .bcp-acoes,
        .bcp-actions
    ) > button,
    body.bcp-responsive-global :is(
        .bcp-filtros,
        .bcp-acoes,
        .bcp-actions
    ) > a {
        width: 100% !important;
        text-align: center !important;
    }

    /* Cards */
    body.bcp-responsive-global :is(
        .bcp-card,
        .bcp-secao,
        .bcp-box,
        [class*="bcp-card"],
        [class*="bcp-secao"],
        [class*="bcp-box"]
    ) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.bcp-responsive-global .bcp-card-texto {
        min-width: 0 !important;
    }

    /* Tabelas */
    body.bcp-responsive-global table {
        min-width: 640px;
        font-size: 13px;
    }

    body.bcp-responsive-global th,
    body.bcp-responsive-global td {
        white-space: nowrap;
    }

    /* Gráficos e fotos */
    body.bcp-responsive-global :is(
        .bcp-grafico-wrap,
        .bcp-chart,
        [class*="grafico"],
        [class*="chart"]
    ) {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    body.bcp-responsive-global :is(
        .bcp-foto-preview,
        [class*="foto-preview"]
    ) {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Corrige botões de voltar no topo */
    body.bcp-responsive-global :is(
        .bcp-voltar,
        [class*="bcp-voltar"]
    ) {
        flex: 0 0 auto !important;
        min-width: 44px !important;
        width: 44px !important;
        height: 44px !important;
    }
}

@media (max-width: 420px) {
    body.bcp-responsive-global :is(
        .bcp-pagina-inicial,
        .bcp-comparar,
        .bcp-evolucao-pro,
        .bcp-container,
        .bcp-wrapper,
        .bcp-app,
        .bodycheck-pro,
        [class*="bcp-pagina"],
        [class*="bcp-container"]
    ) {
        width: calc(100vw - 10px) !important;
        max-width: calc(100vw - 10px) !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.bcp-responsive-global h1 {
        font-size: clamp(25px, 8vw, 34px) !important;
    }

    body.bcp-responsive-global p,
    body.bcp-responsive-global label,
    body.bcp-responsive-global input,
    body.bcp-responsive-global select,
    body.bcp-responsive-global textarea,
    body.bcp-responsive-global button {
        font-size: 15px;
    }
}
