/* =====================================================
   Sul Corte – site.css
   Todo o CSS do site fica aqui. Nunca nos arquivos HTML/PHP.
   Organizado por: Globais → Topo → Rodapé → HOME (seção a seção)
===================================================== */

/* =====================================================
   GLOBAL: Variáveis e Reset
===================================================== */
:root {--laranja: #FF8800; --cinza-escuro: #232323; --cinza-texto: #666666; --cinza-claro: #B7B4B4; --preto: #000000; --branco: #ffffff; --cinza-bg: #f5f5f5; --cinza-medio: #3a3a3a; --font-main: 'Montserrat', sans-serif; --fw-thin: 100; --fw-normal: 400; --fw-bold: 800; --topo-h: 90px; --radius: 4px; --trans: 0.3s ease; --sombra: 0 4px 30px rgba(0,0,0,0.12);}
*, *::before, *::after {box-sizing: border-box; margin: 0; padding: 0;}
[hidden] {display: none !important;}
html {scroll-behavior: smooth; font-size: 16px;}
body {font-family: var(--font-main); font-weight: var(--fw-normal); color: var(--cinza-texto); background: var(--branco); line-height: 1.7; overflow-x: hidden;}
img {display: block; max-width: 100%; height: auto; background: linear-gradient(135deg, #e0e0e0 0%, #c8c8c8 100%);}
img[src=""], img:not([src]) {display: none;}
a {color: inherit; text-decoration: none; transition: color var(--trans), opacity var(--trans);}
ul, ol {list-style: none;}
button {cursor: pointer; border: none; background: none; font-family: var(--font-main);}

.lg-backdrop {background: #00000073!important;}
.lg-toolbar {background: var(--laranja)!important;}
.lg-toolbar .lg-icon {color: #fff!important;}

/* =====================================================
   GLOBAL: Tipografia
===================================================== */
.titulo-grande {font-size: clamp(2rem, 4vw, 3.5rem); font-weight: var(--fw-thin); line-height: 1.15; color: var(--cinza-escuro); letter-spacing: -0.5px;}
.titulo-grande strong, .titulo-grande em {font-weight: var(--fw-bold); font-style: normal; color: var(--laranja);}
.titulo-grande + p {margin-top: 30px;}
.titulo-medio-l {font-size: clamp(2rem, 4vw, 2.5rem); font-weight: var(--fw-thin); line-height: 1.15; color: var(--cinza-escuro); letter-spacing: -0.5px;}
.titulo-medio-l strong, .titulo-medio-l em {font-weight: var(--fw-bold); font-style: normal; color: var(--laranja);}
.titulo-medio {font-size: clamp(2rem, 4vw, 2.5rem); font-weight: var(--fw-thin); line-height: 1.15; color: var(--cinza-escuro); letter-spacing: -0.5px; margin: 20px0 50px;}
.titulo-medio strong, .titulo-medio em {font-weight: var(--fw-normal); font-style: normal; color: var(--cinza-texto);}
.titulo-branco {color: var(--branco);}
.titulo-branco strong, .titulo-branco em {color: var(--laranja);}
.sec-label {display: inline-block; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 3px; text-transform: uppercase; color: var(--cinza-claro);}
.sec-label-laranja {color: var(--laranja);}
.sec-header {text-align: center; margin-bottom: 60px;}
.sec-titulo {font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: var(--fw-thin); color: var(--cinza-escuro); margin-bottom: 16px; line-height: 1.2;}
.sec-titulo strong {font-weight: var(--fw-bold);}
.sec-subtitulo {font-size: 1rem; color: var(--cinza-texto); max-width: 560px; margin: 0 auto;}
.sec-header-claro .sec-titulo, .sec-titulo-claro {color: var(--branco);}
.sec-subtitulo-claro {color: var(--cinza-claro);}
.sec-cta-center {text-align: center;}

/* =====================================================
   GLOBAL: Botões
===================================================== */
.btn-principal {width: fit-content; display: inline-flex; align-items: center; gap: 8px; background: var(--laranja); color: var(--branco); font-family: var(--font-main); font-weight: var(--fw-bold); font-size: 0.78rem; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 36px; border-radius: var(--radius); transition: background var(--trans), transform var(--trans), box-shadow var(--trans);}
.btn-principal:hover {background: #e07800; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(255,136,0,0.35); color: var(--branco);}
.btn-secundario {display: inline-flex; align-items: center; gap: 8px; background: transparent; color: var(--cinza-escuro); font-family: var(--font-main); font-weight: var(--fw-bold); font-size: 0.78rem; letter-spacing: 1.5px; text-transform: uppercase; padding: 15px 35px; border: 2px solid var(--cinza-escuro); border-radius: var(--radius); transition: all var(--trans);}
.btn-secundario:hover {background: var(--cinza-escuro); color: var(--branco);}
.btn-br {background: transparent; color: var(--branco);border: 2px solid var(--branco);}
.btn-br:hover {background: transparent; color: var(--cinza-claro);border: 2px solid var(--cinza-claro);}
.btn-banner {display: inline-flex; align-items: center; gap: 8px; background: var(--laranja); color: var(--branco); font-family: var(--font-main); font-weight: var(--fw-bold); font-size: 0.78rem; letter-spacing: 2px; text-transform: uppercase; padding: 16px 40px; border-radius: var(--radius); border: 2px solid transparent; margin-top: 28px; transition: background var(--trans), transform var(--trans);}
.btn-banner:hover {background: transparent; border-color: var(--branco); color: var(--branco);}
.btn-grande {padding: 18px 48px; font-size: 0.82rem;}

/* =====================================================
   GLOBAL: Animações
===================================================== */
@keyframes fadeUpIn {from {opacity: 0; transform: translateY(30px);} to {opacity: 1; transform: translateY(0);}}
@keyframes ticker {from {transform: translateX(0);} to {transform: translateX(-50%);}}
.reveal {opacity: 0; transform: translateY(40px); transition: opacity 0.7s ease, transform 0.7s ease;}
.reveal.visible {opacity: 1; transform: translateY(0);}
.reveal-delay-1 {transition-delay: 0.1s;}
.reveal-delay-2 {transition-delay: 0.2s;}
.reveal-delay-3 {transition-delay: 0.3s;}
.reveal-delay-4 {transition-delay: 0.4s;}
.lg-show-in .lg-next, .lg-show-in .lg-pager-outer, .lg-show-in .lg-prev, .lg-show-in {border-radius: 50px;}
.lg-outer .lg-object {border-radius: 10px;}
.lg-sub-html {background: rgb(0 0 0 / 0%)!important}

/* =====================================================
   GLOBAL: Utilities
===================================================== */
.sec-inner, .apresentacao-inner, .cta-inner {max-width: 1660px; margin: 0 auto; padding: 0 40px;}
.apresentacao-inner, .sobre-inner, .cta-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.sobre-badge {right: -20px; background: var(--cinza-escuro); border-left: 4px solid var(--laranja);}
.destaque-num, .badge-num {display: block; font-size: 2.2rem; font-weight: var(--fw-bold); line-height: 1;}
.destaque-num sup, .badge-num sup {font-size: 1rem;}
.badge-num {color: var(--laranja);}
.destaque-label, .badge-label {display: block; font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; margin-top: 6px;}
.destaque-label {opacity: 0.9;}
.badge-label {opacity: 0.7;}
.sec-pad {padding: 90px 0;}

/* =====================================================
   GLOBAL: Topo/Navegação
===================================================== */
.topo {position: fixed; top: 25px; left: 0; right: 0; z-index: 1000; height: var(--topo-h); display: flex; align-items: center; background: transparent; padding: 0 50px; transition: background var(--trans), box-shadow var(--trans), height var(--trans), transform var(--trans), top var(--trans); overflow: visible;}
.topo.scrolled {background: rgba(35,35,35,0.97); box-shadow: 0 2px 20px rgba(0,0,0,0.3); height: 70px; backdrop-filter: blur(8px); top: 0;}
.topo.escondido {transform: translateY(calc(-100% - 100px));}
.topo-logo {width: 210px; min-width: 210px; height: 100%; display: flex; align-items: center; justify-content: center; position: relative;}
.logo-img {width: 160px; height: auto; background: transparent;}
.topo-nav {flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px;margin-top: 75px;margin-left: 80px;}
.nav-lista {display: flex; align-items: center; gap: 70px;}
.nav-secundaria {display: flex; align-items: center; gap: 10px; align-self: flex-start;}
.nav-sec-btn {display: inline-block;font-size: 0.9rem;font-weight: var(--fw-bold);letter-spacing: 1.5px;text-transform: uppercase;color: rgb(255 255 255);padding: 15px 20px 14px 30px;border-radius: 4px;transition: all var(--trans);background: var(--laranja);margin-top: 20px;}
.nav-sec-btn-out {padding: 15px 30px 14px 30px;}
.nav-sec-btn:hover, .nav-sec-btn.ativo {color: var(--branco); background: var(--cinza-medio); border-color: var(--laranja);}
.nav-lista li a {display: block; padding: 8px 14px; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.85); position: relative; transition: color var(--trans);}
.nav-lista li a::after {content: ''; position: absolute; bottom: 0px; left: 14px; right: 14px; height: 2px; background: var(--laranja); transform: scaleX(0); transition: transform var(--trans); transform-origin: left;}
.nav-lista li a:hover, .nav-lista li a.ativo {color: var(--branco);}
.nav-lista li a:hover::after, .nav-lista li a.ativo::after {transform: scaleX(1);}
.topo-direito {display: flex; align-items: center; gap: 24px;position:relative;}
.idiomas {position: relative;}
.idioma-btn {display: flex; align-items: center; gap: 7px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); border-radius: var(--radius); padding: 6px 10px; color: var(--branco); font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; cursor: pointer; transition: background var(--trans), border-color var(--trans);}
.idioma-btn:hover {background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.4);}
.idioma-flag {width: 20px; height: 14px; object-fit: cover; border-radius: 2px; display: inline-block;}
.idioma-sigla {font-size: 0.7rem; font-weight: var(--fw-bold);}
.idioma-seta {opacity: 0.7; transition: transform var(--trans); flex-shrink: 0;}
.idiomas.aberto .idioma-seta {transform: rotate(180deg);}
.idioma-menu {display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 150px; background: var(--cinza-escuro); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(0,0,0,0.35); list-style: none; overflow: hidden; z-index: 500;}
.idiomas.aberto .idioma-menu {display: block;}
.idioma-opcao {display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; font-size: 0.78rem; color: rgba(255,255,255,0.75); transition: background var(--trans), color var(--trans);}
.idioma-opcao:hover {background: rgba(255,255,255,0.08); color: var(--branco);}
.idioma-opcao.ativo {color: var(--laranja); background: rgb(255 255 255 / 8%);}
.idioma-opcao .idioma-flag {width: 22px; height: 15px;}
.redes-sociais {display: flex; align-items: center; gap: 10px;}
.rede {display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); transition: color var(--trans), transform var(--trans);}
.rede:hover {color: var(--laranja); transform: translateY(-2px);}
.topo-hamburguer {display: none; flex-direction: column; gap: 5px; padding: 8px 0; margin-left: auto;}
.topo-hamburguer span {display: block; width: 24px; height: 2px; background: var(--branco); border-radius: 2px; transition: all var(--trans);}
.mobile-produtos-sub { display: none; }
.mob-subcats         { display: none; }
.mob-prods           { display: none; }
.btn-calculadora {position:absolute;right:0px;top:70px;background:var(--laranja);border-radius:4px;padding:5px 20px;z-index:4;color:#fff;text-transform:uppercase;font-weight:700;font-size:12px;}
.topo-nav.aberto .calculadora-li {display:block !important;}

/* =====================================================
   GLOBAL: Mega Menu – Produtos
===================================================== */
.mega-menu {position: absolute; top: 145px; left: 0; right: 0; z-index: 998; display: flex; justify-content: center; padding: 0 40px; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;}
.mega-menu.ativo {opacity: 1; visibility: visible; transform: translateY(0);}
.mega-inner {width: 100%; max-width: 1660px; background: var(--branco); border-top: 4px solid var(--laranja); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.18); padding: 0 40px; display: flex; min-height: 380px;}
.mega-cats-col {width: 260px; min-width: 220px; padding: 36px 0; display: flex; flex-direction: column;}
.mega-cats-label {font-size: 0.62rem; font-weight: var(--fw-bold); letter-spacing: 3px; text-transform: uppercase; color: var(--laranja); margin-bottom: 18px;}
.mega-cats-lista {flex: 1; list-style: none;}
.mega-cat {display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; padding: 13px 20px 13px 0; font-size: 0.8rem; font-weight: var(--fw-bold); color: var(--cinza-claro); cursor: pointer; border-left: 3px solid transparent; transition: all var(--trans);}
.mega-cat:hover, .mega-cat.ativo {color: var(--cinza-escuro); border-left-color: var(--laranja); padding-left: 10px; background: #f2f2f2;}
.mega-cat svg {opacity: 0; transition: opacity var(--trans); flex-shrink: 0; color: var(--laranja);}
.mega-cat:hover svg, .mega-cat.ativo svg {opacity: 1;}
.mega-ver-todos {font-size: 0.68rem; font-weight: var(--fw-bold); color: var(--laranja); letter-spacing: 1px; text-transform: uppercase; margin-top: 20px; transition: opacity var(--trans);}
.mega-ver-todos:hover {opacity: 0.7;}
.mega-subcats-col {width: 260px; min-width: 200px;background: linear-gradient(103deg, rgb(0 0 0 / 5%) 0%, rgb(0 0 0 / 0%) 60%, rgb(0 0 0 / 0%) 100%); padding: 36px 0 36px 28px;}
.mega-subcats-group {display: none;}
.mega-subcats-group.ativo {display: block;}
.mega-subcats-lista {list-style: none; margin-top: 4px;}
.mega-subcat {display: flex; align-items: center; justify-content: space-between; padding: 10px 16px 10px 0; font-size: 0.78rem; color: var(--cinza-claro); cursor: pointer; border-left: 3px solid transparent; transition: all var(--trans);}
.mega-subcat:hover, .mega-subcat.ativo {color: var(--cinza-escuro); border-left-color: var(--laranja); padding-left: 10px; background: #f2f2f2;;}
.mega-subcat svg {opacity: 0; transition: opacity var(--trans); flex-shrink: 0; color: var(--laranja);}
.mega-subcat:hover svg, .mega-subcat.ativo svg {opacity: 1;}
.mega-prods-col {flex: 1; padding: 36px 0 36px 36px; overflow-y: auto; max-height: 800px;}
.mega-prods-grid {display: none; grid-template-columns: repeat(3, 1fr); gap: 16px;}
.mega-prods-grid.ativo {display: grid;}
.mega-prod-card {display: flex; flex-direction: column; background: #f7f7f7; border: 1px solid #ebebeb; border-radius: var(--radius); overflow: hidden; transition: all var(--trans); text-decoration: none;}
.mega-prod-card:hover {background: var(--branco); border-color: var(--laranja); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(255,136,0,0.12);}
.mega-prod-img {width: 100%; height: 140px; object-fit: cover; background: linear-gradient(135deg, #f0f0f0, #e4e4e4); flex-shrink: 0;}
.mega-prod-nome {display: block; font-size: 0.73rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); padding: 12px 14px 4px; line-height: 1.3;}
.mega-prod-desc {display: block; font-size: 0.66rem; color: var(--cinza-claro); padding: 0 14px 14px; line-height: 1.5;}
.mega-overlay {position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 999; opacity: 0; visibility: hidden; transition: opacity 0.25s ease, visibility 0.25s ease;}
.mega-overlay.ativo {opacity: 1; visibility: visible;}

/* =====================================================
   GLOBAL: Rodapé
===================================================== */
.rodape {background: var(--cinza-escuro); color: var(--cinza-claro); padding-top: 80px;   }
.rodape-inner {max-width: 1660px; margin: 0 auto; padding: 0 40px 60px; display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 50px;}
.rodape-logo {display: inline-block; margin-bottom: 20px; background: transparent;}
.rodape-logo img, .topo-logo img {background: transparent;}
.rodape-descricao {font-size: 0.88rem; line-height: 1.8; color: var(--cinza-claro); margin-bottom: 24px; max-width: 280px;}
.redes-rodape {gap: 12px;}
.redes-rodape .rede {color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.05); width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.1); transition: all var(--trans);}
.redes-rodape .rede:hover {color: var(--laranja); border-color: var(--laranja); background: rgba(255,136,0,0.08); transform: translateY(-2px);}
.rodape-titulo {font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; color: var(--branco); margin-bottom: 22px; position: relative; padding-bottom: 12px;}
.rodape-titulo::after {content: ''; position: absolute; bottom: 0; left: 0; width: 24px; height: 2px; background: var(--laranja);}
.rodape-lista {display: flex; flex-direction: column; gap: 20px;}
.rodape-lista li a {font-size: 0.88rem; color: var(--cinza-claro); display: inline-block; transition: color var(--trans), padding-left var(--trans);}
.rodape-lista li a:hover {color: var(--laranja); padding-left: 8px;}
.rodape-lista-contato li {display: flex; align-items: flex-start; gap: 10px; font-size: 0.88rem; line-height: 1.6;}
.rodape-lista-contato svg {flex-shrink: 0; margin-top: 2px; fill: var(--laranja);}
.rodape-bottom {max-width: 1660px; margin: 0 auto; padding: 20px 40px; display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; color: rgba(255,255,255,0.3);}
.rodape-egge {opacity: 0.5; transition: opacity .2s; line-height: 0;}
.rodape-egge:hover {opacity: 1;}
.rodape-egge img {display: block;}

/* =====================================================
   GLOBAL: WhatsApp Flutuante
===================================================== */
@keyframes waPulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
@keyframes waBalaoEntrar {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.wa-float {position: fixed; bottom: 28px; right: 28px; z-index: 9999; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; transition: bottom .3s cubic-bezier(.25,.46,.45,.94);}
@media (min-width: 901px) { .wa-float.perto-rodape { bottom: 70px; } }
.wa-btn {width: 58px; height: 58px; border-radius: 50%; background: #25D366; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 18px rgba(0,0,0,.22); transition: background .2s, transform .2s; position: relative; animation: waPulse 2.4s ease-out infinite; flex-shrink: 0;}
.wa-btn:hover { ackground: #1ebe5d; transform: scale(1.07); }
.wa-btn svg   {width: 30px; height: 30px; }
.wa-btn-icone {position: absolute; transition: opacity .2s, transform .2s; }
.wa-btn-icone svg path {fill: #000;}
.wa-icone-fechar { opacity: 0; transform: rotate(-90deg) scale(.7); color: #fff; }
.wa-float.aberto .wa-icone-wa    {opacity: 0; transform: rotate(90deg) scale(.7); }
.wa-float.aberto .wa-icone-fechar {opacity: 1; transform: rotate(0deg) scale(1); }
.wa-float.aberto .wa-btn { animation: none; background: #232323; }
.wa-float.aberto .wa-btn:hover {background: #111; }
.wa-balao {width: 300px; background: #fff; border-radius: 16px; box-shadow: 0 8px 40px rgba(0,0,0,.18); overflow: hidden; display: none; flex-direction: column; transform-origin: bottom right;}
.wa-float.aberto .wa-balao { display: flex; animation: waBalaoEntrar .25s cubic-bezier(.25,.46,.45,.94) forwards;}
.wa-balao-header {background: #075E54;padding: 16px 14px;display: flex;align-items: center;gap: 10px;color: #fff;}
.wa-header-logo {width: 40px;height: 40px;background: rgba(255,255,255,.15);border-radius: 50%;display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.wa-header-logo svg { width: 22px; height: 22px; color: #fff; }
.wa-header-texto    { flex: 1; }
.wa-header-texto strong { display: block; font-size: .88rem; font-weight: 700; }
.wa-header-texto span   { font-size: .72rem; opacity: .75; }
.wa-fechar {background: none;border: none;cursor: pointer;color: rgba(255,255,255,.8);padding: 4px;display: flex;align-items: center;justify-content: center;border-radius: 50%;transition: background .15s;}
.wa-fechar:hover { background: rgba(255,255,255,.15); color: #fff; }
.wa-fechar svg   { width: 18px; height: 18px; }
.wa-balao-corpo { padding: 14px 12px; display: flex; flex-direction: column; gap: 6px; }
.wa-intro { font-size: .75rem; color: #888; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; margin-bottom: 4px; padding: 0 4px; }
.wa-opcao {display: flex;align-items: center;gap: 12px;padding: 10px 10px;border-radius: 10px;text-decoration: none;transition: background .15s;}
.wa-opcao:hover {background: #f5f5f5; }
.wa-opcao-icone {width: 38px;height: 38px;border-radius: 10px;display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.wa-opcao-icone svg { width: 18px; height: 18px; }
.wa-opcao-texto { flex: 1; }
.wa-opcao-texto strong { display: block; font-size: .83rem; font-weight: 700; color: #1a1a1a; }
.wa-opcao-texto span   { font-size: .72rem; color: #888; }
.wa-opcao-seta { width: 16px; height: 16px; color: #ccc; flex-shrink: 0; }
.wa-opcao:hover .wa-opcao-seta { color: #25D366; }

/* =====================================================
   GLOBAL: Cookie Banner
===================================================== */
@keyframes cookieEntrar {
  from { transform: translate(-50%, 20px); opacity: 0; }
  to   { transform: translate(-50%, 0);    opacity: 1; }
}
.cookie-banner {position: fixed;bottom: 20px;left: 50%;transform: translateX(-50%);width: calc(100% - 80px);max-width: 1024px;height: 180px;z-index: 10000;background: #1a1a1af7;border-radius: 14px;display: flex;align-items: center;padding: 0 40px;backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);box-shadow: 0 8px 40px rgba(0,0,0,.35);animation: cookieEntrar .4s cubic-bezier(.25,.46,.45,.94) forwards;}
.cookie-banner[hidden] { display: none; }
.cookie-banner-inner {width: 100%;display: flex;align-items: center;gap: 32px;}
.cookie-texto {display: flex;align-items: flex-start;gap: 14px;flex: 1;}
.cookie-icone {width: 30px;height: 30px;color: var(--laranja);flex-shrink: 0;margin-top: 2px;}
.cookie-texto p {font-size: .84rem;color: rgba(255,255,255,.72);line-height: 1.65;margin: 0;}
.cookie-link {color: var(--laranja);text-decoration: underline;text-underline-offset: 2px;transition: opacity .15s;}
.cookie-link:hover { opacity: .8; }
.cookie-acoes {display: flex;flex-direction: column;gap: 10px;flex-shrink: 0;}
.cookie-btn {height: 40px;padding: 0 24px;border-radius: 7px;font-size: .75rem;font-weight: 700;letter-spacing: .05em;text-transform: uppercase;cursor: pointer;border: none;transition: background .2s, transform .1s;white-space: nowrap;min-width: 180px;}
.cookie-btn:active { transform: scale(.97); }
.cookie-btn-pri {background: var(--laranja);color: #fff;}
.cookie-btn-pri:hover { background: #e67a00; }
.cookie-btn-sec {background: transparent;color: rgba(255,255,255,.5);border: 1px solid rgba(255,255,255,.18);}
.cookie-btn-sec:hover {background: rgba(255,255,255,.06);color: rgba(255,255,255,.8);border-color: rgba(255,255,255,.35);}

/* =====================================================
   GLOBAL: OWL Carousel Overrides
===================================================== */
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {width: 50px; height: 50px; background: rgba(255,255,255,0.1) !important; border: 1px solid rgba(255,255,255,0.2) !important; border-radius: 50% !important; display: flex; align-items: center; justify-content: center; color: var(--branco) !important; font-size: 1.2rem !important; transition: all var(--trans) !important;}
.owl-carousel .owl-nav button:hover {background: var(--laranja) !important; border-color: var(--laranja) !important;}
.owl-produtos .owl-nav, .owl-diferenciais .owl-nav {position: absolute; top: -80px; right: 0; display: flex; gap: 10px; margin: 0 !important;}
.sec-produtos .sec-inner, .sec-diferenciais .sec-inner {position: relative;}
.owl-produtos .owl-dots, .owl-diferenciais .owl-dots {margin-top: 30px !important;}
.owl-produtos .owl-dot span, .owl-diferenciais .owl-dot span {width: 8px !important; height: 8px !important; background: var(--cinza-claro) !important; transition: all var(--trans) !important;}
.owl-produtos .owl-dot.active span, .owl-diferenciais .owl-dot.active span {background: var(--laranja) !important; width: 24px !important; border-radius: 4px !important;}

/* =====================================================
   GLOBAL: lightGallery – Customização Sul Corte
===================================================== */
.lg-backdrop {background: rgba(0,0,0,0.85);}
.lg-outer .lg-thumb-outer {background: rgba(0,0,0,0.5);}
.lg-actions .lg-prev,
.lg-actions .lg-next {background: transparent; border: 2px solid #FF8800; border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; transition: background .2s;}
.lg-actions .lg-prev:hover,
.lg-actions .lg-next:hover {background: #FF8800;}
.lg-actions .lg-prev::after,
.lg-actions .lg-next::before {color: #FF8800; font-size: 20px;}
.lg-actions .lg-prev:hover::after,
.lg-actions .lg-next:hover::before {color: #fff;}
.lg-toolbar {background: rgba(0,0,0,0.4);}
.lg-toolbar .lg-icon {color: #FF8800;}
.lg-toolbar .lg-icon:hover {color: #fff;}
.lg-counter {color: #FF8800;}
.lg-sub-html {background: rgba(0,0,0,0.5); color: #fff; padding: 12px 24px; font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .05em;}
.lg-sub-html span {color: #FF8800; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;}

/* =====================================================
   Páginas Internas: Topo Interno
===================================================== */
.sec-topo-interno {position: relative; min-height: 650px; background: var(--cinza-escuro); display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 60px; overflow: hidden;}
.sec-topo-interno::before {content: ''; position: absolute; inset: 0; background: inherit; background-size: cover; background-position: center; transform-origin: center center; transform: scale(var(--topo-bg-scale, 1)); z-index: 0; will-change: transform;}
.topo-video-bg {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transform-origin: center center; transform: scale(var(--topo-bg-scale, 1)); will-change: transform;}
.topo-interno-overlay {position: absolute; inset: 0; background: linear-gradient(135deg, rgb(16 16 16 / 86%) 0%, rgb(16 16 16 / 50%) 60%, rgb(255 136 0 / 32%) 100%); z-index: 1; -webkit-backdrop-filter: blur(var(--topo-blur, 0px)); backdrop-filter: blur(var(--topo-blur, 0px));}
.topo-interno-conteudo {position: relative; z-index: 2;}
.breadcrumb {z-index: 2;}
.topo-interno-conteudo {position: relative; z-index: 2; max-width: 1660px; margin: 0 auto; width: 100%; padding: 0 40px;}
.topo-interno-conteudo .titulo-grande {margin-top: 12px; font-size: clamp(2.4rem, 5vw, 4rem);}
.topo-interno-desc {color: rgba(255,255,255,0.7); font-size: 1rem; margin-top: 14px; max-width: 560px;}
.breadcrumb {position: relative; z-index: 2; max-width: 1660px; margin: 24px auto 0; width: 100%; padding: 0 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; color: rgba(255,255,255,0.4);}
.breadcrumb a {color: rgba(255,255,255,0.4); transition: color var(--trans);}
.breadcrumb a:hover {color: var(--laranja);}
.breadcrumb span:last-child {color: var(--laranja);}
@keyframes topoFadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
.topo-interno-conteudo > * {
  opacity: 0;
  animation: topoFadeUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.topo-interno-conteudo > *:nth-child(1) { animation-delay: 0.08s; }
.topo-interno-conteudo > *:nth-child(2) { animation-delay: 0.26s; }
.topo-interno-conteudo > *:nth-child(3) { animation-delay: 0.44s; }
.topo-interno-conteudo > *:nth-child(4) { animation-delay: 0.60s; }
.topo-interno-conteudo > *:nth-child(5) { animation-delay: 0.74s; }
.breadcrumb {
  opacity: 0;
  animation: topoFadeUp 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.58s forwards;
}

/* =====================================================
   HOME: Banners de Destaque
===================================================== */
.sec-banners {width: 100%; position: relative; background: var(--cinza-escuro);}
.owl-banners {background: var(--cinza-escuro);}
.owl-banners .owl-stage-outer {background: var(--cinza-escuro);}
.owl-banners .owl-item {background: var(--cinza-escuro);}
.owl-banners .banner-slide {width: 100%; height: 100vh; min-height: 600px; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; display: flex; align-items: flex-end; background-color: var(--cinza-escuro);}
.owl-banners .banner-slide:nth-child(1) {background-image: linear-gradient(135deg, #1e2a3a, #2d4157);}
.owl-banners .banner-slide:nth-child(2) {background-image: linear-gradient(135deg, #1a1a1a, #3a3030);}
.owl-banners .banner-slide:nth-child(3) {background-image: linear-gradient(135deg, #1a2a1a, #2a3a2a);}
.banner-slide-video {background: var(--cinza-escuro) !important;}
.banner-video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;}
.banner-overlay {position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.1) 100%);}
.banner-overlay::after {content: ''; position: absolute; inset: 0; background: rgb(16 16 16 / 68%);}
.banner-overlay-img::after {content: ''; position: absolute; inset: 0; background: rgb(16 16 16 / 40%);}
.banner-conteudo {position: relative; z-index: 2; max-width: 900px; padding: 0 60px 120px; animation: fadeUpIn 0.8s ease both;}
.banner-tag {display: inline-block; font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 3px; text-transform: uppercase; color: var(--laranja); margin-bottom: 18px; border-left: 3px solid var(--laranja); padding-left: 12px;}
.banner-titulo {font-size: clamp(2.4rem, 5vw, 4.5rem); font-weight: var(--fw-thin); color: var(--branco); line-height: 1.1; margin-bottom: 20px; letter-spacing: -1px;}
.banner-titulo strong {font-weight: var(--fw-bold); display: block;}
.banner-subtitulo {font-size: 1.05rem; color: rgba(255,255,255,0.8); max-width: 500px; line-height: 1.7;}
.banner-paginacao {position: absolute; bottom: 60px; right: 60px; z-index: 10; display: flex; gap: 20px; align-items: center;}
.ban-pag-item {font-size: 0.8rem; font-weight: var(--fw-bold); color: rgba(255,255,255,0.35); background: none; border: none; cursor: pointer; letter-spacing: 2px; padding: 4px 0; position: relative; transition: color var(--trans); font-family: var(--font-main);}
.ban-pag-item::after {content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--laranja); transition: width var(--trans);}
.ban-pag-item.ativo {color: var(--branco);}
.ban-pag-item.ativo::after {width: 100%;}

/* =====================================================
   HOME: Apresentação
===================================================== */
.sec-apresentacao {padding: 110px 0; background: url("../../www/imagens/site/bg_home_sobre.jpg") center var(--branco); background-size: cover;}
.apresentacao-texto .titulo-grande {margin-bottom: 16px;}
.apresentacao-texto p {margin-bottom: 20px; line-height: 1.8; color: var(--cinza-texto);}
.apresentacao-texto .btn-secundario {margin-top: 16px;}

/* =====================================================
   HOME: Big Text Ticker
===================================================== */
.sec-ticker {padding: 90px 0;overflow: hidden;user-select: none;border-top: 1px solid #eee;}
.ticker-track {display: flex; width: 100%; overflow: hidden;}
.ticker-conteudo {display: flex; align-items: center; white-space: nowrap; animation: ticker 60s linear infinite; will-change: transform;}
.ticker-conteudo span {font-family: 'Bebas Neue', sans-serif; font-size: 5.5rem; letter-spacing: 6px; text-transform: uppercase; color: #e1e1e1; padding: 0 28px; flex-shrink: 0; line-height: 1;}
.ticker-sep {color: #f1f1f1 !important; opacity: 1 !important; font-size: 1.5rem !important; padding: 0 4px !important; vertical-align: middle;}

/* =====================================================
   HOME: Especialidades / Produtos
===================================================== */
.sec-produtos {padding: 110px 0; background: url('../../www/imagens/site/bg_especialidades.png') right var(--cinza-bg);}
.produto-card {background: var(--branco); border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 20px rgba(0,0,0,0.06); margin: 10px 0 40px; transition: transform var(--trans), box-shadow var(--trans);}
.produto-card:hover {transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,0.12);}
.produto-imagem {position: relative; overflow: hidden; height: 300px;}
.produto-imagem img {width: 100%; height: 100%; object-fit: cover; min-height: 300px; transition: transform 0.5s ease;}
.produto-card:hover .produto-imagem img {transform: scale(1.05);}
.produto-overlay {position: absolute; inset: 0; background: rgb(255 136 0 / 46%); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--trans);}
.produto-card:hover .produto-overlay {opacity: 1;}
.btn-produto-overlay {color: var(--branco); font-weight: var(--fw-bold); font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; border: 2px solid var(--branco); padding: 12px 28px; border-radius: var(--radius); transition: background var(--trans), color var(--trans);}
.btn-produto-overlay:hover {background: var(--branco); color: var(--laranja);}
.produto-info {padding: 20px;min-height: 240px;}
.produto-info h3 {font-size: 1.05rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin-bottom: 10px;}
.produto-info p {font-size: 0.88rem; color: var(--cinza-texto); line-height: 1.7; margin-bottom: 18px;}
.produto-link {font-size: 0.78rem; font-weight: var(--fw-bold); color: var(--laranja); letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 6px; transition: gap var(--trans);}
.produto-link:hover {gap: 12px;}

/* ── Popover de sub-categorias (gerado via JS) ── */
.owl-produtos .owl-stage {display: flex;}
.owl-produtos .owl-item {display: flex;}
.produto-card {position: relative;}
.subcat-popover {position: absolute; inset: 0; z-index: 20;background: var(--branco);display: flex; flex-direction: column;padding: 28px 24px 24px;transform: translateY(100%);transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);pointer-events: none;overflow-y: auto;}
.produto-card.popover-aberto .subcat-popover {transform: translateY(0);pointer-events: all;}
.subcat-pop-fechar {position: absolute; top: 14px; right: 14px;width: 32px; height: 32px;background: var(--cinza-bg); border: none; border-radius: 50%;display: flex; align-items: center; justify-content: center;cursor: pointer; color: var(--cinza-escuro);transition: background var(--trans), color var(--trans);font-size: 1.1rem; line-height: 1;}
.subcat-pop-fechar:hover {background: var(--laranja); color: var(--branco);}
.subcat-pop-label {font-size: 0.65rem; font-weight: var(--fw-bold);letter-spacing: 2px; text-transform: uppercase;color: var(--laranja); margin-bottom: 6px;}
.subcat-pop-titulo {font-size: 1rem; font-weight: var(--fw-bold);color: var(--cinza-escuro); margin-bottom: 18px;padding-bottom: 14px;border-bottom: 1px solid #ebebeb;line-height: 1.3;}
.subcat-pop-lista {list-style: none; padding: 0; margin: 0; flex: 1;}
.subcat-pop-lista li {border-bottom: 1px solid #f4f4f4;}
.subcat-pop-lista li:last-child {border-bottom: none;}
.subcat-pop-lista a {display: flex; align-items: center; justify-content: space-between;padding: 13px 0;font-size: 0.88rem; font-weight: 600;color: var(--cinza-escuro);text-decoration: none;transition: color var(--trans), padding-left var(--trans);gap: 8px;}
.subcat-pop-lista a:hover {color: var(--laranja); padding-left: 6px;}
.subcat-pop-lista a svg {flex-shrink: 0; color: #ccc; transition: color var(--trans), transform var(--trans);}
.subcat-pop-lista a:hover svg {color: var(--laranja); transform: translateX(3px);}

/* =====================================================
   Modal de Produtos – home especialidades
===================================================== */
.prod-modal-overlay {position: fixed; inset: 0; z-index: 3000;background: var(--cinza-escuro);overflow-y: auto;overflow-x: hidden;padding: 40px;opacity: 0; pointer-events: none;transition: opacity 0.28s ease;scrollbar-width: none;}
.prod-modal-overlay::-webkit-scrollbar {display: none;}
.prod-modal-overlay.aberto {opacity: 1; pointer-events: all;}
.modal-aberto {overflow: hidden;}
.prod-modal {background: var(--cinza-escuro);width: 100%; max-width: 1660px;margin: 0 auto;position: relative;padding: 52px 40px 44px;transform: translateY(24px);transition: transform 0.28s ease;}
.prod-modal-overlay.aberto .prod-modal {transform: translateY(0);}

/* Fechar */
.prod-modal-fechar {position: absolute; top: 20px; right: 20px;width: 40px; height: 40px;background: rgba(255,255,255,0.08);border: none; border-radius: 50%;color: rgba(255,255,255,0.7);display: flex; align-items: center; justify-content: center;cursor: pointer; flex-shrink: 0;transition: background var(--trans), color var(--trans);}
.prod-modal-fechar:hover {background: var(--laranja); color: var(--branco);}

/* Header */
.prod-modal-header {margin-bottom: 28px; flex-shrink: 0;}
.prod-modal-cat {display: block;font-size: 0.68rem; font-weight: var(--fw-bold);letter-spacing: 2px; text-transform: uppercase;color: var(--laranja); margin-bottom: 8px;}
.prod-modal-sub {font-size: 1.6rem; font-weight: var(--fw-bold);color: var(--branco); line-height: 1.2; margin: 0;transition: opacity 0.18s ease;}

/* Tabs de sub-categorias */
.prod-modal-tabs {display: flex; flex-wrap: wrap; gap: 8px;margin-bottom: 28px;padding-bottom: 24px;flex-shrink: 0;}
.prod-modal-tab {background: rgb(255 255 255 / 2%);border-radius: 4px;padding: 16px 36px;font-size: 0.82rem; font-weight: var(--fw-bold);color: rgba(255,255,255,0.6);cursor: pointer;transition: background var(--trans), color var(--trans), border-color var(--trans);}
.prod-modal-tab:hover {background: rgba(255,255,255,0.12); color: var(--branco);}
.prod-modal-tab.ativo {background: var(--laranja); border-color: var(--laranja); color: var(--branco);}

/* Grid de produtos */
.prod-modal-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;margin-bottom: 36px;transition: opacity 0.18s ease;}
.prod-modal-grid.atualizando {opacity: 0.4;}
.prod-modal-card {display: block; text-decoration: none; background: rgba(255,255,255,0.05);border-radius: 8px; overflow: hidden;transition: border-color var(--trans), background var(--trans);}
.prod-modal-card:hover {background: rgba(255,255,255,0.09); box-shadow: 0 6px 20px #0000000f;}
.prod-modal-card:hover .prod-modal-nome {color: var(--laranja);}
.prod-modal-img {aspect-ratio: 4/3; overflow: hidden;}
.prod-modal-img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.prod-modal-corpo {padding: 16px 18px 18px;}
.prod-modal-tec {display: inline-block;font-size: 0.6rem; font-weight: var(--fw-bold);letter-spacing: 1px; text-transform: uppercase;color: var(--laranja); background: rgba(255,120,0,0.14);border-radius: 4px; padding: 3px 8px; margin-bottom: 10px;}
.prod-modal-nome {display: block;font-size: 0.95rem; font-weight: var(--fw-bold);color: var(--branco); margin-bottom: 8px;}
.prod-modal-desc {font-size: 0.76rem; color: rgba(255,255,255,0.5);line-height: 1.55; margin: 0;}

/* =====================================================
   HOME: Sobre Nós
===================================================== */
.sec-sobre {padding: 110px 0; background:url('../../www/imagens/site/bg_mundo.jpg') right var(--branco);}
.sobre-imagem .img-wrapper {position: relative;}
.sobre-imagem img {width: 100%; height: 580px; object-fit: cover; border-radius: 2px; min-height: 400px;}
.sobre-texto .titulo-grande {margin-bottom: 16px;}
.sobre-texto p {margin-bottom: 18px; color: var(--cinza-texto); line-height: 1.8;}
.sobre-numeros {display: flex; gap: 32px; margin: 40px 0; padding: 32px 0;}
.numero-item {text-align: center; flex: 1;}
.numero {display: block; font-size: 2rem; font-weight: var(--fw-bold); color: var(--laranja); line-height: 1;}
.numero sup {font-size: 0.9rem;}
.numero-label {display: block; font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro); margin-top: 8px;}
.sobre-numeros .numero-label {color: var(--laranja);}

/* =====================================================
   HOME: Diferenciais
===================================================== */
.sec-diferenciais {padding: 110px 0; position: relative; overflow: hidden; background: var(--cinza-escuro);}
.owl-diferenciais .owl-stage {display: flex;}
.owl-diferenciais .owl-item {display: flex;}
.diferencial-card {background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius);min-height padding: 40px 32px; margin: 10px 0; padding: 30px;min-height: 300px; position: relative; overflow: hidden; transition: all var(--trans);}
.diferencial-card::before {content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--laranja); transform: scaleX(0); transform-origin: left; transition: transform var(--trans);}
.diferencial-card:hover {background: rgba(255,255,255,0.07); border-color: rgba(255,136,0,0.3); transform: translateY(-4px);}
.diferencial-card:hover::before {transform: scaleX(1);}
.diferencial-icone {margin-bottom: 24px;}
.diferencial-card h3 {font-size: 1rem; font-weight: var(--fw-bold); color: var(--branco); margin-bottom: 14px; letter-spacing: 0.3px;}
.diferencial-card p {font-size: 0.88rem; color: var(--cinza-claro); line-height: 1.75;}

/* =====================================================
   HOME: Estrutura / Vídeo Full
===================================================== */
.sec-video {position: relative; background: var(--cinza-escuro);}
.video-wrapper {position: relative; height: 80vh; min-height: 500px; overflow: hidden; display: flex; align-items: center; justify-content: flex-start;}
.video-bg {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.5;}
.video-overlay {position: absolute; inset: 0; background: linear-gradient(to right, rgba(35,35,35,0.85) 0%, rgba(35,35,35,0.4) 60%, rgba(35,35,35,0.1) 100%);}
.video-conteudo {position: relative; z-index: 2; max-width: 600px; padding: 0 80px;}
.video-conteudo .sec-label {color: var(--laranja);}

/* =====================================================
   HOME: CTA – Entre em Contato
===================================================== */
.sec-cta {padding: 110px 0; position: relative; overflow: hidden; background: var(--branco);}
.cta-texto p {color: var(--cinza-texto); line-height: 1.8; margin-top: 24px; max-width: 480px;}
.cta-acoes {display: flex;gap: 16px;flex-direction: row;}
.cta-acoes .btn-principal, .cta-acoes .btn-secundario {width: 100%; justify-content: center;}
.cta-info {display: flex; flex-direction: column; gap: 12px; margin-top: 8px; width: 100%;}
.cta-info-item {display: flex; align-items: center; gap: 12px; font-size: 0.9rem; color: var(--cinza-texto);}

/* =====================================================
   Sobre: Descritivo
===================================================== */
.sobre-desc-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center;}
.sobre-desc-texto .titulo-grande {margin-bottom: 16px;}
.sobre-desc-texto p {color: var(--cinza-texto); line-height: 1.8; margin-bottom: 18px;}
.sobre-desc-texto p strong {color: var(--cinza-escuro); font-weight: var(--fw-bold);}
.sobre-desc-stats {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; padding-top: 36px; border-top: 1px solid #ebebeb;}
.sobre-stat strong {display: block; font-size: 1.6rem; font-weight: var(--fw-bold); color: var(--laranja); line-height: 1;}
.sobre-stat span {display: block; font-size: 0.68rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro); margin-top: 6px;}
.sobre-desc-img-wrap {position: relative; border-radius: 8px; overflow: hidden;}
.sobre-desc-img-wrap img {width: 100%; height: 520px; object-fit: cover; display: block;}
.sobre-desc-badge {position: absolute; bottom: -1px; right: -1px; background: var(--laranja); color: var(--branco); padding: 18px 24px; border-radius: 8px 0 0 0; text-align: center;}
.sobre-desc-badge strong {display: block; font-size: 1rem; font-weight: var(--fw-bold);}
.sobre-desc-badge span {display: block; font-size: 0.65rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; margin-top: 3px; opacity: 0.85;}

/* =====================================================
   Sobre: Números em destaque
===================================================== */
.sec-numeros {background: var(--laranja);}
.numeros-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;}
.numero-item {display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px; text-align: center; border-right: 1px solid rgba(255,255,255,0.2);}
.numero-item:last-child {border-right: none;}
.numero-valor {font-size: 5rem; font-weight: var(--fw-bold); color: var(--branco); line-height: 1; display: flex; align-items: flex-start; gap: 4px;}
.numero-valor sup,.numero-valor sub {font-size: 2rem; font-weight: var(--fw-bold); color: rgba(255,255,255,0.8); margin-top: 8px; line-height: 1;}
.numero-valor sub {font-size: 1.4rem; margin-top: 0; align-self: flex-end; margin-bottom: 4px;}
.numero-label {font-size: 0.75rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.75); margin-top: 12px;}

/* =====================================================
   Sobre: Missão, Visão e Valores
===================================================== */
.sec-mvv {background: url('../../www/imagens/site/bg_especialidades.png') right var(--cinza-bg);}
.mvv-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 20px;}
.mvv-card {background: var(--branco); border-radius: 8px; padding: 40px 36px; border: 1px solid #ebebeb; transition: box-shadow var(--trans), transform var(--trans);}
.mvv-card:hover {box-shadow: 0 12px 40px rgba(0,0,0,0.08); transform: translateY(-4px);}
.mvv-icone {width: 56px; height: 56px; background: rgba(255,136,0,0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--laranja); margin-bottom: 24px;}
.mvv-titulo {font-size: 1.1rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin-bottom: 16px;}
.mvv-texto {font-size: 0.9rem; color: var(--cinza-texto); line-height: 1.8;}
.mvv-lista {list-style: none; padding: 0;}
.mvv-lista li {font-size: 0.88rem; color: var(--cinza-texto); padding: 7px 0; border-bottom: 1px solid #f0f0f0; display: flex; align-items: center; gap: 10px; line-height: 1.5;}
.mvv-lista li span {color: var(--laranja); font-size: 0.5rem; flex-shrink: 0;}
.mvv-lista li:last-child {border-bottom: none;}

/* =====================================================
   Sobre: Diferenciais
===================================================== */
.dif-sobre-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 20px;}
.dif-sobre-card {padding: 36px 32px; border: 1px solid #ebebeb; border-radius: 8px; position: relative; transition: all var(--trans); background: var(--branco);}
.dif-sobre-card:hover {border-color: var(--laranja); box-shadow: 0 8px 32px rgba(255,136,0,0.1); transform: translateY(-4px);}
.dif-sobre-num {font-size: 3rem; font-weight: var(--fw-bold); color: var(--laranja); line-height: 1; margin-bottom: 20px; font-family: 'Bebas Neue', sans-serif; letter-spacing: 2px;}
.dif-sobre-titulo {font-size: 0.95rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin-bottom: 12px;}
.dif-sobre-texto {font-size: 0.86rem; color: var(--cinza-texto); line-height: 1.8;}

/* =====================================================
   Sobre: Galeria
===================================================== */
.galeria-grid {display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 260px 260px; gap: 12px; margin-top: 20px;}
.galeria-item {position: relative; overflow: hidden; border-radius: 6px; cursor: pointer;}
.galeria-item img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; background: #e0e0e0;}
.galeria-item:hover img {transform: scale(1.06);}
.galeria-grande {grid-row: 1 / 3; grid-column: 1 / 2;}
.galeria-larga {grid-column: 2 / 4;}
.galeria-hover {position: absolute; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: flex-end; padding: 20px; opacity: 0; transition: opacity var(--trans);}
.galeria-item:hover .galeria-hover {opacity: 1;}
.galeria-hover span {font-size: 0.78rem; font-weight: var(--fw-bold); color: var(--branco); letter-spacing: 0.5px; text-transform: uppercase;}

/* =====================================================
   Sobre: Linha do Tempo
===================================================== */
.timeline-owl-wrap {margin: 40px auto 0; position: relative;}
.timeline-owl {position: relative;}
.tl-slide {padding: 0 14px; outline: none;}
.tl-foto {width: 100%; height: 390px; overflow: hidden; border-radius: 10px; background: var(--cinza-bg);}
.tl-foto img {opacity: .8; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease;}
.tl-slide:hover .tl-foto img {opacity: 1; transform: scale(1.05);}
.tl-linha {position: relative; height: 48px; display: flex; align-items: center; margin-top: 24px;}
.tl-linha::before {content: ''; position: absolute; left: -14px; right: -14px; top: 50%; height: 2px; background: #e0e0e0; transform: translateY(-50%);}
.tl-dot {width: 16px; height: 16px; border-radius: 50%; background: var(--branco); border: 3px solid var(--laranja); position: absolute; left: 50%; transform: translateX(-50%); z-index: 1; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.tl-slide:hover .tl-dot {transform: translateX(-50%) scale(1.35); box-shadow: 0 0 0 5px rgba(255,136,0,0.15);}
.tl-dot-atual {background: var(--laranja); box-shadow: 0 0 0 4px rgba(255,136,0,0.2);}
.tl-info {margin-top: 4px;}
.tl-ano {font-family: 'Bebas Neue', sans-serif; font-size: 2.6rem; color: var(--laranja); letter-spacing: 3px; line-height: 1;}
.tl-titulo {font-size: 0.85rem; font-weight: 600; color: var(--cinza-escuro); line-height: 1.6; margin-top: 6px;}
.timeline-owl .owl-nav {position: absolute; top: 88px; left: -72px; right: -72px; display: flex; justify-content: space-between; pointer-events: none;}
.timeline-owl .owl-nav button {pointer-events: all; width: 44px; height: 44px; border-radius: 50% !important; background: var(--branco) !important; border: 2px solid #e0e0e0 !important; color: var(--cinza-escuro) !important; display: flex !important; align-items: center; justify-content: center; cursor: pointer; transition: all var(--trans); box-shadow: 0 2px 12px rgba(0,0,0,0.08); margin: 0; padding: 0; line-height: 1;}
.timeline-owl .owl-nav button:hover {background: var(--laranja) !important; border-color: var(--laranja) !important; color: var(--branco) !important;}
.timeline-owl .owl-nav button.disabled {opacity: 0.3; pointer-events: none;}

/* =====================================================
   Sobre: Trabalhe Conosco
===================================================== */
.sec-trabalhe {background: url('../../www/imagens/site/bg_trabalhe_conosco.jpg') center no-repeat var(--cinza-bg);}
.trabalhe-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.sec-trabalhe .titulo-grande {margin-top: 12px;}
.sec-trabalhe p {color: rgba(255,255,255,0.7); line-height: 1.8; margin-top: 18px;}
.trabalhe-beneficios {list-style: none; margin: 28px 0 36px; display: flex; flex-direction: column; gap: 12px;}
.trabalhe-beneficios li {display: flex; align-items: center; gap: 10px; font-size: 0.88rem; color: rgba(255,255,255,0.8); font-weight: var(--fw-bold);}
.trabalhe-beneficios li svg {color: var(--laranja); flex-shrink: 0;}
.trabalhe-acoes {display: flex; gap: 16px; flex-wrap: wrap;}
.trabalhe-imagem {border-radius: 8px; overflow: hidden;}
.trabalhe-imagem img {width: 100%; height: 520px; object-fit: cover; display: block; background: #2a2a2a;}

/* =====================================================
   Produtos: Detalhe
===================================================== */
#produto .sec-topo-interno-sm {min-height: 520px;}
#produto .sec-prod-dif {padding: 100px 0 120px;}
.prod-main-inner {display: grid; grid-template-columns: 760px 1fr;gap: 60px; align-items: flex-start;}
.prod-galeria {/*display: flex; flex-direction: column; gap: 12px; position: sticky; top: calc(var(--topo-h) + 20px);*/;}
.prod-galeria .owl-dots {display:flex;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.prod-galeria .owl-dots .owl-dot {width:14px;height:14px;margin:0px 10px;margin-bottom:10px;border-radius:100%;background:#cdcdcd;transition-duration:0.5s;}
.prod-galeria .owl-dots .owl-dot.active,
.prod-galeria .owl-dots .owl-dot:hover {background:#FF8800;cursor:pointer;}
.prod-img-principal {position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 1/1; background: var(--cinza-bg);max-height: 570px;display:block;width:100%;}
.prod-img-principal img {width: 100%; height: 100%; object-fit: contain; display: block;}
.prod-badge-linha {position: absolute; top: 16px; left: 16px; background: var(--laranja); color: var(--branco); font-size: 0.68rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; padding: 6px 14px; border-radius: 4px; z-index: 1;}
.prod-info {position: relative; display: flex; flex-direction: column; gap: 20px; padding-top: 4px;}
.prod-logo {position: absolute; top: 5px; right: 0;}
.prod-logo img {background: none; height: auto; object-fit: contain; max-width: 200px;}
.prod-badges {display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.prod-badge-cat {font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; background: rgba(255,136,0,0.1); color: var(--laranja); padding: 5px 12px; border-radius: 4px;}
.prod-badge-sub {font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; background: var(--cinza-bg); color: var(--cinza-texto); padding: 5px 12px; border-radius: 4px;}
.prod-badge-status {font-size: 0.7rem; font-weight: var(--fw-bold); color: #27ae60; margin-left: auto;}
.prod-nome {font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: var(--fw-thin); color: var(--cinza-escuro); line-height: 1.15;}
.prod-nome strong {font-weight: var(--fw-bold); color: var(--laranja);}
.prod-codigo {font-size: 0.82rem; color: var(--cinza-claro); margin-top: -10px;}
.prod-resumo {font-size: 0.97rem; line-height: 1.8; color: var(--cinza-texto); padding-bottom: 20px;}
.prod-quick-specs {display: grid; grid-template-columns: repeat(2, 2fr); gap: 1px;margin: 10px 0 30px; border-radius: 8px; overflow: hidden; position: relative;}
.prod-quick-specs::before {content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 100%; height: 1px; background: #e8e8e8;}
.prod-quick-specs::after {content: ""; position: absolute; top: 0; transform: translateX(-50%); left: 50%; height: 100%; width: 1px; background: #e8e8e8;}
.prod-qs-item {display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; gap: 4px; padding: 20px 12px; background: var(--branco); text-align: center;}
.prod-qs-val {font-size: 1.6rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.2;}
.prod-qs-val small {font-size: 0.75rem; margin-left: 2px; font-weight: var(--fw-normal); color: var(--cinza-claro);}
.prod-qs-label {font-size: 0.68rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro);}
.prod-tecnologia {display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: var(--cinza-bg); border-radius: 6px; font-size: 0.85rem;}
.prod-tec-label {font-weight: var(--fw-bold); color: var(--cinza-escuro); white-space: nowrap;}
.prod-tec-val {color: var(--cinza-texto);}
.prod-materiais { display:flex; align-items:center; gap:10px; }
.prod-materiais .icone { position:relative; display:inline-block; cursor:pointer; }
.prod-materiais .icone img { width:30px; height:30px; object-fit:contain; display:block; background: none; }
.prod-materiais .icone-texto { position:absolute; bottom:135%; left:50%; transform:translateX(-50%); background:#222; color:#fff; padding:8px 12px; border-radius:6px; font-size:14px; white-space:nowrap; opacity:0; visibility:hidden; transition:all .25s ease; z-index:1000; pointer-events:none; }
.prod-materiais .icone-texto::after { content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#222; }
.prod-materiais .icone:hover .icone-texto { opacity:1; visibility:visible; }
.parallax-bg {position: absolute; inset: -40% 0; background-size: 100%; background-position: center; will-change: transform; z-index: 0;}
.parallax-section > *:not(.parallax-bg) {position: relative; z-index: 1;}
.cta-global {position: relative; height: 350px; overflow: hidden; background: var(--laranja); box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.38);}
.cta-global-bg {position: absolute; inset: -40% 0; background-size: cover; background-position: center; will-change: transform; z-index: 0;}
.cta-global .sec-inner {position: relative; z-index: 1;}
.prod-ctas {display: flex; gap: 12px; flex-wrap: wrap;}
.prod-dif-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;}
.prod-dif-item {display: flex; align-items: flex-start; gap: 16px;}
.prod-dif-icone {width: 44px; height: 44px; border-radius: 50%; background: rgba(255,136,0,0.15); color: var(--laranja); display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.prod-dif-titulo {font-size: 0.9rem; font-weight: var(--fw-bold); color: var(--branco); margin-bottom: 6px; line-height: 1.3;}
.prod-dif-desc {font-size: 0.82rem; color: var(--cinza-claro); line-height: 1.6;}
.prod-desc-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: flex-start;}
.prod-desc-texto p {margin-top: 24px; font-size: 0.97rem; line-height: 1.85;}
.prod-desc-aplicacoes {display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;}
.prod-apl-titulo {display: flex; align-items: center; gap: 8px; font-size: 0.8rem; font-weight: var(--fw-bold); letter-spacing: 1.5px; text-transform: uppercase; color: var(--laranja); margin-bottom: 16px;}
.prod-check-lista {display: flex; flex-direction: column; gap: 10px;}
.prod-check-lista li {display: flex; align-items: center; gap: 8px; font-size: 0.88rem; color: var(--cinza-texto);}
.prod-check-lista li::before {content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--laranja); flex-shrink: 0;}
.prod-specs-grid {display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: flex-start;}
.prod-specs-table {width: 100%; border-collapse: collapse;}
.prod-specs-table tr {border-bottom: 1px solid #e8e8e8;}
.prod-specs-table tr:last-child {border-bottom: none;}
.prod-specs-table th {text-align: left; font-size: 0.82rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); padding: 14px 0; width: 50%;}
.prod-specs-table td {font-size: 0.88rem; color: var(--cinza-texto); padding: 14px 0;}
.prod-perf-titulo {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; color: var(--laranja); margin-bottom: 20px;}
.prod-perf-item {display: flex; align-items: center; gap: 10px; margin-bottom: 14px;}
.prod-perf-label {font-size: 0.78rem; color: var(--cinza-texto); min-width: 160px; line-height: 1.3;}
.prod-perf-bar {flex: 1; height: 6px; background: #e8e8e8; border-radius: 3px; overflow: hidden;}
.prod-perf-fill {height: 100%; background: var(--laranja); border-radius: 3px; transition: width 1s ease;}
.prod-perf-rank {font-size: 0.72rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); white-space: nowrap; min-width: 70px; text-align: right;}
.prod-compat-tipo {display: flex; align-items: center; gap: 8px; font-size: 0.84rem; color: var(--cinza-texto); margin-bottom: 14px;}
.prod-compat-tipo svg {color: var(--laranja); flex-shrink: 0;}
.prod-compat-lista {display: flex; flex-direction: column; gap: 8px;}
.prod-compat-lista li {font-size: 0.84rem; color: var(--cinza-texto); padding-left: 14px; position: relative;}
.prod-compat-lista li::before {content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 5px; height: 5px; border-radius: 50%; background: var(--cinza-claro);}
.prod-downloads-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;}
.prod-download-card {display: flex; align-items: center; gap: 16px; padding: 20px 24px; border: 1px solid #e8e8e8; border-radius: 8px; transition: border-color var(--trans), box-shadow var(--trans); background: var(--branco);}
.prod-download-card:hover {border-color: var(--laranja); box-shadow: 0 4px 20px rgba(255,136,0,0.1);}
.prod-dl-icone {width: 48px; height: 48px; border-radius: 8px; background: rgba(255,136,0,0.08); color: var(--laranja); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background var(--trans);}
.prod-download-card:hover .prod-dl-icone {background: var(--laranja); color: var(--branco);}
.prod-dl-info {display: flex; flex-direction: column; gap: 3px; flex: 1;}
.prod-dl-nome {font-size: 0.88rem; font-weight: var(--fw-bold); color: var(--cinza-escuro);}
.prod-dl-tipo {font-size: 0.72rem; color: var(--cinza-claro);}
.prod-dl-seta {color: var(--cinza-claro); flex-shrink: 0; transition: color var(--trans);}
.prod-download-card:hover .prod-dl-seta {color: var(--laranja);}

/* =====================================================
   Soluções
===================================================== */
#solucoes .sec-topo-interno {background: url(../../www/imagens/site/bg_certificacoes.jpg) var(--cinza-escuro);}
.sol-intro-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px;}
.sol-intro-p {font-size: 1.05rem; line-height: 1.85; color: var(--cinza-texto);}
.sec-solucao {border-top: 1px solid #f0f0f0;}
.solucao-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center;}
.sec-solucao-alt:nth-child(even) {background: var(--cinza-bg);}
.sec-solucao-alt:nth-child(even) .solucao-inner .solucao-img-wrap {order: 2;}
.sec-solucao-alt:nth-child(even) .solucao-inner .solucao-info {order: 1;}
.solucao-img-wrap {position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 4/3;}
.solucao-img-wrap img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease;}
.solucao-img-wrap:hover img {transform: scale(1.04);}
.solucao-num {position: absolute; top: 20px; left: 20px; font-family: 'Bebas Neue', 'Montserrat', sans-serif; font-size: 5rem; font-weight: 400; color: var(--branco); line-height: 1; z-index: 1; text-shadow: 0 2px 12px rgba(0,0,0,0.4); letter-spacing: 2px; pointer-events: none;}
.solucao-info {display: flex; flex-direction: column; gap: 0;}
.solucao-info .sec-label {margin-bottom: 10px;}
.solucao-info .titulo-grande {margin-bottom: 24px;}
.solucao-info p {margin-bottom: 18px; font-size: 0.97rem; line-height: 1.85;}
.solucao-aplicacao {display: flex; align-items: flex-start; gap: 10px; background: #f2f2f2; border-left: 3px solid var(--laranja); padding: 16px 20px; border-radius: 0 6px 6px 0; margin-bottom: 32px; color: var(--cinza-texto); font-size: 0.9rem; line-height: 1.7;}
.solucao-aplicacao svg {color: var(--laranja); flex-shrink: 0; margin-top: 3px;}
.solucao-aplicacao strong {color: var(--cinza-escuro);}

/* =====================================================
   Blog: Listagem
===================================================== */
#blog .sec-topo-interno {background: url('../../www/imagens/site/bg_blog.jpg') var(--cinza-escuro);}
.blog-container {display: grid; grid-template-columns: 1fr 360px; gap: 60px; align-items: start;}
.blog-main {}
.blog-post-destaque {display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 12px; overflow: hidden; border: 1px solid #ebebeb; margin-bottom: 48px; box-shadow: 0 4px 24px rgba(0,0,0,0.06);}
.blog-destaque-img {position: relative; display: block; overflow: hidden;}
.blog-destaque-img img {width: 100%; height: 100%; object-fit: cover; min-height: 380px; transition: transform 0.5s ease; background: #e0e0e0;}
.blog-post-destaque:hover .blog-destaque-img img {transform: scale(1.04);}
.blog-destaque-info {padding: 44px 40px; display: flex; flex-direction: column; justify-content: center; background: var(--branco);}
.blog-destaque-titulo {font-size: 1.35rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.4; margin: 12px 0 16px;}
.blog-destaque-titulo a {color: inherit; transition: color var(--trans);}
.blog-destaque-titulo a:hover {color: var(--laranja);}
.blog-destaque-excerpt {font-size: 0.88rem; color: var(--cinza-texto); line-height: 1.85;}
.blog-destaque-rodape {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; padding-top: 24px; border-top: 1px solid #f0f0f0;}
.blog-autor {display: flex; align-items: center; gap: 12px;}
.blog-autor img {width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #e0e0e0; flex-shrink: 0;}
.blog-autor strong {display: block; font-size: 0.78rem; color: var(--cinza-escuro); font-weight: var(--fw-bold);}
.blog-autor span {display: block; font-size: 0.7rem; color: var(--cinza-claro); margin-top: 2px; font-weight: var(--fw-bold); letter-spacing: 0.3px; text-transform: uppercase;}
.blog-post-meta {display: flex; align-items: center; gap: 16px;}
.blog-data, .blog-tempo {display: flex; align-items: center; gap: 5px; font-size: 0.72rem; color: var(--cinza-claro); font-weight: var(--fw-bold); letter-spacing: 0.3px; text-transform: uppercase;}
.blog-categoria-tag {position: absolute; top: 16px; left: 16px; z-index: 2; font-size: 0.65rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; background: var(--laranja); color: var(--branco); padding: 5px 12px; border-radius: 20px;}
.blog-cat-verde {background: #27ae60;}
.blog-cat-azul {background: #2980b9;}
.blog-cat-roxo {background: #8e44ad;}
.blog-ler-mais {display: inline-flex; align-items: center; gap: 6px; font-size: 0.75rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--laranja); transition: gap var(--trans);}
.blog-ler-mais:hover {gap: 10px;}
.blog-ler-mais-sm {font-size: 0.75rem; font-weight: var(--fw-bold); color: var(--laranja); white-space: nowrap; transition: color var(--trans);}
.blog-ler-mais-sm:hover {color: var(--cinza-escuro);}
.blog-filtro-mob {display: none; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 32px;}
.blog-filtro-mob span {font-size: 0.72rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 1px; color: var(--cinza-claro);}
.blog-filtro-tags {display: flex; gap: 8px; flex-wrap: wrap;}
.blog-filtro-btn {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; padding: 6px 14px; border-radius: 20px; border: 1px solid #e0e0e0; color: var(--cinza-texto); background: var(--branco); cursor: pointer; transition: all var(--trans);}
.blog-filtro-btn.ativo, .blog-filtro-btn:hover {background: var(--laranja); border-color: var(--laranja); color: var(--branco);}
.blog-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 28px;}
.blog-card {border-radius: 10px; overflow: hidden; border: 1px solid #ebebeb; background: var(--branco); transition: box-shadow var(--trans), transform var(--trans);}
.blog-card:hover {box-shadow: 0 8px 32px rgba(0,0,0,0.08); transform: translateY(-4px);}
.blog-card-img {position: relative; display: block; overflow: hidden;}
.blog-card-img img {width: 100%; height: 200px; object-fit: cover; transition: transform 0.4s ease; background: #e0e0e0;}
.blog-card:hover .blog-card-img img {transform: scale(1.05);}
.blog-card-info {padding: 24px 24px 20px;}
.blog-card-titulo {font-size: 0.95rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.45; margin: 10px 0 10px;}
.blog-card-titulo a {color: inherit; transition: color var(--trans);}
.blog-card-titulo a:hover {color: var(--laranja);}
.blog-card-excerpt {font-size: 0.82rem; color: var(--cinza-texto); line-height: 1.75;}
.blog-card-rodape {display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding-top: 14px; border-top: 1px solid #f5f5f5;}
.blog-tag-pill {font-size: 0.65rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; background: rgba(255,136,0,0.08); color: var(--laranja); padding: 4px 10px; border-radius: 20px;}
.blog-paginacao {display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 52px; padding-top: 40px; border-top: 1px solid #ebebeb;}
.blog-pag-num {width: 40px; height: 40px; border-radius: 6px; border: 1px solid #e8e8e8; background: var(--branco); font-size: 0.82rem; font-weight: var(--fw-bold); color: var(--cinza-texto); cursor: pointer; transition: all var(--trans);}
.blog-pag-num:hover {border-color: var(--laranja); color: var(--laranja);}
.blog-pag-num.ativo {background: var(--laranja); border-color: var(--laranja); color: var(--branco);}
.blog-pag-btn {width: 40px; height: 40px; border-radius: 6px; border: 1px solid #e8e8e8; background: var(--branco); display: flex; align-items: center; justify-content: center; color: var(--cinza-texto); cursor: pointer; transition: all var(--trans);}
.blog-pag-btn:hover:not(:disabled) {border-color: var(--laranja); color: var(--laranja);}
.blog-pag-btn:disabled {opacity: 0.3; cursor: default;}
.blog-pag-ellipsis {font-size: 0.88rem; color: var(--cinza-claro); padding: 0 4px;}
.blog-sidebar {display: flex; flex-direction: column; gap: 32px; position: sticky; top: calc(var(--topo-h) + 24px);}
.blog-widget {background: var(--branco); border: 1px solid #ebebeb; border-radius: 10px; padding: 28px 28px;}
.blog-widget-titulo {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; color: var(--cinza-escuro); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid var(--laranja); display: inline-block;}
.blog-search {display: flex; border: 1px solid #e0e0e0; border-radius: 6px; overflow: hidden; margin-top: 4px;}
.blog-search-input {flex: 1; border: none; outline: none; padding: 12px 14px; font-size: 0.84rem; font-family: var(--font-main); color: var(--cinza-escuro);}
.blog-search-btn {background: var(--laranja); color: var(--branco); padding: 0 16px; border: none; cursor: pointer; display: flex; align-items: center; transition: background var(--trans);}
.blog-search-btn:hover {background: var(--cinza-escuro);}
.blog-cats-lista {display: flex; flex-direction: column; gap: 0; margin-top: 4px;}
.blog-cats-lista li a {display: flex; justify-content: space-between; align-items: center; padding: 11px 0; border-bottom: 1px solid #f5f5f5; font-size: 0.84rem; color: var(--cinza-texto); font-weight: var(--fw-normal); transition: color var(--trans);}
.blog-cats-lista li:last-child a {border-bottom: none;}
.blog-cats-lista li a:hover .blog-cat-nome {color: var(--laranja);}
.blog-cat-nome {transition: color var(--trans);}
.blog-cat-count {font-size: 0.7rem; font-weight: var(--fw-bold); background: var(--cinza-bg); color: var(--cinza-claro); padding: 2px 8px; border-radius: 10px; min-width: 28px; text-align: center;}
.blog-tags-cloud {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px;}
.blog-tag {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.3px; text-transform: uppercase; padding: 6px 12px; border-radius: 4px; border: 1px solid #e0e0e0; color: var(--cinza-texto); background: var(--branco); transition: all var(--trans);}
.blog-tag:hover {background: var(--laranja); border-color: var(--laranja); color: var(--branco);}
.blog-tag-lg {font-size: 0.8rem; padding: 8px 14px;}
.blog-banner-widget {padding: 0; overflow: hidden; border: none;}
.blog-mini-banner {display: block; position: relative; border-radius: 10px; overflow: hidden;}
.blog-mini-banner img {width: 100%; height: 220px; object-fit: cover; display: block; background: #e0e0e0; transition: transform 0.4s ease;}
.blog-mini-banner:hover img {transform: scale(1.05);}
.blog-mini-banner-overlay {position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100%); padding: 24px 20px; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px;}
.blog-mini-banner-overlay strong {display: block; font-size: 1rem; color: var(--branco); font-weight: var(--fw-bold); line-height: 1.3;}
.blog-mini-banner-overlay p {font-size: 0.75rem; color: rgba(255,255,255,0.75); margin-top: 4px; line-height: 1.4;}
.blog-banner-cta {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; color: var(--laranja); margin-top: 10px; display: block;}
.blog-mini-banner-dark {background: var(--cinza-escuro);}
.blog-mini-banner-dark-inner {padding: 28px 24px; display: flex; flex-direction: column; gap: 8px; color: var(--branco);}
.blog-mini-banner-dark svg {color: var(--laranja);}
.blog-mini-banner-dark strong {font-size: 1rem; font-weight: var(--fw-bold); line-height: 1.3;}
.blog-mini-banner-dark p {font-size: 0.8rem; color: rgba(255,255,255,0.6); line-height: 1.6; margin: 0;}
.blog-recentes {display: flex; flex-direction: column; gap: 0; margin-top: 4px;}
.blog-recente-item {display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid #f5f5f5;}
.blog-recentes li:last-child .blog-recente-item {border-bottom: none;}
.blog-recente-item img {width: 64px; height: 64px; border-radius: 6px; object-fit: cover; flex-shrink: 0; background: #e0e0e0;}
.blog-recente-titulo {display: block; font-size: 0.8rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.4; transition: color var(--trans);}
.blog-recente-item:hover .blog-recente-titulo {color: var(--laranja);}
.blog-recente-data {display: block; font-size: 0.68rem; color: var(--cinza-claro); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.3px; margin-top: 5px;}

/* =====================================================
   Blog: Detalhe do Post
===================================================== */
.sec-topo-post {min-height: 590px;}
.topo-post-conteudo {}
.topo-post-meta {display: flex; align-items: center; gap: 16px; margin-bottom: 18px;}
.topo-post-tempo {display: flex; align-items: center; gap: 5px; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; color: rgba(255,255,255,0.65);}
.topo-post-titulo {max-width: 75%; font-size: clamp(1.5rem, 3vw, 2.8rem)!important; line-height: 1.25; margin-bottom: 24px;}
.topo-post-autor {display: flex; align-items: center; gap: 12px;}
.topo-post-autor img {width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,0.3); background: #e0e0e0;}
.topo-post-autor strong {display: block; font-size: 0.82rem; color: var(--branco); font-weight: var(--fw-bold);}
.topo-post-autor span {display: block; font-size: 0.7rem; color: rgba(255,255,255,0.6); margin-top: 2px;}
.post-img-principal {border-radius: 12px; overflow: hidden; margin-bottom: 44px; box-shadow: 0 8px 40px rgba(0,0,0,0.1);}
.post-img-principal img {width: 100%; height: 420px; object-fit: cover; display: block; background: #e0e0e0;}
.post-corpo {font-size: 0.96rem; color: var(--cinza-texto); line-height: 1.9;}
.post-corpo .post-lead {font-size: 1.08rem; color: var(--cinza-escuro); line-height: 1.75; border-left: 4px solid var(--laranja); padding-left: 20px; margin-bottom: 36px; font-weight: var(--fw-normal);}
.post-corpo h2 {font-size: 1.3rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin: 40px 0 16px; padding-bottom: 10px; border-bottom: 1px solid #ebebeb;}
.post-corpo h3 {font-size: 1.05rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin: 28px 0 12px;}
.post-corpo p {margin-bottom: 20px;}
.post-corpo ul, .post-corpo ol {padding-left: 24px; margin-bottom: 20px;}
.post-corpo li {margin-bottom: 8px;}
.post-corpo strong {color: var(--cinza-escuro); font-weight: var(--fw-bold);}
.post-corpo em {font-style: italic;}
.post-blockquote {background: rgba(255,136,0,0.06); border-left: 4px solid var(--laranja); border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 32px 0;}
.post-blockquote p {margin: 0; font-size: 1rem; color: var(--cinza-escuro); font-style: italic; line-height: 1.7;}
.post-comparativo {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0 36px;}
.post-comp-col {border: 1px solid #ebebeb; border-radius: 10px; overflow: hidden;}
.post-comp-header {display: flex; align-items: center; gap: 10px; padding: 14px 20px; font-size: 0.88rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; color: var(--branco);}
.post-comp-hss {background: var(--cinza-escuro);}
.post-comp-tct {background: var(--laranja);}
.post-comp-col ul {list-style: none; padding: 16px 20px; margin: 0; display: flex; flex-direction: column; gap: 10px;}
.post-comp-col li {font-size: 0.83rem; color: var(--cinza-texto); line-height: 1.4; padding-bottom: 10px; border-bottom: 1px solid #f5f5f5;}
.post-comp-col li:last-child {border-bottom: none; padding-bottom: 0;}
.post-rodape {display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 40px; padding-top: 28px; border-top: 1px solid #ebebeb;}
.post-tags {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.post-tags-label, .post-share-label {font-size: 0.7rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 1px; color: var(--cinza-claro); white-space: nowrap;}
.post-share {display: flex; align-items: center; gap: 10px;}
.post-share-btn {width: 36px; height: 36px; border-radius: 6px; border: 1px solid #e0e0e0; display: flex; align-items: center; justify-content: center; color: var(--cinza-texto); transition: all var(--trans);}
.post-share-btn:hover {background: var(--laranja); border-color: var(--laranja); color: var(--branco);}
.post-autor-box {display: flex; gap: 20px; align-items: flex-start; background: var(--cinza-bg); border-radius: 10px; padding: 28px 28px; margin-top: 40px;}
.post-autor-foto {width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: #e0e0e0;}
.post-autor-info {display: flex; flex-direction: column; gap: 4px;}
.post-autor-nome {font-size: 0.9rem; font-weight: var(--fw-bold); color: var(--cinza-escuro);}
.post-autor-cargo {font-size: 0.7rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--laranja);}
.post-autor-info p {font-size: 0.83rem; color: var(--cinza-texto); line-height: 1.7; margin-top: 8px;}
.post-nav {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 40px; padding-top: 28px; border-top: 1px solid #ebebeb;}
.post-nav-item {display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid #ebebeb; border-radius: 8px; transition: all var(--trans);}
.post-nav-item:hover {border-color: var(--laranja); box-shadow: 0 4px 16px rgba(255,136,0,0.1);}
.post-nav-dir {display: flex; align-items: center; gap: 5px; font-size: 0.7rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--laranja);}
.post-nav-next .post-nav-dir {justify-content: flex-end;}
.post-nav-titulo {font-size: 0.85rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.4;}
.post-nav-next .post-nav-titulo {text-align: right;}
.sec-relacionados {background: var(--cinza-bg);}
.relacionados-header {margin-bottom: 40px;}
.relacionados-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;}
.relacionados-rodape {text-align: center; margin-top: 44px;}

/* =====================================================
   Contato
===================================================== */
#contato .sec-topo-interno {background: url('../../www/imagens/site/bg_contato.jpg') var(--cinza-escuro);}
.contato-main-inner {display: grid; grid-template-columns: 480px 1fr; gap: 80px; align-items: start;}
.contato-info .titulo-grande {margin-top: 12px; font-size: clamp(1.8rem, 3vw, 2.6rem);}
.contato-intro {color: var(--cinza-texto); line-height: 1.85; margin-top: 20px; font-size: 0.92rem;}
.contato-tel-box {display: flex; align-items: center; gap: 18px; margin-top: 36px; padding: 24px 28px; background: var(--cinza-bg); border-radius: 10px; border-left: 4px solid var(--laranja);}
.contato-tel-icone {width: 48px; height: 48px; background: var(--laranja); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--branco); flex-shrink: 0;}
.contato-tel-label {display: block; font-size: 0.68rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro); margin-bottom: 4px;}
.contato-tel-num {display: block; font-size: 1.4rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); letter-spacing: -0.5px; transition: color var(--trans);}
.contato-tel-num:hover {color: var(--laranja);}
.contato-horarios {margin-top: 28px; padding: 24px 28px; background: var(--branco); border: 1px solid #ebebeb; border-radius: 10px;}
.contato-hor-titulo {display: flex; align-items: center; gap: 8px; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-escuro); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.contato-hor-lista {display: flex; flex-direction: column; gap: 10px;}
.contato-hor-lista li {display: flex; justify-content: space-between; align-items: center; gap: 12px;}
.contato-hor-dia {font-size: 0.84rem; color: var(--cinza-texto);}
.contato-hor-hora {font-size: 0.84rem; font-weight: var(--fw-bold); color: var(--cinza-escuro);}
.contato-links-rapidos {display: flex; flex-direction: column; gap: 10px; margin-top: 24px;}
.contato-link-item {display: flex; align-items: center; gap: 10px; font-size: 0.84rem; color: var(--cinza-texto); font-weight: var(--fw-normal); transition: color var(--trans);}
.contato-link-item svg {color: var(--laranja); flex-shrink: 0;}
.contato-link-item:hover {color: var(--laranja);}
.contato-form-wrap {background: var(--branco); border: 1px solid #ebebeb; border-radius: 14px; padding: 44px 44px; box-shadow: 0 8px 40px rgba(0,0,0,0.06);}
.contato-form {display: flex; flex-direction: column; gap: 18px;}
.form-row {display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.form-grupo {display: flex; flex-direction: column; gap: 6px;}
.form-grupo label {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; color: var(--cinza-escuro);}
.form-req {color: var(--laranja);}
.form-grupo input,
.form-grupo select,
.form-grupo textarea {font-family: var(--font-main); font-size: 0.88rem; color: var(--cinza-escuro); border: 1px solid #e0e0e0; border-radius: 6px; padding: 12px 16px; outline: none; transition: border-color var(--trans), box-shadow var(--trans); background: var(--branco); width: 100%;}
.form-grupo input::placeholder,
.form-grupo textarea::placeholder {color: #c0c0c0;}
.form-grupo input:focus,
.form-grupo select:focus,
.form-grupo textarea:focus {border-color: var(--laranja); box-shadow: 0 0 0 3px rgba(255,136,0,0.1);}
.form-grupo input.erro,
.form-grupo select.erro,
.form-grupo textarea.erro {border-color: #e74c3c;}
.form-grupo select {appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='%23B7B4B4'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; cursor: pointer;}
.form-grupo textarea {resize: vertical; min-height: 120px; line-height: 1.65;}
.form-rodape {display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 4px;}
.form-aviso {display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: var(--cinza-claro);}
.form-aviso svg {color: #27ae60; flex-shrink: 0;}
.contato-submit {padding: 15px 32px; white-space: nowrap;}
.form-feedback {margin-top: 16px; padding: 14px 18px; border-radius: 6px; font-size: 0.84rem; font-weight: var(--fw-bold);}
.form-feedback.sucesso {background: rgba(39,174,96,0.1); color: #1e8449; border: 1px solid rgba(39,174,96,0.25);}
.form-feedback.erro-geral {background: rgba(231,76,60,0.08); color: #c0392b; border: 1px solid rgba(231,76,60,0.2);}
#contato .sec-unidades {background: url('../../www/imagens/site/bg_especialidades.png') var(--cinza-bg);}
#contato .owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {background: rgb(238 204 177); border: 1px solid rgba(238 204 177,0.2) !important; border-radius: 50% !important; display: flex; align-items: center; justify-content: center; color: var(--branco) !important; font-size: 1.2rem !important; transition: all var(--trans) !important;}
#contato .owl-carousel .owl-nav button:hover {background: var(--laranja) !important; border-color: var(--laranja) !important;}
.owl-unidades {margin-top: 20px;}
.unidade-card {background: var(--branco); border: 1px solid #e8e8e8; border-radius: 12px; padding: 36px 32px; margin: 4px 0 40px; transition: box-shadow var(--trans), transform var(--trans);}
.unidade-card:hover {box-shadow: 0 12px 40px rgba(0,0,0,0.08); transform: translateY(-4px);}
.unidade-header {display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #f0f0f0;}
.unidade-badge {font-size: 0.62rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; background: var(--laranja); color: var(--branco); padding: 4px 10px; border-radius: 20px; white-space: nowrap;}
.unidade-badge-cinza {background: var(--cinza-claro);}
.unidade-nome {font-size: 1.05rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.3;}
.unidade-dados {display: flex; flex-direction: column; gap: 14px;}
.unidade-dados li {display: flex; align-items: flex-start; gap: 10px; font-size: 0.84rem; color: var(--cinza-texto); line-height: 1.55;}
.unidade-dados li svg {color: var(--laranja); flex-shrink: 0; margin-top: 2px;}
.unidade-dados a {color: var(--cinza-texto); transition: color var(--trans);}
.unidade-dados a:hover {color: var(--laranja);}
.unidade-mapa-btn {display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; color: var(--laranja); margin-top: 24px; padding-top: 20px; border-top: 1px solid #f0f0f0; width: 100%; transition: gap var(--trans);}
.unidade-mapa-btn:hover {gap: 8px;}
.owl-unidades .owl-nav {display: flex; justify-content: center; gap: 12px; margin-top: 20px;}
.owl-unidades .owl-nav button {width: 44px; height: 44px; border-radius: 50% !important; background: var(--branco) !important; border: 2px solid #e0e0e0 !important; color: var(--cinza-escuro) !important; display: flex !important; align-items: center; justify-content: center; transition: all var(--trans); box-shadow: 0 2px 8px rgba(0,0,0,0.06); margin: 0; padding: 0;}
.owl-unidades .owl-nav button:hover {background: var(--laranja) !important; border-color: var(--laranja) !important; color: var(--branco) !important;}
.owl-unidades .owl-nav button.disabled {opacity: 0.3;}
.sac-box {display: grid;  align-items: center;}
.sac-img {position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 4/3;}
.sac-img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.sac-info {display: flex; flex-direction: column; gap: 24px;}
.sac-titulo {font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: var(--fw-thin); line-height: 1.2; color: var(--cinza-escuro);}
.sac-titulo strong {font-weight: var(--fw-bold); color: var(--laranja);}
.sac-desc {max-width: 50%; font-size: 0.93rem; color: var(--cinza-texto); line-height: 1.75; margin-top: -8px;}
.sac-contatos {display: flex; gap: 16px; flex-wrap: wrap;}
.sac-item {display: flex; align-items: center; gap: 16px; flex: 1; min-width: 220px; padding: 20px 0; border-top: 2px solid #f0f0f0; transition: border-color var(--trans);}
.sac-item:hover {border-color: var(--laranja);}
.sac-item-icone {width: 48px; height: 48px; border-radius: 50%; background: rgba(255,136,0,0.08); color: var(--laranja); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background var(--trans);}
.sac-item:hover .sac-item-icone {background: var(--laranja); color: var(--branco);}
.sac-item-info {display: flex; flex-direction: column; gap: 3px;}
.sac-item-label {font-size: 0.68rem; font-weight: var(--fw-bold); letter-spacing: 2px; text-transform: uppercase; color: var(--laranja);}
.sac-item-valor {font-size: 1.05rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.2;}
.sac-item-obs {font-size: 0.72rem; color: var(--cinza-claro);}
.contato-mapa {line-height: 0; border-top: 4px solid var(--laranja);}
.contato-mapa iframe {display: block; filter: grayscale(15%);}

/* =====================================================
   Certificações
===================================================== */
#certificacoes .sec-topo-interno {background: url('../../www/imagens/site/bg_certificacoes.jpg') var(--cinza-escuro);}
.cert-desc-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center;}
.cert-desc-inner .titulo-grande {margin-bottom: 16px;}
.cert-desc-texto p {color: var(--cinza-texto); line-height: 1.85; margin-bottom: 18px;}
.cert-desc-texto p strong {color: var(--cinza-escuro);}
.cert-desc-img-wrap {position: relative; border-radius: 8px; overflow: hidden;}
.cert-desc-img-wrap img {width: 100%; height: 520px; object-fit: cover; display: block; background: #e8e8e8;}
.cert-download-card {display: flex; align-items: center; gap: 40px; background: var(--branco); border: 1px solid #ebebeb; border-radius: 12px; padding: 40px 48px; margin-top: 20px; box-shadow: 0 4px 24px rgba(0,0,0,0.05);}
.cert-download-icone {width: 80px; height: 80px; background: rgba(255,136,0,0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--laranja); flex-shrink: 0;}
.cert-download-info {flex: 1;}
.cert-download-info h3 {font-size: 1.15rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin-bottom: 8px;}
.cert-download-info p {font-size: 0.88rem; color: var(--cinza-texto); line-height: 1.6; margin-bottom: 14px;}
.cert-download-meta {display: flex; gap: 8px; flex-wrap: wrap;}
.cert-meta-tag {font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; background: rgba(255,136,0,0.08); color: var(--laranja); padding: 4px 10px; border-radius: 20px;}
.cert-download-btn {display: inline-flex; align-items: center; gap: 10px; background: var(--laranja); color: var(--branco); font-size: 0.88rem; font-weight: var(--fw-bold); padding: 14px 28px; border-radius: var(--radius); white-space: nowrap; transition: all var(--trans); flex-shrink: 0;}
.cert-download-btn:hover {background: var(--cinza-escuro); color: var(--branco);}
.politica-inner {display: grid; grid-template-columns: 1fr 440px; gap: 80px; align-items: start;}
.politica-intro {color: var(--cinza-texto); font-size: 0.95rem; margin: 20px 0 8px;}
.politica-lista {list-style: none; margin-top: 8px; display: flex; flex-direction: column; gap: 0;}
.politica-lista li {display: flex; align-items: flex-start; gap: 16px; padding: 22px 0; border-bottom: 1px solid #f0f0f0;}
.politica-lista li:last-child {border-bottom: none;}
.politica-icone {width: 36px; height: 36px; background: var(--laranja); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--branco); flex-shrink: 0; margin-top: 2px;}
.politica-lista li strong {display: block; font-size: 0.92rem; color: var(--cinza-escuro); margin-bottom: 6px;}
.politica-lista li p {font-size: 0.84rem; color: var(--cinza-texto); line-height: 1.7; margin: 0;}
.politica-visual {display: flex; flex-direction: column; gap: 24px;}
.politica-quote {background: var(--cinza-escuro); border-radius: 12px; padding: 40px 36px;}
.politica-quote-icone {color: var(--laranja); opacity: 0.5; margin-bottom: 16px;}
.politica-quote blockquote {font-size: 1rem; color: rgba(255,255,255,0.85); line-height: 1.85; font-style: italic; margin: 0 0 24px;}
.politica-quote-autor strong {display: block; font-size: 0.85rem; color: var(--branco); font-weight: var(--fw-bold);}
.politica-quote-autor span {font-size: 0.75rem; color: var(--laranja); font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase;}
.politica-norma {display: flex; align-items: center; gap: 20px; background: var(--cinza-bg); border-radius: 10px; padding: 24px 28px; border: 1px solid #e8e8e8;}
.politica-norma-badge {font-size: 1.4rem; font-weight: 900; color: var(--branco); background: var(--laranja); padding: 8px 14px; border-radius: 6px; line-height: 1; letter-spacing: 1px;}
.politica-norma strong {display: block; font-size: 1.3rem; color: var(--cinza-escuro); font-weight: var(--fw-bold);}
.politica-norma span {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro);}
.cert-dif-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.cert-dif-nums {display: grid; grid-template-columns: 1fr 1fr; gap: 2px;}
.cert-dif-num {background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); padding: 32px 28px; transition: background var(--trans);}
.cert-dif-num:hover {background: rgb(255 255 255 / 10%);}
.cert-dif-num strong {display: block; font-family: 'Bebas Neue', sans-serif; font-size: 3rem; color: var(--laranja); letter-spacing: 2px; line-height: 1; margin-bottom: 10px;}
.cert-dif-num span {font-size: 0.84rem; color: rgba(255,255,255,0.6); line-height: 1.5;}
.cert-cta-inner {display: flex; align-items: center; gap: 40px; background: var(--cinza-bg); border: 1px solid #e8e8e8; border-radius: 16px; padding: 56px 64px;}
.cert-cta-icone {width: 72px; height: 72px; background: rgba(255,136,0,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--laranja); flex-shrink: 0;}
.cert-cta-texto {flex: 1;}
.cert-cta-texto p {color: var(--cinza-texto); line-height: 1.7; margin-top: 10px; font-size: 0.95rem;}
.cert-cta-btn {display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; flex-shrink: 0; padding: 16px 32px;}

/* =====================================================
   Produtos – Categorias e Sub-categorias
===================================================== */
#produtos .sec-topo-interno-sm {min-height: 650px;}

/* --- Listagem de produtos (?page=produtos&cat=X&sub=Y) --- */
.listagem-inner {display: grid; grid-template-columns: 320px 1fr; gap: 60px; align-items: start;}

/* --- Catálogo completo (?page=produtos) --- */
.catalogo-conteudo {}

/* Categoria */
.catalogo-cat {padding-bottom: 60px; border-bottom: 2px solid #ebebeb; margin-bottom: 60px;}
.catalogo-cat:last-child {border-bottom: none; margin-bottom: 0; padding-bottom: 0;}
.catalogo-cat-header {margin-bottom: 36px;}
.catalogo-cat-nome {font-size: 1.8rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin: 0 0 10px;}
.catalogo-cat-desc {font-size: 0.9rem; color: var(--cinza-texto); line-height: 1.6; margin: 0; max-width: 680px;}

/* Sub-categoria */
.catalogo-sub {margin-bottom: 48px;}
.catalogo-sub:last-child {margin-bottom: 0;}
.catalogo-sub-header {display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #ebebeb;}
.catalogo-sub-nome {font-size: 1.1rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin: 0;}
.catalogo-sub-count {font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--cinza-claro);}

/* Grid de produtos do catálogo */
.catalogo-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;}

/* Sidebar */
.listagem-sidebar {position: sticky; top: 100px;}
.sidebar-nav {margin-bottom: 28px;}
.sidebar-cat-group {margin-bottom: 4px;}
.sidebar-cat-link {display: block; padding: 10px 12px; font-size: 0.82rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--cinza-claro); text-decoration: none; border-radius: 6px; transition: color var(--trans), background var(--trans);}
.sidebar-cat-link:hover {color: var(--cinza-escuro); background: var(--cinza-bg);}
.sidebar-cat-link.ativo {color: var(--cinza-escuro);}
.sidebar-subcats {list-style: none; padding: 0 0 8px 12px; margin: 0; border-left: 2px solid #ebebeb; margin-left: 12px;}
.sidebar-cat-group.ativo > .sidebar-subcats {border-left-color: var(--laranja);}
.sidebar-subcats li {margin: 0;}
.sidebar-subcat {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; font-size: 0.85rem; color: var(--cinza-texto); text-decoration: none; border-radius: 4px; transition: color var(--trans), background var(--trans);}
.sidebar-subcat:hover {color: var(--cinza-escuro); background: var(--cinza-bg);}
.sidebar-subcat.ativo {color: var(--laranja); font-weight: var(--fw-bold); background: rgba(255,120,0,0.06);}
.sidebar-count {background: var(--laranja); color: var(--branco); font-size: 0.62rem; font-weight: var(--fw-bold); border-radius: 20px; padding: 2px 7px; flex-shrink: 0;}
.sidebar-orc {display: flex; align-items: center; gap: 8px; background: var(--laranja); color: var(--branco); font-size: 0.78rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; padding: 14px 18px; border-radius: 6px; text-decoration: none; transition: opacity var(--trans);}
.sidebar-orc:hover {opacity: 0.88;}

/* Header e contagem */
.listagem-header {display: flex; align-items: center; justify-content: space-between; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid #ebebeb;}
.listagem-contagem {font-size: 0.88rem; color: var(--cinza-claro);}
.listagem-contagem strong {color: var(--cinza-escuro); font-weight: var(--fw-bold);}

/* Grid de cards */
.listagem-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.prod-lista-card {display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; border: 1px solid #ebebeb; text-decoration: none; color: inherit; background: var(--branco); transition: box-shadow var(--trans), transform var(--trans), border-color var(--trans);}
.prod-lista-card:hover {box-shadow: 0 10px 36px rgba(0,0,0,0.09); transform: translateY(-4px); border-color: var(--laranja);}
.prod-lista-img {position: relative; overflow: hidden; height: 200px;}
.prod-lista-img img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease;}
.prod-lista-card:hover .prod-lista-img img {transform: scale(1.05);}
.prod-lista-tec {position: absolute; top: 12px; left: 12px; background: var(--laranja); color: var(--branco); font-size: 0.65rem; font-weight: var(--fw-bold); letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; border-radius: 4px;}
.prod-lista-corpo {padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; gap: 8px;}
.prod-lista-nome {font-size: 1.05rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); line-height: 1.3;}
.prod-lista-desc {font-size: 0.83rem; color: var(--cinza-texto); line-height: 1.65; flex: 1;}
.prod-lista-cta {display: inline-flex; align-items: center; gap: 4px; font-size: 0.78rem; font-weight: var(--fw-bold); color: var(--laranja); margin-top: 6px; transition: gap var(--trans);}
.prod-lista-card:hover .prod-lista-cta {gap: 8px;}

/* Estado vazio */
.listagem-vazia {text-align: center; padding: 80px 20px; color: var(--cinza-claro);}
.listagem-vazia p {margin-bottom: 24px; font-size: 1rem;}

/* =====================================================
   Catálogo
===================================================== */
#catalogo .sec-topo-interno {background: url('../../www/imagens/site/bg_catalogos.jpg') var(--cinza-escuro);}
.cat-desc-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; padding-bottom: 60px; border-bottom: 1px solid #ebebeb; margin-bottom: 0;}
.cat-desc-p {color: var(--cinza-texto); line-height: 1.9; font-size: 0.95rem; align-self: end;}
.cat-tabs {display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 44px; border-bottom: 2px solid #ebebeb; padding-bottom: 0;}
.cat-tab {font-size: 0.78rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; padding: 14px 22px; border-radius: 4px 4px 0 0; border: none; background: transparent; color: var(--cinza-claro); cursor: pointer; transition: all var(--trans); position: relative; bottom: -2px;}
.cat-tab:hover {color: var(--cinza-escuro);}
.cat-tab.ativo {color: var(--laranja); border-bottom: 2px solid var(--laranja); background: rgba(255,136,0,0.04);}
.cat-grupo {display: none;}
.cat-grupo.ativo {display: block;}
.cat-downloads-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.cat-download-card {display: flex; align-items: center; gap: 28px; background: var(--branco); border: 1px solid #ebebeb; border-radius: 10px; padding: 28px 32px; transition: box-shadow var(--trans), border-color var(--trans), transform var(--trans);}
.cat-download-card:hover {box-shadow: 0 8px 32px rgba(0,0,0,0.07); border-color: rgba(255,136,0,0.25); transform: translateY(-2px);}
.cat-download-icone {width: 64px; height: 64px; background: rgba(255,136,0,0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--laranja); flex-shrink: 0;}
.cat-download-info {flex: 1; min-width: 0;}
.cat-download-info h3 {font-size: 0.9rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin-bottom: 6px; line-height: 1.4;}
.cat-download-info p {font-size: 0.8rem; color: var(--cinza-texto); line-height: 1.65; margin-bottom: 10px;}
.cat-download-btn {display: inline-flex; align-items: center; gap: 8px; background: var(--laranja); color: var(--branco); font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; padding: 11px 20px; border-radius: var(--radius); white-space: nowrap; transition: all var(--trans); flex-shrink: 0;}
.cat-download-btn:hover {background: var(--cinza-escuro); color: var(--branco);}

/* =====================================================
   Orçamento
===================================================== */
#orcamento .sec-topo-interno {min-height: 520px; background: url(../../www/imagens/site/bg_certificacoes.jpg) var(--cinza-escuro);}
.orc-intro-inner {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.orc-intro-texto h2 {margin: 16px 0 20px;}
.orc-intro-texto p {color: var(--texto); line-height: 1.8;}
.orc-garantias-box {display: flex; flex-direction: column; gap: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 32px rgba(0,0,0,0.07);}
.orc-garantia-item {display: flex; align-items: center; gap: 20px; padding: 24px 28px; background: #fff; border-bottom: 1px solid #f0f0f0;}
.orc-garantia-item:last-child {border-bottom: none;}
.orc-garantia-icone {width: 48px; height: 48px; background: rgba(255,136,0,0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--laranja); flex-shrink: 0; transition: background .2s;}
.orc-garantia-item:hover .orc-garantia-icone {background: var(--laranja); color: #fff;}
.orc-garantia-info {display: flex; flex-direction: column; gap: 3px;}
.orc-garantia-info strong {font-size: 0.92rem; font-weight: 700; color: var(--cinza-escuro);}
.orc-garantia-info span {font-size: 0.82rem; color: var(--texto);}
.orc-sol-form-box {background: #fff; border-radius: 16px; box-shadow: 0 8px 48px rgba(0,0,0,0.07); padding: 48px;}
.orc-sol-form-header {margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid #f0f0f0;}
.orc-sol-form-titulo {font-size: 1.3rem; font-weight: 800; color: var(--cinza-escuro); margin-bottom: 4px;}
.orc-sol-form-sub {font-size: 0.82rem; color: var(--texto-claro);}
.orc-form-duplo {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 0;}
.orc-form-grupo {margin-bottom: 28px;}
.orc-form-label {display: block; font-size: 0.78rem; font-weight: 700; color: var(--cinza-escuro); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px;}
.orc-form-req {color: var(--laranja);}
.orc-form-row {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px;}
.orc-form-row:last-child {margin-bottom: 0;}
.orc-form-campo {display: flex; flex-direction: column; gap: 5px;}
.orc-form-campo label {font-size: 0.78rem; color: var(--texto); font-weight: 600;}
.orc-form-campo input,
.orc-form-campo textarea,
.orc-form-campo select {border: 1.5px solid #e0e0e0; border-radius: 8px; padding: 11px 14px; font-size: 0.88rem; font-family: inherit; color: var(--cinza-escuro); outline: none; transition: border-color .2s; resize: vertical; background: #fff; appearance: auto;}
.orc-form-campo input:focus,
.orc-form-campo textarea:focus,
.orc-form-campo select:focus {border-color: var(--laranja);}
.orc-form-campo input.erro,
.orc-form-campo textarea.erro,
.orc-form-campo select.erro {border-color: #e53935;}
.orc-form-campo input::placeholder,
.orc-form-campo textarea::placeholder {color: #c0c0c0;}
.orc-campos-tipo {margin-bottom: 0;}
.orc-campo-mb {margin-bottom: 14px;}
.orc-row-mt {margin-top: 14px;}
.orc-form-grupo-label {font-size: 0.8rem; font-weight: var(--fw-bold); color: var(--cinza-texto); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 14px; margin-bottom: 6px;}
.orc-form-row.orc-row-3col {grid-template-columns: 80px 1fr 1fr;}
.orc-form-erro {background: #fff3f3; border: 1px solid #ffcdd2; color: #c62828; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; margin-bottom: 16px;}
.orc-form-sucesso {background: #f1f8e9; border: 1px solid #c5e1a5; color: #2e7d32; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; margin-bottom: 16px;}
.orc-form-submit {justify-content: center; gap: 8px; display: flex; align-items: center; padding: 14px 32px; font-size: 0.95rem; margin-top: 8px;}
.orc-form-aceite {display: flex; align-items: flex-start; gap: 10px; cursor: pointer;justify-content: flex-end;}
.orc-form-aceite input[type="checkbox"] {width: 16px; height: 16px; min-width: 16px; margin-top: 2px; accent-color: var(--laranja); cursor: pointer;}
.orc-form-aceite span {font-size: 0.82rem; color: var(--cinza-texto); line-height: 1.6;}
.orc-form-aceite a {color: var(--laranja); text-decoration: underline; transition: color var(--trans);}
.orc-form-aceite a:hover {color: var(--cinza-escuro);}

/* ── Multi-step stepper ── */
.orc-steps-nav {display: flex; align-items: center; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 2px solid #f0f0f0;}
.orc-step-item {display: flex; flex-direction: column; align-items: center; gap: 7px; flex-shrink: 0;}
.orc-step-num {width: 38px; height: 38px; border-radius: 50%; border: 2px solid #e0e0e0; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 0.88rem; font-weight: var(--fw-bold); color: #ccc; transition: all .25s;}
.orc-step-label {font-size: 0.7rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.6px; color: #ccc; text-align: center; transition: color .25s;}
.orc-step-divider {flex: 1; height: 2px; background: #e8e8e8; margin: 0 16px 26px;}
.orc-step-item.ativo .orc-step-num {border-color: var(--laranja); background: var(--laranja); color: #fff;}
.orc-step-item.ativo .orc-step-label {color: var(--laranja);}
.orc-step-item.concluido .orc-step-num {border-color: var(--laranja); background: var(--laranja); color: #fff;}
.orc-step-item.concluido .orc-step-label {color: var(--laranja);}
.orc-step-panel {animation: stepFadeIn .22s ease;}
@keyframes stepFadeIn {from {opacity: 0; transform: translateY(8px);} to {opacity: 1; transform: translateY(0);}}
.orc-steps-acoes {display: flex; align-items: center; justify-content: flex-end; margin-top: 10px; gap: 12px;}
.orc-steps-acoes .btn-step-voltar {margin-right: auto;}
.orc-campo-qtd {max-width: 200px;}

/* Row de 4 colunas (pastilhada) */
.orc-form-row.orc-row-4col {grid-template-columns: repeat(4, 1fr);}

/* =====================================================
   Políticas
===================================================== */
#politicas .sec-topo-interno {min-height: 520px;}
.priv-layout {display: grid; grid-template-columns: 1fr 280px; gap: 60px; align-items: start;}
.priv-sidebar {position: sticky; top: calc(var(--topo-h) + 24px);}
.priv-nav-lista {list-style: none; display: flex; flex-direction: column; gap: 0; margin-top: 4px;}
.priv-nav-lista li a {display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid #f5f5f5; font-size: 0.84rem; color: var(--cinza-texto); transition: color var(--trans);}
.priv-nav-lista li:last-child a {border-bottom: none;}
.priv-nav-lista li a svg {color: var(--cinza-claro); transition: color var(--trans); flex-shrink: 0;}
.priv-nav-lista li a:hover, .priv-nav-lista li.ativo a {color: var(--laranja);}
.priv-nav-lista li.ativo a svg, .priv-nav-lista li a:hover svg {color: var(--laranja);}
.priv-nav-lista li.ativo a {font-weight: var(--fw-bold);}
.priv-corpo-simples {min-width: 0;}
.priv-updated {font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: 0.5px; text-transform: uppercase; color: var(--cinza-claro); margin-bottom: 40px; padding-bottom: 20px; border-bottom: 1px solid #ebebeb;}
.priv-corpo-simples h2 {font-size: 1.1rem; font-weight: var(--fw-bold); color: var(--cinza-escuro); margin: 36px 0 12px; padding-left: 14px; border-left: 3px solid var(--laranja);}
.priv-corpo-simples h2:first-of-type {margin-top: 0;}
.priv-corpo-simples p {font-size: 0.92rem; color: var(--cinza-texto); line-height: 1.9; margin-bottom: 0;}
.priv-corpo-simples a {color: var(--laranja); text-decoration: underline; transition: color var(--trans);}
.priv-corpo-simples a:hover {color: var(--cinza-escuro);}

/* =====================================================
   Catálogo: Modal Download
===================================================== */
.modal-dl-overlay {position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 24px; backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s;}
.modal-dl-overlay.ativo {opacity: 1;}
.modal-dl-overlay[hidden] {display: none;}
.modal-dl-box {background: #fff; border-radius: 16px; width: 100%; max-width: 640px; padding: 48px; position: relative; box-shadow: 0 24px 80px rgba(0,0,0,0.2); transform: translateY(24px); transition: transform .3s;}
.modal-dl-overlay.ativo .modal-dl-box {transform: translateY(0);}
.modal-dl-fechar {position: absolute; top: 16px; right: 16px; background: none; border: none; cursor: pointer; color: #B7B4B4; padding: 6px; border-radius: 50%; transition: color .2s, background .2s; line-height: 0;}
.modal-dl-fechar:hover {color: #232323; background: #f5f5f5;}
.modal-dl-header {text-align: center; margin-bottom: 32px;}
.modal-dl-icone {width: 56px; height: 56px; background: rgba(255,136,0,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; color: #FF8800;}
.modal-dl-titulo {font-size: 1.5rem; font-weight: 800; color: #232323; margin-bottom: 8px;}
.modal-dl-desc {color: #666; font-size: 0.95rem; line-height: 1.6; max-width: 440px; margin: 0 auto;}
.modal-dl-form {}

/* =====================================================
   404
===================================================== */
.erro404-wrap {min-height: calc(100vh - var(--topo-h)); display: flex; align-items: center; justify-content: center; padding: 260px 0; background: var(--cinza-escuro);}
.erro404-inner {text-align: center; max-width: 600px;}
.erro404-numero {font-family: 'Bebas Neue', sans-serif; font-size: clamp(120px, 20vw, 200px); line-height: 1; color: var(--laranja); letter-spacing: -4px; display: block;}
.erro404-titulo {font-size: clamp(1.4rem, 3vw, 2rem); font-weight: var(--fw-bold); color: var(--branco); margin: 16px 0 12px;}
.erro404-desc {font-size: 0.95rem; color: var(--cinza-claro); line-height: 1.8; margin-bottom: 40px;}
.erro404-acoes {display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;}
.erro404-linha {width: 48px; height: 4px; background: var(--laranja); margin: 0 auto 32px; border-radius: 2px;}