.elementor-207 .elementor-element.elementor-element-5b891be > .elementor-element-populated{padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-fe085e9 *//* =====================================================================
   CONSTRUGRILL — style.css (equivale ao "Kit Global" do Elementor)
   Direção visual: clean, minimalista e elegante.
   Muito respiro, linhas finas no lugar de caixas, cantos quase retos,
   sombras só no que flutua. Movimento só em hover, sempre discreto.

   1. Variáveis   2. Base   3. Componentes   4. Blocos por página
   ===================================================================== */


/* =====================================================================
   1. VARIÁVEIS
   ELEMENTOR: copiar as 5 cores para Cores Globais e os 4 estilos
   de texto para Fontes Globais. Não criar outras cores.
   ===================================================================== */
:root {
  /* Cores Globais — paleta oficial (somente estas) */
  --cor-escura: #2E1610;     /* fundos escuros, rodapé, CTA, hover dos botões */
  --cor-primaria: #472A22;   /* botões, títulos, links, ícones */
  --cor-secundaria: #746A67; /* textos de apoio (só sobre --cor-fundo) */
  --cor-clara: #BCB5B4;      /* linhas finas, divisores, texto sobre escuro */
  --cor-fundo: #FCFCFB;      /* fundo geral e texto sobre escuro */
  --cor-whatsapp: #25D366;   /* EXCEÇÃO: só botões de WhatsApp (texto --cor-escura) */

  /* Fontes Globais — Poppins, 4 estilos
     Primária   → H1 e H2 ............................ 600
     Secundária → H3, nomes de modelo, perguntas ..... 600
     Texto      → parágrafos e listas ................ 400
     Realce     → botões, menu, sobretítulos, rótulos  600 (ou 400) */
  --fonte: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-primaria: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
  --fs-secundaria: 1.25rem;
  --fs-texto: 1rem;
  --fs-realce: .8125rem;
  --peso-normal: 400;
  --peso-forte: 600;
  --lh-titulo: 1.15;
  --lh-texto: 1.75;
  --espacado: .12em; /* letter-spacing de botões, menu e sobretítulos */

  /* Espaçamentos e formas */
  --esp-1: 8px;
  --esp-2: 16px;
  --esp-3: 24px;
  --esp-4: 32px;
  --esp-5: 48px;
  --esp-6: 72px;
  --secao-y: clamp(72px, 10vw, 128px);
  --largura-max: 1200px;
  --gutter: 20px;
  --raio: 2px;
  --linha: 1px solid var(--cor-clara);
  --sombra: 0 12px 32px rgba(46, 22, 16, .10);
  --cabecalho-h: 72px;
  --transicao: .3s ease;
}
@media (min-width: 768px)  { :root { --gutter: 32px; } }
@media (min-width: 1024px) { :root { --cabecalho-h: 88px; } }


/* =====================================================================
   2. BASE E TIPOGRAFIA
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--cabecalho-h) + 16px);
}
body {
  margin: 0;
  font-family: var(--fonte);
  font-size: var(--fs-texto);
  line-height: var(--lh-texto);
  color: var(--cor-escura);
  background: var(--cor-fundo);
  -webkit-font-smoothing: antialiased;
}
body.sem-rolagem { overflow: hidden; }

img, svg { display: block; max-width: 100%; }
img { height: auto; }

h1, h2, h3, h4 {
  margin: 0 0 var(--esp-3);
  font-weight: var(--peso-forte);
  line-height: var(--lh-titulo);
  color: var(--cor-primaria);
  text-wrap: balance;
}
h1, h2 { font-size: var(--fs-primaria); letter-spacing: -.025em; }
h3, h4 { font-size: var(--fs-secundaria); letter-spacing: -.01em; margin-bottom: var(--esp-1); }

p { margin: 0 0 var(--esp-2); }
p:last-child { margin-bottom: 0; }
a { color: var(--cor-primaria); text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { color: var(--cor-escura); }
ul, ol { margin: 0 0 var(--esp-2); padding-left: 1.25em; }

:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 3px; }
.secao--escura :focus-visible, .hero :focus-visible,
.topo-pagina :focus-visible, .rodape :focus-visible { outline-color: var(--cor-fundo); }

.pular-conteudo {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  padding: 12px 16px; background: var(--cor-fundo); color: var(--cor-primaria);
}
.pular-conteudo:focus { left: 16px; top: 16px; }

.icone { width: 1.25em; height: 1.25em; flex: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}


/* =====================================================================
   3. COMPONENTES REUTILIZÁVEIS
   ===================================================================== */

/* ---------- 3.1 Layout ---------- */
/* ELEMENTOR: Container pai (largura total) > Container filho (boxed 1200px) */
.container {
  width: 100%;
  max-width: calc(var(--largura-max) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.secao { padding-block: var(--secao-y); }
.secao--divisor { border-top: var(--linha); }
.secao--escura { background: var(--cor-escura); color: var(--cor-clara); }
.secao--escura h1, .secao--escura h2, .secao--escura h3 { color: var(--cor-fundo); }
.secao--escura a:not(.btn) { color: var(--cor-fundo); }

.secao__cabeca { max-width: 680px; margin: 0 auto var(--esp-6); text-align: center; }
.secao__cabeca h2 { margin-bottom: var(--esp-2); }
.secao__cabeca p { color: var(--cor-secundaria); }
.secao--escura .secao__cabeca p { color: var(--cor-clara); }
.secao__rodape { margin-top: var(--esp-5); text-align: center; }

/* Sobretítulo: caixa alta espaçada com um traço fino antes */
.sobretitulo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--esp-2);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.sobretitulo::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.secao--escura .sobretitulo, .hero .sobretitulo, .topo-pagina .sobretitulo { color: var(--cor-clara); }

.grade { display: grid; gap: var(--esp-5) var(--esp-3); grid-template-columns: 1fr; }
.grade--galeria { grid-template-columns: repeat(2, 1fr); gap: var(--esp-1); }
@media (min-width: 600px) { .grade--2, .grade--3, .grade--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .grade--galeria { grid-template-columns: repeat(3, 1fr); gap: var(--esp-2); } }
@media (min-width: 960px) {
  .grade--3 { grid-template-columns: repeat(3, 1fr); }
  .grade--4 { grid-template-columns: repeat(4, 1fr); }
}

.duas-colunas { display: grid; gap: var(--esp-5); align-items: start; }
@media (min-width: 960px) { .duas-colunas { grid-template-columns: 7fr 5fr; gap: 96px; } }

/* ---------- 3.2 Botões ---------- */
/* ELEMENTOR: Kit > Botões. Retos, caixa alta espaçada, sem sombra. Altura ≥ 48px. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 28px;
  border: 1px solid transparent;
  border-radius: var(--raio);
  font: inherit;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  line-height: 1.2;
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transicao), color var(--transicao), border-color var(--transicao);
}
.btn .icone { width: 18px; height: 18px; }
.btn--grande { min-height: 56px; padding: 18px 32px; }

.btn--primario { background: var(--cor-primaria); color: var(--cor-fundo); }
.btn--primario:hover { background: var(--cor-escura); color: var(--cor-fundo); }
.btn--contorno { border-color: var(--cor-primaria); color: var(--cor-primaria); background: transparent; }
.btn--contorno:hover { background: var(--cor-primaria); color: var(--cor-fundo); }
.btn--contorno-claro { border-color: var(--cor-clara); color: var(--cor-fundo); background: transparent; }
.btn--contorno-claro:hover { border-color: var(--cor-fundo); background: var(--cor-fundo); color: var(--cor-escura); }
.btn--whatsapp { background: var(--cor-whatsapp); color: var(--cor-escura); }
.btn--whatsapp:hover { color: var(--cor-escura); border-color: var(--cor-escura); }

.grupo-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.grupo-botoes .btn { flex: 1 1 220px; }
@media (min-width: 600px) { .grupo-botoes .btn { flex: 0 0 auto; } }

/* Link com seta: sublinhado fino que cresce no hover */
.link-seta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 4px;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-primaria);
  text-decoration: none;
  background: linear-gradient(currentColor, currentColor) left bottom / 24px 1px no-repeat;
  transition: background-size var(--transicao);
}
.link-seta .icone { width: 16px; height: 16px; transition: transform var(--transicao); }
.link-seta:hover, .card-produto:hover .link-seta, .card-blog:hover .link-seta { background-size: 100% 1px; }
.link-seta:hover .icone, .card-produto:hover .link-seta .icone, .card-blog:hover .link-seta .icone { transform: translateX(4px); }

/* ---------- 3.3 Cabeçalho (Theme Builder > Header) ---------- */
.cabecalho {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--cor-fundo);
  border-bottom: var(--linha);
  transition: box-shadow var(--transicao);
}
.cabecalho.is-rolado { box-shadow: var(--sombra); }
.cabecalho__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-3);
  min-height: var(--cabecalho-h);
  transition: min-height var(--transicao);
}
.cabecalho.is-rolado .cabecalho__container { min-height: 64px; }
.cabecalho__logo { flex: none; }
.cabecalho__logo img { height: 44px; width: auto; object-fit: contain; transition: height var(--transicao); }
.cabecalho__acoes { display: flex; align-items: center; gap: var(--esp-1); }
.cabecalho__cta { display: none; }

.btn-icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--cor-primaria);
  cursor: pointer;
}
.btn-icone .icone { width: 22px; height: 22px; }
.btn-icone--whatsapp { background: var(--cor-whatsapp); color: var(--cor-escura); }

.menu-toggle .icone-fechar, .menu-aberto .menu-toggle .icone-abrir { display: none; }
.menu-aberto .menu-toggle .icone-fechar { display: block; }

/* Menu — celular */
.menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  background: var(--cor-fundo);
  border-bottom: var(--linha);
}
.menu-aberto .menu { display: block; }
.menu__lista, .submenu { list-style: none; margin: 0; padding: 0; }
.menu__lista { padding: var(--esp-1) var(--gutter) var(--esp-4); }
.menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  min-height: 52px;
  padding: 12px 0;
  border: 0;
  border-bottom: var(--linha);
  background: none;
  font: inherit;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-primaria);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.menu__seta { display: none; width: 14px; height: 14px; transition: transform var(--transicao); }
.submenu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0 8px 16px;
  border-bottom: var(--linha);
  color: var(--cor-escura);
  text-decoration: none;
}
.menu__cta-mobile { margin-top: var(--esp-3); }
.menu__cta-mobile .btn { width: 100%; }

/* Menu — desktop */
@media (min-width: 1024px) {
  .cabecalho__logo img { height: 56px; }
  .cabecalho.is-rolado .cabecalho__logo img { height: 44px; }
  .cabecalho__cta { display: inline-flex; min-height: 44px; padding: 12px 20px; }
  .cabecalho__whats-mobile, .menu-toggle, .menu__cta-mobile { display: none; }

  .menu {
    display: block;
    position: static;
    max-height: none;
    overflow: visible;
    margin-left: auto;
    background: none;
    border: 0;
  }
  .menu__lista { display: flex; align-items: center; gap: var(--esp-1); padding: 0; }
  .menu__link {
    width: auto;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    background: linear-gradient(var(--cor-primaria), var(--cor-primaria)) center bottom 6px / 0 1px no-repeat;
    transition: background-size var(--transicao), color var(--transicao);
  }
  .menu__link:hover, .menu__link[aria-current="page"],
  .menu__item--sub:hover > .menu__link { color: var(--cor-escura); background-size: calc(100% - 20px) 1px; }
  .menu__seta { display: block; }

  .menu__item--sub { position: relative; }
  .submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 248px;
    padding: 12px 0;
    background: var(--cor-fundo);
    border: var(--linha);
    box-shadow: var(--sombra);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--transicao), transform var(--transicao), visibility var(--transicao);
  }
  .menu__item--sub:hover .submenu, .menu__item--sub:focus-within .submenu,
  .menu__item--sub.sub-aberto .submenu { opacity: 1; visibility: visible; transform: none; }
  .menu__item--sub:hover .menu__seta, .menu__item--sub.sub-aberto .menu__seta { transform: rotate(180deg); }
  .submenu a { padding: 10px 24px; border: 0; color: var(--cor-primaria); transition: color var(--transicao), padding var(--transicao); }
  .submenu a:hover { color: var(--cor-escura); padding-left: 30px; }
}

/* ---------- 3.4 Imagens: moldura com proporção fixa ---------- */
/* ELEMENTOR: widget Imagem > Proporção > Ajuste "Cobrir" (ambientes) ou "Conter" (peças) */
.img-quadro { position: relative; overflow: hidden; background: var(--cor-clara); border-radius: var(--raio); }
.img-quadro img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--foco, center);
  display: block;
  transition: transform .6s ease;
}
.img-quadro--4x3  { aspect-ratio: 4 / 3; }
.img-quadro--16x9 { aspect-ratio: 16 / 9; }
.img-quadro--3x4  { aspect-ratio: 3 / 4; }
.img-quadro--1x1  { aspect-ratio: 1 / 1; }
.img-quadro--peca img { object-fit: contain; padding: 16px; background: var(--cor-fundo); }
.img-quadro--peca { border: var(--linha); }
.img-quadro > .placeholder-img { height: 100%; border-radius: 0; }
/* zoom lento da foto no hover dos cards */
.card-produto:hover .img-quadro img, .card-blog:hover .img-quadro img,
.seletor-modelos__item:hover .img-quadro img, .galeria__item:hover img { transform: scale(1.04); }

.placeholder-img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 16px;
  background: var(--cor-clara);
  color: var(--cor-escura);
  border: 1px dashed var(--cor-secundaria);
  font-size: var(--fs-realce);
  line-height: 1.4;
  text-align: center;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.placeholder-img strong { font-weight: var(--peso-forte); }
.placeholder-img--compacto span { display: none; }
@media (min-width: 600px) { .placeholder-img--compacto span { display: block; } }

/* ---------- 3.5 Topo: hero da home e topo das páginas internas ---------- */
.hero, .topo-pagina {
  position: relative;
  isolation: isolate;
  display: flex;
  overflow: hidden;
  background: var(--cor-escura);
  color: var(--cor-clara);
}
.hero { align-items: center; min-height: min(88svh, 780px); padding-block: var(--esp-6); }
.topo-pagina { align-items: flex-end; min-height: clamp(440px, 62vh, 620px); padding-block: clamp(56px, 8vw, 96px); }
.hero .container, .topo-pagina .container { width: 100%; }

.hero__fundo, .topo-pagina__fundo { position: absolute; inset: 0; z-index: -1; }
.hero__fundo img, .topo-pagina__fundo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--foco, center); }
.hero__fundo::after, .topo-pagina__fundo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(46, 22, 16, .92) 0%, rgba(46, 22, 16, .55) 100%);
}
@media (min-width: 768px) {
  .hero__fundo::after, .topo-pagina__fundo::after {
    background: linear-gradient(90deg, rgba(46, 22, 16, .92) 0%, rgba(46, 22, 16, .6) 50%, rgba(46, 22, 16, .15) 100%);
  }
}

.hero__conteudo, .topo-pagina__conteudo { max-width: 640px; }
.hero h1, .topo-pagina h1 { margin-bottom: var(--esp-3); color: var(--cor-fundo); }
.hero__subtitulo, .topo-pagina__subtitulo { margin-bottom: var(--esp-5); color: var(--cor-clara); max-width: 520px; }

.selos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: var(--esp-5) 0 0;
  padding: var(--esp-3) 0 0;
  border-top: 1px solid rgba(188, 181, 180, .3);
  list-style: none;
  font-size: var(--fs-realce);
  color: var(--cor-clara);
}
.selos li { display: inline-flex; align-items: center; gap: 8px; }
.selos .icone { width: 14px; height: 14px; }

/* ---------- 3.6 Breadcrumb ---------- */
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 var(--esp-4);
  padding: 0;
  list-style: none;
  font-size: var(--fs-realce);
  letter-spacing: .04em;
  color: var(--cor-secundaria);
}
.breadcrumb li + li::before { content: "—"; margin-right: 6px; }
.breadcrumb a { text-decoration: none; }
.topo-pagina .breadcrumb ol { color: var(--cor-clara); }
.topo-pagina .breadcrumb a { color: var(--cor-fundo); }

/* ---------- 3.7 Caixa de ícone (diferenciais) — linha fina em cima, sem caixa ---------- */
.caixa-icone { padding-top: var(--esp-4); border-top: var(--linha); }
.caixa-icone__icone { display: inline-flex; margin-bottom: var(--esp-3); color: var(--cor-primaria); }
.caixa-icone__icone .icone { width: 32px; height: 32px; stroke-width: 1.5; }
.caixa-icone p { color: var(--cor-secundaria); }
.caixa-icone--escura, .secao--escura .caixa-icone { border-top-color: var(--cor-primaria); }
.caixa-icone--escura .caixa-icone__icone, .secao--escura .caixa-icone__icone { color: var(--cor-clara); }
.caixa-icone--escura p, .secao--escura .caixa-icone p { color: var(--cor-clara); }

/* ---------- 3.8 Números em destaque ---------- */
.numeros { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--esp-4) var(--esp-3); margin: 0; padding: 0; list-style: none; }
.numeros li { padding-top: var(--esp-2); border-top: var(--linha); }
.numeros strong {
  display: block;
  margin-bottom: 4px;
  font-size: var(--fs-secundaria);
  font-weight: var(--peso-forte);
  line-height: 1.2;
  color: var(--cor-primaria);
}
.numeros span { font-size: var(--fs-realce); color: var(--cor-secundaria); }

/* ---------- 3.9 Cards (produto e blog) — editoriais, sem caixa ---------- */
.card-produto, .card-blog { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.card-produto:hover, .card-blog:hover { color: inherit; }
.card-produto__corpo, .card-blog__corpo { display: flex; flex-direction: column; flex: 1; padding-top: var(--esp-3); }
.card-produto__titulo, .card-blog__titulo { margin-bottom: var(--esp-1); }
.card-produto__texto, .card-blog__texto { color: var(--cor-secundaria); }
.card-produto .link-seta, .card-blog .link-seta { align-self: flex-start; margin-top: auto; padding-top: var(--esp-2); background-position: left bottom; }
.card-blog__categoria {
  margin-bottom: var(--esp-1);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}

/* ---------- 3.10 Passos (Como funciona) ---------- */
.passos { display: grid; gap: var(--esp-5) var(--esp-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .passos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .passos { grid-template-columns: repeat(4, 1fr); } }
.passo { padding-top: var(--esp-3); border-top: 1px solid var(--cor-primaria); }
.passo__numero {
  display: block;
  margin-bottom: var(--esp-2);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  color: var(--cor-clara);
}
.passo__numero::before { content: "0"; }

/* ---------- 3.11 Galeria ---------- */
.galeria__item { margin: 0; }

/* ---------- 3.12 Depoimentos ---------- */
.card-depoimento {
  display: flex;
  flex-direction: column;
  gap: var(--esp-2);
  height: 100%;
  margin: 0;
  padding-top: var(--esp-4);
  border-top: 1px solid var(--cor-primaria);
  color: var(--cor-clara);
}
.card-depoimento .icone { width: 28px; height: 28px; color: var(--cor-clara); }
.card-depoimento blockquote { margin: 0; font-size: var(--fs-secundaria); line-height: 1.6; color: var(--cor-fundo); }
.card-depoimento figcaption { margin-top: auto; font-size: var(--fs-realce); }
.card-depoimento figcaption strong { display: block; font-size: var(--fs-texto); color: var(--cor-fundo); }
.aviso-inserir {
  align-self: flex-start;
  padding: 2px 10px;
  border: 1px dashed var(--cor-clara);
  font-size: var(--fs-realce);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
}

/* ---------- 3.13 Listas de especificação e medidas ---------- */
.lista-specs { display: grid; gap: 12px; margin: 0 0 var(--esp-3); padding: 0; list-style: none; }
.lista-specs li { position: relative; padding-left: 24px; }
.lista-specs li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .85em;
  width: 12px;
  height: 1px;
  background: var(--cor-primaria);
}
.lista-medidas { display: flex; flex-wrap: wrap; gap: var(--esp-1); margin: 0; padding: 0; list-style: none; }
.lista-medidas li {
  min-width: 72px;
  max-width: 100%;
  padding: 10px 16px;
  border: var(--linha);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  text-align: center;
  color: var(--cor-primaria);
}

/* ---------- 3.14 FAQ (Sanfona) — só linhas finas ---------- */
.faq { max-width: 840px; margin-inline: auto; border-top: var(--linha); }
.faq__item { border-bottom: var(--linha); }
.faq__pergunta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-3);
  min-height: 64px;
  padding: 20px 0;
  color: var(--cor-primaria);
  cursor: pointer;
  list-style: none;
}
.faq__pergunta::-webkit-details-marker { display: none; }
.faq__pergunta::after {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background:
    linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1px 14px no-repeat;
  transition: transform var(--transicao);
}
.faq__item[open] > .faq__pergunta::after { transform: rotate(45deg); }
.faq__pergunta h3 { margin: 0; font-size: var(--fs-texto); font-weight: var(--peso-forte); letter-spacing: 0; }
.faq__resposta { padding: 0 var(--esp-5) var(--esp-3) 0; color: var(--cor-secundaria); }

/* ---------- 3.15 Faixa de CTA ---------- */
.cta-final { text-align: center; }
.cta-final .container { max-width: 760px; }
.cta-final p { color: var(--cor-clara); }
.cta-final .grupo-botoes { justify-content: center; margin-top: var(--esp-4); }
.cta-final__info { margin-top: var(--esp-4); font-size: var(--fs-realce); }

/* ---------- 3.16 Rodapé (Theme Builder > Footer) ---------- */
.rodape { background: var(--cor-escura); color: var(--cor-clara); font-size: var(--fs-texto); }
.rodape__grade { display: grid; gap: var(--esp-5); padding-block: var(--esp-6); }
@media (min-width: 600px)  { .rodape__grade { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rodape__grade { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; } }
/* Logo original sobre placa clara (o logo atual não tem versão para fundo escuro) */
.rodape__logo { display: inline-block; margin-bottom: var(--esp-3); padding: 10px 16px; background: var(--cor-fundo); border-radius: var(--raio); }
.rodape__logo img { height: 44px; width: auto; object-fit: contain; }
.rodape__slogan { margin-top: var(--esp-2); font-weight: var(--peso-forte); color: var(--cor-fundo); }
.rodape__titulo {
  margin-bottom: var(--esp-2);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-fundo);
}
.rodape ul { display: grid; margin: 0; padding: 0; list-style: none; }
.rodape li a, .rodape__info {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--cor-clara);
  text-decoration: none;
  transition: color var(--transicao);
}
.rodape__info { min-height: 0; padding-block: 8px; align-items: flex-start; }
.rodape__info .icone { margin-top: 4px; }
.rodape li a .icone, .rodape__info .icone { width: 16px; height: 16px; }
.rodape li a:hover { color: var(--cor-fundo); }

.redes { display: flex; flex-wrap: wrap; gap: var(--esp-1); margin-top: var(--esp-2); }
.redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--cor-primaria);
  border-radius: 50%;
  color: var(--cor-fundo);
  transition: border-color var(--transicao);
}
.redes a:hover { border-color: var(--cor-clara); color: var(--cor-fundo); }
.redes .icone { width: 18px; height: 18px; }

.rodape__base { padding: var(--esp-3) 0 96px; border-top: 1px solid var(--cor-primaria); font-size: var(--fs-realce); text-align: center; }
@media (min-width: 768px) { .rodape__base { padding-bottom: var(--esp-3); } }

/* ---------- 3.17 Botão flutuante de WhatsApp ---------- */
/* ELEMENTOR: widget fixo no Footer (Posição: Fixa, inferior direito) */
.whatsapp-flutuante {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--cor-whatsapp);
  color: var(--cor-escura);
  box-shadow: var(--sombra);
  transition: transform var(--transicao);
}
.whatsapp-flutuante:hover { color: var(--cor-escura); transform: scale(1.05); }
.whatsapp-flutuante .icone { width: 28px; height: 28px; }

/* ---------- 3.18 Caixa de destaque — filete lateral ---------- */
.caixa-destaque { padding-left: var(--esp-4); border-left: 1px solid var(--cor-primaria); }
.caixa-destaque h3 + .lista-specs { margin-top: var(--esp-2); }
.caixa-destaque .lista-specs + h3 { margin-top: var(--esp-4); }
.caixa-destaque p + .lista-medidas { margin-top: var(--esp-2); }
.caixa-destaque p, .intro__texto p { color: var(--cor-secundaria); }

/* ---------- 3.19 Seletor de modelos com miniaturas ---------- */
.seletor-modelos { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--esp-3) var(--esp-2); margin-bottom: var(--esp-5); }
@media (min-width: 960px) { .seletor-modelos { grid-template-columns: repeat(4, 1fr); } }
.seletor-modelos--2 { max-width: 640px; margin-inline: auto; }
@media (min-width: 960px) { .seletor-modelos--2 { grid-template-columns: repeat(2, 1fr); } }
.seletor-modelos--3 { grid-template-columns: repeat(3, 1fr); gap: var(--esp-2) 12px; }
.seletor-modelos--3 .seletor-modelos__nome { font-size: var(--fs-texto); }
@media (min-width: 768px) { .seletor-modelos--3 .seletor-modelos__nome { font-size: var(--fs-secundaria); } }
.seletor-modelos__item { display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.seletor-modelos__item:hover { color: inherit; }
.seletor-modelos__texto { display: flex; flex-direction: column; gap: 2px; padding-top: 12px; }
.seletor-modelos__nome { font-size: var(--fs-secundaria); font-weight: var(--peso-forte); line-height: var(--lh-titulo); color: var(--cor-primaria); }
.seletor-modelos__info { font-size: var(--fs-realce); color: var(--cor-secundaria); }

/* ---------- 3.20 Blocos de modelo (páginas de produto) ---------- */
.modelo {
  display: grid;
  gap: var(--esp-4);
  padding-block: var(--esp-6);
  border-top: var(--linha);
  scroll-margin-top: calc(var(--cabecalho-h) + 16px);
}
@media (min-width: 768px) {
  .modelo { grid-template-columns: 5fr 6fr; gap: var(--esp-5) 72px; align-items: center; }
}
.modelo__categoria {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--esp-2);
  font-size: var(--fs-realce);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.modelo__numero { font-weight: var(--peso-forte); color: var(--cor-primaria); }
.modelo__numero::after { content: ""; display: inline-block; width: 28px; height: 1px; margin-left: 12px; vertical-align: middle; background: var(--cor-clara); }
.modelo__titulo { margin-bottom: var(--esp-3); font-size: var(--fs-primaria); }
.modelo__texto p:not(.modelo__categoria) { margin-bottom: var(--esp-3); color: var(--cor-secundaria); }
.modelo__texto .modelo__rotulo {
  margin-bottom: var(--esp-1);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.modelo__texto .lista-medidas { margin-bottom: var(--esp-4); }
.modelo__abas { grid-column: 1 / -1; }
.modelo > *, .duas-colunas > * { min-width: 0; }

.destaques {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0 0 var(--esp-4);
  padding: var(--esp-2) 0 0;
  border-top: var(--linha);
  list-style: none;
  font-size: var(--fs-realce);
  color: var(--cor-primaria);
}
.destaques li { display: inline-flex; align-items: center; gap: 8px; }
.destaques .icone { width: 14px; height: 14px; }

/* ---------- 3.21 Carrossel de fotos (scroll-snap, sem biblioteca) ---------- */
/* ELEMENTOR: widget "Carrossel de imagens", 1 slide, setas + pontos, sem autoplay */
.carrossel { position: relative; }
.carrossel__trilho {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  border-radius: var(--raio);
  scrollbar-width: none;
}
.carrossel__trilho::-webkit-scrollbar { display: none; }
.carrossel__slide { flex: 0 0 100%; margin: 0; border-radius: 0; scroll-snap-align: start; }
.carrossel__seta {
  position: absolute;
  top: calc(50% - 42px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--cor-fundo);
  color: var(--cor-primaria);
  cursor: pointer;
  transition: opacity var(--transicao);
}
.carrossel__seta .icone { width: 18px; height: 18px; }
.carrossel__seta--anterior { left: 12px; }
.carrossel__seta--anterior .icone { transform: rotate(90deg); }
.carrossel__seta--proxima { right: 12px; }
.carrossel__seta--proxima .icone { transform: rotate(-90deg); }
.carrossel__seta[disabled] { opacity: 0; pointer-events: none; }
.carrossel__pontos { display: flex; justify-content: center; gap: 4px; min-height: 40px; margin-top: 4px; }
.carrossel__ponto {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
/* pontos como traços finos */
.carrossel__ponto::before { content: ""; width: 24px; height: 2px; background: var(--cor-clara); transition: background-color var(--transicao); }
.carrossel__ponto[aria-current="true"]::before { background: var(--cor-primaria); }
.carrossel--simples .carrossel__seta, .carrossel--simples .carrossel__pontos { display: none; }

/* ---------- 3.22 Abas (Descrição técnica / Medidas) — sublinhado, sem caixa ---------- */
/* ELEMENTOR: widget "Abas", horizontal, estilo só com sublinhado na aba ativa */
.abas__lista { display: flex; gap: var(--esp-4); overflow-x: auto; border-bottom: var(--linha); scrollbar-width: none; }
.abas__lista::-webkit-scrollbar { display: none; }
.abas__aba {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  min-height: 52px;
  margin-bottom: -1px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: none;
  font: inherit;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
  cursor: pointer;
  transition: color var(--transicao), border-color var(--transicao);
}
.abas__aba .icone { width: 16px; height: 16px; }
.abas__aba:hover { color: var(--cor-primaria); }
.abas__aba[aria-selected="true"] { color: var(--cor-primaria); border-bottom-color: var(--cor-primaria); }
.abas__painel { padding-top: var(--esp-4); }
.abas__painel .lista-specs { margin: 0; }
@media (min-width: 768px) {
  .abas__painel .lista-specs { grid-template-columns: repeat(2, 1fr); column-gap: var(--esp-6); }
}


/* ---------- 3.23 Card de acessório (página Acessórios) ---------- */
.grade--acessorios { gap: var(--esp-6) var(--esp-4); }
.card-acessorio { display: flex; flex-direction: column; height: 100%; scroll-margin-top: calc(var(--cabecalho-h) + 24px); }
.card-acessorio__corpo { display: flex; flex-direction: column; flex: 1; padding-top: var(--esp-3); }
.card-acessorio__categoria {
  margin-bottom: var(--esp-1);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.card-acessorio__titulo { margin-bottom: var(--esp-2); font-size: var(--fs-secundaria); }
.card-acessorio__texto { color: var(--cor-secundaria); }
.card-acessorio__texto:empty { display: none; }
.card-acessorio .destaques { margin-bottom: var(--esp-2); }
.card-acessorio__detalhes { margin-bottom: var(--esp-3); border-bottom: var(--linha); }
.card-acessorio__detalhes summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 48px;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-primaria);
  cursor: pointer;
  list-style: none;
}
.card-acessorio__detalhes summary::-webkit-details-marker { display: none; }
.card-acessorio__detalhes summary::after { content: "+"; font-size: var(--fs-secundaria); font-weight: var(--peso-normal); }
.card-acessorio__detalhes[open] summary::after { content: "−"; }
.card-acessorio__detalhes .lista-specs { padding-bottom: var(--esp-2); }
.card-acessorio .btn { align-self: flex-start; margin-top: auto; }
.card-acessorio:target .img-quadro { border-color: var(--cor-primaria); }

/* ---------- 3.24 Galeria por categoria + lightbox ---------- */
/* ELEMENTOR: widget "Galeria básica" com Lightbox ativado (o lightbox abaixo é só para o molde) */
.galeria__grupo { padding-block: var(--esp-6) 0; scroll-margin-top: calc(var(--cabecalho-h) + 16px); }
.galeria__grupo + .galeria__grupo { margin-top: var(--esp-6); border-top: var(--linha); }
.galeria__cabeca { display: grid; gap: var(--esp-1); margin-bottom: var(--esp-4); }
.galeria__cabeca h2 { margin: 0; }
.galeria__cabeca p { margin: 0; color: var(--cor-secundaria); }
@media (min-width: 768px) {
  .galeria__cabeca { grid-template-columns: 1fr 1fr; align-items: end; gap: var(--esp-4); }
}
.galeria__item a { display: block; height: 100%; }

.lightbox {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: var(--esp-5) var(--gutter);
  border: 0;
  background: rgba(46, 22, 16, .97);
  color: var(--cor-clara);
}
.lightbox[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--esp-2); }
.lightbox::backdrop { background: rgba(46, 22, 16, .97); }
.lightbox__img { max-width: min(100%, 1200px); max-height: 78vh; width: auto; height: auto; object-fit: contain; }
.lightbox__legenda { margin: 0; font-size: var(--fs-realce); text-align: center; }
.lightbox__botao {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--cor-primaria);
  border-radius: 50%;
  background: transparent;
  color: var(--cor-fundo);
  cursor: pointer;
}
.lightbox__botao .icone { width: 20px; height: 20px; }
.lightbox__fechar { top: 16px; right: 16px; }
.lightbox__anterior { left: 16px; top: 50%; }
.lightbox__anterior .icone { transform: rotate(90deg); }
.lightbox__proxima { right: 16px; top: 50%; }
.lightbox__proxima .icone { transform: rotate(-90deg); }

/* ---------- 3.25 Formulário (referência visual para o WPForms) ---------- */
/* ELEMENTOR/WPFORMS: campos com borda 1px var(--cor-clara), raio 2px, altura 52px; foco com borda var(--cor-primaria) */
.visualmente-oculto {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.form__grade { display: grid; gap: var(--esp-3); }
@media (min-width: 600px) { .form__grade { grid-template-columns: 1fr 1fr; } }
.campo { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.campo--inteiro, .campo--opcoes { grid-column: 1 / -1; }
.campo label, .campo legend {
  padding: 0;
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: .04em;
  color: var(--cor-primaria);
}
.campo label small { font-weight: var(--peso-normal); color: var(--cor-secundaria); }
.campo input:not([type="radio"]):not([type="checkbox"]), .campo select, .campo textarea {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  border: var(--linha);
  border-radius: var(--raio);
  background: var(--cor-fundo);
  font: inherit;
  color: var(--cor-escura);
  transition: border-color var(--transicao);
}
.campo textarea { min-height: 140px; resize: vertical; }
.campo select { appearance: none; padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, var(--cor-primaria) 50%), linear-gradient(-45deg, transparent 50%, var(--cor-primaria) 50%); background-position: right 22px center, right 17px center; background-size: 5px 5px; background-repeat: no-repeat; }
.campo input[type="file"] { padding: 12px; cursor: pointer; }
.campo input::placeholder, .campo textarea::placeholder { color: var(--cor-secundaria); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--cor-primaria); box-shadow: 0 0 0 1px var(--cor-primaria); }
.opcoes { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.opcao {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font-size: var(--fs-texto) !important;
  font-weight: var(--peso-normal) !important;
  letter-spacing: 0 !important;
  color: var(--cor-escura) !important;
  cursor: pointer;
}
.opcao input { width: 18px; height: 18px; margin: 0; accent-color: var(--cor-primaria); flex: none; }
.opcao--aceite { align-items: flex-start; }
.opcao--aceite input { margin-top: 4px; }
.form__enviar { margin-top: var(--esp-4); }
.form__nota { margin-top: var(--esp-2); font-size: var(--fs-realce); color: var(--cor-secundaria); }

/* =====================================================================
   4. BLOCOS POR PÁGINA
   ===================================================================== */

/* ---------- Página: Sobre ---------- */
.duas-colunas--centro { align-items: center; }
@media (min-width: 768px) { .numeros--escuro { grid-template-columns: repeat(4, 1fr); } }
.numeros--escuro li { border-top-color: var(--cor-primaria); }
.numeros--escuro strong { font-size: var(--fs-primaria); letter-spacing: -.025em; color: var(--cor-fundo); }
.numeros--escuro span { color: var(--cor-clara); }
.slogan { text-align: center; }
.slogan__texto {
  max-width: 820px;
  margin: 0 auto;
  font-size: var(--fs-primaria);
  font-weight: var(--peso-forte);
  line-height: var(--lh-titulo);
  letter-spacing: -.025em;
  color: var(--cor-primaria);
}

/* ---------- Página: Orçamento ---------- */
.topo-pagina--compacto { min-height: clamp(320px, 42vh, 420px); }
.contato { display: grid; gap: var(--esp-6); align-items: start; }
@media (min-width: 960px) { .contato { grid-template-columns: 4fr 7fr; gap: 96px; } }
.contato > * { min-width: 0; }
.contato__atalhos p { color: var(--cor-secundaria); }
@media (min-width: 960px) { .contato__atalhos { position: sticky; top: calc(var(--cabecalho-h) + 32px); } }
.contato__whatsapp { width: 100%; margin: var(--esp-2) 0 var(--esp-4); }
.contato__lista { display: grid; margin: 0 0 var(--esp-4); padding: 0; list-style: none; border-top: var(--linha); }
.contato__lista li { display: flex; gap: 14px; padding: var(--esp-2) 0; border-bottom: var(--linha); }
.contato__lista .icone { width: 18px; height: 18px; margin-top: 4px; color: var(--cor-primaria); }
.contato__lista span { display: flex; flex-direction: column; color: var(--cor-escura); overflow-wrap: anywhere; }
.contato__lista small {
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.contato__lista a { color: var(--cor-escura); text-decoration: none; }
.contato__lista a:hover { color: var(--cor-primaria); text-decoration: underline; }
.contato__rotulo { margin-bottom: 0; font-size: var(--fs-realce); font-weight: var(--peso-forte); letter-spacing: var(--espacado); text-transform: uppercase; }
.redes--claro a { border-color: var(--cor-clara); color: var(--cor-primaria); }
.redes--claro a:hover { border-color: var(--cor-primaria); color: var(--cor-primaria); }
.contato__nota { margin-top: var(--esp-4); font-size: var(--fs-realce); }
@media (min-width: 960px) { .passos--3 { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Página: Política de Privacidade (texto longo) ---------- */
.topo-pagina--texto { min-height: 0; padding-block: clamp(72px, 10vw, 112px) clamp(48px, 6vw, 72px); }
.texto-legal { max-width: 760px; margin-inline: auto; }
.texto-legal h2 { margin: var(--esp-6) 0 var(--esp-2); font-size: var(--fs-secundaria); letter-spacing: -.01em; scroll-margin-top: calc(var(--cabecalho-h) + 24px); }
.texto-legal h3 { margin: var(--esp-4) 0 var(--esp-1); font-size: var(--fs-texto); }
.texto-legal p, .texto-legal li { color: var(--cor-secundaria); }
.texto-legal strong { color: var(--cor-escura); font-weight: var(--peso-forte); }
.texto-legal ul { display: grid; gap: 8px; margin-bottom: var(--esp-3); }
.texto-legal__sumario { margin-bottom: var(--esp-5); padding: var(--esp-3) 0; border-block: var(--linha); }
.texto-legal__sumario-titulo {
  margin-bottom: var(--esp-1);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
}
.texto-legal__sumario ol { columns: 2 220px; column-gap: var(--esp-4); margin: 0; padding-left: 1.25em; }
.texto-legal__sumario li { padding-block: 4px; break-inside: avoid; }
.texto-legal__sumario a { text-decoration: none; }
.texto-legal__sumario a:hover { text-decoration: underline; }

/* ---------- Template: Post único (artigo do blog) ---------- */
.artigo__cabeca { padding-block: clamp(56px, 8vw, 96px) var(--esp-5); text-align: center; }
.artigo__cabeca .container { max-width: calc(760px + var(--gutter) * 2); }
.artigo__cabeca .breadcrumb ol { justify-content: center; }
.artigo__cabeca h1 { margin-bottom: var(--esp-3); }
.artigo__categoria {
  display: inline-block;
  margin-bottom: var(--esp-2);
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
  text-decoration: none;
}
.artigo__categoria:hover { color: var(--cor-primaria); }
.artigo__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; margin: 0; font-size: var(--fs-realce); color: var(--cor-secundaria); }
.artigo__capa { max-width: calc(1000px + var(--gutter) * 2); }
.artigo__corpo { max-width: 760px; margin-inline: auto; padding-block: var(--esp-5) var(--secao-y); }
.artigo__conteudo { font-size: var(--fs-texto); }
.artigo__conteudo p, .artigo__conteudo li { color: var(--cor-secundaria); }
.artigo__conteudo strong { color: var(--cor-escura); font-weight: var(--peso-forte); }
.artigo__conteudo .artigo__abertura { font-size: var(--fs-secundaria); line-height: 1.6; color: var(--cor-escura); }
.artigo__conteudo h2 { margin: var(--esp-6) 0 var(--esp-2); font-size: var(--fs-secundaria); letter-spacing: -.01em; scroll-margin-top: calc(var(--cabecalho-h) + 24px); }
.artigo__conteudo h3 { margin: var(--esp-4) 0 var(--esp-1); font-size: var(--fs-texto); }
.artigo__conteudo ul { display: grid; gap: 10px; margin-bottom: var(--esp-3); }
.artigo__cta { margin: var(--esp-5) 0; padding: var(--esp-4); background: var(--cor-escura); border-radius: var(--raio); }
.artigo__conteudo .artigo__cta p { color: var(--cor-clara); }
.artigo__conteudo .artigo__cta .artigo__cta-titulo { margin-bottom: var(--esp-1); font-size: var(--fs-secundaria); font-weight: var(--peso-forte); line-height: var(--lh-titulo); color: var(--cor-fundo); }
.artigo__cta .btn { margin-top: var(--esp-2); }
.artigo__figura { margin: var(--esp-4) 0; }
.artigo__figura figcaption { margin-top: var(--esp-1); font-size: var(--fs-realce); color: var(--cor-secundaria); }
.faq--artigo { max-width: none; }
.faq--artigo .faq__resposta { padding-right: 0; }

/* ---------- Post único montado com widgets dinâmicos do Elementor ---------- */
/* Classes CSS colocadas em Avançado > Classes CSS de cada container/widget */
.artigo__capa img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--raio); }
.artigo__cabeca .elementor-icon-list-items { justify-content: center; }
.artigo__cabeca .elementor-icon-list-text,
.artigo__cabeca .rt-reading-time { font-size: var(--fs-realce); color: var(--cor-secundaria); }
.artigo__categoria .elementor-icon-list-text,
.artigo__categoria a {
  font-size: var(--fs-realce);
  font-weight: var(--peso-forte);
  letter-spacing: var(--espacado);
  text-transform: uppercase;
  color: var(--cor-secundaria);
  text-decoration: none;
}
.artigo__cabeca .rank-math-breadcrumb p { margin: 0 0 var(--esp-4); font-size: var(--fs-realce); color: var(--cor-secundaria); }
.artigo__cabeca .rank-math-breadcrumb a { text-decoration: none; }

/* ---------- Template: Arquivo (listagem do blog) ---------- */
.atalhos--filtro { justify-content: flex-start; margin-bottom: var(--esp-5); }
.btn--ativo { background: var(--cor-primaria); color: var(--cor-fundo); }
.blog__destaque { margin-bottom: var(--esp-6); padding-bottom: var(--esp-6); border-bottom: var(--linha); }
@media (min-width: 960px) {
  .card-blog--destaque { display: grid; grid-template-columns: 7fr 5fr; gap: 72px; align-items: center; }
  .card-blog--destaque .card-blog__corpo { padding-top: 0; }
}
.card-blog--destaque .card-blog__titulo { font-size: var(--fs-primaria); letter-spacing: -.025em; }
.card-blog__meta { margin-top: var(--esp-2); font-size: var(--fs-realce); color: var(--cor-secundaria); }
/* Paginação: separada da grade e com movimento */
.paginacao {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 96px;
  padding-top: 40px;
  border-top: var(--linha);
}
.paginacao__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 52px;
  height: 52px;
  padding: 0 16px;
  border: var(--linha);
  border-radius: var(--raio);
  background: linear-gradient(var(--cor-primaria), var(--cor-primaria)) center bottom / 100% 0 no-repeat;
  font-size: .875rem;
  font-weight: var(--peso-forte);
  color: var(--cor-primaria);
  text-decoration: none;
  transition: background-size .35s ease, color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
a.paginacao__item:hover, a.paginacao__item:focus-visible {
  background-size: 100% 100%;
  border-color: var(--cor-primaria);
  color: var(--cor-fundo);
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(46, 22, 16, .12);
}
.paginacao__item--atual {
  background: var(--cor-escura);
  border-color: var(--cor-escura);
  color: var(--cor-fundo);
  box-shadow: 0 10px 24px rgba(46, 22, 16, .18);
}
.paginacao__item--atual::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cor-primaria);
  transform: translateX(-50%);
}
.paginacao__item--pontos { min-width: 32px; padding: 0; border-color: transparent; background: none; color: var(--cor-secundaria); }
.paginacao__anterior, .paginacao__proxima { padding: 0 24px; font-size: var(--fs-realce); letter-spacing: var(--espacado); text-transform: uppercase; }
.paginacao__anterior { margin-right: auto; }
.paginacao__proxima { margin-left: auto; }
.paginacao__anterior::before { content: "←"; font-size: 1rem; transition: transform .35s ease; }
.paginacao__proxima::after { content: "→"; font-size: 1rem; transition: transform .35s ease; }
a.paginacao__anterior:hover::before { transform: translateX(-4px); }
a.paginacao__proxima:hover::after { transform: translateX(4px); }
.paginacao__item--desativado { opacity: .35; pointer-events: none; }
@media (max-width: 767px) {
  .paginacao { gap: 8px; margin-top: 64px; padding-top: 28px; }
  .paginacao__item { min-width: 44px; height: 44px; padding: 0 12px; }
  /* quebra de linha: números em cima, Anterior e Próxima lado a lado embaixo */
  .paginacao::before { content: ""; order: 1; flex-basis: 100%; height: 0; }
  .paginacao__anterior, .paginacao__proxima { order: 2; flex: 1 1 calc(50% - 4px); margin: 8px 0 0; }
}

/* ---------- Página: Início ---------- */
.boas-vindas__texto p { color: var(--cor-secundaria); }
.boas-vindas__texto .btn { margin-top: var(--esp-3); }/* End custom CSS */