/* Pro Asfalto — visual redesign (layer only). Does not change content, URLs or behavior. */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root{
  --font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --main:#EE8608;
  --main-strong:#07111F;
  --secondary:#D5D7DA;
  --grey:#5F6670;
  --black:#12171F;
  --white:#FFF;
  --dark-white:#F4F1EB;
  --bradius:14px;
  --pa-ink:#161B22;
  --pa-muted:#5A6270;
  --pa-paper:#F7F5F1;
  --pa-card:#FFFFFF;
  --pa-line:rgba(7,17,31,.08);
  --pa-shadow:0 10px 30px rgba(7,17,31,.08);
  --pa-shadow-lg:0 18px 50px rgba(7,17,31,.14);
}

html{
  font-family:var(--font)!important;
  color:var(--pa-ink);
}

body{
  font-family:var(--font)!important;
  color:var(--pa-ink);
  background:var(--pa-paper);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font)!important;
  letter-spacing:-.02em;
  color:var(--pa-ink);
  font-weight:700;
}

p,li,label,input,textarea,select,button{
  font-family:var(--font)!important;
}

a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
b,strong{color:inherit;}

/* ---------- Header ---------- */
header{
  position:fixed;
  width:100%;
  top:0;
  z-index:100;
}
header.header-background{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 1px 0 var(--pa-line),0 8px 24px rgba(7,17,31,.04)!important;
  border-bottom:1px solid transparent;
}
header .header-container-main{
  width:min(1180px,92%);
  padding:8px 0;
}
header .logo{width:188px;}
header .logo img{max-height:64px;width:auto;object-fit:contain;}

.menu>.menu-list>li>a{
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:.01em;
  color:var(--pa-ink)!important;
  padding:10px 14px!important;
}
.menu>.menu-list>li:not(li.linfo,li.btn-header)::after{
  height:2px!important;
  background:var(--main)!important;
  border-radius:2px;
  bottom:6px!important;
}
.menu>.menu-list>li:not(li.linfo,li.btn-header):hover>a{color:var(--main)!important;}

.menu>.menu-list>li.btn-header>a{
  background:var(--main)!important;
  color:#fff!important;
  border:2px solid var(--main)!important;
  border-radius:999px!important;
  padding:10px 22px!important;
  font-weight:700!important;
  box-shadow:0 8px 18px rgba(238,134,8,.28);
}
.menu>.menu-list>li.btn-header>a:hover{
  background:var(--main-strong)!important;
  border-color:var(--main-strong)!important;
  color:#fff!important;
}

.menu>.menu-list>li.liprod>.sub-menu,
.menu>.menu-list>li.linfo>.sub-menu,
.menu>.menu-list>li:not(li.linfo)>.sub-menu{
  width:360px!important;
  min-width:280px!important;
  height:auto!important;
  max-height:70vh;
  overflow-y:auto;
  left:0!important;
  margin-top:6px;
  padding:10px 0!important;
  border-radius:16px!important;
  background:var(--main-strong);
  box-shadow:var(--pa-shadow-lg)!important;
  border:1px solid rgba(255,255,255,.06);
}
.menu>.menu-list>li>.sub-menu>li>a{
  background:transparent!important;
  color:#E8E6E1!important;
  font-size:13px!important;
  text-transform:none!important;
  padding:9px 20px!important;
  letter-spacing:0!important;
}
.menu>.menu-list>li>.sub-menu>li:hover>a{
  background:rgba(238,134,8,.16)!important;
  color:#fff!important;
}

/* Slicknav mobile */
.slicknav_menu{
  background:transparent!important;
}
.slicknav_btn{
  background:var(--main-strong)!important;
  border-radius:10px!important;
}
.slicknav_nav{
  background:var(--main-strong)!important;
  border-radius:16px!important;
  margin-top:8px!important;
  padding:12px 0!important;
}
.slicknav_nav a,
.slicknav_nav .slicknav_item{
  color:#fff!important;
}

/* ---------- Hero / slider ---------- */
.slider-container{border-radius:0;}
.html-caption{
  background:linear-gradient(105deg,rgba(7,17,31,.78) 0%,rgba(7,17,31,.42) 55%,rgba(7,17,31,.2) 100%)!important;
  padding:0 8%!important;
}
.slide-content h2{
  font-weight:800!important;
  letter-spacing:-.03em;
  text-shadow:0 8px 30px rgba(0,0,0,.35);
}
#sobre-nos .box-title h2::after,
.slide-content h2::after,
.title-galeria h2::after,
.conteudo h2::after,
.conteudo-empresa h2::after{
  height:3px!important;
  width:72px!important;
  border-radius:99px;
  background:var(--main)!important;
  bottom:-12px!important;
}
.slider-pagination-bullet{
  width:10px!important;
  height:10px!important;
  background:rgba(255,255,255,.45)!important;
}
.slider-button-prev,
.slider-button-next{
  background:rgba(7,17,31,.55)!important;
  border-radius:50%!important;
}

/* ---------- Section titles ---------- */
.box-title h2,
#sobre-nos .box-title h2,
#produtos .box-title h2,
.title-galeria h2{
  font-weight:800!important;
  letter-spacing:-.03em;
  color:var(--pa-ink)!important;
}
#produtos .box-title,
#sobre-nos .box-title{margin-bottom:48px;}

/* ---------- Service cards on home ---------- */
#produtos{padding-top:20px;}
#produtos .content{
  background:var(--pa-card);
  border:1px solid var(--pa-line);
  border-radius:18px!important;
  box-shadow:var(--pa-shadow);
  overflow:hidden;
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
#produtos .content:hover{
  transform:translateY(-6px);
  box-shadow:var(--pa-shadow-lg);
}
#produtos .content .box-img,
#produtos .content .box-img img{
  border-radius:0!important;
}
#produtos .content .box-text{padding:18px 18px 22px!important;}
#produtos .content .box-text h3{
  font-size:17px!important;
  font-weight:700!important;
  color:var(--pa-ink)!important;
}
#produtos .content .box-text p{
  color:var(--pa-muted)!important;
  line-height:1.6;
}
#produtos .content .box-text a,
.button-servicos a{
  display:inline-block;
  border-radius:999px!important;
  padding:9px 16px!important;
  font-weight:700!important;
  font-size:14px!important;
}
.button-servicos a{
  background:#fff!important;
  border:1.5px solid var(--main)!important;
  color:var(--pa-ink)!important;
}
.button-servicos a:hover{
  background:var(--main)!important;
  color:#fff!important;
}

/* ---------- About cards (hide decorative balls) ---------- */
#sobre-nos{padding:100px 0;}
#sobre-nos .card{
  background:linear-gradient(180deg,#121821 0%,#0B1220 100%)!important;
  color:#F3F1EC!important;
  border-radius:20px!important;
  padding:42px 28px!important;
  box-shadow:var(--pa-shadow-lg);
  border:1px solid rgba(255,255,255,.04);
}
#sobre-nos .card .content .icon{color:var(--main);}
#sobre-nos .card .bal1,
#sobre-nos .card .bal2,
#sobre-nos .card .bal3{display:none!important;}

/* ---------- Counters ---------- */
#counter{
  background:var(--main-strong)!important;
  color:#fff;
}
#counter .content.border{border-color:rgba(255,255,255,.12)!important;}
#counter h2,#counter p{color:#fff!important;}

/* ---------- Inner page hero ---------- */
.topo{
  height:280px!important;
  background-attachment:scroll!important;
}
.topo::after{
  background:linear-gradient(180deg,rgba(7,17,31,.55) 0%,rgba(7,17,31,.72) 100%)!important;
  opacity:1!important;
}
.topo h1{
  font-weight:800!important;
  letter-spacing:-.03em;
  text-transform:none;
}

/* ---------- Serviços accordion ---------- */
.accordion{margin:72px 0!important;}
.accordion .card{
  background:transparent!important;
  border-radius:14px!important;
  overflow:hidden;
  margin-bottom:12px!important;
  box-shadow:var(--pa-shadow);
  border:1px solid var(--pa-line);
}
.accordion .card .title h2{
  background:#fff!important;
  color:var(--pa-ink)!important;
  padding:22px 24px!important;
  font-size:16px!important;
  font-weight:700!important;
  border-left:4px solid var(--main);
}
.accordion .card .title h2:hover,
.accordion .card.active .title h2,
.accordion .card.active h2{
  background:var(--main-strong)!important;
  color:#fff!important;
}
.accordion .card .content{
  background:#fff;
  padding:8px 8px 16px;
}

/* ---------- Service inner page ---------- */
.pagina{padding:72px 0;}
.conteudo p,
.conteudo li,
.conteudo-empresa p,
.conteudo-empresa li{
  font-size:16px!important;
  line-height:1.75!important;
  letter-spacing:0!important;
  color:#2A3038;
}
.conteudo h2,
.conteudo-empresa h2{
  font-size:22px!important;
  color:var(--pa-ink)!important;
  margin-bottom:18px;
}
.btn-orc a{
  background:var(--main)!important;
  background-image:none!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:700!important;
  border-radius:14px!important;
  padding:16px 24px!important;
  box-shadow:0 12px 28px rgba(238,134,8,.3)!important;
  letter-spacing:-.01em;
}
.btn-orc a:hover{
  background:var(--main-strong)!important;
  transform:translateY(-2px);
}

.swiper{border-radius:18px;overflow:hidden;box-shadow:var(--pa-shadow);}

/* ---------- Contact page / forms ---------- */
#contato .bg,
.bg{
  background:#fff!important;
  border-radius:24px!important;
  box-shadow:var(--pa-shadow-lg);
  overflow:hidden;
  border:1px solid var(--pa-line);
}
.inst-cont{
  background:var(--main-strong)!important;
  color:#F3F1EC;
  padding:36px 28px;
  border-radius:0;
}
.inst-cont h3,.inst-cont p,.inst-cont a{color:#F3F1EC!important;}
.form-control,
#contato .form-contato .form-group .form-control,
#contato.padrao .form-contato .form-group .form-control{
  height:48px!important;
  border-radius:12px!important;
  border:1.5px solid #E2E0DA!important;
  background:#FBFaf7!important;
  color:var(--pa-ink)!important;
  padding:10px 14px!important;
  font-size:15px!important;
}
textarea.form-control,
#contato .form-contato textarea.form-control,
#contato.padrao .form-contato textarea.form-control{
  height:auto!important;
  min-height:140px;
}
#contato .form-contato .form-group .form-control::placeholder,
#contato.padrao .form-contato .form-group .form-control::placeholder{
  color:#8A9099!important;
}
#contato button,
#contato button.btn-contact,
#contato.padrao button.btn-contact,
button.btn-contact,
.btn-contact{
  background:var(--main)!important;
  color:#fff!important;
  border:none!important;
  border-radius:999px!important;
  padding:14px 28px!important;
  font-weight:700!important;
  letter-spacing:.02em;
  box-shadow:0 10px 22px rgba(238,134,8,.28);
  text-transform:uppercase;
}
#contato button:hover,
button.btn-contact:hover{
  background:var(--main-strong)!important;
}

/* Homepage contact band often sits on dark panel */
#contato.padrao{
  background:linear-gradient(180deg,#0B1220 0%,#07111F 100%)!important;
}
#contato.padrao .form-contato .form-group .form-control{
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
}
#contato.padrao .form-contato .form-group .form-control::placeholder{
  color:rgba(255,255,255,.62)!important;
}
#contato.padrao select.form-control option{color:#12171F;}

/* ---------- Footer ---------- */
footer{
  background:var(--main-strong)!important;
  color:#E6E4DE!important;
  padding:64px 20px 36px!important;
  margin-bottom:0!important;
  text-align:left!important;
}
footer h4{
  color:#fff!important;
  font-size:13px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
  margin-bottom:18px;
}
footer,footer a,footer i{color:#D5D2CB!important;}
footer a:hover{
  color:var(--main)!important;
  transform:none!important;
}
footer .logo-footer img{max-width:180px;filter:none;}
.footer-selos{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:36px;
  padding-top:18px;
}
.footer-empresa{color:#B7B3AA!important;font-size:13px;}
.selos-validacao{opacity:.85;}

.menu-footer-mobile{
  background:var(--main-strong)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.2)!important;
}
.menu-footer-mobile li a,
.menu-footer-mobile li button{color:#fff!important;}
.menu-footer-mobile li button{background:var(--main)!important;}

/* ---------- WhatsApp float / cookies ---------- */
.whatsapp-link{
  right:22px!important;
  bottom:22px!important;
}
.whatsapp-link img{width:58px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));}
.box-cookies{
  background:var(--main-strong)!important;
  color:#fff!important;
  border-radius:16px;
  box-shadow:var(--pa-shadow-lg);
}
.btn-cookies{
  background:var(--main)!important;
  color:#fff!important;
  border:0;
  border-radius:999px;
  padding:8px 16px;
  font-weight:700;
}

/* ---------- Breadcrumb / misc ---------- */
#breadcrumb{
  background:transparent;
  color:var(--pa-muted);
  font-size:13px;
}
#breadcrumb a{color:var(--pa-muted);}
#breadcrumb a:hover{color:var(--main);}

.outras-paginas a{
  border-radius:999px;
}

/* Portfolio / gallery cards */
.title-galeria{padding-top:12px;}

/* Better container rhythm */
main .container{max-width:1180px;}

/* Map */
.mapa iframe,
.mapa-contato{border-radius:0 0 24px 24px;}

/* Mobile */
@media screen and (max-width:768px){
  header .logo{width:150px;}
  .topo{height:210px!important;}
  #sobre-nos{padding:64px 0;}
  .accordion{margin:40px 0!important;}
  footer{text-align:left!important;padding:48px 18px 80px!important;}
  .total-cont{padding:0 12px!important;}
  .inst-cont{border-radius:16px 16px 0 0!important;margin:0;}
  #produtos .content{margin-bottom:18px;}
  .slide-content h2{font-size:clamp(28px,8vw,40px)!important;line-height:1.15!important;}
  .html-caption{padding:0 6%!important;}
}

@media screen and (max-width:480px){
  header .header-container-main{padding:6px 12px;}
  .btn-orc a{font-size:16px!important;padding:14px 18px!important;}
}

/* ---------- Fixes: contrast, client logos, mobile ---------- */
html,body{max-width:100%;overflow-x:hidden;}
main img, .conteudo img, .conteudo-empresa img, .box-img img, .slider-container img, .swiper-slide img{max-width:100%;height:auto;}
iframe{max-width:100%;}
#contato.padrao iframe,
.mapa iframe,
.inst-cont iframe{height:280px;}
.slickCliente,
.slickCliente .slick-list{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.slickCliente .slick-slide{
  width:160px!important;
}

/* Client logos carousel */
.box-bg-clientes{background:#0B1220!important;}
.box-title-clientes span{color:var(--main)!important;}
.box-title-clientes h2{color:#fff!important;}
.slickCliente,
.slickCliente .slick-list{overflow:hidden;}
.box-img-slick-home{
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:80px!important;
  width:150px!important;
  padding:12px 16px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
  box-sizing:border-box;
}
.box-img-slick-home img,
.slickCliente img,
.slick-slide .box-img-slick-home img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:118px!important;
  max-height:50px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

/* Dark-section text contrast */
#contato.padrao .box-title h2,
#contato.padrao .box-title h3,
#contato.padrao> .container > .box-title h2{
  color:#fff!important;
}
#contato.padrao .form .box-title h3,
#contato.padrao .form h3{color:#fff!important;}
#contato.padrao .inst-cont h3,
#contato.padrao .inst-cont p,
#contato.padrao .inst-cont a{color:#F3F1EC!important;}
/* long SEO text: light bg + dark text (overridden below too) */
.conteudo-solucao h2{color:#A34B00!important;}
.conteudo-solucao p,
.conteudo-solucao b,
.conteudo-solucao strong{color:#1a1a1a!important;}
#counter,
#counter h2,
#counter p,
#counter span{color:#fff!important;}
#sobre-nos .card,
#sobre-nos .card h3,
#sobre-nos .card p,
#sobre-nos .card .text{color:#F3F1EC!important;}
.slide-content h2,
.html-caption h1,
.html-caption h2,
.topo h1{color:#fff!important;}
footer,
footer p,
footer li,
footer span,
.footer-empresa{color:#D5D2CB!important;}
footer h4{color:#fff!important;}
#home h1,#home h2{color:#fff!important;}

/* Inputs on the orange home form panel: readable light text */
#contato.padrao .form .form-control,
#contato.padrao .form textarea.form-control{
  color:#fff!important;
  background:rgba(7,17,31,.18)!important;
  border-color:rgba(255,255,255,.28)!important;
}
#contato.padrao .form .form-control::placeholder{color:rgba(255,255,255,.78)!important;}

@media screen and (max-width:768px){
  header .header-container-main{width:100%!important;max-width:100%;padding:6px 14px!important;}
  header .logo{width:min(150px,52vw);}
  header .logo img{max-height:52px;}
  .container{width:100%;max-width:100%;padding-left:16px;padding-right:16px;}
  .accordion .card .title h2{padding:16px 16px!important;font-size:15px!important;}
  .pagina{padding:36px 0;}
  #contato.padrao{padding:48px 0!important;}
  #contato.padrao .form{padding:22px 16px 24px!important;border-radius:0 0 16px 16px!important;}
  .inst-cont{padding:24px 18px!important;}
  .box-title h2,#sobre-nos .box-title h2,#produtos .box-title h2{font-size:clamp(26px,7vw,36px)!important;}
  .swiper{border-radius:12px;}
  .btn-orc{margin:28px 0;}
  .slicknav_nav{max-height:70vh;overflow-y:auto;}
}

@media screen and (max-width:480px){
  .form-control,
  #contato .form-contato .form-group .form-control,
  #contato.padrao .form-contato .form-group .form-control{
    font-size:16px!important; /* evita zoom no iOS */
    max-width:100%;
  }
  #contato button,
  button.btn-contact,
  .btn-contact{width:100%;max-width:100%;}
  .box-img-slick-home{width:136px!important;}
}

/* ---------- WCAG AA contrast + mobile type scale ---------- */
:root{ --pa-on-orange:#07111F; --pa-wa:#157347; --pa-field:#FFF8F0; --pa-field-ink:#07111F; --pa-ph:#5A4A38; }

/* Orange surfaces: navy text (7.26:1) instead of white (2.6:1) */
.menu>.menu-list>li.btn-header>a,
.btn-cookies,
#contato button,
#contato button.btn-contact,
#contato.padrao button.btn-contact,
button.btn-contact,
.btn-contact,
.btn-orc a,
#produtos .content .box-text a,
.button-servicos a:hover,
#contato .form-contato button,
#contato.padrao .form button,
#contato .form-contato input[type=submit],
footer .menu-footer-mobile li button,
.menu-footer-mobile li button{
  color:var(--pa-on-orange)!important;
}
.menu>.menu-list>li.btn-header>a:hover,
#contato button:hover,
button.btn-contact:hover,
.btn-orc a:hover{
  background:var(--main-strong)!important;
  border-color:var(--main-strong)!important;
  color:#fff!important; /* white on navy 18.9:1 */
}

/* Home orange form panel */
#contato.padrao .form .box-title h3,
#contato.padrao .form h3{color:var(--pa-on-orange)!important;}
#contato.padrao .form .form-contato .form-group .form-control,
#contato.padrao .form .form-control,
#contato.padrao .form textarea.form-control,
#contato.padrao .form-contato .form-group .form-control{
  background:var(--pa-field)!important;
  color:var(--pa-field-ink)!important;
  border:1.5px solid rgba(7,17,31,.22)!important;
}
#contato.padrao .form .form-control::placeholder,
#contato.padrao .form-contato .form-group .form-control::placeholder,
#contato.padrao .form-contato .form-group .form-control::placeholder{
  color:var(--pa-ph)!important;
}
#contato.padrao select.form-control option{color:#12171F;}

/* Saiba Mais thumbs */
a.btn-info, .btn-info{
  background:var(--main-strong)!important;
  color:#fff!important;
  border-color:var(--main-strong)!important;
}

/* WhatsApp / phone green pills */
a.whatsapp, a.btn.whatsapp, .btn.whatsapp,
a.mm-call, a.mm-whatsapp,
a[data-click-track*="WhatsApp - Meio"],
a[data-click-track*="Telefone - Meio"]{
  background:var(--pa-wa)!important;
  color:#fff!important;
  border-color:var(--pa-wa)!important;
}

/* Legal / muted links on light gray */
main p > a[rel="nofollow"],
.conteudo p > a[rel="nofollow"],
p > a[href*="planalto.gov.br"]{
  color:#3F444A!important;
}

/* GTranslate chip */
.gtranslate_wrapper,
.gtranslate_wrapper *,
.gt_switcher,
.gt_switcher .gt-selected,
span.gt-lang-code,
.gt-lang-code{
  color:#fff!important;
}
.gtranslate_wrapper,
.gt_switcher,
.gt_switcher .gt-selected,
.gt-selected{
  background:#07111F!important;
  border-color:#07111F!important;
}
span.gt-lang-code, .gt-lang-code{
  background:#07111F!important;
  color:#fff!important;
}

/* Informações / inner banners (not .topo) */
#banner h1, #banner h2, #banner .banner-content > p{
  color:#fff!important;
}
#banner .breadcrumb, #banner #breadcrumb,
#banner #breadcrumb a, #banner #breadcrumb span,
#banner .breadcrumb a, #banner .breadcrumb span{
  color:#07111F!important;
}

/* Sitemap links sitting on orange */
.sitemap a, .outras-paginas a{
  color:var(--pa-on-orange)!important;
}

@media screen and (max-width:768px){
  main p, main li, main td, main label, main a,
  .conteudo p, .conteudo li, .conteudo a, .conteudo td,
  .conteudo-empresa p, .conteudo-empresa li, .conteudo-empresa a,
  .box-text p, .box-text h3, .box-text a,
  footer li, footer a, footer p, footer span,
  #breadcrumb, #breadcrumb a, #breadcrumb span,
  .sitemap li, .sitemap a,
  .accordion .card .title h2,
  .lista-cidades li, .lista-cidades a,
  .thumbs a, .box-thumb a, .btn-info{
    font-size:14px!important;
    line-height:1.5;
  }
  footer h4{font-size:13px!important;letter-spacing:.12em!important;} /* 13px ok if uppercase/large? keep 14 to be safe */
  footer h4{font-size:14px!important;}
}


/* Thumb titles and related-page links on orange bars */
.box-thumb h6,
.box-thumb h6 a,
.box-thumb a,
.lista-thumb a,
.lista-thum a,
#banner .buttons a,
#banner a[data-click-track]{
  color:#07111F!important;
}

/* GTranslate: beat widget stylesheet */
html body span.gt-lang-code,
html body .gt-lang-code,
html body .gt_switcher span,
html body .gtranslate_wrapper span,
html body .gt-selected span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}


/* “Informações” toggle heading on orange bar */
h3 > span{color:#07111F!important;}
h3 > span .icone-acao, h3 > span i{color:#07111F!important;}

.inst-cont h3, .inst-cont h3 span, .inst-cont h3 > span{color:#F3F1EC!important;}


/* ---------- Long SEO / article text: light paper, dark copy ---------- */
.solucoes,
.solucoes .swiper,
.solucoes .swiper-wrapper,
.solucoes .swiper-slide,
#introducao, #fatores, #custos, #diferenca, #economico{
  background:#F7F5F1!important;
  background-image:none!important;
  height:auto!important;
  min-height:0!important;
}
.solucoes .swiper{
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#introducao::after, #fatores::after, #custos::after, #diferenca::after, #economico::after{
  display:none!important;
  opacity:0!important;
  background:none!important;
}
.conteudo-solucao{
  height:auto!important;
  padding:48px 0 56px!important;
  color:#1a1a1a!important;
}
.conteudo-solucao h2,
.conteudo-solucao .title h2,
.conteudo h2,
.conteudo-empresa h2{
  color:#A34B00!important; /* darkened orange, ~5.9:1 on white */
}
.conteudo-solucao p,
.conteudo-solucao li,
.conteudo-solucao b,
.conteudo-solucao strong,
.conteudo p,
.conteudo li,
.conteudo-empresa p,
.conteudo-empresa li{
  color:#1a1a1a!important;
  font-size:16px!important;
  line-height:1.7!important;
}
@media screen and (max-width:768px){
  .conteudo-solucao p,
  .conteudo-solucao li,
  .conteudo p,
  .conteudo li,
  .conteudo-empresa p,
  .conteudo-empresa li{
    font-size:16px!important;
    line-height:1.7!important;
  }
  .solucoes .swiper-wrapper{height:auto!important;}
}


/* ---------- Layout audit fixes (overflow, tap, overlays, images) ---------- */
html, body { overflow-x: hidden !important; max-width: 100% !important; }

/* Client logos carousel: contain the oversized slick track */
.box-bg-clientes,
.box-bg-clientes .container,
.box-bg-clientes .flex,
.box-bg-clientes [class*="col-"]{
  max-width: 100% !important;
  overflow: hidden !important;
}
.slickCliente,
.slickCliente .slick-list{
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.slickCliente .slick-slide{width:160px!important; max-width:160px!important;}
.slick-prev, .slick-next{
  min-width:44px!important;
  min-height:44px!important;
}

main, .main-content{
  max-width:100%!important;
  overflow-x:hidden!important;
}
.slider-container{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  position:relative;
}
.slider-wrapper{
  max-width:none!important; /* track may be 2–4x wide, clipped by container */
}

/* Don't stretch square thumbs */
.box-thumb img,
.box-thumb > a img,
.lista-thumb img,
.lista-thum img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1;
  object-fit:cover!important;
  object-position:center;
}

/* Hamburger and open-menu rows */
.slicknav_btn{
  min-width:44px!important;
  min-height:44px!important;
  padding:10px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.slicknav_nav a,
.slicknav_nav .slicknav_item,
.slicknav_nav .slicknav_row{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
}

/* Desktop header links */
.menu>.menu-list>li>a{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
}

#breadcrumb a, #breadcrumb span, .breadcrumb a, .breadcrumb span{
  min-height:40px;
  display:inline-flex;
  align-items:center;
}

footer a, footer li a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
}

.accordion .card .title h2{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
}

a.mm-call, a.mm-whatsapp, a.whatsapp, a.btn.whatsapp{
  min-height:40px!important;
  min-width:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 12px!important;
}

.btn-info, .box-thumb h6 a, .box-thumb a.btn-info,
.sitemap a, .outras-paginas a,
.slider-button-prev, .slider-button-next,
.swiper-button-prev, .swiper-button-next{
  min-height:40px!important;
  min-width:40px!important;
}

.form-control,
#contato .form-contato .form-group .form-control{
  min-height:48px!important;
}
#contato button, button.btn-contact, .btn-contact, .btn-orc a{
  min-height:48px!important;
}

/* Keep inline sentence links from becoming tall blocks */
p a, .conteudo p a, .conteudo-solucao p a, .conteudo-empresa p a{
  min-height:0!important;
  display:inline!important;
}

@media screen and (max-width:768px){
  main li a, .conteudo li a, .sitemap li a{
    min-height:40px;
    display:inline-flex;
    align-items:center;
  }
  .whatsapp-link{bottom:72px!important; right:14px!important;}
  .gtranslate_wrapper,
  .gt_switcher{
    bottom:72px!important;
  }
  .box-cookies{bottom:64px!important;}
  footer{padding-bottom:92px!important;}
  .menu-footer-mobile li a,
  .menu-footer-mobile li button{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media screen and (max-width:768px){
  #gt_float_wrapper{
    bottom:72px!important;
    left:12px!important;
  }
}
