/*
 * 
Theme Name: Actmob 2024 - Site institucional
Author: Jean Andrade
Author URI: https://actmob.com/
Description:  Tema desenvolvido exclusivamente pela Actmob para seu site.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: Actmob
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready, right-sidebar, custom-background, e-commerce, theme-options, sticky-post, full-width-template
*/

:root {
  --act_theme_font_14px: 0.875rem;
  --act_theme_font_40px: 2.5rem;
  --act_theme_font_64px: 4rem;
}

a {
  text-decoration: none;
}

* {
  outline: none;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
  margin: 0;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

b,
strong {
  font-weight: bold;
}

figure {
  margin-bottom: 0;
}

p {
  line-height: 125%;
}

main > p,
p {
  margin: 0;
}

ul {
  padding: 0;
}

body,
html {
  padding: 0;
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #f9f9f9;
  line-height: 160%;
  color: var(--act_theme_cor_4);
  scroll-padding-top: 75px;
  scroll-behavior: smooth;
  max-width: 2400px;
  margin: auto;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-dep {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-custom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 20px;
}
.container-custom-2 {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0px 20px;
}
.container-low {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0px 20px;
}

.bg_act_theme_cor_1 {
  background-color: var(--act_theme_cor_1);
}

.bg_act_theme_cor_2 {
  background-color: var(--act_theme_cor_2);
}

.bg_act_theme_cor_3 {
  background-color: var(--act_theme_cor_3);
}

.bg_act_theme_cor_4 {
  background-color: var(--act_theme_cor_4);
}

.bg_act_theme_cor_5 {
  background-color: var(--act_theme_cor_5);
}

.bg_act_theme_cor_6 {
  background-color: var(--act_theme_cor_6);
}

.bg_act_theme_cor_7 {
  background-color: var(--act_theme_cor_7);
}

.bg_act_theme_cor_8 {
  background-color: var(--act_theme_cor_8);
}

.bg_act_theme_cor_9 {
  background-color: var(--act_theme_cor_9);
}

.bg_act_theme_cor_10 {
  background-color: var(--act_theme_cor_10);
}

.text_act_theme_cor_1 {
  color: var(--act_theme_cor_1);
}

.text_act_theme_cor_2 {
  color: var(--act_theme_cor_2);
}

.text_act_theme_cor_3 {
  color: var(--act_theme_cor_3) !important;
}

.text_act_theme_cor_4 {
  color: var(--act_theme_cor_4);
}

.text_act_theme_cor_5 {
  color: var(--act_theme_cor_5);
}

.text_act_theme_cor_6 {
  color: var(--act_theme_cor_6);
}

.text_act_theme_cor_7 {
  color: var(--act_theme_cor_7);
}

.text_act_theme_cor_8 {
  color: var(--act_theme_cor_8);
}

.text_act_theme_cor_9 {
  color: var(--act_theme_cor_9);
}

.text_act_theme_cor_10 {
  color: var(--act_theme_cor_10);
}

.size_act_theme_font_xs {
  font-size: var(--act_theme_font_xs);
}

.size_act_theme_font_sm {
  font-size: var(--act_theme_font_sm);
}

.size_act_theme_font_md {
  font-size: var(--act_theme_font_md);
}

.size_act_theme_font_lg {
  font-size: var(--act_theme_font_lg);
}

.size_act_theme_font_xg {
  font-size: var(--act_theme_font_xg);
}

.size_act_theme_font_cor {
  font-size: var(--act_theme_font_cor);
}

.py-7 {
  padding: 4.875rem 0;
}

.btn:hover,
.wp-block-button__link:hover,
.btn.bg_act_theme_cor_1:hover {
  background-color: #d19302;
  color: white;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background: var(--act_theme_cor_3);
}

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: none;
}

::-webkit-scrollbar-track-piece {
  background-color: transparent;
  -webkit-border-radius: 0px;
}

::-webkit-scrollbar-thumb:vertical {
  background-color: var(--act_theme_cor_2);
  -webkit-border-radius: 0px;
  height: 6px;
}

::-webkit-scrollbar-thumb:horizontal {
  background: var(--act_theme_cor_2);
  border-radius: 4px;
  width: 10px;
}

::-moz-scrollbar {
  width: 5px;
  height: 5px;
}

::-moz-scrollbar-button:start:decrement,
::-moz-scrollbar-button:end:increment {
  display: none;
}

::-moz-scrollbar-track-piece {
  background-color: transparent;
  -webkit-border-radius: 4px;
}

::-moz-scrollbar-thumb:vertical {
  background-color: var(--act_theme_cor_2);
  -webkit-border-radius: 4px;
}

::-moz-scrollbar-thumb:horizontal {
  background: var(--act_theme_cor_3);
  border-radius: 4px;
  width: 10px;
}

::-scrollbar-button:start:decrement,
::-scrollbar-button:end:increment {
  display: none;
}

::-scrollbar-track-piece {
  background-color: transparent;
  -webkit-border-radius: 4px;
}

::-scrollbar-thumb:vertical {
  background-color: var(--act_theme_cor_2);
  -webkit-border-radius: 0px;
  height: 6px;
}

::-scrollbar-thumb:horizontal {
  background: var(--act_theme_cor_3);
  border-radius: 4px;
  width: 10px;
}

.wp-block-columns {
  gap: unset !important;
}

.wp-block-column[class*="col-"] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.mt-perso {
  margin-top: 84px;
}

.w-max-content {
  width: max-content;
}

/* HEADER */
header {
  top: 0px !important;
}
header.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99998;
}

header.header .fundo-header {
  transition: all 0.4s;
  padding: 24px 0px;
  background: #0006;
}

header.header.ativo .fundo-header {
  backdrop-filter: blur(10.399999618530273px);
  background: #0006;
}

header.header .fundo-header > div {
  max-width: 1300px;
  padding: 0 1rem;
}

/* redes sociais */
.redes-sociais {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.redes-sociais a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--act_theme_font_sm);
  color: var(--act_theme_cor_3);
  transition: all 0.4s;
}
.menu-item a {
  color: white;
  padding: 0px 0px;
  transition: 0.2s;
}
.menu-item a:hover {
  color: var(--act_theme_cor_1);
}
header .redes-sociais a:hover,
header #menu-menu-principal > .menu-item > a:hover {
  color: var(--act_theme_cor_1);
}

.redes-sociais a:hover,
#menu-menu-principal > .menu-item > a:hover {
  color: var(--act_theme_cor_3);
}

header .menu_header_container li.active a {
  color: var(--act_theme_cor_2) !important;
}

.redes-sociais a.rede-social-whatsapp {
  display: none;
}

.header_dados_de_contato .dados_de_contato,
.header_dados_de_contato,
.dado_contato,
.rede_social {
  font-size: var(--act_theme_font_sm);
  color: var(--act_theme_cor_4);
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.header_dados_de_contato {
  gap: 1rem;
}

header .dado_contato i,
header .rede_social i {
  font-size: var(--act_theme_font_sm);
  color: var(--act_theme_cor_3);
  font-size: 20px;
  transition: 0.3s;
}

.dado_contato i,
.rede_social i {
  color: var(--act_theme_cor_2);
  font-size: 24px;
  transition: 0.3s;
}

.contato-section .redes-sociais {
  justify-content: start;
  gap: 8px;
}
.contato-section .rede_social i {
  font-size: 40px;
  color: var(--act_theme_cor_3);
}

.dado_contato i:hover,
.rede_social i:hover,
.dado_contato_telefone:hover i,
.dado_contato_telefone:hover span {
  color: var(--act_theme_cor_2);
}

footer .dado_contato i:hover,
footer .rede_social i:hover,
footer .dado_contato_telefone:hover i,
footer .dado_contato_telefone:hover span {
  color: var(--act_theme_cor_3);
}

.border-bottom-custom {
  border-bottom: 1px solid #e0e0e0;
}

/* MENU */
.menu_header {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 0.3125rem;
  flex-wrap: wrap;
  padding-bottom: 0px;
  text-align: center;
}

.menu_header > li {
  position: relative;
}

header #menu-menu-principal > .menu-item > a {
  font-size: var(--act_theme_font_xs);
  font-weight: 400;
  color: var(--act_theme_cor_4);
  display: block;
  transition: all 0.4s;
  text-transform: uppercase;
}

#menu-menu-principal > .menu-item > a {
  font-size: var(--act_theme_font_xs);
  font-weight: 400;
  color: var(--act_theme_cor_2);
  display: block;
  transition: all 0.4s;
}

#menu-menu-principal > .menu-item > a:after {
  content: "";
  display: block;
  width: 0%;
  height: 5px;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: all 0.4s;
}

.menu_header > li > .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  top: 100%;
  background-color: var(--act_theme_cor_3);
  width: 15rem;
  padding: 0rem;
  border-radius: 0px 0px 4px 4px;
  height: 0rem;
  overflow-y: auto;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.menu_header > li > .sub-menu > li > a:hover {
  color: var(--act_theme_cor_3);
  font-weight: bold;
}

.menu_header > li > .sub-menu > li > a {
  color: var(--act_theme_cor_3);
  display: block;
  font-size: var(--act_theme_font_md);
  padding: 0.335rem 0;
  margin: 0.1rem 0;
}

.menu_header > li > .sub-menu::-webkit-scrollbar-thumb {
  background: var(--act_theme_cor_3);
}

.menu_header > li > a:hover + .sub-menu,
.menu_header > li > .sub-menu:hover {
  opacity: 1;
  height: auto;
  transition: 0.3s ease-in-out;
  padding: 0.875rem;
}

.menu_header > li.menu-item-has-children > a::before {
  content: "\f078";
  font-family: "FontAwesome";
  margin-left: 0.313rem;
  font-size: 80%;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.4s;
}

.header_redes_sociais {
  align-content: center;
}

.btn-open-menu {
  font-size: var(--act_theme_font_md);
  color: var(--act_theme_cor_3);
  height: 40px;
  min-width: 40px;
  max-width: 40px;
  border: none;
  border-radius: 5px;
  background-color: transparent;
}

.container-404 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.container-404 p {
  font-size: var(--act_theme_font_xs);
  margin-bottom: 0;
}

.container-404 h1 {
  font-weight: bold;
  font-size: var(--act_theme_font_xg);
  color: var(--act_theme_cor_1);
  margin-bottom: 0.625rem;
}

.container-404 {
  padding: 3.75rem 0;
}

.container-404 .btn-voltar-home {
  display: inline-block;
  margin-top: 2rem;
  margin-bottom: 2rem;
  color: var(--bs-white);
  background: var(--act_theme_cor_1);
  border-radius: 5px;
  padding: 1rem;
}

.container-404 h2 {
  font-size: var(--act_theme_font_xg);
  font-weight: bold;
  color: var(--act_theme_cor_1);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.container-404 .sitemap li a:hover {
  color: var(--act_theme_cor_1);
}

.container-404 .sitemap li a {
  color: var(--act_theme_cor_1);
  font-weight: bold;
  margin: 0.2rem 0.665rem;
  font-size: var(--act_theme_font_md);
  display: inline-block;
}

.container-404 .sitemap {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  column-count: 3;
  text-align: left;
}

.owl-carousel .owl-nav .owl-next::before {
  content: "\f061";
}

.owl-carousel .owl-nav .owl-prev::before {
  content: "\f060";
}

.owl-carousel .owl-nav .owl-prev::before,
.owl-carousel .owl-nav .owl-next::before {
  color: var(--act_theme_cor_9);
  font-size: var(--act_theme_font_lg);
}

.owl-carousel .owl-nav .owl-prev span,
.owl-carousel .owl-nav .owl-next span {
  display: none;
}

.owl-carousel .owl-nav .owl-prev {
  top: calc(50% - 40px);
  left: 0;
}

.owl-carousel .owl-nav .owl-next {
  top: calc(50% - 40px);
  right: 0;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  width: 40px;
  height: 40px;
  font-family: "FontAwesome" !important;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  border-radius: 0;
  background: var(--act_theme_cor_3) !important;
  z-index: 2;
}

.owl-carousel .owl-dots {
  position: absolute;
  width: 100%;
}

.owl-carousel .owl-dots .owl-dot.active {
  background-color: var(--act_theme_cor_1);
}

.owl-carousel .owl-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 25px;
}

.owl-carousel .owl-dots .owl-dot {
  width: 1rem;
  height: 1rem;
  background-color: var(--act_theme_cor_9);
  border-radius: 100px;
  margin: 0 0.4rem;
}

/* WhatsApp Flutuante */
@-webkit-keyframes pulse {
  to {
    box-shadow: 0 0 0 20px rgba(42, 208, 122, 0);
  }
}

@keyframes pulse {
  to {
    box-shadow: 0 0 0 20px rgba(42, 208, 122, 0);
  }
}

.btn-flutuante-whatsapp,
.btn-flutuante-whatsapp span,
.btn-flutuante-whatsapp i {
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-flutuante-whatsapp span {
  display: none;
}

.btn-flutuante-whatsapp {
  position: fixed;
  right: 20px;
  bottom: 35px;
  z-index: 9999;
  font-size: var(--act_theme_font_xg);
  color: var(--act_theme_cor_9);
}

.btn-flutuante-whatsapp i {
  font-size: var(--act_theme_font_xg);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: rgb(42, 208, 122);
  z-index: 2;
  box-shadow: 0 0 0 0 rgba(42, 208, 122, 0.3);
  animation: pulse 2.25s infinite cubic-bezier(0.16, 0, 0, 1);
}

.fa-brands.fa-whatsapp::before {
  color: white;
}

.btn-flutuante-whatsapp:hover i {
  animation: none;
}

.btn-flutuante-whatsapp span {
  font-size: var(--act_theme_font_sm);
  background-color: rgb(0, 0, 0, 0.8);
  position: absolute;
  right: 50px;
  width: 145px;
  padding: 0.3125rem 1rem;
  border-radius: 5px;
  z-index: 1;
}

.btn-size {
  width: 30px;
  height: 30px;
}
.btn {
  padding: 0;
  align-items: center;
}
.pp-1 {
  padding: 1rem !important;
}
button.pp-1 {
  max-width: max-content;
}
.w-80 {
  max-width: 80%;
}
.border-primary {
  --bs-border-opacity: 1;
  border: 2px solid var(--act_theme_cor_1) !important;
  border-color: var(--act_theme_cor_1) !important;
}
.border-secondary {
  --bs-border-opacity: 1;
  border: 2px solid var(--act_theme_cor_2) !important;
  border-color: var(--act_theme_cor_2) !important;
}
.bi::before,
[class*=" bi-"]::before,
[class^="bi-"]::before {
  font-weight: bold !important;
}

footer {
  background-color: var(--act_theme_cor_1);
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 0;
}

footer .img-actmob img {
  max-height: 55px;
}

footer .copyright p {
  font-size: var(--act_theme_font_xs);
  font-weight: 400;
  color: var(--act_theme_cor_2);
  margin-bottom: 0;
}

.border-top {
  border-top: 1px solid #292b2d !important;
}

footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-content-row a {
  color: var(--act_theme_cor_2);
  display: inline-block;
  font-weight: 400;
  transition: all 0.4s;
  margin-bottom: 0.2rem;
}

.footer-content-row a:hover,
.lista-servicos a:hover {
  color: var(--act_theme_cor_3) !important;
}

footer .copyright p {
  margin: 0;
}

footer .rede_social i {
  color: var(--act_theme_cor_2);
}

footer .dado_contato_telefone:hover span {
  transition: 0.3s ease;
  color: var(--act_theme_cor_3);
}

.menu_footer {
  display: grid;
  grid-template-columns: 1fr 1fr; /* duas colunas */
  gap: 8px 40px; /* espaçamento vertical e horizontal */
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu_footer li {
  margin: 0;
}

.menu_footer li:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.menu_footer li:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
.menu_footer li:nth-child(3) {
  grid-column: 1;
  grid-row: 3;
}
.menu_footer li:nth-child(4) {
  grid-column: 2;
  grid-row: 1;
}
.menu_footer li:nth-child(5) {
  grid-column: 2;
  grid-row: 2;
}

.footer-titulo {
  font-size: var(--act_theme_font_md);
  font-weight: 600;
  color: var(--act_theme_cor_2);
  margin-bottom: 0.5rem;
}

/* --- CONTATO E LINKS --- */
.item-contato-footer a,
.item-contato-footer .dado_contato,
.item-contato-footer .rede_social {
  color: var(--act_theme_cor_2) !important;
  text-decoration: none;
  font-size: var(--act_theme_font_xs);
  display: flex;
  align-items: center;
  transition: color 0.3s;
}

.item-contato-footer a:hover {
  color: var(--act_theme_cor_3) !important;
}

/* Remove ícones na lista de contato se a imagem não tiver (Opcional) */
/* Se quiser remover os ícones do shortcode para ficar SÓ texto como na imagem: */
.item-contato-footer i {
  display: none !important;
}
.item-contato-footer .dado_contato,
.item-contato-footer .rede_social {
  padding-left: 0 !important;
}

/* --- REDES SOCIAIS (COLUNA 1) --- */
.footer-social-icons .redes-sociais {
  display: flex;
  gap: 15px;
}
footer .redes-sociais {
  flex-direction: row-reverse;
  align-items: start;
  justify-content: start;
}
.footer-social-icons a {
  color: #ffffff !important;
  font-size: 1.2rem;
}

.footer-texto-desc {
  font-size: var(--act_theme_font_sm);
  color: var(--act_theme_cor_2);
  margin-top: 3.5rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  max-width: 43ch;
}

.footer-mapa-img img {
  border-radius: 4px; /* Opcional */
  object-fit: cover;
}

/* --- COPYRIGHT BAR --- */
.border-top-custom {
  border-top: 1px solid #333333; /* Linha cinza escura */
}

.copyright-section p {
  font-size: 0.85rem;
  color: #999;
}

iframe {
  width: 90%;
  height: 150px;
}

/* Instagram */

.instagram-section p {
  font-size: var(--act_theme_font_md);
  color: var(--act_theme_cor_1);
  font-weight: 500;
}
.instagram-section h2 {
  font-size: var(--act_theme_font_xg);
  color: var(--act_theme_cor_2);
  font-weight: 600;
}

main.main-content-site > br {
  display: none;
}

main.main-content-site {
  overflow: hidden;
}

main.main-content-site > p {
  margin-bottom: 0;
}

/* BANNER */
.banner_bg {
  display: flex !important;
  position: relative;
}

.banner_conteudo {
  display: flex;
  gap: 0.625rem;
  padding: 1.25rem;
  position: absolute;
  z-index: 3;
  padding-top: 32px;
  top: 25%;
}

.banner_conteudo h1 {
  font-size: clamp(var(--act_theme_font_lg), 4vw, var(--act_theme_font_cor));
  color: var(--act_theme_cor_2);
  max-width: 16ch;
  margin-bottom: 20px;
  font-weight: bold;
}
/* .banner_conteudo p {
  font-size: clamp(var(--act_theme_font_xs), 4vw, var(--act_theme_font_sm));
  color: var(--act_theme_cor_3);
  font-weight: 300;
  max-width: 50ch;
  margin: 0px auto 20px auto;
} */

.text-banner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-content: center;
}

.video_com_conteudo video {
  max-width: 300px;
}

.banner_img img {
  width: 100%;
  object-fit: cover;
}

.banner_slider .slick-arrow.slick-prev {
  left: 5%;
}

.banner_slider .slick-arrow.slick-prev::before {
  content: "\f060";
}

.banner_slider .slick-arrow.slick-next {
  right: 5%;
}

.banner_slider .slick-arrow.slick-next::before {
  content: "\f061";
}
.banner-principal .wp-block-heading {
  font-size: var(--act_theme_font_cor);
  font-weight: 700;
  max-width: 26ch;
  color: var(--act_theme_cor_1);
}

.slick-next::before,
.portfolio-next::before {
  content: "";
  display: block;
  width: 30px; /* ajuste conforme sua imagem */
  height: 30px;
  background-image: url("./assets/imagens/right-arrow.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.slick-prev::before,
.portfolio-prev::before {
  content: "";
  display: block;
  width: 30px; /* ajuste conforme sua imagem */
  height: 30px;
  background-image: url("./assets/imagens/left-arrow.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.banner-principal .wp-block-heading strong {
  color: var(--act_theme_cor_3);
}

.banner-principal p {
  font-size: var(--act_theme_font_sm);
  color: var(--act_theme_cor_1);
  max-width: 50ch;
}

.banner_slider .slick-arrow::before {
  font-family: "FontAwesome";
  font-size: var(--act_theme_font_md);
  color: var(--act_theme_cor_4);
  opacity: 1;
  transition: all 0.4s;
}

.banner_slider .slick-arrow {
  width: 42px;
  height: 38px;
  background-color: transparent;
  z-index: 5;
  transition: all 0.4s;
  color: var(--act_theme_cor_4) !important;
}

.banner_slider .slick-arrow:hover:before {
  color: var(--act_theme_cor_4);
}

.banner_slider .slick-arrow:hover {
  opacity: 0.8;
}

.banner_video,
.banner_video video {
  width: 100%;
  display: flex;
}

.filtro_banner .banner_img,
.filtro_banner .banner_video {
  background-color: rgb(0 0 0 / 80%);
}

.filtro_banner .banner_img img,
.filtro_banner .banner_video video {
  mix-blend-mode: darken;
}
.banner_img_destacada_ativo {
  position: relative;
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: center;
}

.banner_img_destacada {
  display: flex;
  align-items: center;
}

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

.banner-principal .anima_left {
  animation: anima_left 1s 1 forwards;
}

.banner-secundario .anima_left {
  animation: unset;
}
.banner_section .slick-track {
  padding: 0px;
}

@keyframes anima_left {
  0% {
    opacity: 0;
    transform: translate3d(-100px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* FIM BANNER */

/* ul.slick-dots {
  bottom: 25px;
} */

ul.slick-dots li {
  width: auto;
  height: auto;
}

ul.slick-dots li button {
  width: 8px;
  height: 8px;
  background-color: #d9d9d9;
  border-radius: 50%;
  transition: all 0.4s;
}

ul.slick-dots li button:hover,
ul.slick-dots li.slick-active button {
  background-color: var(--act_theme_cor_3);
}

.container-marcas ul.slick-dots li button:hover,
.container-marcas ul.slick-dots li.slick-active button {
  background-color: var(--act_theme_cor_3);
}

ul.slick-dots button::before {
  display: none;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  flex-basis: initial;
  flex-grow: initial;
}

@media screen and (max-width: 991px) {
  .bloco-menu {
    position: fixed;
    top: 0;
    left: -150%;
    height: 100dvh;
    width: 100dvw;
    padding: 0;
    transition: all 0.5s;
  }

  .bloco-menu.ativo {
    left: 0;
  }

  .bloco-menu .fundo-menu {
    background-color: var(--act_theme_cor_1);
    height: 100dvh;
    width: 100dvw;
  }

  .menu_header {
    flex-direction: column;
  }

  #menu-menu-principal > .menu-item > a {
    font-size: var(--act_theme_font_md);
    padding: 0.625rem;
    display: block;
  }

  .header_dados_de_contato .dado_contato span {
    display: none;
  }

  .header_menu_mobile .img-fluid {
    /* width: 100% !important;
    height: 100px !important; */
  }
  .header_menu_mobile {
    justify-content: space-around;
    align-items: center;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
  }
  .header_menu_mobile {
    display: grid !important;
    grid-template-columns: 25% 50% 25%;
    align-items: center;
  }
  .header_menu_mobile .btn-open-menu {
    justify-self: start;
  }

  .header_menu_mobile .logo_header {
    justify-self: center;
  }

  .header_menu_mobile .topo_header {
    justify-self: end;
    opacity: 0;
  }

  .header_menu_mobile .redes-sociais a:hover {
    color: var(--act_theme_cor_1);
  }

  .itens_header > div:first-child,
  .itens_header > div:last-child {
    padding-top: 1.5rem;
  }

  .header_menu_mobile .redes-sociais a {
    font-size: var(--act_theme_font_xg);
    color: var(--act_theme_cor_4);
  }
}

/* CODIGOS PERSONALIZADOS  */
.btn_principal > a,
a.btn_principal,
.btn_principal > button,
button.btn_principal {
  background-color: var(--act_theme_cor_1);
  color: var(--act_theme_cor_9);
  font-size: var(--act_theme_font_14px);
  font-weight: 600;
  width: 100%;
  max-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  border-radius: 30px;
  letter-spacing: 1px;
  transition: all 0.4s;
}

.btn_principal > a:hover,
a.btn_principal:hover,
.btn_principal > button:hover,
button.btn_principal:hover {
  background-color: var(--act_theme_cor_6);
  transform: scale(1.05);
}

@media screen and (max-width: 1399px) {
}

@media screen and (max-width: 1199px) {
}

@media screen and (max-width: 991px) {
  .menu_principal_item {
    position: absolute;
  }

  .banner_conteudo.banner_img_destacada_ativo {
    flex-direction: column-reverse;
    display: flex;
  }

  .banner_conteudo.banner_img_destacada_ativo .banner_img_destacada {
    max-width: 500px;
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .container-404 .sitemap {
    column-count: 1;
  }

  .btn-flutuante-whatsapp {
    bottom: 20px;
  }
}

@media screen and (max-width: 575px) {
}

@media screen and (max-width: 425px) {
}

/* Home */
/* --- ESTRUTURA GERAL --- */
#quem-somos {
  background-color: var(--act_theme_cor_1); /* Fundo preto conforme a imagem */
  color: var(--act_theme_cor_2);
  overflow: hidden; /* Para garantir cortes limpos */
  z-index: 10;
  position: relative;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}

/* --- TIPOGRAFIA --- */
.qs-subtitulo {
  color: var(--act_theme_cor_3); /* Roxo do subtítulo */
  font-weight: 500;
  letter-spacing: 2px;
  font-size: var(--act_theme_font_xs);
}

.qs-titulo {
  font-size: var(--act_theme_font_xg);
  font-weight: 700;
  line-height: 1.2;
  color: var(--act_theme_cor_2);
  text-align: justify;
}

/* Estilo do conteúdo WYSIWYG */
.qs-conteudo {
  color: #e0e0e0;
  font-size: 1rem;
  line-height: 1.6;
  text-align: justify;
}

/* Bullet points personalizados */
.qs-conteudo ul {
  list-style: none;
  margin-top: 1rem;
  padding-left: 0;
}

.qs-conteudo ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
  max-width: 50ch;
}

.qs-conteudo ul li::before {
  content: "•"; /* Bullet */
  color: var(--act_theme_cor_2);
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

/* --- BOTÃO ROXO --- */
.btn-qs-roxo {
  display: inline-flex;
  align-items: center;
  background-color: var(--act_theme_cor_3); /* Roxo escuro do botão */
  color: var(--act_theme_cor_2);
  padding: 0.8rem 2rem;
  border-radius: 8px; /* Cantos levemente arredondados */
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.9rem;
  transition: background 0.3s ease;
}

.btn-qs-roxo:hover {
  background-color: #8e44ad; /* Roxo mais claro no hover */
  color: var(--act_theme_cor_2);
}

/* --- IMAGEM COM EFEITO --- */
.qs-img-wrapper {
  position: relative;
  padding: 20px; /* Espaço para ver o fundo atrás se quiser */
}

/* A imagem principal */
.qs-img-main {
  border-radius: 10px; /* Arredondamento da foto */
  z-index: 2;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Fundo da imagem (o bloco cinza/claro atrás na referência) */
.qs-img-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 90%; /* Ajuste conforme necessário */
  height: 90%;
  background-color: #e0e0e0; /* Cor do fundo da foto */
  border-radius: 10px;
  z-index: 1;
  /* Ajuste para ficar deslocado */
  transform: translate(10px, -10px);
  display: none; /* Descomente se quiser o efeito de fundo sólido */
}
/* Na imagem enviada parece ser só a foto com um fundo na própria foto.
   Se for só a foto, basta usar .qs-img-main { border-radius: 10px; } */

/* --- DIFERENCIAIS (Parte de baixo) --- */
.qs-icon-wrapper {
  width: 50px;
  flex-shrink: 0;
}

/* Filtro para deixar o ícone roxo se for SVG preto/branco, 
   ou suba o ícone já na cor roxa */
.qs-icon-wrapper img {
  width: 100%;
  height: auto;
  /* Se precisar colorir via CSS (funciona bem se o ícone for preto): */
  /* filter: invert(32%) sepia(48%) saturate(996%) hue-rotate(247deg) brightness(87%) contrast(92%); */
}

.qs-dif-titulo {
  font-size: var(--act_theme_font_md);
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--act_theme_cor_2);
}

.qs-dif-texto {
  font-size: var(--act_theme_font_xs);
  color: var(--act_theme_cor_2);
  line-height: 1.5;
  text-align: justify;
}

/* --- TIPOGRAFIA E TÍTULO --- */
.titulo-imoveis {
  font-size: 2rem;
  font-weight: 700;
  color: #000;
}
.destaque-roxo {
  color: var(--act_theme_cor_3); /* Roxo escuro da marca */
}
.linha-decorativa {
  width: 100px;
  height: 4px;
  background-color: var(--act_theme_cor_3);
  margin-top: 10px;
}

/* --- CARD --- */
.card-imovel {
  border: 1px solid #eee;
  transition: transform 0.3s ease;
  position: relative;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin: 0.3rem 0;
}

/* Imagem e Badge */
.card-img-top {
  height: 300px;
  overflow: hidden;
}
.img-container img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.badge-status {
  position: absolute;
  top: 282px;
  left: 15px;
  padding: 3px 12px;
  color: var(--act_theme_cor_2);
  font-size: 0.8rem;
  font-weight: 600;
  z-index: 2;
  background-color: var(--act_theme_cor_3);
}

/* Setas em cima da foto (Decorativo) */
.card-nav-arrows {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  opacity: 0.7;
}

/* --- CONTEÚDO --- */
.imovel-titulo {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--act_theme_cor_5);
  min-height: 2rem; /* Garante alinhamento */
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #f6f6f9;
}

.imovel-local {
  color: var(--act_theme_cor_4);
  font-size: var(--act_theme_font_sm);
}

.imovel-specs {
  padding-top: 0.8rem;
}

/* Specs (Ícones) */
.spec-item {
  font-size: 0.85rem;
  color: var(--act_theme_cor_4);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;

  font-weight: 500;
}

.imovel-preco span {
  font-size: 0.9rem;
  color: var(--act_theme_cor_5);
  font-weight: 600;
}

.spec-icon {
  color: var(--act_theme_cor_3); /* Ícone Roxo */
  width: 16px;
  text-align: center;
}

#imoveis {
  padding: 8rem 0;
  background-color: var(--act_theme_cor_2);
}

#imoveis .border-top {
  border-top: 1px solid #f6f6f9 !important;
}

/* Botão Verde */
.btn-detalhes {
  background-color: var(--act_theme_cor_6); /* Verde limão da imagem */
  color: var(--act_theme_cor_2);
  font-weight: 700;
  font-size: 0.8rem;
  padding: 10px 15px;
  border-radius: 5px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.3s;
}
.btn-detalhes:hover {
  background-color: #6bc146;
  color: var(--act_theme_cor_2);
}

/* Setas do Slick (Laterais roxas) */
.slider-cards-imoveis .slick-prev:before,
.slider-cards-imoveis .slick-next:before {
  color: var(--act_theme_cor_3); /* Cor da seta do slider */
  font-size: 30px;
  z-index: 10;
}

#imoveis .slick-track {
  padding: 0;
}

/* --- ESTRUTURA E FUNDO --- */
.secao-portfolio {
  background-color: #f9f9f9; /* Fundo cinza bem claro */
  overflow: hidden;
}

/* Efeito de planta baixa no fundo (Opcional - precisa da imagem) */
.bg-blueprint {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Substitua pela URL da sua imagem de planta baixa transparente */
  background-image: url("path/to/blueprint-bg.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  opacity: 0.05; /* Bem suave */
  pointer-events: none;
}

/* --- TEXTOS --- */
.titulo-portfolio {
  color: var(--act_theme_cor_3); /* Roxo da marca */
  font-weight: 700;
  font-size: var(--act_theme_font_lg);
  margin-bottom: 0.5rem;
}

.subtitulo-portfolio {
  color: var(--act_theme_cor_1);
  font-size: var(--act_theme_font_sm);
  font-weight: 500;
}

/* --- CARD --- */
.portfolio-img-wrapper {
  overflow: hidden;
  aspect-ratio: 4/4; /* Garante formato retangular padrão */
}

.portfolio-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Logo Overlay (Caixinha branca no canto) */
.portfolio-logo-overlay {
  position: absolute;
  bottom: 50px;
  left: 0;
  background-color: var(--act_theme_cor_2);
  width: 67px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  z-index: 2;
}

.portfolio-card-title {
  color: var(--act_theme_cor_3); /* Roxo */
  font-weight: 700;
  font-size: var(--act_theme_font_md);
  margin-bottom: 5px;
  height: 53px;
}

.portfolio-card-local {
  font-size: var(--act_theme_font_xs);
  color: var(--act_theme_cor_1);
  font-weight: 500;
}

/* --- SETAS DE NAVEGAÇÃO --- */
.custom-arrow {
  position: absolute;
  top: 50%; /* Centralizado verticalmente na altura da imagem */
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: transparent;
  border-radius: 4px;
  z-index: 10;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.portfolio-prev {
  left: -60px; /* Puxa para fora do container */
  padding: 0;
  border: none;
}

.portfolio-next {
  right: -60px; /* Puxa para fora do container */
  padding: 0;
  border: none;
}
.portfolio-next i {
  display: none;
}
.portfolio-prev i {
  display: none;
}

/* Aplica margem inferior apenas aos 3 primeiros itens */
.portfolio-item:nth-child(-n + 3) {
  margin-bottom: 1.5rem;
}

/* Aplica margem superior apenas aos 3 últimos itens */
.portfolio-item:nth-last-child(-n + 3) {
  margin-top: 1.5rem;
}

/* --- FUNDO E ESTRUTURA --- */
.secao-numeros {
  background-color: var(
    --act_theme_cor_3
  ); /* Roxo da marca (ajuste se for outro tom) */
  color: var(--act_theme_cor_2);
}

/* --- TIPOGRAFIA --- */
.titulo-numeros {
  font-size: var(--act_theme_font_md); /* Tamanho médio conforme imagem */
  font-weight: 600;
  opacity: 1;
}

/* O Número Grande (+1000, 50...) */
.stat-numero {
  font-size: 3.25rem; /* Bem grande */
  font-weight: 700; /* Extra bold */
  line-height: 1;
  margin-bottom: 0.5rem;
}

/* A legenda (Imóveis vendidos...) */
.stat-texto {
  font-size: var(--act_theme_font_sm);
  font-weight: 500;
  opacity: 1; /* Leve transparência para suavizar */
}

/* --- GERAL --- */
#depoimentos {
  display: none;
}
.secao-depoimentos {
  background-color: #f0f0f4; /* Cinza azulado bem claro (baseado na imagem) */
  overflow: hidden; /* Corta a imagem do engenheiro se sair */
  padding: 6rem 0; /* Espaço extra embaixo */
  margin-bottom: -3rem;
  z-index: 20;
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
}

/* Imagem de Fundo (Engenheiro) */
.depoimentos-bg-img-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%; /* Ocupa uns 40% da tela na direita */
  height: 100%;
  z-index: 1; /* Fica atrás do conteúdo (z-index 2) */
}

.depoimentos-bg-img-wrapper img {
  height: 100%;
  object-fit: cover;
}

/* --- TÍTULO --- */
.titulo-depoimentos {
  font-size: var(--act_theme_font_lg);
  font-weight: 700;
  color: var(--act_theme_cor_1);
  max-width: max-content;
}

/* Se o cliente usar <strong> no título, fica roxo */
.titulo-depoimentos strong {
  color: var(--act_theme_cor_3);
}

.linha-roxa {
  width: 60px;
  height: 3px;
  background-color: var(--act_theme_cor_3);
}

/* --- CARD DEPOIMENTO --- */
.card-depoimento {
  background-color: #e8e6e6; /* Bege/Cinza mais escuro que o fundo */
  border-radius: 8px;
  border: none;
  font-size: 0.95rem;
  color: var(--act_theme_cor_1);
  line-height: 1.5;
  min-height: 220px;
}

.depoimento-texto p {
  font-weight: 500;
}

.thumb-autor img {
  width: 50px;
  height: 50px;
  object-fit: cover;
}

.nome-autor {
  color: var(--act_theme_cor_3); /* Roxo */
  font-size: var(--act_theme_font_xs);
  font-weight: 500;
}

.stars-rating i {
  color: #e8a300; /* Amarelo ouro */
  font-size: 0.8rem;
}

/* --- SETAS QUADRADAS --- */

.depo-prev {
  left: -50px;
}
.depo-next {
  right: -50px;
}

.icone-trofeu {
  font-size: 1.5rem;
  color: transparent;
  -webkit-text-stroke: 2px var(--act_theme_cor_3);
}

.texto-trofeu {
  font-size: var(--act_theme_font_md);
  font-weight: 600;
  color: var(--act_theme_cor_1);
}

/* --- FUNDO E ESTRUTURA (Mantido) --- */
.secao-contato-construtora {
  min-height: 850px;
  overflow: hidden;
  color: var(--act_theme_cor_2);
  align-content: center;
}
.bg-overlay-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.bg-img-contato {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dark-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}

.contato-titulo {
  font-size: var(--act_theme_font_lg);
}

/* --- FORMULÁRIO (Mantido) --- */
.secao-contato-construtora .form-control {
  background-color: #f8f9fa;
  border: none;
  border-radius: 4px;
  padding: 12px 15px;
  color: #333;
  font-size: 0.95rem;
}
.secao-contato-construtora ::placeholder {
  color: #999;
}
.btn-enviar-roxo {
  background-color: var(--act_theme_cor_3);
  color: var(--act_theme_cor_2);
  border: none;
  padding: 16px;
  border-radius: 4px;
  font-weight: 400;
  transition: background 0.3s;
  font-size: var(--act_theme_font_xs);
}
.btn-enviar-roxo:hover {
  background-color: #723b82;
  color: var(--act_theme_cor_2);
}

/* --- ESTILIZAÇÃO DOS SEUS SHORTCODES (Específico desta seção) --- */

/* Dados de Contato (Telefone, Email, Endereço) */
.secao-contato-construtora .dado_contato {
  display: flex;
  align-items: center;
  color: var(--act_theme_cor_2) !important; /* Força cor branca */
  text-decoration: none;
  font-size: var(--act_theme_font_xs);
  transition: opacity 0.3s;
}

.secao-contato-construtora .dado_contato:hover {
  opacity: 0.8;
  color: var(--act_theme_cor_2);
}

/* Ícones dos dados de contato */
.secao-contato-construtora .dado_contato i {
  width: 25px; /* Espaço fixo para alinhar */
  color: var(--act_theme_cor_2); /* Ícone branco */
  text-align: center;
}

/* Redes Sociais */
.secao-contato-construtora .redes-sociais {
  display: flex;
  gap: 15px;
}

.secao-contato-construtora .rede_social {
  color: var(--act_theme_cor_2) !important;
  font-size: var(--act_theme_font_xs);
  display: flex;
  align-items: center;
  text-decoration: none;
}
.secao-contato-construtora .rede_social:hover {
  opacity: 0.8;
}

/* Remove margens extras que o shortcode possa trazer */
.contato-group {
  margin-bottom: 0.5rem;
}

/* Container dos links para garantir alinhamento */
.container-contatos-grid a,
.container-contatos-grid div.dado_contato {
  display: flex;
  align-items: center; /* Alinha ícone e texto no centro vertical */
  text-decoration: none;
  color: var(--act_theme_cor_2) !important;
  font-size: var(--act_theme_font_xs); /* Tamanho da fonte ajustado */
  line-height: 1.4;
  transition: opacity 0.3s;
}

.container-contatos-grid a:hover {
  opacity: 0.8;
}

/* --- O TRUQUE DO ALINHAMENTO --- */
/* Define uma largura fixa para TODOS os ícones dentro dessa seção */
.container-contatos-grid i {
  width: 25px; /* Largura fixa para o ícone */
  text-align: center; /* Centraliza o ícone no espaço dele */
  display: inline-block;
}

/* Garante que o endereço (que pode ser longo) não quebre o layout */
.dado_contato_endereco {
  align-items: flex-start !important; /* Alinha o ícone no topo do texto */
}

.dado_contato_endereco i {
  margin-top: 4px; /* Pequeno ajuste para alinhar com a primeira linha de texto */
}

/* Espaçamento entre os campos */
.contato-form .col-md-6,
.contato-form .col-12 {
  /* margin-bottom: 15px; */
}

.wpcf7-spinner {
  display: none;
}

.banner-img-absolute {
  position: absolute;
  top: 50%; /* Centraliza verticalmente */
  right: 2%; /* Cola na borda direita da TELA (não do container) */
  transform: translateY(-50%); /* Ajuste fino da centralização */

  height: 100%; /* Altura da imagem (ajuste conforme necessário, ex: 80% ou auto) */
  width: auto; /* Mantém a proporção */
  max-width: 45%; /* Garante que não ocupe mais que 55% da largura da tela */

  z-index: 1; /* Fica acima do background original */
  object-fit: contain;
  pointer-events: none; /* O clique passa "através" da imagem */
}

@media (max-width: 1400px) {
  /* Estilos para telas super grandes (monitores ultrawide) */
}

@media (max-width: 1200px) {
  /* Estilos para telas extra grandes (desktops maiores) */
}

@media (max-width: 992px) {
  /* Estilos para telas grandes (desktops) */
  .stat-numero {
    font-size: 2.25rem;
  }
}

@media (max-width: 768px) {
  /* Estilos para telas médias (tablets) */
  .qs-img-wrapper {
    text-align: center;
  }
  .qs-img-main {
    width: 100%;
    max-width: 542px;
  }
  .footer-texto-desc {
    max-width: 100%;
    margin: 1rem 0;
  }
  .footer-social-icons .redes-sociais {
    justify-content: center;
    align-items: center;
  }
  .footer-contato-lista {
    align-items: center;
  }
  .banner_conteudo {
    top: 10%;
  }
  .banner-img-absolute {
    top: 78%;
    max-width: 90%;
  }
  .banner-img-absolute {
    right: 5%;
  }
}

@media (max-width: 576px) {
  /* Estilos para telas pequenas (smartphones em modo paisagem) */
  .banner-principal .wp-block-heading {
    font-size: var(--act_theme_font_xg);
  }
  .banner-principal p,
  .footer-texto-desc,
  .subtitulo-portfolio {
    font-size: var(--act_theme_font_xs);
  }
  .banner_conteudo {
    top: 10%;
  }
  .qs-titulo,
  .titulo-depoimentos,
  .titulo-imoveis,
  .titulo-portfolio {
    font-size: var(--act_theme_font_md);
  }
  #imoveis {
    padding: 4rem 0;
  }
  #imoveis .border-top {
    flex-direction: column;
  }
  #portfolio .slick-dots {
    bottom: -20px;
  }
  .banner-img-absolute {
    top: 73%;
    max-width: 100%;
  }
}
