/*
Theme Name: Britto
Theme URI: https://brittoroberto.com.br
Author: CC Host
Description: Tema próprio do brittoroberto.com.br. Sem Elementor. Preto, branco e cinza; títulos em Playfair Display, texto em Inter.
Version: 1.0.0
Text Domain: britto
*/
:root { --preto:#111; --cinza-900:#1d1d1f; --cinza-600:#555; --cinza-300:#d4d4d4; --cinza-100:#f4f4f2; --branco:#fff; --marinho:#15233d; --dourado:#b98a2e; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.65; color: var(--cinza-900); background: var(--branco); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: "Playfair Display", Georgia, serif; line-height: 1.2; color: var(--preto); margin: 0 0 .6em; }
h1 { font-size: clamp(2rem, 6vw, 3.2rem); }
h2 { font-size: clamp(1.5rem, 4.4vw, 2.2rem); }
h3 { font-size: 1.2rem; }
.miolo { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.estreito { max-width: 720px; }
.centro { text-align: center; }

.topo { border-bottom: 1px solid var(--cinza-300); background: var(--branco); }
.topo-linha { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: 12px; }
.assinatura { font-family: Caveat, cursive; font-weight: 600; font-size: 2rem; text-decoration: none; color: var(--preto); line-height: 1; }
.menu { display: flex; align-items: center; gap: 18px; }
.menu a { text-decoration: none; font-size: .95rem; }
.menu a.botao { color: var(--branco); }
.pagina-de-acao .topo-linha { justify-content: center; }

.botao { display: inline-block; background: var(--preto); color: var(--branco); padding: 15px 28px; border-radius: 6px; font-weight: 600; text-decoration: none; text-align: center; line-height: 1.25; }
.botao:hover, .botao:focus-visible { background: #000; outline: 3px solid var(--cinza-300); }
.botao-pequeno { padding: 10px 16px; font-size: .9rem; }
.link { font-weight: 600; }

.dobra { padding: 56px 0 64px; }
.dobra-grade { display: grid; gap: 32px; align-items: center; }
.dobra-grade.com-foto { grid-template-columns: 1fr; }
.dobra-foto { order: -1; }
.dobra-foto img { border-radius: 8px; width: 100%; max-height: 520px; object-fit: cover; }
.apoio { font-size: 1.12rem; color: var(--cinza-600); max-width: 36em; }

.bloco { padding: 56px 0; }
.bloco.claro { background: var(--cinza-100); }
.bloco.escuro { background: var(--preto); color: var(--branco); }
.bloco.escuro h2, .bloco.escuro cite { color: var(--branco); }
.rotulo { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 600; color: var(--cinza-600); margin: 0 0 12px; }

.grade-8 { list-style: none; padding: 0; margin: 28px 0; display: grid; grid-template-columns: 1fr; gap: 14px; }
.cartao { border: 1px solid var(--cinza-300); border-radius: 8px; padding: 18px 18px 16px; background: var(--branco); display: grid; gap: 4px; }
.cartao .num { font-family: "Playfair Display", serif; font-size: 1.5rem; color: var(--cinza-300); line-height: 1; }
.cartao em { color: var(--cinza-600); }

.ancora { margin: 0 0 20px; }
.ancora p { font-family: "Playfair Display", serif; font-size: clamp(1.4rem, 4.5vw, 2rem); line-height: 1.35; margin: 0 0 10px; }
.ancora cite { font-style: normal; letter-spacing: .1em; text-transform: uppercase; font-size: .85rem; }

.metodo { display: grid; gap: 28px; align-items: center; }
.metodo-capa img { max-width: 320px; margin: 0 auto; border-radius: 6px; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.lista { padding-left: 1.2em; }
.preco { font-family: "Playfair Display", serif; font-size: 2rem; margin: 10px 0; }

.grade-3 { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: 1fr; gap: 28px; }
.artigo-card img { border-radius: 8px; margin-bottom: 12px; width: 100%; }
.artigo-card h3 a { text-decoration: none; }
.texto-longo .conteudo { font-size: 1.05rem; }
.texto-longo .conteudo h2 { margin-top: 1.6em; }
.chamada-diagnostico { border: 1px solid var(--cinza-300); border-radius: 8px; padding: 22px; margin-top: 36px; background: var(--cinza-100); }

.rodape { border-top: 1px solid var(--cinza-300); padding: 32px 0 40px; font-size: .9rem; color: var(--cinza-600); }
.rodape .aviso { max-width: 46em; }
.rodape .links { display: flex; flex-wrap: wrap; gap: 16px; margin: 12px 0; }
.rodape .direitos { margin: 0; }

@media (min-width: 760px) {
  .dobra-grade.com-foto { grid-template-columns: 1.1fr .9fr; }
  .dobra-foto { order: 2; }
  .grade-8 { grid-template-columns: repeat(2, 1fr); }
  .grade-3 { grid-template-columns: repeat(3, 1fr); }
  .metodo.com-capa { grid-template-columns: 340px 1fr; }
}
@media (min-width: 1000px) { .grade-8 { grid-template-columns: repeat(4, 1fr); } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* Páginas de ação: diagnóstico, resultado e venda */
.quiz { border: 0; width: 100%; min-height: 760px; background: transparent; }
.aviso-pequeno { font-size: .85rem; color: var(--cinza-600); }
.resultado h1 strong { border-bottom: 3px solid var(--preto); }
.caixa-exercicio { border: 2px solid var(--preto); border-radius: 8px; padding: 20px 22px; margin: 24px 0; background: var(--cinza-100); }
.caixa-exercicio h3 { margin-top: 0; }
.oferta { background: var(--preto); color: var(--branco); border-radius: 10px; padding: 24px; margin: 28px 0 16px; }
.oferta .botao { background: var(--branco); color: var(--preto); }
.tambem { color: var(--cinza-600); }

.pagina-de-acao .topo { border-bottom-color: transparent; }
.venda { --marinho: #15233d; --dourado: #b98a2e; }
.venda h1, .venda h2, .venda h3 { color: var(--marinho); }
.venda .venda-topo { background: var(--marinho); color: var(--branco); }
.venda .venda-topo h1 { color: var(--branco); }
.venda .venda-topo .apoio, .venda .venda-topo .aviso-pequeno { color: #d7dbe5; }
.venda-grade { display: grid; gap: 28px; align-items: center; }
.venda-capa img, .capa-oferta { max-width: 300px; margin: 0 auto; border-radius: 6px; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.botao-ouro { background: var(--dourado); color: #111; font-size: 1rem; padding: 17px 26px; }
.botao-ouro:hover, .botao-ouro:focus-visible { background: #a77a22; outline: 3px solid #e7d2a3; }
.venda .bloco.escuro { background: var(--marinho); }
.venda .bloco.escuro h2 { color: var(--branco); }
.venda .oferta-venda { background: var(--cinza-100); }
.venda .preco { color: var(--marinho); }
.frases p { font-family: "Playfair Display", serif; font-size: 1.15rem; margin: .5em 0; }
.foto-historia { border-radius: 8px; margin-bottom: 20px; max-height: 420px; width: 100%; object-fit: cover; }
.assina { font-family: Caveat, cursive; font-size: 1.8rem; }
.ancora-clara { border-left: 4px solid var(--dourado); margin: 22px 0 0; padding-left: 16px; }
.ancora-clara cite { font-style: normal; font-weight: 600; }
@media (min-width: 760px) { .venda-grade.com-capa { grid-template-columns: 1.2fr .8fr; } }

/* Aviso de cookies */
.aviso-cookies { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; background: var(--preto); color: var(--branco); border-radius: 10px; padding: 14px 16px; font-size: .9rem; box-shadow: 0 8px 30px rgba(0,0,0,.3); max-width: 640px; margin: 0 auto; }
.aviso-cookies[hidden] { display: none; }
.aviso-cookies p { margin: 0 0 10px; }
.aviso-cookies a { color: var(--branco); }
.aviso-botoes { display: flex; gap: 10px; margin: 0; }
.aviso-cookies .botao { background: var(--branco); color: var(--preto); border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.aviso-cookies .botao-claro { background: transparent; color: var(--branco); outline: 1px solid #777; }
