@charset "UTF-8";
/* ==========================================================================
   modern.css — Camada de modernização do tema "default" (MCB Kit Alimentos)
   --------------------------------------------------------------------------
   Objetivo: modernizar o visual MANTENDO A BASE (Bootstrap 3 + carfixing).
   - Carregado por ÚLTIMO no <head> (depois de custom.css) para vencer por
     ordem de origem com a menor especificidade possível.
   - NÃO substitui style-main.css/bootstrap.min.css — apenas sobrescreve pontos.
   - Reaproveita as CSS variables já definidas em links-head.php (#var_style):
     --texto_principal, --texto_secundaria, --texto_menu, --texto_topo,
     --bg_topo, --bg_cabecalho, --bg_menu, --hover, --bg_geral, --overlay,
     --footer_bg, --footer_color.
   ========================================================================== */

/* Tokens próprios da camada moderna (espaçamento/raio/sombra/transição) */
:root {
  --m-radius: 12px;
  --m-radius-sm: 8px;
  --m-shadow: 0 8px 24px rgba(17, 22, 34, 0.08);
  --m-shadow-hover: 0 16px 40px rgba(17, 22, 34, 0.14);
  --m-transition: 0.25s ease;
  --m-section-pad: 60px;
}

/* ==========================================================================
   1. BASE / TIPOGRAFIA
   ========================================================================== */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: "Nunito", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: 0.1px;
}

p { line-height: 1.7; }

img { max-width: 100%; height: auto; }

a { transition: color var(--m-transition); }

/* Títulos com um pouco mais de presença e respiro */
h1, h2, h3, h4, h5, h6 {
  font-family: "Nunito", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.2px;
}

/* ==========================================================================
   2. RITMO DE SEÇÕES (GRID GERAL)
   --------------------------------------------------------------------------
   Padroniza o espaçamento vertical entre as seções da home, que hoje usam
   utilitários soltos (pt-40/pb-0). Mantém respiro consistente.
   ========================================================================== */
.main-content > section,
#section-empresa,
#section-servicos,
#section-produtos,
#section-galeria,
#section-parceiros,
#section-contato,
#section-blog {
  padding-top: var(--m-section-pad);
  padding-bottom: var(--m-section-pad);
}

/* O banner do catálogo logo abaixo do hero respira melhor */
.catalogo-produtos {
  display: block;
  margin: 0 auto;
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow);
  transition: transform var(--m-transition), box-shadow var(--m-transition);
}
.catalogo-produtos:hover {
  transform: translateY(-3px);
  box-shadow: var(--m-shadow-hover);
}

/* Títulos de seção: padroniza tamanho e respiro do conjunto .line-bottom */
.section-content .line-bottom,
h2.line-bottom,
h3.line-bottom,
.title.line-bottom {
  margin-bottom: 32px;
  font-weight: 800;
  letter-spacing: 0.4px;
}

/* ==========================================================================
   3. HEADER / MENU
   ========================================================================== */

/* Logo não deve esticar (style-main.css força width:100%) */
.menuzord-brand img {
  width: auto !important;
  max-height: 60px;
  height: auto;
}

/* Barra de busca recolhida deve ficar oculta até ser acionada
   (corrige a "pílula" branca aparecendo no topo) */
#top-search-bar.collapse:not(.in) {
  display: none !important;
}

/* Topbar (faixa de e-mail/redes) com mais respiro */
.header-top .widget {
  padding-top: 4px;
  padding-bottom: 4px;
}
.header-top .styled-icons a {
  transition: opacity var(--m-transition);
}
.header-top .styled-icons a:hover { opacity: 0.75; }

/* Faixa do logo/contato */
.header-middle {
  padding-top: 6px;
  padding-bottom: 6px;
}

/* Menu principal (menuzord): tipografia e respiro mais modernos */
.menuzord-menu > li > a {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding-left: 16px;
  padding-right: 16px;
  transition: background var(--m-transition), color var(--m-transition);
}

/* Dropdown de serviços mais limpo */
.menuzord-menu ul.dropdown {
  border: none;
  box-shadow: var(--m-shadow);
  border-radius: 0 0 var(--m-radius-sm) var(--m-radius-sm);
  overflow: hidden;
  padding: 6px 0;
}
.menuzord-menu ul.dropdown li a {
  transition: background var(--m-transition), color var(--m-transition);
}

/* CTA "Pedir Cotação" no menu: alinhado e destacado */
ul.section-link-externo {
  display: flex;
  align-items: center;
}
ul.section-link-externo li a.btn {
  border-radius: 999px !important;
  font-weight: 700;
  letter-spacing: 0.4px;
  box-shadow: 0 6px 16px rgba(17, 22, 34, 0.18);
  transition: transform var(--m-transition), box-shadow var(--m-transition);
}
ul.section-link-externo li a.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(17, 22, 34, 0.26);
}

/* ==========================================================================
   4. HERO / SLIDER (Revolution Slider)
   --------------------------------------------------------------------------
   Rede de segurança: enquanto o slider NÃO inicializa (a <ul> ainda não
   recebeu a classe .tp-revslider-mainul que o JS adiciona), os <li> ficam
   empilhados. Aqui mostramos apenas o 1º slide, limpo, como banner — sem
   afetar o estado já inicializado.
   ========================================================================== */
.rev_slider_wrapper { overflow: hidden; }

.rev_slider > ul:not(.tp-revslider-mainul) {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  max-height: 78vh;
  overflow: hidden;
}
.rev_slider > ul:not(.tp-revslider-mainul) > li {
  display: none;
}
.rev_slider > ul:not(.tp-revslider-mainul) > li:first-child {
  display: block;
  position: relative;
}
/* No fallback as legendas (posicionadas via JS) viram lixo — escondê-las */
.rev_slider > ul:not(.tp-revslider-mainul) > li:first-child .tp-caption {
  display: none !important;
}
.rev_slider > ul:not(.tp-revslider-mainul) > li:first-child img.rev-slidebg {
  display: block;
  width: 100%;
  height: auto;
}

/* Slide com data-bgfit="cover": a imagem SEMPRE preenche a caixa 16:9 do grid
   (edge-to-edge, sem faixas). As imagens devem ser cadastradas em 16:9 (ideal
   1920x1080) — assim "cover" preenche sem cortar nada; se vier "quase" 16:9,
   corta só uma fração das bordas. O fundo neutro abaixo é apenas fallback caso
   a imagem não carregue. */
#section-slide .rev_slider,
#section-slide .tp-revslider-mainul > li,
#section-slide .slotholder,
#section-slide .tp-bgimg { background-color: #fff; }

/* Estética das legendas quando o slider funciona */
.slide-campo-titulo {
  font-weight: 800 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
.slide-campo-texto {
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.slide-campo-botao .btn {
  border-radius: 999px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   5. CARDS (serviços, produtos, blog, galeria)
   ========================================================================== */

/* --- Serviços (team-members) --- */
.team-members {
  border-radius: var(--m-radius);
  overflow: hidden;
  box-shadow: var(--m-shadow);
  background: #fff;
  transition: transform var(--m-transition), box-shadow var(--m-transition);
}
.team-members:hover {
  transform: translateY(-4px);
  box-shadow: var(--m-shadow-hover);
}
.team-members .team-thumb img {
  transition: transform 0.4s ease;
}
.team-members:hover .team-thumb img {
  transform: scale(1.05);
}

/* --- Produtos --- */
.product {
  border-radius: var(--m-radius);
  overflow: hidden;
  box-shadow: var(--m-shadow);
  background: #fff;
  transition: transform var(--m-transition), box-shadow var(--m-transition);
}
.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--m-shadow-hover);
}
.product .product-thumb { overflow: hidden; }
.product .product-thumb img { transition: transform 0.4s ease; }
.product:hover .product-thumb img { transform: scale(1.05); }
.product .product-details { padding: 16px 12px; }
.product .product-title {
  font-weight: 700;
  margin: 0;
}

/* --- Blog (posts) --- */
.blog-posts .post,
.post.clearfix {
  border-radius: var(--m-radius);
  overflow: hidden;
  box-shadow: var(--m-shadow);
  background: #fff;
  transition: transform var(--m-transition), box-shadow var(--m-transition);
}
.blog-posts .post:hover,
.post.clearfix:hover {
  transform: translateY(-4px);
  box-shadow: var(--m-shadow-hover);
}
.post-thumb { overflow: hidden; }
.post-thumb img { transition: transform 0.4s ease; }
.post:hover .post-thumb img { transform: scale(1.05); }

/* --- Galeria (portfolio) --- */
.portfolio-item .thumb {
  border-radius: var(--m-radius-sm);
  overflow: hidden;
  box-shadow: var(--m-shadow);
}
.portfolio-item .thumb img { transition: transform 0.4s ease; }
.portfolio-item:hover .thumb img { transform: scale(1.06); }

/* Filtro da galeria mais moderno (pílulas) */
.portfolio-filter {
  margin-bottom: 28px;
}
.portfolio-filter a {
  display: inline-block;
  padding: 7px 18px;
  margin: 0 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(17, 22, 34, 0.12);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--m-transition);
}
.portfolio-filter a.active,
.portfolio-filter a:hover {
  color: #fff;
  border-color: var(--texto_principal);
}

/* ==========================================================================
   6. DEPOIMENTOS
   ========================================================================== */
.testimonial.bg-lighter {
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow);
}

/* ==========================================================================
   7. BOTÕES (mantém as cores das vars, moderniza forma/transição)
   ========================================================================== */
.btn {
  border-radius: var(--m-radius-sm);
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: background var(--m-transition), border-color var(--m-transition),
    transform var(--m-transition), box-shadow var(--m-transition);
}
.btn-flat { border-radius: var(--m-radius-sm); }
.btn-theme-colored:hover,
.btn-theme-color-2:hover {
  transform: translateY(-2px);
}

/* WhatsApp flutuante: sombra/realce */
.btn-whatsapp {
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.45);
  transition: transform var(--m-transition);
}
.btn-whatsapp:hover { transform: scale(1.08); }

/* ==========================================================================
   8. FORMULÁRIOS
   ========================================================================== */
.form-control {
  border-radius: var(--m-radius-sm);
  box-shadow: none;
  transition: border-color var(--m-transition), box-shadow var(--m-transition);
}
.form-control:focus {
  border-color: var(--texto_principal);
  box-shadow: 0 0 0 3px rgba(17, 22, 34, 0.08);
}

/* ==========================================================================
   9. FOOTER
   ========================================================================== */
.footer .widget-title {
  font-weight: 800;
  letter-spacing: 0.4px;
  margin-bottom: 18px;
}
.footer .styled-icons a {
  transition: transform var(--m-transition), background var(--m-transition);
}
.footer .styled-icons a:hover { transform: translateY(-3px); }
.footer .newsletter-form .form-control { margin-bottom: 8px; }
.footer-bottom { padding-top: 6px; padding-bottom: 6px; }

/* Voltar ao topo */
.scrollToTop {
  border-radius: var(--m-radius-sm);
  transition: transform var(--m-transition), opacity var(--m-transition);
}
.scrollToTop:hover { transform: translateY(-3px); }

/* ==========================================================================
   10. POLIMENTO (refinos visuais de baixo risco)
   ========================================================================== */

/* Imagem da seção "empresa/soluções" com cara de card */
.img-empresa img {
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow);
  display: block;
}

/* Títulos de seção: respiro inferior consistente (sem mexer no tamanho) */
#section-empresa h2,
#section-servicos h3,
#section-produtos h3,
#section-galeria h2,
#section-contato h2,
#section-blog h2 {
  margin-bottom: 28px;
  line-height: 1.25;
}

/* Depoimentos com mais respiro interno */
.testimonial { padding: 22px; }
.testimonial .comment p { line-height: 1.7; }

/* Logos de parceiros centralizados no carrossel */
#section-parceiros .owl-carousel .item img,
.clients-logo img { margin: 0 auto; }

/* ==========================================================================
   12. CORREÇÕES PÓS-AUDITORIA (a partir do render real da home)
   ========================================================================== */

/* --- HERO: legibilidade do texto sobre a imagem cheia de produtos --- */
.slide-campo-titulo {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6), 0 1px 3px rgba(0, 0, 0, 0.55) !important;
}
.slide-campo-texto {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55), 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

/* --- TÍTULOS DE SEÇÃO: mais presença (vencem o utilitário .font-20) --- */
#section-empresa h2,
#section-servicos h3,
#section-galeria h2,
#section-contato h2,
#section-blog h2,
#section-parceiros h3 {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.4px;
}

/* --- GALERIA: grid uniforme no lugar do masonry (acaba com os buracos) --- */
#section-galeria .portfolio-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  height: auto !important;
  position: static !important;
}
#section-galeria .portfolio-gallery .portfolio-item {
  position: static !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
  /* isotope (v2) posiciona via transform: translate3d — sem zerar, os itens
     saem da célula do grid e sobra espaço em branco (sobretudo no 1º) */
  transform: none !important;
  transition: none !important;
  margin: 0 !important;
  float: none !important;
}
#section-galeria .portfolio-item .thumb {
  height: 210px;
  border-radius: var(--m-radius-sm);
  overflow: hidden;
}
#section-galeria .portfolio-item .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- PARCEIROS: células brancas uniformes + setas limpas --- */
#section-parceiros .clients-logo .item {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--m-radius-sm);
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  margin: 0 6px;
}
#section-parceiros .clients-logo .item img {
  max-height: 70px;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: all var(--m-transition);
}
#section-parceiros .clients-logo .item:hover img {
  filter: none;
  opacity: 1;
}
#section-parceiros .owl-nav button.owl-prev,
#section-parceiros .owl-nav button.owl-next {
  width: 34px;
  height: 34px;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  background: #fff !important;
  color: var(--texto_principal) !important;
  font-size: 0 !important;
  position: relative;
  transition: all var(--m-transition);
}
#section-parceiros .owl-nav button:hover {
  background: var(--texto_principal) !important;
  color: #fff !important;
}
#section-parceiros .owl-nav button.owl-prev::before { content: "\f104"; }
#section-parceiros .owl-nav button.owl-next::before { content: "\f105"; }
#section-parceiros .owl-nav button::before {
  font-family: "FontAwesome";
  font-size: 16px;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}

/* --- RODAPÉ (fundo claro): corrige contraste dos elementos "dark" --- */
/* Botão da newsletter estava branco/transparente → invisível no fundo claro */
footer .bg-newsletter {
  background: var(--texto_principal) !important;
  border: 1px solid var(--texto_principal) !important;
  color: #fff !important;
}
footer .bg-newsletter:hover {
  background: var(--hover) !important;
  border-color: var(--hover) !important;
}
/* Ícones sociais visíveis no claro */
.footer .styled-icons a {
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  color: var(--texto_principal) !important;
}
.footer .styled-icons a:hover {
  background: var(--texto_principal) !important;
  border-color: var(--texto_principal) !important;
  color: #fff !important;
}
/* Títulos do rodapé na cor do tema */
.footer .widget-title {
  color: var(--texto_principal) !important;
}
/* Barra inferior do rodapé: clara e legível */
.footer-bottom {
  background: #f4f5f7 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.footer-bottom p,
.footer-bottom .text-black-777 {
  color: #777 !important;
}

/* ==========================================================================
   11. RESPONSIVO (ajustes finos)
   ========================================================================== */
@media (max-width: 991px) {
  :root { --m-section-pad: 50px; }

  /* Header centralizado e com respiro no mobile/tablet */
  .header-middle .text-right { text-align: center !important; }
  .menuzord-brand { float: none !important; text-align: center; }

  /* A imagem da empresa não deve flutuar colada no texto */
  .img-empresa { float: none !important; width: 100%; margin-bottom: 24px; }

  /* Galeria: 3 colunas no tablet */
  #section-galeria .portfolio-gallery { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
  :root { --m-section-pad: 40px; }

  .header-top { text-align: center; }
  .header-top .styled-icons { float: none !important; text-align: center; }

  ul.section-link-externo { justify-content: center; }

  /* Hero não pode ficar gigante no celular */
  .rev_slider > ul:not(.tp-revslider-mainul) { max-height: 52vh; }

  /* Galeria: 2 colunas no celular */
  #section-galeria .portfolio-gallery { grid-template-columns: repeat(2, 1fr); }
  #section-galeria .portfolio-item .thumb { height: 150px; }
}
