/* =============================================================================
   Totonho Locações — o que o theme.json não cobre.
   Um arquivo só. Cartão creme sobre foto, aba de rótulo, filete dourado, foco,
   barra fixa e formulário. Nada de framework, nada de biblioteca de carrossel.
   ========================================================================== */

:root{
  /* forma */
  --raio-botao:999px;
  --raio-campo:2px;
  --raio-cartao:0;
  --filete:1px solid var(--wp--preset--color--linha);
  --filete-nobre:1px solid var(--wp--preset--color--dourado);
  --sombra-barra:0 -1px 12px rgba(42,32,29,.14);
  --sombra-menu:0 12px 28px rgba(42,32,29,.16);
  --sombra-contato:0 8px 14px -10px rgba(42,32,29,.35);
  --transicao:160ms ease-out;
  --veu-foto:inset 0 0 0 1px rgba(90,15,61,.10);
  --veu-escuro:rgba(63,42,38,.72);
  /* containers */
  --lg-catalogo:1180px;
  --lg-institucional:1080px;
  --lg-leitura:720px;
  --margem:20px;
}

/* ---------- base ---------------------------------------------------------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{padding-bottom:0}
img{max-width:100%;height:auto}
::selection{background:var(--wp--preset--color--areia);color:var(--wp--preset--color--tinta)}

/* Foco: vinho sobre claro, dourado sobre painel escuro. Nunca outline:none. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--wp--preset--color--vinho);
  outline-offset:2px;
}
.tt-escuro :where(a,button,summary,input,select):focus-visible,
.tt-header :where(a,button):focus-visible,
.tt-footer :where(a,button):focus-visible,
.tt-painel-orcamento :where(a,button):focus-visible{
  outline-color:var(--wp--preset--color--dourado);
}

.tt-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--wp--preset--color--papel);color:var(--wp--preset--color--vinho);
  padding:12px 18px;font-weight:700;text-decoration:underline;
}
.tt-skip:focus{left:8px;top:8px}

/* ---------- utilitários de largura ---------------------------------------- */
.tt-larg{max-width:var(--lg-catalogo);margin-inline:auto;padding-inline:var(--margem)}
.tt-larg-inst{max-width:var(--lg-institucional);margin-inline:auto;padding-inline:var(--margem)}
.tt-larg-leitura{max-width:var(--lg-leitura);margin-inline:auto;padding-inline:var(--margem)}
.tt-secao{padding-block:56px}
@media(min-width:900px){.tt-secao{padding-block:96px}}
.tt-secao-painel{padding-block:64px}
@media(min-width:900px){.tt-secao-painel{padding-block:112px}}

/* ---------- rótulo, sobretítulo, marcador dourado ------------------------- */
.tt-rotulo,.tt-sobretitulo,.tt-aba-ficha,.tt-trilha,.tt-legenda{
  font-family:Quicksand,sans-serif;
}
.tt-sobretitulo{
  font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  line-height:1.3;color:var(--wp--preset--color--tinta-suave);
  margin:0 0 14px;display:flex;align-items:center;gap:14px;
}
.tt-marcador{display:inline-block;width:56px;height:2px;background:var(--wp--preset--color--dourado);flex:none}
.tt-escuro .tt-sobretitulo,.tt-painel-orcamento .tt-sobretitulo{color:var(--wp--preset--color--dourado)}

.tt-legenda{font-size:.875rem;line-height:1.55;color:var(--wp--preset--color--tinta-suave)}

/* -----------------------------------------------------------------------------
   Marca de conteúdo pendente do cliente. Some antes do go-live — e enquanto
   estiver aqui tem que ser IMPOSSÍVEL de não ver, porque é ela que impede uma
   pendência de escapar para o ar. Fora da paleta da marca DE PROPÓSITO: âmbar de
   obra não existe em nenhum outro lugar do site, então não se confunde com
   destaque editorial. O `<mark>` e o style inline (functions.php) garantem o
   amarelo mesmo se este arquivo não carregar; aqui vem o tratamento completo.
   -------------------------------------------------------------------------- */
.tt-pendente{
  display:block;margin:14px 0;padding:14px 16px 14px 18px;
  background:#FFE58A;color:#4A2E00;
  border:2px dashed #B45309;border-left-width:8px;border-radius:2px;
  font:700 .9375rem/1.5 Quicksand,sans-serif;
}
.tt-pendente::before{
  content:"PENDENTE — NÃO PUBLICAR ASSIM";
  display:block;margin-bottom:4px;
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:#7C2D12;
}
/* Dentro de lista ou tabela, onde o bloco quebraria a leitura, volta a ser inline. */
li>.tt-pendente,td>.tt-pendente{display:inline;margin:0;padding:2px 8px;border-left-width:2px}
li>.tt-pendente::before,td>.tt-pendente::before{content:none}
@media print{.tt-pendente{outline:3px solid #000}}

/* ---------- botões -------------------------------------------------------- */
.tt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:13px 28px;border-radius:var(--raio-botao);
  font:700 .9375rem/1.1 Quicksand,sans-serif;text-decoration:none;border:1.5px solid transparent;
  cursor:pointer;transition:background var(--transicao),color var(--transicao),border-color var(--transicao);
}
.tt-btn-primario{background:var(--wp--preset--color--vinho);color:#fff}
.tt-btn-primario:hover{background:var(--wp--preset--color--vinho-profundo);color:#fff}
.tt-btn-wpp{background:var(--wp--preset--color--verde-wpp);color:#fff}
.tt-btn-wpp:hover{background:#0C6234;color:#fff}
.tt-btn-fantasma{background:transparent;color:var(--wp--preset--color--vinho);border-color:var(--wp--preset--color--vinho)}
.tt-btn-fantasma:hover{background:var(--wp--preset--color--vinho);color:#fff}
.tt-btn-fantasma-escuro{background:transparent;color:var(--wp--preset--color--creme);border-color:var(--wp--preset--color--dourado)}
.tt-btn-fantasma-escuro:hover{background:var(--wp--preset--color--dourado);color:var(--wp--preset--color--vinho-profundo)}
.tt-glifo-wpp{flex:none}
.tt-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Estilos de bloco registrados no functions.php */
.wp-block-button.is-style-tt-fantasma .wp-block-button__link{
  background:transparent;color:var(--wp--preset--color--vinho);
  border:1.5px solid var(--wp--preset--color--vinho);
}
.wp-block-button.is-style-tt-fantasma .wp-block-button__link:hover{
  background:var(--wp--preset--color--vinho);color:#fff;
}
.wp-block-button.is-style-tt-fantasma-escuro .wp-block-button__link{
  background:transparent;color:var(--wp--preset--color--creme);
  border:1.5px solid var(--wp--preset--color--dourado);
}
.wp-block-button.is-style-tt-fantasma-escuro .wp-block-button__link:hover{
  background:var(--wp--preset--color--dourado);color:var(--wp--preset--color--vinho-profundo);
}
.wp-block-button.is-style-tt-whatsapp .wp-block-button__link{background:var(--wp--preset--color--verde-wpp);color:#fff}
.wp-block-button.is-style-tt-whatsapp .wp-block-button__link:hover{background:#0C6234}

/* ---------- cabeçalho ----------------------------------------------------- */
.tt-header{
  position:sticky;top:0;z-index:60;
  background:var(--wp--preset--color--vinho-profundo);color:var(--wp--preset--color--creme);
}
.tt-header-in{
  max-width:var(--lg-catalogo);margin-inline:auto;padding:0 var(--margem);
  min-height:64px;display:flex;align-items:center;gap:20px;
}
@media(min-width:900px){.tt-header-in{min-height:84px}}
.tt-logo{display:inline-flex;align-items:center;padding:12px 0;margin-right:auto}
.tt-logo picture,.tt-footer-logo picture{display:block;line-height:0}
.tt-logo img{height:38px;width:auto;display:block}
@media(min-width:900px){.tt-logo img{height:52px}}

.tt-nav-abre{
  background:transparent;border:1px solid rgba(252,251,238,.35);color:var(--wp--preset--color--creme);
  border-radius:var(--raio-botao);min-height:44px;padding:9px 16px;
  font:700 .8125rem/1 Quicksand,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
}
@media(min-width:1000px){.tt-nav-abre{display:none}}

.tt-nav ul{list-style:none;margin:0;padding:0}
.tt-nav > ul{display:flex;gap:26px;align-items:center}
.tt-nav a{
  color:var(--wp--preset--color--creme);text-decoration:none;
  font:600 .9375rem/1 Quicksand,sans-serif;
  padding:8px 0;display:inline-block;border-bottom:2px solid transparent;
}
.tt-nav a:hover,.tt-nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--wp--preset--color--dourado)}
.tt-header .tt-btn-wpp{min-height:44px;padding:10px 20px;font-size:.875rem}

@media(max-width:999.98px){
  .tt-nav{
    position:absolute;left:0;right:0;top:100%;display:none;
    background:var(--wp--preset--color--vinho-profundo);
    border-top:var(--filete-nobre);box-shadow:var(--sombra-menu);
    padding:12px var(--margem) 24px;
  }
  .tt-nav.aberto{display:block}
  .tt-nav > ul{flex-direction:column;align-items:stretch;gap:0}
  .tt-nav li{border-bottom:1px solid rgba(184,158,123,.25)}
  .tt-nav a{display:block;padding:14px 0;min-height:44px}
  .tt-header .tt-cta-topo{display:none}
}
@media(min-width:1000px){
  .tt-nav{display:block!important}
  .tt-nav-so-celular{display:none}
}

/* ---------- trilha -------------------------------------------------------- */
.tt-trilha{font-size:.875rem;color:var(--wp--preset--color--tinta-suave);margin:0 0 22px}
.tt-trilha ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.tt-trilha li+li::before{content:"·";margin-right:6px;color:var(--wp--preset--color--dourado)}
.tt-trilha a{color:var(--wp--preset--color--tinta-suave)}
.tt-trilha [aria-current]{color:var(--wp--preset--color--tinta)}

/* ---------- abertura: cartão creme sobre foto ----------------------------- */
.tt-abertura{position:relative;background:var(--wp--preset--color--papel)}
.tt-abertura-foto{position:relative;line-height:0}
.tt-abertura-foto img{width:100%;height:auto;object-fit:cover;box-shadow:var(--veu-foto)}
.tt-abertura-cartao{
  background:var(--wp--preset--color--creme);
  padding:28px var(--margem) 32px;border-top:0;
}
/* o cartão é estreito: o h1 fluido do theme.json quebraria em quatro linhas */
.tt-abertura-cartao h1,.tt-abertura-cartao .tt-titulo{
  margin:0 0 14px;font-size:clamp(2.125rem,3.4vw,2.875rem);
}
.tt-abertura-cartao p{margin:0 0 8px;max-width:46ch}
@media(min-width:900px){
  .tt-abertura{display:grid}
  .tt-abertura-foto,.tt-abertura-cartao{grid-area:1/1}
  .tt-abertura-foto img{height:clamp(460px,52vw,620px)}
  .tt-abertura-cartao{
    /* position + z-index são obrigatórios: a div da foto é position:relative e,
       sem isso, ela pinta POR CIMA do cartão (elemento posicionado ganha do
       não posicionado dentro do mesmo contexto de empilhamento). */
    position:relative;z-index:1;
    align-self:center;justify-self:start;
    width:min(46%,560px);margin-left:clamp(24px,6vw,96px);
    padding:48px;box-shadow:var(--veu-foto);
  }
}
/* -----------------------------------------------------------------------------
   Abertura COMPACTA — para foto abaixo de 1000 px (design-system §9.1/§9.2).
   Cinco das oito fotos de categoria vieram dos catálogos em PDF, entre 450 e
   860 px. No cartaz sangrado elas eram esticadas a ~3×, que é exatamente o que
   o design system proíbe ("foto abaixo de 1000 px não vira hero", "nunca
   ampliar além de 1,5×"). Aqui a foto divide a linha com o cartão em vez de
   virar fundo: na coluna de ~570 px do desktop, a menor delas fica em 1,27×.
   Quando as fotos originais chegarem, basta trocar o arquivo — o PHP volta
   sozinho para o cartaz (functions.php, totonho_abertura).
   -------------------------------------------------------------------------- */
@media(min-width:900px){
  .tt-abertura-compacta{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    max-width:var(--lg-catalogo);margin-inline:auto;padding:0 var(--margem);
    align-items:center;column-gap:0;background:var(--wp--preset--color--papel);
  }
  .tt-abertura-compacta .tt-abertura-foto{grid-area:auto;align-self:stretch;display:flex}
  .tt-abertura-compacta .tt-abertura-foto img{
    width:100%;height:100%;max-height:520px;object-fit:cover;
  }
  .tt-abertura-compacta .tt-abertura-cartao{
    grid-area:auto;position:relative;z-index:1;
    width:auto;justify-self:stretch;margin-left:-56px;
    padding:44px;box-shadow:var(--veu-foto);
  }
}
@media(min-width:900px) and (max-width:1080px){
  .tt-abertura-compacta .tt-abertura-cartao{margin-left:-28px;padding:32px}
}

/* variante sem foto (páginas institucionais) */
.tt-abertura-simples{padding:48px 0 8px}
.tt-abertura-simples h1{margin:0 0 12px}
.tt-abertura-simples .tt-resposta{max-width:62ch}

/* Primeiro parágrafo — a resposta direta que a IA cita. */
.tt-resposta{font-size:1.1875rem;line-height:1.6;color:var(--wp--preset--color--tinta)}

/* ---------- grade de categorias (home e hub) ------------------------------ */
.tt-grade-cat{list-style:none;margin:0;padding:0;display:grid;gap:24px}
@media(min-width:560px){.tt-grade-cat{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.tt-grade-cat{grid-template-columns:repeat(4,1fr)}}
.tt-cartao-cat{display:block;text-decoration:none;color:inherit;border:var(--filete);background:var(--wp--preset--color--creme)}
.tt-cartao-cat figure{margin:0;line-height:0;overflow:hidden}
.tt-cartao-cat img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform var(--transicao)}
/* assimetria proposital: 1ª e 4ª células mais altas no desktop */
@media(min-width:900px){
  .tt-grade-cat > li:nth-child(4n+1) img,
  .tt-grade-cat > li:nth-child(4n+4) img{aspect-ratio:4/5}
}
.tt-cartao-cat:hover img{transform:scale(1.015)}
.tt-cartao-cat-txt{display:block;padding:18px 20px 22px}
.tt-cartao-cat-txt .tt-marcador{width:40px;margin-bottom:10px;display:block}
.tt-cartao-cat-nome{
  display:block;
  font-family:Italiana,Georgia,serif;font-weight:400;font-size:1.5rem;line-height:1.15;
  margin:0 0 4px;color:var(--wp--preset--color--tinta);
}
.tt-cartao-cat-conta{
  display:block;
  font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wp--preset--color--tinta-suave);margin:0;
}

/* ---------- cartão de item (o do catálogo 2026) --------------------------- */
.tt-grade-itens{list-style:none;margin:0;padding:0;display:grid;gap:32px 24px}
@media(min-width:560px){.tt-grade-itens{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.tt-grade-itens{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1180px){.tt-grade-itens{grid-template-columns:repeat(4,1fr)}}
.tt-grade-itens.tt-grade-3 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) }

.tt-cartao-item{display:block;text-decoration:none;color:inherit;position:relative;padding-bottom:8px}
.tt-cartao-quadro{
  display:block;position:relative;background:var(--wp--preset--color--creme);
  border:var(--filete);aspect-ratio:4/5;overflow:hidden;
}
.tt-cartao-quadro img{width:100%;height:100%;transition:transform var(--transicao)}
/* peça recortada: respiro de 12% e sombra de contato (nunca drop-shadow difusa) */
.tt-quadro-peca img{object-fit:contain;padding:12%;filter:drop-shadow(var(--sombra-contato))}
/* foto de ambiente: entra cortada, nunca esticada nem com tarja */
.tt-quadro-ambiente img{object-fit:cover;padding:0}
.tt-cartao-item:hover .tt-cartao-quadro img{transform:scale(1.015)}
.tt-cartao-semfoto{
  display:flex;align-items:center;justify-content:center;height:100%;
  font-size:.8125rem;color:var(--wp--preset--color--tinta-suave);text-align:center;padding:20px;
}
/* o marcador de pendência dentro do cartão mantém o bloco amarelo de obra */
.tt-cartao-semfoto .tt-pendente{margin:0;font-size:.8125rem}
.tt-selo{position:absolute;top:12px;right:12px;color:var(--wp--preset--color--vinho)}
.tt-selo-colecao{height:26px;width:auto;display:block}
/* sobre foto de ambiente o selo ganha o cartão creme por trás: texto nunca vai
   direto sobre foto (regra dura do design system) */
.tt-quadro-ambiente .tt-selo{background:var(--wp--preset--color--creme);padding:5px 11px 3px}

/* aba de rótulo: canto vivo, sangra 16px para fora da coluna à esquerda */
.tt-aba{
  display:block;background:var(--wp--preset--color--areia);
  padding:12px 16px;margin-left:-16px;margin-top:-1px;position:relative;z-index:2;
  transition:background var(--transicao),color var(--transicao);
}
.tt-aba-nome{
  display:block;font:700 1rem/1.25 Quicksand,sans-serif;color:var(--wp--preset--color--tinta);
}
.tt-aba-ficha{
  display:block;font-size:.8125rem;line-height:1.45;margin-top:3px;
  color:var(--wp--preset--color--tinta-suave);
}
.tt-cartao-item:hover .tt-aba,.tt-cartao-item:focus-visible .tt-aba{background:var(--wp--preset--color--vinho)}
.tt-cartao-item:hover .tt-aba-nome,.tt-cartao-item:hover .tt-aba-ficha,
.tt-cartao-item:focus-visible .tt-aba-nome,.tt-cartao-item:focus-visible .tt-aba-ficha{color:var(--wp--preset--color--creme)}

/* ---------- página de item ------------------------------------------------ */
.tt-item{display:grid;gap:32px}
@media(min-width:900px){.tt-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}}
.tt-item-foto{background:var(--wp--preset--color--creme);border:var(--filete);line-height:0}
.tt-item-foto img{width:100%;height:auto;display:block}
.tt-item-foto.tt-item-peca img{padding:10%;filter:drop-shadow(var(--sombra-contato))}
.tt-item-colecao{margin:0 0 4px;color:var(--wp--preset--color--vinho)}
.tt-item-colecao svg{height:38px;width:auto}
.tt-ficha{margin:26px 0 0;border-top:var(--filete-nobre)}
.tt-ficha div{display:flex;gap:16px;padding:11px 0;border-bottom:var(--filete)}
.tt-ficha dt{
  flex:0 0 34%;font:700 .75rem/1.5 Quicksand,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wp--preset--color--tinta-suave);margin:0;
}
.tt-ficha dd{margin:0;font-size:.9375rem;color:var(--wp--preset--color--tinta)}

/* ---------- faixa "desde 1975" -------------------------------------------- */
.tt-faixa-prova{
  position:relative;overflow:hidden;
  background:var(--wp--preset--color--vinho);color:var(--wp--preset--color--creme);
  padding-block:8px;
}
/* trama de linho do fundo dos catálogos, a 4% — só aqui e no painel de orçamento */
.tt-faixa-prova::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url("../marca/linho-tile.webp") repeat;background-size:120px;opacity:.05;
}
.tt-faixa-prova .tt-larg{position:relative;z-index:1;display:grid;gap:0}
@media(min-width:820px){.tt-faixa-prova .tt-larg{grid-template-columns:repeat(3,1fr)}}
.tt-prova-col{padding:26px 0}
@media(min-width:820px){
  .tt-prova-col{padding:8px 32px}
  .tt-prova-col+.tt-prova-col{border-left:1px solid var(--wp--preset--color--dourado)}
}
@media(max-width:819.98px){
  .tt-prova-col+.tt-prova-col{border-top:1px solid var(--wp--preset--color--dourado)}
}
.tt-prova-num{
  font-family:Italiana,Georgia,serif;font-weight:400;line-height:1;margin:0 0 8px;
  font-size:clamp(2.25rem,5vw,3.25rem);color:var(--wp--preset--color--creme);
}
.tt-prova-txt{font-size:.875rem;line-height:1.55;margin:0;color:var(--wp--preset--color--creme);opacity:.94}

/* ---------- painel de orçamento ------------------------------------------- */
.tt-painel-orcamento{
  position:relative;overflow:hidden;
  background:var(--wp--preset--color--vinho-profundo);color:var(--wp--preset--color--creme);
  border-top:var(--filete-nobre);border-bottom:var(--filete-nobre);
}
.tt-painel-orcamento::before{
  content:"";position:absolute;inset:0;
  background:url("../marca/linho-tile.webp") repeat;background-size:120px;opacity:.04;pointer-events:none;
}
.tt-painel-orcamento::after{
  content:"";position:absolute;right:-6%;top:50%;transform:translateY(-50%);
  width:min(520px,52vw);aspect-ratio:1;
  /* marca d'água a 6%: 520 px em WebP (21 KB). O PNG de 1080 px tinha 179 KB
     para ser exibido quase invisível — não paga LCP nenhum. */
  background:url("../marca/totonho-emblema-dourado.webp") no-repeat center/contain;
  opacity:.06;pointer-events:none;
}
.tt-painel-in{position:relative;z-index:1;display:grid;gap:36px}
@media(min-width:980px){.tt-painel-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}}
.tt-painel-convite h2{color:var(--wp--preset--color--creme);margin:0 0 14px}
.tt-painel-convite p{color:var(--wp--preset--color--creme);opacity:.94;max-width:44ch}
.tt-painel-orcamento .tt-form{background:var(--wp--preset--color--papel);color:var(--wp--preset--color--tinta);padding:28px 22px}
@media(min-width:700px){.tt-painel-orcamento .tt-form{padding:36px 32px}}

/* ---------- formulário ---------------------------------------------------- */
.tt-form .tt-campos{display:grid;gap:18px}
@media(min-width:640px){
  .tt-form .tt-campos{grid-template-columns:1fr 1fr}
  .tt-campo-largo,.tt-campo-data{grid-column:1/-1}
}
.tt-campo{margin:0;display:flex;flex-direction:column;gap:6px}
.tt-campo > label,.tt-pilulas legend{
  font:700 .75rem/1.3 Quicksand,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wp--preset--color--tinta-suave);
}
.tt-req{color:var(--wp--preset--color--vinho)}
.tt-campo input[type=text],.tt-campo input[type=tel],.tt-campo input[type=email],
.tt-campo input[type=date],.tt-campo select,.tt-campo textarea{
  width:100%;min-height:48px;padding:11px 13px;font:500 1.0625rem/1.4 Quicksand,sans-serif;
  color:var(--wp--preset--color--tinta);background:var(--wp--preset--color--papel);
  border:1px solid var(--wp--preset--color--borda-campo);border-radius:var(--raio-campo);
}
.tt-campo textarea{min-height:96px;resize:vertical}
.tt-campo-data{background:var(--wp--preset--color--vinho-veu);padding:16px;border-radius:var(--raio-campo)}
.tt-ajuda{font-size:.8125rem;color:var(--wp--preset--color--tinta-suave)}
/* Alvo de toque do checkbox: 24 px de caixa (mínimo do WCAG 2.2 — 2.5.8) e
   44 px de área clicável somando o rótulo, que é o que o design system pede.
   Atinge o consentimento LGPD e o "ainda não defini a data": justamente os dois
   que não podem ser difíceis de marcar. */
.tt-check{display:flex;align-items:flex-start;gap:10px;margin-top:6px;min-height:44px}
.tt-check input{width:24px;height:24px;min-width:24px;margin:10px 0 0;accent-color:var(--wp--preset--color--vinho)}
.tt-check label{
  font-size:.9375rem;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:500;
  color:var(--wp--preset--color--tinta);
  display:flex;align-items:center;min-height:44px;padding:4px 0;cursor:pointer;
}
.tt-consentimento label{color:var(--wp--preset--color--tinta)}

/* pílulas de categoria — alvo de 44px, com input real por trás */
.tt-pilulas{border:0;padding:0;margin:0}
.tt-pilulas-lista{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}
.tt-pilula input{position:absolute;opacity:0;width:1px;height:1px}
.tt-pilula label{
  display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;
  background:var(--wp--preset--color--areia);color:var(--wp--preset--color--tinta);
  border-radius:var(--raio-botao);font:600 .875rem/1 Quicksand,sans-serif;cursor:pointer;
  transition:background var(--transicao),color var(--transicao);
}
.tt-pilula input:checked + label{background:var(--wp--preset--color--vinho);color:#fff}
.tt-pilula input:focus-visible + label{outline:2px solid var(--wp--preset--color--vinho);outline-offset:2px}
.tt-painel-orcamento .tt-pilula input:focus-visible + label{outline-color:var(--wp--preset--color--vinho)}

.tt-form-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:559.98px){.tt-form-acoes .tt-btn{width:100%}}
.tt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.tt-erro-campo{border-color:var(--wp--preset--color--erro)!important;border-width:2px!important}
.tt-erro-msg{display:flex;gap:6px;align-items:center;color:var(--wp--preset--color--erro);font-size:.875rem;font-weight:600}
.tt-erro-msg::before{content:"!";display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;background:var(--wp--preset--color--erro);color:#fff;font-size:.75rem}

.tt-confirmacao{background:var(--wp--preset--color--creme);border:var(--filete-nobre);padding:32px 24px}
.tt-confirmacao h2{margin:0 0 12px}

/* Envio que falhou. Antes disso o visitante voltava ao formulário sem aviso
   nenhum, achando que tinha enviado — lead perdido sem ninguém saber. */
.tt-aviso-erro{
  background:var(--wp--preset--color--papel);
  border:2px solid var(--wp--preset--color--erro);border-left-width:6px;
  padding:20px 22px;margin:0 0 26px;
}
.tt-aviso-erro p{margin:0 0 8px;font-size:.9375rem;line-height:1.55}
.tt-aviso-erro-titulo{
  font:700 1.0625rem/1.3 Quicksand,sans-serif;color:var(--wp--preset--color--erro);
}
.tt-aviso-erro .tt-form-acoes{margin-top:14px}

/* ---------- FAQ ----------------------------------------------------------- */
.tt-faq{margin-block:56px}
.tt-faq-lista{border-top:var(--filete)}
.tt-faq-item{border-bottom:var(--filete)}
.tt-faq-item summary{
  display:flex;gap:16px;align-items:flex-start;justify-content:space-between;
  padding:18px 0;cursor:pointer;list-style:none;
  font:700 1.125rem/1.35 Quicksand,sans-serif;color:var(--wp--preset--color--tinta);
}
.tt-faq-item summary::-webkit-details-marker{display:none}
/* marcador +/– em Quicksand: a Italiana não desenha bem o sinal de mais */
.tt-faq-item summary::after{
  content:"+";flex:none;font:400 1.625rem/1 Quicksand,sans-serif;
  color:var(--wp--preset--color--dourado-texto);
}
.tt-faq-item[open] summary::after{content:"–"}
.tt-faq-resposta{padding:0 0 20px;max-width:70ch}
.tt-faq-resposta p{margin:0 0 10px}

/* ---------- tabela -------------------------------------------------------- */
.tt-tabela-rolagem{overflow-x:auto;margin-block:24px}
.tt-tabela{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
.tt-tabela th{background:var(--wp--preset--color--areia);color:var(--wp--preset--color--tinta);
  text-align:left;padding:11px 14px;font:700 .75rem/1.3 Quicksand,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.tt-tabela td{padding:11px 14px;border-bottom:var(--filete);vertical-align:top}
.tt-tabela tbody tr:nth-child(even) td{background:var(--wp--preset--color--vinho-veu)}
.wp-block-table table{border-collapse:collapse}
.wp-block-table th{background:var(--wp--preset--color--areia);text-align:left}
.wp-block-table td,.wp-block-table th{border:0;border-bottom:var(--filete);padding:11px 14px}

/* ---------- listas de conteúdo -------------------------------------------- */
.tt-lista-check{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}
.tt-lista-check li{position:relative;padding-left:26px}
.tt-lista-check li::before{
  content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:var(--wp--preset--color--dourado);
}

/* Três colunas com filete dourado entre elas (não são três cards com ícone). */
.tt-passos{display:grid;gap:0;margin-top:32px}
@media(min-width:820px){.tt-passos{grid-template-columns:repeat(3,1fr)}}
.tt-passo{padding:26px 0}
@media(min-width:820px){
  .tt-passo{padding:4px 32px}
  .tt-passo+.tt-passo{border-left:1px solid var(--wp--preset--color--dourado)}
}
@media(max-width:819.98px){.tt-passo+.tt-passo{border-top:1px solid var(--wp--preset--color--linha)}}
.tt-passo-num{
  font:400 2.25rem/1 Italiana,Georgia,serif;color:var(--wp--preset--color--vinho);margin:0 0 8px;
}
.tt-passo h3{margin:0 0 6px}
.tt-passo p{margin:0;font-size:.9375rem;color:var(--wp--preset--color--tinta-suave)}

/* ---------- prova / eventos realizados ------------------------------------ */
.tt-prova-grade{list-style:none;margin:0;padding:0;display:grid;gap:24px}
@media(min-width:760px){.tt-prova-grade{grid-template-columns:repeat(3,1fr)}}
.tt-prova-card figure{margin:0;line-height:0}
.tt-prova-card img{width:100%;aspect-ratio:3/2;object-fit:cover;box-shadow:var(--veu-foto)}
.tt-prova-card figcaption{padding:12px 0 0;font-size:.875rem;line-height:1.55;color:var(--wp--preset--color--tinta-suave)}

/* ---------- guias --------------------------------------------------------- */
.tt-artigo{max-width:68ch}
.tt-artigo h2{margin:48px 0 16px}
.tt-artigo h3{margin:32px 0 8px}
.tt-artigo p{margin:0 0 18px}
.tt-artigo ul,.tt-artigo ol{margin:0 0 18px;padding-left:22px}
.tt-artigo li{margin:0 0 8px}
.tt-cta-inline{
  background:var(--wp--preset--color--creme);border-left:2px solid var(--wp--preset--color--dourado);
  padding:20px 22px;margin:32px 0;
}
.tt-cta-inline p{margin:0 0 12px}
.tt-leia-tambem{border-top:var(--filete-nobre);margin-top:48px;padding-top:24px}
.tt-leia-tambem ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}

/* ---------- rodapé -------------------------------------------------------- */
.tt-footer{
  background:var(--wp--preset--color--vinho-profundo);color:var(--wp--preset--color--creme);
  border-top:var(--filete-nobre);padding-block:56px 28px;
}
.tt-footer a{color:var(--wp--preset--color--creme);text-decoration:none}
.tt-footer a:hover{color:#fff;text-decoration:underline}
.tt-footer-cols{display:grid;gap:32px}
@media(min-width:760px){.tt-footer-cols{grid-template-columns:1.3fr 1fr 1fr 1.2fr}}
.tt-footer h2,.tt-footer h3{
  font:700 .75rem/1.3 Quicksand,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wp--preset--color--dourado);margin:0 0 14px;
}
.tt-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.9375rem}
.tt-footer-logo img{height:56px;width:auto;margin-bottom:16px}
.tt-footer-nap{font-size:.9375rem;line-height:1.7;font-style:normal}
.tt-footer-legal{
  border-top:1px solid rgba(184,158,123,.3);margin-top:36px;padding-top:20px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-size:.8125rem;color:var(--wp--preset--color--nude);
}

/* ---------- barra fixa de CTA (celular) ----------------------------------- */
.tt-barra-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;
  background:var(--wp--preset--color--papel);box-shadow:var(--sombra-barra);
  padding-bottom:env(safe-area-inset-bottom);
}
.tt-barra-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:60px;text-decoration:none;color:#fff;
  font:700 .9375rem/1 Quicksand,sans-serif;
}
.tt-barra-orcamento{background:var(--wp--preset--color--vinho)}
.tt-barra-wpp{background:var(--wp--preset--color--verde-wpp)}
@media(min-width:1000px){.tt-barra-cta{display:none}}
@media(max-width:999.98px){body{padding-bottom:60px}}

/* ---------- banner de consentimento --------------------------------------- */
.tt-consent{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--wp--preset--color--creme);border-top:var(--filete-nobre);
  box-shadow:0 -2px 14px rgba(42,32,29,.12);
}
@media(max-width:999.98px){.tt-consent{bottom:60px}}
.tt-consent-caixa{
  max-width:var(--lg-catalogo);margin-inline:auto;padding:16px var(--margem);
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
}
.tt-consent-texto{margin:0;font-size:.875rem;line-height:1.55;max-width:64ch}
.tt-consent-acoes{display:flex;gap:10px;flex:none}
.tt-consent .tt-btn{min-height:44px;padding:10px 22px;font-size:.875rem}

/* ---------- 404 ----------------------------------------------------------- */
.tt-404{padding-block:72px 96px}
.tt-404 .wp-block-search__input{
  min-height:48px;border:1px solid var(--wp--preset--color--borda-campo);
  border-radius:var(--raio-campo);padding:11px 13px;
}

/* ---------- editor -------------------------------------------------------- */
.editor-styles-wrapper .tt-barra-cta,
.editor-styles-wrapper .tt-consent{display:none}
