
/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 1 (.secao-equilibrio-obras)
   ========================================================================== */

/* --- FONTE LOCAL PARA AS ANOTAÇÕES MANUSCRITAS --- */
@font-face {
    font-family: 'Permanent Marker Local';
    src: url('PermanentMarker-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* --- ENCAPSULAMENTO TOTAL DO CONTAINER E ELEMENTOS FILHOS --- */
.secao-equilibrio-obras {
    /* Variáveis Restritas à Seção */
    --secao-cor-plano: #2ecc71;
    --secao-cor-sem-plano: #fab1a0;
    --secao-cor-texto-destaque: #2c3e50;
    --secao-cor-texto-secundario: #555e61;
    --secao-cor-erro: #c0392b;
    --secao-cor-borda: #2c3e50;
    --secao-cor-eixo: #333333;
    --secao-cor-fundo: #ffffff;
    --secao-focus-ring: 3px solid #0984e3;

    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #333333;
    line-height: 1.6;
    padding: 16px;
    max-width: 800px;
    margin: 0 auto;
    box-sizing: border-box;
}

.secao-equilibrio-obras *, 
.secao-equilibrio-obras *::before, 
.secao-equilibrio-obras *::after {
    box-sizing: inherit;
}

/* Otimização de Leitura de Tela (Acessibilidade) */
.secao-equilibrio-obras .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Estilização Semântica Isolada contra Vazamento/Interferência */
.secao-equilibrio-obras .titulo-principal {
    font-size: clamp(20px, 5vw, 26px);
    color: var(--secao-cor-texto-destaque);
    margin-top: 0;
    margin-bottom: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.secao-equilibrio-obras .subtitulo-principal {
    font-size: clamp(18px, 4.5vw, 22px);
    color: var(--secao-cor-texto-destaque);
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.secao-equilibrio-obras .paragrafo-texto {
    font-size: 15px;
    margin-top: 0;
    margin-bottom: 16px;
    text-align: justify;
    color: #333333;
}

.secao-equilibrio-obras .ancora-link {
    color: #2980b9;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.secao-equilibrio-obras .ancora-link:hover {
    color: #1a5276;
}

.secao-equilibrio-obras .ancora-link:focus-visible {
    outline: var(--secao-focus-ring);
    outline-offset: 2px;
}

.secao-equilibrio-obras .lista-caractericas {
    list-style: none;
    padding-left: 0;
    margin: 16px 0;
}

.secao-equilibrio-obras .lista-caractericas li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 10px;
    font-size: 15px;
    text-align: justify;
}

.secao-equilibrio-obras .lista-caractericas li::before {
    content: "🔒";
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--secao-cor-texto-destaque);
    font-weight: bold;
    font-size: 14px;
}

/* --- ARQUITETURA DO GRÁFICO (UX/Responsivo) --- */
.secao-equilibrio-obras .grafico-container {
    width: 100%;
    max-width: 480px;
    margin: 30px auto;
    padding: 24px 16px;
    background: var(--secao-cor-fundo);
    border-radius: 16px;
    border: 1px solid rgba(44, 62, 80, 0.15);
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    position: relative;
}

.secao-equilibrio-obras .grafico-titulo {
    display: block;
    text-align: center;
    font-size: clamp(14px, 3.8vw, 17px);
    font-weight: 800;
    color: var(--secao-cor-texto-destaque);
    margin-bottom: 16px;
    letter-spacing: -0.5px;
    line-height: 1.4;
}

/* Legenda Acessível */
.secao-equilibrio-obras .grafico-legenda {
    display: flex;
    justify-content: center;
    gap: 16px;
    font-size: 13px;
    margin-bottom: 28px;
    color: var(--secao-cor-texto-secundario);
    font-weight: 600;
}

.secao-equilibrio-obras .legenda-item {
    display: flex;
    align-items: center;
}

.secao-equilibrio-obras .cor-retangulo {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    margin-right: 6px;
}

.secao-equilibrio-obras .cor-sem-plano {
    background: var(--secao-cor-sem-plano);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.secao-equilibrio-obras .cor-com-plano {
    background: var(--secao-cor-plano);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

/* Estrutura de Eixos Cartesianos (Desktop/Tablet) */
.secao-equilibrio-obras .grafico-eixo {
    position: relative;
    padding-left: 0;
    margin-left: clamp(45px, 13vw, 55px);
    border-left: 2px solid var(--secao-cor-eixo);
    padding-bottom: 32px;
    margin-right: 8px;
}

.secao-equilibrio-obras .linha-base {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--secao-cor-eixo);
}

.secao-equilibrio-obras .marca-eixo {
    position: absolute;
    bottom: -6px;
    width: 1px;
    height: 6px;
    background: var(--secao-cor-eixo);
}

.secao-equilibrio-obras .texto-eixo {
    position: absolute;
    bottom: -22px;
    font-size: clamp(8px, 2.5vw, 10px);
    font-weight: 600;
    color: var(--secao-cor-texto-secundario);
    transform: translateX(-50%);
    white-space: nowrap;
}

.secao-equilibrio-obras .indicador-cifrão {
    position: absolute;
    bottom: 4px;
    font-size: clamp(9px, 2.5vw, 11px);
    font-weight: 800;
    color: #555e61;
    transform: translateX(-50%);
}

/* Linhas de Fluxo dos Meses */
.secao-equilibrio-obras .linha-mes {
    margin-bottom: 22px;
    position: relative;
    z-index: 2;
}

.secao-equilibrio-obras .nome-mes {
    position: absolute;
    left: clamp(-55px, -13vw, -45px);
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(11px, 3vw, 13px);
    font-weight: 700;
    color: var(--secao-cor-texto-destaque);
    width: clamp(38px, 11vw, 48px);
    text-align: right;
}

/* Engenharia de Barras */
.secao-equilibrio-obras .barra {
    height: 12px;
    border-radius: 3px;
    margin-bottom: 5px;
    position: relative;
    transform-origin: left;
    animation: growInObras 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.secao-equilibrio-obras .barra-sem-plano {
    background: var(--secao-cor-sem-plano);
}

.secao-equilibrio-obras .barra-com-plano {
    background: var(--secao-cor-plano);
    box-shadow: 0 2px 4px rgba(46, 204, 113, 0.2);
    cursor: pointer;
    z-index: 10;
}

/* Área ampliada de toque para acessibilidade */
.secao-equilibrio-obras .barra-com-plano::before {
    content: '';
    position: absolute;
    top: -8px;
    bottom: -8px;
    left: -4px;
    right: -4px;
}

.secao-equilibrio-obras .barra-com-plano:focus-visible {
    outline: var(--secao-focus-ring);
    outline-offset: 3px;
}

/* --- TOOLTIPS COM ACESSIBILIDADE E ALTO CONTRASTE (WCAG AAA) --- */
.secao-equilibrio-obras .tooltip {
    display: none;
    position: absolute;
    bottom: 145%;
    left: 50%;
    transform: translateX(-50%);
    background: #111111;
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 6px;
    white-space: nowrap;
    z-index: 1000;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
    font-size: 11px;
    font-weight: 600;
    pointer-events: none;
}

.secao-equilibrio-obras .tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #111111 transparent transparent transparent;
}

.secao-equilibrio-obras .barra-com-plano:hover .tooltip,
.secao-equilibrio-obras .barra-com-plano:focus .tooltip {
    display: block;
}

.secao-equilibrio-obras .tooltip.active {
    display: block !important;
}

.secao-equilibrio-obras .texto-tooltip-plano {
    color: #2ecc71 !important;
    font-weight: 700;
}

.secao-equilibrio-obras .texto-tooltip-sem-plano {
    color: #ffaa94 !important;
    font-weight: 700;
}

.secao-equilibrio-obras .texto-tooltip-erro {
    color: #ff6b6b !important;
    font-weight: 700;
}

/* --- ANOTAÇÕES MANUSCRITAS --- */
.secao-equilibrio-obras .anotacao-manual {
    position: absolute;
    font-family: 'Permanent Marker Local', cursive, sans-serif;
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap;
    color: var(--secao-cor-erro);
    pointer-events: none;
    letter-spacing: 0.3px;
}

.secao-equilibrio-obras .anotacao-plano {
    color: #27ae60;
}

/* Conclusão Interna do Gráfico */
.secao-equilibrio-obras .texto-conclusao {
    margin-top: 28px;
    font-size: 14px;
    color: var(--secao-cor-texto-secundario);
    line-height: 1.6;
    text-align: justify;
    padding: 0 4px;
    border-top: 1px dashed rgba(0, 0, 0, 0.15);
    padding-top: 16px;
}

.secao-equilibrio-obras .destaque {
    font-weight: 700;
    color: var(--secao-cor-texto-destaque);
}

/* Texto Auxiliar Visível Apenas no Mobile */
.secao-equilibrio-obras .ajuda-mobile {
    display: none;
    text-align: center;
    font-size: 11px;
    color: var(--secao-cor-texto-secundario);
    margin-top: -15px;
    margin-bottom: 20px;
    font-weight: 500;
}

/* Animação */
@keyframes growInObras {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

/* --- RESPONSIVIDADE EXTREMA: TRANSFORMAÇÃO EM CARDS (MOBILE < 480px) --- */
@media screen and (max-width: 480px) {
    .secao-equilibrio-obras .grafico-container {
        max-width: 100%;
        padding: 16px 12px;
    }

    /* Oculta os eixos cartesianos tradicionais que quebram o layout no mobile */
    .secao-equilibrio-obras .grafico-eixo {
        border-left: none;
        padding-bottom: 0;
        margin-left: 0;
        margin-right: 0;
    }

    /* Esconde as linhas de marcação e textos de escala do eixo */
    .secao-equilibrio-obras .marca-eixo,
    .secao-equilibrio-obras .texto-eixo,
    .secao-equilibrio-obras .indicador-cifrão,
    .secao-equilibrio-obras .linha-base {
        display: none !important;
    }

    /* Exibe instrução de toque amigável */
    .secao-equilibrio-obras .ajuda-mobile {
        display: block;
    }

    /* Transforma a linha do mês em um Card isolado e robusto */
    .secao-equilibrio-obras .linha-mes {
        background: #fdfefe;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 14px;
        margin-bottom: 14px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
        display: block;
    }

    /* Posiciona o nome do Mês de forma proeminente no topo do card */
    .secao-equilibrio-obras .nome-mes {
        position: static;
        transform: none;
        display: block;
        text-align: left;
        font-size: 14px;
        font-weight: 800;
        margin-bottom: 10px;
        width: auto;
        color: var(--secao-cor-texto-destaque);
        border-bottom: 1px solid #edf2f7;
        padding-bottom: 6px;
    }

    /* Ajusta o tamanho das barras para caberem confortavelmente no card */
    .secao-equilibrio-obras .barra {
        height: 18px; /* Mais espessa para facilitar o toque no mobile (UX Target) */
        margin-bottom: 8px;
        border-radius: 4px;
        width: 100% !important; /* Força largura total para atuar como barra de preenchimento comparativo */
    }

    /* Substitui o width percentual por gradientes ou cores cheias, usando pseudo-elementos para exibir os valores diretamente */
    .secao-equilibrio-obras .barra-sem-plano::after {
        content: "Sem Plano";
        position: absolute;
        left: 8px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 10px;
        font-weight: 700;
        color: #7f3d31;
    }

    .secao-equilibrio-obras .barra-com-plano::after {
        content: "Com Plano (Toque para ver valores)";
        position: absolute;
        left: 8px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 10px;
        font-weight: 700;
        color: #1e6038;
    }

    /* Esconde as anotações flutuantes no mobile para evitar poluição visual, já que o foco é o card limpo */
    .secao-equilibrio-obras .anotacao-manual {
        display: none !important;
    }

    /* Ajusta o tooltip para aparecer de forma limpa sobre o card ao ser tocado */
    .secao-equilibrio-obras .tooltip {
        width: 100%;
        bottom: auto;
        top: 0;
        left: 0;
        transform: none;
        white-space: normal;
        text-align: center;
        border-radius: 4px;
        box-shadow: none;
        padding: 6px;
    }

    .secao-equilibrio-obras .tooltip::after {
        display: none; /* remove seta do tooltip no modo mobile card */
    }

    .secao-equilibrio-obras .texto-conclusao {
        font-size: 13px;
        margin-top: 16px;
    }
}

@media screen and (max-width: 360px) {
    .secao-equilibrio-obras { 
        padding: 8px 4px; 
    }
    .secao-equilibrio-obras .grafico-container { 
        border-radius: 8px; 
    }
    .secao-equilibrio-obras .grafico-legenda { 
        flex-direction: column; 
        align-items: flex-start; 
        gap: 6px; 
        padding-left: 10px; 
    }
}

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 2 (#secao-risco-construtor)
   ========================================================================== */

#secao-risco-construtor {
    --src-cor-primaria: #2c3e50;
    --src-cor-secundaria: #34495e;
    --src-cor-texto: #2d3748;
    --src-cor-fundo-alerta: #fff5f5;
    --src-cor-borda-alerta: #feb2b2;
    --src-cor-texto-alerta: #9b2c2c;
    --src-cor-marcador: #c53030;
    --src-focus-ring: 3px solid #3182ce;
    
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--src-cor-texto);
    line-height: 1.6;
    padding: 16px 12px;
    max-width: 800px;
    margin: 0 auto;
    display: block;
}

#secao-risco-construtor *, 
#secao-risco-construtor *::before, 
#secao-risco-construtor *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

#secao-risco-construtor .src-titulo-principal {
    font-size: clamp(20px, 5.5vw, 28px);
    color: var(--src-cor-primaria);
    margin-bottom: 20px;
    font-weight: 800;
    line-height: 1.25;
}

#secao-risco-construtor .src-subtitulo {
    font-size: clamp(17px, 4.5vw, 20px);
    color: var(--src-cor-secundaria);
    margin-top: 28px;
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 1.3;
}

#secao-risco-construtor .src-paragrafo {
    font-size: 16px;
    margin-bottom: 16px;
    text-align: left;
    word-wrap: break-word;
}

#secao-risco-construtor .src-lista {
    list-style: none;
    margin: 16px 0;
}

#secao-risco-construtor .src-lista-item {
    position: relative;
    padding-left: 20px;
    margin-bottom: 14px;
    font-size: 16px;
    text-align: left;
}

#secao-risco-construtor .src-lista-item::before {
    content: "■";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--src-cor-marcador);
    font-size: 10px;
    line-height: 1.6;
}

#secao-risco-construtor .src-termo-destaque {
    font-weight: 700;
    color: var(--src-cor-primaria);
}

#secao-risco-construtor .src-bloco-alerta {
    background-color: var(--src-cor-fundo-alerta);
    border-left: 4px solid var(--src-cor-marcador);
    padding: 14px 16px;
    margin: 24px 0;
    border-radius: 0 6px 6px 0;
}

#secao-risco-construtor .src-bloco-alerta .src-paragrafo {
    color: var(--src-cor-texto-alerta);
    margin-bottom: 0;
}

#secao-risco-construtor .src-bloco-aprofundamento {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    margin-top: 40px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

#secao-risco-construtor .src-subtitulo-aprofundamento {
    font-size: 18px;
    color: var(--src-cor-primaria);
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.3;
}

#secao-risco-construtor .src-paragrafo-aprofundamento {
    font-size: 15px;
    color: #4a5568;
    margin-bottom: 14px;
    line-height: 1.5;
    text-align: left;
}

#secao-risco-construtor .src-paragrafo-aprofundamento:last-of-type {
    margin-bottom: 20px;
}

#secao-risco-construtor .src-link-ancora {
    display: inline-block;
    background-color: var(--src-cor-primaria);
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
    padding: 12px 20px;
    border-radius: 6px;
    text-align: center;
    text-decoration: none;
    width: 100%;
    transition: background-color 0.2s ease-in-out;
    box-sizing: border-box;
}

#secao-risco-construtor .src-link-ancora:hover,
#secao-risco-construtor .src-link-ancora:active {
    background-color: var(--src-cor-secundaria);
    color: #ffffff;
}

#secao-risco-construtor *:focus-visible {
    outline: var(--src-focus-ring);
    outline-offset: 2px;
}

@media screen and (max-width: 375px) {
    #secao-risco-construtor {
        padding: 12px 8px;
    }
    #secao-risco-construtor .src-paragrafo,
    #secao-risco-construtor .src-lista-item {
        font-size: 15px;
        line-height: 1.5;
    }
    #secao-risco-construtor .src-lista-item {
        padding-left: 16px;
        margin-bottom: 12px;
    }
    #secao-risco-construtor .src-bloco-aprofundamento {
        padding: 16px;
        margin-top: 32px;
    }
    #secao-risco-construtor .src-subtitulo-aprofundamento {
        font-size: 16px;
    }
    #secao-risco-construtor .src-paragrafo-aprofundamento {
        font-size: 14px;
    }
    #secao-risco-construtor .src-link-ancora {
        font-size: 14px;
        padding: 12px 16px;
    }
}

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 3 (.secao-aplicacao-equilibrio)
   ========================================================================== */

.secao-aplicacao-equilibrio {
  --app-primary: #0f172a;
  --app-primary-accent: #2563eb;
  --app-primary-hover: #1d4ed8;
  --app-bg-color: #f8fafc;
  --app-card-bg: #ffffff;
  --app-text-main: #1e293b;
  --app-text-muted: #475569;
  --app-border-color: #e2e8f0;
  --app-focus-ring: #2563eb;
  --app-radius: 12px;
  --app-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);

  padding: 32px 12px 16px 12px;
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
}

.skip-link-app {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--app-primary-accent, #2563eb);
  color: #fff;
  padding: 8px 16px;
  z-index: 100;
  text-decoration: none;
  border-radius: 0 0 4px 0;
}

.skip-link-app:focus {
  top: 0;
}

.secao-aplicacao-equilibrio .container-app {
  width: 100%;
  max-width: 640px;
}

.secao-aplicacao-equilibrio .card-app {
  background-color: var(--app-card-bg);
  border-radius: var(--app-radius);
  padding: 20px 16px;
  box-shadow: var(--app-shadow);
  border: 1px solid var(--app-border-color);
}

.secao-aplicacao-equilibrio .header-app {
  margin-bottom: 20px;
  border-bottom: 2px solid var(--app-bg-color);
  padding-bottom: 16px;
}

.secao-aplicacao-equilibrio .titulo-app {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--app-primary);
  line-height: 1.25;
  margin-bottom: 8px;
}

.secao-aplicacao-equilibrio .intro-text-app {
  font-size: 0.95rem;
  color: var(--app-text-muted);
}

.secao-aplicacao-equilibrio .link-list-app {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.secao-aplicacao-equilibrio .link-item-app {
  display: block;
}

.secao-aplicacao-equilibrio .link-card-app {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background-color: #ffffff;
  border: 1px solid var(--app-border-color);
  border-radius: 8px;
  text-decoration: none;
  color: var(--app-text-main);
  font-size: 0.95rem;
  font-weight: 500;
  transition: all 0.2s ease;
  min-height: 48px; 
}

.secao-aplicacao-equilibrio .link-card-app:hover {
  border-color: var(--app-primary-accent);
  background-color: #f0f6ff;
  transform: translateY(-1px);
}

.secao-aplicacao-equilibrio .link-card-app:focus-visible {
  outline: 3px solid var(--app-focus-ring);
  outline-offset: 2px;
  border-color: var(--app-primary-accent);
}

.secao-aplicacao-equilibrio .link-card-app::after {
  content: "→";
  font-size: 1.1rem;
  color: var(--app-primary-accent);
  font-weight: 700;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.secao-aplicacao-equilibrio .link-card-app:hover::after {
  transform: translateX(4px);
}

@media (max-width: 380px) {
  .secao-aplicacao-equilibrio {
    padding: 16px 8px 8px 8px;
  }
  .secao-aplicacao-equilibrio .card-app {
    padding: 16px 12px;
  }
  .secao-aplicacao-equilibrio .titulo-app {
    font-size: 1.2rem;
  }
  .secao-aplicacao-equilibrio .link-card-app {
    font-size: 0.9rem;
    padding: 12px;
  }
}

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 04 (.sbf-escopo)
   ========================================================================== */

/* --- RESET DE ESCALABILIDADE E ISOLAMENTO (IMUNIDADE CONTRA CSS EXTERNO) --- */
.sbf-escopo,
.sbf-escopo * {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 100% !important;
    font-style: normal !important;
    list-style: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none;
    transition: none;
}

/* Reaplicação segura de estilos tipográficos e transições específicas da seção */
.sbf-escopo {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    padding: 24px 16px !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    background-color: transparent !important;
    display: block !important;
}

/* --- CABEÇALHO DA SEÇÃO (SEO) --- */
.sbf-escopo .sbf-cabecalho {
    margin-bottom: 32px !important;
    text-align: left !important;
    display: block !important;
}

.sbf-escopo .sbf-titulo {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    color: #2c3e50 !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
    display: block !important;
}

.sbf-escopo .sbf-decoracao {
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background-color: #2ecc71 !important;
    border-radius: 2px !important;
}

/* --- CONTAINER DOS CARDS (GRID SEMÂNTICO) --- */
.sbf-escopo .sbf-grid-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
}

.sbf-escopo .sbf-item-card {
    display: block !important;
}

.sbf-escopo .sbf-card {
    background-color: #ffffff !important;
    border: 1px solid rgba(44, 62, 80, 0.12) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    gap: 16px !important;
    align-items: flex-start !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    outline: none !important;
}

/* UX: Feedback visual ao interagir ou focar via teclado */
.sbf-escopo .sbf-card:hover,
.sbf-escopo .sbf-card:focus-within {
    border-color: rgba(46, 204, 113, 0.5) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07) !important;
}

/* --- COMPONENTES INTERNOS DOS CARDS --- */
.sbf-escopo .sbf-icone-box {
    font-size: 26px !important;
    line-height: 1 !important;
    padding: 6px !important;
    background-color: #f8f9fa !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    flex-shrink: 0 !important;
}

.sbf-escopo .sbf-conteudo {
    flex: 1 1 0% !important;
    min-width: 0 !important; /* Previne quebras de layout em caixas flexíveis */
}

.sbf-escopo .sbf-card-titulo {
    font-size: clamp(16px, 4.5vw, 18px) !important;
    color: #2c3e50 !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
    display: block !important;
}

.sbf-escopo .sbf-card-texto {
    font-size: 15px !important;
    color: #4a5568 !important;
    line-height: 1.6 !important;
    display: block !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Espaçamento exclusivo para múltiplos parágrafos dentro do card */
.sbf-escopo .sbf-card-texto + .sbf-card-texto {
    margin-top: 10px !important;
}

/* --- RESPONSIVIDADE E ADAPTAÇÃO TOTAL (CELULARES EXTREMAMENTE PEQUENOS / SE) --- */
@media screen and (max-width: 480px) {
    .sbf-escopo {
        padding: 16px 10px !important; /* Espaçamento ideal para telas de 320px */
    }

    .sbf-escopo .sbf-cabecalho {
        margin-bottom: 24px !important;
    }

    .sbf-escopo .sbf-card {
        flex-direction: column !important; /* Empilha ícone e texto para ganhar área útil horizontal */
        gap: 12px !important;
        padding: 16px !important;
    }

    .sbf-escopo .sbf-icone-box {
        min-width: 40px !important;
        height: 40px !important;
        font-size: 22px !important;
    }
    
    .sbf-escopo .sbf-grid-cards {
        gap: 16px !important;
    }
}

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 05 (Idealização e Origem)
   ========================================================================== */
:root {
  --cvm-origem-bg-card: #ffffff;
  --cvm-origem-bg-aside: #f8fafc;
  --cvm-origem-text-main: #1e293b;
  --cvm-origem-text-muted: #475569;
  --cvm-origem-accent-color: #0284c7;
  --cvm-origem-border: #e2e8f0;
  --cvm-origem-shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
  --cvm-origem-shadow-card: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);
  --cvm-origem-radius: 12px;
  --cvm-origem-gap: 1.5rem;
}

#cvm-origem-section {
  display: block;
  width: 100%;
  max-width: 900px;
  margin: 2.5rem auto;
  padding: 2rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--cvm-origem-text-main);
  line-height: 1.6;
  box-sizing: border-box;
  background-color: transparent;
}

#cvm-origem-section *,
#cvm-origem-section *::before,
#cvm-origem-section *::after {
  box-sizing: border-box;
}

.cvm-origem-header {
  margin-bottom: 2.5rem;
  text-align: center;
}

.cvm-origem-main-title {
  font-size: 2rem;
  font-weight: 800;
  color: var(--cvm-origem-text-main);
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}

.cvm-origem-subtitle {
  font-size: 1.25rem;
  color: var(--cvm-origem-accent-color);
  font-weight: 600;
  margin: 0;
}

/* Grid Layout para Desktop */
.cvm-origem-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--cvm-origem-gap);
  align-items: start;
}

.cvm-origem-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.cvm-origem-article {
  background-color: var(--cvm-origem-bg-card);
  padding: 0;
}

.cvm-origem-h3 {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--cvm-origem-text-main);
  margin: 0 0 1rem 0;
  border-left: 4px solid var(--cvm-origem-accent-color);
  padding-left: 0.75rem;
}

.cvm-origem-p {
  margin: 0 0 1rem 0;
  color: var(--cvm-origem-text-muted);
  font-size: 1rem;
  text-align: justify;
}

.cvm-origem-p:last-child {
  margin-bottom: 0;
}

/* Listas Estilizadas */
.cvm-origem-ul {
  margin: 1rem 0;
  padding-left: 1.25rem;
  list-style-type: none;
}

.cvm-origem-li {
  position: relative;
  margin-bottom: 0.75rem;
  color: var(--cvm-origem-text-muted);
  font-size: 1rem;
}

.cvm-origem-li:last-child {
  margin-bottom: 0;
}

/* Marcadores Customizados para as Listas */
.cvm-origem-bullet-dash .cvm-origem-li::before {
  content: " ";
  position: absolute;
  left: -1.25rem;
  color: var(--cvm-origem-accent-color);
  font-weight: bold;
}

/* Lista Estilizada com Ícones em Linha (Automação) */
.cvm-origem-bullet-bold {
  list-style-type: none;
  padding-left: 0;
  margin: 1.5rem 0;
}

.cvm-origem-bullet-bold .cvm-origem-li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
}

.cvm-origem-bullet-bold .cvm-origem-list-icon {
  flex-shrink: 0;
  font-size: 1.15rem;
  line-height: 1.4;
}

.cvm-origem-bullet-bold .cvm-origem-li strong {
  color: var(--cvm-origem-text-main);
  display: inline;
}

/* Sidebar de Perfil Profissional (Aside) */
.cvm-origem-sidebar {
  background-color: var(--cvm-origem-bg-aside);
  border: 1px solid var(--cvm-origem-border);
  border-radius: var(--cvm-origem-radius);
  padding: 1.5rem;
  box-shadow: var(--cvm-origem-shadow-sm);
}

.cvm-origem-sidebar-block {
  margin-bottom: 2rem;
}

.cvm-origem-sidebar-block:last-child {
  margin-bottom: 0;
}

.cvm-origem-h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cvm-origem-text-main);
  margin: 0 0 1rem 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--cvm-origem-border);
  padding-bottom: 0.5rem;
}

.cvm-origem-meta-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cvm-origem-meta-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  color: var(--cvm-origem-text-muted);
}

.cvm-origem-meta-item:last-child {
  margin-bottom: 0;
}

.cvm-origem-icon {
  flex-shrink: 0;
}

/* RESPONSIVIDADE MOBILE: TRANSFORMAÇÃO EM CARDS FLUTUANTES */
@media (max-width: 768px) {
  #cvm-origem-section {
    padding: 1rem 0.5rem;
  }

  .cvm-origem-main-title {
    font-size: 1.6rem;
  }

  .cvm-origem-subtitle {
    font-size: 1.1rem;
  }

  .cvm-origem-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cvm-origem-content {
    gap: 1.25rem;
  }

  /* Converte artigos normais em Cards Mobile */
  .cvm-origem-article {
    background-color: var(--cvm-origem-bg-card);
    border: 1px solid var(--cvm-origem-border);
    border-radius: var(--cvm-origem-radius);
    padding: 1.5rem;
    box-shadow: var(--cvm-origem-shadow-card);
  }

  .cvm-origem-p {
    text-align: left;
    font-size: 0.95rem;
  }

  .cvm-origem-li {
    font-size: 0.95rem;
  }
}

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 06 (.passo-a-passo-section)
   ========================================================================== */
.passo-a-passo-section {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.6;
  color: #333333;
  max-width: 1200px;
  margin: 30px auto;
  padding: 20px;
  box-sizing: border-box;
}
.passo-a-passo-section * {
  box-sizing: border-box;
}
.passo-a-passo-section__title {
  font-size: 2rem;
  text-align: center;
  color: #111111;
  margin-bottom: 2.5rem;
  font-weight: 700;
}
/* Grid de Cards com foco em Responsividade (Mobile First / Flexível) */
.passo-a-passo-section__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin-bottom: 1.5rem;
}
/* Estrutura dos Cards */
.passo-a-passo-section__card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.passo-a-passo-section__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05);
}
/* Estilização Visual e Acessível dos Ícones/Emojis */
.passo-a-passo-section__icon-container {
  font-size: 1.75rem;
  margin-bottom: 12px;
  letter-spacing: 4px;
  display: block;
}

/* Regras específicas isoladas para a inclinação das balanças */
.passo-a-passo-section__scale {
  display: inline-block; /* Necessário para aceitar rotação (transform) */
  transform-origin: center center;
}
.passo-a-passo-section__scale--left {
  transform: rotate(-15deg); /* Inclina para a esquerda */
}
.passo-a-passo-section__scale--right {
  transform: rotate(15deg); /* Inclina para a direita */
}
.passo-a-passo-section__scale--balanced {
  transform: rotate(0deg); /* Balança central alinhada */
}

.passo-a-passo-section__card-title {
  font-size: 1.25rem;
  color: #1a202c;
  margin-top: 0;
  margin-bottom: 12px;
  font-weight: 600;
}
.passo-a-passo-section__text {
  font-size: 0.95rem;
  color: #4a5568;
  margin: 0;
}
/* Ajustes específicos para smartphones pequenos */
@media (max-width: 480px) {
  .passo-a-passo-section {
    padding: 15px;
  }
  .passo-a-passo-section__title {
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
  .passo-a-passo-section__grid {
    grid-template-columns: 1fr; /* Um card por linha para leitura perfeita */
    gap: 20px;
  }
  .passo-a-passo-section__card {
    padding: 20px;
  }
}    
    
    
    
    
    
    
    
    
    
/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 7 (.secao-equilibrio-obras)   | inicio 
   ========================================================================== */    
    
    
    /* Reset local e encapsulamento de escopo para evitar conflitos entre abas */
    .ts-scope {
      all: initial; /* Reseta propriedades herdadas do site global */
      display: block;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      line-height: 1.6;
      color: #333333;
      max-width: 1200px;
      margin: 20px auto;
      padding: 20px;
      box-sizing: border-box;
    }

    .ts-scope * {
      box-sizing: border-box;
    }

    /* SEO e Hierarquia de Cabeçalhos */
    .ts-scope .ts-main-title {
      font-size: 2.25rem;
      color: #111111;
      margin: 0 0 1.5rem 0;
      border-bottom: 3px solid #e2e8f0;
      padding-bottom: 0.75rem;
      font-weight: 700;
    }

    .ts-scope .ts-lead-paragraph {
      font-size: 1.125rem;
      color: #4a5568;
      margin-bottom: 1.5rem;
    }

    .ts-scope .ts-text {
      font-size: 1rem;
      margin: 0 0 1.25rem 0;
      color: #2d3748;
    }

    /* Grid de Cards Responsivo */
    .ts-scope .ts-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 24px;
      margin-top: 2rem;
      margin-bottom: 2.5rem;
    }

    /* Aprimoramento de Acessibilidade e UX nos Cards */
    .ts-scope .ts-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 24px;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
      display: flex;
      flex-direction: column;
      outline: none;
    }

    /* Indicador visual de foco nítido para leitores de tela/navegação via teclado */
    .ts-scope .ts-card:focus-visible {
      outline: 3px solid #0056b3;
      outline-offset: 2px;
    }

    .ts-scope .ts-card-title {
      font-size: 1.35rem;
      color: #0056b3;
      margin: 0 0 1rem 0;
      font-weight: 600;
      line-height: 1.3;
    }

    /* Elementos de Alerta de Escopo */
    .ts-scope .ts-alert {
      background-color: #fffaf0;
      border: 1px solid #feebc8;
      border-left: 5px solid #dd6b20;
      color: #7b341e;
      padding: 20px;
      border-radius: 8px;
      margin-top: 2rem;
    }

    .ts-scope .ts-alert-title {
      margin: 0 0 0.5rem 0;
      font-size: 1.15rem;
      font-weight: 700;
      color: #dd6b20;
    }

    /* Otimização cirúrgica para iPhone SE (telas de até 375px de largura) */
    @media (max-width: 480px) {
      .ts-scope {
        padding: 12px;
        margin: 10px auto;
      }
      .ts-scope .ts-main-title {
        font-size: 1.75rem;
        margin-bottom: 1.25rem;
      }
      .ts-scope .ts-lead-paragraph {
        font-size: 1.05rem;
      }
      .ts-scope .ts-grid {
        grid-template-columns: 1fr; /* Um único card por linha perfeitamente ajustado */
        gap: 16px;
        margin-top: 1.5rem;
      }
      .ts-scope .ts-card {
        padding: 18px;
        border-radius: 10px;
      }
      .ts-scope .ts-card-title {
        font-size: 1.2rem;
        margin-bottom: 0.85rem;
      }
    }

/* ==========================================================================
   FOLHA DE ESTILO: ARQUIVO 7 (.secao-equilibrio-obras)    |   final 
   ========================================================================== */    












/*  ======================================================================
                   conteudo do arquivo 08 |inicio   
    ======================================================================  */




             /* Escopo isolado através de variáveis e seletores estritos baseados na ID da seção */
             #cvm-faq-section {
               --cvm-faq-bg-primary: #ffffff;
               --cvm-faq-bg-accent: #f8fafc;
               --cvm-faq-text-main: #1e293b;
               --cvm-faq-text-muted: #475569;
               --cvm-faq-brand-color: #0284c7;
               --cvm-faq-brand-hover: #0369a1;
               --cvm-faq-border-color: #e2e8f0;
               --cvm-faq-shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
               --cvm-faq-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
               --cvm-faq-radius: 8px;
               --cvm-faq-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
               
               display: block;
               width: 100%;
               max-width: 850px;
               margin: 2rem auto;
               padding: 1.5rem;
               font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
               color: var(--cvm-faq-text-main);
               background-color: transparent;
               box-sizing: border-box;
             }

             /* Reset local para evitar interferências de CSS global do site */
             #cvm-faq-section *, 
             #cvm-faq-section *::before, 
             #cvm-faq-section *::after {
               box-sizing: border-box;
               margin: 0;
               padding: 0;
             }

             #cvm-faq-section .cvm-faq-header {
               margin-bottom: 2rem;
               text-align: center;
             }

             #cvm-faq-section .cvm-faq-title {
               font-size: 1.75rem;
               line-height: 1.3;
               font-weight: 700;
               color: var(--cvm-faq-text-main);
               margin: 0;
             }

             #cvm-faq-section .cvm-faq-list {
               display: flex;
               flex-direction: column;
               gap: 1rem;
             }

             /* Estrutura de Cards Isolados */
             #cvm-faq-section .cvm-faq-item {
               background-color: var(--cvm-faq-bg-primary);
               border: 1px solid var(--cvm-faq-border-color);
               border-radius: var(--cvm-faq-radius);
               overflow: hidden;
               box-shadow: var(--cvm-faq-shadow-sm);
               transition: var(--cvm-faq-transition);
               list-style: none; /* Previne marcadores caso herdados globalmente */
             }

             #cvm-faq-section .cvm-faq-item:hover {
               border-color: var(--cvm-faq-brand-color);
               box-shadow: var(--cvm-faq-shadow-md);
             }

             #cvm-faq-section .cvm-faq-details {
               width: 100%;
               display: block;
             }

             #cvm-faq-section .cvm-faq-summary {
               display: flex;
               justify-content: space-between;
               align-items: center;
               padding: 1.25rem 1.5rem;
               font-weight: 600;
               font-size: 1.05rem;
               line-height: 1.4;
               cursor: pointer;
               list-style: none;
               user-select: none;
               outline: none;
               transition: var(--cvm-faq-transition);
             }

             #cvm-faq-section .cvm-faq-summary::-webkit-details-marker {
               display: none;
             }

             #cvm-faq-section .cvm-faq-summary:focus-visible {
               outline: 2px solid var(--cvm-faq-brand-color);
               outline-offset: -2px;
               background-color: var(--cvm-faq-bg-accent);
             }

             /* Ícone customizado de expansão */
             #cvm-faq-section .cvm-faq-icon {
               position: relative;
               display: block;
               width: 20px;
               height: 20px;
               flex-shrink: 0;
               margin-left: 1rem;
               transition: var(--cvm-faq-transition);
             }

             #cvm-faq-section .cvm-faq-icon::before,
             #cvm-faq-section .cvm-faq-icon::after {
               content: "";
               position: absolute;
               background-color: var(--cvm-faq-brand-color);
               transition: var(--cvm-faq-transition);
             }

             /* Linha horizontal do '+' */
             #cvm-faq-section .cvm-faq-icon::before {
               top: 9px;
               left: 2px;
               width: 16px;
               height: 2px;
             }

             /* Linha vertical do '+' */
             #cvm-faq-section .cvm-faq-icon::after {
               top: 2px;
               left: 9px;
               width: 2px;
               height: 16px;
             }

             /* Estado Aberto (Animação do Ícone) */
             #cvm-faq-section .cvm-faq-details[open] .cvm-faq-icon {
               transform: rotate(135deg);
             }

             /* Wrapper de Conteúdo Interno */
             #cvm-faq-section .cvm-faq-content {
               border-top: 1px solid var(--cvm-faq-border-color);
               background-color: var(--cvm-faq-bg-accent);
               padding: 1.25rem 1.5rem;
               animation: cvmFaqSlideIn 0.25s ease-out;
             }

             #cvm-faq-section .cvm-faq-content p {
               margin: 0 0 1rem 0;
               font-size: 1rem;
               line-height: 1.6;
               color: var(--cvm-faq-text-muted);
             }

             #cvm-faq-section .cvm-faq-content p:last-child,
             #cvm-faq-section .cvm-faq-content ul:last-child {
               margin-bottom: 0;
             }

             #cvm-faq-section .cvm-faq-content strong {
               color: var(--cvm-faq-text-main);
               font-weight: 600;
             }

             #cvm-faq-section .cvm-faq-content ul {
               margin: 0 0 1rem 0;
               padding-left: 1.5rem;
             }

             #cvm-faq-section .cvm-faq-content li {
               margin-bottom: 0.75rem;
               font-size: 1rem;
               line-height: 1.6;
               color: var(--cvm-faq-text-muted);
             }

             #cvm-faq-section .cvm-faq-content li:last-child {
               margin-bottom: 0;
             }

             /* Links internos seguros e acessíveis */
             #cvm-faq-section .cvm-faq-link {
               color: var(--cvm-faq-brand-color);
               text-decoration: underline;
               text-underline-offset: 3px;
               font-weight: 600;
               transition: var(--cvm-faq-transition);
             }

             #cvm-faq-section .cvm-faq-link:hover,
             #cvm-faq-section .cvm-faq-link:focus {
               color: var(--cvm-faq-brand-hover);
               text-decoration: none;
             }

             @keyframes cvmFaqSlideIn {
               from { opacity: 0; transform: translateY(-5px); }
               to { opacity: 1; transform: translateY(0); }
             }

             /* RESPONSIVIDADE ULTRA-FOCADA (IPHONE SE & TELAS PEQUENAS) */
             @media (max-width: 400px) {
               #cvm-faq-section {
                 padding: 1rem 0.25rem;
                 margin: 1rem auto;
               }

               #cvm-faq-section .cvm-faq-title {
                 font-size: 1.3rem;
                 padding: 0 0.5rem;
               }

               #cvm-faq-section .cvm-faq-list {
                 gap: 0.75rem;
               }

               /* Elevação da semelhança visual a cartões flutuantes (Cards) */
               #cvm-faq-section .cvm-faq-item {
                 border-radius: 12px; 
                 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05), 0 1px 4px rgba(0, 0, 0, 0.03);
                 border: 1px solid var(--cvm-faq-border-color);
                 margin-left: 0.25rem;
                 margin-right: 0.25rem;
               }

               #cvm-faq-section .cvm-faq-summary {
                 padding: 1rem 1.15rem;
                 font-size: 0.95rem;
                 line-height: 1.35;
               }

               #cvm-faq-section .cvm-faq-icon {
                 width: 18px;
                 height: 18px;
                 margin-left: 0.75rem;
               }

               #cvm-faq-section .cvm-faq-content {
                 padding: 1rem 1.15rem;
               }
               
               #cvm-faq-section .cvm-faq-content p, 
               #cvm-faq-section .cvm-faq-content li {
                 font-size: 0.92rem;
                 line-height: 1.5;
               }
             }
    
/*  =================================================
           conteudo do arquivo 08 | final  
    =================================================  */    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
/*  =======================================================================
           conteudo do arquivo 09 ( com call to action)  | inicio  
    =======================================================================  */        
    



  
    /* Escopo totalmente isolado e restrito à ID do documento para evitar conflitos entre abas */
    #cvm-cta-section {
      --cvm-cta-bg-card: #ffffff;
      --cvm-cta-bg-highlight: #fdfcf0;
      --cvm-cta-text-main: #1e293b;
      --cvm-cta-text-muted: #475569;
      --cvm-cta-accent-color: #0284c7;
      --cvm-cta-whatsapp-color: #25d366;
      --cvm-cta-border: #e2e8f0;
      --cvm-cta-shadow-card: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);
      --cvm-cta-radius: 12px;
      
      display: block;
      width: 100%;
      max-width: 900px;
      margin: 3rem auto;
      padding: 2.5rem;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      color: var(--cvm-cta-text-main);
      line-height: 1.6;
      background-color: var(--cvm-cta-bg-card);
      border: 1px solid var(--cvm-cta-border);
      border-radius: var(--cvm-cta-radius);
      box-shadow: var(--cvm-cta-shadow-card);
      box-sizing: border-box;
    }

    /* Reset local estrito contra interferências externas */
    #cvm-cta-section *,
    #cvm-cta-section *::before,
    #cvm-cta-section *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    #cvm-cta-section .cvm-cta-header {
      margin-bottom: 2rem;
      text-align: center;
    }

    #cvm-cta-section .cvm-cta-main-title {
      font-size: 1.8rem;
      font-weight: 800;
      color: var(--cvm-cta-text-main);
      margin: 0;
      line-height: 1.3;
    }

    #cvm-cta-section .cvm-cta-box-requisitos {
      background-color: transparent;
      margin-bottom: 1.75rem;
    }

    #cvm-cta-section .cvm-cta-titulo-lista {
      font-size: 1.1rem;
      color: var(--cvm-cta-text-main);
      margin: 0 0 1rem 0;
    }

    #cvm-cta-section .cvm-cta-lista {
      list-style: none;
    }

    #cvm-cta-section .cvm-cta-li {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      margin-bottom: 0.75rem;
      color: var(--cvm-cta-text-muted);
      font-size: 1rem;
    }

    #cvm-cta-section .cvm-cta-li:last-child {
      margin-bottom: 0;
    }

    #cvm-cta-section .cvm-cta-check-icon {
      color: var(--cvm-cta-accent-color);
      font-weight: bold;
      flex-shrink: 0;
    }

    #cvm-cta-section .cvm-cta-texto-apoio {
      margin: 1.5rem 0 2rem 0;
      background-color: var(--cvm-cta-bg-highlight);
      color: var(--cvm-cta-text-main);
      padding: 1rem 1.25rem;
      border-left: 4px solid #eab308;
      border-radius: 4px;
      font-size: 0.95rem;
      font-weight: 500;
    }

    #cvm-cta-section .cvm-cta-botoes-container {
      display: flex;
      gap: 1rem;
      justify-content: center;
      align-items: center;
    }

    #cvm-cta-section .cvm-cta-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.75rem 2rem;
      font-size: 1rem;
      font-weight: 700;
      text-decoration: none;
      border-radius: 6px;
      transition: background-color 0.2s ease, transform 0.1s ease;
      cursor: pointer;
      text-align: center;
      min-width: 200px;
      min-height: 48px; /* Altura ideal de toque para acessibilidade */
    }

    #cvm-cta-section .cvm-cta-btn:active {
      transform: scale(0.98);
    }

    #cvm-cta-section .cvm-cta-btn-email {
      background-color: var(--cvm-cta-accent-color);
      color: #ffffff;
    }

    #cvm-cta-section .cvm-cta-btn-email:hover, 
    #cvm-cta-section .cvm-cta-btn-email:focus-visible {
      background-color: #0369a1;
      outline: 3px solid var(--cvm-cta-text-main);
      outline-offset: 2px;
    }

    #cvm-cta-section .cvm-cta-btn-whatsapp {
      background-color: var(--cvm-cta-whatsapp-color);
      color: #ffffff;
    }

    #cvm-cta-section .cvm-cta-btn-whatsapp:hover, 
    #cvm-cta-section .cvm-cta-btn-whatsapp:focus-visible {
      background-color: #16a34a;
      outline: 3px solid var(--cvm-cta-text-main);
      outline-offset: 2px;
    }

    /* Ajustes Gerais para Telas Médias */
    @media (max-width: 768px) {
      #cvm-cta-section {
        margin: 1.5rem 1rem;
        padding: 1.5rem;
      }

      #cvm-cta-section .cvm-cta-main-title {
        font-size: 1.45rem;
        text-align: left;
      }

      #cvm-cta-section .cvm-cta-botoes-container {
        flex-direction: column;
        width: 100%;
        gap: 0.85rem;
      }

      #cvm-cta-section .cvm-cta-btn {
        width: 100%;
        min-width: 100%;
        padding: 0.85rem 1.5rem;
      }
    }

    /* COMPORTAMENTO EM CARD FLUTUANTE PARA TELA DO IPHONE SE (MÁX 375PX) */
    @media (max-width: 375px) {
      #cvm-cta-section {
        margin: 1rem 0.5rem;
        padding: 1.25rem 1rem;
        border-radius: 16px; /* Bordas arredondadas de estilo Card */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08), 0 2px 10px rgba(0, 0, 0, 0.04);
        border: 1px solid var(--cvm-cta-border);
      }

      #cvm-cta-section .cvm-cta-header {
        margin-bottom: 1.5rem;
      }

      #cvm-cta-section .cvm-cta-main-title {
        font-size: 1.3rem;
        text-align: center;
      }

      #cvm-cta-section .cvm-cta-titulo-lista {
        font-size: 1.05rem;
      }

      #cvm-cta-section .cvm-cta-li {
        font-size: 0.95rem;
        line-height: 1.5;
        gap: 0.6rem;
      }

      #cvm-cta-section .cvm-cta-texto-apoio {
        padding: 0.85rem 1rem;
        font-size: 0.9rem;
        margin: 1.25rem 0;
      }
    }
  
    
    
/*  =======================================================================
           conteudo do arquivo 09 ( com call to action)  | final  
    =======================================================================  */        
    
    
    
    
    
    
    
/*  =======================================================================
           conteudo das tabelas A e B    | inicio  
    =======================================================================  */          
    
    
    
    
    
    
    
    
              
              
           /* --- ESTILOS BASE (Desktop / Tablet) --- */
              
          .pe-card-tbl-wrapper {
            margin: 1.5rem 0;
            width: 100%;
          }

          .pe-card-tbl {
            width: 100%;
            border-collapse: collapse;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 1rem;
            line-height: 1.5;
            color: #1f2937;
            background-color: #ffffff;
            border: 1px solid #e5e7eb;
            border-radius: 8px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
          }

          .pe-card-tbl caption {
            font-size: 1.125rem;
            font-weight: 700;
            text-align: left;
            color: #111827;
            margin-bottom: 0.75rem;
            caption-side: top;
          }

          .pe-card-tbl th,
          .pe-card-tbl td {
            padding: 0.75rem 1rem;
            text-align: left;
            border-bottom: 1px solid #e5e7eb;
          }

          .pe-card-tbl th {
            background-color: #f8fafc;
            font-weight: 600;
            color: #334155;
          }

          .pe-card-tbl tr:nth-child(even) {
            background-color: #f9fafb;
          }

          .pe-card-tbl .pe-num {
            text-align: right;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
          }

          /* --- TRANSFORMAÇÃO EM CARDS (Telas menores que 600px / iPhone SE) --- */
          @media (max-width: 600px) {
            /* Esconde o cabeçalho original da tabela */
            .pe-card-tbl thead {
              position: absolute;
              width: 1px;
              height: 1px;
              padding: 0;
              margin: -1px;
              overflow: hidden;
              clip: rect(0, 0, 0, 0);
              white-space: nowrap;
              border: 0;
            }

            .pe-card-tbl, 
            .pe-card-tbl tbody, 
            .pe-card-tbl tr, 
            .pe-card-tbl td, 
            .pe-card-tbl th {
              display: block;
              width: 100%;
              box-sizing: border-box;
            }

            /* Cada linha (tr) vira um Card isolado */
            .pe-card-tbl tbody tr {
              margin-bottom: 0.875rem;
              background-color: #ffffff !important;
              border: 1px solid #e2e8f0;
              border-radius: 8px;
              padding: 0.5rem 0;
              box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
            }

            /* Células dentro do Card */
            .pe-card-tbl td, 
            .pe-card-tbl th[scope="row"] {
              display: flex;
              justify-content: space-between;
              align-items: center;
              padding: 0.625rem 1rem;
              border-bottom: 1px solid #f1f5f9;
              font-size: 0.9rem;
              text-align: right;
            }

            .pe-card-tbl tr td:last-child,
            .pe-card-tbl tr th[scope="row"]:last-child {
              border-bottom: none;
            }

            /* Injeta o nome da coluna via data-label */
            .pe-card-tbl td::before {
              content: attr(data-label);
              font-weight: 600;
              color: #475569;
              text-align: left;
              padding-right: 1rem;
            }

            .pe-card-tbl .pe-num {
              text-align: right;
            }
          }
    
    
/*  =======================================================================
           conteudo das tabelas A e B    | final  
    =======================================================================  */           
    