
:root{
      --primary:#13231b;
      --primary-2:#20382b;
      --accent:#0aa34f;
      --accent-hover:#078c42;
      --accent-light:#5ee28f;
      --accent-soft:#e8f8ef;
      --accent-rgb:10,163,79;

      --bg:#f6f7f4;
      --surface:#ffffff;
      --surface-2:#f0f3ed;

      --text:#101b15;
      --text-light:#ffffff;
      --muted:#66756d;
      --border:#dfe7df;

      --header-bg:#13231b;
      --footer-bg:#07110c;

      --hero-overlay-1:rgba(237,244,237,.92);
      --hero-overlay-2:rgba(251,251,248,.86);
      --hero-image:url('hero-vintage.webp');

      --features-bg:rgba(255,255,255,.72);
      --features-icon:var(--accent);
      --features-title:var(--text);

      --card-bg:#ffffff;
      --price-bg:rgba(255,255,255,.94);
      --price-text:var(--primary);

      --button-gradient-start:var(--accent);
      --button-gradient-end:var(--primary);
      --button-bg-hover:var(--accent-hover);
      --button-text:#ffffff;

      --swiper-button-bg:#ffffff;
      --swiper-button-color:var(--text);
      --swiper-pagination-active:var(--accent);

      --whatsapp-bg:#25d366;
      --whatsapp-color:#ffffff;
      --whatsapp-shadow:rgba(37,211,102,.38);

      --radius-sm:14px;
      --radius-md:24px;
      --radius-lg:36px;

      --shadow-sm:0 8px 25px rgba(16,27,21,.06);
      --shadow-md:0 18px 45px rgba(16,27,21,.10);
      --shadow-lg:0 35px 90px rgba(16,27,21,.18);

      --transition:.35s cubic-bezier(.4,0,.2,1);
    }

    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
      margin:0;
      font-family:'Inter',sans-serif;
      background:
        radial-gradient(circle at 8% 8%, rgba(var(--accent-rgb),.12), transparent 32%),
        linear-gradient(120deg, #edf4ed 0%, #fbfbf8 45%, #e9f4ef 100%);
      color:var(--text);
      line-height:1.7;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
    }

    a{text-decoration:none;color:inherit;}
    img{max-width:100%;display:block;}
    section{padding:90px 0;}

    h1,h2,h3,h4,h5,h6{
      font-weight:900;
      letter-spacing:-.045em;
    }

    .section-header{
      max-width:760px;
      margin-bottom:34px;
    }

    .section-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      background:var(--accent-soft);
      border-radius:999px;
      padding:8px 14px;
      font-weight:800;
      font-size:13px;
      letter-spacing:.04em;
      text-transform:uppercase;
      margin-bottom:16px;
    }

    section h2,
    section h3{
      position:relative;
    }

    section h2::after,
    section h3::after{
      content:"";
      width:70px;
      height:4px;
      background:var(--accent);
      display:block;
      margin-top:14px;
      border-radius:10px;
    }

    .top-logo-box{
      background:var(--header-bg);
      padding:18px 0;
      border-bottom:4px solid var(--accent);
      color:#fff;
    }

    .logo-header{
      max-height:130px;
      width:auto;
      object-fit:contain;
      border-radius:24px;
    }

    .creci-top{
      display:inline-block;
      background:var(--accent);
      color:#fff;
      border-radius:999px;
      padding:5px 12px;
      font-size:12px;
      font-weight:800;
      letter-spacing:.5px;
    }

    .navbar{
      background:rgba(255,255,255,.92)!important;
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(16,27,21,.08);
      padding:12px 0;
    }

    .navbar .nav-link{
      color:var(--text)!important;
      font-weight:750;
      padding:10px 16px!important;
      border-radius:999px;
    }

    .navbar .nav-link:hover{
      background:var(--accent-soft);
      color:var(--accent)!important;
    }

    .hero{
      min-height:760px;
      position:relative;
      display:flex;
      align-items:center;
      overflow:hidden;
      padding:105px 0 92px;
      background:
        radial-gradient(circle at 12% 20%, rgba(var(--accent-rgb),.22), transparent 32%),
        linear-gradient(120deg, #edf4ed 0%, #fbfbf8 45%, #e9f4ef 100%);
      isolation:isolate;
    }

    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(246,247,244,.96) 0%, rgba(246,247,244,.78) 44%, rgba(246,247,244,.12) 100%),
        var(--hero-image) right center/cover no-repeat;
      z-index:-2;
    }

    .hero::after{
      content:"";
      position:absolute;
      inset:auto -160px -240px auto;
      width:520px;
      height:520px;
      border-radius:50%;
      background:rgba(var(--accent-rgb),.13);
      filter:blur(6px);
      z-index:-1;
    }

    .hero-content{
      position:relative;
      z-index:3;
    }

    .hero h1{
      color:var(--text);
      font-size:clamp(3.2rem,7vw,6.8rem);
      font-weight:950;
      letter-spacing:-.075em;
      line-height:.94;
      max-width:780px;
      margin-bottom:24px;
    }

    .hero p{
      color:var(--muted);
      font-size:1.25rem;
      max-width:640px;
      margin-bottom:34px;
    }

    .hero .hero-note{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      background:rgba(255,255,255,.78);
      border:1px solid rgba(255,255,255,.72);
      border-radius:999px;
      padding:9px 15px;
      box-shadow:var(--shadow-sm);
      font-weight:850;
      margin-bottom:20px;
    }

    .search-box{
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(16px);
      border:1px solid rgba(255,255,255,.9);
      border-radius:32px;
      padding:28px;
      box-shadow:var(--shadow-lg);
      max-width:1200px;
    }

    .form-control,
    .form-select{
      min-height:58px;
      border-radius:18px;
      border:1px solid var(--border);
      font-size:15px;
      color:var(--text);
      font-weight:650;
      background-color:#fff;
    }

    .form-control:focus,
    .form-select:focus{
      border-color:var(--accent);
      box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14);
    }

    .btn-primary,
    .btn-imovel{
      border:none;
      background:var(--accent);
      color:var(--button-text)!important;
      font-weight:850;
      border-radius:999px!important;
      padding:14px 24px;
      transition:var(--transition);
      box-shadow:none;
    }

    .btn-primary:hover,
    .btn-imovel:hover{
      background:var(--accent-hover);
      color:var(--button-text)!important;
      transform:translateY(-2px);
      box-shadow:none;
    }

    .features{
      position:relative;
      padding:34px 0;
      margin-top:-42px;
      z-index:5;
    }

    .features .container{
      background:rgba(255,255,255,.82);
      backdrop-filter:blur(14px);
      border:1px solid rgba(255,255,255,.86);
      border-radius:30px;
      box-shadow:var(--shadow-md);
      padding:22px;
    }

    .features .col-md-3{
      padding:10px;
    }

    .features i{
      color:var(--features-icon);
      font-size:2rem;
      margin-bottom:8px;
    }

    .features h5{
      color:var(--features-title);
      font-size:.98rem;
      font-weight:850;
      margin-bottom:0;
      letter-spacing:-.02em;
    }

    .featured-slider-section{
      background:rgba(255,255,255,.72);
      padding:100px 0;
    }

    .destaqueSwiper{
      padding:20px 10px 70px;
    }

    .swiper-slide{
      height:auto;
    }

    .swiper-button-next,
    .swiper-button-prev{
      width:54px;
      height:54px;
      border-radius:50%;
      background:var(--swiper-button-bg);
      box-shadow:0 10px 25px rgba(0,0,0,.12);
    }

    .swiper-button-next::after,
    .swiper-button-prev::after{
      font-size:18px;
      font-weight:700;
      color:var(--swiper-button-color);
    }

    .swiper-pagination-bullet{
      width:12px;
      height:12px;
    }

    .swiper-pagination-bullet-active{
      background:var(--swiper-pagination-active);
    }

    .property-card,
    .featured-card{
      background:var(--card-bg);
      border:none;
      border-radius:32px;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
      border:1px solid rgba(16,27,21,.06);
      transition:var(--transition);
      height:100%;
    }

    .property-card:hover,
    .featured-card:hover{
      transform:translateY(-8px);
      box-shadow:var(--shadow-md);
    }

    .property-card img,
    .featured-image img{
      height:260px;
      width:100%;
      object-fit:cover;
      transition:.7s;
    }

    .property-card:hover img,
    .featured-card:hover img{
      transform:scale(1.08);
    }

    .image,
    .featured-image{
      position:relative;
      display:block;
      overflow:hidden;
    }

    .price,
    .featured-price{
      position:absolute;
      left:16px;
      bottom:16px;
      top:auto;
      background:var(--price-bg);
      backdrop-filter:blur(8px);
      color:var(--price-text);
      font-size:18px;
      font-weight:950;
      padding:10px 16px;
      border-radius:999px;
      box-shadow:0 10px 25px rgba(0,0,0,.12);
    }

    .featured-tag{
      position:absolute;
      top:16px;
      right:16px;
      background:var(--accent);
      color:#fff;
      padding:7px 13px;
      border-radius:999px;
      font-size:12px;
      font-weight:850;
    }

    .property-card .content,
    .featured-content{
      padding:24px;
    }

    .property-card h3,
    .featured-content h3{
      font-size:18px;
      line-height:1.35;
      min-height:56px;
      margin-bottom:12px;
      font-weight:900;
      letter-spacing:-.035em;
    }

    .featured-type{
      color:var(--accent);
      font-size:13px;
      font-weight:850;
      text-transform:uppercase;
      letter-spacing:.04em;
      margin-bottom:10px;
    }

    .location,
    .featured-location{
      color:var(--muted);
      font-size:14px;
      margin-bottom:15px;
    }

    .details,
    .featured-details{
      margin:20px 0;
      padding-top:18px;
      border-top:1px solid var(--border);
      display:flex;
      justify-content:space-between;
      gap:8px;
    }

    .detail-item{
      flex:1;
      text-align:center;
    }

    .detail-item i,
    .featured-details i{
      color:var(--accent);
      font-size:19px;
      margin-bottom:7px;
    }

    .detail-value{
      font-weight:900;
    }

    .detail-label,
    .featured-details span{
      font-size:12px;
      color:var(--muted);
      font-weight:650;
    }

    .featured-details span{
      text-align:center;
    }

    .bg-light{
      background:
        radial-gradient(circle at 10% 0%, rgba(var(--accent-rgb),.06), transparent 30%),
        var(--bg)!important;
    }

    .anunciar-card{
      background:rgba(255,255,255,.90);
      backdrop-filter:blur(14px);
      border:none;
      border-radius:36px!important;
      box-shadow:var(--shadow-md);
      padding:42px!important;
      border:1px solid rgba(255,255,255,.9)!important;
    }

    #contato{
      background:
        radial-gradient(circle at 90% 10%, rgba(var(--accent-rgb),.13), transparent 30%),
        linear-gradient(120deg, #edf4ed 0%, #fbfbf8 48%, #e9f4ef 100%);
    }

    .footer-dark{
      background:var(--footer-bg);
      color:#fff;
      padding:32px 0;
      margin-top:0;
      border-top:4px solid var(--accent);
    }

    .footer-dark .container > div{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      gap:12px;
    }

    .footer-dark img{
      max-height:120px;
      width:auto;
      object-fit:contain;
      border-radius:24px;
    }

    .footer-dark small{
      color:rgba(255,255,255,.70);
    }

    .whatsapp{
      width:70px;
      height:70px;
      border-radius:50%;
      background:var(--whatsapp-bg);
      color:var(--whatsapp-color);
      position:fixed;
      right:25px;
      bottom:25px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:30px;
      box-shadow:0 20px 42px var(--whatsapp-shadow);
      z-index:9999;
      transition:var(--transition);
    }

    .whatsapp:hover{
      transform:scale(1.08);
      color:var(--whatsapp-color);
    }

    ::-webkit-scrollbar{width:10px;}
    ::-webkit-scrollbar-thumb{
      background:var(--accent);
      border-radius:20px;
    }

    @media(max-width:991px){
      .navbar-collapse{
        background:#fff;
        padding:15px;
        margin-top:10px;
        border-radius:22px;
        box-shadow:var(--shadow-md);
      }

      .navbar-nav{width:100%;}

      .navbar .nav-link{
        display:block;
        padding:15px!important;
        border-bottom:1px solid var(--border);
      }

      .navbar .nav-item:last-child .nav-link{
        border-bottom:none;
      }
    }

    @media(max-width:768px){
      section{padding:60px 0;}

      .hero{
        min-height:720px;
        padding:70px 0 52px;
      }

      .hero::before{
        background:
          linear-gradient(180deg, rgba(246,247,244,.98) 0%, rgba(246,247,244,.86) 55%, rgba(246,247,244,.52) 100%),
          var(--hero-image) center/cover no-repeat;
      }

      .hero h1{font-size:3.2rem;}
      .hero p{font-size:1.05rem;}

      .search-box{
        padding:20px;
        border-radius:24px;
      }

      .features{
        margin-top:0;
        padding-top:28px;
      }

      .property-card img,
      .featured-image img{
        height:220px;
      }

      .anunciar-card{
        padding:25px!important;
      }

      .whatsapp{
        width:60px;
        height:60px;
        right:18px;
        bottom:18px;
        font-size:25px;
      }
    }


/* =========================================================
   INTEGRAÇÃO COM O PROJETO DINÂMICO
========================================================= */

body{
  min-height:100vh;
}

.site-modern-main{
  min-height:40vh;
}

.top-logo-box{
  position:relative;
  z-index:20;
}
.top-logo-box .company-copy{
  max-width:620px;
}
.top-logo-box .company-name{
  font-size:1.02rem;
  font-weight:850;
  letter-spacing:-.02em;
}
.top-logo-box .company-meta{
  color:rgba(255,255,255,.64);
  font-size:.78rem;
}
.top-logo-box .logo-header{
  max-height:104px;
  max-width:190px;
}

.navbar{
  box-shadow:0 8px 24px rgba(16,27,21,.05);
}
.navbar .nav-link.active{
  background:var(--accent-soft);
  color:var(--accent)!important;
}
.navbar-brand-mobile{
  display:none;
  color:var(--primary);
  font-weight:900;
}

/* HERO DINÂMICO */
.hero-search-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.hero-search-grid .search-action{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-start;
}
.hero-search-grid .btn{
  min-width:190px;
}
.hero h1 .accent-word{
  color:var(--accent);
}
.hero .search-box{
  margin-top:28px;
}

/* FEATURES */
.feature-item{
  height:100%;
  padding:18px 12px;
  border-radius:22px;
  transition:var(--transition);
}
.feature-item p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.82rem;
}
.feature-item:hover{
  background:var(--accent-soft);
  transform:translateY(-2px);
}

/* CABEÇALHOS DE SEÇÃO */
.section-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:30px;
}
.section-heading-row h2,
.section-heading-row h3{
  margin-bottom:0;
}
.section-heading-row .section-header{
  margin-bottom:0;
}
.section-heading-row .btn{
  flex:0 0 auto;
}

/* DESTAQUES */
.featured-slider-section .section-header{
  margin-bottom:8px;
}
.featured-card{
  display:flex;
  flex-direction:column;
}
.featured-card .featured-image{
  min-height:260px;
}
.featured-card .featured-content{
  display:flex;
  flex:1;
  flex-direction:column;
}
.featured-card .featured-content .btn{
  margin-top:auto;
}
.featured-details{
  min-height:58px;
}
.featured-details span{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.featured-details strong{
  color:var(--text);
}

/* CARD DE IMÓVEL PADRÃO */
.property-card{
  display:flex;
  flex-direction:column;
}
.property-card .image{
  min-height:250px;
  background:var(--surface-2);
}
.property-card .content{
  display:flex;
  flex:1;
  flex-direction:column;
}
.property-card .property-type{
  color:var(--accent);
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}
.property-card .property-tag{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  background:var(--accent);
  color:#fff;
  padding:7px 12px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.property-card .btn{
  margin-top:auto;
}

/* LISTAGENS */
.topo{
  max-width:780px;
  margin:0 auto 42px;
  text-align:center;
}
.topo h1,
.container.py-5 > .text-center h2{
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:950;
  letter-spacing:-.055em;
  color:var(--text);
}
.topo p,
.container.py-5 > .text-center p{
  color:var(--muted);
}
.loading{
  display:none;
  text-align:center;
  padding:42px 0;
}
.pagination{
  gap:6px;
}
.pagination .page-link{
  border:1px solid var(--border);
  color:var(--primary);
  border-radius:999px!important;
  min-width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  background:#fff;
}
.pagination .page-item.active .page-link{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

/* FORMULÁRIOS / CARDS DE PÁGINAS */
.anunciar-card,
body > section.py-5 .container > .card,
body > section.py-5 .container > .row .card{
  border-radius:32px!important;
  border:1px solid rgba(16,27,21,.07)!important;
  box-shadow:var(--shadow-md)!important;
}
.anunciar-card h1,
.anunciar-card h2,
.anunciar-card h3,
.anunciar-card h4{
  color:var(--text);
}
.form-label{
  color:var(--primary);
  font-weight:750;
}
textarea.form-control{
  min-height:130px;
}
details{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:15px 18px;
}
details summary{
  color:var(--primary);
  font-weight:850;
  cursor:pointer;
}

/* PÁGINA DO IMÓVEL */
.property-wrapper{
  padding:42px 0 76px;
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--accent-rgb),.06), transparent 28%),
    var(--bg);
}
.property-wrapper > .container > .property-title-main{
  font-size:clamp(2rem,4vw,3.2rem);
  margin-bottom:8px;
}
.property-wrapper > .container > .property-title-main::after{
  content:"";
  width:70px;
  height:4px;
  display:block;
  margin-top:15px;
  border-radius:99px;
  background:var(--accent);
}
.property-wrapper > .container > p{
  color:var(--accent);
  font-weight:800;
}
.property-wrapper .carousel{
  border-radius:30px!important;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  background:#fff;
}
.property-wrapper .carousel-item img{
  max-height:620px;
  object-fit:cover;
}
.property-wrapper .thumb{
  border-radius:16px!important;
  border:2px solid #fff!important;
  box-shadow:var(--shadow-sm);
}
.property-wrapper .card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(16,27,21,.07)!important;
  border-radius:24px!important;
  box-shadow:var(--shadow-sm)!important;
  padding:24px!important;
}
.property-wrapper .card h5{
  color:var(--primary);
  font-weight:900;
  margin-bottom:14px;
}
.property-wrapper .card h5 i{
  color:var(--accent);
}
.property-wrapper .chip{
  border-radius:999px!important;
  background:var(--accent-soft)!important;
  color:var(--primary)!important;
  border:1px solid rgba(var(--accent-rgb),.14)!important;
}
.property-wrapper .property-map{
  border-radius:20px;
  min-height:420px;
}

/* SHARE */
.property-wrapper .share-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.property-wrapper .btn-share{
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:#fff!important;
  color:var(--primary)!important;
  min-height:42px;
  padding:9px 14px;
  box-shadow:none!important;
}
.property-wrapper .btn-share:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  transform:translateY(-1px);
}

/* EMPRESA */
.empresa-page{
  background:var(--site-page-bg, var(--bg));
}
.empresa-hero-interno{
  position:relative;
  overflow:hidden;
  padding:90px 0 72px;
  background:
    linear-gradient(90deg,rgba(var(--site-page-bg-rgb, 246,248,246),.96),rgba(var(--site-page-bg-rgb, 246,248,246),.72)),
    var(--hero-image) center/cover no-repeat;
}
.empresa-hero-copy{
  max-width:780px;
}
.empresa-eyebrow,
.empresa-section-label{
  display:inline-flex;
  color:var(--accent)!important;
  background:var(--accent-soft);
  padding:7px 12px;
  border-radius:999px;
  font-size:.72rem!important;
  font-weight:850!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.empresa-hero-copy h1{
  font-size:clamp(2.6rem,5vw,4.8rem)!important;
  margin:18px 0!important;
  color:var(--text)!important;
}
.empresa-hero-copy p{
  color:var(--muted)!important;
  font-size:1.08rem!important;
}
.empresa-conteudo-section,
.empresa-informacoes-section,
.empresa-cta-section{
  padding:74px 0!important;
}
.empresa-sobre-card,
.empresa-info-card,
.empresa-cta-box{
  background:#fff!important;
  border:1px solid rgba(16,27,21,.07)!important;
  border-radius:28px!important;
  box-shadow:var(--shadow-sm)!important;
}
.empresa-info-icon{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
}

/* 404 */
.notfound-box{
  max-width:760px;
  margin:70px auto;
  border:1px solid rgba(16,27,21,.07);
  border-radius:32px!important;
  background:#fff;
  box-shadow:var(--shadow-md)!important;
}

/* FOOTER COMPLETO */
.footer-modern{
  background:
    radial-gradient(circle at 85% 10%, rgba(var(--accent-rgb),.18), transparent 30%),
    var(--footer-bg);
  color:#fff;
  padding:64px 0 26px;
  border-top:4px solid var(--accent);
}
.footer-modern .footer-panel{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  padding:30px;
}
.footer-modern h5{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--accent-light);
}
.footer-modern p,
.footer-modern small,
.footer-modern a{
  color:rgba(255,255,255,.70);
}
.footer-modern a:hover{
  color:#fff;
}
.footer-modern .footer-logo{
  max-height:92px;
  max-width:170px;
  border-radius:18px;
}
.footer-modern .footer-nav{
  display:grid;
  gap:8px;
}
.footer-modern .footer-contact{
  display:grid;
  gap:8px;
}
.footer-modern .footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.footer-modern .footer-social a{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  color:#fff;
}
.footer-modern .footer-social a:hover{
  background:var(--accent);
  border-color:var(--accent);
}
.footer-modern .footer-bottom{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.52);
  font-size:.72rem;
  text-align:center;
}

.whatsapp{
  width:66px;
  height:66px;
  border-radius:50%;
  background:var(--whatsapp-bg);
  color:var(--whatsapp-color)!important;
  position:fixed;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:29px;
  box-shadow:0 20px 42px var(--whatsapp-shadow);
  z-index:9999;
  transition:var(--transition);
}
.whatsapp:hover{
  transform:scale(1.06) translateY(-2px);
}

/* ALERTAS */
.alert{
  border:none;
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}

/* RESPONSIVO */
@media(max-width:991.98px){
  .hero-search-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .section-heading-row{
    align-items:flex-start;
  }
}
@media(max-width:767.98px){
  .top-logo-box .company-copy{
    display:none;
  }
  .top-logo-box{
    padding:12px 0;
  }
  .top-logo-box .logo-header{
    max-height:82px;
  }
  .navbar-brand-mobile{
    display:block;
  }
  .hero-search-grid{
    grid-template-columns:1fr;
  }
  .hero-search-grid .search-action{
    display:block;
  }
  .hero-search-grid .btn{
    width:100%;
  }
  .section-heading-row{
    flex-direction:column;
  }
  .section-heading-row .btn{
    width:100%;
  }
  .footer-modern .footer-panel{
    padding:24px 20px;
  }
}

/* ---------- origem consolidada: ajustes-finais.css ---------- */
/* =========================================================
   SYSIMOBIL — AJUSTES FINAIS 03/09/2026
   Carregado por último.
========================================================= */

:root{
    --final-dark:#13231B;
    --final-green:#0AA34F;
    --final-green-dark:#078C42;
    --final-green-soft:#EAF7EF;
    --final-surface:#FFFFFF;
    --final-bg:#F5F8F6;
    --final-line:#DCE7E1;
    --final-muted:#64748B;
}

/* =========================================================
   HOME — MENOS ESPAÇO ENTRE AS SEÇÕES
========================================================= */

/* Aproxima "Seleção especial / Imóveis em destaque"
   do bloco de benefícios que fica logo acima. */
.featured-slider-section{
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.featured-slider-section .section-header{
    margin-bottom:12px !important;
}

.destaqueSwiper{
    padding-top:10px !important;
    padding-bottom:42px !important;
}

/* Aproxima "Seleção de oportunidades / Encontre seu próximo imóvel"
   da seção de destaques. */
.home-listing-intro-section{
    padding-top:34px !important;
    padding-bottom:14px !important;
}

.featured-slider-section + .home-listing-intro-section{
    padding-top:28px !important;
}

/* Listagens da home um pouco mais compactas. */
.luxury-listing-section,
.home-sale-listing-section{
    padding-top:26px !important;
    padding-bottom:46px !important;
}

/* =========================================================
   CTA "NÃO ENCONTROU" — REMOVE BEGE / MARROM
========================================================= */
.home-request-cta{
    padding:48px 0 !important;
    background:
        radial-gradient(circle at 88% 15%, rgba(10,163,79,.06), transparent 27%),
        #EEF5F1 !important;
}

.home-request-box{
    background:#FFFFFF !important;
    border:1px solid #D8E7DF !important;
    box-shadow:0 12px 30px rgba(19,35,27,.07) !important;
}

.home-request-copy .luxury-section-eyebrow{
    color:var(--final-green-dark) !important;
}

.home-request-copy h2{
    color:var(--final-dark) !important;
}

.home-request-copy p{
    color:var(--final-muted) !important;
}

/* =========================================================
   PAGINAÇÃO — HOME + VENDAS/LOCAÇÃO
========================================================= */
.home-section-pagination,
.listing-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:22px;
}

.home-section-pagination-info,
.listing-pagination-info{
    color:#718078;
    font-size:.76rem;
}

.home-section-pagination .pagination,
.listing-pagination .pagination{
    margin:0;
    gap:5px;
    flex-wrap:wrap;
}

.home-section-pagination .page-link,
.listing-pagination .page-link{
    min-width:36px !important;
    height:36px !important;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px !important;
    border:1px solid #D7E4DC !important;
    border-radius:8px !important;
    background:#FFFFFF !important;
    color:#415248 !important;
    font-size:.75rem;
    font-weight:800;
    box-shadow:none !important;
}

.home-section-pagination .page-link:hover,
.listing-pagination .page-link:hover{
    border-color:var(--final-green) !important;
    background:#F0FAF4 !important;
    color:var(--final-green-dark) !important;
}

.home-section-pagination .page-item.active .page-link,
.listing-pagination .page-item.active .page-link{
    border-color:var(--final-green) !important;
    background:var(--final-green) !important;
    color:#FFFFFF !important;
}

.home-section-pagination .page-item.disabled .page-link,
.listing-pagination .page-item.disabled .page-link{
    opacity:.45;
}

/* =========================================================
   MENU RESPONSIVO — DEFINITIVO, SEM HAMBÚRGUER / COLLAPSE
========================================================= */

.site-main-nav{
    display:flex;
    flex:1 1 auto;
    align-items:center;
    justify-content:center;
    min-width:0;
}

.site-main-nav .navbar-nav{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin:0;
    padding:0;
}

/* Se houver HTML antigo em cache, esses controles nunca aparecem. */
.header-mobile-menu-btn,
.navbar-brand-mobile,
.navbar-toggler{
    display:none !important;
}

@media(max-width:767.98px){

    .top-logo-box{
        padding:7px 0 !important;
        min-height:66px !important;
    }

    .top-logo-box .container{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .top-logo-box .container > div{
        display:grid !important;
        grid-template-columns:60px minmax(0,1fr) !important;
        gap:10px !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:left !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:60px !important;
        min-width:60px !important;
    }

    .top-logo-box .logo-header{
        width:60px !important;
        height:48px !important;
        max-width:60px !important;
        max-height:48px !important;
        padding:3px !important;
        object-fit:contain !important;
        background:#FFFFFF !important;
        border-radius:10px !important;
    }

    .top-logo-box .company-copy{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }

    .top-logo-box .company-name{
        margin:0 !important;
        color:#FFFFFF !important;
        font-size:.75rem !important;
        line-height:1.15 !important;
        font-weight:850 !important;
        white-space:normal !important;
    }

    .top-logo-box .company-meta{
        display:none !important;
    }

    .top-logo-box .mt-2{
        margin-top:4px !important;
    }

    .top-logo-box .creci-top{
        display:inline-flex !important;
        min-height:20px !important;
        margin:0 !important;
        padding:3px 7px !important;
        border-radius:999px !important;
        font-size:.51rem !important;
        line-height:1 !important;
    }

    .navbar{
        position:relative !important;
        min-height:auto !important;
        height:auto !important;
        padding:5px 0 !important;
        margin:0 !important;
        background:#FFFFFF !important;
        border-bottom:1px solid #E2EAE5 !important;
        box-shadow:0 4px 12px rgba(19,35,27,.055) !important;
    }

    .navbar > .container{
        display:block !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-width:100% !important;
        padding-left:6px !important;
        padding-right:6px !important;
    }

    .site-main-nav{
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    /* 7 links sempre visíveis: 4 + 3 */
    .site-main-nav .navbar-nav{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:4px !important;
        margin:0 !important;
        padding:0 !important;
        list-style:none !important;
    }

    .site-main-nav .nav-item{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .site-main-nav .nav-link{
        width:100% !important;
        min-width:0 !important;
        min-height:39px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:2px !important;
        margin:0 !important;
        padding:5px 2px !important;
        border:0 !important;
        border-radius:9px !important;
        background:transparent !important;
        color:#25372D !important;
        font-size:.61rem !important;
        line-height:1.05 !important;
        font-weight:800 !important;
        text-align:center !important;
        white-space:nowrap !important;
        text-decoration:none !important;
    }

    .site-main-nav .nav-link i{
        width:auto !important;
        margin:0 !important;
        color:#596A61 !important;
        font-size:.80rem !important;
        line-height:1 !important;
    }

    .site-main-nav .nav-link:hover{
        color:#078C42 !important;
        background:#F1F8F4 !important;
    }

    .site-main-nav .nav-link.active{
        color:#078C42 !important;
        background:#E8F8EF !important;
    }

    .site-main-nav .nav-link.active i{
        color:#078C42 !important;
    }

    .hero{
        margin-top:0 !important;
    }

    .featured-slider-section{
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    .destaqueSwiper{
        padding-bottom:34px !important;
    }

    .home-listing-intro-section{
        padding-top:25px !important;
        padding-bottom:10px !important;
    }

    .luxury-listing-section,
    .home-sale-listing-section{
        padding-top:20px !important;
        padding-bottom:34px !important;
    }

    .home-request-cta{
        padding:34px 0 !important;
    }
}

@media(max-width:390px){

    .top-logo-box .container > div{
        grid-template-columns:54px minmax(0,1fr) !important;
        gap:8px !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:54px !important;
        min-width:54px !important;
    }

    .top-logo-box .logo-header{
        width:54px !important;
        height:44px !important;
        max-width:54px !important;
        max-height:44px !important;
    }

    .top-logo-box .company-name{
        font-size:.68rem !important;
    }

    .site-main-nav .navbar-nav{
        gap:3px !important;
    }

    .site-main-nav .nav-link{
        min-height:37px !important;
        padding:4px 1px !important;
        font-size:.56rem !important;
    }

    .site-main-nav .nav-link i{
        font-size:.75rem !important;
    }
}

/* =========================================================
   DESTAQUES — FALLBACK VISUAL ANTES DO SWIPER INICIALIZAR
   Evita um card ocupando a largura inteira caso o JS ainda
   esteja carregando. Quando o Swiper inicializa, estas regras
   deixam de valer automaticamente.
========================================================= */
@media(min-width:992px){
    .destaqueSwiper:not(.swiper-initialized) .swiper-wrapper{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:28px !important;
        transform:none !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide{
        width:auto !important;
        margin:0 !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide:nth-child(n+4){
        display:none !important;
    }
}

@media(min-width:768px) and (max-width:991.98px){
    .destaqueSwiper:not(.swiper-initialized) .swiper-wrapper{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:22px !important;
        transform:none !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide{
        width:auto !important;
        margin:0 !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide:nth-child(n+3){
        display:none !important;
    }
}


/* =========================================================
   HOME — DIFERENCIAIS MAIS COMPACTOS
   Imóveis Selecionados / Avaliação / Segurança / Atendimento
========================================================= */
.features{
    padding:18px 0 20px !important;
    margin-top:-28px !important;
}

.features .container{
    width:calc(100% - 30px) !important;
    max-width:1050px !important;
    padding:12px 16px !important;
    border-radius:20px !important;
    box-shadow:0 8px 22px rgba(19,35,27,.07) !important;
}

.features .row{
    --bs-gutter-x:8px !important;
    --bs-gutter-y:8px !important;
}

.features .col-6,
.features .col-md-3{
    padding:4px !important;
}

.features .feature-item{
    min-height:84px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 6px !important;
    border-radius:14px !important;
}

.features .feature-item i,
.features i{
    margin-bottom:5px !important;
    font-size:1.55rem !important;
    line-height:1 !important;
}

.features .feature-item h5,
.features h5{
    margin:0 !important;
    font-size:.86rem !important;
    line-height:1.15 !important;
    font-weight:900 !important;
}

.features .feature-item p,
.features p{
    margin:5px 0 0 !important;
    color:#7A8780 !important;
    font-size:.70rem !important;
    line-height:1.25 !important;
}

/* =========================================================
   PREÇO DOS CARDS — IGUAL AO "IMÓVEIS EM DESTAQUE"
========================================================= */
.property-card .image{
    position:relative !important;
}

.property-card .price,
.home-search-property-card .price{
    position:absolute !important;
    left:14px !important;
    bottom:14px !important;
    top:auto !important;
    right:auto !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:calc(100% - 28px) !important;
    height:auto !important;

    margin:0 !important;
    padding:8px 13px !important;

    background:rgba(255,255,255,.96) !important;
    color:#13231B !important;

    border:0 !important;
    border-radius:999px !important;

    font-size:.83rem !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.01em !important;
    white-space:nowrap !important;

    box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
    backdrop-filter:blur(8px) !important;
    z-index:5 !important;
}

/* Garante que nenhum CSS antigo volte a deixar o preço preto/quadrado */
.property-card .price *,
.home-search-property-card .price *{
    color:#13231B !important;
}

/* =========================================================
   RESPONSIVO
========================================================= */
@media(max-width:767.98px){
    .features{
        padding:14px 0 18px !important;
        margin-top:-18px !important;
    }

    .features .container{
        width:calc(100% - 24px) !important;
        padding:10px !important;
        border-radius:16px !important;
    }

    .features .feature-item{
        min-height:76px !important;
        padding:7px 4px !important;
    }

    .features .feature-item i,
    .features i{
        font-size:1.4rem !important;
    }

    .features .feature-item h5,
    .features h5{
        font-size:.76rem !important;
    }

    .features .feature-item p,
    .features p{
        font-size:.62rem !important;
    }

    .property-card .price,
    .home-search-property-card .price{
        left:11px !important;
        bottom:11px !important;
        padding:7px 11px !important;
        font-size:.76rem !important;
    }
}

@media(max-width:420px){
    .features .feature-item{
        min-height:72px !important;
    }

    .features .feature-item p,
    .features p{
        display:block !important;
        font-size:.59rem !important;
    }
}


/* =========================================================
   POLIMENTO VISUAL 04/09/2026
   Verde como identidade principal + badges vivos + menu mobile premium
========================================================= */

:root{
    --ui-green-950:#0B2A1D;
    --ui-green-900:#103B29;
    --ui-green-800:#0B5F38;
    --ui-green-700:#087A43;
    --ui-green-600:#0AA34F;
    --ui-green-500:#18B95D;
    --ui-green-soft:#E9F8EF;
    --ui-green-line:#CFE7D8;
    --ui-card-shadow:0 12px 30px rgba(12,91,56,.11);
    --ui-card-shadow-hover:0 20px 46px rgba(8,122,67,.17);

    /* badges de finalidade — mais vivos e distinguíveis */
    --badge-sale-1:#16B85B;
    --badge-sale-2:#078C42;
    --badge-rent-1:#0FB7B1;
    --badge-rent-2:#087F82;
    --badge-featured-1:#FFD34E;
    --badge-featured-2:#F59E0B;
}

/* =========================================================
   MENU DESKTOP — FUNDO VERDE, CONTRASTE MAIS FORTE
========================================================= */

body > .navbar{
    background:linear-gradient(135deg,#0B6B3C 0%,#075B34 100%) !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;
    box-shadow:0 7px 20px rgba(7,74,42,.14) !important;
    padding:7px 0 !important;
}

body > .navbar .site-main-nav .nav-link{
    color:rgba(255,255,255,.92) !important;
    border-radius:10px !important;
    padding:9px 13px !important;
    font-weight:750 !important;
    transition:background-color .18s ease,color .18s ease,transform .18s ease !important;
}

body > .navbar .site-main-nav .nav-link i{
    color:#BFF4D1 !important;
}

body > .navbar .site-main-nav .nav-link:hover,
body > .navbar .site-main-nav .nav-link:focus-visible{
    background:rgba(255,255,255,.12) !important;
    color:#FFFFFF !important;
    transform:translateY(-1px);
}

body > .navbar .site-main-nav .nav-link:hover i,
body > .navbar .site-main-nav .nav-link:focus-visible i{
    color:#FFFFFF !important;
}

body > .navbar .site-main-nav .nav-link.active{
    background:#FFFFFF !important;
    color:#07683B !important;
    box-shadow:0 5px 14px rgba(5,57,32,.18) !important;
}

body > .navbar .site-main-nav .nav-link.active i{
    color:#0AA34F !important;
}

/* =========================================================
   CARDS DE IMÓVEIS — REMOVE SOMBRA MARROM/BEGE
========================================================= */

.property-card,
.featured-card,
.more-property-card,
.listing-page-vintage .property-card,
.listing-page-vintage .card-imovel{
    border-color:var(--ui-green-line) !important;
    box-shadow:var(--ui-card-shadow) !important;
}

.property-card:hover,
.featured-card:hover,
.more-property-card:hover,
.listing-page-vintage .property-card:hover,
.listing-page-vintage .card-imovel:hover{
    border-color:#B9DDC8 !important;
    box-shadow:var(--ui-card-shadow-hover) !important;
}

/* mantém os fundos claros com um viés frio/esverdeado, nunca bege */
.property-card .details,
.more-property-card .details{
    border-color:#E0ECE5 !important;
}

/* =========================================================
   BADGES — DESTAQUE / VENDA / LOCAÇÃO
========================================================= */

.property-card .property-tag,
.badge-finalidade,
.badge-finalidade-venda,
.badge-finalidade-locacao{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:30px !important;
    padding:7px 12px !important;
    border:1px solid rgba(255,255,255,.50) !important;
    border-radius:999px !important;
    color:#FFFFFF !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
    text-shadow:0 1px 2px rgba(0,0,0,.14) !important;
    box-shadow:0 7px 18px rgba(15,23,42,.16) !important;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.property-card .property-tag--venda,
.badge-finalidade-venda{
    background:linear-gradient(135deg,var(--badge-sale-1),var(--badge-sale-2)) !important;
}

.property-card .property-tag--locacao,
.badge-finalidade-locacao{
    background:linear-gradient(135deg,var(--badge-rent-1),var(--badge-rent-2)) !important;
}

.property-card .property-tag--outro,
.property-card .property-tag:not(.property-tag--venda):not(.property-tag--locacao){
    background:linear-gradient(135deg,#16B85B,#0A7F48) !important;
}

/* "Destaque" ganha cor própria e aparece no canto oposto da finalidade */
.property-featured-badge,
.featured-tag,
.badge-destaque,
.banner-badge-destaque{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    background:linear-gradient(135deg,var(--badge-featured-1),var(--badge-featured-2)) !important;
    color:#3B2B05 !important;
    border:1px solid rgba(255,255,255,.66) !important;
    border-radius:999px !important;
    padding:7px 12px !important;
    font-size:.69rem !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    text-shadow:none !important;
    box-shadow:0 8px 20px rgba(176,112,0,.24) !important;
}

.property-featured-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:4;
}

.featured-tag i,
.property-featured-badge i{
    font-size:.72rem !important;
}

/* finalidade sempre do lado direito */
.property-card .property-tag{
    top:16px !important;
    right:16px !important;
    left:auto !important;
    z-index:4 !important;
}

/* =========================================================
   MENU MOBILE — 4 ITENS + 3 ITENS, VISUAL DE APP
========================================================= */

@media(max-width:767.98px){
    body > .navbar{
        position:sticky !important;
        top:0 !important;
        z-index:1040 !important;
        padding:8px 7px 9px !important;
        background:
            radial-gradient(circle at 88% 0%, rgba(48,214,115,.18), transparent 34%),
            linear-gradient(145deg,#0B5F38 0%,#074E2E 100%) !important;
        border-bottom:1px solid rgba(255,255,255,.13) !important;
        box-shadow:0 8px 24px rgba(5,56,32,.22) !important;
    }

    body > .navbar > .container{
        padding:0 !important;
    }

    body > .navbar .site-main-nav{
        width:100% !important;
        padding:0 !important;
    }

    /* 12 colunas: primeira linha 4x3; segunda linha 3x4 */
    body > .navbar .site-main-nav .navbar-nav{
        display:grid !important;
        grid-template-columns:repeat(12,minmax(0,1fr)) !important;
        gap:6px !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    body > .navbar .site-main-nav .nav-item{
        width:auto !important;
        min-width:0 !important;
        grid-column:span 3;
    }

    body > .navbar .site-main-nav .nav-item:nth-child(n+5){
        grid-column:span 4;
    }

    body > .navbar .site-main-nav .nav-link{
        width:100% !important;
        min-height:57px !important;
        padding:6px 3px 7px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:4px !important;
        border:1px solid rgba(255,255,255,.10) !important;
        border-radius:11px !important;
        background:rgba(255,255,255,.065) !important;
        color:rgba(255,255,255,.93) !important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
        font-size:.63rem !important;
        line-height:1.05 !important;
        font-weight:800 !important;
        white-space:nowrap !important;
        transform:none !important;
    }

    body > .navbar .site-main-nav .nav-link i{
        width:28px !important;
        height:28px !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:9px !important;
        background:rgba(255,255,255,.10) !important;
        color:#C9F6D9 !important;
        font-size:.91rem !important;
        line-height:1 !important;
        transition:background-color .18s ease,color .18s ease !important;
    }

    body > .navbar .site-main-nav .nav-link:hover,
    body > .navbar .site-main-nav .nav-link:focus-visible{
        background:rgba(255,255,255,.13) !important;
        border-color:rgba(255,255,255,.18) !important;
        color:#FFFFFF !important;
    }

    body > .navbar .site-main-nav .nav-link.active{
        background:#F4FFF8 !important;
        border-color:#D8F5E2 !important;
        color:#086A3C !important;
        box-shadow:0 5px 14px rgba(4,44,25,.18) !important;
    }

    body > .navbar .site-main-nav .nav-link.active i{
        background:#0AA34F !important;
        color:#FFFFFF !important;
        box-shadow:0 4px 10px rgba(10,163,79,.24) !important;
    }
}

@media(max-width:390px){
    body > .navbar{
        padding-left:5px !important;
        padding-right:5px !important;
    }

    body > .navbar .site-main-nav .navbar-nav{
        gap:4px !important;
    }

    body > .navbar .site-main-nav .nav-link{
        min-height:54px !important;
        font-size:.59rem !important;
        border-radius:9px !important;
    }

    body > .navbar .site-main-nav .nav-link i{
        width:26px !important;
        height:26px !important;
        font-size:.84rem !important;
    }
}

/* =========================================================
   AJUSTE 04/09/2026 — LINHAS DO MENU + FIM DA PÁGINA
   Regras finais para garantir separadores de 1px e impedir
   qualquer faixa clara após o rodapé na página de detalhes.
========================================================= */

/* Linha superior do menu: exatamente 1px verde. */
body > .top-logo-box{
    border-bottom:1px solid #0AA34F !important;
}

/* Menu com uma linha verde de 1px também na parte inferior. */
body > .navbar{
    border-top:0 !important;
    border-bottom:1px solid #0AA34F !important;
    box-shadow:none !important;
}

/* Mantém as mesmas linhas de 1px também no menu mobile. */
@media(max-width:991.98px){
    body > .top-logo-box{
        border-bottom:1px solid #0AA34F !important;
    }

    body > .navbar{
        border-top:0 !important;
        border-bottom:1px solid #0AA34F !important;
        box-shadow:none !important;
    }
}

/* ---------- origem consolidada: responsivo-fix.css ---------- */
/* =========================================================
   SYSIMOBIL — CORREÇÃO RESPONSIVA GLOBAL
   Carregar por último, depois de layout-novo.css,
   ajustes-finais.css e CSS específico da página.
========================================================= */

html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

img,
svg,
video,
canvas{
    max-width:100%;
}

.site-modern-main,
main,
section,
.container,
.container-fluid{
    min-width:0;
}

.row > *{
    min-width:0;
}

/* Evita textos e URLs estourando cards */
.property-card,
.featured-card,
.anunciar-card,
.empresa-page,
.property-wrapper,
.footer-modern{
    overflow-wrap:anywhere;
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:991.98px){

    .container{
        max-width:100% !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }

    /* HEADER */
    .top-logo-box{
        padding:12px 0 !important;
    }

    .top-logo-box .container > div{
        width:100%;
        justify-content:center !important;
    }

    .top-logo-box .logo-header{
        max-width:120px !important;
        max-height:76px !important;
        width:auto !important;
        height:auto !important;
    }

    .top-logo-box .company-copy{
        max-width:min(520px,70vw) !important;
    }

    .navbar{
        min-height:58px;
    }

    .navbar .container{
        position:relative;
    }

    .navbar-toggler{
        margin-left:auto;
        border:1px solid rgba(19,35,27,.16) !important;
        border-radius:10px !important;
        box-shadow:none !important;
    }

    .navbar-collapse{
        position:absolute;
        top:calc(100% + 8px);
        left:20px;
        right:20px;
        z-index:1050;
        padding:12px;
        border:1px solid #DCE7E1;
        border-radius:16px;
        background:#FFFFFF;
        box-shadow:0 16px 34px rgba(19,35,27,.14);
    }

    .navbar-nav{
        width:100%;
        align-items:stretch !important;
        gap:4px;
    }

    .navbar .nav-item{
        width:100%;
    }

    .navbar .nav-link{
        width:100%;
        display:flex !important;
        align-items:center;
        min-height:42px;
        padding:9px 12px !important;
        border-radius:10px;
    }

    /* HERO */
    .hero{
        min-height:auto !important;
    }

    .hero-content{
        width:100%;
    }

    .hero h1{
        max-width:780px !important;
    }

    .hero .search-box{
        width:100% !important;
        max-width:none !important;
    }

    .hero-search-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    /* SEÇÕES */
    .section-heading-row{
        align-items:flex-start !important;
    }

    /* CARDS */
    .property-card .image,
    .home-search-property-image{
        min-height:220px !important;
        height:220px !important;
    }

    .featured-card .featured-image{
        min-height:235px !important;
        height:235px !important;
    }

    .property-card .details{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }

    /* EMPRESA */
    .empresa-grid,
    .empresa-premium-intro{
        grid-template-columns:1fr !important;
    }

    /* IMÓVEL */
    .property-wrapper .row{
        --bs-gutter-x:18px;
    }

    /* FOOTER */
    .footer-modern .footer-panel{
        padding:26px !important;
    }
}

/* =========================================================
   CELULAR
========================================================= */
@media(max-width:767.98px){

    html{
        font-size:15px;
    }

    body{
        min-width:320px;
    }

    .container,
    .container-fluid{
        width:100% !important;
        max-width:100% !important;
        padding-left:15px !important;
        padding-right:15px !important;
    }

    section{
        max-width:100%;
    }

    /* HEADER SUPERIOR */
    .top-logo-box{
        padding:9px 0 !important;
    }

    .top-logo-box .container > div{
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        justify-content:flex-start !important;
        align-items:center !important;
        gap:10px !important;
        text-align:left !important;
    }

    .top-logo-box .logo-header{
        flex:0 0 auto;
        width:auto !important;
        max-width:86px !important;
        max-height:58px !important;
        border-radius:10px;
    }

    .top-logo-box .company-copy{
        display:block !important;
        flex:1 1 auto;
        min-width:0;
        max-width:none !important;
    }

    .top-logo-box .company-name{
        font-size:.78rem !important;
        line-height:1.18;
        white-space:normal;
    }

    .top-logo-box .company-meta{
        margin-top:2px;
        font-size:.62rem !important;
        line-height:1.25;
    }

    .creci-top{
        display:inline-flex;
        margin-top:1px;
        padding:4px 7px !important;
        font-size:.55rem !important;
    }

    /* MENU */
    .navbar{
        padding:8px 0 !important;
    }

    .navbar-brand-mobile{
        display:block !important;
        max-width:70%;
        overflow:hidden;
        color:#13231B !important;
        font-size:.86rem;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .navbar-collapse{
        left:15px !important;
        right:15px !important;
    }

    /* HERO */
    .hero{
        padding:48px 0 38px !important;
        min-height:auto !important;
        background-position:center center !important;
    }

    .hero-content{
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    .hero-note{
        max-width:100%;
        white-space:normal;
        font-size:.66rem !important;
    }

    .hero h1{
        max-width:100% !important;
        margin:15px 0 12px !important;
        font-size:clamp(2.1rem,11vw,3rem) !important;
        line-height:.98 !important;
        letter-spacing:-.055em !important;
    }

    .hero p{
        max-width:100% !important;
        font-size:.88rem !important;
        line-height:1.55 !important;
    }

    .hero .search-box{
        margin-top:20px !important;
        padding:14px !important;
        border-radius:18px !important;
    }

    .hero-search-grid{
        grid-template-columns:1fr !important;
        gap:9px !important;
    }

    .hero-search-grid .form-control,
    .hero-search-grid .form-select{
        width:100% !important;
        min-height:46px !important;
    }

    .hero-search-grid .search-action,
    .hero-search-grid .btn{
        width:100% !important;
        min-width:0 !important;
    }

    /* FEATURES */
    .features{
        padding:26px 0 !important;
    }

    .features .row{
        --bs-gutter-x:10px;
        --bs-gutter-y:10px;
    }

    .feature-item{
        padding:14px 8px !important;
    }

    .feature-item h5{
        font-size:.78rem !important;
    }

    .feature-item p{
        font-size:.68rem !important;
        line-height:1.4;
    }

    /* TÍTULOS */
    .section-header,
    .section-heading-row,
    .topo{
        text-align:left !important;
    }

    .section-heading-row{
        flex-direction:column !important;
        gap:12px !important;
    }

    .section-heading-row .btn{
        width:100% !important;
    }

    .section-header h2,
    .section-header h3,
    .topo h1,
    .topo h2{
        font-size:1.65rem !important;
        line-height:1.1 !important;
    }

    /* LISTAGEM / CARDS */
    .row.g-4{
        --bs-gutter-x:14px;
        --bs-gutter-y:14px;
    }

    .property-card,
    .featured-card,
    .home-search-property-card{
        width:100% !important;
        max-width:100% !important;
        border-radius:18px !important;
    }

    .property-card .image,
    .home-search-property-image,
    .featured-card .featured-image{
        width:100% !important;
        height:215px !important;
        min-height:215px !important;
    }

    .property-card .image img,
    .home-search-property-image img,
    .featured-card .featured-image img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
    }

    .property-card .content,
    .featured-card .featured-content,
    .home-search-property-body{
        padding:14px !important;
    }

    .property-card h3,
    .featured-card h3,
    .home-search-property-title{
        min-height:0 !important;
        font-size:.94rem !important;
        line-height:1.3 !important;
    }

    .property-card .location,
    .featured-location,
    .home-search-property-location{
        font-size:.72rem !important;
    }

    .property-card .details,
    .featured-details,
    .home-search-property-details{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        min-height:0 !important;
        gap:7px !important;
    }

    .property-card .detail-item,
    .featured-details span,
    .home-search-property-detail{
        min-width:0;
    }

    .property-card .price,
    .featured-price,
    .home-search-property-price{
        font-size:.82rem !important;
    }

    .property-card .btn,
    .featured-card .btn,
    .home-search-property-button{
        width:100% !important;
        min-height:42px !important;
    }

    /* SWIPER */
    .featured-slider-section{
        overflow:hidden;
    }

    .destaqueSwiper{
        width:100%;
        overflow:visible;
    }

    .swiper-button-next,
    .swiper-button-prev{
        display:none !important;
    }

    /* PAGINAÇÃO */
    .pagination{
        flex-wrap:wrap;
        justify-content:center;
    }

    .pagination .page-link{
        min-width:38px !important;
        height:38px !important;
    }

    /* FORMULÁRIOS */
    .anunciar-card{
        width:100% !important;
        max-width:100% !important;
        padding:20px 16px !important;
        border-radius:20px !important;
    }

    .anunciar-card .row{
        --bs-gutter-x:0;
        --bs-gutter-y:13px;
    }

    .anunciar-card [class*="col-"]{
        width:100% !important;
        flex:0 0 100% !important;
        max-width:100% !important;
    }

    .anunciar-card .form-control,
    .anunciar-card .form-select,
    .anunciar-card textarea{
        width:100% !important;
        max-width:100% !important;
        font-size:16px !important; /* evita zoom automático no iPhone */
    }

    /* EMPRESA */
    .empresa-hero-interno,
    .empresa-premium-hero{
        min-height:auto !important;
        padding:48px 0 !important;
    }

    .empresa-hero-copy h1,
    .empresa-premium-hero h1{
        font-size:2.25rem !important;
        line-height:1.02 !important;
    }

    .empresa-grid,
    .empresa-premium-intro,
    .empresa-premium-resource-grid,
    .empresa-premium-info-grid{
        grid-template-columns:1fr !important;
    }

    .empresa-foto-frame,
    .empresa-premium-photo{
        min-height:270px !important;
        max-height:320px !important;
    }

    .empresa-foto-frame img,
    .empresa-premium-photo img{
        width:100% !important;
        height:100% !important;
        min-height:270px !important;
        max-height:320px !important;
        object-fit:cover !important;
    }

    /* DETALHE DO IMÓVEL */
    .property-wrapper{
        padding:26px 0 46px !important;
    }

    .property-wrapper > .container > .property-title-main{
        font-size:1.75rem !important;
        line-height:1.1 !important;
    }

    .property-wrapper .carousel{
        border-radius:18px !important;
    }

    .property-wrapper .carousel-item img{
        width:100% !important;
        height:260px !important;
        object-fit:cover !important;
    }

    .property-wrapper .card{
        padding:18px !important;
        border-radius:18px !important;
    }

    .property-wrapper .property-map{
        min-height:300px !important;
    }

    .property-wrapper .share-buttons{
        display:grid !important;
        grid-template-columns:1fr 1fr;
    }

    .property-wrapper .btn-share{
        width:100% !important;
    }

    /* CTA */
    .empresa-cta-box,
    .empresa-premium-cta-box,
    .empresa-premium-band-box{
        grid-template-columns:1fr !important;
    }

    .empresa-cta-actions,
    .empresa-premium-cta-actions{
        width:100%;
    }

    /* FOOTER */
    .footer-modern{
        padding:42px 0 22px !important;
    }

    .footer-modern .footer-panel{
        padding:20px 18px !important;
        border-radius:20px !important;
    }

    .footer-modern .row{
        --bs-gutter-y:24px;
    }

    .footer-modern .col-6{
        width:100% !important;
        flex:0 0 100% !important;
        max-width:100% !important;
    }

    .footer-modern .footer-logo{
        max-width:115px !important;
        max-height:68px !important;
    }

    .footer-modern .footer-nav,
    .footer-modern .footer-contact{
        gap:7px !important;
    }

    .footer-modern .footer-bottom{
        margin-top:20px !important;
        font-size:.64rem !important;
    }

    /* WHATSAPP */
    .whatsapp{
        right:14px !important;
        bottom:14px !important;
        width:54px !important;
        height:54px !important;
        font-size:24px !important;
    }
}

/* =========================================================
   CELULARES PEQUENOS
========================================================= */
@media(max-width:420px){

    .container,
    .container-fluid{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .top-logo-box .logo-header{
        max-width:74px !important;
        max-height:52px !important;
    }

    .top-logo-box .company-name{
        font-size:.71rem !important;
    }

    .top-logo-box .company-meta{
        font-size:.57rem !important;
    }

    .navbar-collapse{
        left:12px !important;
        right:12px !important;
    }

    .hero{
        padding-top:38px !important;
    }

    .hero h1{
        font-size:2.08rem !important;
    }

    .feature-item p{
        display:none;
    }

    .property-card .image,
    .home-search-property-image,
    .featured-card .featured-image{
        height:195px !important;
        min-height:195px !important;
    }

    .property-card .details,
    .featured-details,
    .home-search-property-details{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .property-wrapper .carousel-item img{
        height:230px !important;
    }

    .property-wrapper .share-buttons{
        grid-template-columns:1fr !important;
    }
}


/* =========================================================
   HEADER + MENU MOBILE — CORREÇÃO FINAL
========================================================= */
@media(max-width:767.98px){

    .top-logo-box{
        padding:8px 0 !important;
        min-height:auto !important;
    }

    .top-logo-box .container{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .top-logo-box .container > div{
        display:grid !important;
        grid-template-columns:82px minmax(0,1fr) !important;
        gap:12px !important;
        align-items:center !important;
        text-align:left !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:82px !important;
        min-width:82px !important;
    }

    .top-logo-box .logo-header{
        width:82px !important;
        height:62px !important;
        max-width:82px !important;
        max-height:62px !important;
        object-fit:contain !important;
        padding:3px !important;
        background:#fff !important;
        border-radius:12px !important;
    }

    .top-logo-box .company-copy{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }

    .top-logo-box .company-name{
        margin:0 !important;
        color:#fff !important;
        font-size:.85rem !important;
        line-height:1.18 !important;
        font-weight:850 !important;
        white-space:normal !important;
    }

    .top-logo-box .company-meta{
        margin-top:3px !important;
        color:rgba(255,255,255,.68) !important;
        font-size:.64rem !important;
        line-height:1.25 !important;
    }

    .top-logo-box .mt-2{
        margin-top:5px !important;
    }

    .top-logo-box .creci-top{
        min-height:24px !important;
        margin:0 !important;
        padding:4px 8px !important;
        border-radius:999px !important;
        font-size:.57rem !important;
        line-height:1 !important;
    }

    .navbar{
        min-height:52px !important;
        padding:5px 0 !important;
        background:#fff !important;
        border-bottom:1px solid #E4EBE7 !important;
        box-shadow:0 5px 14px rgba(19,35,27,.06) !important;
    }

    .navbar .container{
        min-height:42px !important;
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .navbar-brand-mobile{
        display:inline-flex !important;
        align-items:center !important;
        gap:3px !important;
        width:auto !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        color:#13231B !important;
        font-size:.85rem !important;
        line-height:1 !important;
        font-weight:850 !important;
        white-space:nowrap !important;
    }

    .navbar-brand-mobile i{
        color:#078C42 !important;
        font-size:1rem !important;
    }

    .navbar-toggler{
        position:static !important;
        flex:0 0 46px !important;
        width:46px !important;
        height:40px !important;
        margin:0 0 0 auto !important;
        padding:6px 8px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border:1px solid #D5E2DA !important;
        border-radius:10px !important;
        background:#F8FBF9 !important;
        box-shadow:none !important;
    }

    .navbar-toggler:focus{
        border-color:#0AA34F !important;
        box-shadow:0 0 0 3px rgba(10,163,79,.10) !important;
    }

    .navbar-toggler-icon{
        width:23px !important;
        height:23px !important;
        background-size:23px 23px !important;
    }

    .navbar-collapse{
        position:absolute !important;
        top:calc(100% + 6px) !important;
        left:14px !important;
        right:14px !important;
        z-index:1100 !important;
        width:auto !important;
        margin:0 !important;
        padding:10px !important;
        border:1px solid #DCE7E1 !important;
        border-radius:14px !important;
        background:#fff !important;
        box-shadow:0 18px 36px rgba(19,35,27,.16) !important;
    }

    .navbar-collapse:not(.show){
        display:none !important;
    }

    .navbar-collapse.show{
        display:block !important;
    }

    .navbar-nav{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        gap:3px !important;
    }

    .navbar .nav-item{
        width:100% !important;
        margin:0 !important;
    }

    .navbar .nav-link{
        width:100% !important;
        min-height:42px !important;
        display:flex !important;
        align-items:center !important;
        gap:7px !important;
        margin:0 !important;
        padding:9px 11px !important;
        border-radius:9px !important;
        color:#24352C !important;
        font-size:.80rem !important;
        font-weight:750 !important;
    }

    .navbar .nav-link i{
        width:18px !important;
        color:#5B6D63 !important;
        text-align:center !important;
    }

    .navbar .nav-link:hover{
        background:#F1F8F4 !important;
        color:#078C42 !important;
    }

    .navbar .nav-link.active{
        background:#E8F8EF !important;
        color:#078C42 !important;
    }

    .navbar .nav-link.active i{
        color:#078C42 !important;
    }

    .hero{
        margin-top:0 !important;
    }
}

@media(max-width:420px){
    .top-logo-box .container > div{
        grid-template-columns:72px minmax(0,1fr) !important;
        gap:10px !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:72px !important;
        min-width:72px !important;
    }

    .top-logo-box .logo-header{
        width:72px !important;
        height:55px !important;
        max-width:72px !important;
        max-height:55px !important;
    }

    .top-logo-box .company-name{
        font-size:.78rem !important;
    }

    .top-logo-box .company-meta{
        font-size:.59rem !important;
    }

    .navbar-collapse{
        left:12px !important;
        right:12px !important;
    }
}

/* ---------- origem consolidada: ajustes-layout-final.css ---------- */
/* =========================================================
   SYSIMOBIL — AJUSTES FINAIS 03/09/2026
   Carregado por último.
========================================================= */

:root{
    --final-dark:#13231B;
    --final-green:#0AA34F;
    --final-green-dark:#078C42;
    --final-green-soft:#EAF7EF;
    --final-surface:#FFFFFF;
    --final-bg:#F5F8F6;
    --final-line:#DCE7E1;
    --final-muted:#64748B;
}

/* =========================================================
   HOME — MENOS ESPAÇO ENTRE AS SEÇÕES
========================================================= */

/* Aproxima "Seleção especial / Imóveis em destaque"
   do bloco de benefícios que fica logo acima. */
.featured-slider-section{
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.featured-slider-section .section-header{
    margin-bottom:12px !important;
}

.destaqueSwiper{
    padding-top:10px !important;
    padding-bottom:42px !important;
}

/* Aproxima "Seleção de oportunidades / Encontre seu próximo imóvel"
   da seção de destaques. */
.home-listing-intro-section{
    padding-top:34px !important;
    padding-bottom:14px !important;
}

.featured-slider-section + .home-listing-intro-section{
    padding-top:28px !important;
}

/* Listagens da home um pouco mais compactas. */
.luxury-listing-section,
.home-sale-listing-section{
    padding-top:26px !important;
    padding-bottom:46px !important;
}

/* =========================================================
   CTA "NÃO ENCONTROU" — REMOVE BEGE / MARROM
========================================================= */
.home-request-cta{
    padding:48px 0 !important;
    background:
        radial-gradient(circle at 88% 15%, rgba(10,163,79,.06), transparent 27%),
        #EEF5F1 !important;
}

.home-request-box{
    background:#FFFFFF !important;
    border:1px solid #D8E7DF !important;
    box-shadow:0 12px 30px rgba(19,35,27,.07) !important;
}

.home-request-copy .luxury-section-eyebrow{
    color:var(--final-green-dark) !important;
}

.home-request-copy h2{
    color:var(--final-dark) !important;
}

.home-request-copy p{
    color:var(--final-muted) !important;
}

/* =========================================================
   PAGINAÇÃO — HOME + VENDAS/LOCAÇÃO
========================================================= */
.home-section-pagination,
.listing-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:22px;
}

.home-section-pagination-info,
.listing-pagination-info{
    color:#718078;
    font-size:.76rem;
}

.home-section-pagination .pagination,
.listing-pagination .pagination{
    margin:0;
    gap:5px;
    flex-wrap:wrap;
}

.home-section-pagination .page-link,
.listing-pagination .page-link{
    min-width:36px !important;
    height:36px !important;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px !important;
    border:1px solid #D7E4DC !important;
    border-radius:8px !important;
    background:#FFFFFF !important;
    color:#415248 !important;
    font-size:.75rem;
    font-weight:800;
    box-shadow:none !important;
}

.home-section-pagination .page-link:hover,
.listing-pagination .page-link:hover{
    border-color:var(--final-green) !important;
    background:#F0FAF4 !important;
    color:var(--final-green-dark) !important;
}

.home-section-pagination .page-item.active .page-link,
.listing-pagination .page-item.active .page-link{
    border-color:var(--final-green) !important;
    background:var(--final-green) !important;
    color:#FFFFFF !important;
}

.home-section-pagination .page-item.disabled .page-link,
.listing-pagination .page-item.disabled .page-link{
    opacity:.45;
}

/* =========================================================
   MENU RESPONSIVO — DEFINITIVO, SEM HAMBÚRGUER / COLLAPSE
========================================================= */

.site-main-nav{
    display:flex;
    flex:1 1 auto;
    align-items:center;
    justify-content:center;
    min-width:0;
}

.site-main-nav .navbar-nav{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin:0;
    padding:0;
}

/* Se houver HTML antigo em cache, esses controles nunca aparecem. */
.header-mobile-menu-btn,
.navbar-brand-mobile,
.navbar-toggler{
    display:none !important;
}

@media(max-width:767.98px){

    .top-logo-box{
        padding:7px 0 !important;
        min-height:66px !important;
    }

    .top-logo-box .container{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .top-logo-box .container > div{
        display:grid !important;
        grid-template-columns:60px minmax(0,1fr) !important;
        gap:10px !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:left !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:60px !important;
        min-width:60px !important;
    }

    .top-logo-box .logo-header{
        width:60px !important;
        height:48px !important;
        max-width:60px !important;
        max-height:48px !important;
        padding:3px !important;
        object-fit:contain !important;
        background:#FFFFFF !important;
        border-radius:10px !important;
    }

    .top-logo-box .company-copy{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }

    .top-logo-box .company-name{
        margin:0 !important;
        color:#FFFFFF !important;
        font-size:.75rem !important;
        line-height:1.15 !important;
        font-weight:850 !important;
        white-space:normal !important;
    }

    .top-logo-box .company-meta{
        display:none !important;
    }

    .top-logo-box .mt-2{
        margin-top:4px !important;
    }

    .top-logo-box .creci-top{
        display:inline-flex !important;
        min-height:20px !important;
        margin:0 !important;
        padding:3px 7px !important;
        border-radius:999px !important;
        font-size:.51rem !important;
        line-height:1 !important;
    }

    .navbar{
        position:relative !important;
        min-height:auto !important;
        height:auto !important;
        padding:5px 0 !important;
        margin:0 !important;
        background:#FFFFFF !important;
        border-bottom:1px solid #E2EAE5 !important;
        box-shadow:0 4px 12px rgba(19,35,27,.055) !important;
    }

    .navbar > .container{
        display:block !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-width:100% !important;
        padding-left:6px !important;
        padding-right:6px !important;
    }

    .site-main-nav{
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    /* 7 links sempre visíveis: 4 + 3 */
    .site-main-nav .navbar-nav{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:4px !important;
        margin:0 !important;
        padding:0 !important;
        list-style:none !important;
    }

    .site-main-nav .nav-item{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .site-main-nav .nav-link{
        width:100% !important;
        min-width:0 !important;
        min-height:39px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:2px !important;
        margin:0 !important;
        padding:5px 2px !important;
        border:0 !important;
        border-radius:9px !important;
        background:transparent !important;
        color:#25372D !important;
        font-size:.61rem !important;
        line-height:1.05 !important;
        font-weight:800 !important;
        text-align:center !important;
        white-space:nowrap !important;
        text-decoration:none !important;
    }

    .site-main-nav .nav-link i{
        width:auto !important;
        margin:0 !important;
        color:#596A61 !important;
        font-size:.80rem !important;
        line-height:1 !important;
    }

    .site-main-nav .nav-link:hover{
        color:#078C42 !important;
        background:#F1F8F4 !important;
    }

    .site-main-nav .nav-link.active{
        color:#078C42 !important;
        background:#E8F8EF !important;
    }

    .site-main-nav .nav-link.active i{
        color:#078C42 !important;
    }

    .hero{
        margin-top:0 !important;
    }

    .featured-slider-section{
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    .destaqueSwiper{
        padding-bottom:34px !important;
    }

    .home-listing-intro-section{
        padding-top:25px !important;
        padding-bottom:10px !important;
    }

    .luxury-listing-section,
    .home-sale-listing-section{
        padding-top:20px !important;
        padding-bottom:34px !important;
    }

    .home-request-cta{
        padding:34px 0 !important;
    }
}

@media(max-width:390px){

    .top-logo-box .container > div{
        grid-template-columns:54px minmax(0,1fr) !important;
        gap:8px !important;
    }

    .top-logo-box .container > div > div:first-child{
        width:54px !important;
        min-width:54px !important;
    }

    .top-logo-box .logo-header{
        width:54px !important;
        height:44px !important;
        max-width:54px !important;
        max-height:44px !important;
    }

    .top-logo-box .company-name{
        font-size:.68rem !important;
    }

    .site-main-nav .navbar-nav{
        gap:3px !important;
    }

    .site-main-nav .nav-link{
        min-height:37px !important;
        padding:4px 1px !important;
        font-size:.56rem !important;
    }

    .site-main-nav .nav-link i{
        font-size:.75rem !important;
    }
}

/* =========================================================
   DESTAQUES — FALLBACK VISUAL ANTES DO SWIPER INICIALIZAR
   Evita um card ocupando a largura inteira caso o JS ainda
   esteja carregando. Quando o Swiper inicializa, estas regras
   deixam de valer automaticamente.
========================================================= */
@media(min-width:992px){
    .destaqueSwiper:not(.swiper-initialized) .swiper-wrapper{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:28px !important;
        transform:none !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide{
        width:auto !important;
        margin:0 !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide:nth-child(n+4){
        display:none !important;
    }
}

@media(min-width:768px) and (max-width:991.98px){
    .destaqueSwiper:not(.swiper-initialized) .swiper-wrapper{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:22px !important;
        transform:none !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide{
        width:auto !important;
        margin:0 !important;
    }

    .destaqueSwiper:not(.swiper-initialized) .swiper-slide:nth-child(n+3){
        display:none !important;
    }
}


/* =========================================================
   HOME — DIFERENCIAIS MAIS COMPACTOS
   Imóveis Selecionados / Avaliação / Segurança / Atendimento
========================================================= */
.features{
    padding:18px 0 20px !important;
    margin-top:-28px !important;
}

.features .container{
    width:calc(100% - 30px) !important;
    max-width:1050px !important;
    padding:12px 16px !important;
    border-radius:20px !important;
    box-shadow:0 8px 22px rgba(19,35,27,.07) !important;
}

.features .row{
    --bs-gutter-x:8px !important;
    --bs-gutter-y:8px !important;
}

.features .col-6,
.features .col-md-3{
    padding:4px !important;
}

.features .feature-item{
    min-height:84px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 6px !important;
    border-radius:14px !important;
}

.features .feature-item i,
.features i{
    margin-bottom:5px !important;
    font-size:1.55rem !important;
    line-height:1 !important;
}

.features .feature-item h5,
.features h5{
    margin:0 !important;
    font-size:.86rem !important;
    line-height:1.15 !important;
    font-weight:900 !important;
}

.features .feature-item p,
.features p{
    margin:5px 0 0 !important;
    color:#7A8780 !important;
    font-size:.70rem !important;
    line-height:1.25 !important;
}

/* =========================================================
   PREÇO DOS CARDS — IGUAL AO "IMÓVEIS EM DESTAQUE"
========================================================= */
.property-card .image{
    position:relative !important;
}

.property-card .price,
.home-search-property-card .price{
    position:absolute !important;
    left:14px !important;
    bottom:14px !important;
    top:auto !important;
    right:auto !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:calc(100% - 28px) !important;
    height:auto !important;

    margin:0 !important;
    padding:8px 13px !important;

    background:rgba(255,255,255,.96) !important;
    color:#13231B !important;

    border:0 !important;
    border-radius:999px !important;

    font-size:.83rem !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.01em !important;
    white-space:nowrap !important;

    box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
    backdrop-filter:blur(8px) !important;
    z-index:5 !important;
}

/* Garante que nenhum CSS antigo volte a deixar o preço preto/quadrado */
.property-card .price *,
.home-search-property-card .price *{
    color:#13231B !important;
}

/* =========================================================
   RESPONSIVO
========================================================= */
@media(max-width:767.98px){
    .features{
        padding:14px 0 18px !important;
        margin-top:-18px !important;
    }

    .features .container{
        width:calc(100% - 24px) !important;
        padding:10px !important;
        border-radius:16px !important;
    }

    .features .feature-item{
        min-height:76px !important;
        padding:7px 4px !important;
    }

    .features .feature-item i,
    .features i{
        font-size:1.4rem !important;
    }

    .features .feature-item h5,
    .features h5{
        font-size:.76rem !important;
    }

    .features .feature-item p,
    .features p{
        font-size:.62rem !important;
    }

    .property-card .price,
    .home-search-property-card .price{
        left:11px !important;
        bottom:11px !important;
        padding:7px 11px !important;
        font-size:.76rem !important;
    }
}

@media(max-width:420px){
    .features .feature-item{
        min-height:72px !important;
    }

    .features .feature-item p,
    .features p{
        display:block !important;
        font-size:.59rem !important;
    }
}


/* =========================================================
   POLIMENTO VISUAL 04/09/2026
   Verde como identidade principal + badges vivos + menu mobile premium
========================================================= */

:root{
    --ui-green-950:#0B2A1D;
    --ui-green-900:#103B29;
    --ui-green-800:#0B5F38;
    --ui-green-700:#087A43;
    --ui-green-600:#0AA34F;
    --ui-green-500:#18B95D;
    --ui-green-soft:#E9F8EF;
    --ui-green-line:#CFE7D8;
    --ui-card-shadow:0 12px 30px rgba(12,91,56,.11);
    --ui-card-shadow-hover:0 20px 46px rgba(8,122,67,.17);

    /* badges de finalidade — mais vivos e distinguíveis */
    --badge-sale-1:#16B85B;
    --badge-sale-2:#078C42;
    --badge-rent-1:#0FB7B1;
    --badge-rent-2:#087F82;
    --badge-featured-1:#FFD34E;
    --badge-featured-2:#F59E0B;
}

/* =========================================================
   MENU DESKTOP — FUNDO VERDE, CONTRASTE MAIS FORTE
========================================================= */

body > .navbar{
    background:linear-gradient(135deg,#0B6B3C 0%,#075B34 100%) !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;
    box-shadow:0 7px 20px rgba(7,74,42,.14) !important;
    padding:7px 0 !important;
}

body > .navbar .site-main-nav .nav-link{
    color:rgba(255,255,255,.92) !important;
    border-radius:10px !important;
    padding:9px 13px !important;
    font-weight:750 !important;
    transition:background-color .18s ease,color .18s ease,transform .18s ease !important;
}

body > .navbar .site-main-nav .nav-link i{
    color:#BFF4D1 !important;
}

body > .navbar .site-main-nav .nav-link:hover,
body > .navbar .site-main-nav .nav-link:focus-visible{
    background:rgba(255,255,255,.12) !important;
    color:#FFFFFF !important;
    transform:translateY(-1px);
}

body > .navbar .site-main-nav .nav-link:hover i,
body > .navbar .site-main-nav .nav-link:focus-visible i{
    color:#FFFFFF !important;
}

body > .navbar .site-main-nav .nav-link.active{
    background:#FFFFFF !important;
    color:#07683B !important;
    box-shadow:0 5px 14px rgba(5,57,32,.18) !important;
}

body > .navbar .site-main-nav .nav-link.active i{
    color:#0AA34F !important;
}

/* =========================================================
   CARDS DE IMÓVEIS — REMOVE SOMBRA MARROM/BEGE
========================================================= */

.property-card,
.featured-card,
.more-property-card,
.listing-page-vintage .property-card,
.listing-page-vintage .card-imovel{
    border-color:var(--ui-green-line) !important;
    box-shadow:var(--ui-card-shadow) !important;
}

.property-card:hover,
.featured-card:hover,
.more-property-card:hover,
.listing-page-vintage .property-card:hover,
.listing-page-vintage .card-imovel:hover{
    border-color:#B9DDC8 !important;
    box-shadow:var(--ui-card-shadow-hover) !important;
}

/* mantém os fundos claros com um viés frio/esverdeado, nunca bege */
.property-card .details,
.more-property-card .details{
    border-color:#E0ECE5 !important;
}

/* =========================================================
   BADGES — DESTAQUE / VENDA / LOCAÇÃO
========================================================= */

.property-card .property-tag,
.badge-finalidade,
.badge-finalidade-venda,
.badge-finalidade-locacao{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:30px !important;
    padding:7px 12px !important;
    border:1px solid rgba(255,255,255,.50) !important;
    border-radius:999px !important;
    color:#FFFFFF !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
    text-shadow:0 1px 2px rgba(0,0,0,.14) !important;
    box-shadow:0 7px 18px rgba(15,23,42,.16) !important;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.property-card .property-tag--venda,
.badge-finalidade-venda{
    background:linear-gradient(135deg,var(--badge-sale-1),var(--badge-sale-2)) !important;
}

.property-card .property-tag--locacao,
.badge-finalidade-locacao{
    background:linear-gradient(135deg,var(--badge-rent-1),var(--badge-rent-2)) !important;
}

.property-card .property-tag--outro,
.property-card .property-tag:not(.property-tag--venda):not(.property-tag--locacao){
    background:linear-gradient(135deg,#16B85B,#0A7F48) !important;
}

/* "Destaque" ganha cor própria e aparece no canto oposto da finalidade */
.property-featured-badge,
.featured-tag,
.badge-destaque,
.banner-badge-destaque{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    background:linear-gradient(135deg,var(--badge-featured-1),var(--badge-featured-2)) !important;
    color:#3B2B05 !important;
    border:1px solid rgba(255,255,255,.66) !important;
    border-radius:999px !important;
    padding:7px 12px !important;
    font-size:.69rem !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    text-shadow:none !important;
    box-shadow:0 8px 20px rgba(176,112,0,.24) !important;
}

.property-featured-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:4;
}

.featured-tag i,
.property-featured-badge i{
    font-size:.72rem !important;
}

/* finalidade sempre do lado direito */
.property-card .property-tag{
    top:16px !important;
    right:16px !important;
    left:auto !important;
    z-index:4 !important;
}

/* =========================================================
   MENU MOBILE — 4 ITENS + 3 ITENS, VISUAL DE APP
========================================================= */

@media(max-width:767.98px){
    body > .navbar{
        position:sticky !important;
        top:0 !important;
        z-index:1040 !important;
        padding:8px 7px 9px !important;
        background:
            radial-gradient(circle at 88% 0%, rgba(48,214,115,.18), transparent 34%),
            linear-gradient(145deg,#0B5F38 0%,#074E2E 100%) !important;
        border-bottom:1px solid rgba(255,255,255,.13) !important;
        box-shadow:0 8px 24px rgba(5,56,32,.22) !important;
    }

    body > .navbar > .container{
        padding:0 !important;
    }

    body > .navbar .site-main-nav{
        width:100% !important;
        padding:0 !important;
    }

    /* 12 colunas: primeira linha 4x3; segunda linha 3x4 */
    body > .navbar .site-main-nav .navbar-nav{
        display:grid !important;
        grid-template-columns:repeat(12,minmax(0,1fr)) !important;
        gap:6px !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    body > .navbar .site-main-nav .nav-item{
        width:auto !important;
        min-width:0 !important;
        grid-column:span 3;
    }

    body > .navbar .site-main-nav .nav-item:nth-child(n+5){
        grid-column:span 4;
    }

    body > .navbar .site-main-nav .nav-link{
        width:100% !important;
        min-height:57px !important;
        padding:6px 3px 7px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:4px !important;
        border:1px solid rgba(255,255,255,.10) !important;
        border-radius:11px !important;
        background:rgba(255,255,255,.065) !important;
        color:rgba(255,255,255,.93) !important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
        font-size:.63rem !important;
        line-height:1.05 !important;
        font-weight:800 !important;
        white-space:nowrap !important;
        transform:none !important;
    }

    body > .navbar .site-main-nav .nav-link i{
        width:28px !important;
        height:28px !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:9px !important;
        background:rgba(255,255,255,.10) !important;
        color:#C9F6D9 !important;
        font-size:.91rem !important;
        line-height:1 !important;
        transition:background-color .18s ease,color .18s ease !important;
    }

    body > .navbar .site-main-nav .nav-link:hover,
    body > .navbar .site-main-nav .nav-link:focus-visible{
        background:rgba(255,255,255,.13) !important;
        border-color:rgba(255,255,255,.18) !important;
        color:#FFFFFF !important;
    }

    body > .navbar .site-main-nav .nav-link.active{
        background:#F4FFF8 !important;
        border-color:#D8F5E2 !important;
        color:#086A3C !important;
        box-shadow:0 5px 14px rgba(4,44,25,.18) !important;
    }

    body > .navbar .site-main-nav .nav-link.active i{
        background:#0AA34F !important;
        color:#FFFFFF !important;
        box-shadow:0 4px 10px rgba(10,163,79,.24) !important;
    }
}

@media(max-width:390px){
    body > .navbar{
        padding-left:5px !important;
        padding-right:5px !important;
    }

    body > .navbar .site-main-nav .navbar-nav{
        gap:4px !important;
    }

    body > .navbar .site-main-nav .nav-link{
        min-height:54px !important;
        font-size:.59rem !important;
        border-radius:9px !important;
    }

    body > .navbar .site-main-nav .nav-link i{
        width:26px !important;
        height:26px !important;
        font-size:.84rem !important;
    }
}

/* ---------- origem consolidada: visual-final.css ---------- */
/* =========================================================
   SYSIMOBIL — POLIMENTO VISUAL FINAL
   Este arquivo é carregado por último e contém apenas
   overrides de acabamento: navegação, rodapé, cards e badges.
========================================================= */

:root{
    --vf-nav-bg:#08663B;
    --vf-nav-bg-deep:#075A34;
    --vf-accent:#18B95D;
    --vf-accent-light:#76E39D;
    --vf-text:#102018;
    --vf-line:#D6E7DC;
    --vf-card-shadow:0 10px 28px rgba(7,86,49,.10);
    --vf-card-shadow-hover:0 16px 36px rgba(7,86,49,.16);
    --vf-sale:#10A956;
    --vf-sale-dark:#078544;
    --vf-rent:#08AEB5;
    --vf-rent-dark:#087D83;
    --vf-featured:#FFC93D;
    --vf-featured-dark:#F3A712;
}

/* =========================================================
   ESTRUTURA GLOBAL DA PÁGINA
   O footer é controlado exclusivamente por site-footer.css.
========================================================= */

html{
    min-height:100%;
}

body{
    min-height:100vh;
    min-height:100dvh;
    margin:0 !important;
    padding:0 !important;
    display:flex;
    flex-direction:column;
    max-width:100%;
    overflow-x:hidden !important;
}

/* =========================================================
   MENU — DESKTOP
   Fundo verde sólido e duas linhas de contorno com 1px exato.
========================================================= */

body > nav.site-navbar{
    background:var(--vf-nav-bg) !important;
    background-image:none !important;
    border-top:1px solid var(--vf-accent) !important;
    border-bottom:1px solid var(--vf-accent) !important;
    border-left:0 !important;
    border-right:0 !important;
    box-shadow:none !important;
    padding:6px 0 !important;
}

/* Evita linha duplicada entre cabeçalho e menu. */
body > .top-logo-box{
    border-bottom:0 !important;
}

body > nav.site-navbar .site-main-nav{
    min-width:0;
}

body > nav.site-navbar .site-main-nav .navbar-nav{
    gap:5px !important;
}

body > nav.site-navbar .site-main-nav .nav-link{
    color:rgba(255,255,255,.94) !important;
    padding:8px 12px !important;
    border:1px solid transparent !important;
    border-radius:9px !important;
    background:transparent !important;
    box-shadow:none !important;
    font-weight:750 !important;
    line-height:1.1 !important;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease !important;
}

body > nav.site-navbar .site-main-nav .nav-link i{
    color:#C9F6D9 !important;
}

body > nav.site-navbar .site-main-nav .nav-link:hover,
body > nav.site-navbar .site-main-nav .nav-link:focus-visible{
    color:#FFFFFF !important;
    background:rgba(255,255,255,.11) !important;
    border-color:rgba(255,255,255,.12) !important;
    transform:none !important;
}

body > nav.site-navbar .site-main-nav .nav-link:hover i,
body > nav.site-navbar .site-main-nav .nav-link:focus-visible i{
    color:#FFFFFF !important;
}

body > nav.site-navbar .site-main-nav .nav-link.active{
    color:#FFFFFF !important;
    background:rgba(255,255,255,.15) !important;
    border-color:rgba(255,255,255,.18) !important;
    box-shadow:inset 0 -2px 0 var(--vf-accent-light) !important;
}

body > nav.site-navbar .site-main-nav .nav-link.active i{
    color:#E3FFEC !important;
}

/* O botão só existe visualmente no breakpoint mobile/tablet. */
body > nav.site-navbar .site-menu-toggle{
    display:none !important;
}

/* =========================================================
   MENU — MOBILE / TABLET
   Barra compacta + painel expansível em duas colunas.
   O menu fechado ocupa pouco espaço e, aberto, mostra tudo.
========================================================= */

@media(max-width:991.98px){
    body > nav.site-navbar{
        position:sticky !important;
        top:0 !important;
        z-index:1040 !important;
        padding:6px 0 !important;
        background:var(--vf-nav-bg-deep) !important;
    }

    body > nav.site-navbar > .container{
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        width:100% !important;
        max-width:100% !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }

    body > nav.site-navbar .site-menu-toggle{
        display:flex !important;
        width:100% !important;
        min-height:42px !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        margin:0 !important;
        padding:7px 10px 7px 12px !important;
        border:0 !important;
        border-radius:10px !important;
        background:#0B7042 !important;
        color:#FFFFFF !important;
        box-shadow:none !important;
        font-size:.78rem !important;
        font-weight:800 !important;
        line-height:1 !important;
    }

    body > nav.site-navbar .site-menu-toggle:focus{
        box-shadow:0 0 0 3px rgba(118,227,157,.20) !important;
    }

    body > nav.site-navbar .site-menu-toggle-main{
        display:inline-flex;
        align-items:center;
        gap:8px;
    }

    body > nav.site-navbar .site-menu-toggle-main > i{
        width:27px;
        height:27px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border-radius:8px;
        background:rgba(255,255,255,.10);
        color:#D9FFE5;
        font-size:1.1rem;
    }

    body > nav.site-navbar .site-menu-chevron{
        color:#D9FFE5;
        font-size:.85rem;
        transition:transform .18s ease;
    }

    body > nav.site-navbar .site-menu-toggle[aria-expanded="true"] .site-menu-chevron{
        transform:rotate(180deg);
    }

    body > nav.site-navbar .site-main-nav.collapse:not(.show){
        display:none !important;
    }

    body > nav.site-navbar .site-main-nav.collapsing{
        width:100% !important;
    }

    body > nav.site-navbar .site-main-nav.collapse.show{
        display:block !important;
    }

    body > nav.site-navbar .site-main-nav{
        flex-basis:100% !important;
        width:100% !important;
        margin:0 !important;
        padding:8px 0 2px !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body > nav.site-navbar .site-main-nav .navbar-nav{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    body > nav.site-navbar .site-main-nav .nav-item{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        grid-column:auto !important;
    }

    /* Sobrescreve o grid 4+3 do tema anterior. */
    body > nav.site-navbar .site-main-nav .nav-item:nth-child(n+5){
        grid-column:auto !important;
    }

    body > nav.site-navbar .site-main-nav .nav-item:last-child:nth-child(odd){
        grid-column:1 / -1 !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link{
        width:100% !important;
        min-height:42px !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px !important;
        padding:8px 10px !important;
        border:0 !important;
        border-radius:9px !important;
        background:#0B7042 !important;
        color:rgba(255,255,255,.94) !important;
        font-size:.70rem !important;
        line-height:1.1 !important;
        font-weight:750 !important;
        white-space:normal !important;
        text-align:left !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link i{
        flex:0 0 28px !important;
        width:28px !important;
        height:28px !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:8px !important;
        background:rgba(255,255,255,.09) !important;
        color:#D8FFE4 !important;
        font-size:.88rem !important;
        line-height:1 !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link:hover,
    body > nav.site-navbar .site-main-nav .nav-link:focus-visible{
        background:#0D7C49 !important;
        border-color:transparent !important;
        color:#FFFFFF !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link.active{
        background:#EAF9F0 !important;
        border-color:transparent !important;
        color:#08643A !important;
        box-shadow:none !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link.active i{
        background:var(--vf-sale) !important;
        color:#FFFFFF !important;
        box-shadow:none !important;
    }
}

@media(max-width:420px){
    body > nav.site-navbar > .container{
        padding-left:8px !important;
        padding-right:8px !important;
    }

    body > nav.site-navbar .site-main-nav .navbar-nav{
        gap:5px !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link{
        min-height:40px !important;
        padding:7px 8px !important;
        font-size:.66rem !important;
    }
}

/* =========================================================
   CARDS DE IMÓVEIS — SOMBRA FRIA/ESVERDEADA, SEM BEGE
========================================================= */

.property-card,
.featured-card,
.more-property-card,
.listing-page-vintage .property-card,
.listing-page-vintage .card-imovel{
    border-color:var(--vf-line) !important;
    box-shadow:var(--vf-card-shadow) !important;
}

.property-card:hover,
.featured-card:hover,
.more-property-card:hover,
.listing-page-vintage .property-card:hover,
.listing-page-vintage .card-imovel:hover{
    border-color:#BBDCC8 !important;
    box-shadow:var(--vf-card-shadow-hover) !important;
}

.property-card .details,
.more-property-card .details{
    border-color:#DFECE4 !important;
}

/* =========================================================
   BADGES — CORES MAIS VIVAS E LEITURA MAIS IMEDIATA
========================================================= */

.property-card .property-tag,
.badge-finalidade,
.badge-finalidade-venda,
.badge-finalidade-locacao{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:28px !important;
    padding:6px 11px !important;
    border:1px solid rgba(255,255,255,.56) !important;
    border-radius:999px !important;
    color:#FFFFFF !important;
    font-size:.66rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    text-shadow:0 1px 2px rgba(0,0,0,.13) !important;
    box-shadow:0 6px 15px rgba(15,23,42,.17) !important;
}

.property-card .property-tag--venda,
.badge-finalidade-venda{
    background:linear-gradient(135deg,var(--vf-sale),var(--vf-sale-dark)) !important;
}

.property-card .property-tag--locacao,
.badge-finalidade-locacao{
    background:linear-gradient(135deg,var(--vf-rent),var(--vf-rent-dark)) !important;
}

.property-card .property-tag--outro,
.property-card .property-tag:not(.property-tag--venda):not(.property-tag--locacao){
    background:linear-gradient(135deg,#637083,#39485B) !important;
}

.property-featured-badge,
.featured-tag,
.badge-destaque,
.banner-badge-destaque{
    background:linear-gradient(135deg,var(--vf-featured),var(--vf-featured-dark)) !important;
    color:#3A2A04 !important;
    border-color:rgba(255,255,255,.72) !important;
    text-shadow:none !important;
    box-shadow:0 7px 17px rgba(165,104,0,.22) !important;
}


/* =========================================================
   REVISÃO VISUAL 04/09/2026 — FOOTER, FORMULÁRIOS E CTAs
   Mantém este bloco por último: são ajustes de acabamento
   solicitados após validação visual em desktop e mobile.
========================================================= */

/* --- FOOTER: mais respiro entre títulos e conteúdo e contraste
       suficiente para endereço, telefone e e-mail. --- */
.footer-modern .footer-panel{
    color:#FFFFFF !important;
}

.footer-modern .footer-panel h5{
    margin:0 0 16px !important;
    color:#9AF0B8 !important;
    line-height:1.2 !important;
}

.footer-modern .footer-nav,
.footer-modern .footer-contact{
    gap:9px !important;
}

.footer-modern .footer-nav a{
    color:rgba(255,255,255,.78) !important;
    line-height:1.45 !important;
}

.footer-modern .footer-nav a:hover,
.footer-modern .footer-nav a:focus-visible{
    color:#FFFFFF !important;
}

.footer-modern .footer-contact,
.footer-modern .footer-contact span,
.footer-modern .footer-contact a{
    color:rgba(255,255,255,.84) !important;
    line-height:1.5 !important;
}

.footer-modern .footer-contact i{
    color:#82EAA6 !important;
}

.footer-modern .footer-panel p{
    color:rgba(255,255,255,.72) !important;
}

/* --- FORMULÁRIOS: remove qualquer herança bege/marrom,
       inclusive no campo Mensagem da página Contato. --- */
.anunciar-card .form-control,
.anunciar-card .form-select,
.anunciar-card textarea.form-control,
.luxury-contact-card .form-control,
.luxury-contact-card .form-select,
.luxury-contact-card textarea.form-control,
.property-lead-card .form-control,
.property-lead-card .form-select,
.property-lead-card textarea.form-control,
.property-lead-form .form-control,
.property-lead-form .form-select,
.property-lead-form textarea.form-control{
    background:#FFFFFF !important;
    color:#14251C !important;
    border-color:#C8D9CF !important;
    box-shadow:inset 0 1px 2px rgba(19,35,27,.02),0 2px 7px rgba(19,35,27,.025) !important;
}

.anunciar-card .form-control:hover,
.anunciar-card .form-select:hover,
.luxury-contact-card .form-control:hover,
.luxury-contact-card .form-select:hover,
.property-lead-card .form-control:hover,
.property-lead-card .form-select:hover{
    background:#FFFFFF !important;
    border-color:#92BDA2 !important;
}

.anunciar-card .form-control:focus,
.anunciar-card .form-select:focus,
.luxury-contact-card .form-control:focus,
.luxury-contact-card .form-select:focus,
.property-lead-card .form-control:focus,
.property-lead-card .form-select:focus{
    background:#FFFFFF !important;
    border-color:#0AA34F !important;
    box-shadow:0 0 0 4px rgba(10,163,79,.11) !important;
}

/* --- TODOS OS BOTÕES DE CARDS DE IMÓVEIS:
       mesmo acabamento do CTA usado em "Imóveis em destaque". --- */
.featured-card .featured-content .btn,
.property-card .btn,
.property-card .more-details-btn,
.more-property-card .btn,
.more-property-card .more-details-btn,
.home-property-details-btn,
.listing-page-vintage .property-card .btn,
.listing-page-vintage .card-imovel .btn,
.btn-ver-imovel{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:100% !important;
    min-height:42px !important;
    padding:12px 18px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#0AA34F !important;
    color:#FFFFFF !important;
    font-weight:850 !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
    transition:.35s cubic-bezier(.4,0,.2,1) !important;
}

.featured-card .featured-content .btn:hover,
.featured-card .featured-content .btn:focus-visible,
.property-card .btn:hover,
.property-card .btn:focus-visible,
.property-card .more-details-btn:hover,
.property-card .more-details-btn:focus-visible,
.more-property-card .btn:hover,
.more-property-card .btn:focus-visible,
.more-property-card .more-details-btn:hover,
.more-property-card .more-details-btn:focus-visible,
.home-property-details-btn:hover,
.home-property-details-btn:focus-visible,
.listing-page-vintage .property-card .btn:hover,
.listing-page-vintage .property-card .btn:focus-visible,
.listing-page-vintage .card-imovel .btn:hover,
.listing-page-vintage .card-imovel .btn:focus-visible,
.btn-ver-imovel:hover,
.btn-ver-imovel:focus-visible{
    background:#078C42 !important;
    color:#FFFFFF !important;
    transform:translateY(-2px) !important;
    box-shadow:none !important;
}

.featured-card .featured-content .btn i,
.property-card .btn i,
.more-property-card .btn i,
.home-property-details-btn i,
.btn-ver-imovel i{
    color:inherit !important;
}

/* Mobile: sem contorno nos cards do menu e com verde um tom mais
   claro que a barra principal para manter separação sem "caixinhas". */
@media(max-width:991.98px){
    body > nav.site-navbar .site-menu-toggle,
    body > nav.site-navbar .site-main-nav .nav-link{
        border:0 !important;
        box-shadow:none !important;
    }

    body > nav.site-navbar .site-menu-toggle,
    body > nav.site-navbar .site-main-nav .nav-link{
        background:#0B7042 !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link:hover,
    body > nav.site-navbar .site-main-nav .nav-link:focus-visible{
        background:#0D7C49 !important;
    }

    body > nav.site-navbar .site-main-nav .nav-link.active{
        background:#EAF9F0 !important;
        color:#08643A !important;
    }
}

/* =========================================================
   AJUSTE DE ACABAMENTO — 04/09/2026
   1) Desktop: remove qualquer sombreado do item ativo do menu.
   2) Header: nome da empresa sem negrito excessivo.
   3) Campos LONGTEXT/TEXTAREA: fundo branco, sem creme/marrom,
      incluindo hover, foco e autofill do navegador.
========================================================= */

/* MENU DESKTOP — item ativo sem sombra */
@media(min-width:992px){
    body > nav.site-navbar .site-main-nav .nav-link,
    body > nav.site-navbar .site-main-nav .nav-link:hover,
    body > nav.site-navbar .site-main-nav .nav-link:focus,
    body > nav.site-navbar .site-main-nav .nav-link:focus-visible,
    body > nav.site-navbar .site-main-nav .nav-link.active{
        box-shadow:none !important;
        text-shadow:none !important;
        filter:none !important;
    }
}

/* HEADER — nome da empresa com peso normal, mantendo legibilidade */
.top-logo-box .company-name{
    font-weight:500 !important;
}

/* TEXTAREA / LONGTEXT — neutraliza definitivamente a paleta vintage */
body form textarea,
body textarea.form-control,
body .anunciar-card textarea,
body .anunciar-card textarea.form-control,
body .luxury-contact-card textarea,
body .luxury-contact-card textarea.form-control,
body .luxury-request-card textarea,
body .luxury-request-card textarea.form-control,
body .property-lead-card textarea,
body .property-lead-card textarea.form-control,
body .property-lead-form textarea,
body .property-lead-form textarea.form-control,
body textarea[name="mensagem"],
body textarea[name="descricao"]{
    background-color:#FFFFFF !important;
    background-image:none !important;
    color:#14251C !important;
    border-color:#C8D9CF !important;
    box-shadow:none !important;
}

body form textarea:hover,
body textarea.form-control:hover,
body .anunciar-card textarea:hover,
body .luxury-contact-card textarea:hover,
body .luxury-request-card textarea:hover,
body .property-lead-card textarea:hover,
body .property-lead-form textarea:hover{
    background-color:#FFFFFF !important;
    background-image:none !important;
    border-color:#92BDA2 !important;
    box-shadow:none !important;
}

body form textarea:focus,
body textarea.form-control:focus,
body .anunciar-card textarea:focus,
body .luxury-contact-card textarea:focus,
body .luxury-request-card textarea:focus,
body .property-lead-card textarea:focus,
body .property-lead-form textarea:focus{
    background-color:#FFFFFF !important;
    background-image:none !important;
    color:#14251C !important;
    border-color:#0AA34F !important;
    outline:0 !important;
    box-shadow:0 0 0 4px rgba(10,163,79,.11) !important;
}

/* Chrome / Edge / Safari podem aplicar cor própria ao autofill. */
body form textarea:-webkit-autofill,
body form textarea:-webkit-autofill:hover,
body form textarea:-webkit-autofill:focus,
body textarea.form-control:-webkit-autofill,
body textarea.form-control:-webkit-autofill:hover,
body textarea.form-control:-webkit-autofill:focus{
    -webkit-text-fill-color:#14251C !important;
    -webkit-box-shadow:0 0 0 1000px #FFFFFF inset !important;
    box-shadow:0 0 0 1000px #FFFFFF inset !important;
    background-color:#FFFFFF !important;
    caret-color:#14251C !important;
}

/* ---------- origem consolidada: redesign-imobiliaria.css ---------- */
/*
 * Redesign imobiliário original.
 * Estrutura visual criada especificamente para este projeto, sem reutilização
 * de HTML, CSS, imagens ou componentes proprietários de templates de terceiros.
 */

:root{
  --re-ink:var(--site-home-ink,#10231c);
  --re-ink-soft:var(--site-home-ink-soft,#395148);
  --re-deep:var(--site-home-deep,#0B2119);
  --re-deep-2:var(--site-home-deep-2,#102c22);
  --re-green:var(--site-home-green,#087a4c);
  --re-menu:var(--site-home-menu,#06683d);
  --re-green-2:var(--site-home-green-2,#0a9360);
  --re-accent:var(--site-home-accent,#10b981);
  --re-accent-dark:var(--site-home-accent-dark,#078153);
  --re-mint:var(--site-home-mint,#eaf7f1);
  --re-mint-2:var(--site-home-mint-2,#f3faf6);
  --re-line:var(--site-home-line,#dce8e1);
  --re-line-dark:rgba(255,255,255,.12);
  --re-bg:var(--site-home-bg,#f7f9f7);
  --re-white:#fff;
  --re-muted:#6e8179;
  --re-yellow:#f4b942;
  --re-shadow:0 18px 55px rgba(18,51,38,.11);
  --re-shadow-sm:0 9px 28px rgba(18,51,38,.09);
  --re-radius:22px;
  --re-radius-sm:15px;
}

html{
  background:var(--re-deep) !important;
  scroll-behavior:smooth;
}

body{
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  background:var(--re-bg) !important;
  color:var(--re-ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;
}


/* ============================================================
   CABEÇALHO DE MARCA
============================================================ */
.site-brand-header{
  position:relative;
  z-index:1030;
  background:#fff;
  border-bottom:1px solid #edf2ef;
}

.site-brand-header-inner{
  min-height:140px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:18px;
  padding-bottom:18px;
}

.site-brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  text-decoration:none;
  color:var(--re-ink);
}

.site-brand-logo-wrap{
  width:190px;
  height:104px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  padding:0;
  border:0;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

.site-brand-logo{
  display:block;
  max-width:190px;
  max-height:104px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
}

.site-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.site-brand-name{
  color:var(--re-ink);
  font-size:1.02rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
}

.site-brand-meta{
  margin-top:5px;
  color:#7a8c84;
  font-size:.78rem;
  line-height:1.35;
}

.site-brand-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.site-creci-pill{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:999px;
  background:var(--re-mint-2);
  color:#386252;
  border:1px solid #dbece4;
  font-size:.72rem;
  font-weight:600;
  white-space:nowrap;
}

.site-creci-pill i{
  color:var(--re-green-2);
}

.site-header-contact-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border-radius:12px;
  background:var(--re-menu);
  color:#fff !important;
  text-decoration:none;
  font-size:.78rem;
  font-weight:650;
  transition:background-color .18s ease,transform .18s ease;
}

.site-header-contact-btn:hover,
.site-header-contact-btn:focus-visible{
  background:var(--re-accent-dark);
  transform:translateY(-1px);
}

/* ============================================================
   NAVEGAÇÃO DESKTOP
============================================================ */
body > nav.site-navbar{
  --bs-navbar-padding-y:0;
  z-index:1025 !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--re-menu) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:none !important;
  filter:none !important;
}

body > nav.site-navbar .site-navbar-inner{
  min-height:56px;
}

body > nav.site-navbar .site-main-nav{
  width:100%;
  align-items:center;
  justify-content:space-between !important;
  gap:18px;
}

body > nav.site-navbar .site-main-nav .navbar-nav{
  display:flex;
  align-items:center;
  gap:2px !important;
  margin:0;
}

body > nav.site-navbar .site-main-nav .nav-link{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.88) !important;
  font-size:.78rem !important;
  font-weight:520 !important;
  line-height:1 !important;
  text-decoration:none;
  text-shadow:none !important;
  box-shadow:none !important;
  filter:none !important;
  position:relative;
  transition:color .18s ease,background-color .18s ease;
}

body > nav.site-navbar .site-main-nav .nav-link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:0;
  height:2px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

body > nav.site-navbar .site-main-nav .nav-link i{
  margin:0 !important;
  color:#b6f0d5 !important;
  font-size:.86rem;
}

body > nav.site-navbar .site-main-nav .nav-link:hover,
body > nav.site-navbar .site-main-nav .nav-link:focus-visible{
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

body > nav.site-navbar .site-main-nav .nav-link.active{
  background:rgba(255,255,255,.11) !important;
  color:#fff !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

body > nav.site-navbar .site-main-nav .nav-link.active::after{
  transform:scaleX(1);
}

.site-nav-cta{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border-radius:9px;
  background:#fff;
  color:var(--re-menu) !important;
  text-decoration:none;
  font-size:.73rem;
  font-weight:700;
  white-space:nowrap;
  transition:transform .18s ease,background-color .18s ease;
}

.site-nav-cta:hover,
.site-nav-cta:focus-visible{
  background:#f0faf5;
  transform:translateY(-1px);
}

/* ============================================================
   HERO ORIGINAL
============================================================ */
.page-inicio .re-hero{
  position:relative;
  background:var(--re-deep);
  /* O reset completo remove o padding global de <section>, que criava
     as faixas escuras acima e abaixo da fotografia do hero. */
  padding:0;
}

.page-inicio .re-hero-carousel{
  position:relative;
  overflow:hidden;
  background:var(--re-deep);
}

.page-inicio .re-hero-slide{
  position:relative;
  min-height:610px;
  overflow:hidden;
  background:linear-gradient(135deg,#102d22,#0a1c16);
}

.page-inicio .re-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.02);
}

.page-inicio .carousel-item.active .re-hero-bg{
  animation:reHeroZoom 7s ease-out both;
}

@keyframes reHeroZoom{
  from{transform:scale(1.06)}
  to{transform:scale(1.015)}
}

.page-inicio .re-hero-content{
  position:relative;
  z-index:3;
  min-height:610px;
  display:flex;
  align-items:center;
  padding-top:54px;
  padding-bottom:100px;
}

.page-inicio .re-hero-copy{
  width:min(720px,72%);
  color:#fff;
}

.page-inicio .re-kicker,
.page-inicio .re-section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--re-green-2);
  font-size:.74rem;
  font-weight:750;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.page-inicio .re-kicker{
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(9,44,31,.43);
  color:#c8f5df;
  backdrop-filter:blur(8px);
}

.page-inicio .re-kicker i,
.page-inicio .re-section-kicker i{
  font-size:.9rem;
}

.page-inicio .re-hero-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
}

.page-inicio .re-hero-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:7px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.90);
  font-size:.72rem;
  font-weight:600;
  backdrop-filter:blur(7px);
  text-shadow:0 1px 8px rgba(0,0,0,.30);
}

.page-inicio .re-hero .re-hero-title{
  max-width:760px;
  margin:15px 0 14px;
  color:#fff !important;
  font-size:clamp(2.4rem,4.5vw,4.85rem) !important;
  font-weight:760 !important;
  letter-spacing:-.055em;
  line-height:.98;
  text-wrap:balance;
  text-shadow:0 3px 16px rgba(0,0,0,.34);
}

.page-inicio .re-hero-location{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#fff;
  font-size:.94rem;
  text-shadow:0 2px 10px rgba(0,0,0,.36);
}

.page-inicio .re-hero-location i{
  color:#7ae1b2;
}

.page-inicio .re-hero-actions-row{
  margin-top:27px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:26px;
  flex-wrap:wrap;
}

.page-inicio .re-hero-price{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:160px;
}

.page-inicio .re-hero-price small{
  color:rgba(255,255,255,.72);
  font-size:.69rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}

.page-inicio .re-hero-price strong{
  color:#fff;
  font-size:1.45rem;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
  font-weight:750;
  letter-spacing:-.03em;
}

.page-inicio .re-hero-actions,
.page-inicio .re-about-actions,
.page-inicio .re-home-cta-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.re-btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border:1px solid transparent;
  border-radius:11px;
  text-decoration:none;
  font-size:.8rem;
  font-weight:700;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.re-btn-primary{
  background:var(--re-accent);
  color:#08281c !important;
}

.re-btn-primary:hover,
.re-btn-primary:focus-visible{
  background:#35c994;
  color:#061f16 !important;
  transform:translateY(-2px);
}

.re-btn-ghost{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.07);
  color:#fff !important;
  backdrop-filter:blur(7px);
}

.re-btn-ghost:hover,
.re-btn-ghost:focus-visible{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.38);
  color:#fff !important;
  transform:translateY(-2px);
}

.page-inicio .re-hero-controls{
  position:absolute;
  z-index:6;
  right:max(24px,calc((100vw - 1140px)/2));
  bottom:112px;
  display:flex;
  gap:8px;
}

.page-inicio .re-hero-control{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(6,28,20,.5);
  color:#fff;
  backdrop-filter:blur(7px);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.page-inicio .re-hero-control:hover,
.page-inicio .re-hero-control:focus-visible{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-1px);
}

/* ============================================================
   BUSCA FLUTUANTE
============================================================ */
.page-inicio .re-search-shell{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:0;
  transform:translate(-50%,50%);
}

.page-inicio .re-search-card{
  padding:22px 24px 24px;
  border:1px solid rgba(29,81,59,.09);
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 60px rgba(8,42,29,.16);
}

.page-inicio .re-search-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:17px;
}

.page-inicio .re-search-eyebrow{
  display:block;
  margin-bottom:2px;
  color:var(--re-green-2);
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.page-inicio .re-search-heading h2{
  margin:0;
  color:var(--re-ink);
  font-size:1.18rem;
  font-weight:720;
  letter-spacing:-.025em;
}

.page-inicio .re-search-all-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--re-green);
  text-decoration:none;
  font-size:.72rem;
  font-weight:650;
  white-space:nowrap;
}

.page-inicio .re-search-form{
  display:grid;
  grid-template-columns:1.05fr 1.15fr 1fr 1.1fr auto;
  gap:10px;
  align-items:end;
}

.page-inicio .re-search-field label{
  display:block;
  margin:0 0 6px;
  color:#546a61;
  font-size:.66rem;
  font-weight:650;
}

.page-inicio .re-search-field .form-select,
.page-inicio .re-search-field .form-control{
  min-height:45px !important;
  border:1px solid #dfe9e4 !important;
  border-radius:10px !important;
  background-color:#fbfdfc !important;
  color:var(--re-ink) !important;
  font-size:.77rem !important;
  box-shadow:none !important;
}

.page-inicio .re-search-field .form-select:focus,
.page-inicio .re-search-field .form-control:focus{
  border-color:#76c9a6 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.09) !important;
}

.page-inicio .re-search-submit{
  min-height:45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  background:var(--re-green);
  color:#fff;
  font-size:.76rem;
  font-weight:700;
  white-space:nowrap;
  transition:background-color .18s ease,transform .18s ease;
}

.page-inicio .re-search-submit:hover,
.page-inicio .re-search-submit:focus-visible{
  background:var(--re-accent-dark);
  transform:translateY(-1px);
}

/* ============================================================
   FAIXA DE CONFIANÇA
============================================================ */
.page-inicio .re-trust-strip{
  padding:0 0 54px;
  background:#fff;
}

.page-inicio .re-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}

.page-inicio .re-trust-item{
  min-height:160px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:20px 14px;
  position:relative;
}

.page-inicio .re-trust-item:not(:last-child)::after{
  display:none;
}

.page-inicio .re-trust-icon{
  width:120px;
  height:120px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:32px;
  background:var(--re-mint);
  color:var(--re-green);
  font-size:2.96rem;
}

.page-inicio .re-trust-item > div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.page-inicio .re-trust-item strong{
  color:var(--re-ink);
  font-size:1rem;
  line-height:1.25;
  font-weight:800;
}

.page-inicio .re-trust-item span:not(.re-trust-icon){
  color:#6f8178;
  font-size:.82rem;
  line-height:1.5;
}

/* ============================================================
   CABEÇALHOS DE SEÇÃO
============================================================ */
.page-inicio .re-section-heading{
  margin-bottom:32px;
}

.page-inicio .re-section-heading-split{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}

.page-inicio .re-section-copy{
  max-width:720px;
}

.page-inicio .re-section-heading h2,
.page-inicio .re-about-copy h2,
.page-inicio .re-home-cta h2{
  margin:8px 0 8px;
  color:var(--re-ink);
  font-size:clamp(1.9rem,3.2vw,3rem);
  font-weight:730;
  line-height:1.04;
  letter-spacing:-.047em;
}

.page-inicio .re-section-heading p,
.page-inicio .re-about-copy > p{
  max-width:690px;
  margin:0;
  color:var(--re-muted);
  font-size:.9rem;
  line-height:1.7;
}

.page-inicio .re-section-heading-centered{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.page-inicio .re-section-heading-centered .re-section-kicker{
  justify-content:center;
}

.page-inicio .re-outline-link{
  min-height:43px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:1px solid #cddfd6;
  border-radius:10px;
  background:#fff;
  color:var(--re-green) !important;
  text-decoration:none;
  font-size:.75rem;
  font-weight:700;
  white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.page-inicio .re-outline-link:hover,
.page-inicio .re-outline-link:focus-visible{
  background:var(--re-mint-2);
  border-color:#aed5c2;
  transform:translateY(-1px);
}

/* ============================================================
   CARDS DE IMÓVEIS
============================================================ */
.re-property-card{
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #e0e9e4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(20,58,43,.075);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.re-property-card:hover{
  transform:translateY(-5px);
  border-color:#c8ddd2;
  box-shadow:0 18px 42px rgba(20,58,43,.12);
}

.re-property-media{
  position:relative;
  display:block;
  aspect-ratio:1.42/1;
  overflow:hidden;
  background:#dce7e1;
}

.re-property-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease;
}

.re-property-card:hover .re-property-media img{
  transform:scale(1.045);
}

.re-property-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,27,20,.02) 42%,rgba(7,27,20,.32) 100%);
}

.re-property-badge,
.re-property-purpose{
  position:absolute;
  z-index:2;
  top:13px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.re-property-badge{
  left:13px;
}

.re-property-badge-featured{
  background:var(--re-yellow);
  color:#392703;
}

.re-property-purpose{
  right:13px;
  background:#0a9763;
  color:#fff;
}

.re-property-purpose.re-purpose-rent{
  background:#0b9e9b;
}

.re-property-purpose.re-purpose-sale{
  background:#0a9763;
}

.re-property-purpose.re-purpose-other{
  background:#566d63;
}

.re-property-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:18px;
}

.re-property-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.re-property-topline > span{
  color:var(--re-green);
  font-size:.67rem;
  font-weight:720;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.re-property-topline > strong{
  color:var(--re-ink);
  font-size:.91rem;
  font-weight:780;
  letter-spacing:-.025em;
  white-space:nowrap;
}

.re-property-card h3{
  margin:0;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.025em;
}

.re-property-card h3 a{
  color:var(--re-ink) !important;
  text-decoration:none;
}

.re-property-card h3 a:hover{
  color:var(--re-green) !important;
}

.re-property-location{
  min-height:38px;
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin:9px 0 13px;
  color:#7a8d84;
  font-size:.69rem;
  line-height:1.45;
}

.re-property-location i{
  margin-top:1px;
  color:#49ab80;
}

.re-property-specs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 13px;
  padding:12px 0;
  margin-top:auto;
  border-top:1px solid #edf2ef;
  border-bottom:1px solid #edf2ef;
}

.re-property-specs span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#72857c;
  font-size:.64rem;
}

.re-property-specs i{
  color:var(--re-green-2);
  font-size:.78rem;
}

.re-property-specs strong{
  color:#344a41;
  font-weight:720;
}

.re-card-action{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:14px;
  padding:0 13px;
  border-radius:10px;
  background:var(--re-green);
  color:#fff !important;
  text-decoration:none;
  font-size:.72rem;
  font-weight:700;
  transition:background-color .18s ease,transform .18s ease;
}

.re-card-action:hover,
.re-card-action:focus-visible{
  background:var(--re-accent-dark);
  transform:translateY(-1px);
  color:#fff !important;
}

/* ============================================================
   DESTAQUES / SWIPER
============================================================ */
.page-inicio .re-featured-section{
  padding:72px 0 44px;
  background:#fff;
}

.page-inicio .re-featured-swiper{
  padding:2px 2px 6px;
  overflow:hidden;
}

.page-inicio .re-featured-swiper .swiper-wrapper{
  align-items:stretch;
}

.page-inicio .re-featured-swiper .swiper-slide{
  height:auto;
}

.page-inicio .re-swiper-footer{
  min-height:58px;
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.page-inicio .re-swiper-footer .swiper-pagination{
  position:static !important;
  width:auto !important;
  display:flex;
  gap:5px;
  align-items:center;
}

.page-inicio .re-swiper-footer .swiper-pagination-bullet{
  width:7px;
  height:7px;
  margin:0 !important;
  background:#9ab4a8;
  opacity:.5;
}

.page-inicio .re-swiper-footer .swiper-pagination-bullet-active{
  width:24px;
  border-radius:999px;
  background:var(--re-green);
  opacity:1;
}

.page-inicio .re-swiper-arrows{
  display:flex;
  gap:8px;
  margin-left:auto;
}

.page-inicio .re-swiper-arrows .swiper-button-next,
.page-inicio .re-swiper-arrows .swiper-button-prev{
  position:static !important;
  width:42px !important;
  height:42px !important;
  margin:0 !important;
  border:1px solid #d8e5de;
  border-radius:50%;
  background:#fff;
  color:var(--re-green) !important;
  box-shadow:none !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}

.page-inicio .re-swiper-arrows .swiper-button-next::after,
.page-inicio .re-swiper-arrows .swiper-button-prev::after{
  font-size:.75rem !important;
  font-weight:800;
}

.page-inicio .re-swiper-arrows .swiper-button-next:hover,
.page-inicio .re-swiper-arrows .swiper-button-prev:hover{
  background:var(--re-green);
  border-color:var(--re-green);
  color:#fff !important;
}

/* ============================================================
   SOBRE
============================================================ */
.page-inicio .re-about-section{
  padding:80px 0;
  background:var(--re-mint-2);
  overflow:hidden;
}

.page-inicio .re-about-media{
  position:relative;
  width:min(100%,570px);
  aspect-ratio:1.18/1;
  border-radius:24px;
  overflow:visible;
}

.page-inicio .re-about-media > img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 20px 55px rgba(17,56,40,.14);
}

.page-inicio .re-about-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg,#dbeee5,#c4e5d6);
  color:var(--re-green);
  font-size:4rem;
}

.page-inicio .re-about-seal{
  position:absolute;
  right:-24px;
  bottom:24px;
  min-width:154px;
  min-height:90px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:15px 17px;
  border-radius:16px;
  background:var(--re-deep);
  color:#fff;
  box-shadow:0 14px 34px rgba(6,35,24,.22);
}

.page-inicio .re-about-seal i{
  color:#78dfb1;
  font-size:1.5rem;
}

.page-inicio .re-about-seal span{
  font-size:.72rem;
  font-weight:700;
  line-height:1.4;
}

.page-inicio .re-about-copy{
  padding-left:10px;
}

.page-inicio .re-about-copy > p{
  margin-top:16px;
}

.page-inicio .re-about-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px 18px;
  margin:24px 0 27px;
}

.page-inicio .re-about-points div{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#4d665b;
  font-size:.75rem;
  line-height:1.5;
}

.page-inicio .re-about-points i{
  margin-top:1px;
  color:var(--re-green-2);
}

.page-inicio .re-text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--re-green) !important;
  text-decoration:none;
  font-size:.77rem;
  font-weight:700;
}

.page-inicio .re-stats-panel{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:60px;
  border:1px solid #dce9e2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

.page-inicio .re-stat-item{
  min-height:108px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
  position:relative;
}

.page-inicio .re-stat-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:24px;
  right:0;
  bottom:24px;
  width:1px;
  background:#e4eee9;
}

.page-inicio .re-stat-item strong{
  color:var(--re-green);
  font-size:1.65rem;
  font-weight:780;
  letter-spacing:-.045em;
}

.page-inicio .re-stat-item span{
  color:#72867c;
  font-size:.68rem;
}

/* ============================================================
   LISTAGENS HOME
============================================================ */
.page-inicio .re-listing-section{
  padding:78px 0 64px;
}

.page-inicio .re-listing-section-light{
  background:#fff;
}

.page-inicio .re-listing-section-soft{
  background:#f2f7f4;
}

.page-inicio .re-listing-section .row > [class*="col-"]{
  display:flex;
}

.page-inicio .re-listing-section .re-property-card{
  width:100%;
}

/* ============================================================
   SERVIÇOS
============================================================ */
.page-inicio .re-services-section{
  padding:82px 0;
  background:var(--re-deep);
}

.page-inicio .re-services-section .re-section-kicker{
  color:#7ee1b5;
}

.page-inicio .re-services-section .re-section-heading h2{
  color:#fff;
}

.page-inicio .re-services-section .re-section-heading p{
  color:rgba(255,255,255,.58);
}

.page-inicio .re-service-card{
  min-height:240px;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  color:#fff !important;
  text-decoration:none;
  transition:background-color .2s ease,transform .2s ease,border-color .2s ease;
}

.page-inicio .re-service-card:hover,
.page-inicio .re-service-card:focus-visible{
  background:rgba(255,255,255,.075);
  border-color:rgba(116,224,176,.28);
  transform:translateY(-4px);
}

.page-inicio .re-service-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:25px;
  border-radius:13px;
  background:rgba(16,185,129,.14);
  color:#7ae2b3;
  font-size:1.15rem;
}

.page-inicio .re-service-card h3{
  margin:0 0 9px;
  color:#fff;
  font-size:.96rem;
  font-weight:700;
}

.page-inicio .re-service-card p{
  margin:0 0 20px;
  color:rgba(255,255,255,.56);
  font-size:.72rem;
  line-height:1.65;
}

.page-inicio .re-service-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  color:#85e5ba;
  font-size:.7rem;
  font-weight:700;
}

/* ============================================================
   CTA HOME
============================================================ */
.page-inicio .re-home-cta{
  padding:72px 0;
  background:#fff;
}

.page-inicio .re-home-cta-box{
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding:42px 48px;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 12%,rgba(34,197,139,.17),transparent 28%),
    linear-gradient(135deg,#0b251b,#0d3928);
  color:#fff;
  overflow:hidden;
}

.page-inicio .re-home-cta-copy{
  max-width:670px;
}

.page-inicio .re-home-cta h2{
  margin-top:9px;
  color:#fff;
}

.page-inicio .re-home-cta p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.65);
  font-size:.85rem;
  line-height:1.7;
}

.page-inicio .re-section-kicker-light{
  color:#82e5ba;
}

.re-btn-light{
  background:#fff;
  color:var(--re-green) !important;
}

.re-btn-light:hover,
.re-btn-light:focus-visible{
  background:#eaf8f1;
  color:var(--re-accent-dark) !important;
  transform:translateY(-2px);
}

.re-btn-outline-light{
  border-color:rgba(255,255,255,.27);
  background:transparent;
  color:#fff !important;
}

.re-btn-outline-light:hover,
.re-btn-outline-light:focus-visible{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.42);
  color:#fff !important;
  transform:translateY(-2px);
}


/* ============================================================
   COMPATIBILIDADE COM PÁGINAS INTERNAS
============================================================ */
body:not(.page-inicio) > nav.site-navbar{
  position:sticky;
  top:0;
}

body:not(.page-inicio) .site-brand-header{
  background:#fff;
}

/* Formulários: neutraliza qualquer fundo antigo marrom/bege em longtext. */
textarea,
textarea.form-control,
.form-control[type="text"],
.form-control[type="email"],
.form-control[type="tel"]{
  background-color:#fff !important;
  color:var(--re-ink) !important;
}

textarea:focus,
textarea.form-control:focus{
  background-color:#fff !important;
}

/* ============================================================
   MENU MOBILE
============================================================ */
@media (max-width:991.98px){
  .site-brand-header-inner{
    min-height:104px;
    padding-top:14px;
    padding-bottom:14px;
  }

  .site-brand-logo-wrap{
    width:120px;
    height:76px;
  }

  .site-brand-logo{
    max-width:120px;
    max-height:76px;
    border-radius:13px;
  }

  .site-brand-name{
    font-size:.89rem;
  }

  .site-brand-meta{
    font-size:.68rem;
  }

  .site-creci-pill{
    display:none;
  }

  .site-header-contact-btn{
    min-height:40px;
    width:40px;
    padding:0;
    border-radius:50%;
  }

  .site-header-contact-btn span{
    display:none;
  }

  body > nav.site-navbar{
    min-height:54px !important;
    padding:7px 0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
  }

  body > nav.site-navbar .site-navbar-inner{
    min-height:40px;
    display:block;
  }

  body > nav.site-navbar .site-menu-toggle{
    width:100% !important;
    min-height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin:0 !important;
    padding:0 14px !important;
    border:0 !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.09) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  body > nav.site-navbar .site-menu-toggle:focus{
    box-shadow:none !important;
  }

  body > nav.site-navbar .site-menu-toggle-main{
    display:flex;
    align-items:center;
    gap:8px;
  }

  body > nav.site-navbar .site-menu-toggle-main > i{
    font-size:1.1rem;
  }

  body > nav.site-navbar .site-menu-toggle-main span{
    font-size:.78rem;
    font-weight:650;
  }

  body > nav.site-navbar .site-menu-chevron{
    font-size:.78rem;
    transition:transform .2s ease;
  }

  body > nav.site-navbar .site-menu-toggle[aria-expanded="true"] .site-menu-chevron{
    transform:rotate(180deg);
  }

  body > nav.site-navbar .site-main-nav{
    width:100%;
    padding:9px 0 1px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  body > nav.site-navbar .site-main-nav .navbar-nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px !important;
    width:100%;
    margin:0 !important;
  }

  body > nav.site-navbar .site-main-nav .nav-item{
    width:100%;
    margin:0 !important;
  }

  body > nav.site-navbar .site-main-nav .nav-item:last-child:nth-child(odd){
    grid-column:1 / -1;
  }

  body > nav.site-navbar .site-main-nav .nav-link{
    min-height:52px !important;
    width:100%;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:0 13px !important;
    border:0 !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.105) !important;
    color:rgba(255,255,255,.93) !important;
    box-shadow:none !important;
    text-shadow:none !important;
    font-size:.76rem !important;
    font-weight:580 !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link::after{
    display:none !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link i{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:8px;
    background:rgba(255,255,255,.09);
    color:#c4f3dd !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link:hover,
  body > nav.site-navbar .site-main-nav .nav-link:focus-visible,
  body > nav.site-navbar .site-main-nav .nav-link.active{
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .page-inicio .re-hero{
    padding-bottom:0;
  }

  .page-inicio .re-hero-slide,
  .page-inicio .re-hero-content{
    min-height:570px;
  }

  .page-inicio .re-hero-content{
    padding-top:45px;
    padding-bottom:75px;
  }

  .page-inicio .re-hero-copy{
    width:82%;
  }

  .page-inicio .re-hero .re-hero-title{
    font-size:clamp(2.25rem,7vw,4rem) !important;
  }

  .page-inicio .re-hero-controls{
    right:24px;
    bottom:32px;
  }

  .page-inicio .re-search-shell{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    margin-top:-38px;
  }

  .page-inicio .re-search-card{
    position:relative;
    z-index:8;
  }

  .page-inicio .re-search-form{
    grid-template-columns:1fr 1fr;
  }

  .page-inicio .re-search-submit{
    grid-column:1 / -1;
  }

 .page-inicio .re-trust-strip{
    padding:0 0 44px;
  }

  .page-inicio .re-trust-grid{
    grid-template-columns:1fr 1fr;
  }

  .page-inicio .re-trust-item{
    min-height:146px;
    gap:20px;
    padding:17px 14px;
  }

  .page-inicio .re-trust-icon{
    width:108px;
    height:108px;
    border-radius:30px;
    font-size:2.64rem;
  }

  .page-inicio .re-trust-item strong{
    font-size:.92rem;
  }

  .page-inicio .re-trust-item span:not(.re-trust-icon){
    font-size:.76rem;
    line-height:1.5;
  }

  .page-inicio .re-trust-item:nth-child(2)::after{
    display:none;
  }


  .page-inicio .re-about-copy{
    padding-left:0;
  }

  .page-inicio .re-about-media{
    margin:0 auto;
  }

  .page-inicio .re-about-seal{
    right:18px;
  }

  .page-inicio .re-home-cta-box{
    align-items:flex-start;
    flex-direction:column;
  }

}

@media (max-width:767.98px){
  .site-brand-header-inner{
    min-height:90px;
    gap:12px;
    padding-top:10px;
    padding-bottom:10px;
  }

  .site-brand-logo-wrap{
    width:82px;
    height:62px;
  }

  .site-brand-logo{
    max-width:82px;
    max-height:62px;
    border-radius:11px;
  }

  .site-brand-name{
    max-width:215px;
    font-size:.79rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .site-brand-meta{
    display:none;
  }

  .page-inicio .re-hero-slide,
  .page-inicio .re-hero-content{
    min-height:515px;
  }

  .page-inicio .re-hero-content{
    padding-top:38px;
    padding-bottom:68px;
  }

  .page-inicio .re-hero-copy{
    width:100%;
  }

  .page-inicio .re-hero .re-hero-title{
    margin-top:13px;
    font-size:clamp(2rem,10vw,3rem) !important;
    line-height:1.01;
  }

  .page-inicio .re-hero-location{
    font-size:.78rem;
  }

  .page-inicio .re-hero-actions-row{
    gap:17px;
  }

  .page-inicio .re-hero-actions{
    width:100%;
  }

  .page-inicio .re-hero-actions .re-btn{
    flex:1 1 auto;
  }

  .page-inicio .re-hero-controls{
    display:none;
  }

  .page-inicio .re-search-shell{
    margin-top:-26px;
  }

  .page-inicio .re-search-card{
    padding:18px;
    border-radius:17px;
  }

  .page-inicio .re-search-heading{
    align-items:flex-start;
  }

  .page-inicio .re-search-all-link{
    display:none;
  }

  .page-inicio .re-search-form{
    grid-template-columns:1fr;
  }

  .page-inicio .re-search-submit{
    grid-column:auto;
  }

 .page-inicio .re-trust-strip{
    padding:0 0 36px;
  }

  .page-inicio .re-trust-grid{
    grid-template-columns:1fr;
  }

  .page-inicio .re-trust-item{
    min-height:132px;
    gap:20px;
    padding:16px 17px;
  }

  .page-inicio .re-trust-icon{
    width:100px;
    height:100px;
    border-radius:28px;
    font-size:2.50rem;
  }

  .page-inicio .re-trust-item strong{
    font-size:.90rem;
  }

  .page-inicio .re-trust-item span:not(.re-trust-icon){
    font-size:.75rem;
    line-height:1.5;
  }

  .page-inicio .re-trust-item::after{
    display:none !important;
  }

  .page-inicio .re-trust-item:not(:last-child){
    border-bottom:0;
  }

  .page-inicio .re-section-heading-split{
    align-items:flex-start;
    flex-direction:column;
  }

  .page-inicio .re-section-heading h2,
  .page-inicio .re-about-copy h2,
  .page-inicio .re-home-cta h2{
    font-size:2rem;
  }

  .page-inicio .re-featured-section,
  .page-inicio .re-about-section,
  .page-inicio .re-listing-section,
  .page-inicio .re-services-section,
  .page-inicio .re-home-cta{
    padding-top:58px;
    padding-bottom:58px;
  }

  .page-inicio .re-about-media{
    aspect-ratio:1/1;
  }

  .page-inicio .re-about-seal{
    right:12px;
    bottom:12px;
    min-width:137px;
  }

  .page-inicio .re-about-points{
    grid-template-columns:1fr;
  }

  .page-inicio .re-stats-panel{
    grid-template-columns:1fr 1fr;
    margin-top:42px;
  }

  .page-inicio .re-stat-item{
    min-height:95px;
  }

  .page-inicio .re-stat-item:nth-child(2)::after{
    display:none;
  }

  .page-inicio .re-stat-item:nth-child(-n+2){
    border-bottom:1px solid #e4eee9;
  }

  .page-inicio .re-home-cta-box{
    padding:30px 24px;
  }

  .page-inicio .re-home-cta-actions{
    width:100%;
  }

  .page-inicio .re-home-cta-actions .re-btn{
    width:100%;
  }

}

@media (max-width:420px){
  .site-brand-logo-wrap{
    width:72px;
    height:55px;
  }

  .site-brand-logo{
    max-width:72px;
    max-height:55px;
    border-radius:10px;
  }

  .site-brand-name{
    max-width:175px;
  }

  body > nav.site-navbar .site-main-nav .navbar-nav{
    grid-template-columns:1fr 1fr;
  }

  body > nav.site-navbar .site-main-nav .nav-link{
    min-height:49px !important;
    padding:0 10px !important;
    font-size:.71rem !important;
  }

  .page-inicio .re-kicker{
    font-size:.65rem;
  }

  .page-inicio .re-hero-price strong{
    font-size:1.25rem;
  }

  .re-whatsapp-float{
    right:15px;
    bottom:15px;
    width:48px;
    height:48px;
  }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}


/* ============================================================
   AJUSTE 08/09/2026 — RESPIRO ENTRE BUSCA E DESTAQUES
   A busca flutuante invade o final do hero; esta reserva vertical
   impede que o título "Imóveis em destaque" fique colado nela.
============================================================ */
.page-inicio .re-featured-section{
  padding-top:132px;
}

/* Sem badge no hero, os metadados passam a iniciar naturalmente. */
.page-inicio .re-hero-meta{
  margin-top:0;
}

@media (max-width:991.98px){
  .page-inicio .re-featured-section{
    padding-top:112px;
  }
}

@media (max-width:575.98px){
  .page-inicio .re-featured-section{
    padding-top:96px;
  }
}

/* ============================================================
   HEADER CANÔNICO — 09/09/2026
   Referência aprovada: faixa institucional verde-escura, marca
   centralizada e menu verde simples logo abaixo.
============================================================ */
.site-brand-header,
body:not(.page-inicio) .site-brand-header{
  position:relative;
  z-index:1030;
  background:#0B2119 !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-brand-header-inner{
  min-height:154px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding-top:20px !important;
  padding-bottom:20px !important;
}

.site-brand{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  width:auto !important;
  max-width:100%;
  color:#fff !important;
  text-decoration:none !important;
}

.site-brand-logo-wrap{
  width:170px !important;
  height:112px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 170px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.site-brand-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:170px !important;
  max-height:112px !important;
  object-fit:contain !important;
  border-radius:20px !important;
}

.site-brand-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0;
}

.site-brand-name{
  color:#fff !important;
  font-size:1.08rem !important;
  font-weight:650 !important;
  letter-spacing:-.015em !important;
  line-height:1.2 !important;
}

.site-brand-meta{
  display:block !important;
  margin-top:7px !important;
  color:#D6E4DE !important;
  font-size:.82rem !important;
  font-weight:450 !important;
  line-height:1.3 !important;
}

.site-creci-pill{
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:12px !important;
  padding:0 15px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#10B981 !important;
  color:#fff !important;
  font-size:.76rem !important;
  font-weight:750 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

/* Não há ações laterais no cabeçalho aprovado. */
.site-brand-actions,
.site-header-contact-btn,
.site-nav-cta{
  display:none !important;
}

body > nav.site-navbar{
  --bs-navbar-padding-y:0;
  min-height:54px !important;
  margin:0 !important;
  padding:0 !important;
  background:#06683D !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

body > nav.site-navbar .site-navbar-inner{
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body > nav.site-navbar .site-main-nav{
  width:auto !important;
  flex-grow:0 !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
}

body > nav.site-navbar .site-main-nav .navbar-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  margin:0 auto !important;
}

body > nav.site-navbar .site-main-nav .nav-link{
  min-height:54px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 17px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:.93rem !important;
  font-weight:650 !important;
  line-height:1 !important;
  text-shadow:none !important;
  box-shadow:none !important;
  filter:none !important;
}

body > nav.site-navbar .site-main-nav .nav-link i{
  margin:0 !important;
  color:#C8F5DF !important;
  font-size:1rem !important;
}

body > nav.site-navbar .site-main-nav .nav-link::after{
  left:17px !important;
  right:17px !important;
  bottom:0 !important;
  height:2px !important;
  background:#C8F5DF !important;
}

body > nav.site-navbar .site-main-nav .nav-link:hover,
body > nav.site-navbar .site-main-nav .nav-link:focus-visible,
body > nav.site-navbar .site-main-nav .nav-link.active{
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

@media (max-width:991.98px){
  .site-brand-header-inner{
    min-height:116px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .site-brand{
    gap:14px !important;
  }

  .site-brand-logo-wrap{
    width:120px !important;
    height:80px !important;
    flex-basis:120px !important;
    border-radius:17px !important;
  }

  .site-brand-logo{
    max-width:120px !important;
    max-height:80px !important;
    border-radius:15px !important;
  }

  .site-brand-name{
    max-width:none !important;
    font-size:.92rem !important;
    white-space:normal !important;
  }

  .site-brand-meta{
    display:block !important;
    margin-top:5px !important;
    font-size:.72rem !important;
  }

  .site-creci-pill{
    min-height:29px !important;
    margin-top:8px !important;
    padding:0 12px !important;
    font-size:.68rem !important;
  }

  body > nav.site-navbar{
    min-height:54px !important;
    padding:7px 0 !important;
  }

  body > nav.site-navbar .site-navbar-inner{
    min-height:40px !important;
    display:block !important;
  }

  body > nav.site-navbar .site-main-nav{
    width:100% !important;
    padding-top:9px !important;
  }

  body > nav.site-navbar .site-main-nav .navbar-nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link{
    min-height:52px !important;
    width:100% !important;
    justify-content:flex-start !important;
    padding:0 13px !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.10) !important;
    font-size:.76rem !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link::after{
    display:none !important;
  }

  body > nav.site-navbar .site-main-nav .nav-link:hover,
  body > nav.site-navbar .site-main-nav .nav-link:focus-visible,
  body > nav.site-navbar .site-main-nav .nav-link.active{
    background:rgba(255,255,255,.15) !important;
  }
}

@media (max-width:575.98px){
  .site-brand-header-inner{
    min-height:104px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  .site-brand{
    width:100% !important;
    justify-content:flex-start !important;
    gap:12px !important;
  }

  .site-brand-logo-wrap{
    width:96px !important;
    height:66px !important;
    flex-basis:96px !important;
    border-radius:15px !important;
  }

  .site-brand-logo{
    max-width:96px !important;
    max-height:66px !important;
    border-radius:13px !important;
  }

  .site-brand-copy{
    min-width:0 !important;
  }

  .site-brand-name{
    max-width:230px !important;
    font-size:.79rem !important;
    line-height:1.18 !important;
  }

  .site-brand-meta{
    max-width:230px !important;
    font-size:.65rem !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .site-creci-pill{
    min-height:26px !important;
    margin-top:7px !important;
    padding:0 10px !important;
    font-size:.62rem !important;
  }
}
