:root{
  --azul:#0b3d78;
  --azul2:#082b55;
  --claro:#f6f8fb;
  --texto:#1f2d3d;
  --dourado:#c8a46b;

  --ds-azul:#0b3d78;
  --ds-azul-escuro:#082b55;
  --ds-dourado:#c8a46b;
  --ds-branco:#ffffff;
}

*{
  scroll-behavior:smooth;
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
}

body{
  font-family:'Segoe UI', Arial, sans-serif;
  color:var(--texto);
  background:#fff;
}

/* =====================================================
   ESTILOS GERAIS DO SITE
===================================================== */

.btn-main{
  background:var(--azul);
  color:#fff;
  border-radius:50px;
  padding:12px 28px;
  font-weight:700;
  border:none;
  transition:.25s ease;
}

.btn-main:hover,
.btn-main:focus{
  background:var(--azul2);
  color:#fff;
}

.btn-outline-main{
  border:1px solid var(--azul);
  color:var(--azul);
  border-radius:50px;
  padding:12px 28px;
  font-weight:700;
  transition:.25s ease;
}

.btn-outline-main:hover,
.btn-outline-main:focus{
  background:var(--azul);
  color:#fff;
}

.search-box{
  background:#fff;
  padding:25px;
  border-radius:24px;
  box-shadow:0 20px 55px rgba(0,0,0,.18);
  margin-top:35px;
}

.search-box label{
  color:var(--azul);
  font-weight:700;
  font-size:.85rem;
}

.search-box .form-control,
.search-box .form-select{
  border-radius:14px;
  padding:13px;
}

.section-title{
  color:var(--azul);
  font-weight:800;
  font-size:clamp(2rem,4vw,3.2rem);
}

.section-subtitle{
  color:#6c757d;
  max-width:650px;
}

.property-card{
  border:none;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 35px rgba(0,0,0,.09);
  transition:.35s;
  height:100%;
}

.property-card:hover{
  transform:translateY(-8px);
}

.property-img{
  height:245px;
  object-fit:cover;
}

.badge-status{
  position:absolute;
  top:18px;
  left:18px;
  background:var(--azul);
  padding:9px 16px;
  border-radius:50px;
  color:#fff;
  font-weight:700;
}

.price{
  color:var(--azul);
  font-size:1.35rem;
  font-weight:800;
}

.info-icons{
  color:#6c757d;
  font-size:.95rem;
}

.category-card{
  border-radius:24px;
  overflow:hidden;
  position:relative;
  min-height:260px;
  color:#fff;
  background-size:cover;
  background-position:center;
  transition:.35s;
}

.category-card:hover{
  transform:scale(1.03);
}

.category-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg, rgba(8,43,85,.92), rgba(8,43,85,.18));
}

.category-content{
  position:absolute;
  bottom:25px;
  left:25px;
  right:25px;
}

.launch-box{
  background:var(--claro);
  border-radius:30px;
  padding:40px;
}

.feature-box{
  background:#fff;
  border-radius:24px;
  padding:30px;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  height:100%;
}

.feature-box i{
  color:var(--azul);
  font-size:2.3rem;
}

.testimonial{
  background:#fff;
  border-radius:24px;
  padding:30px;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  height:100%;
}

.cta{
  background:
    linear-gradient(90deg, rgba(8,43,85,.95), rgba(11,61,120,.82)),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1600&q=80') center/cover;
  color:#fff;
  border-radius:35px;
  padding:65px 35px;
}

footer{
  background:var(--azul2);
  color:#fff;
}

.whats-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:62px;
  height:62px;
  background:#25d366;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  z-index:999;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  text-decoration:none;
}

.reveal{
  opacity:0;
  transform:translateY(35px);
  transition:.8s;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* =====================================================
   NOVA NAVBAR - CLASSES EXCLUSIVAS DS
===================================================== */

.ds-navbar{
  position:fixed;
  inset:0 0 auto 0;
  width:100%;
  z-index:1080;
  padding:14px 0;
  background:linear-gradient(to bottom, rgba(0,0,0,.45), transparent);
  box-shadow:none;
  transition:
    background-color .35s ease,
    box-shadow .35s ease,
    padding .35s ease,
    backdrop-filter .35s ease;
}

.ds-navbar.ds-scrolled{
  padding:7px 0;
  background:rgba(8,43,85,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.ds-navbar-brand{
  display:flex;
  align-items:center;
  position:relative;
  z-index:3;
  padding:8px 14px;
  margin:0 24px 0 0;
  border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 25px rgba(0,0,0,.16);
}

.ds-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:220px;
  max-height:72px;
  object-fit:contain;
  opacity:1 !important;
  visibility:visible !important;
  transition:max-height .35s ease, max-width .35s ease;
}

.ds-navbar.ds-scrolled .ds-logo{
  max-height:55px;
}

.ds-menu .nav-link{
  position:relative;
  color:#fff !important;
  font-weight:700;
  font-size:.95rem;
  padding:12px 13px !important;
  text-shadow:0 2px 5px rgba(0,0,0,.35);
  transition:color .25s ease;
}

.ds-menu .nav-link:hover,
.ds-menu .nav-link:focus,
.ds-menu .nav-link.active{
  color:var(--ds-dourado) !important;
}

.ds-whatsapp-btn{
  border-radius:50px;
  padding:12px 24px;
  background:#fff;
  color:var(--ds-azul);
  font-weight:800;
  border:none;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
  transition:.25s ease;
}

.ds-whatsapp-btn:hover,
.ds-whatsapp-btn:focus{
  background:var(--ds-dourado);
  color:#fff;
}

.ds-navbar-toggler{
  border:1px solid rgba(255,255,255,.7);
  box-shadow:none !important;
  padding:8px 10px;
}

.ds-navbar-toggler .navbar-toggler-icon{
  filter:brightness(0) invert(1);
}

/* =====================================================
   NOVO BANNER/CARROSSEL - CLASSES EXCLUSIVAS DS
===================================================== */

.ds-hero{
  position:relative;
  background:var(--ds-azul-escuro);
  margin:0;
  padding:0 0 88px;
  overflow:visible;
}

.ds-hero .carousel,
.ds-hero .carousel-inner{
  position:relative;
}

.ds-hero .carousel-inner{
  overflow:hidden;
}

.ds-hero .carousel-item{
  position:relative;
  min-height:780px;
  height:100vh;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#fff;
}

.ds-banner-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(3,25,52,.92) 0%,
      rgba(8,43,85,.72) 42%,
      rgba(8,43,85,.28) 75%,
      rgba(8,43,85,.12) 100%
    );
}

.ds-banner-content{
  position:relative;
  z-index:2;
  height:100%;
}

.ds-banner-content .row{
  min-height:780px;
  height:100vh;
  padding-top:120px;
  padding-bottom:130px;
}

.ds-banner-content h1{
  color:#fff;
  font-size:clamp(2.8rem,5.4vw,5.8rem);
  line-height:1;
  font-weight:850;
  letter-spacing:-2px;
  max-width:980px;
  margin:0;
  text-shadow:0 5px 22px rgba(0,0,0,.28);
}

.ds-banner-content p{
  color:rgba(255,255,255,.94);
  font-size:1.2rem;
  line-height:1.7;
  max-width:680px;
  margin:22px 0 0;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}

.ds-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  margin-bottom:22px;
  color:var(--ds-azul);
  background:#fff;
  border-radius:50px;
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.5px;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.ds-primary-btn,
.ds-outline-btn{
  border-radius:50px;
  padding:14px 28px;
  font-weight:800;
  transition:.25s ease;
}

.ds-primary-btn{
  background:var(--ds-dourado);
  color:#fff;
  border:1px solid var(--ds-dourado);
}

.ds-primary-btn:hover,
.ds-primary-btn:focus{
  background:#b58e52;
  border-color:#b58e52;
  color:#fff;
}

.ds-outline-btn{
  color:#fff;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.ds-outline-btn:hover,
.ds-outline-btn:focus{
  color:var(--ds-azul);
  background:#fff;
}

/* =====================================================
   BUSCA DO NOVO BANNER
===================================================== */

.ds-search-area{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:20;
  transform:translateY(50%);
}

.ds-search-box{
  padding:26px;
  border-radius:26px;
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 60px rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.7);
}

.ds-search-box label{
  display:block;
  color:var(--ds-azul-escuro);
  font-size:.83rem;
  font-weight:800;
  margin-bottom:7px;
}

.ds-search-box .form-select,
.ds-search-box .form-control{
  min-height:54px;
  border-radius:15px;
  border:1px solid #d8e0ea;
  padding:12px 14px;
}

.ds-search-box .form-select:focus,
.ds-search-box .form-control:focus{
  border-color:var(--ds-azul);
  box-shadow:0 0 0 .2rem rgba(11,61,120,.12);
}

.ds-search-btn{
  min-height:54px;
  border-radius:50px;
  background:var(--ds-azul);
  color:#fff;
  font-weight:800;
  border:none;
  transition:.25s ease;
}

.ds-search-btn:hover,
.ds-search-btn:focus{
  background:var(--ds-azul-escuro);
  color:#fff;
}

/* =====================================================
   CONTROLES DO CARROSSEL
===================================================== */

.ds-carousel-indicators{
  bottom:120px;
  z-index:15;
  margin-bottom:0;
}

.ds-carousel-indicators [data-bs-target]{
  width:34px;
  height:4px;
  border-radius:50px;
  border:0;
}

.ds-carousel-control{
  width:6%;
  z-index:12;
}

.ds-carousel-control .carousel-control-prev-icon,
.ds-carousel-control .carousel-control-next-icon{
  width:48px;
  height:48px;
  padding:15px;
  border-radius:50%;
  background-color:rgba(8,43,85,.65);
  background-size:45%;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}

/* =====================================================
   ANIMAÇÃO DO BANNER
===================================================== */

.ds-hero .carousel-item .ds-kicker,
.ds-hero .carousel-item h1,
.ds-hero .carousel-item p,
.ds-hero .carousel-item .btn{
  opacity:0;
  transform:translateY(25px);
  transition:.75s ease;
}

.ds-hero .carousel-item.active .ds-kicker,
.ds-hero .carousel-item.active h1,
.ds-hero .carousel-item.active p,
.ds-hero .carousel-item.active .btn{
  opacity:1;
  transform:translateY(0);
}

.ds-hero .carousel-item.active h1{
  transition-delay:.12s;
}

.ds-hero .carousel-item.active p{
  transition-delay:.22s;
}

.ds-hero .carousel-item.active .btn{
  transition-delay:.30s;
}

/* =====================================================
   RESPONSIVO GERAL
===================================================== */

@media(max-width:1199.98px){

  .ds-menu .nav-link{
    padding:10px 9px !important;
    font-size:.9rem;
  }

  .ds-logo{
    max-width:185px;
  }
}

@media(max-width:991.98px){

  .ds-navbar{
    padding:10px 0;
  }

  .ds-navbar-brand{
    padding:6px 10px;
  }

  .ds-logo{
    max-width:175px;
    max-height:55px;
  }

  .ds-navbar .navbar-collapse{
    margin-top:10px;
    padding:15px;
    border-radius:18px;
    background:rgba(8,43,85,.98);
    box-shadow:0 18px 45px rgba(0,0,0,.25);
  }

  .ds-menu .nav-link{
    padding:11px 10px !important;
  }

  .ds-whatsapp-btn{
    width:100%;
    margin-top:8px;
  }

  .ds-hero{
    padding-bottom:245px;
  }

  .ds-hero .carousel-item{
    min-height:690px;
    height:690px;
  }

  .ds-banner-content .row{
    min-height:690px;
    height:690px;
    padding-top:110px;
    padding-bottom:100px;
  }

  .ds-banner-content h1{
    font-size:clamp(2.6rem,7vw,4.5rem);
  }

  .ds-search-area{
    transform:translateY(76%);
  }

  .ds-carousel-indicators{
    bottom:35px;
  }
}

@media(max-width:767.98px){

  .ds-hero{
    padding-bottom:420px;
  }

  .ds-hero .carousel-item{
    min-height:620px;
    height:620px;
  }

  .ds-banner-content .row{
    min-height:620px;
    height:620px;
    padding-top:100px;
    padding-bottom:55px;
  }

  .ds-banner-content h1{
    font-size:2.35rem;
    letter-spacing:-1px;
  }

  .ds-banner-content p{
    font-size:1rem;
    line-height:1.55;
  }

  .ds-search-area{
    transform:translateY(86%);
  }

  .ds-search-box{
    padding:18px;
    border-radius:20px;
  }

  .ds-carousel-control{
    display:none;
  }

  .ds-carousel-indicators{
    bottom:18px;
  }

  .search-box{
    padding:18px;
  }

  .property-img{
    height:220px;
  }

  .launch-box{
    padding:25px;
  }
}

@media(max-width:575.98px){

  .ds-logo{
    max-width:150px;
    max-height:48px;
  }

  .ds-hero{
    padding-bottom:435px;
  }

  .ds-hero .carousel-item{
    min-height:590px;
    height:590px;
  }

  .ds-banner-content .row{
    min-height:590px;
    height:590px;
    padding-top:95px;
  }

  .ds-banner-content h1{
    font-size:2.05rem;
  }

  .ds-banner-content p{
    font-size:.98rem;
  }

  .ds-kicker{
    font-size:.72rem;
    padding:8px 13px;
  }

  .ds-primary-btn,
  .ds-outline-btn{
    width:100%;
    text-align:center;
  }
}

/* =====================================================
   PÁGINA DE DETALHES DO IMÓVEL
   Tudo fica isolado dentro de .property-detail-page
===================================================== */

.property-detail-page{
  background:var(--claro);
}

.property-detail-page .ds-navbar{
  background:rgba(8,43,85,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.property-detail-page .destaque-page{
  overflow:hidden;
  color:var(--texto);
}

.property-detail-page .destaque-page .page-header{
  position:relative;
  padding:155px 0 52px;
  background:
    radial-gradient(circle at 90% 15%, rgba(200,164,107,.18), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #eef3f8 100%);
  border-bottom:1px solid rgba(11,61,120,.08);
}

.property-detail-page .destaque-page .page-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg, var(--azul), var(--dourado));
}

.property-detail-page .destaque-page .breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2px;
  margin:0;
  padding:0;
  background:transparent;
  font-size:.92rem;
}

.property-detail-page .destaque-page .breadcrumb a{
  color:var(--azul);
  text-decoration:none;
  font-weight:700;
  transition:.25s ease;
}

.property-detail-page .destaque-page .breadcrumb a:hover{
  color:var(--dourado);
}

.property-detail-page .destaque-page .product-title{
  max-width:900px;
  margin:0 0 12px;
  color:var(--azul2);
  font-size:clamp(2rem,4vw,3.55rem);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-1px;
}

.property-detail-page .destaque-page .page-header .lead{
  color:#667381 !important;
  font-size:1.05rem;
}

.property-detail-page .destaque-page .page-header .badge{
  background:var(--azul) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(11,61,120,.18);
}

/* Conteúdo principal */

.property-detail-page .destaque-page > section.bg-light{
  background:#f5f7fa !important;
}

.property-detail-page .destaque-page > section.bg-light > .container{
  position:relative;
}

/* Galeria */

.property-detail-page .destaque-page .main-photo{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
  border:6px solid #fff;
  border-radius:28px;
  cursor:zoom-in;
  box-shadow:0 18px 48px rgba(8,43,85,.15);
}

.property-detail-page .destaque-page .thumb-photo{
  display:block;
  width:100%;
  height:118px;
  object-fit:cover;
  border:3px solid #fff;
  border-radius:16px;
  cursor:pointer;
  opacity:.72;
  box-shadow:0 8px 20px rgba(8,43,85,.08);
  transition:
    opacity .25s ease,
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.property-detail-page .destaque-page .thumb-photo:hover,
.property-detail-page .destaque-page .thumb-photo.active{
  opacity:1;
  transform:translateY(-4px);
  border-color:var(--dourado);
  box-shadow:0 12px 28px rgba(8,43,85,.16);
}

/* Caixa lateral */

.property-detail-page .destaque-page .price-box{
  position:sticky;
  top:105px;
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(11,61,120,.08);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 48px rgba(8,43,85,.12);
}

.property-detail-page .destaque-page .price-box::before{
  content:"";
  display:block;
  width:74px;
  height:5px;
  margin:-30px 0 25px;
  border-radius:0 0 10px 10px;
  background:var(--dourado);
}

.property-detail-page .destaque-page .price-box .price{
  margin-bottom:22px !important;
  color:var(--azul);
  font-size:2.25rem;
  font-weight:850;
  line-height:1.1;
}

.property-detail-page .destaque-page .price-box p{
  color:#556270;
}

.property-detail-page .destaque-page .price-box strong{
  color:var(--azul2);
}

.property-detail-page .destaque-page .price-box hr{
  margin:24px 0;
  border-color:rgba(11,61,120,.12);
  opacity:1;
}

.property-detail-page .destaque-page .price-box .btn-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:52px;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(11,61,120,.2);
}

.property-detail-page .destaque-page .price-box .btn-main:hover{
  transform:translateY(-2px);
}

.property-detail-page .destaque-page .price-box .btn-outline-primary{
  min-height:52px;
  border:2px solid var(--azul);
  color:var(--azul);
  background:#fff;
  transition:.25s ease;
}

.property-detail-page .destaque-page .price-box .btn-outline-primary:hover,
.property-detail-page .destaque-page .price-box .btn-outline-primary:focus{
  border-color:var(--azul);
  background:var(--azul);
  color:#fff;
}

.property-detail-page .destaque-page .contact-mini{
  padding:23px;
  border-radius:20px;
  background:
    linear-gradient(135deg, rgba(11,61,120,.98), rgba(8,43,85,.98));
  color:#fff;
}

.property-detail-page .destaque-page .contact-mini h5,
.property-detail-page .destaque-page .contact-mini p{
  color:#fff;
}

/* Cards de números */

.property-detail-page .destaque-page .info-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:180px;
  height:100%;
  padding:28px 20px;
  border:1px solid rgba(11,61,120,.07);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(8,43,85,.09);
  transition:transform .25s ease, box-shadow .25s ease;
}

.property-detail-page .destaque-page .info-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(8,43,85,.14);
}

.property-detail-page .destaque-page .info-card i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:18px;
  background:rgba(11,61,120,.08);
  color:var(--azul);
  font-size:1.8rem;
}

.property-detail-page .destaque-page .info-card h5{
  margin-bottom:5px;
  color:var(--azul2);
  font-size:1.35rem;
}

/* Descrição */

.property-detail-page .destaque-page .desc-box{
  height:100%;
  padding:34px;
  border:1px solid rgba(11,61,120,.07);
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 38px rgba(8,43,85,.09);
}

.property-detail-page .destaque-page .desc-box .section-title{
  position:relative;
  margin-bottom:24px !important;
  padding-bottom:14px;
  color:var(--azul2);
  font-size:clamp(1.65rem,3vw,2.2rem);
  line-height:1.2;
}

.property-detail-page .destaque-page .desc-box .section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:58px;
  height:4px;
  border-radius:50px;
  background:var(--dourado);
}

.property-detail-page .destaque-page .desc-box p{
  color:#5b6876;
  font-size:1rem;
  line-height:1.75;
}

.property-detail-page .destaque-page .feature-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  margin:0;
  padding:0;
  list-style:none;
}

.property-detail-page .destaque-page .feature-list li{
  display:flex;
  align-items:flex-start;
  color:#4d5966;
  line-height:1.45;
}

.property-detail-page .destaque-page .feature-list i{
  flex:0 0 auto;
  margin:2px 8px 0 0;
  color:var(--dourado);
}

/* Lightbox */

.property-detail-page .destaque-page .lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(3,15,30,.94);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.property-detail-page .destaque-page .lightbox.active{
  display:flex;
}

.property-detail-page .destaque-page .lightbox-img{
  display:block;
  max-width:min(1200px,90vw);
  max-height:84vh;
  object-fit:contain;
  border:4px solid rgba(255,255,255,.9);
  border-radius:18px;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
}

.property-detail-page .destaque-page .lightbox-close,
.property-detail-page .destaque-page .lightbox-prev,
.property-detail-page .destaque-page .lightbox-next{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  padding:0;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:26px;
  cursor:pointer;
  transition:.25s ease;
}

.property-detail-page .destaque-page .lightbox-close:hover,
.property-detail-page .destaque-page .lightbox-prev:hover,
.property-detail-page .destaque-page .lightbox-next:hover{
  background:#fff;
  color:var(--azul2);
}

.property-detail-page .destaque-page .lightbox-close{
  top:24px;
  right:24px;
}

.property-detail-page .destaque-page .lightbox-prev{
  top:50%;
  left:24px;
  transform:translateY(-50%);
}

.property-detail-page .destaque-page .lightbox-next{
  top:50%;
  right:24px;
  transform:translateY(-50%);
}

/* Responsivo */

@media(max-width:991.98px){

  .property-detail-page .destaque-page .price-box{
    position:relative;
    top:auto;
  }

  .property-detail-page .destaque-page .main-photo{
    height:430px;
  }
}

@media(max-width:767.98px){

  .property-detail-page .destaque-page .page-header{
    padding:125px 0 38px;
  }

  .property-detail-page .destaque-page .product-title{
    font-size:2.15rem;
    letter-spacing:-.5px;
  }

  .property-detail-page .destaque-page .main-photo{
    height:320px;
    border-width:4px;
    border-radius:22px;
  }

  .property-detail-page .destaque-page .thumb-photo{
    height:82px;
    border-radius:13px;
  }

  .property-detail-page .destaque-page .price-box,
  .property-detail-page .destaque-page .desc-box{
    padding:24px;
    border-radius:22px;
  }

  .property-detail-page .destaque-page .info-card{
    min-height:155px;
    padding:22px 15px;
    border-radius:20px;
  }

  .property-detail-page .destaque-page .feature-list{
    grid-template-columns:1fr;
  }

  .property-detail-page .destaque-page .lightbox-prev{
    left:10px;
  }

  .property-detail-page .destaque-page .lightbox-next{
    right:10px;
  }
}

@media(max-width:575.98px){

  .property-detail-page .destaque-page .page-header{
    padding:112px 0 32px;
  }

  .property-detail-page .destaque-page .breadcrumb{
    font-size:.82rem;
  }

  .property-detail-page .destaque-page .product-title{
    font-size:1.8rem;
  }

  .property-detail-page .destaque-page .page-header .lead{
    font-size:.95rem;
  }

  .property-detail-page .destaque-page .main-photo{
    height:250px;
  }

  .property-detail-page .destaque-page .thumb-photo{
    height:66px;
    border-width:2px;
  }

  .property-detail-page .destaque-page .price-box .price{
    font-size:1.8rem;
  }

  .property-detail-page .destaque-page .desc-box{
    padding:21px;
  }

  .property-detail-page .destaque-page .lightbox{
    padding:12px;
  }

  .property-detail-page .destaque-page .lightbox-img{
    max-width:96vw;
    max-height:76vh;
    border-width:2px;
  }

  .property-detail-page .destaque-page .lightbox-close,
  .property-detail-page .destaque-page .lightbox-prev,
  .property-detail-page .destaque-page .lightbox-next{
    width:44px;
    height:44px;
    font-size:21px;
  }

  .property-detail-page .destaque-page .lightbox-close{
    top:12px;
    right:12px;
  }
}

/* =====================================================
   IMÓVEIS EM DESTAQUE - PÁGINA INICIAL
   Regras limitadas ao bloco #imoveis
===================================================== */

#imoveis{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(
      circle at top right,
      rgba(200,164,107,.10),
      transparent 32%
    ),
    #fff;
}

#imoveis .section-title{
  margin-bottom:12px;
  line-height:1.15;
}

#imoveis .section-subtitle{
  margin-bottom:0;
  font-size:1.05rem;
  line-height:1.7;
}

/* Card */

#imoveis .property-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(11,61,120,.08);
  border-radius:26px;
  background:#fff;
  box-shadow:0 15px 40px rgba(8,43,85,.09);
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

#imoveis .property-card:hover{
  transform:translateY(-8px);
  border-color:rgba(11,61,120,.18);
  box-shadow:0 24px 55px rgba(8,43,85,.16);
}

/* Imagem */

#imoveis .property-card .position-relative{
  overflow:hidden;
}

#imoveis .property-img{
  display:block;
  width:100%;
  height:265px;
  object-fit:cover;
  transition:transform .55s ease;
}

#imoveis .property-card:hover .property-img{
  transform:scale(1.055);
}

/* Badge de venda ou aluguel */

#imoveis .badge-status{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 17px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50px;
  background:rgba(11,61,120,.94);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.3px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

/* Corpo do card */

#imoveis .property-card .card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:25px;
}

#imoveis .property-card .card-body h5{
  min-height:52px;
  margin-bottom:10px;
  color:var(--azul2);
  font-size:1.18rem;
  line-height:1.4;
}

#imoveis .property-card .card-body > .text-muted{
  min-height:45px;
  margin-bottom:15px !important;
  color:#6b7785 !important;
  font-size:.94rem;
  line-height:1.45;
}

#imoveis .property-card .card-body > .text-muted i{
  margin-right:4px;
  color:var(--dourado);
}

/* Dormitórios, garagem e área */

#imoveis .info-icons{
  display:flex;
  flex-wrap:wrap;
  gap:9px !important;
  min-height:39px;
  margin-bottom:18px !important;
  color:#5e6976;
  font-size:.88rem;
}

#imoveis .info-icons span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid #e8edf3;
  border-radius:10px;
  background:#f8fafc;
  white-space:nowrap;
}

#imoveis .info-icons i{
  color:var(--azul);
  font-size:.95rem;
}

/* Preço */

#imoveis .price{
  margin-top:auto;
  margin-bottom:18px;
  color:var(--azul);
  font-size:1.55rem;
  font-weight:850;
  line-height:1.2;
}

/* Botão */

#imoveis .property-card .d-grid{
  margin-top:0;
}

#imoveis .property-card .btn-main{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  width:100%;
  padding:12px 20px;
  border-radius:14px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(11,61,120,.18);
}

#imoveis .property-card .btn-main:hover,
#imoveis .property-card .btn-main:focus{
  transform:translateY(-2px);
  box-shadow:0 12px 25px rgba(11,61,120,.25);
}

/* Botão ver todos */

#imoveis > .container > .text-center .btn-outline-main{
  min-width:230px;
  padding:14px 28px;
  background:#fff;
  box-shadow:0 8px 24px rgba(8,43,85,.08);
}

#imoveis > .container > .text-center .btn-outline-main:hover{
  box-shadow:0 12px 30px rgba(8,43,85,.18);
}

/* =====================================================
   RESPONSIVO
===================================================== */

@media(max-width:991.98px){

  #imoveis .property-img{
    height:245px;
  }

  #imoveis .property-card .card-body h5{
    min-height:auto;
  }
}

@media(max-width:767.98px){

  #imoveis{
    padding-top:35px !important;
    padding-bottom:35px !important;
  }

  #imoveis .container{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  #imoveis .property-img{
    height:260px;
  }

  #imoveis .property-card .card-body{
    padding:22px;
  }

  #imoveis .property-card .card-body > .text-muted{
    min-height:auto;
  }

  #imoveis .info-icons{
    min-height:auto;
  }
}

@media(max-width:575.98px){

  #imoveis .section-title{
    font-size:2rem;
  }

  #imoveis .section-subtitle{
    font-size:.96rem;
  }

  #imoveis .property-card{
    border-radius:22px;
  }

  #imoveis .property-img{
    height:230px;
  }

  #imoveis .property-card .card-body{
    padding:20px;
  }

  #imoveis .property-card .card-body h5{
    font-size:1.1rem;
  }

  #imoveis .info-icons{
    gap:7px !important;
  }

  #imoveis .info-icons span{
    padding:6px 8px;
    font-size:.82rem;
  }

  #imoveis .price{
    font-size:1.4rem;
  }

  #imoveis .badge-status{
    top:14px;
    left:14px;
    min-height:34px;
    padding:7px 14px;
  }
}


/* =====================================================
   PÁGINA DE LISTAGEM DE IMÓVEIS
   Regras isoladas para não afetar as outras páginas
===================================================== */

.property-list-page{
  background:#fff;
}

/* Mantém a navbar azul nesta página interna */
.property-list-page .ds-navbar{
  background:rgba(8,43,85,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

/* Cabeçalho da página */

.property-list-page .page-header{
  position:relative;
  padding:160px 0 80px;
  overflow:hidden;
  background:
    linear-gradient(
      90deg,
      rgba(8,43,85,.95),
      rgba(11,61,120,.65)
    ),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=80')
    center/cover no-repeat;
  color:#fff;
  text-align:center;
}

.property-list-page .page-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(
    90deg,
    var(--azul),
    var(--dourado)
  );
}

.property-list-page .page-header h1{
  margin-bottom:12px;
  color:#fff;
  font-size:clamp(2.4rem,5vw,4.6rem);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-1px;
}

.property-list-page .page-header p{
  max-width:720px;
  margin:0 auto;
  color:rgba(255,255,255,.9);
  font-size:1.08rem;
}

/* Painel de filtros */

.property-list-page .filter-panel{
  position:relative;
  z-index:5;
  margin-top:-45px;
  padding:28px;
  border:1px solid rgba(11,61,120,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 48px rgba(8,43,85,.14);
}

.property-list-page .filter-panel label{
  display:block;
  margin-bottom:6px;
  color:var(--azul);
  font-size:.85rem;
  font-weight:800;
}

.property-list-page .filter-panel .form-control,
.property-list-page .filter-panel .form-select{
  min-height:52px;
  padding:12px 14px;
  border:1px solid #d8e0ea;
  border-radius:15px;
}

.property-list-page .filter-panel .form-control:focus,
.property-list-page .filter-panel .form-select:focus{
  border-color:var(--azul);
  box-shadow:0 0 0 .2rem rgba(11,61,120,.12);
}

/* Ordenação */

.property-list-page .order-select{
  width:100%;
  max-width:220px;
  min-height:48px;
  padding:10px 14px;
  border:1px solid #d8e0ea;
  border-radius:14px;
}

.property-list-page .order-select:focus{
  border-color:var(--azul);
  box-shadow:0 0 0 .2rem rgba(11,61,120,.12);
}

/* Código do imóvel sobre a imagem */

.property-list-page .badge-code{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 16px;
  border-radius:50px;
  background:rgba(255,255,255,.96);
  color:var(--azul);
  font-size:.8rem;
  font-weight:850;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

/* Cards da página de listagem */

.property-list-page .property-card{
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(11,61,120,.08);
  background:#fff;
}

.property-list-page .property-card .position-relative{
  overflow:hidden;
}

.property-list-page .property-img{
  display:block;
  width:100%;
  transition:transform .55s ease;
}

.property-list-page .property-card:hover .property-img{
  transform:scale(1.055);
}

.property-list-page .property-card .card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:25px;
}

.property-list-page .property-card .card-body h5{
  margin-bottom:10px;
  color:var(--azul2);
  font-size:1.18rem;
  line-height:1.4;
}

.property-list-page .property-card .card-body > .text-muted{
  color:#6b7785 !important;
  font-size:.94rem;
  line-height:1.45;
}

.property-list-page .info-icons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}

.property-list-page .info-icons span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid #e8edf3;
  border-radius:10px;
  background:#f8fafc;
  white-space:nowrap;
}

.property-list-page .info-icons i{
  color:var(--azul);
}

.property-list-page .property-card .price{
  margin-top:auto;
}

/* Paginação */

.property-list-page .custom-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}

.property-list-page .custom-pagination .page-link{
  min-width:46px;
  padding:11px 15px;
  border:1px solid rgba(11,61,120,.1);
  border-radius:12px;
  background:#fff;
  color:var(--azul);
  font-weight:800;
  text-align:center;
  box-shadow:0 5px 16px rgba(8,43,85,.06);
}

.property-list-page .custom-pagination .page-link:hover{
  border-color:var(--azul);
  background:rgba(11,61,120,.06);
  color:var(--azul2);
}

.property-list-page .custom-pagination .page-item.active .page-link{
  border-color:var(--azul);
  background:var(--azul);
  color:#fff;
  box-shadow:0 8px 20px rgba(11,61,120,.22);
}

.property-list-page .custom-pagination .page-item.disabled .page-link{
  opacity:.45;
  pointer-events:none;
}

/* Responsivo */

@media(max-width:767.98px){

  .property-list-page .page-header{
    padding:130px 0 60px;
  }

  .property-list-page .page-header h1{
    font-size:2.35rem;
  }

  .property-list-page .filter-panel{
    margin-top:-30px;
    padding:20px;
    border-radius:22px;
  }

  .property-list-page .order-select{
    max-width:100%;
  }

  .property-list-page .property-card .card-body{
    padding:21px;
  }

  .property-list-page .badge-code,
  .property-list-page .badge-status{
    top:14px;
    padding:7px 13px;
    font-size:.75rem;
  }

  .property-list-page .badge-code{
    right:14px;
  }

  .property-list-page .badge-status{
    left:14px;
  }
}

#imoveis .badge-code{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 16px;
  border-radius:50px;
  background:rgba(255,255,255,.96);
  color:var(--azul);
  font-size:.8rem;
  font-weight:850;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

@media(max-width:575.98px){

  #imoveis .badge-code{
    top:14px;
    right:14px;
    min-height:34px;
    padding:7px 14px;
    font-size:.75rem;
  }

}
.whats-float{
    transition:.3s ease;
}

/* =====================================================
   PÁGINA QUEM SOMOS
   Regras isoladas dentro de .about-page
===================================================== */

.about-page{
  background:#fff;
}

.about-page .ds-navbar{
  background:rgba(8,43,85,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

/* Banner */

.about-page .page-hero{
  display:flex;
  align-items:center;
  min-height:82vh;
  padding:160px 0 90px;
  background:
    linear-gradient(
      90deg,
      rgba(8,43,85,.96),
      rgba(11,61,120,.62)
    ),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=80')
    center/cover no-repeat;
  color:#fff;
}

.about-page .page-hero h1{
  max-width:900px;
  margin:0;
  color:#fff;
  font-size:clamp(2.5rem,5vw,5rem);
  font-weight:850;
  line-height:1.05;
  letter-spacing:-1px;
  text-shadow:0 5px 22px rgba(0,0,0,.25);
}

.about-page .page-hero p{
  max-width:680px;
  color:rgba(255,255,255,.95);
  font-size:1.2rem;
  line-height:1.7;
}

.about-page .page-hero .badge{
  color:var(--azul) !important;
}

/* Apresentação */

.about-page .about-img{
  display:block;
  width:100%;
  min-height:520px;
  object-fit:cover;
  border-radius:35px;
  box-shadow:0 20px 55px rgba(0,0,0,.15);
}

.about-page .about-card{
  padding:40px;
  border:1px solid rgba(11,61,120,.07);
  border-radius:30px;
  background:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.08);
}

.about-page .about-card p{
  color:#5c6875;
  line-height:1.75;
}

.about-page .signature-box{
  margin-top:25px;
  padding-left:22px;
  border-left:4px solid var(--azul);
}

/* Números */

.about-page .stats-box{
  padding:45px 25px;
  border-radius:32px;
  background:var(--claro);
}

.about-page .stat-item{
  height:100%;
  padding:30px 20px;
  border:1px solid rgba(11,61,120,.06);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
}

.about-page .stat-number{
  color:var(--azul);
  font-size:2.6rem;
  font-weight:850;
  line-height:1.1;
}

/* Missão, visão e valores */

.about-page .value-card{
  height:100%;
  padding:32px;
  border:1px solid rgba(11,61,120,.06);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.about-page .value-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 42px rgba(8,43,85,.13);
}

.about-page .value-card i{
  color:var(--azul);
  font-size:2.5rem;
}

.about-page .value-card p{
  color:#667381;
  line-height:1.65;
}

/* Linha do atendimento */

.about-page .timeline{
  position:relative;
  padding-left:30px;
}

.about-page .timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:8px;
  width:3px;
  border-radius:20px;
  background:var(--azul);
}

.about-page .timeline-item{
  position:relative;
  margin-bottom:30px;
  padding:28px;
  border:1px solid rgba(11,61,120,.06);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
}

.about-page .timeline-item:last-child{
  margin-bottom:0;
}

.about-page .timeline-item::before{
  content:"";
  position:absolute;
  top:32px;
  left:-29px;
  width:18px;
  height:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--azul);
  box-shadow:0 0 0 4px rgba(11,61,120,.15);
}

.about-page .timeline-item h5{
  color:var(--azul2);
}

.about-page .timeline-item p{
  color:#667381;
  line-height:1.65;
}

/* Diferenciais */

.about-page .differential{
  height:100%;
  padding:25px;
  border:1px solid rgba(11,61,120,.06);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.about-page .differential:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(8,43,85,.13);
}

.about-page .differential i{
  color:var(--azul);
  font-size:2rem;
}

.about-page .differential h5{
  color:var(--azul2);
}

.about-page .differential p{
  color:#667381;
  line-height:1.6;
}

/* CTA específica da página */

.about-page .cta{
  padding:70px 35px;
  background:
    linear-gradient(
      90deg,
      rgba(8,43,85,.95),
      rgba(11,61,120,.82)
    ),
    url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1600&q=80')
    center/cover no-repeat;
}

/* Responsivo */

@media(max-width:767.98px){

  .about-page .page-hero{
    min-height:auto;
    padding:135px 0 70px;
  }

  .about-page .page-hero h1{
    font-size:2.45rem;
    letter-spacing:-.5px;
  }

  .about-page .page-hero p{
    font-size:1rem;
    line-height:1.6;
  }

  .about-page .about-img{
    min-height:360px;
    border-radius:25px;
  }

  .about-page .about-card{
    padding:25px;
    border-radius:24px;
  }

  .about-page .stats-box{
    padding:25px 15px;
    border-radius:25px;
  }

  .about-page .value-card,
  .about-page .timeline-item,
  .about-page .differential{
    padding:24px;
  }

  .about-page .cta{
    padding:50px 22px;
    border-radius:28px;
  }
}

@media(max-width:575.98px){

  .about-page .page-hero{
    padding:120px 0 55px;
  }

  .about-page .page-hero h1{
    font-size:2.05rem;
  }

  .about-page .about-img{
    min-height:280px;
  }

  .about-page .about-card{
    padding:21px;
  }

  .about-page .stat-number{
    font-size:2.15rem;
  }

  .about-page .timeline{
    padding-left:25px;
  }

  .about-page .timeline-item::before{
    left:-24px;
  }
}

/* =====================================================
   PÁGINA ANUNCIE SEU IMÓVEL - NOVA IDENTIDADE
===================================================== */
.property-submit-page{
background:#f5f7fb;
}
.property-submit-page .ds-navbar{
background:rgba(8,43,85,.97);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.property-submit-main{
overflow:hidden;
}
.property-submit-hero{
position:relative;
padding:175px 0 95px;
background:
radial-gradient(circle at 88% 20%,rgba(200,164,107,.28),transparent 23%),
radial-gradient(circle at 12% 95%,rgba(255,255,255,.10),transparent 28%),
linear-gradient(135deg,#061f3f 0%,var(--azul2) 40%,var(--azul) 100%);
color:#fff;
}
.property-submit-hero:after{
content:"";
position:absolute;
left:0;
right:0;
bottom:-1px;
height:75px;
background:#f5f7fb;
clip-path:polygon(0 72%,100% 0,100% 100%,0 100%);
}
.property-submit-eyebrow{
display:inline-flex;
align-items:center;
gap:9px;
margin-bottom:22px;
padding:9px 16px;
border:1px solid rgba(255,255,255,.24);
border-radius:50px;
background:rgba(255,255,255,.10);
color:#fff;
font-size:.82rem;
font-weight:800;
letter-spacing:.4px;
backdrop-filter:blur(8px);
}
.property-submit-hero h1{
max-width:850px;
margin:0 0 24px;
font-size:clamp(2.8rem,5.6vw,5.5rem);
font-weight:850;
line-height:.98;
letter-spacing:-2.5px;
}
.property-submit-hero p{
max-width:700px;
margin:0;
color:rgba(255,255,255,.82);
font-size:1.12rem;
line-height:1.75;
}
.property-submit-benefits{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:32px;
}
.property-submit-benefits div{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 14px;
border-radius:14px;
background:rgba(255,255,255,.09);
color:rgba(255,255,255,.92);
font-size:.9rem;
font-weight:700;
}
.property-submit-benefits i{
color:var(--dourado);
}
.property-submit-hero-card{
position:relative;
max-width:410px;
margin-left:auto;
padding:34px;
border:1px solid rgba(255,255,255,.2);
border-radius:30px;
background:rgba(255,255,255,.11);
box-shadow:0 28px 80px rgba(0,0,0,.18);
backdrop-filter:blur(15px);
-webkit-backdrop-filter:blur(15px);
}
.property-submit-hero-icon{
display:flex;
align-items:center;
justify-content:center;
width:62px;
height:62px;
margin-bottom:22px;
border-radius:20px;
background:#fff;
color:var(--azul);
font-size:1.9rem;
box-shadow:0 15px 30px rgba(0,0,0,.16);
}
.property-submit-hero-card h2{
margin-bottom:12px;
font-size:1.65rem;
font-weight:850;
}
.property-submit-hero-card p{
font-size:.98rem;
line-height:1.65;
}
.property-submit-whatsapp{
display:flex;
align-items:center;
justify-content:center;
gap:9px;
width:100%;
margin-top:24px;
padding:14px 20px;
border:0;
border-radius:16px;
background:#fff;
color:var(--azul2);
font-weight:850;
transition:.25s ease;
}
.property-submit-whatsapp:hover{
transform:translateY(-2px);
background:var(--dourado);
color:#fff;
}
.property-submit-content{
position:relative;
z-index:2;
padding:35px 0 90px;
}
.property-submit-form{
display:flex;
flex-direction:column;
gap:22px;
}
.property-form-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:30px 32px;
border:1px solid rgba(11,61,120,.08);
border-radius:28px;
background:#fff;
box-shadow:0 18px 45px rgba(8,43,85,.08);
}
.property-form-step-label{
display:block;
margin-bottom:7px;
color:var(--dourado);
font-size:.75rem;
font-weight:850;
letter-spacing:1px;
text-transform:uppercase;
}
.property-form-header h2{
margin:0 0 7px;
color:var(--azul2);
font-size:clamp(1.8rem,3vw,2.7rem);
font-weight:850;
letter-spacing:-1px;
}
.property-form-header p{
margin:0;
color:#6b7785;
}
.property-form-header-icon{
display:flex;
align-items:center;
justify-content:center;
width:68px;
height:68px;
flex:0 0 68px;
border-radius:22px;
background:rgba(11,61,120,.08);
color:var(--azul);
font-size:2rem;
}
.property-form-section{
padding:30px 32px;
border:1px solid rgba(11,61,120,.08);
border-radius:28px;
background:#fff;
box-shadow:0 16px 42px rgba(8,43,85,.07);
}
.property-form-section-title{
display:flex;
align-items:center;
gap:14px;
margin-bottom:25px;
padding-bottom:20px;
border-bottom:1px solid #edf1f5;
}
.property-form-section-title>span{
display:flex;
align-items:center;
justify-content:center;
width:50px;
height:50px;
flex:0 0 50px;
border-radius:16px;
background:linear-gradient(135deg,var(--azul),var(--azul2));
color:#fff;
font-size:1.25rem;
box-shadow:0 10px 22px rgba(11,61,120,.2);
}
.property-form-section-title small{
display:block;
margin-bottom:2px;
color:var(--dourado);
font-size:.72rem;
font-weight:850;
letter-spacing:.8px;
text-transform:uppercase;
}
.property-form-section-title h3{
margin:0;
color:var(--azul2);
font-size:1.2rem;
font-weight:850;
}
.property-submit-form label{
display:block;
margin-bottom:8px;
color:var(--azul2);
font-size:.88rem;
font-weight:800;
}
.property-submit-form .form-control,
.property-submit-form .form-select,
.property-submit-form .input-group-text{
min-height:56px;
border-color:#dfe6ed;
background:#f8fafc;
}
.property-submit-form .form-control,
.property-submit-form .form-select{
padding:12px 15px;
border-radius:15px;
font-weight:600;
}
.property-submit-form .input-group .form-control{
border-radius:0 15px 15px 0;
}
.property-submit-form .input-group .input-group-text:first-child{
border-radius:15px 0 0 15px;
}
.property-submit-form .input-group .form-control:first-child{
border-radius:15px 0 0 15px;
}
.property-submit-form .input-group .input-group-text:last-child{
border-radius:0 15px 15px 0;
}
.property-submit-form .input-group-text{
color:var(--azul);
font-weight:850;
}
.property-submit-form .form-control:focus,
.property-submit-form .form-select:focus{
border-color:var(--azul);
background:#fff;
box-shadow:0 0 0 .2rem rgba(11,61,120,.11);
}
.property-submit-form textarea.form-control{
min-height:150px;
resize:vertical;
}
.property-feature-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
}
.property-feature-grid>div{
position:relative;
}
.property-feature-grid input{
position:absolute;
opacity:0;
pointer-events:none;
}
.property-feature-grid label{
display:flex;
align-items:center;
gap:11px;
min-height:60px;
margin:0;
padding:13px 15px;
border:1px solid #dfe6ed;
border-radius:16px;
background:#f8fafc;
color:#526171;
cursor:pointer;
transition:.22s ease;
}
.property-feature-grid label i{
display:flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
flex:0 0 34px;
border-radius:11px;
background:#fff;
color:var(--azul);
box-shadow:0 6px 16px rgba(8,43,85,.08);
}
.property-feature-grid input:checked+label{
border-color:var(--azul);
background:rgba(11,61,120,.07);
color:var(--azul2);
box-shadow:0 8px 22px rgba(11,61,120,.10);
}
.property-feature-grid input:checked+label i{
background:var(--azul);
color:#fff;
}
.property-submit-action{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:24px 28px;
border-radius:24px;
background:linear-gradient(135deg,var(--azul2),var(--azul));
color:#fff;
box-shadow:0 18px 40px rgba(8,43,85,.18);
}
.property-submit-action strong,
.property-submit-action span{
display:block;
}
.property-submit-action strong{
font-size:1.08rem;
}
.property-submit-action div span{
margin-top:3px;
color:rgba(255,255,255,.72);
font-size:.9rem;
}
.property-submit-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
min-width:190px;
padding:14px 22px;
border:0;
border-radius:15px;
background:var(--dourado);
color:#fff;
font-weight:850;
transition:.25s ease;
}
.property-submit-button:hover{
transform:translateY(-2px);
background:#b58e52;
color:#fff;
}
.property-submit-sidebar{
position:sticky;
top:105px;
overflow:hidden;
border-radius:30px;
background:#fff;
box-shadow:0 20px 55px rgba(8,43,85,.11);
}
.property-sidebar-top{
padding:32px 30px;
background:
radial-gradient(circle at top right,rgba(200,164,107,.22),transparent 35%),
linear-gradient(135deg,var(--azul2),var(--azul));
color:#fff;
}
.property-sidebar-label{
display:block;
margin-bottom:10px;
color:var(--dourado);
font-size:.75rem;
font-weight:850;
letter-spacing:1px;
text-transform:uppercase;
}
.property-sidebar-top h3{
margin-bottom:12px;
font-size:1.65rem;
font-weight:850;
line-height:1.15;
}
.property-sidebar-top p{
margin:0;
color:rgba(255,255,255,.76);
line-height:1.65;
}
.property-sidebar-steps{
padding:26px 28px 10px;
}
.property-sidebar-steps>div{
display:flex;
gap:14px;
position:relative;
padding-bottom:22px;
}
.property-sidebar-steps>div:not(:last-child):after{
content:"";
position:absolute;
left:18px;
top:39px;
bottom:0;
width:1px;
background:#dfe6ed;
}
.property-sidebar-steps>div>span{
display:flex;
align-items:center;
justify-content:center;
width:37px;
height:37px;
flex:0 0 37px;
border-radius:12px;
background:rgba(11,61,120,.08);
color:var(--azul);
font-size:.78rem;
font-weight:900;
}
.property-sidebar-steps section strong{
display:block;
margin-bottom:3px;
color:var(--azul2);
}
.property-sidebar-steps section p{
margin:0;
color:#6b7785;
font-size:.9rem;
line-height:1.5;
}
.property-sidebar-trust{
display:flex;
gap:12px;
margin:0 28px 22px;
padding:16px;
border-radius:16px;
background:#f4f8fb;
}
.property-sidebar-trust i{
color:var(--azul);
font-size:1.3rem;
}
.property-sidebar-trust strong,
.property-sidebar-trust span{
display:block;
}
.property-sidebar-trust strong{
color:var(--azul2);
font-size:.9rem;
}
.property-sidebar-trust span{
margin-top:3px;
color:#718090;
font-size:.8rem;
line-height:1.45;
}
.property-sidebar-button{
display:flex;
align-items:center;
justify-content:center;
gap:9px;
margin:0 28px 28px;
padding:13px 16px;
border:1px solid #dfe6ed;
border-radius:14px;
background:#fff;
color:var(--azul);
font-weight:850;
transition:.22s ease;
}
.property-sidebar-button:hover{
background:#25d366;
border-color:#25d366;
color:#fff;
}
.property-submit-success{
max-width:820px;
margin:20px auto;
padding:55px 40px;
border:1px solid rgba(11,61,120,.08);
border-radius:34px;
background:#fff;
text-align:center;
box-shadow:0 22px 65px rgba(8,43,85,.10);
}
.property-submit-success-icon{
display:flex;
align-items:center;
justify-content:center;
width:88px;
height:88px;
margin:0 auto 22px;
border-radius:28px;
background:linear-gradient(135deg,var(--azul),var(--azul2));
color:#fff;
font-size:2.8rem;
box-shadow:0 16px 35px rgba(11,61,120,.24);
}
.property-submit-success-label{
display:block;
margin-bottom:10px;
color:var(--dourado);
font-size:.78rem;
font-weight:850;
letter-spacing:1px;
text-transform:uppercase;
}
.property-submit-success h2{
margin-bottom:14px;
color:var(--azul2);
font-size:clamp(2rem,4vw,3.3rem);
font-weight:850;
}
.property-submit-success p{
max-width:620px;
margin:0 auto 28px;
color:#6b7785;
font-size:1.05rem;
line-height:1.7;
}
@media(max-width:1199.98px){
.property-feature-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.property-submit-sidebar{
position:relative;
top:auto;
}
}
@media(max-width:991.98px){
.property-submit-hero{
padding:145px 0 100px;
}
.property-submit-hero-card{
max-width:none;
margin:0;
}
}
@media(max-width:767.98px){
.property-submit-hero{
padding:125px 0 90px;
}
.property-submit-hero h1{
font-size:2.55rem;
letter-spacing:-1.2px;
}
.property-submit-benefits{
flex-direction:column;
align-items:flex-start;
}
.property-form-header,
.property-form-section{
padding:24px;
border-radius:23px;
}
.property-form-header-icon{
display:none;
}
.property-submit-action{
flex-direction:column;
align-items:stretch;
}
.property-submit-button{
width:100%;
}
.property-feature-grid{
grid-template-columns:1fr;
}
}
@media(max-width:575.98px){
.property-submit-hero{
padding:112px 0 82px;
}
.property-submit-hero h1{
font-size:2.15rem;
}
.property-submit-hero-card{
padding:26px;
border-radius:24px;
}
.property-submit-content{
padding-bottom:55px;
}
.property-form-header,
.property-form-section{
padding:20px;
}
.property-form-section-title{
align-items:flex-start;
}
.property-submit-success{
padding:40px 22px;
border-radius:26px;
}
}


/* =====================================================
PÁGINA DE CONTATO
===================================================== */

.contact-page{
background:#fff;
}

.contact-page .ds-navbar{
background:rgba(8,43,85,.97);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.contact-page .page-hero{
position:relative;
overflow:hidden;
padding:165px 0 95px;
background:
radial-gradient(circle at 85% 15%,rgba(200,164,107,.28),transparent 25%),
linear-gradient(110deg,rgba(8,43,85,.98),rgba(11,61,120,.78)),
url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
color:#fff;
text-align:center;
}

.contact-page .page-hero::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:4px;
background:linear-gradient(90deg,var(--azul),var(--dourado));
}

.contact-page .page-hero .container{
position:relative;
z-index:2;
}

.contact-page .page-hero h1{
max-width:850px;
margin:0 auto;
color:#fff;
font-size:clamp(2.5rem,5vw,4.8rem);
font-weight:850;
line-height:1.06;
letter-spacing:-1.5px;
}

.contact-page .page-hero p{
max-width:680px;
margin-left:auto;
margin-right:auto;
color:rgba(255,255,255,.92);
font-size:1.1rem;
line-height:1.7;
}

.contact-page .page-hero .badge{
background:#fff!important;
color:var(--azul)!important;
font-weight:800;
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.contact-page .contact-card{
position:relative;
height:100%;
padding:34px 28px;
overflow:hidden;
border:1px solid rgba(11,61,120,.07);
border-radius:26px;
background:#fff;
box-shadow:0 15px 40px rgba(8,43,85,.09);
transition:transform .3s ease,box-shadow .3s ease;
}

.contact-page .contact-card:hover{
transform:translateY(-7px);
box-shadow:0 22px 48px rgba(8,43,85,.15);
}

.contact-page .contact-card i{
display:flex;
align-items:center;
justify-content:center;
width:64px;
height:64px;
margin:0 auto;
border-radius:20px;
background:rgba(11,61,120,.08);
color:var(--azul);
font-size:2rem;
}

.contact-page .contact-card h5{
color:var(--azul2);
}

.contact-page .contact-card p{
color:#677483!important;
line-height:1.6;
}

.contact-page .form-box{
height:100%;
padding:42px;
border:1px solid rgba(11,61,120,.07);
border-radius:30px;
background:#fff;
box-shadow:0 18px 48px rgba(8,43,85,.11);
}

.contact-page .form-box .section-title{
font-size:clamp(1.9rem,3vw,2.7rem);
}

.contact-page .contact-form label{
display:block;
margin-bottom:7px;
color:var(--azul2);
font-size:.88rem;
font-weight:800;
}

.contact-page .contact-form .form-control,
.contact-page .contact-form .form-select{
min-height:55px;
padding:13px 16px;
border:1px solid #dce3eb;
border-radius:15px;
background:#f9fbfd;
color:var(--texto);
transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}

.contact-page .contact-form textarea.form-control{
min-height:145px;
resize:vertical;
}

.contact-page .contact-form .form-control:focus,
.contact-page .contact-form .form-select:focus{
border-color:var(--azul);
background:#fff;
box-shadow:0 0 0 .22rem rgba(11,61,120,.11);
}

.contact-page .contact-form .btn-main{
min-height:55px;
box-shadow:0 10px 25px rgba(11,61,120,.22);
transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}

.contact-page .contact-form .btn-main:hover{
transform:translateY(-2px);
box-shadow:0 14px 30px rgba(11,61,120,.28);
}

.contact-page .map-box{
height:100%;
min-height:600px;
overflow:hidden;
border:6px solid #fff;
border-radius:30px;
background:#fff;
box-shadow:0 18px 48px rgba(8,43,85,.11);
}

.contact-page .map-box iframe{
display:block;
width:100%;
height:100%;
min-height:600px;
border:0;
}

.contact-page .contact-success{
padding:70px 20px;
}

.contact-page .contact-success-icon{
display:flex;
align-items:center;
justify-content:center;
width:90px;
height:90px;
margin:0 auto 25px;
border-radius:50%;
background:rgba(11,61,120,.1);
color:var(--azul);
font-size:3rem;
}

.contact-page .contact-success h2{
color:var(--azul2);
font-size:2.2rem;
font-weight:850;
}

.contact-page .contact-success p{
max-width:500px;
margin:0 auto 28px;
color:#677483;
font-size:1.05rem;
line-height:1.7;
}

.contact-page .cta{
background:
linear-gradient(90deg,rgba(8,43,85,.96),rgba(11,61,120,.82)),
url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

@media(max-width:991.98px){
.contact-page .map-box,
.contact-page .map-box iframe{
min-height:460px;
}
}

@media(max-width:767.98px){
.contact-page .page-hero{
padding:130px 0 65px;
}

.contact-page .page-hero h1{
font-size:2.35rem;
letter-spacing:-.5px;
}

.contact-page .form-box{
padding:25px;
border-radius:24px;
}

.contact-page .contact-card{
padding:28px 22px;
border-radius:22px;
}

.contact-page .map-box,
.contact-page .map-box iframe{
min-height:380px;
}
}

@media(max-width:575.98px){
.contact-page .page-hero{
padding:115px 0 55px;
}

.contact-page .page-hero h1{
font-size:2rem;
}

.contact-page .form-box{
padding:21px;
}

.contact-page .map-box,
.contact-page .map-box iframe{
min-height:320px;
}
}
