/**
 * Tema forte e claro, pedido pelo responsável pelo site em 27/09/2026.
 *
 * O tema preto das páginas de apoio (apoio.css) deixava o texto longo cansativo de ler, e os
 * textos de bairro e de áreas comuns agora são longos. A referência foi um projeto de blog
 * dele, em estilo neobrutalista: papel creme, tinta escura, borda grossa, sombra dura sem
 * desfoque, título condensado em caixa alta e rótulo em fonte mono. As cores são as da
 * Antequera, não as da referência: o laranja da marca e um verde quase preto como tinta.
 *
 * Este arquivo entra por último e só vale quando o <body> tem a classe `tema-forte`. Assim
 * dá para ligar e desligar o tema sem mexer em site.css, apoio.css e home.css, e comparar.
 * Os seletores começam por `.tema-forte` para empatar em especificidade com os do
 * apoio.css (`.apoio-page ...`) e ganhar por virem depois.
 */

/* As fontes moram no próprio site (site-assets/fonts, copiadas para /assets/fonts no build).
   Até 28/09/2026 vinham do Google Fonts, e a página de bairro pedia arquivo a um domínio de
   fora antes de a pessoa clicar em nada, o que o validador do site reprova. Só o conjunto
   latino, que cobre os acentos do português. A Source Sans 3 é variável: um arquivo, três pesos. */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/barlow-condensed-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/barlow-condensed-700.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/barlow-condensed-800.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/source-sans-3-variavel.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/ibm-plex-mono-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/ibm-plex-mono-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

.tema-forte {
  --tf-papel: #fbf6ec;
  --tf-papel-2: #f2eadb;
  --tf-branco: #fffdf8;
  --tf-tinta: #14221d;
  --tf-texto: #34403b;
  --tf-laranja: #ff6a00;
  --tf-laranja-texto: #b34a00;
  --tf-verde: #1c342d;
  --tf-amarelo: #f2c14e;
  --tf-borda: 3px solid var(--tf-tinta);
  --tf-sombra: 5px 5px 0 var(--tf-tinta);
  --tf-sombra-maior: 8px 8px 0 var(--tf-tinta);
  --tf-titulo: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --tf-corpo: 'Source Sans 3', system-ui, Arial, sans-serif;
  --tf-mono: 'IBM Plex Mono', ui-monospace, monospace;

  color: var(--tf-tinta);
  background: var(--tf-papel);
  font-family: var(--tf-corpo);
  font-size: 17px;
  line-height: 1.7;
}
.tema-forte ::selection { background: var(--tf-amarelo); color: var(--tf-tinta); }

/* ------------------------------------------------------------------ tipografia */
.tema-forte h1, .tema-forte h2, .tema-forte h3 {
  color: var(--tf-tinta); font-family: var(--tf-titulo); font-weight: 800;
  line-height: .95; letter-spacing: -.005em; text-transform: uppercase; text-wrap: balance;
}
.tema-forte h3 { font-weight: 700; line-height: 1.05; }
.tema-forte p, .tema-forte li { color: var(--tf-texto); }
.tema-forte strong { color: inherit; }
.tema-forte a { color: inherit; }
/* O olho da seção vira etiqueta: amarelo, borda e mono. É o que dá o ar de impresso. */
.tema-forte .eyebrow, .tema-forte .home-kicker {
  display: inline-block; margin-bottom: 16px; padding: 4px 10px;
  border: 2px solid var(--tf-tinta); background: var(--tf-amarelo); color: var(--tf-tinta);
  font-family: var(--tf-mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
.tema-forte .text-link, .tema-forte .satellite-back a, .tema-forte .hub-callout a,
.tema-forte .busca-ampliar a, .tema-forte .guia-corpo a {
  color: var(--tf-laranja-texto); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
}
.tema-forte .breadcrumb { font-family: var(--tf-mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }

/* ------------------------------------------------------------------ faixas claras */
.tema-forte .section, .tema-forte .concept, .tema-forte .satellite-body, .tema-forte .hub-contexto,
.tema-forte .location, .tema-forte .related, .tema-forte .guia-corpo, .tema-forte .hub-list,
.tema-forte .hub-vizinhos {
  background: var(--tf-papel); color: var(--tf-tinta);
}
.tema-forte .plans, .tema-forte .faq, .tema-forte .satellite-index, .tema-forte .busca-imoveis,
.tema-forte .guia-relacionados { background: var(--tf-papel-2); color: var(--tf-tinta); }
.tema-forte .section + .section { border-top: var(--tf-borda); }
.tema-forte .busca-imoveis .section-head p, .tema-forte .related.busca-imoveis .section-head p { color: var(--tf-texto); }

/* ------------------------------------------------------------------ faixas escuras
   Ficam onde o conteúdo é imagem ou ação: dados rápidos, galeria, contato, rodapé. */
.tema-forte .facts, .tema-forte .gallery-section, .tema-forte .contact, .tema-forte .guia-consultor,
.tema-forte .hub-contact { background: var(--tf-verde); color: var(--tf-papel); }
.tema-forte :is(.facts, .gallery-section, .contact, .guia-consultor, .hub-contact) :is(h2, h3, strong) { color: var(--tf-papel); }
.tema-forte :is(.facts, .gallery-section, .contact, .guia-consultor, .hub-contact) :is(p, li) { color: rgba(251, 246, 236, .84); }
.tema-forte .facts { border-block: 4px solid var(--tf-laranja); }
.tema-forte .facts span { color: var(--tf-amarelo); font-family: var(--tf-mono); font-weight: 600; }
.tema-forte .facts strong { font-family: var(--tf-titulo); font-size: 1.35rem; font-weight: 800; text-transform: uppercase; }
.tema-forte .gallery-contagem { color: rgba(251, 246, 236, .7); }

/* ------------------------------------------------------------------ cabeçalho */
.tema-forte .site-header, .tema-forte .site-header--brand, .tema-forte .site-header--projeto, .tema-forte .site-header--claro {
  border-bottom: 4px solid var(--tf-laranja); background: var(--tf-tinta); color: var(--tf-papel);
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.tema-forte .site-header .brand-wordmark { color: var(--tf-papel); font-family: var(--tf-titulo); font-size: 1.5rem; text-transform: uppercase; }
.tema-forte .desktop-nav a { color: var(--tf-papel); opacity: .86; font-family: var(--tf-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.tema-forte .desktop-nav a:hover { color: var(--tf-laranja); opacity: 1; }

/* ------------------------------------------------------------------ botões */
@keyframes tfPulso {
  0%, 100% { box-shadow: var(--tf-sombra), 0 0 0 0 rgba(255, 106, 0, .5); }
  50% { box-shadow: var(--tf-sombra), 0 0 0 10px rgba(255, 106, 0, 0); }
}
.tema-forte .button {
  min-height: 52px; padding: 12px 24px; border: var(--tf-borda); border-radius: 0;
  background: var(--tf-laranja); color: var(--tf-tinta); box-shadow: var(--tf-sombra);
  font-family: var(--tf-titulo); font-size: 1.1rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  backdrop-filter: none; transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.tema-forte .button:hover { transform: translate(-2px, -2px); background: var(--tf-laranja); box-shadow: var(--tf-sombra-maior); }
.tema-forte .button:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--tf-tinta); }
.tema-forte .button--ghost, .tema-forte .button--light { background: var(--tf-branco); color: var(--tf-tinta); border-color: var(--tf-tinta); }
.tema-forte .button--ghost:hover, .tema-forte .button--light:hover { background: var(--tf-amarelo); color: var(--tf-tinta); border-color: var(--tf-tinta); }
.tema-forte .button--principal { padding: 14px 30px; font-size: 1.2rem; }
/* O botão do cabeçalho precisa do fundo explícito: `.market-high .site-header .button` pinta
   de cinza e tem a mesma força que a regra geral de botão daqui. */
.tema-forte .site-header .button { min-height: 42px; border: 2px solid var(--tf-papel); background: var(--tf-laranja); color: var(--tf-tinta); box-shadow: 3px 3px 0 var(--tf-papel); font-size: .95rem; }
.tema-forte .site-header .button:hover { box-shadow: 5px 5px 0 var(--tf-papel); }
.tema-forte .hero-actions .button--principal, .tema-forte .section-cta .button--principal, .tema-forte #btnEnviar { animation: tfPulso 2.4s ease-in-out infinite; }
.tema-forte .section-cta { gap: 16px; flex-wrap: wrap; }
@media (prefers-reduced-motion: reduce) {
  .tema-forte .hero-actions .button--principal, .tema-forte .section-cta .button--principal, .tema-forte #btnEnviar { animation: none !important; }
}

/* ------------------------------------------------------------------ hero com foto (landing e satélite) */
.tema-forte .hero-shade { background: linear-gradient(180deg, rgba(20, 34, 29, .1), rgba(20, 34, 29, .35)); }
.tema-forte .hero-card {
  border: var(--tf-borda); border-radius: 0; background: var(--tf-papel); color: var(--tf-tinta);
  box-shadow: 10px 10px 0 var(--tf-tinta); backdrop-filter: none;
}
.tema-forte .hero-card h1 { color: var(--tf-tinta); font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: .92; }
.tema-forte .hero-card > p { color: var(--tf-texto); }
.tema-forte .hero-card .breadcrumb, .tema-forte .hero-card .breadcrumb a { color: var(--tf-texto); }
.tema-forte .project-status { color: var(--tf-laranja-texto); font-family: var(--tf-mono); }

/* ------------------------------------------------------------------ hero de bairro (mapa) */
.tema-forte .apoio-hero { border-bottom: 4px solid var(--tf-laranja); }
.tema-forte .apoio-hero h1 { color: var(--tf-papel); font-size: clamp(2.6rem, 6.4vw, 5rem); line-height: .92; }
.tema-forte .apoio-hero p { color: rgba(251, 246, 236, .9); font-size: 1.12rem; }
.tema-forte .apoio-hero .breadcrumb, .tema-forte .apoio-hero .breadcrumb a,
.tema-forte .apoio-hero .breadcrumb li { color: rgba(251, 246, 236, .8); }
.tema-forte .hub-vizinhos-titulo { color: var(--tf-laranja-texto); opacity: 1; font-family: var(--tf-mono); }

/* ------------------------------------------------------------------ cartões */
.tema-forte .typology-card, .tema-forte .plan-card, .tema-forte .imovel-card, .tema-forte .related-card,
.tema-forte .location-card, .tema-forte .satellite-links a, .tema-forte .hub-links a, .tema-forte .guia-card,
.tema-forte .satelite-link, .tema-forte .location-map, .tema-forte .concept-visual {
  border: var(--tf-borda); border-radius: 0; background: var(--tf-branco); color: var(--tf-tinta); box-shadow: var(--tf-sombra);
}
.tema-forte :is(.imovel-card, .related-card, .satellite-links a, .hub-links a, .guia-card, .satelite-link):hover {
  border-color: var(--tf-tinta); transform: translate(-2px, -2px); box-shadow: var(--tf-sombra-maior);
}
.tema-forte .typology-card h3, .tema-forte .typology-card dl div { border-color: var(--tf-tinta); }
.tema-forte .typology-card dt { color: var(--tf-texto); font-family: var(--tf-mono); }
.tema-forte .plan-card figcaption { border-top: var(--tf-borda); font-family: var(--tf-mono); font-size: .72rem; text-transform: uppercase; }
.tema-forte .plan-figure { background: var(--tf-branco); }
.tema-forte .imovel-card-foto { border-bottom: var(--tf-borda); background: var(--tf-papel-2); }
.tema-forte .imovel-card-selo { border: 2px solid var(--tf-tinta); border-radius: 0; background: var(--tf-amarelo); color: var(--tf-tinta); font-family: var(--tf-mono); backdrop-filter: none; }
.tema-forte .imovel-card-local, .tema-forte .related-place { color: var(--tf-laranja-texto); font-family: var(--tf-mono); font-size: .72rem; }
.tema-forte .imovel-card-texto h3 { font-size: 1.4rem; }
.tema-forte .imovel-card-fatos, .tema-forte .related-facts, .tema-forte .satellite-links span, .tema-forte .hub-links span { color: var(--tf-texto); }
.tema-forte .satellite-links strong { font-family: var(--tf-titulo); font-size: 1.35rem; text-transform: uppercase; }
.tema-forte .location-card span { color: var(--tf-texto); font-family: var(--tf-mono); }
.tema-forte .map-load { background: var(--tf-papel-2); color: var(--tf-tinta); }
.tema-forte .gallery-tile { border: 3px solid var(--tf-papel); border-radius: 0; }

/* ------------------------------------------------------------------ busca de imóveis */
.tema-forte .busca-campo span { color: var(--tf-tinta); font-family: var(--tf-mono); }
.tema-forte .busca-campo input, .tema-forte .busca-campo select {
  border: var(--tf-borda); border-radius: 0; background: var(--tf-branco); color: var(--tf-tinta); box-shadow: 3px 3px 0 var(--tf-tinta);
}
.tema-forte .busca-campo input::placeholder { color: rgba(20, 34, 29, .5); }
.tema-forte .busca-campo input:focus, .tema-forte .busca-campo select:focus { outline: 3px solid var(--tf-laranja); outline-offset: 2px; }
.tema-forte .busca-contagem { color: var(--tf-texto); }
.tema-forte .busca-contagem strong { color: var(--tf-tinta); }
.tema-forte .busca-vazia { color: var(--tf-texto); }

/* ------------------------------------------------------------------ formulário (sobre faixa escura) */
.tema-forte .form-imoveis { border: var(--tf-borda); border-radius: 0; background: var(--tf-papel); box-shadow: 8px 8px 0 var(--tf-laranja); }
.tema-forte .form-imoveis label { color: var(--tf-tinta); font-family: var(--tf-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.tema-forte .form-imoveis input { border: 2px solid var(--tf-tinta); border-radius: 0; background: var(--tf-branco); color: var(--tf-tinta); }
.tema-forte .form-imoveis input:focus { outline: 3px solid var(--tf-laranja); outline-offset: 1px; }
.tema-forte .form-imoveis button { background: var(--tf-laranja); color: var(--tf-tinta); }
.tema-forte .form-imoveis .form-note, .tema-forte .form-imoveis p { color: var(--tf-texto); }
.tema-forte .contact-benefits li::before { color: var(--tf-amarelo); }

/* ------------------------------------------------------------------ perguntas */
.tema-forte .faq details { border-bottom: 2px solid var(--tf-tinta); background: transparent; }
.tema-forte .faq summary { color: var(--tf-tinta); font-family: var(--tf-titulo); font-size: 1.3rem; text-transform: uppercase; }
.tema-forte .faq summary::after { color: var(--tf-laranja-texto); }
.tema-forte .faq summary:hover { color: var(--tf-laranja-texto); }
.tema-forte .faq p { color: var(--tf-texto); }

/* ------------------------------------------------------------------ rodapé */
.tema-forte .site-footer { border-top: 4px solid var(--tf-laranja); background: var(--tf-tinta); color: var(--tf-papel); }
.tema-forte .site-footer p { color: rgba(251, 246, 236, .7); }
.tema-forte .site-footer a { color: rgba(251, 246, 236, .86); }
.tema-forte .site-footer a:hover { color: var(--tf-laranja); }
.tema-forte .footer-checked time { color: var(--tf-papel); }

/* ------------------------------------------------------------------ texto longo
   Bairro, áreas comuns e plantas: a leitura é o produto. Coluna estreita, corpo grande,
   índice em cartão e tabela com cabeçalho em tinta. */
.tema-forte .modelo-texto, .tema-forte .texto-longo { max-width: 760px; margin: 0 auto; font-size: 1.1rem; line-height: 1.8; }
.tema-forte .modelo-texto h2, .tema-forte .texto-longo h2 { margin: 2.6rem 0 .9rem; font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.tema-forte .modelo-texto p, .tema-forte .texto-longo p { color: var(--tf-texto); }
.tema-forte .modelo-sumario { border: var(--tf-borda); border-radius: 0; background: var(--tf-branco); box-shadow: var(--tf-sombra); }
.tema-forte .modelo-sumario strong { font-family: var(--tf-mono); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.tema-forte .modelo-sumario a { color: var(--tf-tinta); font-weight: 700; text-decoration: underline; text-decoration-color: var(--tf-laranja); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.tema-forte .modelo-tabela table { border: var(--tf-borda); background: var(--tf-branco); box-shadow: var(--tf-sombra); }
.tema-forte .modelo-tabela th { background: var(--tf-tinta); color: var(--tf-papel); font-family: var(--tf-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.tema-forte .modelo-tabela th, .tema-forte .modelo-tabela td { border-bottom: 2px solid var(--tf-tinta); }
.tema-forte .modelo-faixa-titulo { font-family: var(--tf-titulo); font-size: 1.6rem; text-transform: uppercase; }
.tema-forte .modelo-faixa img { border: var(--tf-borda); border-radius: 0; }
.tema-forte .modelo-resumo p { color: var(--tf-texto); }

/* Nomes definitivos do texto longo (os .modelo-* acima foram da página-modelo). */
.tema-forte .texto-longo { font-size: 1.12rem; }
.tema-forte .texto-longo .texto-longo-titulo { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.tema-forte .texto-sumario { border: var(--tf-borda); border-radius: 0; background: var(--tf-branco); box-shadow: var(--tf-sombra); }
.tema-forte .texto-sumario strong { font-family: var(--tf-mono); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.tema-forte .texto-sumario a { color: var(--tf-tinta); font-weight: 700; text-decoration-color: var(--tf-laranja); text-decoration-thickness: 2px; }
.tema-forte .texto-tabela table { border: var(--tf-borda); background: var(--tf-branco); box-shadow: var(--tf-sombra); }
.tema-forte .texto-tabela th { background: var(--tf-tinta); color: var(--tf-papel); font-family: var(--tf-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.tema-forte .texto-tabela th, .tema-forte .texto-tabela td { border-bottom: 2px solid var(--tf-tinta); }
.tema-forte .faixa-titulo { font-family: var(--tf-titulo); font-size: 1.7rem; font-weight: 800; text-transform: uppercase; }
.tema-forte .faixa-trilho { padding: 4px 10px 16px 4px; }
.tema-forte .gallery-seta { border: var(--tf-borda); border-radius: 0; background: var(--tf-laranja); color: var(--tf-tinta); box-shadow: 3px 3px 0 var(--tf-tinta); backdrop-filter: none; }
.tema-forte .gallery-seta:hover { background: var(--tf-amarelo); transform: none; }
