/**
 * @file
 * Subtheme specific CSS.
 */

/* Font faces and imports */
@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter/Inter-Regular.woff2") format("woff2"),
       url("../assets/fonts/inter/Inter-Medium.woff2") format("woff2"),
       url("../assets/fonts/inter/Inter-Bold.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@700&display=swap');

/* CSS Variables */
:root {
  --bluedark: rgba(13, 107, 202, 1);
  --bluedefault: rgba(64, 192, 240, 1);
  --gray-100: rgba(10, 29, 46, 1);
  --gray-200: rgba(41, 57, 74, 1);
  --gray-300: rgba(71, 85, 103, 1);
  --gray-400: rgba(124, 137, 153, 1);
  --gray-500: rgba(166, 174, 184, 1);
  --gray-600: rgba(205, 209, 214, 1);
  --white: #fff;
  --neutral-colorscolor-400: rgba(242, 241, 250, 1);

  /* Typography */
  --body-text-14-regular: 400 14px/160% 'Inter', Helvetica;
  --body-text-14-medium: 500 14px/140% 'Inter', Helvetica;
  --body-text-16-regular: 400 16px/140% 'Inter', Helvetica;
  --body-text-16-medium: 500 16px/140% 'Inter', Helvetica;
  --body-text-16-bold: 700 16px/140% 'Inter', Helvetica;
  --body-text-18-medium: 500 18px/140% 'Inter', Helvetica;
  --body-text-18-regular: 400 18px/140% 'Inter', Helvetica;
  --body-text-18-bold: 700 18px/140% 'Inter', Helvetica;
  --body-text-20-regular: 400 20px/140% 'Inter', Helvetica;
  --body-text-20-bold: 700 20px/140% 'Inter', Helvetica;
  --body-text-22-bold: 600 22px/140% 'Inter', Helvetica;
  --headline-subtitle-24-semibold: 600 24px/140% 'Inter', Helvetica;
  --headline-subtitle-32-semibold: 600 32px/140% 'Inter', Helvetica;
  --headline-subtitle-32-extrabold: 800 32px/140% 'Inter', Helvetica;
}

/* Reset and base styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', Helvetica, sans-serif;
  color: var(--gray-200);
  background-color: #f6f7f8;
  line-height: 1.6;
}

body.path-frontpage {
  background: url("../assets/images/background.png") no-repeat center center fixed !important;
  background-size: cover !important;
}

#CollapsingNavbarMainMenu {
  justify-content: center;
}

/* Buttons */
.btn, .btn-primary {
  margin-right: 10px;
  border: none;
  border-radius: 8px;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
}
.btn-primary {
  background: var(--bluedark);
  color: var(--white);
  padding: 12px 24px;
  font: var(--body-text-16-bold);
}
.btn-primary:hover, .primary:hover {
 font-weight: bold;
  color: var(--white);
}

/* Search Button */
.search-submit-btn {
  width: 100%;
  height: 56px;
  background: var(--bluedark);
  color: var(--white);
  border: none;
  border-radius: 12px;
  font: var(--body-text-18-bold);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  transition: all 0.3s ease;
}
.search-submit-btn:hover {
  background: rgba(13, 107, 202, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(13, 107, 202, 0.3);
}
.search-submit-btn img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}

  /* Sidebar styles - agora do lado direito com efeito */
  .sidebar-menu {
    position: fixed;
    top: 0;
    right: -320px;
    left: auto;
    width: 300px;
    height: 100%;
    background: #fff;
    box-shadow: -2px 0 8px rgba(0,0,0,0.15);
    z-index: 1050;
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1);
    overflow-y: auto;
    display: none;
    opacity: 0;
  }
  .sidebar-menu.open {
    right: 0;
    display: block;
    opacity: 1;
    animation: sidebarFadeIn 0.3s;
  }
  .sidebar-menu.closing {
    right: -320px;
    opacity: 0;
    animation: sidebarFadeOut 0.3s;
  }
  @keyframes sidebarFadeIn {
    from {
      opacity: 0;
      right: -320px;
    }
    to {
      opacity: 1;
      right: 0;
    }
  }
  @keyframes sidebarFadeOut {
    from {
      opacity: 1;
      right: 0;
    }
    to {
      opacity: 0;
      right: -320px;
    }
  }
  .sidebar-menu-header {
    border-bottom: 1px solid #eee;
  }
  @media (min-width: 992px) {
    .sidebar-menu { display: none !important; }
  }

/* Navbar */
#navbar-item {
  font-weight: bold;
  font-style: Medium;
  font-size: 16px;
  background-color: transparent !important;
}
#navbar-main a {
  font: var(--body-text-16-medium);
  color: var(--gray-300);
  text-decoration: none;
  transition: color 0.3s ease;
}
#navbar-main a:hover,
#navbar-main a.active {
  color: var(--bluedark);
}

/* Footer Menu */
.col-menu-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.col-menu-footer ul {
  display: flex;
  list-style: none;
  gap: 32px;
  margin: 0;
  padding: 0;
}
.col-menu-footer a {
  font: var(--body-text-18-medium);
  color: var(--gray-400);
  text-decoration: none;
}
.col-menu-footer a:hover {
  color: var(--bluedark);
}

/* Main Menu Top */
#main-menu-top {
  padding: 10px 0;
  background-color: #fff;
  color: #475567;
  border-bottom: 1px solid #eaeaea;
}
#main-logo-top img {
  max-height: 40px;
}
#main-logo-top a {
  background: url("../assets/images/logo.png") no-repeat;
  padding: 5px 5px 5px 63px;
  color: #0071b3;
  font-weight: 600;
  font-size: 32px;
  display: inline;
  text-decoration: none;
  font-family: 'Titillium Web';
}
.site-name-slogan {
  padding: 20px;
}

/* Layout containers */
#main-slogan,
#main-core,
#footer-core,
#main-menu-top-core {
  margin: auto;
  width: 90%;
  max-width: 1226px;
}
#main-slogan {
  margin-bottom: 60px;
}
#main-slogan-message {
  margin-top: 50px;
  font-size: 40px;
  font-weight: bolder;
  color: #fff;
  text-shadow: -3px 3px 6px rgba(0,0,0,0.51);
  padding: 10px;
}

/* Main Search Front */
#main-search-front section .form-row,
#main-search-front section .d-flex.flex-wrap {
  padding: 20px;
  width: 100%;
  margin: 50px 0 0 0;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: -9px 7px 23px -15px rgba(0,0,0,0.75);
}
#main-search-front section .form-row .js-form-item,
#main-search-front section .d-flex.flex-wrap > .js-form-item,
#main-search-front section #edit-field-price-value-wrapper {
  width: 25%;
  padding: 0 5px;
  flex: 0 0 auto;
  max-width: none;
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  #main-search-front section .form-row .js-form-item,
  #main-search-front section .d-flex.flex-wrap > .js-form-item,
  #main-search-front section #edit-field-price-value-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0;
  }
}
#main-search-front section .d-flex.flex-wrap #edit-field-price-value-wrapper .js-form-item {
  margin-bottom: 0 !important;
}
#main-search-front section .form-text,
.select2-container {
  width: 100%;
  min-width: 100%;
}
#main-search-front label {
  width: 100%;
  color: #29394a;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#main-search-front label::after {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  margin-left: 5px;
  font-weight: 900;
  font-size: 16px;
  color: #1e285f;
}
#main-search-front #edit-submit-search-front {
  width: 130px;
  padding-left: 15px;
}
#main-search-front .form-actions::before {
  font-family: "Font Awesome 5 Free";
  content: "\f002";
  display: inline-block;
  margin-right: 5px;
  font-weight: 900;
  font-size: 16px;
  color: #fff;
  position: absolute;
  padding: 7px 0 0 10px;
}

/* WhatsApp Link */
.whatsapp-link {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #25D366;
  color: var(--white);
  text-decoration: none;
  border-radius: 20px;
  font: var(--body-text-14-medium);
  transition: all 0.3s ease;
  max-height: 35px;
}
.whatsapp-link:hover {
  background: #128C7E;
  transform: translateY(-2px);
}


.navbar-toggler-icon {
  border-radius: 5px;
  width: auto;
  height: 32px;
  padding: 5px;
  width: 26px;
  color: #0d6bca;
}
.navbar-toggler {
  color: #0d6bca;
}
.navbar-toggler.collapsed {
  color: #475567;
}

/* Blue line headline */
.blue_line {
  font-size: 44px;
  font-weight: bolder;
  color: #fff;
  text-shadow: -3px 3px 6px rgba(0,0,0,0.51);
  background: url("../assets/images/line_blue.png") no-repeat center bottom;
}

/* Main content */
#main-content {
  padding-top: 30px;
  background-color: #f7f8f9;
}
.path-frontpage #main-content {
  background-color: #fff !important;
}

/* Footer */
#footer-page {
  padding: 50px 0;
  background-color: #fcfcfd;
  border-top: 1px solid #cdd1d6;
  height: 100%;
}
.col-social-footer {
  display: flex;
  align-items: center;
  justify-content: end;
}
#logo_footer {
  width: 132px;
  height: 92px;
  background: url("../assets/images/footer_logo.png") no-repeat;
}
.col-social-footer a {
  opacity: 0.8;
  text-decoration: none;
  margin: 0 3px;
}
.col-social-footer a:hover {
  opacity: 1;
}
#block-creci > div.content > div > p{
  
  
  margin-top: 20px;
  font: var(--body-text-18-regular);
  color: var(--gray-500);
  font-style: normal;
  letter-spacing: -0.005em;
}
.footer-end, #block-creci .p {
  text-align: center;
  padding: 24px 0 0 0;
  border-top: 1px solid #d4d2e3;
  font: var(--body-text-18-regular);
  color: var(--gray-500);
  margin-top: 25px;
  font-style: normal;
  line-height: 140%;
  letter-spacing: -0.005em;
}

/* Titles and headings */
#main-core .title,
#main-core .views-element-container>h2,
#block-views-block-frontpage-imoveis-locacao-clone>h2 {
  margin: 0;
  padding: 30px 0 15px 0;
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -0.01em;
}
#main-core #block-views-block-palavras-mais-buscadas-palavras-mais-buscadas>h2 {
  padding-bottom: 30px;
}
.page-view-frontpage #main-core #block-aldoimoveis-page-title .title::after,
#block-views-block-frontpage-imoveis-locacao-clone>h2::after {
  content: "Venda";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}
#main-core #block-views-block-frontpage-imoveis-para-locacao>h2::after {
  content: "Locação";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}

#main-core #block-aldoimoveis-views-block-frontpage-imoveis-comercial>h2::after {
  content: "Comerciais";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}

.property-extra-propertys h2{
  margin: 0;
  padding: 30px 0 15px 0;
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -0.01em;

}

.property-extra-propertys h2 span{
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}
#block-views-block-testemunhos-testemunhos>h2::after {
  content: "Sobre nós";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}
#main-core #block-views-block-palavras-mais-buscadas-palavras-mais-buscadas>h2::after {
  content: "Buscadas";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}

/* Grid and cards */
.view-content .grid_custom_bootstrap {
  padding-bottom: 30px;
}
.view-content .grid_custom_bootstrap .row {
  gap: 20px;
  justify-content: center;
}
.views-field-field-image ul,
.views-field-field-image li,
.imagefield_slideshow-wrapper {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.tns-outer{
  position: relative;
}
/* Estilo base dos botões de navegação */
.tns-controls {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  z-index: 10;
  pointer-events: none; /* Para os botões não cobrirem a imagem */
}

.tns-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 10;
  pointer-events: none;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 8px;
}

.tns-nav button {
  pointer-events: auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #cdd1d6;
  border: none;
  margin: 0 3px;
  transition: background 0.3s;
  opacity: 1;
  overflow: hidden;
}

.tns-nav button.tns-nav-active {
  background: #1475DC;
}

.tns-nav button:nth-child(n+7) {
  display: none !important;
}

/* Estilo individual dos botões */
.tns-outer .tns-controls [aria-controls]{
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: none;
  margin: 4px;
  width: 27px;
  height: 40px;
  font-size: 20px;
  cursor: pointer;
  pointer-events: auto;
  transition: background 0.3s ease, transform 0.3s ease;
  padding: 0;
}

.slick-arrow::before{
  color: #0d6efd;
}

.slick, .slick-wrapper{
  margin-bottom: 10px;
}

/* Hover: destaque e leve aumento */
.tns-controls button:hover {
  background: rgba(0, 0, 0, 0.6);
  transform: scale(1.1);
}

/* Opcional: para posicionar os botões mais "dentro" da imagem */
.tns-controls button[data-controls="prev"] {
  margin-left: 10px;
}

.tns-controls button[data-controls="next"] {
  margin-right: 10px;
}


/* Property card */
.wrap_column_b>div {
  height: 100%;
}
.wrap_column_b>div> :not(.views-field-field-image, .views-field-field-property-special-tag) {
  padding: 0;
  height: 100%;
}
.wrap_column_b .views-field-field-property-type,
.wrap_column_b .views-field-field-bairro {
  color: #29394a !important;
}
.path-buscas .wrap_column_b .views-field-field-property-type,
.path-taxonomy .wrap_column_b .views-field-field-property-type {
  text-align: end;
  margin-bottom: 5px;
  font-weight: bold;
}
.wrap_column_b .views-field-field-bairro {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
}
.wrap_column_b .views-field-field-area-total,
.wrap_column_b .views-field-field-bathrooms,
.wrap_column_b .views-field-field-garages,
.wrap_column_b .views-field-field-bedrooms {
  margin-top: 10px;
  width: 50%;
  display: inline-block;
}
.wrap_column_b .views-field-field-area-total,
.wrap_column_b .views-field-field-bathrooms {
  padding-right: 0 !important;
}
.wrap_column_b .views-field-field-bedrooms,
.wrap_column_b .views-field-field-garages {
  padding-left: 0 !important;
}
.wrap_column_b .views-field-field-area-total .field-content::before,
.wrap_column_b .views-field-field-bedrooms .field-content::before,
.wrap_column_b .views-field-field-bathrooms .field-content::before,
.wrap_column_b .views-field-field-garages .field-content::before {
  content: "";
  padding-left: 28px;
  font-size: 17px;
}
.wrap_column_b .views-field-field-area-total .field-content::before {
  background: url("../assets/images/metrics.png") no-repeat left center;
}
.wrap_column_b .views-field-field-bedrooms .field-content::before {
  background: url("../assets/images/cama.png") no-repeat left center;
}
.wrap_column_b .views-field-field-bathrooms .field-content::before {
  background: url("../assets/images/banheiro.png") no-repeat left center;
}
.wrap_column_b .views-field-field-garages .field-content::before {
  background: url("../assets/images/car.png") no-repeat left center;
}
.property-price .field--name-field-price {
  margin-top: 10px;
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  line-height: 140%;
  letter-spacing: -0.01em;
  color: #29394a;
}
.wrap_column_b .views-field-field-condominio {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 160%;
  letter-spacing: -0.005em;
  color: #7c8999;
}
.property-view-more{
  position: relative;
  width: 100%;
  text-align: right;
}
.property-view-more a {
  font-size: 16px;
  font-weight: bold;
  
}
.grid_custom_bootstrap .wrap_column_b img {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.grid_custom_bootstrap .views-field-field-status .field-content {
  display: inline;
}
.grid_custom_bootstrap .wrap_column_b .owl-carousel:hover {
  opacity: 0.7 !important;
  cursor: pointer;
}
.destaque {
  color: #fff;
  position: absolute;
  padding: 8px 16px;
  background: rgba(10, 29, 46, 0.3);
  border-radius: 96px;
  z-index: 2;
  margin-top: 5px;
  margin-left: 5px;
}

.attr-value > .lucide{
  color: #0d6bca;
}

.sticky-box {
  position: sticky;
  top: 20px; /* distância do topo da janela */
  background: #fff;
  padding: 24px !important;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);   
  margin-top: 20px;
  margin-left: 10px;
}
@media (max-width: 768px) {
  .sticky-box {
    margin-top: 0px;
    margin-left: 0px;
  }  
}
.field--type-address .address {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5em; /* Espaço entre os elementos */
  flex-direction: row;
  align-items: center;
  margin-bottom: 0px;
}

.field--type-address .address br {
  display: none; /* Oculta os <br> */
}

.field--type-address .address::before {
  content: attr(data-full-address);
}


/* More link */
.views-element-container .more-link {
  color: #0d6bca;
  font-weight: bold;
  font-size: 16px;
  text-align: right;
}
.views-element-container .more-link a {
  text-decoration: none;
  color: #0d6bca;
}
.views-element-container .more-link::after,
.custom-suggest .link_to a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  color: #0d6bca;
  font-weight: bold;
  font-size: 16px;
  margin-left: 5px;
}

/* Custom Suggest */
.custom-suggest {
  margin-top: 60px;
}
.custom-suggest .description {
  font-size: 14px;
}
.custom-suggest .card-inside-a {
  margin-right: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #cdd1d6;
  border-radius: 16px 0 0 16px;
}
.custom-suggest .link_to {
  margin-bottom: 15px;
}
.custom-suggest .link_to a {
  font-size: 16px;
  color: #0d6bca !important;
}
.custom-suggest .card-inside-a h2 {
  margin-top: 15px;
  font-size: 1.375em !important;
}
.card-inside-b {
  padding-left: 0;
}
.custom-suggest .lgroup,
.custom-suggest .rgroup {
  max-width: 610px !important;
}
.custom-suggest .lgroup { margin-right: auto; }
.custom-suggest .rgroup { margin-left: auto; }
.block-views { width: 100%; }

/* Testemunhos */
#views-bootstrap-testemunhos-testemunhos .wrap_column_b {
  padding: 20px;
  color: #7c8999;
}
#views-bootstrap-testemunhos-testemunhos .wrap_column_b .group_entity_1 {
  display: flex;
  flex-direction: row;
}
#views-bootstrap-testemunhos-testemunhos .wrap_column_b .group_entity_1 img {
  border-radius: 50px;
  border: 1px solid #cdd1d6;
}
#views-bootstrap-testemunhos-testemunhos .wrap_column_b .group_names {
  display: flex;
  padding: 7px;
  flex-direction: column;
  justify-content: center;
}
#views-bootstrap-testemunhos-testemunhos .wrap_column_b .group_names div p {
  margin-bottom: 0;
}
#views-bootstrap-testemunhos-testemunhos .wrap_column_b .group_names div.ea {
  font-weight: bold;
}

/* Palavras mais buscadas */
.view-palavras-mais-buscadas .view-content {
  display: flex;
  flex-flow: wrap;
  flex-direction: row;
}
.view-palavras-mais-buscadas .view-content > div{
  width: auto;
}
.view-palavras-mais-buscadas .view-content .views-field-name {
  border: 1px solid #cdd1d6;
  border-radius: 40px;
  align-items: flex-start;
  padding: 10px 10px;
  margin: 0px;
}
.view-palavras-mais-buscadas .view-content .views-field-name a {
  color: #0d6bca !important;
}

/* Main menu top core columns
#main-menu-top-core .custom-c-1 { text-align: left; }
#main-menu-top-core .custom-c-2 { text-align: center; }
#main-menu-top-core .custom-c-3 { text-align: right; } */

/* Owl carousel dots */
.force-owl .owl-dot span {
  background-color: #cdd1d6 !important;
  opacity: 0.8 !important;
}
.force-owl .owl-dot.active span {
  background-color: #fff !important;
}
.force-owl .owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: -32px !important;
  margin-bottom: 14px !important;
}

/* Sobre nós (quem somos) */
.page-view-sobre-nos .views-field-field-titulo-2 {
  font-weight: bold;
  color: #0d6bca;
}
.page-view-sobre-nos .field--name-field-titulo-3 {
  display: none;
  color: #0d6bca;
}
.page-view-sobre-nos .views-field-nothing-1 .row div:first-child {
  color: #29394a;
  font-weight: 600;
  font-size: 60px;
}
.page-view-sobre-nos .views-field-nothing-1 .row div:last-child {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-view-sobre-nos .views-field-field-imagens-1 {
  margin-top: 40px;
}
.page-view-sobre-nos .views-field-field-imagens-1 img,
.page-view-sobre-nos .views-field-field-imagens-2 img {
  border-radius: 16px;
}
.page-view-sobre-nos .views-field-field-imagens-1 .field-content {
  display: flex;
  justify-content: space-between;
}
.page-view-sobre-nos .views-field-field-cards .field-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.page-view-sobre-nos .views-field-field-cards {
  margin-top: 85px;
}
.page-view-sobre-nos .views-field-field-cards .card {
  padding: 15px;
  background-color: #eceff3;
  border-radius: 16px;
}
.page-view-sobre-nos .views-field-field-cards .card .card-t {
  font-weight: bold;
  color: #29394a;
}
.page-view-sobre-nos .views-field-field-cards .field-content .card:not(:first-child) {
  margin-left: 10px;
}
.page-view-sobre-nos .views-field-nothing-2 {
  margin-top: 85px;
}
.page-view-sobre-nos .views-field-nothing-2 .field-content .leftsnd {
  font-weight: 500;
  font-size: 40px;
}
.page-view-sobre-nos .views-field-nothing-2 .field-content .leftsnd::after {
  content: "→";
  font-size: 40px;
}
.page-view-sobre-nos .views-field-field-imagens-2 .views-label-field-imagens-2 {
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -0.01em;
}
.page-view-sobre-nos .views-field-field-imagens-2 .field-content {
  margin-top: 40px;
}
.page-view-sobre-nos .views-field-field-imagens-2 .views-label-field-imagens-2::after {
  content: "Aldo imóveis";
  font-weight: bold;
  border-bottom: 3px solid #40c0f0;
}
.page-view-sobre-nos .views-field-field-imagens-1 .field-content img:first-child {
  width: 63%;
  max-width: 750px;
  max-height: 392px;
  height: 100%;
}
.page-view-sobre-nos .views-field-field-imagens-1 .field-content img:last-child {
  margin-left: 3px;
  width: 37%;
  max-width: 447px;
  max-height: 392px;
  height: 100%;
}
.page-view-sobre-nos .views-field-field-imagens-2 .field-content img {
  width: 100%;
  max-width: 392px;
  max-height: 261px;
  height: 100%;
  margin-top: 5px;
}

/* Imóveis imagens block 1 */
#block-views-block-imoveis-imagens-block-1 {
  justify-content: space-between;
  width: auto;
  max-width: 727px;
}
#block-views-block-imoveis-imagens-block-1 img {
  border-radius: 16px;
  width: 100%;
  max-width: 726px;
  max-height: 471px;
  height: 100%;
  margin-top: 5px;
}
#block-views-block-imoveis-imagens-block-1 .owl-dots {
  margin-top: 5px !important;
}
#block-views-block-imoveis-imagens-block-1 .owl-prev,
#block-views-block-imoveis-imagens-block-1 .owl-next {
  width: 15px;
  height: 100px;
  padding: 10px;
  position: absolute;
  top: 44%;
  transform: translateY(-50%);
  display: block !important;
  border: 0 solid #333;
  background-color: #ccc;
  border-radius: 10px;
  opacity: 0.8;
}
#block-views-block-imoveis-imagens-block-1 .owl-prev { left: 0; }
#block-views-block-imoveis-imagens-block-1 .owl-next { right: 0; }
#block-views-block-imoveis-imagens-block-1 .owl-prev i,
#block-views-block-imoveis-imagens-block-1 .owl-next i {
  transform: scale(2, 5);
  color: #333;
}
#block-views-block-imoveis-imagens-block-1 .owl-dot.active>span {
  background-color: #333 !important;
}
#block-views-block-imoveis-imagens-block-1 .cycle-pager,
#cboxLoadedContent .cycle-pager {
  text-align: center;
}
#block-views-block-imoveis-imagens-block-1 .prev-next {
  position: absolute;
  top: 35%;
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding: 0 25px;
}

/* Webform block */
#block-views-block-node-webform-block-1 {
  background-color: #fff;
  border: 1px solid #cdd1d6;
  padding: 20px 20px 0 20px;
  border-radius: 16px;
  max-width: 477px;
  font-size: 11px;
}
#block-views-block-node-webform-block-1 textarea {
  max-height: 100px;
}
#block-views-block-node-webform-block-1 #edit-message {
  height: 55px;
}

/* Hide preview button */
#edit-preview { visibility: hidden; }

/* Real estate system main */
#block-realestate-system-main { width: 100%; }
#block-realestate-system-main .view-header {
  text-align: center;
  padding: 10px 0;
}


.node--type-property #block-aldoimoveis-page-title {
  display: none;
}
.node--type-property .field--name-field-status a {
  padding: 10px;
  background-color: #fff;
  border: 1px solid #cdd1d6;
  border-radius: 16px;
  display: inline-block;
  margin-bottom: 30px;
  text-decoration: none !important;
}
.images-wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr; /* desktop */
  grid-template-rows: 1fr 1fr;
  gap: 6px;
}

.images-wrapper .img1 {
  grid-row: 1 / span 2;
  grid-column: 1;
}

.images-wrapper .img2 {
  grid-row: 1;
  grid-column: 2;
}

.images-wrapper .img3 {
  grid-row: 1;
  grid-column: 3;
}

.images-wrapper .img4 {
  grid-row: 2;
  grid-column: 2;
}

.images-wrapper .img5 {
  grid-row: 2;
  grid-column: 3;
}

.images-wrapper div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

/* Tablet: 2 colunas */
@media (max-width: 992px) {
  .images-wrapper {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .images-wrapper .img1 {
    grid-column: 1 / span 2;
    grid-row: auto;
  }

  .images-wrapper .img2,
  .images-wrapper .img3,
  .images-wrapper .img4,
  .images-wrapper .img5 {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Mobile: 1 coluna */
@media (max-width: 576px) {
  .images-wrapper {
    grid-template-columns: 1fr;
  }

  .images-wrapper .img1 {
    grid-column: auto;
    grid-row: auto;
  }
  .images-wrapper .img2,
  .images-wrapper .img3,
  .images-wrapper .img4,
  .images-wrapper .img5 {
    display: none !important;
  }
}
.images-wrapper-modal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.images-wrapper-modal .imgModal {
  grid-column: 1 / -1; /* por padrão, ocupa as 2 colunas */
}

.images-wrapper-modal .imgModal:nth-child(3n+2),
.images-wrapper-modal .imgModal:nth-child(3n+3) {
  grid-column: auto; /* estas ocupam só 1 coluna (50% cada) */
}

.images-wrapper-modal div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}
.modal-body .container{
  width: 80%;
}
.property-header-actions{
  z-index: 3;
  display: flex;
  position: absolute;
  padding: 7px;
}
.property-header-actions .btn{
  background-color: #ffffffad;
}
.property-header-actions .btn:hover{
  background-color: #0d6efd;
}

.property-header-info{
  padding-top: 20px;
}

.node--type-property .field--name-body p {
  /* text-indent: 30px; */
}
.node--type-property .field--name-body .field__label {
  font-size: 16px;
  margin-bottom: 15px;
}
.node--type-property .field--name-body .field__label::before {
  content: "\f05a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 5px;
}
.node--type-property .content a {
  text-decoration: underline;
}
.property-attributes-badge .badge .field{
  margin: 0;
}
.property-attributes-badge .badge{
  width: auto;
  margin-left: 5px;
}
.path-buscas .block-views-exposed-filter-blocksearch-front-page-1 .flex-wrap{
  padding: 20px;
  width: 100%;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: -9px 7px 23px -15px rgba(0, 0, 0, 0.75);
}
.path-buscas .block-views-exposed-filter-blocksearch-front-page-1 .flex-wrap > div {
  width: 25%;
  padding: 0 5px;
  flex: 0 0 auto;
  max-width: none;
  margin-bottom: 0 !important;
}


.path-buscas #views-exposed-form-search-front-page-1 .form-actions{
  padding-top: 0;
}

.path-buscas .block-page-title-block{
  display: none;
}
.path-buscas #views-exposed-form-search-front-page-1{
  margin-bottom: 10px;
}
.path-buscas #views-exposed-form-search-front-page-1 .form-actions button{ padding: 8px 36px;}
/* Property attributes */
.property-attributes .field {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  text-align: center;  
}

.path-buscas #views-exposed-form-search-front-page-1 .js-form-type-textfield{
  margin-bottom: 0 !important;
}

.property-attributes i.bi {
  font-size: 28px;
  color: #0d6bca;
  margin-bottom: 4px;
}
.property-attributes .field .field__label,
.property-attributes .field .field__item {
  font-size: 13px;
  color: #29394A;
  margin-bottom: 0px;
  font-weight: 500;
}
.property-attributes .field .field__items {
  font-size: 16px;
  color: #29394A;
  font-weight: 600;
}

/* Field labels and items */
.field .field__label {
  font-weight: bold;
}

.field .field__items {
  display: inline-block;
}

/* Inline fields */
.field--type-entity-reference {
  margin: 0;
}
.field--name-field-area-total,
.field--name-field-bedrooms,
.field--name-field-garages,
.field--name-field-bathrooms {
  display: inline-block;
}
.field--name-field-bedrooms,
.field--name-field-garages,
.field--name-field-bathrooms {
  margin-left: 10px;
}

/* Hide page title in some contexts */
.path-contact #block-aldoimoveis-page-title .content>h1.title,
.path-taxonomy #block-aldoimoveis-page-title,
.node--type-property #block-aldoimoveis-page-title {
  display: none;
}
.path-taxonomy h1.title {
  text-transform: capitalize;
}

/* Contact page */
.path-contact #main-core .title-card {
  font-weight: 700;
  font-size: 16px;
  padding-left: 5px;
}
.path-contact #main-core .descr {
  font-weight: 400;
  font-size: 14px;
}
.path-contact #main-core .descrf {
  font-weight: bold;
  font-size: 14px;
}

/* Alignment helpers */
.align-end, .groupfc {
  display: flex;
  align-items: center;
}
.align-end { justify-content: end; }
.groupfc { flex-direction: row; }

/* Icon backgrounds */
.entenda-nossa-documentacao,
.mande-nos-uma-msg,
.nos-ligue,
.visite-nossa-rede {
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
}
.entenda-nossa-documentacao { background-image: url("../assets/images/entenda-nossa-documentacao.png"); }
.mande-nos-uma-msg { background-image: url("../assets/images/mande-nos-uma-msg.png"); }
.nos-ligue { background-image: url("../assets/images/nos-ligue.png"); }
.visite-nossa-rede { background-image: url("../assets/images/visite-nossa-rede.png"); }

.gmapps { padding: 40px; }

/* Hide some gallery elements */
#jb-glry-id-1 > div > div:nth-child(4),
#jb-glry-id-0 > div > div:nth-child(4),
#jb-glry-id-0 > div > div[style*="jb001.png"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  z-index: -1 !important;
}

Views exposed form (search)
#views-exposed-form-search-front-block-search-custom-filter {
  border-radius: 16px;
  background-color: #fff;
  padding: 15px;
  border: 1px solid #CDD1D6;
}
#views-exposed-form-search-front-block-search-custom-filter .form-row {
  justify-content: space-between;
}
#views-exposed-form-search-front-block-search-custom-filter .js-form-item,
#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 {
    flex: 0 0 25%;   /* cada item ocupa 20% da largura → 5 por linha */
    max-width: 25%;
    box-sizing: border-box; /* garante que padding/margin não quebre o cálculo */
    padding: 0 8px;  /* espaçamento horizontal entre os itens (opcional) */
}

@media (max-width: 991px) {
  #views-exposed-form-search-front-block-search-custom-filter .js-form-item,
#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 {
    flex: 0 0 33%;   /* cada item ocupa 20% da largura → 5 por linha */
    max-width: 33%;
    
}
}
@media (max-width: 768px) {
  #views-exposed-form-search-front-block-search-custom-filter .js-form-item,
#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 {
    flex: 0 0 50%;   /* cada item ocupa 20% da largura → 5 por linha */
    max-width: 50%;
    
}
}

@media (max-width: 576px) {
  #views-exposed-form-search-front-block-search-custom-filter .js-form-item,
#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 {
    flex: 0 0 100%; /* 1 por linha */
    max-width: 100%;
  }
}


#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 #edit-field-price-value-wrapper--4 { 
  max-width: 100%;
  flex:unset;

}

#views-exposed-form-search-front-block-search-custom-filter #edit-field-price-value-wrapper--3 #edit-field-price-value-wrapper--4 .js-form-item{ 
  max-width: 100%;
  width: auto;
  flex: inherit
}
#views-exposed-form-search-front-block-search-custom-filter .select2-container,
#views-exposed-form-search-front-block-search-custom-filter .select2-selection,
#views-exposed-form-search-front-block-search-custom-filter .select2-selection__rendered {
  height: 40px;
  width: 100%;
  align-items: center;
}
#views-exposed-form-search-front-block-search-custom-filter .form-text {
  margin-top: 0;
}

/* WP bar */
#wp-bar {
  max-width: 1226px;
  margin: auto;
  padding-right: 14px;
}
#wp-bar .group-icon-wp {
  text-align: right;
}
.nav.tabs{
width: 100%;
}

/* Price value wrappers */
#edit-field-price-value-wrapper,
#edit-field-price-value-wrapper--3 {
  width: 25%;
}
#edit-field-price-value-wrapper--2,
#edit-field-price-value-wrapper--4 {
  width: 100% !important;
}
#edit-field-price-value-wrapper--2>legend,
#edit-field-price-value-wrapper--4>legend {
  max-height: 27px;
  margin-bottom: 0;
}
#edit-field-price-value-wrapper #edit-field-price-value-wrapper--2,
#edit-field-price-value-wrapper--3 #edit-field-price-value-wrapper--4 {
  margin-bottom: 0;
}
#edit-field-price-value-wrapper #edit-field-price-value-wrapper--2 .js-form-item,
#edit-field-price-value-wrapper--3 #edit-field-price-value-wrapper--4 .js-form-item {
  width: 100% !important;
}
#edit-field-price-value-wrapper--2 .fieldset-legend,
#edit-field-price-value-wrapper--4 .fieldset-legend {
  vertical-align: top;
  font-size: 1rem;
}
#edit-field-price-value-wrapper .fieldset-wrapper,
#edit-field-price-value-wrapper--3 .fieldset-wrapper {
  display: flex;
  gap: 10px;
}
#edit-field-price-value-wrapper--2 label,
#edit-field-price-value-wrapper--4 label {
  display: none;
}
#views-exposed-form-search-front-page-1 .form-actions {
  align-self: center;
  margin-bottom: 0px !important;
  padding-top: 13px;
}
.path-frontpage #edit-field-price-value-wrapper--2>legend,
.path-frontpage #edit-field-price-value-wrapper--4>legend {
  max-height: 25px !important;
}
#edit-field-price-value-max {
  margin-right: 10px;
}

/* Condominio field */
.views-field-field-condominio-1>span.views-label-field-condominio-1 {
  display: inline;
  font-weight: bold;
  margin-right: 5px;
}
.views-field-field-condominio-1>div.field-content {
  display: inline;
}

/* Webform contact form */
.webform-submission-contact-form fieldset>label,
.webform-submission-contact-form .details-wrapper .details-description {
  display: none;
}
.webform-submission-contact-form .form-actions {
  text-align: right;
}

/* Imoveis imagens block 2 */
#block-views-block-imoveis-imagens-block-2 .views-field-field-image {
  display: none !important;
}
#block-views-block-imoveis-imagens-block-2 .views-field-nothing-1,
#block-views-block-imoveis-imagens-block-2 .views-field-nothing {
  display: inline-block;
}
#block-views-block-imoveis-imagens-block-2 .views-field-nothing {
  margin-left: 10px;
}

/* Colorbox loaded content */
#cboxLoadedContent {
  text-align: center;
}
.node--type-property #cboxLoadedContent .owl-stage img {
  max-width: 100% !important;
  height: auto;
}
.node--type-property #cboxLoadedContent .field-content {
  display: flex;
  justify-content: center;
}
.node--type-property #cboxLoadedContent .item-list {
  width: 50%;
}
.node--type-property #cboxLoadedContent .owl-dots {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: absolute;
  top: 10px;
  text-align: center;
  width: 100%;
}
.node--type-property #cboxLoadedContent .owl-dot>span {
  border: 1px solid #333;
}

/* Imoveis imagens block 3 */
#block-views-block-imoveis-imagens-block-3 .views-label {
  font-weight: bold;
}
#block-views-block-imoveis-imagens-block-3 .views-field,
#block-views-block-imoveis-imagens-block-3 .views-row {
  display: flex;
  flex-direction: row;
  gap: 5px;
}
#block-views-block-imoveis-imagens-block-3 .views-row {
  gap: 15px;
}

/* Misc */
.force-negative { margin-top: -22px; }

/* Ver fotos/mapa buttons */
#ver_fotos, #ver_mapa {
  display: inline-block;
  cursor: pointer;
  width: 115px;
  height: 42px;
  background-repeat: no-repeat;
}
#ver_fotos { background-image: url("../assets/images/ver_fotos.png"); }
#ver_mapa { background-image: url("../assets/images/ver_mapa.png"); }

/* Formulário header */
#region-header-form,
.region-header-form .form,
.views-exposed-form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
}
.region-header-form .form-item,
.region-header-form .form-wrapper,
.region-header-form .form-actions {
  flex: 1 1 250px;
  min-width: 220px;
  max-width: 100%;
}
#region-header-form fieldset.form-wrapper {
  flex: 2 1 100%;
}
.region-header-form .form-actions {
  display: flex;
  justify-content: flex-end;
}
.form-actions {
  position: relative;
}
.form-actions::before {
  font-family: "Font Awesome 5 Free";
  content: "\f002";
  display: inline-block;
  font-weight: 900;
  font-size: 16px;
  color: #fff;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}



.region-header-form .form-item input,
.region-header-form .js-form-item input {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
}

/* Responsive */
@media (max-width: 768px) {
  .region-header-form .form-item,
  .region-header-form .form-wrapper,
  .region-header-form .form-actions {
    flex: 1 1 100%;
  }
  .region-header-form .form-actions {
    justify-content: center;
  }
}
