/* Cléodo Mércio · Advocacia — estilos do tema
   Tokens vêm do theme.json (--wp--preset--*). Aqui: layout, componentes, responsivo. */

:root {
  --cm-oliva: #4F5A3A; --cm-oliva-escuro: #3E4730; --cm-carvao: #23261C;
  --cm-areia: #EDE7DA; --cm-papel: #F4F0E6; --cm-salvia: #C9CFB0;
  --cm-cinza: #5E6152; --cm-cinza-claro: #8A8C7E; --cm-linha: #C9CFB0;
  --cm-pad-x: clamp(1.25rem, 5vw, 5rem);
  --cm-pad-y: clamp(3.5rem, 8vw, 6rem);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--cm-oliva); outline-offset: 3px; }

/* ---------- Marca ---------- */
.cm-lockup { display: inline-flex; align-items: baseline; gap: .7rem; text-decoration: none; color: inherit; }
.cm-lockup__nome { font-family: var(--wp--preset--font-family--newsreader); font-size: 1.6rem; letter-spacing: -.01em; line-height: 1; }
.cm-lockup__nome em { font-style: italic; color: var(--cm-salvia); }
.cm-lockup__sep { width: 1px; height: 1.1rem; background: var(--cm-cinza); align-self: center; }
.cm-lockup__tipo { font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--cm-salvia); }
.cm-escuro .cm-lockup__nome, .cm-escuro .cm-lockup { color: var(--cm-areia); }
.cm-claro .cm-lockup__nome em, .cm-claro .cm-lockup__tipo { color: var(--cm-oliva); }

/* ---------- Cabeçalho ---------- */
.cm-header { background: var(--cm-carvao); color: var(--cm-areia); border-bottom: 1px solid #3A3E30; position: sticky; top: 0; z-index: 50; }
.cm-header__inner { max-width: 1120px; margin: 0 auto; padding: 1.1rem var(--cm-pad-x); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.cm-header .wp-block-navigation { font-size: .8rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.cm-header .wp-block-navigation a { color: var(--cm-salvia); }
.cm-header .wp-block-navigation a:hover { color: var(--cm-areia); }
.cm-header .wp-block-navigation__responsive-container-open,
.cm-header .wp-block-navigation__responsive-container-close { color: var(--cm-areia); }
.cm-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--cm-carvao); padding: 4rem 2rem; }
.cm-header .wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.1rem; }
.cm-header .cm-btn--fantasma { border: 1px solid var(--cm-cinza); color: var(--cm-areia); padding: .65rem 1.2rem; border-radius: 2px; white-space: nowrap; }
.cm-header .cm-btn--fantasma:hover { border-color: var(--cm-areia); }

/* ---------- Seções ---------- */
.cm-secao { padding: var(--cm-pad-y) var(--cm-pad-x); }
.cm-secao > .cm-limite, .cm-limite { max-width: 1120px; margin: 0 auto; }
.cm-escuro { background: var(--cm-carvao); color: var(--cm-areia); }
.cm-escuro h1, .cm-escuro h2, .cm-escuro h3 { color: var(--cm-areia); }
.cm-escuro p { color: var(--cm-salvia); }
.cm-escuro strong { color: var(--cm-areia); font-weight: 600; }
.cm-escuro a { color: var(--cm-salvia); } .cm-escuro a:hover { color: var(--cm-areia); }
.cm-papel { background: var(--cm-papel); border-top: 1px solid var(--cm-linha); border-bottom: 1px solid var(--cm-linha); }

.cm-sobre-titulo { font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cm-oliva); margin: 0 0 .9rem; }
.cm-escuro .cm-sobre-titulo { color: var(--cm-salvia); }
.cm-titulo em { font-style: italic; color: var(--cm-oliva); }
.cm-escuro .cm-titulo em { color: var(--cm-salvia); }
.cm-lead { font-size: 1.125rem; line-height: 1.6; color: var(--cm-cinza); max-width: 34rem; }

/* Botões */
.cm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.1rem; padding: 0 1.6rem; border-radius: 2px; font-size: .85rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; transition: background-color .15s, border-color .15s; }
.cm-btn--primario { background: var(--cm-oliva); color: var(--cm-areia) !important; }
.cm-btn--primario:hover { background: var(--cm-oliva-escuro); }
.cm-btn--contorno { border: 1px solid var(--cm-oliva); color: var(--cm-oliva) !important; }
.cm-btn--contorno:hover { background: var(--cm-oliva); color: var(--cm-areia) !important; }
.cm-btn svg { width: 1.1rem; height: 1.1rem; }

/* ---------- Hero ---------- */
.cm-hero { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 640px; overflow: hidden; }
.cm-hero__texto { padding: clamp(3rem, 7vw, 6rem) var(--cm-pad-x); display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; }
.cm-hero__local { font-size: .78rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cm-salvia); margin: 0; }
.cm-hero h1 { margin: 0; letter-spacing: -.015em; }
.cm-hero h1 em { font-style: italic; color: var(--cm-salvia); }
.cm-hero__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cm-hero__oab { font-size: .78rem; letter-spacing: .08em; color: var(--cm-cinza-claro); margin: .5rem 0 0; }
.cm-hero__foto { position: relative; min-height: 420px; }
.cm-hero__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 25%); mask-image: linear-gradient(to right, transparent 0, #000 25%); }

/* ---------- Faixa de fatos ---------- */
.cm-fatos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; padding: 1.75rem var(--cm-pad-x); border-bottom: 1px solid var(--cm-linha); }
.cm-fatos__item { display: flex; align-items: baseline; gap: .6rem; }
.cm-fatos__num { font-family: var(--wp--preset--font-family--newsreader); font-size: 2rem; font-weight: 300; line-height: 1; }
.cm-fatos__rot { font-size: .8rem; color: var(--cm-cinza); }

/* ---------- Áreas ---------- */
.cm-cabecalho-2col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; align-items: end; margin-bottom: 3rem; }
.cm-grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.cm-grade-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.cm-area { padding: 2.25rem; border: 1px solid var(--cm-linha); border-radius: 2px; background: var(--cm-papel); display: flex; flex-direction: column; gap: .8rem; transition: border-color .15s; }
.cm-area:hover { border-color: var(--cm-oliva); }
.cm-area h3 { margin: 0; font-size: 1.6rem; }
.cm-area p { margin: 0; color: var(--cm-cinza); font-size: .95rem; }
.cm-area__tags { margin-top: .4rem; font-size: .8rem; font-weight: 600; color: var(--cm-oliva); }
.cm-chamada { margin-top: 1.5rem; padding: 1.75rem 2.25rem; border: 1px solid var(--cm-linha); border-radius: 2px; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; }
.cm-chamada h3 { margin: 0 0 .3rem; font-size: 1.4rem; }
.cm-chamada p { margin: 0; color: var(--cm-cinza); font-size: .95rem; }

/* ---------- Sobre ---------- */
.cm-sobre { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(2rem, 6vw, 4.5rem); align-items: center; }
.cm-sobre__foto { position: relative; border-radius: 2px; overflow: hidden; }
.cm-sobre__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; }
.cm-sobre__legenda { position: absolute; left: 0; right: 0; bottom: 0; padding: 1rem 1.4rem; background: rgba(35,38,28,.85); display: flex; justify-content: space-between; align-items: baseline; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cm-salvia); }
.cm-sobre__legenda .cm-lockup__nome { font-size: 1.2rem; text-transform: none; letter-spacing: 0; color: var(--cm-areia); }
.cm-lista { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-direction: column; gap: .7rem; font-size: .95rem; }
.cm-lista li { display: flex; gap: .9rem; align-items: flex-start; }
.cm-lista li::before { content: ""; flex: 0 0 18px; height: 1px; margin-top: .75rem; background: currentColor; opacity: .7; }

/* ---------- Método / colunas com régua ---------- */
.cm-coluna { padding-top: 1.4rem; border-top: 1px solid var(--cm-carvao); display: flex; flex-direction: column; gap: .8rem; }
.cm-coluna__num { font-family: var(--wp--preset--font-family--newsreader); font-style: italic; font-size: 1.3rem; color: var(--cm-oliva); }
.cm-coluna h3 { margin: 0; font-size: 1.45rem; }
.cm-coluna p { margin: 0; color: var(--cm-cinza); font-size: .95rem; }

/* ---------- FAQ ---------- */
.cm-faq { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(2rem, 6vw, 4.5rem); }
.cm-faq details { border-bottom: 1px solid var(--cm-linha); }
.cm-faq summary { cursor: pointer; list-style: none; padding: 1.3rem 2.2rem 1.3rem 0; font-family: var(--wp--preset--font-family--newsreader); font-size: 1.3rem; position: relative; }
.cm-faq summary::-webkit-details-marker { display: none; }
.cm-faq summary::after { content: "+"; position: absolute; right: .2rem; top: 1.1rem; font-family: var(--wp--preset--font-family--manrope); font-weight: 300; font-size: 1.6rem; color: var(--cm-oliva); transition: transform .2s; }
.cm-faq details[open] summary::after { transform: rotate(45deg); }
.cm-faq details p { margin: 0 0 1.3rem; color: var(--cm-cinza); font-size: .95rem; max-width: 40rem; }

/* ---------- Artigos (cartões) ---------- */
.cm-cartao { padding-top: 1.4rem; border-top: 1px solid var(--cm-carvao); display: flex; flex-direction: column; gap: .7rem; }
.cm-cartao__meta { font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-oliva); }
.cm-cartao h3, .cm-cartao .wp-block-post-title { margin: 0; font-size: 1.45rem; line-height: 1.25; }
.cm-cartao .wp-block-post-title a { color: var(--cm-carvao); text-decoration: none; }
.cm-cartao .wp-block-post-title a:hover { color: var(--cm-oliva); }
.cm-cartao .wp-block-post-excerpt__excerpt, .cm-cartao p { margin: 0; color: var(--cm-cinza); font-size: .95rem; }
.cm-cartao .wp-block-post-date { font-size: .78rem; color: var(--cm-cinza-claro); }
.cm-cartao .wp-block-post-terms a { text-decoration: none; }
.cm-link-sublinhado { font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cm-oliva); text-decoration: none; border-bottom: 1px solid var(--cm-oliva); padding-bottom: .15rem; }

/* ---------- Contato ---------- */
.cm-contato { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 4.5rem); }
.cm-canais { display: flex; flex-direction: column; gap: 1.1rem; margin-top: 1.5rem; }
.cm-canal { display: flex; align-items: center; gap: .9rem; color: var(--cm-carvao); text-decoration: none; }
.cm-canal__icone { flex: 0 0 44px; height: 44px; border: 1px solid var(--cm-linha); border-radius: 2px; display: grid; place-items: center; color: var(--cm-oliva); }
.cm-canal__icone svg { width: 18px; height: 18px; }
.cm-canal__rot { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); }
.cm-canal__val { font-weight: 600; }
.cm-form { padding: 2.25rem; background: var(--cm-papel); border: 1px solid var(--cm-linha); border-radius: 2px; }
.cm-form label { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); margin-bottom: .35rem; }
.cm-form input, .cm-form select, .cm-form textarea, .fluentform input:not([type=submit]), .fluentform select, .fluentform textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--cm-linha); border-radius: 2px; background: #fff; padding: .8rem .9rem; font: inherit; color: var(--cm-carvao); }
.cm-form .ff-btn-submit, .cm-form button, .fluentform .ff-btn-submit { width: 100%; min-height: 3.1rem; border: 0; border-radius: 2px; background: var(--cm-oliva); color: var(--cm-areia); font: 600 .85rem/1 var(--wp--preset--font-family--manrope); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.cm-form .ff-btn-submit:hover, .fluentform .ff-btn-submit:hover { background: var(--cm-oliva-escuro); }
.cm-form__lgpd { font-size: .75rem; color: var(--cm-cinza-claro); margin: 1rem 0 0; }

/* ---------- Rodapé ---------- */
.cm-footer { background: var(--cm-carvao); color: var(--cm-salvia); border-top: 1px solid #3A3E30; padding: 2.5rem var(--cm-pad-x); }
.cm-footer__inner { max-width: 1120px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.2rem; }
.cm-footer__linha { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.cm-footer__contato { font-size: .78rem; letter-spacing: .06em; }
.cm-footer__legal { font-size: .75rem; line-height: 1.6; color: var(--cm-cinza-claro); max-width: 56rem; margin: 0; }
.cm-footer a { color: var(--cm-salvia); text-decoration: none; } .cm-footer a:hover { color: var(--cm-areia); }

/* ---------- Artigo (single) ---------- */
.cm-artigo__topo { max-width: 900px; margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) var(--cm-pad-x) 1.5rem; display: flex; flex-direction: column; gap: 1.2rem; }
.cm-migalhas, .cm-migalhas a { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--cm-cinza); text-decoration: none; }
.cm-migalhas .wp-block-post-terms a { color: var(--cm-oliva); }
.cm-artigo__topo .wp-block-post-title { margin: 0; letter-spacing: -.015em; }
.cm-artigo__topo .wp-block-post-excerpt__excerpt { font-size: 1.2rem; line-height: 1.55; color: var(--cm-cinza); max-width: 44rem; }
.cm-autor-linha { display: flex; align-items: center; gap: 1rem; font-size: .85rem; color: var(--cm-cinza); }
.cm-autor-linha .wp-block-post-author__avatar img { border-radius: 50%; width: 48px; height: 48px; }
.cm-autor-linha .wp-block-post-author__name { font-weight: 600; color: var(--cm-carvao); }
.cm-artigo__corpo { max-width: 900px; margin: 0 auto; padding: 1rem var(--cm-pad-x) 3rem; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 3rem; align-items: start; }
.cm-artigo__lateral { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: 1.5rem; }
.cm-cta-lateral { padding: 1.4rem; background: var(--cm-carvao); color: var(--cm-areia); border-radius: 2px; display: flex; flex-direction: column; gap: .8rem; }
.cm-cta-lateral h3 { margin: 0; font-size: 1.25rem; color: var(--cm-areia); }
.cm-cta-lateral p { margin: 0; font-size: .85rem; color: var(--cm-salvia); }
.cm-artigo__corpo .wp-block-post-content > * { max-width: 720px; }
.cm-artigo__corpo .wp-block-post-content h2 { margin: 2.5rem 0 .8rem; font-size: 1.9rem; }
.cm-artigo__corpo .wp-block-post-content h3 { margin: 1.6rem 0 .5rem; font-size: 1.4rem; }
.cm-artigo__corpo .wp-block-post-content p { margin: 0 0 1.3rem; }
.cm-artigo__corpo .wp-block-post-content a { border-bottom: 1px solid var(--cm-salvia); text-decoration: none; }
.cm-artigo__corpo .wp-block-post-content strong { font-weight: 500; }
.cm-aviso { font-family: var(--wp--preset--font-family--manrope); font-size: .85rem; color: var(--cm-cinza); border-top: 1px solid var(--cm-linha); padding-top: 1rem; margin-top: 2rem; }
.cm-caixa-autor { max-width: 900px; margin: 0 auto; padding: 2.5rem var(--cm-pad-x); }
.cm-caixa-autor__inner { display: flex; gap: 2rem; align-items: center; padding: 2.5rem 0; border-top: 1px solid var(--cm-linha); border-bottom: 1px solid var(--cm-linha); }
.cm-caixa-autor img { width: 120px; height: 120px; object-fit: cover; object-position: 50% 20%; border-radius: 2px; flex-shrink: 0; }
.cm-caixa-autor p { margin: .4rem 0 .8rem; color: var(--cm-cinza); font-size: .95rem; }
.cm-relacionados { max-width: 900px; margin: 0 auto; padding: 2rem var(--cm-pad-x) 4rem; }
.cm-relacionados h2 { margin: 0 0 1.5rem; }

/* ---------- Listagem do blog / arquivos ---------- */
.cm-blog__topo { max-width: 1120px; margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) var(--cm-pad-x) 1rem; }
.cm-blog__lista { max-width: 1120px; margin: 0 auto; padding: 1rem var(--cm-pad-x) 4rem; }
.cm-blog__lista .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; }
.wp-block-query-pagination { margin-top: 3rem; font-size: .85rem; }
.wp-block-query-pagination a { text-decoration: none; }

/* ---------- Página comum ---------- */
.cm-pagina { max-width: 760px; margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) var(--cm-pad-x) 4rem; }

/* ---------- WhatsApp flutuante ---------- */
.cm-whats-flutuante { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 60; width: 56px; height: 56px; border-radius: 50%; background: var(--cm-oliva); color: var(--cm-areia); display: grid; place-items: center; box-shadow: 0 6px 20px rgba(35,38,28,.25); }
.cm-whats-flutuante:hover { background: var(--cm-oliva-escuro); }
.cm-whats-flutuante svg { width: 26px; height: 26px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  .cm-fatos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-grade-3, .cm-blog__lista .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-artigo__corpo { grid-template-columns: 1fr; }
  .cm-artigo__lateral { position: static; }
}
@media (max-width: 782px) {
  .cm-hero { grid-template-columns: 1fr; }
  .cm-hero__foto { order: -1; min-height: 360px; }
  .cm-hero__foto img { -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%); mask-image: linear-gradient(to bottom, #000 60%, transparent 100%); object-position: 50% 10%; }
  .cm-hero__texto { padding-top: 0; }
  .cm-cabecalho-2col, .cm-grade-2, .cm-grade-3, .cm-sobre, .cm-faq, .cm-contato, .cm-chamada, .cm-blog__lista .wp-block-post-template { grid-template-columns: 1fr; }
  .cm-fatos { grid-template-columns: 1fr; gap: .8rem; }
  .cm-caixa-autor__inner { flex-direction: column; align-items: flex-start; }
  .cm-header .cm-btn--fantasma { display: none; }
  .cm-footer__linha { flex-direction: column; align-items: flex-start; }
}
