@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');

:root {
  --preto: #11110f;
  --topo: #484745;
  --dourado: #c9892b;
  --fundo: #f7f5f1;
  --claro: #fbfaf8;
  --texto: #20201e;
  --suave: #6d6b67;
  --borda: #e4e0d9;
  --raio: 12px;
  --topbar: 68px;
  --fonte-titulos: 'Montserrat', sans-serif;
  --fonte-texto: 'Manrope', 'Inter', Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-texto);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button, input, select { font: inherit; color: inherit; }
a { color: inherit; }
img { max-width: 100%; }

/* ==================================================
   TIPOGRAFIA & ALINHAMENTOS TÉCNICOS
================================================== */
h1, h2, h3, h4, h5, h6, 
.menu-principal a, .menu-link, 
.botao-preto, .botao-secundario,
.resultado-cabecalho strong, 
.tab, .contato-botao, .titulo-secao, 
.contato-tipo {
  font-family: var(--fonte-titulos);
}

.linha-dimensao-tecnica span, 
.linha-dimensao-tecnica strong,
.linha-especificacao span, 
.peso-produto, .codigo-produto, 
.dimensao-item strong,
.documento-informacoes small {
  font-variant-numeric: tabular-nums;
}

/* ==================================================
   TOP BAR
================================================== */
header.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: var(--topbar) !important;
  min-height: var(--topbar) !important;
  padding: 0 clamp(18px, 2vw, 32px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px !important;
  background: #181816 !important;
  border-bottom: 2px solid var(--dourado) !important;
  box-shadow: 0 6px 18px #00000030 !important;
}

.topbar-logos {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-shrink: 0 !important;
}

.logo-club { width: 110px !important; max-width: 165px !important; height: 50px !important; max-height: 50px !important; object-fit: contain !important; }
.logo-info { width: 120px !important; max-width: 120px !important; height: 80px !important; max-height: 80px !important; object-fit: contain !important; }
.separador-logo { width: 1px !important; height: 38px !important; background: #ffffff4d !important; }

.topbar-identidade {
  width: clamp(180px, 16vw, 250px);
  min-width: 0;
  display: grid;
  gap: 3px;
  color: #fff;
}

.topbar-identidade strong {
  font-family: var(--fonte-titulos);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: .015em;
}

.topbar-identidade span {
  color: rgba(255,255,255,.68);
  font-size: 9px;
  line-height: 1.35;
}

/* Botão de Favoritos da Topbar */
.btn-favoritos-nav {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  padding: 8px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--fonte-titulos);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ffffff !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.btn-favoritos-nav:hover {
  border-color: var(--dourado);
  background: rgba(255, 255, 255, 0.1);
  color: #e7b76c !important;
}

.btn-favoritos-nav svg {
  stroke: var(--dourado);
}

.btn-favoritos-nav .badge {
  background: var(--dourado);
  color: #fff;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 700;
  min-width: 20px;
  text-align: center;
}

.menu-mobile { display: none; width: 42px !important; height: 42px !important; border: 1px solid #ffffff38 !important; border-radius: 8px !important; background: #ffffff0d !important; color: #fff !important; font-size: 24px; cursor: pointer; }

/* ==================================================
   CATÁLOGO E SIDEBAR
================================================== */
.catalogo {
  display: grid;
  grid-template-columns: 365px minmax(0, 1fr);
  min-height: calc(100vh - var(--topbar));
  border-bottom: 1px solid var(--borda);
}

.sidebar {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: var(--topbar);
  align-self: start;
  height: calc(100vh - var(--topbar));
  padding: 24px 18px;
  overflow: hidden;
  background: var(--claro);
  border-right: 1px solid var(--borda);
}

.bloco-busca { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 8px; }
.campo-busca { position: relative; }
.campo-busca input { width: 100%; height: 42px; padding: 0 44px 0 14px; border: 1px solid var(--borda); border-radius: 9px; outline: none; background: #fff; font-size: 12px; }
.campo-busca input:focus { border-color: var(--dourado); box-shadow: 0 0 0 3px #c9892b1f; }
.icone-busca { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); font-size: 24px; pointer-events: none; }
.botao-filtro { width: 42px; height: 42px; border: 1px solid var(--borda); border-radius: 9px; background: #fff; cursor: pointer; font-size: 20px; }

.painel-filtros { flex: 0 0 auto; margin-top: 18px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; overflow: hidden; max-height: 430px; opacity: 1; transition: max-height .25s ease, opacity .2s ease; }
.painel-filtros.fechado { max-height: 0; opacity: 0; border-width: 0; margin-top: 0; }
.grupo-filtro { padding: 14px; border-bottom: 1px solid var(--borda); }
.grupo-filtro h2 { margin: 0 0 10px; font-size: 10px; text-transform: uppercase; }
.opcoes-filtro { display: grid; gap: 8px; }
.opcao-filtro { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 7px; align-items: center; font-size: 10px; cursor: pointer; }
.opcao-filtro input { accent-color: #315f9f; }
.opcao-filtro small { color: var(--suave); font-size: 9px; }
.limpar-filtros { width: calc(100% - 24px); margin: 12px; padding: 10px; border: 1px solid var(--borda); border-radius: 8px; background: #fff; font-size: 9px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.limpar-filtros:hover { border-color: var(--dourado); color: #a96711; }

.resultado-cabecalho { flex: 0 0 auto; margin: 21px 0 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.resultado-cabecalho strong { font-size: 9px; text-transform: uppercase; }
.ordenacao { display: flex; gap: 4px; color: var(--suave); font-size: 9px; white-space: nowrap; }
.ordenacao select { max-width: 112px; border: 0; outline: none; background: transparent; font-size: 9px; font-weight: 600; }

.lista-produtos { flex: 1 1 0; min-height: 220px; max-height: none; overflow-x: hidden; overflow-y: auto; scroll-padding-block: 8px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; scrollbar-gutter: stable; overscroll-behavior: contain; }
.produto { width: 100%; min-height: 88px; padding: 10px 12px; display: grid; grid-template-columns: 88px minmax(0, 1fr) 20px; gap: 11px; align-items: center; border: 0; border-bottom: 1px solid var(--borda); background: #fff; text-align: left; cursor: pointer; }
.produto:last-child { border-bottom: 0; }
.produto:hover { background: #fdfbf7; }
.produto.ativo { background: #fffdf9; box-shadow: inset 0 0 0 1px var(--dourado); }
.produto-imagem { width: 88px; height: 64px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 7px; background: #f3f1ed; }
.produto-imagem img { width: 100%; height: 100%; object-fit: contain; }
.produto-informacoes { min-width: 0; overflow: hidden; }
.produto-informacoes h3 { width: 100%; margin: 0 0 4px; overflow: hidden; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.produto-informacoes p { width: 100%; margin: 2px 0; overflow: hidden; color: var(--suave); font-size: 9px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.produto-favorito { width: 20px; align-self: center; justify-self: center; color: var(--dourado); font-size: 16px; }

.carregando, .sem-resultados { padding: 30px 18px; color: var(--suave); text-align: center; font-size: 13px; }

/* ==================================================
   ÁREA DO PRODUTO (LAYOUT EDITORIAL)
================================================== */
.detalhes { overflow: hidden; background: var(--fundo); }
.estado-vazio { min-height: 600px; padding: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--suave); text-align: center; }

.produto-hero {
  display: grid;
  grid-template-columns: minmax(285px, 42%) minmax(0, 58%);
  gap: 24px;
  padding: 24px 36px 0px; 
  align-items: start;
}

.produto-resumo {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.badge { display: inline-flex; width: fit-content; padding: 4px 11px; border: 1px solid var(--preto); border-radius: 999px; font-size: 8px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.produto-resumo .nome-produto { margin: 16px 0 8px; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.1; letter-spacing: -.02em; overflow-wrap: normal; word-break: normal; }
.produto-identificacao { font-size: 13px; line-height: 1.4; color: var(--suave); margin-bottom: 12px;}
.codigo-produto { color: var(--suave); font-size: 10px; text-transform: uppercase; margin-top: 8px; display: block; }

/* CARDS DE DESTAQUE COM RÓTULO ACIMA E INFORMAÇÃO ABAIXO */
.produto-resumo .destaques {
  width: 100%;
  margin-top: 24px;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px 14px;
  align-items: start;
}

.produto-resumo .destaque {
  width: 100% !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  border: none !important;
  background: transparent !important;
  text-align: left;
}

.produto-resumo .destaque-icone {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none !important;
  border-radius: 50%;
  background: #ebe8e2 !important; 
  color: var(--texto);
}

.produto-resumo .destaque-icone svg { width: 15px; height: 15px; fill: none !important; stroke: currentColor !important; stroke-width: 1.6; }

/* Estrutura vertical rígida do texto do destaque */
.produto-resumo .destaque-texto {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 3px !important;
}

/* 1º: Rótulo técnico (VOLTAGEM, CAPACIDADE, COR) - Em cima e em negrito */
.produto-resumo .destaque-texto small,
.destaque-rotulo {
  order: 1 !important;
  display: block !important;
  font-family: var(--fonte-titulos) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--texto) !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* 2º: Informação retornada (Bivolt, 12 garrafas, Preto...) - Embaixo e regular */
.produto-resumo .destaque-texto small, 
.produto-resumo .destaque-valor {
  order: 2 !important;
  display: block !important;
  font-family: var(--fonte-texto) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--suave) !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

/* Botões de Ação */
.acoes {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 12px !important;
  align-items: center !important;
  width: 100%;
  margin-top: 24px;
  padding-top: 0;
  border-top: none !important;
}

.botao-preto {
  min-width: 220px !important;
  min-height: 42px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--preto);
  border-radius: 6px !important;
  background: var(--preto);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.botao-preto:hover { opacity: 0.85; }

.botao-secundario {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid var(--borda);
  border-radius: 6px;
  background: transparent;
  color: var(--texto);
  text-decoration: none;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.botao-secundario:hover { background: #fff; border-color: var(--dourado); }
.botao-secundario.ativo { border-color: var(--dourado); background: #fffaf2; color: #a96711; }

/* Galeria */
.produto-media {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  align-items: stretch !important;
  min-width: 0;
}

.produto-imagem-principal {
  flex: 1;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--raio);
  background: transparent !important;
}
.produto-imagem-principal img { width: 100%; height: 100%; max-height: 400px; object-fit: contain; object-position: center; mix-blend-mode: multiply; }

.galeria-miniaturas {
  display: flex;
  flex-direction: column !important;
  gap: 8px;
  width: 62px;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 4px 0 0 !important;
  scrollbar-width: thin;
}

.miniatura {
  width: 62px;
  height: 48px;
  flex: 0 0 48px;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid transparent; 
  border-radius: 7px;
  background: #f1efeb;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}
.miniatura:hover, .miniatura.ativo {
  opacity: 1;
  border-color: var(--dourado);
  box-shadow: none;
}
.miniatura img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }

/* ==================================================
   ÁREA TÉCNICA E ABAS
================================================== */
.area-tecnica { padding: 4px 36px 40px; } 
.tabs { display: flex; align-items: center; gap: clamp(24px, 3.2vw, 52px); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; border-bottom: 1px solid var(--borda); }
.tabs::-webkit-scrollbar { display: none; }
.tab { position: relative; min-height: 50px; padding: 0 3px; border: 0; background: transparent; color: var(--suave); font-size: 11px; font-weight: 700; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.tab::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; }
.tab.ativo { color: var(--texto); }
.tab.ativo::after { background: var(--dourado); }

.painel-tab { display: none; padding-top: 16px; } 
.painel-tab.ativo { display: block; }

.tabela-especificacoes, .card-dimensoes, .card-documentos, .card-instalacao, .card-marca, .card-dimensoes .tabela-dimensoes-tecnicas {
  min-width: 0;
  overflow: hidden;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.grade-tecnica { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }

/* Portáteis: conteúdo prático no lugar da blocagem e das medidas de projeto */
.card-portatil {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 12px;
  background: #fff;
}

.portatil-ambiente {
  position: relative;
  min-height: 230px;
  margin: 0;
  overflow: hidden;
  background: #f3f5f8;
}

.portatil-ambiente img {
  width: 100%;
  height: 100%;
  min-height: 230px;
  max-height: 340px;
  display: block;
  object-fit: cover;
}

.portatil-ambiente figcaption {
  position: absolute;
  right: 14px;
  bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(18, 39, 82, .86);
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.portatil-conteudo {
  padding: 20px;
}

.card-portatil.sem-imagem .portatil-conteudo {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.portatil-kicker {
  display: block;
  margin-bottom: 5px;
  color: #d71920;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.portatil-conteudo h3 {
  margin: 0 0 16px;
  color: var(--texto);
  font-family: var(--fonte-titulos);
  font-size: 20px;
  line-height: 1.2;
}

.portatil-resumo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--borda);
  border-left: 1px solid var(--borda);
}

.portatil-resumo > div {
  min-width: 0;
  padding: 12px;
  display: grid;
  gap: 4px;
  border-right: 1px solid var(--borda);
  border-bottom: 1px solid var(--borda);
}

.portatil-resumo span {
  color: var(--suave);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.portatil-resumo strong {
  overflow-wrap: anywhere;
  color: var(--texto);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

.portatil-conteudo > p {
  margin: 14px 0 0;
  color: var(--suave);
  font-size: 10px;
  line-height: 1.55;
}

.linha-especificacao {
  display: grid;
  grid-template-columns: minmax(140px, 40%) minmax(0, 60%);
  border-bottom: 1px solid var(--borda) !important;
}
.linha-especificacao span {
  padding: 12px 0 !important;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.4;
  background: transparent !important;
  border: none !important;
}
.linha-especificacao span:first-child { font-weight: 600; color: var(--texto); }
.linha-especificacao span:last-child { font-weight: 400; color: var(--suave); }

@media (max-width: 680px) {
  .portatil-resumo { grid-template-columns: 1fr; }
  .portatil-ambiente,
  .portatil-ambiente img { min-height: 190px; }
  .portatil-conteudo { padding: 16px; }
  .card-portatil.sem-imagem .portatil-conteudo { min-height: 0; }
}

/* Área de Dimensões */
.card-dimensoes .dimensoes-tecnicas {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(250px, 1.2fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.card-dimensoes .desenho-dimensoes {
  width: 100% !important;
  height: auto !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.card-dimensoes .diagrama-produto {
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
}

.dimensoes-subtitulo {
  margin: 0 0 12px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--borda);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.linha-dimensao-tecnica {
  display: grid;
  grid-template-columns: minmax(120px, 50%) minmax(0, 50%);
  border-bottom: 1px solid var(--borda) !important;
}
.linha-dimensao-tecnica:last-child { border-bottom: none !important; }

.linha-dimensao-tecnica strong, .linha-dimensao-tecnica span {
  margin: 0;
  padding: 10px 0 !important;
  font-size: 11px;
  background: transparent !important;
  border: none !important;
}
.linha-dimensao-tecnica strong { font-weight: 600; color: var(--texto); }
.linha-dimensao-tecnica span { font-weight: 400; color: var(--suave); text-align: left; }
.card-dimensoes .peso-produto { padding: 10px 0 !important; font-size: 11px; border-top: 1px solid var(--borda); margin-top: 6px;}

/* Documentos */
.lista-documentos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.documento-link { min-height: 54px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--borda); border-radius: 8px; background: #fff; text-decoration: none; transition: border-color 0.2s ease; }
.documento-link:hover { border-color: var(--dourado); }
.documento-informacoes { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.documento-informacoes strong { font-size: 11px; color: var(--texto); }
.documento-informacoes small { font-size: 10px; color: var(--suave); }
.documento-acao { flex-shrink: 0; color: var(--dourado); font-size: 9px; font-weight: 700; text-transform: uppercase; }

/* Observações Importantes */
.aviso { margin-top: 24px; padding: 16px; display: flex; gap: 14px; border-radius: 10px; background: linear-gradient(90deg, #fbf2e4, #f4ede3); }
.aviso-icone { color: var(--dourado); font-size: 20px; }
.aviso strong { display: block; margin-bottom: 6px; font-size: 10px; text-transform: uppercase; }
.aviso p { margin: 0; color: #57534e; font-size: 10px; line-height: 1.6; }

/* ==================================================
   CONTATO & FOTOS CENTRALIZADAS
================================================== */
.secao-contato { padding: 60px 4%; scroll-margin-top: calc(var(--topbar) + 20px); background: #f1eee8; }
.contato-cabecalho { max-width: 620px; margin: 0 auto 36px; text-align: center; }
.contato-etiqueta { display: inline-flex; padding: 5px 12px; border: 1px solid var(--preto); border-radius: 999px; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.contato-cabecalho h2 { margin: 16px 0 8px; font-size: clamp(25px, 3vw, 36px); letter-spacing: -0.035em; }
.contato-cabecalho p { margin: 0; color: var(--suave); font-size: 13px; }
.contato-grade { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.contato-card { padding: 24px; display: grid; grid-template-columns: 50px minmax(0, 1fr); align-items: start; gap: 16px; border: 1px solid var(--borda); border-radius: 8px; background: var(--claro); transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.contato-card:hover { transform: translateY(-3px); border-color: var(--dourado); box-shadow: 0 12px 28px #0000000d; }

.contato-icone {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #fff;
  border: 1px solid var(--borda);
  flex-shrink: 0;
}

.contato-icone.contato-foto {
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid var(--dourado) !important;
  background: #ece8e1 !important;
}

.contato-icone.contato-foto img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  display: block !important;
}

.contato-conteudo { display: flex; flex-direction: column; min-height: 150px; }
.contato-tipo { color: var(--dourado); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.contato-card h3 { margin: 6px 0 8px; font-size: 18px; }
.contato-card p { margin: 0 0 16px; color: var(--suave); font-size: 11px; line-height: 1.55; }
.contato-botao { width: 100%; min-height: 38px; margin-top: auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--preto); border-radius: 6px; background: var(--preto); color: #fff; text-decoration: none; font-size: 9px; font-weight: 700; text-transform: uppercase; transition: background 0.2s, border-color 0.2s; }
.contato-botao:hover { border-color: var(--dourado); background: var(--dourado); }

/* Rodapé em 4 colunas equilibradas */
.rodape { 
  padding: 32px 4%; 
  display: grid; 
  grid-template-columns: repeat(4, minmax(0, 1fr)); 
  gap: 32px; 
  background: var(--claro); 
  border-top: 1px solid var(--borda); 
}
.beneficio { display: grid; grid-template-columns: 25px 1fr; gap: 12px; }
.beneficio-icone { font-size: 22px; color: var(--suave); }
.beneficio strong { display: block; margin-bottom: 5px; font-size: 10px; color: var(--texto); text-transform: uppercase; }
.beneficio p { margin: 0; color: var(--suave); font-size: 10px; line-height: 1.5; }

.download-catalogo { display: none !important; }

/* ==================================================
   GAVETA LATERAL & EXPORTAÇÃO PDF
================================================== */
.drawer-favoritos {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  height: 100vh;
  background: #ffffff;
  box-shadow: -4px 0 20px rgba(0,0,0,0.08);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.drawer-favoritos.hidden {
  transform: translateX(100%);
}

.drawer-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}

.drawer-content {
  padding: 20px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
}

.item-fav {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #f2f2f2;
  padding-bottom: 12px;
}

.item-fav img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.item-fav .item-info {
  flex: 1;
  min-width: 0;
}

.item-fav .item-info h4 {
  font-size: 13px;
  margin: 0;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-remove-item {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #999;
}
.btn-remove-item:hover { color: #111; }

.drawer-footer {
  padding: 20px;
  border-top: 1px solid var(--borda);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.btn-gerar-pdf {
  width: 100%;
  padding: 12px;
  background: var(--preto);
  border: 1px solid var(--preto);
  color: #fff;
  border-radius: 6px;
  font-family: var(--fonte-titulos);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.btn-gerar-pdf:hover {
  background: var(--dourado);
  border-color: var(--dourado);
}

/* ==================================================
   RESPONSIVIDADE (MOBILE & TABLET AJUSTADOS)
================================================== */
@media (max-width: 1250px) {
  .catalogo { grid-template-columns: 340px minmax(0, 1fr); }
}

@media (max-width: 1100px) {
  .produto-hero { grid-template-columns: minmax(280px, 45%) minmax(0, 55%); padding: 24px; }
  .grade-tecnica { grid-template-columns: 1fr; }
  .rodape { grid-template-columns: repeat(2, 1fr); }
}

/* ==================================================
   RESPONSIVIDADE (MOBILE & TABLET CORRIGIDOS)
================================================== */
@media (max-width: 1250px) {
  .catalogo { grid-template-columns: 340px minmax(0, 1fr); }
}

@media (max-width: 1100px) {
  .produto-hero { grid-template-columns: minmax(280px, 45%) minmax(0, 55%); padding: 24px; }
  .grade-tecnica { grid-template-columns: 1fr; }
  .rodape { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  :root { --topbar: 64px; }

  /* Topbar ajustada para não quebrar no celular */
  header.topbar {
    padding: 0 14px !important;
    gap: 10px !important;
    height: var(--topbar) !important;
    min-height: var(--topbar) !important;
    justify-content: space-between !important;
  }

  .topbar-logos {
    gap: 10px !important;
  }

  .logo-club {
    width: 105px !important;
    max-width: 105px !important;
    height: 32px !important;
  }

  .logo-info {
    width: 58px !important;
    max-width: 58px !important;
    height: 28px !important;
  }

  .separador-logo {
    height: 24px !important;
  }

  /* Botão de favoritos compacto */
  .btn-favoritos-nav {
    padding: 6px 10px !important;
    font-size: 9px !important;
    gap: 6px !important;
    letter-spacing: 0.02em !important;
  }

  .btn-favoritos-nav span:first-of-type {
    display: none;
  }

  .btn-favoritos-nav::before {
    content: "ITENS";
    font-size: 9px;
    font-weight: 700;
  }

  .btn-favoritos-nav .badge {
    padding: 2px 6px !important;
    font-size: 9px !important;
  }

  .menu-mobile {
    display: none !important;
  }

  /* Estrutura geral em coluna */
  .catalogo {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Sidebar destravada */
  .sidebar {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 16px 14px 14px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--borda) !important;
    background: #fbfaf8 !important;
  }

  .bloco-busca {
    grid-template-columns: minmax(0, 1fr) 42px;
  }

  /* CORREÇÃO DO CATÁLOGO: altura definida e rolagem suave vertical */
  .lista-produtos {
    display: flex !important;
    flex-direction: column !important;
    flex: none !important;
    width: 100% !important;
    height: 280px !important; /* Garante que os cards apareçam com espaço para rolar */
    max-height: 280px !important;
    min-height: 280px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border: 1px solid var(--borda) !important;
    border-radius: 10px !important;
    background: #fff !important;
    margin-top: 10px !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  /* Cards de produto dentro da lista */
  .produto {
    width: 100% !important;
    min-height: 78px !important;
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) 22px !important;
    gap: 10px !important;
    align-items: center !important;
    border: none !important;
    border-bottom: 1px solid var(--borda) !important;
    background: #fff !important;
    text-align: left !important;
  }

  .produto:last-child {
    border-bottom: none !important;
  }

  .produto-imagem {
    width: 70px !important;
    height: 54px !important;
  }

  .produto-informacoes h3 {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .produto-informacoes p {
    font-size: 9px !important;
  }

  /* Área do Produto Selecionado */
  .produto-hero {
    display: flex !important;
    flex-direction: column-reverse !important; /* Foto em cima, título/dados embaixo */
    padding: 20px 16px 0 !important;
    gap: 18px !important;
  }

  .produto-media {
    width: 100% !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .produto-imagem-principal {
    min-height: 260px !important;
    max-height: 300px !important;
  }

  .produto-imagem-principal img {
    max-height: 280px !important;
  }

  .galeria-miniaturas {
    flex-direction: row !important;
    width: 100% !important;
    max-height: none !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }

  .miniatura {
    width: 52px !important;
    height: 44px !important;
    flex: 0 0 52px !important;
  }

  .produto-resumo .nome-produto {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .produto-resumo .destaques {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
  }

  /* Botões de Ação no Mobile */
  .acoes {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }

  .botao-preto,
  .botao-secundario {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 11px !important;
  }

  /* Abas Técnicas */
  .area-tecnica {
    padding: 20px 16px 36px !important;
  }

  .tabs {
    position: sticky !important;
    top: var(--topbar) !important;
    z-index: 50 !important;
    background: var(--fundo) !important;
    gap: 18px !important;
    margin: 0 -16px 16px !important;
    padding: 0 16px !important;
  }

  .tab {
    font-size: 10px !important;
    min-height: 44px !important;
  }

  .card-dimensoes .dimensoes-tecnicas {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .card-dimensoes .diagrama-produto {
    max-width: 260px !important;
    margin: 0 auto !important;
  }

  /* Seção de Contato */
  .secao-contato {
    padding: 40px 16px !important;
  }

  .contato-grade {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .contato-card {
    padding: 18px !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }

  /* Rodapé */
  .rodape {
    grid-template-columns: 1fr !important;
    padding: 28px 16px !important;
    gap: 20px !important;
  }

  /* Gaveta Lateral de Favoritos em tela cheia no celular */
  .drawer-favoritos {
    width: 100% !important;
  }
}

/* ==================================================
   AÇÕES DO PRODUTO — DESKTOP E TABLET NA MESMA LINHA
================================================== */
@media (min-width: 601px) {
  .produto-resumo .acoes {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .produto-resumo .acoes > .botao-preto,
  .produto-resumo .acoes > .botao-secundario {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 0 !important;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.15;
  }
}

/* No tablet, reduz apenas o respiro interno para os dois textos caberem. */
@media (min-width: 601px) and (max-width: 1100px) {
  .produto-resumo .acoes {
    gap: 8px !important;
  }

  .produto-resumo .acoes > .botao-preto,
  .produto-resumo .acoes > .botao-secundario {
    min-height: 42px !important;
    padding: 9px 6px !important;
    font-size: 8px !important;
    letter-spacing: 0 !important;
  }
}
/* Medidas de projeto extraídas dos manuais oficiais */
.tab-selo-ia {
  margin-left: 5px;
  padding: 2px 5px;
  border: 1px solid var(--dourado);
  border-radius: 999px;
  color: var(--dourado);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .05em;
}

.medidas-projeto-cabecalho {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
  margin-bottom: 18px;
}

.medidas-projeto-cabecalho h3 {
  margin: 7px 0 0;
  color: var(--texto);
  font-size: 20px;
}

.selo-ia {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid var(--dourado);
  border-radius: 999px;
  color: var(--dourado);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.fonte-medidas {
  display: grid;
  gap: 3px;
  max-width: 300px;
  color: var(--suave);
  font-size: 10px;
  text-align: right;
}

.fonte-medidas strong { color: var(--texto); }

.medidas-projeto-destaque {
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(290px, .65fr);
  gap: 16px;
  margin-bottom: 16px;
}

.medidas-projeto-desenho { margin: 0; }

.medidas-ia-grade {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.medidas-ia-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
}

.medidas-ia-card h4 {
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--borda);
  color: var(--texto);
  font-size: 11px;
  text-transform: uppercase;
}

.medida-ia-linha {
  min-height: 46px;
  display: grid;
  grid-template-columns: minmax(110px, 1.15fr) minmax(80px, .8fr) minmax(130px, 1fr);
  align-items: center;
  border-bottom: 1px solid var(--borda);
}

.medida-ia-linha:last-child { border-bottom: 0; }
.medida-ia-linha > * { padding: 9px 12px; }
.medida-ia-linha strong { color: var(--texto); font-size: 11px; }

.medida-ia-item {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  color: var(--texto);
  font-size: 10px;
  font-weight: 700;
}

.medida-ia-item small {
  color: var(--suave);
  font-size: 8px;
  font-weight: 500;
}

.medida-status {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  color: var(--suave);
  font-size: 8px;
}

.medida-status i,
.legenda-medidas i {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.medida-status.confirmado i,
.legenda-medidas i.confirmado { background: #26864e; }
.medida-status.revisar i,
.legenda-medidas i.revisar { background: #d99a2b; }
.medida-status.nao-localizado i,
.legenda-medidas i.nao-localizado { background: #8b8d91; }
.medida-status.nao-aplicavel i,
.legenda-medidas i.nao-aplicavel { background: #61708a; }

.resumo-validacao {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #d9dee8;
  border-left: 4px solid #173675;
  border-radius: 9px;
  background: #f6f8fc;
  color: var(--texto);
}

/* ==================================================
   DOWNLOAD GERAL DE MANUAIS
================================================== */
.secao-downloads-gerais {
  padding: 44px clamp(24px, 6vw, 96px);
  background: #fff;
  border-top: 1px solid var(--borda);
  border-bottom: 1px solid var(--borda);
}

.downloads-gerais-conteudo {
  width: min(100%, 980px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.downloads-gerais-etiqueta {
  margin-bottom: 9px;
  color: #263d7c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.downloads-gerais-conteudo h2 {
  margin: 0 0 8px;
  color: #10275f;
  font-family: var(--fonte-titulos);
  font-size: clamp(22px, 2.4vw, 32px);
}

.downloads-gerais-conteudo p {
  max-width: 650px;
  margin: 0 0 20px;
  color: var(--suave);
  font-size: 12px;
  line-height: 1.6;
}

.botao-download-manuais {
  min-height: 44px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #263d7c;
  border-radius: 8px;
  background: #263d7c;
  color: #fff;
  font-family: var(--fonte-titulos);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.botao-download-manuais:hover {
  border-color: #e32636;
  background: #e32636;
  transform: translateY(-1px);
}

.downloads-gerais-conteudo small {
  max-width: 620px;
  margin-top: 12px;
  color: #7a7f89;
  font-size: 9px;
  line-height: 1.5;
}

@media (min-width: 901px) {
  .secao-downloads-gerais {
    margin-left: 340px;
  }
}

@media (min-width: 1251px) {
  .secao-downloads-gerais {
    margin-left: 365px;
  }
}

@media (max-width: 560px) {
  .secao-downloads-gerais {
    padding: 34px 18px;
  }

  .botao-download-manuais {
    width: 100%;
  }
}
.resumo-validacao.revisao_necessaria { border-left-color: #d99a2b; background: #fffaf1; }
.resumo-validacao.dados_insuficientes { border-left-color: #8b8d91; background: #f7f7f7; }
.resumo-validacao > div:first-child { display: grid; gap: 3px; }
.resumo-validacao strong { font-size: 11px; }
.resumo-validacao span { color: var(--suave); font-size: 9px; }
.resumo-validacao-contagens { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.resumo-validacao-contagens span { padding: 5px 8px; border: 1px solid #dde1e9; border-radius: 999px; background: #fff; }
.resumo-validacao-contagens b { color: #173675; }

.observacoes-manual {
  margin-top: 16px;
  padding: 14px 16px;
  border-left: 3px solid var(--dourado);
  border-radius: 6px;
  background: #f8f4ed;
  color: var(--texto);
  font-size: 10px;
}

.observacoes-manual ul { margin: 8px 0 0; padding-left: 18px; }
.observacoes-manual li + li { margin-top: 5px; }

.legenda-medidas {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid var(--borda);
  border-radius: 9px;
  background: #fff;
  color: var(--texto);
  font-size: 9px;
}

.legenda-medidas span { display: inline-flex; gap: 7px; align-items: center; }

.aviso-ia {
  margin: 12px 0 0;
  color: var(--suave);
  font-size: 9px;
  text-align: center;
}

.medidas-projeto-vazio {
  margin-bottom: 16px;
  padding: 18px;
  border: 1px dashed var(--dourado);
  border-radius: 10px;
  background: #fbf7f0;
  color: var(--texto);
}

.medidas-projeto-vazio p { margin: 6px 0 0; color: var(--suave); font-size: 11px; }

.vistas-projeto-grade {
  display: grid;
  grid-template-columns: minmax(330px, 1fr) minmax(330px, 1fr) minmax(220px, .72fr);
  gap: 14px;
  margin-bottom: 16px;
}

.vista-projeto-card {
  min-width: 0;
  min-height: 410px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 10px;
  background: rgba(255, 255, 255, .8);
}

.vista-projeto-titulo {
  min-height: 58px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px 7px;
}

.vista-projeto-titulo div { display: grid; gap: 3px; }
.vista-projeto-titulo strong { color: var(--texto); font-size: 13px; text-transform: uppercase; }
.vista-projeto-titulo span, .vista-projeto-titulo small { color: var(--suave); font-size: 8px; }
.vista-projeto-titulo small { white-space: nowrap; }
.vista-tecnica-svg { width: 100%; height: 342px; display: block; }

.produto-frontal rect, .produto-frontal line,
.produto-topo-tecnico rect, .produto-topo-tecnico line, .produto-topo-tecnico circle,
.portas-planta path {
  fill: #f6f3ed;
  stroke: #292824;
  stroke-width: 1.8;
  stroke-linejoin: round;
}

.produto-frontal line, .produto-topo-tecnico line { fill: none; stroke-width: 1.35; }
.produto-topo-tecnico circle { fill: var(--dourado); }
.nicho-tecnico path { fill: none; stroke: #aaa49a; stroke-width: 1.1; stroke-dasharray: 6 4; }
.linhas-extensao path, .marcenaria-planta path, .cotas-planta path, .legenda-pivos path { fill: none; stroke: #8d887f; stroke-width: 1; }
.marcenaria-planta path { stroke-width: 1.35; }
.eixo-tecnico { stroke: #aaa49a; stroke-width: 1; stroke-dasharray: 7 5; }

.parede-planta rect { fill: url(#hachura-parede); stroke: #292824; stroke-width: 1; }
.parede-planta line { stroke: #292824; }
.parede-planta text, .nota-nicho {
  fill: #817c73;
  font-family: Inter, Arial, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  text-anchor: middle;
}

.portas-planta .arco-abertura { fill: none; stroke: #777168; stroke-width: 1.2; stroke-dasharray: 5 5; }
.cota-tecnica, .cotas-planta line { stroke: #25241f; stroke-width: 1.15; }
.vista-tecnica-svg marker path { fill: #25241f; }
.cota-valor, .cota-legenda, .angulo-porta {
  font-family: Inter, Arial, sans-serif;
  text-anchor: middle;
}
.cota-valor { fill: #22211d; font-size: 13px; font-weight: 800; }
.cota-legenda { fill: #777168; font-size: 8px; }
.angulo-porta { fill: #47443e; font-size: 10px; font-weight: 800; }
.cota-altura { transform: rotate(-90deg); transform-origin: 96px 193px; }
.cota-profundidade { transform: rotate(-90deg); transform-origin: 428px 144px; }
.cota-profundidade-aberta {
  transform: rotate(-90deg);
  transform-origin: 494px 186px;
}

.chamadas-tecnicas path { fill: none; stroke: var(--dourado); stroke-width: 1.15; }
.chamadas-tecnicas text, .legenda-pivos text {
  fill: #57534c;
  font-family: Inter, Arial, sans-serif;
  font-size: 8px;
}
.chamadas-tecnicas .destaque { fill: var(--dourado); font-size: 10px; font-weight: 800; }
.legenda-pivos text { text-anchor: middle; font-size: 7px; }

.vista-produto-real { display: flex; flex-direction: column; }
.vista-produto-real img {
  width: calc(100% - 34px);
  height: 315px;
  margin: 0 17px 16px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.vista-indisponivel {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  color: var(--suave);
  text-align: center;
}
.vista-indisponivel > span { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 50%; background: #919399; color: #fff; font-weight: 800; }
.vista-indisponivel strong { color: var(--texto); font-size: 12px; }
.vista-indisponivel p { max-width: 260px; margin: 7px 0 0; font-size: 9px; line-height: 1.5; }

@media (max-width: 1100px) {
  .vistas-projeto-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vista-produto-real { grid-column: 1 / -1; min-height: 320px; }
  .vista-produto-real img { height: 240px; }
  .medidas-projeto-destaque { grid-template-columns: 1fr; }
  .medidas-ia-grade { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .vistas-projeto-grade { grid-template-columns: 1fr; }
  .vista-produto-real { grid-column: auto; }
  .vista-projeto-card { min-height: 350px; }
  .vista-tecnica-svg { height: 290px; }
  .medidas-projeto-cabecalho { align-items: flex-start; flex-direction: column; }
  .fonte-medidas { text-align: left; }
  .medida-ia-linha { grid-template-columns: 1fr 1fr; }
  .medida-status { grid-column: 1 / -1; padding-top: 0; }
  .resumo-validacao { align-items: flex-start; flex-direction: column; }
  .resumo-validacao-contagens { justify-content: flex-start; }
}

/* ==================================================
   AJUSTE FINAL: BUSCA NO TOPO, CAMPANHA E DIMENSÕES
================================================== */
.busca-topbar {
  position: relative;
  flex: 0 1 440px;
  width: min(440px, 36vw);
  max-width: 440px;
  min-width: 240px;
  margin-inline: auto;
}

.busca-topbar input {
  width: 100%;
  height: 42px;
  padding: 0 46px 0 16px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 8px;
  outline: none;
  background: rgba(255,255,255,.055);
  color: #fff;
  font-size: 12px;
}

.busca-topbar input::placeholder { color: rgba(255,255,255,.68); }
.busca-topbar input:focus { border-color: var(--dourado); box-shadow: 0 0 0 3px rgba(201,137,43,.14); }
.busca-topbar .icone-busca { color: #dda43e; }

.controle-filtros-mobile {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--suave);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.sidebar > .painel-filtros { margin-top: 0; }

/* O SVG não pode herdar o preenchimento preto padrão do navegador. */
.card-dimensoes .forma-produto rect,
.card-dimensoes .forma-produto path,
.card-dimensoes .forma-produto circle,
.card-dimensoes .forma-produto ellipse {
  fill: #f5f2ec;
  stroke: #383631;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

.card-dimensoes .forma-produto line {
  fill: none;
  stroke: #383631;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

.card-dimensoes .forma-produto .tela-tv { fill: #fbfaf8; }
.card-dimensoes .forma-produto .porta-vidro {
  fill: #eef1f6;
  stroke: #383631;
}
.card-dimensoes .forma-cooktop ellipse { fill: none; }

.card-dimensoes .linhas-medidas line {
  stroke: var(--dourado);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.card-dimensoes .linhas-medidas text {
  fill: #25241f;
  font-family: var(--fonte-titulos);
  font-size: 13px;
  font-weight: 700;
}

.card-dimensoes .desenho-dimensoes {
  min-height: 225px;
  justify-content: center;
}

.card-dimensoes .diagrama-produto {
  display: block;
  width: min(100%, 300px) !important;
  max-height: 250px;
  overflow: visible;
}

.barra-campanha {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1400;
  min-height: 48px;
  padding: 4px clamp(28px, 7vw, 128px);
  display: grid;
  grid-template-columns: auto auto 1px minmax(230px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 14% 120%, rgba(180,119,37,.18), transparent 31%),
    radial-gradient(circle at 86% -30%, rgba(132,82,32,.2), transparent 27%),
    linear-gradient(105deg, #0c0c0b 0%, #171512 47%, #0b0b0a 100%);
  border-top: 1px solid rgba(213,157,67,.72);
  box-shadow: 0 -7px 24px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.035);
  color: #fff;
}

body:not(.campanha-fechada) {
  padding-bottom: 48px;
}

body:not(.campanha-fechada) { padding-bottom: 72px; }
.barra-campanha::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .16; background: repeating-linear-gradient(116deg, transparent 0 34px, rgba(255,255,255,.035) 35px, transparent 36px 70px); }
.campanha-selo { width: 38px; height: 38px; display: grid; place-items: center; color: #dfa947; border: 1px solid rgba(223,169,71,.46); border-radius: 50%; font-size: 23px; line-height: 1; }
.campanha-titulo { display: grid; gap: 3px; white-space: nowrap; }
.campanha-titulo span { color: rgba(255,255,255,.48); font-size: 7px; font-weight: 700; letter-spacing: .24em; }
.campanha-titulo strong { color: #e1ad4c; font-family: var(--fonte-titulos); font-size: 13px; letter-spacing: .24em; }
.campanha-separador { width: 1px; height: 34px; background: linear-gradient(transparent, rgba(225,173,76,.68), transparent); }
.barra-campanha p { margin: 0; color: rgba(255,255,255,.92); font-size: 12px; }
.barra-campanha p span { color: rgba(255,255,255,.52); }
.campanha-periodo { min-width: 155px; padding: 4px 18px 4px 20px; display: grid; gap: 3px; border-left: 1px solid rgba(225,173,76,.5); font-style: normal; white-space: nowrap; }
.campanha-periodo small { color: rgba(255,255,255,.46); font-size: 7px; font-weight: 700; letter-spacing: .16em; }
.campanha-periodo strong { color: #f0c873; font-family: var(--fonte-titulos); font-size: 15px; letter-spacing: .06em; }
.campanha-periodo i { color: rgba(255,255,255,.42); padding: 0 5px; font-style: normal; font-weight: 400; }
.campanha-fechar { width: 28px; height: 28px; border: 0; background: transparent; color: rgba(255,255,255,.42); font-size: 20px; cursor: pointer; transition: color .2s ease; }
.campanha-fechar:hover { color: #e1ad4c; }
.campanha-fechada .barra-campanha { display: none; }

.campanha-reabrir {
  position: fixed;
  right: 24px;
  bottom: 18px;
  z-index: 1401;
  min-height: 42px;
  padding: 7px 13px;
  display: none;
  grid-template-columns: auto auto auto auto;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(225,173,76,.62);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(13,13,12,.97), rgba(34,27,18,.97));
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  color: #e4b45a;
  cursor: pointer;
}
.campanha-reabrir span { font-size: 18px; }
.campanha-reabrir strong { font-family: var(--fonte-titulos); font-size: 9px; letter-spacing: .14em; }
.campanha-reabrir small { padding-left: 9px; border-left: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.72); font-size: 9px; }
.campanha-reabrir i { color: rgba(255,255,255,.55); font-size: 14px; font-style: normal; }
.campanha-reabrir:hover { border-color: #e4b45a; transform: translateY(-1px); }
.campanha-fechada .campanha-reabrir { display: grid; }

/* Top bar mais compacta e equilibrada */
header.topbar { gap: clamp(20px, 3vw, 48px) !important; background: linear-gradient(100deg, #151514, #1a1917 55%, #141413) !important; }
.topbar-logos { gap: 19px !important; }
.separador-logo { height: 34px !important; opacity: .72; }
.busca-topbar { flex-basis: 400px; width: min(400px, 33vw); max-width: 400px; }
.busca-topbar input { height: 40px; border-color: rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.045); }
.btn-favoritos-nav { border-color: rgba(255,255,255,.2) !important; background: rgba(255,255,255,.025) !important; }
.btn-favoritos-nav:hover { border-color: rgba(225,173,76,.65) !important; background: rgba(225,173,76,.07) !important; }

@media (max-width: 900px) {
  :root { --topbar: 118px; }
  header.topbar { flex-wrap: wrap !important; align-content: center !important; padding-block: 8px !important; }
  .busca-topbar { order: 3; flex-basis: 100%; width: 100%; max-width: none; }
  .busca-topbar input { height: 40px; }
  .controle-filtros-mobile { display: flex; }
  .painel-filtros { margin-top: 0; }
  .barra-campanha { position: static; grid-template-columns: auto 1fr auto; gap: 12px; padding: 13px 16px; }
  body:not(.campanha-fechada) { padding-bottom: 0; }
  .campanha-separador, .barra-campanha p { display: none; }
  .campanha-periodo { min-width: 142px; }
  .campanha-reabrir { right: 14px; bottom: 14px; }
}

@media (max-width: 540px) {
  :root { --topbar: 112px; }
  .top-actions { margin-left: auto; }
  .barra-campanha { grid-template-columns: auto 1fr; padding: 14px 18px; }
  .campanha-periodo { grid-column: 1 / -1; margin-left: 50px; padding-left: 14px; }
  .campanha-fechar { position: absolute; right: 4px; }
  .campanha-reabrir small { display: none; }
  .card-dimensoes .dimensoes-tecnicas { grid-template-columns: 1fr !important; }
  .card-dimensoes .desenho-dimensoes { min-height: 205px; }
}
/* =========================================
   REFINAMENTO DA BUSCA E TÍTULO DO PRODUTO
========================================= */

/* Barra de pesquisa */
.busca-topbar {
  position: relative;
}

.busca-topbar input {
  height: 40px;
  border: 1px solid rgba(225, 173, 76, 0.28);
  border-radius: 11px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.065),
      rgba(255, 255, 255, 0.025)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 4px 18px rgba(0, 0, 0, 0.14);
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.busca-topbar input:hover {
  border-color: rgba(225, 173, 76, 0.48);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.075),
      rgba(255, 255, 255, 0.03)
    );
}

.busca-topbar input:focus {
  border-color: rgba(225, 173, 76, 0.78);
  background: rgba(255, 255, 255, 0.055);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 3px rgba(201, 137, 43, 0.1),
    0 6px 22px rgba(0, 0, 0, 0.18);
}

.busca-topbar .icone-busca {
  color: #dfa947;
  opacity: 0.95;
}

/* Nome principal do produto */
.produto-resumo .nome-produto {
  max-width: 680px;
  margin: 17px 0 12px;
  font-family: var(--fonte-titulos);
  font-size: clamp(27px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: -0.035em;
  color: #191917;
  text-wrap: balance;
}

/* Marca e modelo abaixo do título */
.produto-identificacao {
  margin: 0 0 13px;
  color: #716d66;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.005em;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .produto-resumo .nome-produto {
    font-size: 25px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em;
  }
}
.produto-generico {
  fill: #f4f1eb;
  stroke: #393733;
  stroke-width: 2;
}

.nicho-generico {
  fill: none;
  stroke: #a89f91;
  stroke-width: 2;
  stroke-dasharray: 7 5;
}
.medidas-projeto-destaque-sem-blocagem {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* =========================================================
   CLUB ONE — FILTRO "MEDIDAS DO VÃO" (teste v1)
   ========================================================= */
.filtro-medidas-projeto {
  margin: 12px;
  padding: 14px;
  border: 1px solid #e2e6eb;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff 0%, #fbfbfc 100%);
  box-shadow: 0 8px 18px rgba(19, 31, 47, .05);
}

.filtro-medidas-cabecalho {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}

.filtro-medidas-kicker {
  display: block;
  margin-bottom: 2px;
  color: #d71920;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.filtro-medidas-cabecalho h3 {
  margin: 0;
  color: #172235;
  font-size: 12px;
  line-height: 1.2;
}

.filtro-medidas-tag {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f2f4f7;
  color: #596579;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.filtro-medidas-intro,
.filtro-medidas-nota {
  margin: 7px 0 10px;
  color: #667085;
  font-size: 8px;
  line-height: 1.45;
}

.filtro-tipo-produto {
  display: grid;
  gap: 5px;
  margin: 10px 0;
  color: #344054;
  font-size: 9px;
  font-weight: 700;
}

.filtro-tipo-produto select {
  width: 100%;
  height: 34px;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  background: #fff;
  color: #172235;
  font-size: 9px;
  font-weight: 600;
  outline: none;
  padding: 0 30px 0 9px;
}

.filtro-tipo-produto select:focus {
  border-color: #d71920;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, .09);
}

.filtro-medidas-campos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}

.filtro-medidas-campos label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px 20px;
  align-items: center;
  gap: 6px;
  color: #344054;
  font-size: 9px;
  font-weight: 700;
}

.filtro-medidas-campos input {
  width: 100%;
  min-width: 0;
  height: 30px;
  box-sizing: border-box;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  background: #fff;
  color: #172235;
  font: inherit;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
  outline: none;
  padding: 0 8px;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.filtro-medidas-campos input:focus {
  border-color: #d71920;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, .09);
}

.filtro-medidas-campos small {
  color: #98a2b3;
  font-size: 8px;
  font-weight: 700;
}

.filtro-medidas-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 11px 0 8px;
  padding: 9px;
  border-radius: 9px;
  background: #f7f8fa;
  cursor: pointer;
}

.filtro-medidas-check input {
  margin: 2px 0 0;
  accent-color: #d71920;
}

.filtro-medidas-check span {
  display: grid;
  gap: 2px;
}

.filtro-medidas-check strong {
  color: #344054;
  font-size: 8px;
}

.filtro-medidas-check small {
  color: #7a8495;
  font-size: 7px;
  line-height: 1.35;
}

.filtro-medidas-resumo {
  margin-top: 8px;
  padding: 8px 9px;
  border: 1px dashed #d9dee7;
  border-radius: 8px;
  background: #fff;
  color: #7a8495;
  font-size: 8px;
  line-height: 1.35;
}

.filtro-medidas-resumo.ativo {
  border-style: solid;
  border-color: #b9dfc8;
  background: #f2fbf6;
  color: #1f6b42;
}

.filtro-medidas-resumo strong {
  font-size: 11px;
}

.filtro-medidas-resumo span {
  display: block;
  margin-top: 3px;
  color: #55715f;
  font-size: 7px;
  font-weight: 700;
}

.limpar-medidas-projeto {
  width: 100%;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  background: #fff;
  color: #596579;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

.aplicar-medidas-projeto {
  width: 100%;
  margin-top: 9px;
  padding: 9px 10px;
  border: 1px solid #173979;
  border-radius: 8px;
  background: #173979;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  cursor: pointer;
}

.aplicar-medidas-projeto:hover {
  border-color: #d71920;
  background: #d71920;
}

.limpar-medidas-projeto:hover {
  border-color: #d71920;
  color: #d71920;
}

.selo-compatibilidade {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 5px;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 7px;
  font-weight: 800;
  line-height: 1.2;
}

.selo-compatibilidade.compativel {
  background: #eaf8ef;
  color: #187443;
}

.selo-compatibilidade.pendente {
  background: #fff6e8;
  color: #9a650d;
}

@media (max-width: 900px) {
  .filtro-medidas-projeto { margin: 10px; }
  .filtro-medidas-campos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filtro-medidas-campos label {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .filtro-medidas-campos input { text-align: left; }
  .filtro-medidas-campos small { display: none; }
}

@media (max-width: 560px) {
  .filtro-medidas-campos { grid-template-columns: 1fr; }
  .filtro-medidas-campos label { grid-template-columns: minmax(0, 1fr) 82px; align-items: center; }
  .filtro-medidas-campos label > span { font-size: 9px; }
}

/* Permite que o painel cresça com o novo bloco sem cortar fabricantes/segmentos. */
.painel-filtros:not(.fechado) {
  max-height: clamp(300px, 46vh, 500px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #c8ced8 transparent;
}

.painel-filtros:not(.fechado)::-webkit-scrollbar { width: 6px; }
.painel-filtros:not(.fechado)::-webkit-scrollbar-thumb { background: #c8ced8; border-radius: 999px; }

/* Desktop: mantém filtros e produtos disponíveis durante toda a navegação. */
@media (min-width: 1251px) {
  .catalogo {
    display: block;
    padding-left: 365px;
  }

  .sidebar {
    position: fixed;
    z-index: 20;
    top: var(--topbar);
    bottom: 0;
    left: 0;
    width: 365px;
    height: auto;
    box-shadow: 10px 0 24px rgba(17, 37, 74, .035);
  }

  .secao-contato,
  .rodape {
    margin-left: 365px;
  }
}

@media (min-width: 901px) and (max-width: 1250px) {
  .catalogo {
    display: block;
    padding-left: 340px;
  }

  .sidebar {
    position: fixed;
    z-index: 20;
    top: var(--topbar);
    bottom: 0;
    left: 0;
    width: 340px;
    height: auto;
    box-shadow: 10px 0 24px rgba(17, 37, 74, .035);
  }

  .secao-contato,
  .rodape {
    margin-left: 340px;
  }
}

/* Mobile e tablet: a lista preenche todo o espaço restante da tela. */
@media (max-width: 900px) {
  .sidebar {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100dvh - var(--topbar)) !important;
    min-height: 620px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .painel-filtros:not(.fechado) {
    flex: 0 1 auto !important;
    max-height: min(46dvh, 460px) !important;
    overflow-y: auto !important;
  }

  .resultado-cabecalho {
    flex: 0 0 auto !important;
  }

  .lista-produtos {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    overflow-y: auto !important;
  }
}

@media (max-width: 560px) {
  .sidebar {
    min-height: calc(100dvh - var(--topbar)) !important;
  }
}

/* ==================================================
   IDENTIDADE INFO STORE + LISTA EM ALTURA TOTAL
   Mantido ao final do arquivo para prevalecer sobre
   os ajustes legados de desktop, tablet e celular.
================================================== */
:root {
  --info-azul: #263d7c;
  --info-azul-escuro: #10275f;
  --info-azul-claro: #eef3fc;
  --info-vermelho: #e32636;
  --info-fundo: #f5f5f5;
  --info-branco: #ffffff;
  --dourado: var(--info-azul);
  --topo: var(--info-azul);
  --fundo: var(--info-fundo);
  --claro: var(--info-branco);
  --borda: #dfe3eb;
}

body,
.detalhes {
  background: var(--info-fundo) !important;
}

header.topbar {
  background: linear-gradient(105deg, var(--info-azul-escuro), var(--info-azul)) !important;
  border-bottom-color: var(--info-vermelho) !important;
}

/* No cabeçalho azul, todos os detalhes antes amarelos ficam brancos. */
.btn-favoritos-nav,
.btn-favoritos-nav:hover {
  border-color: rgba(255, 255, 255, .42) !important;
  color: #fff !important;
}

.btn-favoritos-nav svg {
  stroke: #fff !important;
}

.btn-favoritos-nav .badge {
  background: #fff !important;
  color: var(--info-azul-escuro) !important;
}

/* Fora do cabeçalho, o azul substitui o amarelo sem perder contraste. */
.produto-favorito,
.documento-acao,
.aviso-icone,
.contato-tipo {
  color: var(--info-azul) !important;
}

.produto.ativo {
  background: var(--info-azul-claro) !important;
  box-shadow: inset 0 0 0 1px var(--info-azul) !important;
}

.tab.ativo::after {
  background: var(--info-vermelho) !important;
}

.campo-busca input:focus {
  border-color: var(--info-azul) !important;
  box-shadow: 0 0 0 3px rgba(38, 61, 124, .13) !important;
}

.aplicar-medidas-projeto {
  border-color: var(--info-azul) !important;
  background: var(--info-azul) !important;
}

.aplicar-medidas-projeto:hover,
.contato-botao:hover {
  border-color: var(--info-vermelho) !important;
  background: var(--info-vermelho) !important;
  color: #fff !important;
}

.secao-contato {
  background: #f0f3f9 !important;
}

/* A coluna lateral ocupa do cabeçalho até a base da janela. */
@media (min-width: 901px) {
  .sidebar {
    position: fixed !important;
    top: var(--topbar) !important;
    bottom: 0 !important;
    height: calc(100dvh - var(--topbar)) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--topbar)) !important;
    overflow: hidden !important;
  }

  .lista-produtos {
    flex: 1 1 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    overflow-y: auto !important;
  }
}

/* Em telas menores, a lista usa todo o restante visível da página. */
@media (max-width: 900px) {
  .sidebar {
    height: calc(100dvh - var(--topbar)) !important;
    min-height: calc(100dvh - var(--topbar)) !important;
    max-height: calc(100dvh - var(--topbar)) !important;
    background: var(--info-branco) !important;
  }

  .lista-produtos {
    flex: 1 1 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }
}

/* ==================================================
   IDENTIDADE INFO STORE + AJUSTES RESPONSIVOS
   Consolidado em 06/10/2026 para evitar cascata entre
   style.css e tema-infostore.css separados.
================================================== */
/* ==============================================================
   TEMA INFO STORE + CLUB ONE
   Carregue este arquivo depois de todos os outros CSS.
   Ele altera apenas a identidade visual e preserva o layout.
============================================================== */

:root {
  --info-azul-950: #0d1f4d;
  --info-azul-900: #142b63;
  --info-azul-800: #1c3b7a;
  --info-azul-700: #2452ad;
  --info-azul-100: #e9effc;
  --info-vermelho: #e52633;
  --club-dourado: #fcf6ed;
  --info-texto: #142b57;
}

/* Top bar: identidade Info Store sem perder o aspecto premium */
header.topbar {
  background:
    radial-gradient(circle at 18% -80%, rgba(66, 113, 205, .28), transparent 36%),
    linear-gradient(105deg, var(--info-azul-950), var(--info-azul-900) 55%, #10265b) !important;
  border-bottom: 1px solid rgba(229, 38, 51, .72) !important;
  box-shadow: 0 7px 22px rgba(7, 24, 65, .22) !important;
}

.separador-logo {
  background: linear-gradient(transparent, rgba(255,255,255,.48), transparent) !important;
}

/* Pesquisa com brilho azul discreto */
.busca-topbar input {
  border: 1px solid rgba(144, 178, 244, .48) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 4px 18px rgba(3,15,48,.18) !important;
}

.busca-topbar input:hover {
  border-color: rgba(188, 210, 255, .72) !important;
}

.busca-topbar input:focus {
  border-color: #a9c6ff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 0 0 3px rgba(88,139,238,.18), 0 7px 24px rgba(3,15,48,.24) !important;
}

.busca-topbar .icone-busca { color: #dce8ff !important; }

.btn-favoritos-nav {
  border-color: rgba(174, 201, 255, .42) !important;
  background: rgba(255,255,255,.035) !important;
}

.btn-favoritos-nav:hover {
  border-color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.075) !important;
}

.btn-favoritos-nav svg { color: var(--club-dourado); }

/* Navegação lateral */
.grupo-filtro h2,
.resultado-cabecalho strong,
.produto-informacoes h3 {
  color: var(--info-texto);
}

.opcao-filtro input { accent-color: var(--info-azul-700); }

.limpar-filtros:hover {
  border-color: var(--info-azul-700);
  color: var(--info-azul-700);
}

/* Controle discreto para recolher/mostrar o painel lateral */
.alternar-filtros {
  width: 100%;
  min-height: 36px;
  margin: 0 0 8px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(28, 59, 122, .18);
  border-radius: 9px;
  background: linear-gradient(180deg, #fff, #f8faff);
  color: var(--info-azul-900);
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

/* O controle antigo acompanhava a busca lateral e não deve reaparecer. */
.botao-filtro-legado {
  display: none !important;
}

.alternar-filtros:hover,
.alternar-filtros:focus-visible {
  border-color: rgba(36, 82, 173, .52);
  background: #f5f8ff;
  box-shadow: 0 4px 14px rgba(20, 43, 99, .08);
  outline: none;
}

.alternar-filtros-icone {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--info-azul-100);
  color: var(--info-azul-700);
  font-size: 14px;
  line-height: 1;
}

/* Símbolos definidos no tema para não depender do texto gerado pelo JS. */
.alternar-filtros-icone {
  font-size: 0 !important;
}

#alternarFiltrosLateral[aria-expanded="true"] .alternar-filtros-icone::before {
  content: "−";
  font-size: 16px;
}

#alternarFiltrosLateral[aria-expanded="false"] .alternar-filtros-icone::before {
  content: "+";
  font-size: 16px;
}

/* Miniaturas mais leves: sem placas bege ou brancas atrás dos produtos */
.produto-imagem,
.miniatura {
  background: transparent !important;
  box-shadow: none !important;
}

.produto-imagem {
  border-radius: 0 !important;
}

.produto-imagem img,
.miniatura img {
  mix-blend-mode: normal !important;
}

.miniatura {
  border-color: transparent !important;
}

.miniatura:hover,
.miniatura.ativo {
  border-color: rgba(36, 82, 173, .72) !important;
  background: rgba(255, 255, 255, .32) !important;
  box-shadow: 0 0 0 1px rgba(36, 82, 173, .08) !important;
}

.produto {
  position: relative;
  overflow: hidden;
}

.produto:hover { background: #f6f8fd; }

.produto.ativo {
  background: #f8faff;
  box-shadow: inset 0 0 0 1px var(--info-azul-700);
}

.produto.ativo::before {
  content: "";
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--info-vermelho);
}

/* Conteúdo editorial */
.badge {
  border-color: rgba(28,59,122,.55);
  color: var(--info-azul-800);
  background: rgba(255,255,255,.55);
}

.produto-resumo .nome-produto {
  max-width: 680px;
  color: var(--info-texto);
  font-size: clamp(27px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.produto-identificacao { color: #64708a; }

.codigo-produto strong,
.linha-especificacao strong,
.linha-dimensao-tecnica strong {
  color: var(--info-azul-800);
}

/* Indicadores, botões e galeria */
.destaque-icone {
  color: var(--info-azul-700) !important;
  background: var(--info-azul-100) !important;
}

.botao-preto {
  border-color: var(--info-azul-900) !important;
  background: linear-gradient(105deg, var(--info-azul-950), var(--info-azul-800)) !important;
  box-shadow: 0 5px 15px rgba(20,43,99,.14);
}

.botao-preto:hover {
  opacity: 1;
  background: linear-gradient(105deg, #10265b, #2452ad) !important;
}

.botao-secundario:hover,
.botao-secundario.ativo {
  border-color: var(--info-azul-700) !important;
  background: #f5f8ff !important;
  color: var(--info-azul-800) !important;
}

.miniatura:hover,
.miniatura.ativo {
  border-color: var(--info-azul-700) !important;
  box-shadow: 0 0 0 2px rgba(36,82,173,.08);
}

/* Abas: azul principal e vermelho apenas como assinatura */
.tab.ativo { color: var(--info-azul-900); }

.tab.ativo::after {
  height: 2px;
  background: linear-gradient(90deg, var(--info-azul-700) 0 82%, var(--info-vermelho) 82% 100%) !important;
}

.tab-selo-ia {
  border-color: var(--info-azul-700);
  color: var(--info-azul-700);
  background: #f6f8ff;
}

/* Títulos e cotas técnicas */
.area-tecnica h2,
.area-tecnica h3,
.card-dimensoes h3,
.medidas-projeto-cabecalho h3,
.vista-projeto-titulo strong {
  color: var(--info-texto);
}

.card-dimensoes .linhas-medidas line,
.chamadas-tecnicas path {
  stroke: var(--info-azul-700) !important;
}

.card-dimensoes .linhas-medidas text,
.chamadas-tecnicas .destaque {
  fill: var(--info-azul-700) !important;
}

/* O dourado continua exclusivo do Club One e da campanha */
.produto-favorito,
.campanha-reabrir,
.campanha-titulo strong,
.campanha-periodo strong {
  color: var(--club-dourado);
}

/* ==============================================================
   CAMPANHA: integração Info Store + Club One
============================================================== */
.barra-campanha {
  background:
    radial-gradient(circle at 18% 140%, rgba(66,113,205,.22), transparent 34%),
    linear-gradient(105deg, #08183d 0%, #10265b 54%, #091b45 100%) !important;
  border-top: 1px solid rgba(229,38,51,.78) !important;
  box-shadow: 0 -8px 28px rgba(7,24,65,.25), inset 0 1px rgba(255,255,255,.045) !important;
}

.barra-campanha::before {
  opacity: .12;
  background: repeating-linear-gradient(116deg, transparent 0 40px, rgba(255,255,255,.04) 41px, transparent 42px 82px) !important;
}

.campanha-selo {
  color: var(--club-dourado) !important;
  border-color: rgba(250, 249, 248, 0.911) !important;
  background: rgba(216,157,53,.055);
}

.campanha-titulo span,
.campanha-periodo small {
  color: rgba(211,224,252,.62) !important;
}

.campanha-separador,
.campanha-periodo {
  border-color: rgba(229,38,51,.56) !important;
}

.campanha-separador {
  background: linear-gradient(transparent, rgba(229,38,51,.72), transparent) !important;
}

.barra-campanha p { color: rgba(255,255,255,.9); }
.barra-campanha p span { color: rgba(211,224,252,.58); }
.campanha-fechar { color: rgba(220,231,255,.5); }
.campanha-fechar:hover { color: #fff; }

.campanha-reabrir {
  border-color: rgba(216,157,53,.65) !important;
  background: linear-gradient(110deg, rgba(8,24,61,.98), rgba(16,38,91,.98)) !important;
  box-shadow: 0 8px 28px rgba(7,24,65,.3) !important;
}

.campanha-reabrir::after {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  border-radius: inherit;
  border-top: 1px solid rgba(229,38,51,.72);
}

/* Recolhimento funcional, mesmo se regras antigas do tema tiverem prioridade. */
body.campanha-fechada .barra-campanha {
  display: none !important;
}

body.campanha-fechada .campanha-reabrir {
  display: grid !important;
}

body:not(.campanha-fechada) .campanha-reabrir {
  display: none !important;
}

/* ==============================================================
   RESPONSIVIDADE FINAL — TABLET E CELULAR
   Mantida no fim do arquivo para prevalecer sobre o CSS original.
============================================================== */

/* Tablet horizontal e notebooks compactos */
@media (min-width: 901px) and (max-width: 1180px) {
  .catalogo {
    grid-template-columns: 300px minmax(0, 1fr) !important;
  }

  .sidebar {
    padding: 18px 14px !important;
  }

  .produto {
    grid-template-columns: 68px minmax(0, 1fr) 20px !important;
    padding-inline: 9px !important;
  }

  .produto-imagem {
    width: 68px !important;
    height: 58px !important;
  }

  .produto-hero {
    grid-template-columns: minmax(250px, 45%) minmax(0, 55%) !important;
    gap: 18px !important;
    padding: 22px 24px 0 !important;
  }

  .produto-resumo .nome-produto {
    font-size: clamp(24px, 2.6vw, 30px) !important;
  }

  .produto-imagem-principal {
    min-height: 310px !important;
  }

  .area-tecnica {
    padding-inline: 24px !important;
  }

  .grade-tecnica,
  .card-dimensoes .dimensoes-tecnicas {
    gap: 18px !important;
  }
}

/* Tablet vertical e celular */
@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  :root {
    --topbar: 132px;
  }

  header.topbar {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    min-height: var(--topbar) !important;
    padding: 10px 18px 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 58px 42px !important;
    column-gap: 16px !important;
    row-gap: 9px !important;
    align-items: center !important;
  }

  .topbar-logos {
    min-width: 0 !important;
    gap: 14px !important;
  }

  .logo-club {
    width: clamp(126px, 23vw, 155px) !important;
    height: 46px !important;
  }

  .logo-info {
    width: clamp(62px, 11vw, 78px) !important;
    height: 38px !important;
  }

  .separador-logo {
    height: 32px !important;
  }

  .top-actions {
    width: auto !important;
    margin: 0 !important;
  }

  .btn-favoritos-nav {
    min-height: 40px !important;
    padding: 7px 11px !important;
    gap: 7px !important;
  }

  .busca-topbar {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    order: initial !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .busca-topbar input {
    height: 42px !important;
    padding-inline: 15px 44px !important;
    font-size: 13px !important;
    background: rgba(255,255,255,.08) !important;
  }

  .catalogo {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  .sidebar {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 18px 18px !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--borda) !important;
  }

  .alternar-filtros {
    margin: 0 0 8px !important;
  }

  .painel-filtros {
    width: 100% !important;
    max-height: 420px !important;
  }

  .painel-filtros.fechado {
    max-height: 0 !important;
  }

  .resultado-cabecalho {
    margin: 16px 0 8px !important;
  }

  .lista-produtos {
    flex: none !important;
    width: 100% !important;
    height: clamp(240px, 34vh, 310px) !important;
    min-height: 240px !important;
    max-height: 310px !important;
    margin-top: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  .produto {
    min-height: 76px !important;
    grid-template-columns: 72px minmax(0, 1fr) 24px !important;
    gap: 10px !important;
    padding: 9px 11px !important;
  }

  .produto-imagem {
    width: 72px !important;
    height: 56px !important;
  }

  .produto-informacoes h3 {
    font-size: 12px !important;
  }

  .produto-favorito {
    min-width: 32px !important;
    min-height: 32px !important;
    display: grid !important;
    place-items: center !important;
  }

  .produto-hero {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 18px !important;
    padding: 20px 18px 0 !important;
  }

  .produto-media {
    width: 100% !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .produto-imagem-principal {
    width: 100% !important;
    min-height: 250px !important;
    height: min(42vh, 340px) !important;
    max-height: 340px !important;
  }

  .produto-imagem-principal img {
    width: 100% !important;
    height: 100% !important;
    max-height: 320px !important;
    object-fit: contain !important;
  }

  .galeria-miniaturas {
    width: 100% !important;
    max-height: none !important;
    padding: 2px 0 5px !important;
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .miniatura {
    width: 56px !important;
    height: 48px !important;
    flex: 0 0 56px !important;
  }

  .produto-resumo .nome-produto {
    margin-top: 12px !important;
    font-size: clamp(23px, 5vw, 31px) !important;
    line-height: 1.14 !important;
  }

  .produto-resumo .destaques {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
  }

  .area-tecnica {
    padding: 18px 18px 34px !important;
  }

  .tabs {
    position: static !important;
    gap: 24px !important;
  }

  .grade-tecnica,
  .card-dimensoes .dimensoes-tecnicas,
  .contato-grade {
    grid-template-columns: 1fr !important;
  }

  .secao-contato {
    padding: 44px 18px !important;
  }

  .rodape {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 18px !important;
  }

  .drawer-favoritos {
    width: min(420px, 100vw) !important;
  }

  body:not(.campanha-fechada) {
    padding-bottom: 56px !important;
  }

  .barra-campanha {
    position: fixed !important;
    min-height: 56px !important;
    padding: 7px 14px !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    gap: 10px !important;
  }

  .campanha-separador,
  .barra-campanha p {
    display: none !important;
  }

  .campanha-selo {
    width: 34px !important;
    height: 34px !important;
  }

  .campanha-periodo {
    min-width: 118px !important;
    margin: 0 !important;
    padding: 2px 10px !important;
    grid-column: auto !important;
  }

  .campanha-fechar {
    position: static !important;
    right: auto !important;
  }
}

/* Celulares */
@media (max-width: 600px), (hover: none) and (pointer: coarse) and (orientation: portrait) and (max-device-width: 600px) {
  :root {
    --topbar: 126px;
  }

  header.topbar {
    grid-template-rows: 54px 40px !important;
    padding: 8px 14px 10px !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
  }

  .topbar-logos {
    gap: 9px !important;
  }

  .logo-club {
    width: clamp(112px, 34vw, 145px) !important;
    height: 42px !important;
  }

  .logo-info {
    width: clamp(54px, 16vw, 69px) !important;
    height: 34px !important;
  }

  .separador-logo {
    height: 28px !important;
  }

  .btn-favoritos-nav {
    min-width: 92px !important;
    padding: 6px 8px !important;
  }

  .btn-favoritos-nav span:first-of-type {
    display: none !important;
  }

  .btn-favoritos-nav::before {
    content: "ITENS";
    font-size: 9px;
    font-weight: 700;
  }

  .busca-topbar input {
    height: 40px !important;
    font-size: 12px !important;
  }

  .sidebar {
    padding-inline: 12px !important;
  }

  .resultado-cabecalho {
    align-items: flex-end !important;
    gap: 6px !important;
  }

  .resultado-cabecalho strong {
    font-size: 9px !important;
  }

  .ordenacao {
    font-size: 8px !important;
  }

  .ordenacao select {
    max-width: 102px !important;
    font-size: 8px !important;
  }

  .lista-produtos {
    height: 276px !important;
    min-height: 276px !important;
    max-height: 276px !important;
  }

  .produto {
    min-height: 72px !important;
    grid-template-columns: 68px minmax(0, 1fr) 24px !important;
    padding: 8px !important;
  }

  .produto-imagem {
    width: 68px !important;
    height: 54px !important;
  }

  .produto-hero {
    padding-inline: 14px !important;
  }

  .produto-imagem-principal {
    min-height: 220px !important;
    height: 260px !important;
  }

  .produto-imagem-principal img {
    max-height: 250px !important;
  }

  .produto-resumo .nome-produto {
    font-size: clamp(22px, 7vw, 28px) !important;
  }

  .produto-resumo .destaques {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .acoes {
    flex-direction: column !important;
  }

  .botao-preto,
  .botao-secundario {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
  }

  .area-tecnica {
    padding-inline: 14px !important;
  }

  .linha-especificacao {
    grid-template-columns: minmax(112px, 42%) minmax(0, 58%) !important;
    gap: 10px !important;
  }

  .rodape {
    grid-template-columns: 1fr !important;
  }

  .barra-campanha {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .campanha-titulo strong {
    font-size: 10px !important;
    letter-spacing: .15em !important;
  }

  .campanha-periodo {
    display: none !important;
  }

  .campanha-reabrir {
    right: 10px !important;
    bottom: 10px !important;
    max-width: calc(100vw - 20px) !important;
  }
}

/* Celulares estreitos */
@media (max-width: 390px) {
  .logo-club { width: 108px !important; }
  .logo-info { width: 52px !important; }
  .separador-logo { display: none !important; }
  .btn-favoritos-nav { min-width: 84px !important; }
  .produto { grid-template-columns: 58px minmax(0, 1fr) 22px !important; gap: 7px !important; }
  .produto-imagem { width: 58px !important; height: 50px !important; }
  .produto-informacoes h3 { font-size: 11px !important; }
}

/* ==============================================================
   CONTATO E RODAPÉ
============================================================== */
.secao-contato {
  background:
    radial-gradient(circle at 50% 0, rgba(36,82,173,.075), transparent 34%),
    linear-gradient(180deg, #f4f6fb 0%, #eef2f9 100%) !important;
  border-top: 1px solid rgba(36,82,173,.09);
}

.contato-etiqueta {
  border-color: rgba(36,82,173,.45) !important;
  background: rgba(255,255,255,.64);
  color: var(--info-azul-800);
}

.contato-cabecalho h2,
.contato-card h3 {
  color: var(--info-texto);
}

.contato-cabecalho h2::after {
  content: "";
  width: 42px;
  height: 2px;
  margin: 13px auto 0;
  display: block;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--info-azul-700) 0 76%, var(--info-vermelho) 76% 100%);
}

.contato-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(28,59,122,.13) !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 9px 26px rgba(13,31,77,.045);
}

.contato-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 2px;
  background: linear-gradient(90deg, var(--info-azul-700) 0 88%, var(--info-vermelho) 88% 100%);
  opacity: .8;
}

.contato-card:hover {
  border-color: rgba(36,82,173,.42) !important;
  box-shadow: 0 14px 32px rgba(13,31,77,.1) !important;
}

.contato-icone.contato-foto {
  border-color: var(--info-azul-700) !important;
  box-shadow: 0 0 0 3px rgba(36,82,173,.08);
}

.contato-tipo {
  color: var(--info-azul-700) !important;
  letter-spacing: .035em;
}

.contato-botao {
  border-color: var(--info-azul-900) !important;
  background: linear-gradient(105deg, var(--info-azul-950), var(--info-azul-800)) !important;
  box-shadow: 0 5px 14px rgba(20,43,99,.13);
}

.contato-botao:hover {
  border-color: var(--info-vermelho) !important;
  background: linear-gradient(105deg, var(--info-azul-900), var(--info-azul-700)) !important;
}

.rodape {
  background: #f9faff !important;
  border-top-color: rgba(28,59,122,.14) !important;
}

.beneficio-icone,
.beneficio strong {
  color: var(--info-azul-800) !important;
}

.beneficio:first-child .beneficio-icone {
  color: var(--info-vermelho) !important;
}

/* ==============================================================
   GAVETA DE FAVORITOS
   Z-index superior à campanha para impedir sobreposição.
============================================================== */
.drawer-favoritos {
  z-index: 1700 !important;
  width: min(420px, 100vw) !important;
  background: #fbfcff !important;
  border-left: 1px solid rgba(36,82,173,.16);
  box-shadow: -14px 0 44px rgba(7,24,65,.18) !important;
}

.drawer-header {
  box-sizing: border-box;
  height: var(--topbar);
  min-height: var(--topbar);
  padding: 0 22px !important;
  border-bottom: 2px solid var(--info-vermelho) !important;
  background: linear-gradient(105deg, var(--info-azul-escuro), var(--info-azul)) !important;
  color: #fff;
}

.drawer-header h3 {
  margin: 0;
  font-family: var(--fonte-titulos);
  font-size: 18px;
  letter-spacing: -.02em;
}

#btn-fechar-favoritos {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

#btn-fechar-favoritos:hover {
  border-color: var(--info-vermelho);
  background: rgba(229,38,51,.14);
}

.drawer-content {
  padding: 8px 20px 22px !important;
  gap: 0 !important;
  background: #fbfcff;
}

.item-fav {
  position: relative;
  gap: 13px !important;
  padding: 16px 4px !important;
  border-bottom: 1px solid rgba(36,82,173,.1) !important;
}

.item-fav::before {
  content: "";
  position: absolute;
  top: 19px;
  bottom: 19px;
  left: -20px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--info-vermelho);
  opacity: 0;
  transition: opacity .2s ease;
}

.item-fav:hover::before { opacity: 1; }

.item-fav img {
  width: 56px !important;
  height: 56px !important;
  padding: 4px;
  border: 1px solid rgba(36,82,173,.11);
  border-radius: 7px;
  background: #fff;
}

.item-fav .item-info h4 {
  color: var(--info-texto);
  font-family: var(--fonte-titulos);
  font-size: 12px !important;
  font-weight: 600 !important;
}

.item-fav .item-info > span:nth-of-type(1) {
  color: var(--info-azul-700) !important;
}

.item-fav .seletor-qtd {
  min-height: 27px;
  margin-left: 6px;
  border: 1px solid rgba(36,82,173,.15);
  border-radius: 999px !important;
  background: #edf2fc !important;
}

.item-fav .btn-qtd {
  width: 24px;
  height: 22px;
  padding: 0 !important;
  color: var(--info-azul-800);
  border-radius: 50%;
}

.item-fav .btn-qtd:hover { background: rgba(36,82,173,.1) !important; }

.btn-remove-item {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #8993a9 !important;
}

.btn-remove-item:hover {
  background: rgba(229,38,51,.08) !important;
  color: var(--info-vermelho) !important;
}

.drawer-footer {
  position: relative;
  z-index: 2;
  padding: 16px 20px 22px !important;
  border-top: 1px solid rgba(36,82,173,.13) !important;
  background: rgba(251,252,255,.98) !important;
  box-shadow: 0 -9px 24px rgba(7,24,65,.06);
}

.btn-gerar-pdf {
  min-height: 46px;
  border-color: var(--info-azul-900) !important;
  border-radius: 8px !important;
  background: linear-gradient(105deg, var(--info-azul-950), var(--info-azul-800)) !important;
  box-shadow: 0 7px 18px rgba(20,43,99,.18);
}

.btn-gerar-pdf:hover {
  border-color: var(--info-vermelho) !important;
  background: linear-gradient(105deg, var(--info-azul-900), var(--info-azul-700)) !important;
}


.btn-baixar-pdf {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(20,43,99,.28) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--info-azul-900) !important;
  font-family: var(--fonte-titulos);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn-apresentacao-completa {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  padding: 10px 16px;
  border: 1px solid var(--info-vermelho, #e52633);
  border-radius: 8px;
  background: #fff;
  color: var(--info-azul-950, #102b63);
  font: 700 12px/1.2 Montserrat, Arial, sans-serif;
  letter-spacing: .025em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn-apresentacao-completa:hover {
  background: rgba(229,38,51,.055);
  box-shadow: 0 5px 14px rgba(20,43,99,.08);
  transform: translateY(-1px);
}

.btn-apresentacao-completa:disabled {
  cursor: wait;
  opacity: .66;
  transform: none;
}

.btn-baixar-pdf:hover {
  border-color: var(--info-azul-800) !important;
  background: rgba(20,43,99,.045) !important;
  color: var(--info-azul-950) !important;
  box-shadow: 0 4px 12px rgba(20,43,99,.08);
  transform: translateY(-1px);
}

.btn-baixar-pdf:focus-visible {
  outline: 2px solid var(--info-azul-700);
  outline-offset: 2px;
}

.btn-baixar-lista {
  width: 100%;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid rgba(20,43,99,.24);
  border-radius: 8px;
  background: #fff;
  color: var(--info-azul-900);
  font-family: var(--fonte-titulos);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

.btn-baixar-lista:hover {
  border-color: var(--info-azul-700);
  background: #f2f6ff;
}

.aviso-orcamento {
  margin: 0;
  color: #667085;
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

.modal-consultores {
  position: fixed;
  inset: 0;
  z-index: 1900;
  display: grid;
  place-items: center;
  padding: 20px;
}

.modal-consultores.hidden {
  display: none;
}

.modal-consultores-fundo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(5,16,43,.62);
  backdrop-filter: blur(3px);
  cursor: default;
}

.modal-consultores-conteudo {
  position: relative;
  width: min(480px, 100%);
  padding: 24px;
  border: 1px solid rgba(36,82,173,.16);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(5,16,43,.28);
}

.modal-consultores-cabecalho {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.modal-consultores-cabecalho span {
  display: block;
  margin-bottom: 7px;
  color: var(--info-vermelho);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
}

.modal-consultores-cabecalho h3 {
  margin: 0 0 6px;
  color: var(--info-azul-950);
  font-size: 20px;
  line-height: 1.2;
}

.modal-consultores-cabecalho p {
  margin: 0;
  color: #667085;
  font-size: 11px;
  line-height: 1.5;
}

.modal-consultores-fechar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(20,43,99,.18);
  border-radius: 50%;
  background: #fff;
  color: var(--info-azul-900);
  font-size: 22px;
  cursor: pointer;
}

.lista-consultores {
  display: grid;
  gap: 10px;
}

.opcao-consultor {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px;
  border: 1px solid #dfe5f1;
  border-radius: 10px;
  background: #fff;
  color: var(--info-azul-950);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.opcao-consultor:hover,
.opcao-consultor:focus-visible {
  border-color: var(--info-azul-700);
  background: #f4f7fd;
  outline: none;
  transform: translateY(-1px);
}

.consultor-inicial {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--info-azul-900);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}

.opcao-consultor strong,
.opcao-consultor small {
  display: block;
}

.opcao-consultor strong {
  margin-bottom: 3px;
  font-size: 13px;
}

.opcao-consultor small {
  color: #667085;
  font-size: 10px;
  line-height: 1.35;
}

.opcao-consultor i {
  color: var(--info-vermelho);
  font-size: 24px;
  font-style: normal;
  text-align: right;
}

@media (max-width: 560px) {
  .modal-consultores {
    align-items: end;
    padding: 0;
  }

  .modal-consultores-conteudo {
    width: 100%;
    padding: 22px 18px max(22px, env(safe-area-inset-bottom));
    border-radius: 16px 16px 0 0;
  }

  .modal-consultores-cabecalho h3 {
    font-size: 18px;
  }
}

/* A campanha continua atrás da gaveta e não bloqueia os botões. */
.drawer-favoritos:not(.hidden) ~ .barra-campanha,
body:has(.drawer-favoritos:not(.hidden)) .barra-campanha,
body:has(.drawer-favoritos:not(.hidden)) .campanha-reabrir {
  pointer-events: none;
}

@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  .produto-resumo .nome-produto {
    font-size: 25px !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em;
  }
}

/* ==============================================================
   REFINO FINAL — VISTAS TÉCNICAS E ATENDIMENTO COMPACTO
============================================================== */
.vistas-projeto-grade {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr;
  gap: 12px !important;
  align-items: stretch;
}

.vista-projeto-card {
  height: 100%;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  border-radius: 8px !important;
  background: #fff !important;
}

.vista-projeto-titulo {
  min-height: 76px !important;
  box-sizing: border-box;
  padding: 10px 12px 6px !important;
}

.vista-projeto-titulo strong { font-size: 12px !important; }
.vista-projeto-titulo span,
.vista-projeto-titulo small { font-size: 9px !important; line-height: 1.35; }
.vista-projeto-titulo small { white-space: normal !important; text-align: right; }
.vista-tecnica-svg {
  height: 285px !important;
  flex: 1 1 auto;
  min-height: 285px;
}
.parede-planta text,
.nota-nicho,
.cota-legenda,
.chamadas-tecnicas text,
.legenda-pivos text { font-size: 9px !important; }

.vista-indisponivel {
  min-height: 285px !important;
  flex: 1 1 auto;
  padding: 16px !important;
}
.vista-indisponivel > span { width: 28px !important; height: 28px !important; margin-bottom: 6px !important; }
.vista-indisponivel p { margin-top: 5px !important; font-size: 10px !important; }
.vista-projeto-card.vista-pendente { grid-column: span 1; }

.vista-produto-real img {
  height: 245px !important;
  margin-bottom: 12px !important;
}

.secao-contato { padding: 24px 4% !important; }
.contato-cabecalho { max-width: none !important; margin: 0 auto 18px !important; }
.contato-etiqueta { padding: 3px 9px !important; font-size: 8px !important; }
.contato-cabecalho h2 { margin: 8px 0 4px !important; font-size: clamp(20px, 2vw, 26px) !important; }
.contato-cabecalho h2::after { margin-top: 7px !important; }
.contato-cabecalho p { font-size: 11px !important; }
.contato-grade { gap: 10px !important; }
.contato-card {
  min-height: 0 !important;
  padding: 14px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 11px !important;
  align-items: center !important;
}
.contato-icone { width: 40px !important; height: 40px !important; min-width: 40px !important; }
.contato-conteudo { min-height: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: center; }
.contato-tipo,
.contato-card h3,
.contato-card p { grid-column: 1; }
.contato-tipo { font-size: 8px !important; }
.contato-card h3 { margin: 2px 0 3px !important; font-size: 15px !important; }
.contato-card p { margin: 0 !important; font-size: 10px !important; line-height: 1.35 !important; }
.contato-botao { grid-column: 2; grid-row: 1 / span 3; width: auto !important; min-width: 132px; min-height: 34px !important; margin: 0 !important; padding: 0 12px !important; }

@media (max-width: 1100px) {
  .vistas-projeto-grade { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vista-produto-real { grid-column: 1 / -1 !important; }
  .contato-conteudo { grid-template-columns: 1fr !important; }
  .contato-botao { grid-column: 1; grid-row: auto; margin-top: 9px !important; width: 100% !important; }
}

@media (max-width: 650px) {
  .vistas-projeto-grade { grid-template-columns: 1fr !important; }
  .vista-tecnica-svg { height: 255px !important; }
  .vista-projeto-titulo { min-height: 82px !important; flex-direction: column; gap: 4px !important; }
  .vista-projeto-titulo small { text-align: left; }
  .secao-contato { padding: 26px 16px !important; }
  .contato-card { padding: 13px !important; }
  .contato-card p { display: none; }
}
/* ==========================================================
   GALERIA PRINCIPAL — TAMANHO PADRONIZADO
========================================================== */

@media (min-width: 1181px) {
  .produto-hero {
    grid-template-columns: minmax(320px, 40%) minmax(0, 60%) !important;
    align-items: stretch !important;
  }

  .produto-media {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 500px !important;
    align-items: stretch !important;
  }

  .produto-imagem-principal {
    width: 100% !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
    background: transparent !important;
  }

  .produto-imagem-principal img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;

    padding: 14px !important;
    box-sizing: border-box !important;

    object-fit: contain !important;
    object-position: center !important;
  }

  .galeria-miniaturas {
    height: 500px !important;
    max-height: 500px !important;
    justify-content: flex-start !important;
  }
}

/* Notebook e tablet horizontal */
@media (min-width: 901px) and (max-width: 1180px) {
  .produto-imagem-principal {
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
  }

  .produto-imagem-principal img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
  }

  .galeria-miniaturas {
    height: 400px !important;
    max-height: 400px !important;
  }
}

/* Mobile */
@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  .produto-imagem-principal {
    width: 100% !important;
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }

  .produto-imagem-principal img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
  }
}

@media (max-width: 560px) {
  .produto-imagem-principal {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}
/* =========================================================
   ESCALA AUTOMÁTICA POR TIPO DE PRODUTO
   ========================================================= */

/* Configuração padrão */
.produto-imagem-principal {
  height: 500px !important;
  min-height: 500px !important;
  max-height: 500px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.produto-imagem-principal img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  transform-origin: center !important;
}

/* Geladeiras, refrigeradores e Side by Side */
.produto-imagem-principal:has(img[alt*="geladeira" i]) img,
.produto-imagem-principal:has(img[alt*="refrigerador" i]) img,
.produto-imagem-principal:has(img[alt*="side by side" i]) img,
.produto-imagem-principal:has(img[alt*="french door" i]) img {
  transform: scale(1.15) !important;
}

/* Adegas, cervejeiras e frigobares */
.produto-imagem-principal:has(img[alt*="adega" i]) img,
.produto-imagem-principal:has(img[alt*="cervejeira" i]) img,
.produto-imagem-principal:has(img[alt*="frigobar" i]) img {
  transform: scale(0.88) !important;
}

/* Tablet */
@media (min-width: 901px) and (max-width: 1180px) {
  .produto-imagem-principal {
    height: 410px !important;
    min-height: 410px !important;
    max-height: 410px !important;
  }

  .produto-imagem-principal:has(img[alt*="geladeira" i]) img,
  .produto-imagem-principal:has(img[alt*="refrigerador" i]) img,
  .produto-imagem-principal:has(img[alt*="side by side" i]) img,
  .produto-imagem-principal:has(img[alt*="french door" i]) img {
    transform: scale(1.25) !important;
  }
}

/* Mobile */
@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  .produto-imagem-principal {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }

  .produto-imagem-principal:has(img[alt*="geladeira" i]) img,
  .produto-imagem-principal:has(img[alt*="refrigerador" i]) img,
  .produto-imagem-principal:has(img[alt*="side by side" i]) img,
  .produto-imagem-principal:has(img[alt*="french door" i]) img {
    transform: scale(1.16) !important;
  }

  .produto-imagem-principal:has(img[alt*="adega" i]) img,
  .produto-imagem-principal:has(img[alt*="cervejeira" i]) img,
  .produto-imagem-principal:has(img[alt*="frigobar" i]) img {
    transform: scale(0.92) !important;
  }
}

/* Navegação por segmentos — 06/10/2026. Dados e identificação dos produtos preservados. */
:root { --altura-segmentos: 52px; }
.barra-segmentos { position: sticky; top: var(--topbar); z-index: 90; height: var(--altura-segmentos); background: #fff; border-bottom: 1px solid #e0e6f0; }
.navegacao-segmentos { display: flex; align-items: stretch; justify-content: center; gap: 26px; height: 100%; padding: 0 24px; overflow-x: auto; }
.segmento-nav { flex: 0 0 auto; position: relative; padding: 0 5px; border: 0; background: transparent; color: #23366d; font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.segmento-nav:hover { color: #2452ad; background: #f7f9fd; }
.segmento-nav.ativo { color: #2452ad; }
.segmento-nav.ativo::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: #e52633; }
.segmento-nav:focus-visible, .cabecalho-explorar button:focus-visible { outline: 2px solid #2452ad; outline-offset: -3px; }
.cabecalho-explorar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; margin-bottom: 12px; }
.cabecalho-explorar h2 { margin: 0; color: #183568; font-size: 15px; font-weight: 650; }
.cabecalho-explorar .alternar-filtros { width: auto; min-height: 38px; margin: 0 !important; padding: 7px 10px; gap: 7px; justify-content: center; border: 1px solid #dce4f2; background: #fff; font-size: 12px; text-transform: none; letter-spacing: 0; box-shadow: none; }
.cabecalho-explorar .alternar-filtros[aria-expanded="true"] { background: #edf3ff; border-color: #2452ad; }
#painelFiltros[hidden] { display: none !important; }
#detalhes { scroll-margin-top: calc(var(--topbar) + var(--altura-segmentos) + 16px); }
@media (min-width: 901px) {
  .sidebar { top: calc(var(--topbar) + var(--altura-segmentos)) !important; height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important; min-height: 0 !important; max-height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important; }
}
@media (max-width: 900px) {
  :root { --altura-segmentos: 48px; }
  .navegacao-segmentos { justify-content: flex-start; gap: 20px; padding: 0 18px; }
  .segmento-nav { font-size: 12px; }
  .sidebar { max-height: none !important; }
}


/* Mobile e tablets: navegação empilhada, preservando o desktop. */
.voltar-produtos { display: none; }
@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  :root { --topbar: 124px; --altura-segmentos: 48px; }
  header.topbar { height: var(--topbar) !important; min-height: var(--topbar) !important; padding: 10px 14px !important; grid-template-rows: 50px 44px !important; gap: 10px !important; }
  .topbar-logos { gap: 8px !important; }
  header.topbar .logo-info { width: 110px !important; max-width: 110px !important; height: 46px !important; max-height: 46px !important; }
  .separador-logo, #menuMobile { display: none !important; }
  .btn-favoritos-nav { min-height: 44px !important; padding: 8px 10px !important; font-size: 10px !important; gap: 6px !important; letter-spacing: 0 !important; white-space: nowrap; }
  .btn-favoritos-nav span:first-of-type { display: inline !important; }
  .btn-favoritos-nav::before { content: none !important; }
  .btn-favoritos-nav svg { width: 16px; height: 16px; }
  .busca-topbar input { height: 44px !important; font-size: 16px !important; }
  .navegacao-segmentos { justify-content: flex-start; gap: 18px; padding-inline: 14px; -webkit-overflow-scrolling: touch; }
  .segmento-nav { min-height: 44px; font-size: 13px; }
  .catalogo { display: flex !important; flex-direction: column !important; padding: 0 !important; min-height: 0 !important; }
  .sidebar { position: static !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; padding: 16px !important; overflow: visible !important; scroll-margin-top: calc(var(--topbar) + var(--altura-segmentos) + 8px); }
  .lista-produtos { flex: none !important; height: clamp(230px, 34dvh, 330px) !important; min-height: 0 !important; max-height: 330px !important; overflow-y: auto !important; }
  .painel-filtros:not(.fechado) { max-height: min(420px, 48dvh) !important; overflow-y: auto !important; }
  .cabecalho-explorar .alternar-filtros, .limpar-filtros { min-height: 44px !important; }
  .opcao-filtro { min-height: 44px; align-items: center; }
  .opcao-filtro input { width: 18px; height: 18px; }
  .resultado-cabecalho { flex-wrap: wrap; gap: 10px !important; }
  .ordenacao select, .filtro-tipo-produto select, .filtro-medidas-campos input { min-height: 44px; font-size: 16px !important; }
  .produto { grid-template-columns: 68px minmax(0, 1fr) 44px !important; min-width: 0; }
  .produto-favorito { min-width: 44px !important; min-height: 44px !important; }
  .detalhes { width: 100% !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; }
  .voltar-produtos { display: inline-flex; align-items: center; min-height: 44px; margin: 14px 16px 0; padding: 8px 14px; border: 1px solid #d5dfee; border-radius: 8px; background: white; color: #183568; font: inherit; font-size: 13px; cursor: pointer; }
  .produto-hero { width: 100%; display: flex !important; flex-direction: column-reverse !important; padding: 16px !important; gap: 20px !important; }
  .produto-media { width: 100% !important; min-width: 0; flex-direction: column !important; }
  .produto-imagem-principal { height: clamp(220px, 36dvh, 340px) !important; min-height: 220px !important; max-height: 340px !important; }
  .produto-imagem-principal img { max-width: 100% !important; width: 100% !important; object-fit: contain !important; }
  .galeria-miniaturas { height: auto !important; max-height: none !important; flex-direction: row !important; width: 100% !important; overflow-x: auto !important; }
  .miniatura { flex: 0 0 56px !important; min-height: 48px; }
  .produto-resumo { min-width: 0 !important; width: 100%; }
  .produto-resumo .nome-produto { font-size: clamp(23px, 4vw, 32px) !important; overflow-wrap: anywhere; }
  .produto-identificacao, .linha-especificacao, .documento-informacoes { overflow-wrap: anywhere; min-width: 0; }
  .area-tecnica { padding: 16px !important; }
  .tabs { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 20px !important; position: static !important; }
  .tab { flex: 0 0 auto; min-height: 48px; white-space: nowrap; }
  .grade-tecnica, .contato-grade { grid-template-columns: minmax(0, 1fr) !important; }
  .secao-contato, .rodape { margin-left: 0 !important; }
  .drawer-favoritos { width: min(420px, 100vw) !important; max-width: 100vw; height: 100dvh !important; }
  .drawer-content { min-height: 0; overflow-y: auto; }
  .drawer-header button, .btn-gerar-pdf { min-height: 44px; min-width: 44px; }
  .drawer-footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (max-width: 600px) {
  .acoes { display: flex !important; flex-direction: column !important; gap: 10px; }
  .acoes > a, .acoes > button { width: 100% !important; min-width: 0 !important; min-height: 44px !important; }
  .produto-resumo .destaques { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rodape { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {
  .lista-produtos.poucos-produtos { height: auto !important; }
  .resultado-cabecalho { align-items: center !important; }
  .ordenacao { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .ordenacao select { width: auto !important; min-width: 156px; max-width: 100%; font-weight: 500; }
}

/* ==============================================================
   FLUXO AUTOMÁTICO DE ORÇAMENTO
============================================================== */
.btn-gerar-pdf:disabled,
.btn-gerar-pdf.carregando {
  cursor: wait;
  opacity: .72;
  transform: none !important;
}

.link-pdf-orcamento {
  display: inline-flex;
  align-items: center;
  margin-top: 9px;
  padding: 6px 9px;
  border: 1px solid rgba(36,82,173,.16);
  border-radius: 7px;
  background: #f4f7fd;
  color: var(--info-azul-800);
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.link-pdf-orcamento:hover {
  border-color: var(--info-azul-700);
  background: #edf2fc;
}

.link-pdf-orcamento.hidden { display: none; }

/* ==============================================================
   TABLET — GALERIA COM MAIS RESPIRO
   Evita que a imagem principal ocupe toda a largura em tablets.
============================================================== */
@media (min-width: 700px) and (max-width: 1100px) and (hover: none) and (pointer: coarse) {
  .produto-imagem-principal {
    height: clamp(260px, 32dvh, 330px) !important;
    min-height: 260px !important;
    max-height: 330px !important;
    padding: 12px 24px !important;
    box-sizing: border-box !important;
  }

  .produto-imagem-principal img {
    width: auto !important;
    height: 100% !important;
    max-width: 76% !important;
    max-height: 100% !important;
    padding: 10px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  .produto-media {
    align-items: center !important;
  }

  .galeria-miniaturas {
    justify-content: center !important;
  }
}

/* Tablets menores / retrato: um pouco mais compacto */
@media (min-width: 700px) and (max-width: 900px) and (hover: none) and (pointer: coarse) {
  .produto-imagem-principal img {
    max-width: 70% !important;
  }
}

/* ==================================================
   TABLET — GALERIA SEM ZOOM EXCESSIVO
   Regra intencionalmente sem depender de hover/pointer,
   pois navegadores de tablet podem reportar esses recursos
   de forma diferente em modo desktop.
================================================== */
@media (min-width: 700px) and (max-width: 1100px) {
  .produto-imagem-principal {
    height: clamp(250px, 30dvh, 320px) !important;
    min-height: 250px !important;
    max-height: 320px !important;
    padding: 18px 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .produto-imagem-principal img {
    width: auto !important;
    height: auto !important;
    max-width: 68% !important;
    max-height: 278px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  .produto-media {
    align-items: center !important;
  }

  .galeria-miniaturas {
    justify-content: center !important;
  }
}

/* ==============================================================
   NAVEGAÇÃO DE SEGMENTOS E SIDEBAR RECOLHÍVEL — 07/10/2026
   Usa a identidade azul/vermelha da Info Store e preserva o tema atual.
============================================================== */
:root { --altura-segmentos: 72px; }

.barra-segmentos {
  height: var(--altura-segmentos) !important;
  background: #f7f9fd !important;
  border-bottom: 1px solid #dce4f2 !important;
  box-shadow: 0 5px 18px rgba(20, 43, 99, .045);
}

.barra-segmentos-conteudo {
  width: 100%;
  height: 100%;
  padding: 9px 22px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 22px;
}

.barra-segmentos-titulo {
  color: #64708a;
  font-family: var(--fonte-titulos);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

.navegacao-segmentos {
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 10px !important;
  overflow-x: auto;
  scrollbar-width: thin;
}

.segmento-nav {
  flex: 1 0 132px !important;
  min-height: 52px;
  padding: 8px 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid #dce4f2 !important;
  border-radius: 8px;
  background: #fff !important;
  color: #183568 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .01em;
  box-shadow: 0 2px 7px rgba(20, 43, 99, .035);
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.segmento-nav:hover {
  border-color: #aebddb !important;
  background: #edf3ff !important;
  transform: translateY(-1px);
}

.segmento-nav.ativo {
  border-color: #183568 !important;
  background: #183568 !important;
  color: #fff !important;
  box-shadow: 0 5px 13px rgba(24, 53, 104, .18);
}

.segmento-nav.ativo::after {
  right: 12px !important;
  bottom: 0 !important;
  left: 12px !important;
  height: 3px !important;
  border-radius: 3px 3px 0 0;
  background: #e52633 !important;
}

.segmento-nav-icone {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.segmento-nav-icone svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.cabecalho-explorar-acoes {
  display: flex;
  align-items: center;
  gap: 6px;
}

.recolher-sidebar {
  width: auto !important;
  min-width: 88px !important;
  height: 38px;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px !important;
  padding: 0 10px 0 7px !important;
  border: 1px solid #dce4f2;
  border-radius: 7px;
  background: #fff;
  color: #183568;
  font-family: var(--fonte-titulos);
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}

.recolher-sidebar svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.recolher-sidebar span {
  display: inline-block !important;
  white-space: nowrap;
}

.recolher-sidebar:hover {
  border-color: #aebddb;
  background: #edf3ff;
}

.mostrar-sidebar-produtos {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #d8e1f0;
  border-left: 3px solid #e52633;
  border-radius: 0 8px 8px 0;
  background: #fff;
  color: #183568;
  font-family: var(--fonte-titulos);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  box-shadow: 0 7px 20px rgba(20, 43, 99, .12);
  cursor: pointer;
}

body.sidebar-produtos-recolhida .mostrar-sidebar-produtos {
  display: inline-flex;
}

@media (min-width: 1101px) {
  .sidebar {
    transition: transform .24s ease, opacity .18s ease;
  }

  body.sidebar-produtos-recolhida .sidebar {
    transform: translateX(-105%) !important;
    opacity: 0;
    pointer-events: none;
  }

  body.sidebar-produtos-recolhida .catalogo {
    padding-left: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.sidebar-produtos-recolhida .secao-contato,
  body.sidebar-produtos-recolhida .rodape {
    margin-left: 0 !important;
  }

  body.sidebar-produtos-recolhida .mostrar-sidebar-produtos {
    position: fixed;
    z-index: 84;
    top: calc(var(--topbar) + var(--altura-segmentos) + 16px);
    left: 0;
  }
}

@media (max-width: 1100px) {
  :root { --altura-segmentos: 62px; }

  .barra-segmentos-conteudo {
    display: block;
    padding: 6px 14px;
    overflow: hidden;
  }

  .barra-segmentos-titulo { display: none; }

  .navegacao-segmentos {
    justify-content: flex-start !important;
    gap: 8px !important;
    -webkit-overflow-scrolling: touch;
  }

  .segmento-nav {
    flex: 0 0 auto !important;
    min-width: 142px;
    min-height: 50px;
    padding-inline: 12px !important;
    font-size: 10px !important;
  }

  body.sidebar-produtos-recolhida .sidebar {
    display: none !important;
  }

  body.sidebar-produtos-recolhida .mostrar-sidebar-produtos {
    align-self: flex-start;
    margin: 12px 16px 0;
    border-radius: 8px;
  }

  .recolher-sidebar {
    width: auto !important;
    min-width: 96px !important;
    height: 44px;
    flex-basis: auto !important;
    padding-inline: 10px 12px !important;
  }
}

@media (max-width: 560px) {
  .segmento-nav {
    min-width: 132px;
    gap: 7px;
  }

  .segmento-nav-icone {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
  }

  .cabecalho-explorar h2 { font-size: 14px; }
  .cabecalho-explorar-acoes { gap: 5px; }
  .cabecalho-explorar .alternar-filtros { padding-inline: 8px; }
  .recolher-sidebar { min-width: 86px !important; padding-inline: 7px 9px !important; font-size: 10px; }
}

/* ==============================================================
   TABLET HORIZONTAL — VISUALIZAÇÃO PRINCIPAL PARA VISITAS
   Evita que telas touch largas recebam a composição de celular.
============================================================== */
@media (min-width: 768px) and (max-width: 1400px) and (orientation: landscape) {
  :root {
    --topbar: 76px;
    --altura-segmentos: 60px;
  }

  header.topbar {
    height: var(--topbar) !important;
    min-height: var(--topbar) !important;
    padding: 8px 18px !important;
    display: grid !important;
    grid-template-columns: auto minmax(220px, 1fr) auto !important;
    grid-template-rows: 1fr !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    align-items: center !important;
  }

  .topbar-logos {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  header.topbar .logo-info {
    width: clamp(96px, 10vw, 125px) !important;
    max-width: 125px !important;
    height: 50px !important;
    max-height: 50px !important;
    object-fit: contain;
  }

  .topbar-logos .separador-logo {
    display: block !important;
    height: 28px !important;
  }

  .topbar-identidade {
    width: 120px !important;
  }

  .topbar-identidade strong {
    font-size: 11px !important;
  }

  .topbar-identidade span {
    display: none;
  }

  .busca-topbar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .busca-topbar input {
    height: 44px !important;
    font-size: 15px !important;
  }

  .top-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: auto !important;
    margin: 0 !important;
  }

  .btn-favoritos-nav {
    min-height: 44px !important;
    padding: 8px 13px !important;
    font-size: 10px !important;
  }

  .barra-segmentos-conteudo {
    padding: 6px 18px !important;
    grid-template-columns: 168px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .barra-segmentos-titulo {
    display: block !important;
    font-size: 8px !important;
  }

  .navegacao-segmentos {
    gap: 8px !important;
    overflow: hidden !important;
  }

  .segmento-nav {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 7px 9px !important;
    gap: 7px !important;
    font-size: 10px !important;
  }

  .segmento-nav-icone {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
  }

  .catalogo {
    display: grid !important;
    grid-template-columns: clamp(270px, 29vw, 330px) minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important;
    padding: 0 !important;
    align-items: start !important;
  }

  .sidebar {
    position: sticky !important;
    z-index: 20 !important;
    top: calc(var(--topbar) + var(--altura-segmentos)) !important;
    right: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 12px !important;
    overflow: hidden !important;
    border-right: 1px solid #dce4f2 !important;
    border-bottom: 0 !important;
    background: #fbfcff !important;
    box-shadow: none !important;
  }

  .sidebar .painel-filtros:not(.fechado) {
    position: absolute !important;
    z-index: 6 !important;
    top: 58px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100% - 70px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid #ccd7ea !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(20, 43, 99, .18) !important;
  }

  .sidebar .filtro-medidas-projeto {
    margin: 8px !important;
    padding: 10px !important;
  }

  .sidebar .filtro-medidas-campos {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .sidebar .filtro-medidas-campos label {
    grid-template-columns: minmax(0, 1fr) 17px !important;
    grid-template-rows: auto 38px !important;
    gap: 4px 2px !important;
    font-size: 8px !important;
  }

  .sidebar .filtro-medidas-campos label > span {
    grid-column: 1 / -1;
  }

  .sidebar .filtro-medidas-campos input {
    grid-column: 1;
    grid-row: 2;
    height: 38px !important;
    padding: 0 6px !important;
    font-size: 11px !important;
    text-align: left !important;
  }

  .sidebar .filtro-medidas-campos input::placeholder {
    font-size: 9px;
  }

  .sidebar .filtro-medidas-campos small {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    font-size: 7px !important;
  }

  .sidebar .filtro-tipo-produto select {
    height: 38px !important;
    min-height: 38px !important;
    font-size: 12px !important;
  }

  .sidebar .cabecalho-explorar {
    margin-bottom: 8px !important;
  }

  .sidebar .resultado-cabecalho {
    margin: 10px 0 8px !important;
    gap: 6px !important;
  }

  .sidebar .resultado-cabecalho strong,
  .sidebar .ordenacao,
  .sidebar .ordenacao select {
    font-size: 8px !important;
  }

  .sidebar .ordenacao select {
    min-width: 118px !important;
  }

  .sidebar .produto {
    min-height: 72px !important;
    grid-template-columns: 60px minmax(0, 1fr) 34px !important;
    gap: 8px !important;
    padding: 7px 8px !important;
  }

  .sidebar .produto-imagem {
    width: 60px !important;
    height: 48px !important;
  }

  .sidebar .produto-informacoes h3 {
    font-size: 12px !important;
  }

  .sidebar .produto-informacoes p {
    font-size: 9px !important;
  }

  body.sidebar-produtos-recolhida .sidebar {
    display: none !important;
  }

  body.sidebar-produtos-recolhida .catalogo {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.sidebar-produtos-recolhida .mostrar-sidebar-produtos {
    position: fixed !important;
    z-index: 84 !important;
    top: 50% !important;
    left: 0 !important;
    width: 46px !important;
    min-width: 46px !important;
    min-height: 154px !important;
    margin: 0 !important;
    padding: 11px 8px !important;
    flex-direction: column !important;
    gap: 9px !important;
    border-radius: 0 8px 8px 0 !important;
    transform: translateY(-50%);
  }

  body.sidebar-produtos-recolhida .mostrar-sidebar-produtos span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }

  .lista-produtos {
    flex: 1 1 0 !important;
    height: auto !important;
    min-height: 220px !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
  }

  .detalhes {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .voltar-produtos {
    display: none !important;
  }

  .produto-hero {
    width: 100% !important;
    min-width: 0 !important;
    padding: 24px 28px 12px 64px !important;
    display: grid !important;
    grid-template-columns: minmax(300px, 36%) minmax(0, 64%) !important;
    gap: 24px !important;
    align-items: center !important;
  }

  body:not(.sidebar-produtos-recolhida) .produto-hero {
    padding-left: 28px !important;
    grid-template-columns: minmax(250px, 40%) minmax(0, 60%) !important;
    gap: 18px !important;
  }

  body:not(.sidebar-produtos-recolhida) .produto-resumo .nome-produto {
    font-size: clamp(22px, 2.2vw, 29px) !important;
  }

  .produto-resumo {
    width: 100% !important;
    min-width: 0 !important;
  }

  .produto-resumo .nome-produto {
    font-size: clamp(25px, 2.35vw, 32px) !important;
    line-height: 1.12 !important;
  }

  .produto-resumo .destaques {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .produto-media {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .produto-imagem-principal {
    height: clamp(300px, 43dvh, 410px) !important;
    min-height: 300px !important;
    max-height: 410px !important;
    padding: 14px 18px !important;
  }

  .produto-imagem-principal img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  .galeria-miniaturas {
    width: 60px !important;
    height: auto !important;
    max-height: 410px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .miniatura {
    width: 58px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  .acoes {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }

  .acoes > a,
  .acoes > button {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 160px;
  }

  .area-tecnica {
    padding: 4px 28px 36px !important;
  }

  .tabs {
    gap: 30px !important;
  }

  .campanha-reabrir {
    right: 16px !important;
    bottom: 16px !important;
    transform: scale(.86);
    transform-origin: right bottom;
  }

  .secao-contato,
  .rodape {
    margin-left: 0 !important;
  }
}

/* ==============================================================
   DESKTOP AMPLO — MESMO PADRÃO COMPACTO APROVADO NO TABLET
============================================================== */
@media (min-width: 1401px) {
  .catalogo {
    padding-left: 340px !important;
  }

  .sidebar {
    top: calc(var(--topbar) + var(--altura-segmentos)) !important;
    width: 340px !important;
    height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important;
    padding: 14px !important;
  }

  .secao-contato,
  .rodape {
    margin-left: 340px !important;
  }

  .sidebar .painel-filtros:not(.fechado) {
    position: absolute !important;
    z-index: 6 !important;
    top: 62px !important;
    right: 14px !important;
    left: 14px !important;
    width: auto !important;
    max-height: calc(100% - 78px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid #ccd7ea !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(20, 43, 99, .18) !important;
  }

  .sidebar .filtro-medidas-projeto {
    margin: 8px !important;
    padding: 11px !important;
  }

  .sidebar .filtro-medidas-campos {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .sidebar .filtro-medidas-campos label {
    grid-template-columns: minmax(0, 1fr) 18px !important;
    grid-template-rows: auto 40px !important;
    gap: 4px 2px !important;
    font-size: 8px !important;
  }

  .sidebar .filtro-medidas-campos label > span {
    grid-column: 1 / -1;
  }

  .sidebar .filtro-medidas-campos input {
    grid-column: 1;
    grid-row: 2;
    height: 40px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
    text-align: left !important;
  }

  .sidebar .filtro-medidas-campos input::placeholder {
    font-size: 9px;
  }

  .sidebar .filtro-medidas-campos small {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    font-size: 7px !important;
  }

  .sidebar .filtro-tipo-produto select {
    height: 40px !important;
    font-size: 12px !important;
  }

  .sidebar .cabecalho-explorar {
    margin-bottom: 9px !important;
  }

  .sidebar .resultado-cabecalho {
    margin: 11px 0 8px !important;
  }

  .sidebar .lista-produtos {
    min-height: 240px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  .sidebar .produto {
    min-height: 74px !important;
    grid-template-columns: 62px minmax(0, 1fr) 32px !important;
    gap: 9px !important;
    padding: 7px 9px !important;
  }

  .sidebar .produto-imagem {
    width: 62px !important;
    height: 50px !important;
  }

  .sidebar .produto-informacoes h3 {
    font-size: 12px !important;
  }

  .sidebar .produto-informacoes p {
    font-size: 9px !important;
  }
}

@media (max-width: 767px) {
  .topbar-identidade {
    width: auto;
    max-width: 88px;
  }

  .topbar-identidade strong {
    font-size: 9px;
    line-height: 1.1;
  }

  .topbar-identidade span {
    display: none;
  }
}

/* ==============================================================
   TOP BAR COMPACTA — 14/10/2026
   Reduz altura sem alterar navegação, busca ou itens selecionados.
============================================================== */
@media (min-width: 1401px) {
  :root { --topbar: 88px; }

  header.topbar {
    height: var(--topbar) !important;
    min-height: var(--topbar) !important;
    padding: 8px clamp(24px, 2.6vw, 48px) !important;
    gap: clamp(22px, 3vw, 50px) !important;
  }

  header.topbar .logo-info {
    width: 142px !important;
    max-width: 142px !important;
    height: 62px !important;
    max-height: 62px !important;
  }

  .topbar-logos { gap: 18px !important; }
  .topbar-logos .separador-logo { height: 36px !important; }
  .topbar-identidade { width: clamp(230px, 19vw, 330px) !important; }
  .topbar-identidade strong { font-size: 20px !important; }
  .topbar-identidade span { font-size: 10px !important; }
  .busca-topbar input { height: 48px !important; }
  .btn-favoritos-nav { min-height: 44px !important; }
}

@media (max-width: 767px) {
  :root { --topbar: 110px; }

  header.topbar {
    min-height: var(--topbar) !important;
    grid-template-rows: 46px 38px !important;
    padding-block: 6px 8px !important;
    row-gap: 6px !important;
  }
}

/* Top bar e tablets — revisão 15/10/2026. Mantém textos e identidade. */
@media (min-width: 768px) {
  header.topbar { display: grid !important; padding: 8px 16px !important; gap: 12px !important; align-content: center !important; }
  header.topbar .topbar-logos { grid-column: 1 !important; grid-row: 1 !important; width: auto !important; min-width: 0 !important; gap: 12px !important; }
  header.topbar .logo-info { width: 132px !important; max-width: 132px !important; height: 52px !important; max-height: 52px !important; object-position: left center !important; }
  header.topbar .topbar-identidade { width: max-content !important; max-width: none !important; }
  header.topbar .topbar-identidade strong { font-size: 20px !important; white-space: nowrap; }
  header.topbar .topbar-identidade span { display: block !important; white-space: nowrap !important; font-size: 11px !important; }
  header.topbar .separador-logo { height: 32px !important; }
  header.topbar .busca-topbar { width: 100% !important; min-width: 0 !important; margin: 0 !important; justify-self: end !important; }
  header.topbar .busca-topbar input { height: 44px !important; font-size: 16px !important; }
  header.topbar .top-actions { width: auto !important; margin: 0 !important; justify-self: end !important; }
  header.topbar .btn-favoritos-nav { min-height: 44px !important; white-space: nowrap; }
  #menuMobile { display: none !important; }
}
@media (min-width: 1101px) {
  :root { --topbar: 76px; }
  header.topbar { grid-template-columns: max-content minmax(200px, 1fr) max-content !important; grid-template-rows: 1fr !important; }
  header.topbar .busca-topbar { grid-column: 2 !important; grid-row: 1 !important; max-width: 440px !important; }
  header.topbar .top-actions { grid-column: 3 !important; grid-row: 1 !important; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  :root { --topbar: 116px; --altura-segmentos: 52px; }
  header.topbar { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-rows: 48px 44px !important; row-gap: 6px !important; }
  header.topbar .logo-info { width: 104px !important; max-width: 104px !important; height: 46px !important; max-height: 46px !important; }
  header.topbar .topbar-identidade strong { font-size: 17px !important; }
  header.topbar .topbar-identidade span { font-size: 10px !important; }
  header.topbar .busca-topbar { grid-column: 1 / -1 !important; grid-row: 2 !important; max-width: none !important; }
  header.topbar .top-actions { grid-column: 2 !important; grid-row: 1 !important; }
  header.topbar .btn-favoritos-nav { font-size: 10px !important; padding: 8px 10px !important; }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .barra-segmentos-conteudo { grid-template-columns: minmax(0, 1fr) !important; padding: 0 12px !important; }
  .barra-segmentos-titulo { display: none !important; }
  .navegacao-segmentos { overflow-x: auto !important; gap: 8px !important; padding-inline: 0 !important; }
  .segmento-nav { flex: 1 0 auto !important; min-height: 44px !important; padding: 6px 12px !important; font-size: 12px !important; }
  .produto-imagem-principal img { max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
  .produto-resumo, .produto-media { min-width: 0 !important; }
  .tabs { gap: 20px !important; overflow-x: auto !important; flex-wrap: nowrap !important; }
  .tab { flex-shrink: 0 !important; min-height: 44px !important; }
  .sidebar .produto-favorito { min-width: 44px !important; min-height: 44px !important; }
  .sidebar .produto { grid-template-columns: 58px minmax(0,1fr) 44px !important; }
  .sidebar .produto-informacoes p { font-size: 11px !important; }
  .sidebar .ordenacao, .sidebar .ordenacao select, .sidebar .resultado-cabecalho strong { font-size: 11px !important; }
}
@media (min-width: 768px) and (max-width: 1400px) and (orientation: landscape) {
  .catalogo { grid-template-columns: 280px minmax(0, 1fr) !important; }
  body.sidebar-produtos-recolhida .catalogo { grid-template-columns: minmax(0, 1fr) !important; }
  .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; padding: 20px !important; gap: 20px !important; }
  .produto-media { flex-direction: column !important; }
  .galeria-miniaturas { flex-direction: row !important; width: 100% !important; max-height: 64px !important; overflow-x: auto !important; overflow-y: hidden !important; }
  .produto-imagem-principal { width: 100% !important; padding: 12px !important; }
  body.sidebar-produtos-recolhida .produto-hero { padding-left: 60px !important; }
}
@media (min-width: 768px) and (max-width: 1100px) and (orientation: landscape) {
  body:not(.sidebar-produtos-recolhida) .produto-hero { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (min-width: 768px) and (max-width: 1400px) and (orientation: portrait) {
  .lista-produtos { height: clamp(220px, 25dvh, 300px) !important; max-height: 300px !important; }
  .produto-imagem-principal { height: clamp(300px, 34dvh, 440px) !important; max-height: 440px !important; }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .sidebar .produto-imagem { width: 58px !important; height: 54px !important; min-width: 0 !important; overflow: hidden; }
  .sidebar .produto-imagem img { max-width: 100% !important; max-height: 100% !important; object-fit: contain; }
}
@media (min-width: 768px) and (max-width: 1400px) and (orientation: landscape) {
  .sidebar .cabecalho-explorar { flex-wrap: wrap !important; gap: 8px !important; }
  .sidebar .cabecalho-explorar h2 { flex: 1 0 100%; }
  .sidebar .cabecalho-explorar-acoes { width: 100%; justify-content: space-between; }
  .sidebar .painel-filtros:not(.fechado) { top: 100px !important; max-height: calc(100% - 112px) !important; }
}
@media (min-width: 1000px) and (max-width: 1100px) and (orientation: landscape) {
  body:not(.sidebar-produtos-recolhida) .produto-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}

/* Ajuste exclusivo para tablets com toque. Desktop e celular preservados. */
@media (min-width: 768px) and (max-width: 1600px) and (hover: none) and (pointer: coarse) {
  :root { --altura-segmentos: 48px; }
  .barra-segmentos-conteudo { height: 48px !important; padding-block: 0 !important; }
  .segmento-nav { min-height: 44px !important; height: 44px !important; padding-block: 4px !important; }
  .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { padding: 16px !important; gap: 18px !important; align-items: start !important; }
  body.sidebar-produtos-recolhida .produto-hero { padding-left: 58px !important; }
  .produto-resumo .nome-produto, body:not(.sidebar-produtos-recolhida) .produto-resumo .nome-produto { font-size: clamp(21px, 2vw, 26px) !important; line-height: 1.15 !important; margin: 10px 0 8px !important; }
  .produto-identificacao { font-size: 12px !important; margin-bottom: 8px !important; }
  .produto-resumo .destaques { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px 12px !important; margin: 12px 0 !important; padding: 0 !important; }
  .produto-resumo .destaque { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; min-height: 44px !important; padding: 0 !important; margin: 0 !important; }
  .produto-resumo .destaque-icone { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; margin: 0 !important; }
  .produto-resumo .destaque-texto { min-width: 0 !important; gap: 2px !important; }
  .produto-resumo .destaque-texto small, .produto-resumo .destaque-rotulo { font-size: 10px !important; line-height: 1.2 !important; }
  .produto-resumo .destaque-valor { font-size: 12px !important; line-height: 1.3 !important; }
  .produto-imagem-principal { height: clamp(220px, 36dvh, 320px) !important; min-height: 220px !important; max-height: 320px !important; padding: 8px !important; }
  .produto-imagem-principal img { width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
  .produto-media { flex-direction: column !important; gap: 8px !important; }
  .galeria-miniaturas { width: 100% !important; height: 52px !important; max-height: 52px !important; flex-direction: row !important; overflow-x: auto !important; overflow-y: hidden !important; }
  .miniatura { flex: 0 0 52px !important; min-height: 44px !important; height: 44px !important; }
  .acoes { margin-top: 12px !important; gap: 8px !important; }
  .acoes > button, .acoes > a { min-height: 44px !important; padding: 10px !important; font-size: 11px !important; }
  .area-tecnica { padding: 8px 16px 24px !important; }
  .tabs { margin-top: 0 !important; gap: 18px !important; }
  .tab { font-size: 12px !important; }
}
@media (min-width: 1101px) and (max-width: 1600px) and (hover: none) and (pointer: coarse) {
  :root { --topbar: 68px; }
  header.topbar { padding-block: 4px !important; }
  header.topbar .logo-info { height: 48px !important; max-height: 48px !important; }
}
@media (min-width: 768px) and (max-width: 1600px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .catalogo { display: grid !important; padding: 0 !important; grid-template-columns: 268px minmax(0,1fr) !important; }
  .sidebar { width: 268px !important; }
  body.sidebar-produtos-recolhida .catalogo { grid-template-columns: minmax(0,1fr) !important; }
  .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}
@media (min-width: 768px) and (max-width: 1600px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .lista-produtos { height: 220px !important; max-height: 220px !important; }
  .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}
@media (min-width: 1401px) and (max-width: 1600px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .sidebar { position: sticky !important; top: calc(var(--topbar) + var(--altura-segmentos)) !important; height: calc(100dvh - var(--topbar) - var(--altura-segmentos)) !important; }
  .secao-contato, .rodape { margin-left: 0 !important; }
}

/* Refinamento do portfólio: nomes completos, resumo compacto e comparação. */
#atalhosPortfolio{display:flex;gap:8px;overflow-x:auto;padding:10px 24px;background:#f5f7fa;border-bottom:1px solid #dde3eb}
#atalhosPortfolio button{flex:0 0 auto;border:1px solid #d7dfe9;border-radius:8px;background:white;color:#153453;padding:10px 14px;font:inherit;font-size:13px;min-height:44px;cursor:pointer}
#atalhosPortfolio button[aria-pressed=true]{background:#153453;color:white}
.produto-informacoes h3{display:block!important;-webkit-line-clamp:unset!important;white-space:normal!important;overflow:visible!important;max-height:none!important;overflow-wrap:anywhere}
.resumo-projeto-compacto{padding:12px 14px;background:#f3f6fa;border:1px solid #dce3ed;border-radius:10px;margin:14px 0;font-size:13px;line-height:1.5}
.resumo-projeto-compacto p{margin:4px 0;overflow-wrap:anywhere}.resumo-projeto-compacto button{border:0;background:none;padding:5px 0;color:#153453;text-align:left;text-decoration:underline;cursor:pointer;font:inherit}
#btn-favoritar-detalhe{background:#153453;color:white;border-color:#153453}.acoes{gap:8px}.acoes a{font-size:13px}
#atalhosPortfolio{position:sticky;top:calc(var(--topbar) + var(--altura-segmentos));z-index:89}
@media(min-width:768px){.sidebar{top:calc(var(--topbar) + var(--altura-segmentos) + var(--portfolio-extras,64px))!important;height:calc(100dvh - var(--topbar) - var(--altura-segmentos) - var(--portfolio-extras,64px))!important}}
@media(min-width:768px) and (max-width:1100px) and (orientation:portrait){.sidebar{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}}
/* Refinamento visual aplicado sobre a versão recebida em 19/10. */
@media(min-width:1101px){
.produto-hero,body:not(.sidebar-produtos-recolhida) .produto-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important}
.produto-media{grid-column:1!important;grid-row:1!important}
.produto-resumo{grid-column:2!important;grid-row:1!important}
.produto-resumo .nome-produto{font-size:clamp(23px,2vw,30px)!important;line-height:1.18!important}
}
.acoes #btn-favoritar-detalhe{background:#17366c!important;color:#fff!important;border-color:#17366c!important}
.acoes a{background:transparent!important;color:#17366c!important;border:0!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:4px}
.barra-campanha{min-height:44px!important;padding:6px 24px!important;box-shadow:0 -2px 8px #10274418!important;gap:12px!important}
.barra-campanha .campanha-selo{width:28px!important;height:28px!important;font-size:18px!important}
.barra-campanha .campanha-titulo strong{font-size:13px!important;letter-spacing:1px!important}
.barra-campanha .campanha-periodo strong{font-size:13px!important}
.barra-campanha .campanha-fechar{min-width:44px;min-height:32px}
@media(max-width:767px){.barra-campanha{padding:6px 10px!important}.barra-campanha .campanha-selo{display:none!important}}

/* Refinamento 19/10: navegação, painéis e medidas compactas. */
:root { --altura-segmentos: 48px; }
.barra-segmentos { background: #fff !important; box-shadow: none; }
.barra-segmentos-conteudo { display: block; padding: 0 24px !important; }
.barra-segmentos-titulo, .segmento-nav-icone { display: none !important; }
.navegacao-segmentos { justify-content: flex-start !important; gap: 16px !important; }
.segmento-nav { position: relative; flex: 0 0 auto !important; min-height: 44px !important; padding: 0 16px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 13px !important; transform: none !important; }
.segmento-nav.ativo { color: #17366c !important; background: transparent !important; }
.segmento-nav.ativo::after { content: ''; position: absolute; left: 10px !important; right: 10px !important; bottom: 0; height: 3px; background: #e52633; }
#atalhosPortfolio { padding: 8px 24px; gap: 8px; background: #fafbfd; }
#atalhosPortfolio button { min-height: 36px; padding: 6px 13px; font-size: 12px; white-space: nowrap; }
.portfolio-caminho { margin: 0 0 16px; color: #65728a; font-size: 12px; }
.portfolio-caminho span { padding: 0 8px; color: #a7afbd; }
.acoes a.botao-preto { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 18px; border: 1px solid #17366c !important; background: #fff !important; color: #17366c !important; border-radius: 7px; text-decoration: none !important; }
.acoes a.botao-preto:hover { background: #edf3fa !important; }
body.sidebar-produtos-recolhida .mostrar-sidebar-produtos { position: fixed !important; display: inline-flex !important; z-index: 100 !important; top: calc(var(--topbar) + var(--altura-segmentos) + var(--portfolio-extras, 52px) + 8px) !important; left: 0 !important; width: auto !important; min-width: 44px !important; min-height: 44px !important; padding: 10px 12px !important; margin: 0 !important; flex-direction: row !important; transform: none !important; }
body.sidebar-produtos-recolhida .mostrar-sidebar-produtos span { display: inline !important; writing-mode: horizontal-tb !important; transform: none !important; }
body.sidebar-produtos-recolhida .secao-downloads-gerais { margin-left: 0 !important; }
.drawer-favoritos { height: 100dvh !important; overflow: hidden; }
.drawer-header { flex: 0 0 var(--topbar); height: var(--topbar); min-height: var(--topbar); background: #102b61 !important; }
.drawer-content { min-height: 0; overscroll-behavior: contain; scrollbar-gutter: stable; }
.drawer-footer { flex-shrink: 0; border-top: 1px solid #e0e6ee; background: #fff; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.medidas-projeto-destaque-sem-blocagem { max-width: 480px; }
.medidas-ia-grade { grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 480px)); gap: 12px; align-items: start; }
.medidas-ia-card { width: 100%; box-sizing: border-box; }
.medidas-ia-card h4 { padding: 10px 12px; line-height: 1.4; }
.medida-ia-linha { grid-template-columns: minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, 1fr); min-height: 42px; }
.medida-ia-linha > * { padding: 8px 10px; min-width: 0; overflow-wrap: anywhere; }
.medida-status { line-height: 1.4; }
.medida-status i { flex-shrink: 0; }
@media (min-width: 1101px), (min-width: 768px) and (orientation: landscape) {
 .sidebar { position: fixed !important; left: 0; top: calc(var(--topbar) + var(--altura-segmentos) + var(--portfolio-extras,52px)) !important; height: calc(100dvh - var(--topbar) - var(--altura-segmentos) - var(--portfolio-extras,52px)) !important; max-height: none !important; }
}
@media (max-width: 767px) {
 .barra-segmentos-conteudo { padding-inline: 10px !important; }
 .navegacao-segmentos { gap: 4px !important; }
 .segmento-nav { padding-inline: 12px !important; }
 #atalhosPortfolio { padding-inline: 12px; }
 .drawer-header h3 { font-size: 17px; }
}
@media (min-width: 1101px), (min-width: 768px) and (orientation: landscape) {
 body { --portfolio-sidebar: 300px; }
 .catalogo { display: block !important; padding: 0 0 0 var(--portfolio-sidebar) !important; }
 .sidebar { width: var(--portfolio-sidebar) !important; box-sizing: border-box; }
 body.sidebar-produtos-recolhida .catalogo { padding-left: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1100px) and (orientation: landscape) {
 body { --portfolio-sidebar: 268px; }
}
.portfolio-caminho { padding: 14px 36px 0; }
@media(max-width:767px){ .portfolio-caminho { padding: 12px 16px 0; } }
/* Galeria ampliada e lista inspirada na referência, preservando nomes completos. */
@media(min-width:1101px){
 .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) !important; gap: 24px !important; align-items: start !important; }
 .produto-media { flex-direction: column !important; width: 100%; gap: 12px !important; }
 .produto-imagem-principal { width: 100% !important; height: clamp(400px,52vh,620px) !important; min-height: 0 !important; max-height: none !important; padding: 4px !important; }
 .produto-imagem-principal img { width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
 .galeria-miniaturas { flex-direction: row !important; width: 100% !important; justify-content: center !important; flex-wrap: wrap; }
 .produto-resumo { padding-top: 0 !important; }
 .produto-resumo .destaques { gap: 14px !important; margin-block: 20px !important; }
}
.sidebar .cabecalho-explorar { align-items: center; margin-bottom: 16px !important; }
.sidebar .cabecalho-explorar h2 { font-size: 18px !important; }
.sidebar .resultado-cabecalho { display: flex !important; flex-direction: column-reverse; align-items: stretch !important; gap: 12px !important; margin: 0 0 14px !important; }
.sidebar .ordenacao { width: 100%; font-size: 0 !important; }
.sidebar .ordenacao select { width: 100%; min-height: 40px; border: 1px solid #dce3ed; border-radius: 7px; padding: 8px 10px; background: white; font-size: 12px !important; color: #183568; }
.sidebar .produto { grid-template-columns: 76px minmax(0,1fr) 24px !important; gap: 10px !important; padding: 12px 8px !important; margin-bottom: 6px; border-radius: 8px !important; }
.sidebar .produto-imagem { width: 76px !important; height: 90px !important; background: #fff; border: 1px solid #eef0f4; border-radius: 5px; }
.sidebar .produto-imagem img { width: 100%; height: 100%; object-fit: contain; }
.sidebar .produto-informacoes h3 { font-size: 12px !important; line-height: 1.35 !important; }
.sidebar .produto-informacoes p { white-space: normal !important; overflow-wrap: anywhere; }
.sidebar .produto.ativo { background: #eef2fa !important; border: 1px solid #234583 !important; }
@media(min-width:1101px){body{--portfolio-sidebar:340px;}}
.sidebar .ordenacao { display: block !important; width: 100% !important; max-width: none !important; }
.sidebar .ordenacao select { display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }
.sidebar .cabecalho-explorar { gap: 8px !important; }
.sidebar .recolher-sidebar { min-width: 32px !important; width: 32px !important; padding: 6px !important; }
.sidebar .recolher-sidebar span { display: none !important; }
/* Bloco único de imagem: largura independente da altura dos dados. */
.produto-media {
 --altura-foto: 420px;
 display: grid !important;
 grid-template-columns: minmax(0,1fr) !important;
 grid-template-rows: var(--altura-foto) auto !important;
 align-content: start !important;
 align-items: start !important;
 align-self: start !important;
 height: auto !important;
 min-height: 0 !important;
 max-height: none !important;
 gap: 10px !important;
 width: 100% !important;
}
.produto-imagem-principal {
 width: 100% !important;
 height: var(--altura-foto) !important;
 min-height: 0 !important;
 max-height: var(--altura-foto) !important;
 padding: 8px !important;
 margin: 0 !important;
 box-sizing: border-box !important;
 overflow: hidden !important;
}
.produto-imagem-principal img {
 display: block !important;
 width: 100% !important;
 height: 100% !important;
 max-width: 100% !important;
 max-height: 100% !important;
 padding: 0 !important;
 margin: 0 !important;
 object-fit: contain !important;
 object-position: center !important;
 transform: none !important;
}
.galeria-miniaturas {
 display: flex !important;
 flex-direction: row !important;
 flex-wrap: nowrap !important;
 justify-content: flex-start !important;
 width: 100% !important;
 height: 64px !important;
 min-height: 0 !important;
 max-height: 64px !important;
 overflow-x: auto !important;
 overflow-y: hidden !important;
 padding: 2px 0 6px !important;
 box-sizing: border-box !important;
}
.galeria-miniaturas .miniatura { flex: 0 0 58px !important; width: 58px !important; height: 52px !important; }
@media(min-width:1101px){
 .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero {
  grid-template-columns: minmax(0,58fr) minmax(0,42fr) !important;
  gap: 24px !important;
  align-items: start !important;
 }
}
@media(min-width:768px) and (max-width:1100px){.produto-media{--altura-foto:320px;}}
@media(max-width:767px){.produto-media{--altura-foto:280px;}}
/* Categorias: rolagem preservada, sem trilho visual. */
#atalhosPortfolio { scrollbar-width: none; -ms-overflow-style: none; }
#atalhosPortfolio::-webkit-scrollbar { display: none; width: 0; height: 0; }
/* Tabelas técnicas: uma única grade e colunas idênticas em todos os produtos. */
.medidas-grade-padronizada {
 display: grid;
 width: 100%;
 max-width: 840px;
 grid-template-columns: repeat(2,minmax(0,1fr));
 gap: 12px;
 align-items: stretch;
 margin: 0 0 16px;
}
.medidas-grade-padronizada .medidas-ia-card { border-radius: 8px; }
.medidas-grade-padronizada .medidas-ia-card h4 {
 display: flex;
 align-items: center;
 min-height: 40px;
 box-sizing: border-box;
 padding: 8px 10px;
 font-size: 10px;
 line-height: 1.3;
}
.medidas-grade-padronizada .medida-ia-linha {
 grid-template-columns: minmax(0,42fr) minmax(0,25fr) minmax(0,33fr);
 min-height: 40px;
 align-items: center;
}
.medidas-grade-padronizada .medida-ia-linha > * { padding: 7px 8px; line-height: 1.35; }
.medidas-grade-padronizada .medida-ia-item { font-size: 10px; gap: 3px; }
.medidas-grade-padronizada .medida-ia-item small { font-size: 8px; }
.medidas-grade-padronizada .medida-ia-linha strong { font-size: 11px; }
.medidas-grade-padronizada .medida-status { font-size: 8px; gap: 4px; }
.medidas-grade-padronizada .medida-status i { width: 15px; height: 15px; font-size: 8px; }
@media(max-width:1100px){
 .medidas-grade-padronizada { grid-template-columns: minmax(0,1fr); max-width: 414px; }
}
/* Aproveita a terceira coluna para manter as cinco tabelas em duas linhas. */
@media(min-width:1400px){
 .medidas-grade-padronizada { max-width: 1260px; grid-template-columns: repeat(3,minmax(0,1fr)); }
 .medidas-grade-padronizada > .medidas-ia-card:nth-child(3) { grid-column: 1; grid-row: 2; }
 .medidas-grade-padronizada > .medidas-ia-card:nth-child(4) { grid-column: 2; grid-row: 2; }
 .medidas-grade-padronizada > .medidas-ia-card:nth-child(5) { grid-column: 3; grid-row: 1; }
}
/* Dimensões essenciais e aproveitamento da altura livre da galeria. */
.medidas-grade-padronizada { max-width: 414px !important; grid-template-columns: minmax(0,1fr) !important; }
@media(min-width:1101px){
 .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { align-items: stretch !important; }
 .produto-media {
  --altura-foto: 500px;
  align-self: stretch !important;
  grid-template-rows: minmax(var(--altura-foto),1fr) 64px !important;
 }
 .produto-imagem-principal {
  height: 100% !important;
  max-height: none !important;
  min-height: var(--altura-foto) !important;
  position: relative;
 }
 .produto-imagem-principal img {
  position: absolute;
  inset: 8px;
  width: calc(100% - 16px) !important;
  height: calc(100% - 16px) !important;
 }
 .galeria-miniaturas { align-self: end !important; }
}
/* Primeira tela: galeria uniforme, independente do tamanho do texto. */
@media(min-width:1101px){
 .portfolio-caminho { padding-top: 10px; margin-bottom: 6px; }
 .produto-hero, body:not(.sidebar-produtos-recolhida) .produto-hero { align-items: start !important; padding-top: 8px !important; gap: 22px !important; }
 .produto-media {
  --altura-foto: clamp(280px, calc(100dvh - 350px), 520px);
  align-self: start !important;
  grid-template-rows: var(--altura-foto) 58px !important;
  gap: 8px !important;
 }
 .produto-imagem-principal { height: var(--altura-foto) !important; min-height: 0 !important; max-height: var(--altura-foto) !important; }
 .galeria-miniaturas { height: 58px !important; max-height: 58px !important; }
 .produto-resumo .nome-produto { font-size: clamp(21px,1.65vw,28px) !important; line-height: 1.15 !important; margin: 10px 0 8px !important; }
 .produto-resumo .produto-identificacao { margin: 0 0 8px !important; font-size: 12px; }
 .produto-resumo .codigo-produto { margin: 0 0 8px !important; }
 .produto-resumo .destaques { margin: 10px 0 !important; gap: 10px !important; }
 .produto-resumo .destaque { display: flex !important; align-items: center !important; gap: 7px !important; padding: 0 !important; }
 .produto-resumo .destaque-icone { width: 28px !important; height: 28px !important; min-width: 28px; margin: 0 !important; }
 .produto-resumo .destaque-texto { gap: 2px !important; }
 .resumo-projeto-compacto { padding: 9px 11px; margin-block: 8px !important; font-size: 12px; }
 .resumo-projeto-compacto p { margin: 5px 0; }
 .produto-resumo .acoes { margin-top: 10px !important; gap: 8px !important; }
 .produto-resumo .acoes > * { padding: 10px !important; min-height: 40px !important; font-size: 10px !important; }
}
@media(min-width:1101px){
 .produto-resumo .destaque { flex-direction: row !important; text-align: left !important; min-height: 44px !important; }
 .produto-resumo .texto-tecnico { font-size: 11px !important; line-height: 1.4; margin: 6px 0 !important; }
}

/* Diferenciais editoriais: texto livre por código Info Store. */
.diferenciais-editoriais { margin-top:18px; padding-top:14px; border-top:1px solid #dce3ee; }
.diferenciais-editoriais h2 { margin:0 0 9px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#19396f; }
.diferenciais-editoriais ul { margin:0; padding-left:18px; display:grid; gap:7px; }
.diferenciais-editoriais li { font-size:13px; line-height:1.5; color:#4c596c; overflow-wrap:anywhere; }
.diferenciais-editoriais li::marker { color:#19396f; }
