/* ===========================================================
   bloco_3_servicos - CSS completo (hover com borda branca e cantos pontiagudos)
   - :hover / :focus-visible / .is-selecionado aplicam:
       background-color: #505050;
       border: 1px solid #ffffff;
       bordas pontiagudas (border-radius: 0)
   - Não há alteração de padding/height no hover -> sem "jump"
   =========================================================== */

/* Variáveis (ajuste se quiser) */
:root {
    --bloco3-text: #ffffff;
    --bloco3-muted: rgba(255, 255, 255, 0.85);
    --bloco3-hover-bg: #505050;
    --bloco3-hover-border: #ffffff;
    --bloco3-transition: 150ms;
}

/* Container / Cabeçalho / Tipografia */
.bloco_3_servicos__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 82px;
    padding: 130px 0;
    position: relative;
    color: var(--bloco3-text);
    box-sizing: border-box;
}

.bloco_3_servicos__cabecalho {
    display: flex;
    flex-direction: column;
    width: 692px;
    align-items: center;
    gap: 10px;
    position: relative;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.bloco_3_servicos__titulo-principal {
    position: relative;
    align-self: stretch;
    height: 57px;
    margin-top: -1px;
    font-family: "Montserrat-SemiBold", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: var(--bloco3-text);
    font-size: 48px;
    text-align: center;
    line-height: 49.4px;
    white-space: nowrap;
    gap: 20px;
}

.bloco_3_servicos__titulo-part1 {
    text-decoration: underline;
}

.bloco_3_servicos__titulo-part2 {
    font-family: "Montserrat-SemiBold", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: var(--bloco3-text);
    font-size: 48px;
    line-height: 49.4px;
}

.bloco_3_servicos__subtitulo {
    position: relative;
    width: 382px;
    height: 57px;
    font-family: "Montserrat-Regular", Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: var(--bloco3-muted);
    font-size: 24px;
    text-align: center;
    line-height: 24.7px;
}

/* Layout das colunas */
.bloco_3_servicos__conteudo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 57px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.bloco_3_servicos__coluna {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    position: relative;
    box-sizing: border-box;
}

.bloco_3_servicos__coluna--1 {
    width: 381px;
}

.bloco_3_servicos__coluna--2 {
    width: 387px;
    gap: 20px;
}

/* Card principal (mantido neutro) */
.bloco_3_servicos__botao-principal {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    background: none;
    border: 1px solid transparent;
    width: 100%;
    height: auto;
    text-align: left;
    box-sizing: border-box;
    border-radius: 0;
    /* pontas pontiagudas por padrão */
}

/* Cabeçalho do card, ícone e título do card */
.bloco_3_servicos__cabecalho-card {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    position: relative;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.bloco_3_servicos__icone-pasta {
    position: relative;
    width: 83px;
    height: 67px;
    flex: 0 0 auto;
    display: inline-block;
    box-sizing: border-box;
}

.bloco_3_servicos__icone-svg {
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    transition: filter var(--bloco3-transition), opacity var(--bloco3-transition);
    box-sizing: border-box;
}

.bloco_3_servicos__titulo-card {
    position: relative;
    width: 224px;
    height: 31px;
    font-family: "Montserrat-SemiBold", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: var(--bloco3-text);
    font-size: 16px;
    line-height: 16.5px;
    box-sizing: border-box;
}

/* Nav / lista */
.bloco_3_servicos__nav-coluna {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 60px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.bloco_3_servicos__nav-coluna .bloco_3_servicos__lista {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.bloco_3_servicos__lista-item {
    width: 100%;
    box-sizing: border-box;
}

/* Cards / itens: estado normal */
/* IMPORTANT: border já existe (transparente) para evitar jump ao ativar hover */
.bloco_3_servicos__botao-item {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    position: relative;
    flex: 0 0 auto;
    background: transparent;
    border: 1px solid transparent;
    /* chave: evita jump ao ativar borda branca */
    padding: 13px 16px;
    /* padding idêntico ao antigo botão-principal */
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    /* pontas pontiagudas por padrão */
    transition:
        background-color var(--bloco3-transition) ease,
        border-color var(--bloco3-transition) ease,
        color var(--bloco3-transition) ease,
        filter var(--bloco3-transition) ease;
    -webkit-tap-highlight-color: transparent;
}

/* Ajustes de gap por coluna */
.bloco_3_servicos__coluna--1 .bloco_3_servicos__botao-item {
    gap: 21px;
}

.bloco_3_servicos__coluna--2 .bloco_3_servicos__botao-item {
    gap: 18px;
}

/* Título dos itens */
.bloco_3_servicos__titulo-item {
    position: relative;
    width: 100%;
    max-width: 284px;
    height: 31px;
    font-family: "Montserrat-SemiBold", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: var(--bloco3-text);
    font-size: 16px;
    line-height: 16.5px;
    white-space: normal;
    margin: 0;
    box-sizing: border-box;
}

/* variantes */
.bloco_3_servicos__titulo-item--nowrap {
    white-space: nowrap;
    width: fit-content;
}

.bloco_3_servicos__titulo-item--largo {
    max-width: 268px;
}

/* EFEITO: hover / focus-visible / active / seleção persistente */
/* altera apenas background-color e border color; pontas pontiagudas (border-radius: 0) */
.bloco_3_servicos__botao-item:hover,
.bloco_3_servicos__botao-item:active,
.bloco_3_servicos__botao-item:focus-visible,
.bloco_3_servicos__botao-item.is-selecionado {
    background-color: var(--bloco3-hover-bg);
    /* #505050 */
    border-color: var(--bloco3-hover-border);
    /* #ffffff */
    color: var(--bloco3-text);
    /* texto branco */
    border-radius: 0;
    /* pontas pontiagudas */
    /* sem box-shadow, sem glow (seguindo seu pedido de visual pontiagudo) */
    box-shadow: none;
    transform: none;
}

/* Forçar cor do título caso a herança não funcione */
.bloco_3_servicos__botao-item:hover .bloco_3_servicos__titulo-item,
.bloco_3_servicos__botao-item:active .bloco_3_servicos__titulo-item,
.bloco_3_servicos__botao-item:focus-visible .bloco_3_servicos__titulo-item,
.bloco_3_servicos__botao-item.is-selecionado .bloco_3_servicos__titulo-item {
    color: var(--bloco3-text);
}

/* Tint suave no ícone (apenas visual) */
.bloco_3_servicos__botao-item:hover .bloco_3_servicos__icone-svg,
.bloco_3_servicos__botao-item:active .bloco_3_servicos__icone-svg,
.bloco_3_servicos__botao-item:focus-visible .bloco_3_servicos__icone-svg,
.bloco_3_servicos__botao-item.is-selecionado .bloco_3_servicos__icone-svg {
    filter: none;
    opacity: 1;
}

/* Estado desativado */
.bloco_3_servicos__botao-item[disabled],
.bloco_3_servicos__botao-item.disable {
    opacity: 0.42;
    pointer-events: none;
    background: transparent;
    border-color: transparent;
}

/* Utilitários */
.bloco_3_servicos__hidden {
    display: none !important;
}

/* Responsivo */
@media (max-width: 900px) {
    .bloco_3_servicos__container {
        padding: 60px 20px;
        gap: 40px;
    }

    .bloco_3_servicos__cabecalho {
        width: 100%;
    }

    .bloco_3_servicos__titulo-principal {
        font-size: 32px;
        line-height: 36px;
        white-space: normal;
    }

    .bloco_3_servicos__subtitulo {
        width: 100%;
        font-size: 18px;
        line-height: 22px;
    }

    .bloco_3_servicos__conteudo {
        flex-direction: column;
        gap: 24px;
    }

    .bloco_3_servicos__coluna--1,
    .bloco_3_servicos__coluna--2 {
        width: 100%;
    }

    .bloco_3_servicos__botao-item {
        padding: 12px 10px;
        height: auto;
    }

    .bloco_3_servicos__botao-item:hover,
    .bloco_3_servicos__botao-item:active,
    .bloco_3_servicos__botao-item:focus-visible,
    .bloco_3_servicos__botao-item.is-selecionado {
        height: auto;
    }
}

/* ===========================================================
   Observações rápidas:
   - Mantive border: 1px solid transparent no estado normal para evitar
     alteração de tamanho quando a borda branca aparecer.
   - Se você quer bordas pontiagudas **apenas** no hover, e cantos arredondados
     no estado normal, me diga que eu adapto (mas isso pode provocar leve salto
     visual se não houver compensação).
   - Para seleção persistente no servidor/JS aplique a classe .is-selecionado
     no elemento .bloco_3_servicos__botao-item.
   =========================================================== */