/* ═══════════════════════════════════════════════════════════════════════════
   Páginas institucionais — Quem Somos, Contato e Política.

   Vive num arquivo próprio, e não no style.css, por um motivo de custo: são
   ~6KB que só as páginas institucionais usam. Uma página de receita — que é a
   esmagadora maioria do tráfego — não precisa de nada daqui, e CSS bloqueia a
   renderização. Carregado só quando is_page() (ver inc/performance.php).

   Namespace .cdc-* próprio: nenhum conflito com o tema.

   [PADRONIZAÇÃO] O vinho aqui era #5e1914 — ΔE 2.1 do #5b1311 usado no tema,
   ou seja, o olho humano não distingue os dois. Eram a mesma cor digitada de
   memória em dois momentos diferentes. Unificado no valor do tema, para o site
   ter uma paleta só.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── QUEM SOMOS ──────────────────────────────────────────────────────────── */

.cdc-wrapper {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    width: 100%;
    margin: 0 auto;

    --cor-vinho: #5b1311;
    --cor-fundo-destaque: #f9f9f9;
    --cor-borda: #e0e0e0;
}

.cdc-title-main {
    color: var(--cor-vinho);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 15px;
}

.cdc-title-main::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--cor-vinho);
    margin: 15px auto 0;
    opacity: .2;
}

.cdc-subtitle {
    color: var(--cor-vinho);
    font-family: Georgia, serif;
    font-size: 1.8rem;
    margin: 50px 0 25px;
    border-left: 5px solid var(--cor-vinho);
    padding-left: 15px;
}

.cdc-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    margin-bottom: 60px;
}

.cdc-section.reverse { flex-direction: row-reverse; }

.cdc-col-text  { flex: 1; min-width: 300px; font-size: 1.1rem; color: #444; }
.cdc-col-media { flex: 1; min-width: 300px; }

.cdc-col-media img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .08);
}

.cdc-highlight {
    background: var(--cor-fundo-destaque);
    border-left: 5px solid var(--cor-vinho);
    padding: 30px;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    margin: 40px 0;
    font-size: 1.15rem;
}

.cdc-video-box {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .08);
}

.cdc-video-box iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.cdc-leaders-area {
    display: grid;
    gap: 30px;
    margin-top: 40px;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .cdc-leaders-area { grid-template-columns: 1fr 1fr; }
}

.cdc-leader-card {
    background: #fff;
    border: 1px solid var(--cor-borda);
    border-top: 5px solid var(--cor-vinho);
    border-radius: 8px;
    padding: 35px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .03);
    transition: transform .3s ease, box-shadow .3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.cdc-leader-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, .1);
}

.cdc-link-card {
    text-decoration: none;
    color: inherit;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.cdc-leader-photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 4px;
    background: #fff;
}

.cdc-leader-name {
    color: var(--cor-vinho);
    margin: 5px 0;
    font-size: 1.6rem;
    font-family: Georgia, serif;
}

.cdc-leader-role {
    display: block;
    color: #666;
    font-weight: bold;
    text-transform: uppercase;
    font-size: .85rem;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.cdc-linkedin-btn {
    margin-top: auto;
    display: inline-block;
    color: var(--cor-vinho);
    font-weight: bold;
    font-size: .9rem;
    padding-top: 15px;
}

.cdc-linkedin-btn::after { content: ' →'; }

.cdc-tech-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-top: 30px;
}

.cdc-tech-item {
    width: 150px;
    text-align: center;
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #eee;
}

.cdc-tech-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
    filter: grayscale(100%);
    transition: filter .3s;
}

.cdc-tech-item:hover .cdc-tech-photo { filter: grayscale(0); }

.cdc-editorial-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.cdc-tag {
    background: #fff;
    color: #555;
    padding: 8px 15px;
    border-radius: 4px;
    font-size: .9rem;
    border: 1px solid #ddd;
}

.cdc-list-check { list-style: none; padding: 0; }

.cdc-list-check li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    color: #444;
}

.cdc-list-check li::before {
    content: '•';
    color: var(--cor-vinho);
    margin-right: 12px;
    font-size: 1.5rem;
    line-height: 1;
}


/* ── CONTATO ─────────────────────────────────────────────────────────────── */

.cdc-contact-wrapper {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    padding: 20px;

    --cor-vinho: #5b1311;
    --cor-borda: #e0e0e0;
}

.cdc-contact-title {
    color: var(--cor-vinho);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 20px;
    position: relative;
}

.cdc-contact-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--cor-vinho);
    margin: 15px auto 0;
    opacity: .2;
}

.cdc-intro-text {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 1.1rem;
    color: #555;
}

.cdc-contact-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }

@media (min-width: 768px) {
    .cdc-contact-grid { grid-template-columns: 1fr 1fr; }
}

.cdc-contact-card {
    background: #fff;
    border: 1px solid var(--cor-borda);
    border-top: 5px solid var(--cor-vinho);
    border-radius: 8px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .03);
    transition: transform .3s ease, box-shadow .3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cdc-contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(94, 25, 20, .1);
}

.cdc-card-icon  { font-size: 2.5rem; margin-bottom: 20px; color: var(--cor-vinho); }
.cdc-card-title { font-family: Georgia, serif; font-size: 1.5rem; color: var(--cor-vinho); margin-bottom: 15px; }
.cdc-card-desc  { color: #666; margin-bottom: 30px; flex-grow: 1; }

.cdc-btn {
    display: inline-block;
    padding: 12px 25px;
    background-color: var(--cor-vinho, #5b1311);
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background .3s;
    /* Alvo de toque confortável no celular. */
    min-height: 44px;
    box-sizing: border-box;
}

.cdc-btn:hover { background-color: #3e100d; color: #fff; }

.cdc-btn-linkedin       { background-color: #0077b5; }
.cdc-btn-linkedin:hover { background-color: #005582; }

.cdc-footer-note {
    text-align: center;
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid #eee;
    color: #888;
    font-size: .9rem;
}


/* ── POLÍTICA ────────────────────────────────────────────────────────────── */

.cdc-policy-wrapper {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    margin: 0 auto;
    padding: 20px;
}

.cdc-policy-wrapper h1 {
    color: #5b1311;
    border-bottom: 3px solid #d69d28;
    padding-bottom: 10px;
}

.cdc-policy-wrapper h2 { color: #5b1311; margin-top: 30px; }
.cdc-policy-wrapper h3 { color: #444;    margin-top: 20px; }
.cdc-policy-wrapper ul { margin-bottom: 20px; }
.cdc-policy-wrapper li { margin-bottom: 10px; }

.cdc-alert-box {
    background-color: #f9f9f9;
    border-left: 5px solid #5b1311;
    padding: 15px;
    margin: 20px 0;
    font-size: .95rem;
}

.cdc-link { color: #5b1311; font-weight: bold; text-decoration: none; }
.cdc-link:hover { text-decoration: underline; }


/* ═══════════════════════════════════════════════════════════════════════════
   PADRONIZAÇÃO COM O TEMA — camada de fechamento

   Tudo acima nasceu como página avulsa, antes de existir design system: usa
   Georgia e Helvetica (o tema é Inter + Baloo 2), tamanhos em rem soltos
   (2.5 / 1.8 / 1.15 / .9) e uma dúzia de cinzas digitados à mão (#333, #444,
   #555, #666, #888, #ddd, #eee).

   Reescrever as 58 regras uma a uma daria muito mais chance de erro do que
   ganho. Esta camada final remapeia só o que faz a página parecer de outro
   site — família tipográfica, escala de tamanho e paleta — mantendo intacta a
   estrutura (grids, cards, hovers) que já funciona.
   ═══════════════════════════════════════════════════════════════════════════ */

.cdc-wrapper,
.cdc-contact-wrapper {
    font-family: "Inter", system-ui, -apple-system, sans-serif;
    color: var(--cor-texto);
    line-height: var(--altura-leitura);
    /* O vinho local passa a apontar para o token do tema: uma fonte de verdade. */
    --cor-vinho: var(--cor-marca-escura);
    --cor-fundo-destaque: var(--cor-fundo-suave);
    --cor-borda: var(--cor-linha);
}

/* Títulos: a família de display do tema, com o fallback métrico que evita o
   salto de layout quando a Baloo 2 termina de carregar. */
.cdc-title-main,
.cdc-subtitle,
.cdc-contact-title,
.cdc-card-title,
.cdc-leader-name {
    font-family: "Baloo 2", "Baloo 2 Fallback", sans-serif;
}

.cdc-title-main,
.cdc-contact-title { font-size: var(--texto-4xl); line-height: var(--altura-titulo); color: var(--cor-titulo); }
.cdc-subtitle      { font-size: var(--texto-2xl); line-height: var(--altura-titulo); color: var(--cor-titulo); margin: var(--secao-espaco) 0 var(--esp-6); }
.cdc-card-title    { font-size: var(--texto-xl);  color: var(--cor-marca); }
.cdc-leader-name   { font-size: var(--texto-lg);  color: var(--cor-marca); }

@media (max-width: 768px) {
    .cdc-title-main,
    .cdc-contact-title { font-size: var(--texto-2xl); }
    .cdc-subtitle      { font-size: var(--texto-xl); margin-top: var(--esp-8); }
}

/* Superfícies: raio e sombra de cartão do tema, no lugar dos valores próprios. */
.cdc-leader-card,
.cdc-contact-card,
.cdc-highlight,
.cdc-video-box {
    border-radius: var(--sup-cartao-raio);
    box-shadow: var(--sombra-cartao);
    border-color: var(--cor-linha);
}

/* Alvo de toque nos links-cartão e no botão do LinkedIn. */
.cdc-link-card,
.cdc-linkedin-btn { min-height: var(--alvo-toque); box-sizing: border-box; }


/* ═══════════════════════════════════════════════════════════════════════════
   PÁGINA SIMPLES (page.php)

   Política de Privacidade, Anuncie Conosco, Central de Transparência: o
   conteúdo vem do editor, sem classe nenhuma, e o template só embrulhava tudo
   em .sobrenos — que estiliza h1, h2 e p, e mais nada. Resultado: h3 sem
   hierarquia, lista sem marcador, tabela sem borda, link igual a texto comum,
   e a coluna de leitura com a largura inteira do grid.

   Aqui a página passa a ter as três coisas que faltavam: coluna de leitura
   com medida controlada, cartão do padrão do tema, e tipografia completa
   para conteúdo bruto de editor.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Coluna de leitura. O template do tema reservava `calc(100% - 400px)` para
   uma barra lateral que a página NÃO renderiza — daí o texto aparecer
   espremido de um lado com um vazio enorme do outro. */
.page .content-wrapper {
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
}

.page .content-info {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

/* Cartão do conteúdo, no mesmo padrão dos cartões do artigo. */
.cdc-page {
    background: var(--cor-branco);
    border: 1px solid var(--cor-linha);
    box-shadow: var(--sombra-cartao);
    border-radius: var(--sup-cartao-raio);
    padding: var(--esp-12) var(--esp-10);
}

@media (max-width: 768px) {
    .cdc-page { padding: var(--esp-6) var(--esp-5); border-radius: var(--raio-medio); }
}

.cdc-page > h1,
.page .sobrenos > h1 {
    font-family: "Baloo 2", "Baloo 2 Fallback", sans-serif;
    font-size: var(--texto-4xl);
    line-height: var(--altura-titulo);
    color: var(--cor-titulo);
    margin: 0 0 var(--esp-8);
}

@media (max-width: 768px) {
    .cdc-page > h1,
    .page .sobrenos > h1 { font-size: var(--texto-2xl); margin-bottom: var(--esp-5); }
}

/* ── Tipografia do conteúdo bruto do editor ──────────────────────────────── */

.cdc-page-conteudo { font-size: var(--texto-md); line-height: var(--altura-leitura); color: var(--cor-texto); }

.cdc-page-conteudo h2,
.cdc-page-conteudo h3,
.cdc-page-conteudo h4 {
    font-family: "Baloo 2", "Baloo 2 Fallback", sans-serif;
    color: var(--cor-titulo);
    line-height: var(--altura-titulo);
}

.cdc-page-conteudo h2 { font-size: var(--texto-2xl); margin: var(--esp-10) 0 var(--esp-4); }
.cdc-page-conteudo h3 { font-size: var(--texto-xl);  margin: var(--esp-8) 0 var(--esp-3); }
.cdc-page-conteudo h4 { font-size: var(--texto-lg);  margin: var(--esp-6) 0 var(--esp-2); color: var(--cor-marca); }

@media (max-width: 768px) {
    .cdc-page-conteudo h2 { font-size: var(--texto-xl); margin-top: var(--esp-8); }
    .cdc-page-conteudo h3 { font-size: var(--texto-lg); }
}

/* Primeiro título não empurra o topo do cartão. */
.cdc-page-conteudo > :first-child { margin-top: 0; }
.cdc-page-conteudo > :last-child  { margin-bottom: 0; }

.cdc-page-conteudo p { margin: 0 0 var(--esp-6); }

.cdc-page-conteudo a {
    color: var(--cor-marca);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cdc-page-conteudo a:hover { color: var(--cor-marca-escura); }

.cdc-page-conteudo strong,
.cdc-page-conteudo b { color: var(--cor-marca-escura); font-weight: 700; }

/* Listas: o reset do tema zera list-style em todo ul/li do site, então em
   conteúdo de editor a lista virava um bloco de linhas soltas. */
.cdc-page-conteudo ul,
.cdc-page-conteudo ol { margin: 0 0 var(--esp-6); padding-left: var(--esp-6); display: block; }
.cdc-page-conteudo ul li { list-style: disc; display: list-item; margin: 0 0 var(--esp-3); }
.cdc-page-conteudo ol li { list-style: decimal; display: list-item; margin: 0 0 var(--esp-3); }
.cdc-page-conteudo li::marker { color: var(--cor-marca); }
.cdc-page-conteudo li > ul,
.cdc-page-conteudo li > ol { margin: var(--esp-3) 0 0; }

.cdc-page-conteudo blockquote {
    margin: 0 0 var(--esp-6);
    padding: var(--esp-4) var(--esp-5);
    border-left: 4px solid var(--cor-marca);
    background: var(--cor-fundo-suave);
    border-radius: 0 var(--raio-pequeno) var(--raio-pequeno) 0;
}

/* Tabela: comum em política de privacidade (finalidade × base legal × prazo). */
.cdc-page-conteudo table { width: 100%; border-collapse: collapse; margin: 0 0 var(--esp-6); font-size: var(--texto-base); }
.cdc-page-conteudo th,
.cdc-page-conteudo td { border: 1px solid var(--cor-linha); padding: var(--esp-3); text-align: left; vertical-align: top; }
.cdc-page-conteudo th { background: var(--cor-fundo-suave); color: var(--cor-marca-escura); font-weight: 700; }

/* Rolagem horizontal em vez de tabela estourando a tela no celular. */
@media (max-width: 768px) {
    .cdc-page-conteudo table { display: block; overflow-x: auto; white-space: nowrap; }
}

.cdc-page-conteudo img { max-width: 100%; height: auto; border-radius: var(--raio-medio); }
.cdc-page-conteudo hr  { border: 0; border-top: 1px solid var(--cor-linha); margin: var(--esp-10) 0; }

/* Linha da data de atualização. */
.cdc-page-meta {
    font-size: var(--texto-sm);
    color: var(--cor-texto-fraco);
    margin: calc(var(--esp-8) * -1 + var(--esp-2)) 0 var(--esp-8);
    padding-bottom: var(--esp-4);
    border-bottom: 1px solid var(--cor-linha);
}

@media (max-width: 768px) {
    .cdc-page-meta { margin-top: calc(var(--esp-5) * -1 + var(--esp-1)); margin-bottom: var(--esp-5); }
}

/* Página cujo conteúdo já traz a marcação institucional própria (.cdc-wrapper
   ou .cdc-contact-wrapper, coladas no editor) não deve virar cartão dentro de
   cartão: nesses casos o contêiner externo some e a marcação de dentro manda. */
.cdc-page:has(.cdc-wrapper),
.cdc-page:has(.cdc-contact-wrapper) {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
