/* Estilos globais do site */

/* =========================================
RESET
========================================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Inter",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.2px;
}

h1,h2,h3,h4,h5,h6{
  font-weight:700;
  color:var(--text);
  margin-bottom:0;
}

a{
  text-decoration:none;
}

/* =========================================
TOP / LOGO
========================================= */

.top-logo-box{
  background:var(--brand-top);
  padding:18px 0;
  border-bottom:1px solid var(--border);
}

.logo-box,
.logo-footer-box{
  width:200px;
  height:120px;
  background:var(--color-white);
  border-radius:var(--radius-md);
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--border);
}

.logo-box img,
.logo-footer-box img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* =========================================
CRECI
========================================= */

.creci-top,
.creci-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--brand-pill);
  color:var(--color-white);
  padding:7px 14px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}

/* =========================================
NAVBAR
========================================= */

.navbar{
  background:var(--brand-navbar) !important;
  
}

.navbar-nav{
  margin:0 auto;
  gap:8px;
}

.navbar .nav-link{
  color:#F8FAFC !important;
  text-align:center;
  padding:12px 18px !important;
  border-radius:12px;
  font-weight:600;
  transition:var(--transition);
}

.navbar .nav-link:hover,
.navbar .nav-link.active{
  background:rgba(255,255,255,.16);
  color:var(--color-white) !important;
}

/* =========================================
HERO
========================================= */

.hero{
  background:
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9')
    center/cover no-repeat;
  min-height:300px;
  display:flex;
  align-items:center;
}

.hero-content{
  color:var(--color-white);
}

.hero h1{
  font-size:52px;
  font-weight:800;
  color:var(--color-white);
}

.hero p{
  color:#E2E8F0;
  font-size:18px;
}

    .features{
      background:var(--features-bg);
      padding:26px 0;
      position:relative;
      z-index:5;
      box-shadow:0 -10px 30px rgba(15,23,42,.04), 0 10px 30px rgba(15,23,42,.04);
    }

    .feature-item{
      padding:18px 14px;
      border-radius:22px;
      transition:var(--transition);
    }

    .feature-item:hover{
      background:var(--accent-soft);
      transform:translateY(-4px);
    }

    .feature-item i{
      color:var(--features-icon);
      font-size:2rem;
      margin-bottom:10px;
      display:block;
    }

    .feature-item h5{
      color:var(--features-title);
      font-size:1rem;
      font-weight:850;
      margin-bottom:4px;
    }

    .feature-item p{
      color:var(--muted);
      margin:0;
      font-size:.86rem;
    }

    .featured-slider-section{
      background:
        radial-gradient(circle at top right, var(--accent-soft), transparent 28%),
        var(--surface);
    }

/* =========================================
SEARCH BOX
========================================= */

.search-box{
  margin-top:28px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}

/* =========================================
BOTÕES
========================================= */

.btn,
.btn-primary,
.btn-imovel{
  background:var(--primary);
  color:var(--color-white) !important;
  border:none;
  border-radius:14px !important;
  font-weight:600;
  padding:12px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:var(--transition);
}

.btn:hover,
.btn-primary:hover,
.btn-imovel:hover{
  background:var(--primary-hover);
  transform:translateY(-2px);
}

/* =========================================
CARDS IMÓVEIS
========================================= */

.property-card,
.card,
.destaque-card{
  background:var(--color-white);
  border:none;
  border-radius:16px;
  overflow:hidden;
  height:100%;
  transition:var(--transition);
  box-shadow:0 4px 18px rgba(0,0,0,.08);
}

.property-card:hover,
.card:hover,
.destaque-card:hover{
  transform:translateY(-2px);
}

.property-card .image{
  position:relative;
  overflow:hidden;
}

/* =========================================
IMAGENS
========================================= */

.property-card img,
.property-img,
.destaque-img{
  width:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}

.property-card img,
.property-img{
  height:240px;
}

.destaque-img{
  height:320px;
}

.property-card:hover img,
.property-card:hover .property-img,
.foto-link:hover .destaque-img{
  transform:scale(1.05);
}

.foto-link{
  display:block;
  overflow:hidden;
}

/* =========================================
CONTEÚDO CARD
========================================= */

.property-card .content{
  padding:20px;
}

.property-card h3,
.property-card h6{
  font-size:17px;
  font-weight:700;
  line-height:1.4;
  margin-bottom:10px;
}

.destaque-card h4{
  font-size:22px;
  font-weight:700;
  color:#222;
}

.property-card .location{
  font-size:14px;
  color:var(--muted);
}

/* =========================================
PREÇOS
========================================= */

.price,
.price-badge{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--color-white);
  color:#111827;
  padding:8px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  box-shadow:0 4px 10px rgba(0,0,0,.10);
}

.preco-foto{
  position:absolute;
  left:15px;
  bottom:15px;
  background:#ff7a00;
  color:var(--color-white);
  padding:10px 16px;
  border-radius:10px;
  font-size:24px;
  font-weight:bold;
  box-shadow:0 3px 10px rgba(0,0,0,.25);
  z-index:2;
}

/* =========================================
BADGE DESTAQUE
========================================= */

.badge-destaque{
  position:absolute;
  top:15px;
  right:15px;
  background:rgba(220,53,69,.95);
  color:var(--color-white);
  font-size:12px;
  padding:7px 12px;
  border-radius:30px;
  font-weight:600;
  letter-spacing:.3px;
  backdrop-filter:blur(4px);
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  z-index:2;
}

.badge-destaque i{
  margin-right:4px;
}

/* =========================================
DETALHES
========================================= */

.details{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #E2E8F0;
}

.detail-item{
  flex:1;
  text-align:center;
}

.detail-item i{
  font-size:18px;
  color:var(--primary);
  margin-bottom:6px;
  display:block;
}

.detail-value{
  font-size:15px;
  font-weight:700;
}

.detail-label{
  font-size:12px;
  color:var(--muted);
}

/* =========================================
ICONS IMÓVEL
========================================= */

.property-icons i{
  font-size:18px;
  color:var(--color-danger);
}

.icons-imovel{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}

.icons-imovel div{
  display:flex;
  align-items:center;
  gap:6px;
  color:#555;
  font-size:14px;
}

.icons-imovel i{
  color:var(--color-sale);
  font-size:18px;
}

/* =========================================
CONTATO
========================================= */

.contact-section{
  background:var(--color-white);
  padding:80px 20px;
}

.contact-box{
  max-width:900px;
  margin:auto;
}

.anunciar-card{
  border-radius:22px !important;
}

/* =========================================
FOOTER
========================================= */

.footer-dark{
  background:#111827;
  color:var(--color-white);
  margin-top:60px;
  padding:50px 0;
}

.footer-dark small{
  color:rgba(255,255,255,.7);
}

.footer-social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}

.footer-social a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  color:var(--color-white);
  border:1px solid rgba(255,255,255,.15);
  font-size:18px;
  transition:var(--transition);
}

.footer-social a:hover{
  background:var(--primary);
  color:var(--color-white);
  transform:translateY(-2px);
}


/* =========================================
WHATSAPP
========================================= */

.whatsapp-float{
  position:fixed;
  bottom:20px;
  right:20px;
  background:#25D366;
  color:var(--color-white);
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
  z-index:9999;
  transition:var(--transition);
}

.whatsapp-float:hover{
  background:#1ebe5d;
  color:var(--color-white);
  transform:scale(1.06);
}

/* =========================================
CAROUSEL
========================================= */

.carousel-control-prev,
.carousel-control-next{
  width:7%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
  filter:invert(1);
  background-color:rgba(0,0,0,.5);
  border-radius:50%;
  padding:18px;
}

.carousel-indicators button{
  width:11px !important;
  height:11px !important;
  border-radius:50%;
}

/* =========================================
RESPONSIVO
========================================= */

/* =========================================================
   MENU COM ROLAGEM — CELULAR VERTICAL E HORIZONTAL
========================================================= */

@media(max-width:991px){

  .navbar{
    padding:0;
    overflow:hidden;
  }

  .navbar .container{
    position:relative;
    display:block;
    max-width:100%;
    padding:0;
  }

  .menu-scroll-mobile,
  .navbar-collapse{
    display:block !important;
    width:100%;
    height:auto !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    flex-basis:auto !important;
  }

  .navbar-nav{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center;

    width:100%;
    margin:0;
    padding:12px 16px;
    gap:10px;

    overflow-x:auto;
    overflow-y:hidden;

    white-space:nowrap;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;

    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  .navbar-nav::-webkit-scrollbar{
    display:none;
  }

  .navbar-nav .nav-item{
    flex:0 0 auto;
    width:auto;
    scroll-snap-align:start;
  }

  .navbar .nav-link{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    width:auto;
    min-height:42px;
    padding:0 18px !important;

    white-space:nowrap;
    background:rgba(255,255,255,.10);
    color:#F8FAFC !important;

    border-radius:999px;
    font-size:14px;
    font-weight:600;
  }

  .navbar .nav-link:hover,
  .navbar .nav-link.active{
    background:rgba(255,255,255,.20);
    color:var(--color-white) !important;
  }
}


/* =========================================================
   DEMAIS AJUSTES — CELULAR VERTICAL
========================================================= */

@media(max-width:768px){

  .logo-box,
  .logo-footer-box{
    width:150px;
    height:90px;
  }

  .hero{
    min-height:380px;
    padding:30px 0;
  }

  .hero h1{
    font-size:32px;
  }

  .hero p{
    font-size:15px;
  }

  .search-box{
    padding:18px;
    border-radius:20px;
  }

  .property-card img,
  .property-img{
    height:210px;
  }

  .destaque-img{
    height:220px;
  }

  .property-card .content{
    padding:16px;
  }

  .destaque-card h4{
    font-size:18px;
  }

  .details{
    gap:8px;
  }

  .detail-value{
    font-size:14px;
  }

  .detail-label{
    font-size:11px;
  }

.whatsapp-float{
  width:54px;
  height:54px;
  font-size:22px;
}

  .preco-foto{
    font-size:18px;
    padding:8px 12px;
  }

  .icons-imovel{
    gap:12px;
  }

  .icons-imovel div{
    font-size:13px;
  }
}


/* =========================================================
   AJUSTES ESPECÍFICOS — CELULAR DEITADO
========================================================= */

@media(max-width:991px) and (orientation:landscape){

  .top-logo-box{
    padding:12px 0;
  }

  .logo-box{
    width:170px;
    height:100px;
  }

  .hero{
    min-height:320px;
    padding:24px 0 30px;
  }

  .hero h1{
    font-size:36px;
  }

  .hero p{
    font-size:15px;
  }

  .search-box{
    margin-top:18px;
    padding:18px;
  }

  .navbar-nav{
    padding:10px 14px;
  }

  .navbar .nav-link{
    min-height:40px;
    padding:0 16px !important;
    font-size:13px;
  }
}


/* =========================================
UTILITÁRIOS E COMPONENTES CENTRALIZADOS
========================================= */

.honeypot-field{
  display:none !important;
}

.honeypot-offscreen{
  position:absolute !important;
  left:-9999px !important;
  width:1px;
  height:1px;
  overflow:hidden;
}

.badge-finalidade{
  position:absolute;
  top:15px;
  left:15px;
  color:var(--color-white);
  padding:8px 14px;
  border-radius:30px;
  font-size:13px;
  font-weight:700;
  z-index:10;
}

.badge-finalidade-locacao{
  background:var(--color-rental);
}

.badge-finalidade-venda{
  background:var(--color-sale);
}

/* =========================================================
   IDENTIDADE VISUAL DA PÁGINA DE REFERÊNCIA
   Header branco + menu escuro + banner/carrossel sobre imagem
========================================================= */

.site-header{
  background:linear-gradient(135deg,#E8F1FA 0%,#F7FAFD 52%,#E6EEF7 100%);
  border-bottom:1px solid #D5E1EC;
  padding:20px 0;
}

.site-header-logo{
  width:200px;
  height:120px;
  border-radius:var(--radius-md);
  background:var(--color-white);
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  flex:0 0 auto;
}

.site-header-logo a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.site-header-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:0;
}

.site-header-info h4{
  margin:0 0 3px;
  font-weight:700;
  color:var(--text);
}

.site-header-info small{
  color:var(--muted);
}

.menu-principal{
  background:var(--brand-navbar);
  z-index:1020;
}

.menu-principal-scroll{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}

.menu-principal a{
  color:#E5E7EB;
  padding:12px 14px;
  display:inline-block;
  text-decoration:none;
  font-weight:500;
  transition:color .2s ease, background .2s ease;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#FFFFFF;
  background:rgba(255,255,255,.06);
}

.banner-destaques{
  border-radius:16px;
  overflow:hidden;
  background:#111827;
}

.banner-destaques-slide{
  overflow:hidden;
}

.banner-image-link{
  display:block;
}

.banner-destaques-img{
  height:420px;
  object-fit:cover;
}

.banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.35),
    rgba(0,0,0,.08),
    rgba(0,0,0,0)
  );
  pointer-events:none;
}

.banner-caption{
  position:absolute;
  bottom:20px;
  left:20px;
  z-index:2;
  max-width:70%;
}

.banner-caption-box{
  background:rgba(0,0,0,.55);
  padding:15px 18px;
  border-radius:14px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.banner-caption h4{
  color:#FFFFFF;
  font-weight:700;
  line-height:1.3;
}

.banner-badge-destaque{
  position:absolute;
  top:15px;
  left:15px;
  background:#EF4444;
  color:#FFFFFF;
  font-size:12px;
  font-weight:700;
  padding:5px 10px;
  border-radius:8px;
  z-index:3;
}

.banner-price-badge{
  display:inline-block;
  background:rgba(15,23,42,.90);
  color:#FFFFFF;
  font-size:14px;
  font-weight:700;
  padding:6px 12px;
  border-radius:8px;
}

.banner-icon-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.banner-icon-item{
  color:#FFFFFF;
  background:rgba(255,255,255,.12);
  padding:6px;
  border-radius:8px;
  cursor:help;
  transition:.2s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.banner-icon-item .material-symbols-outlined{
  font-size:20px;
  color:#FFFFFF;
}

.banner-icon-item:hover{
  background:rgba(255,255,255,.25);
  transform:scale(1.1);
}

.banner-detail-button,
.banner-detail-button:hover,
.banner-detail-button:focus{
  background:#FFFFFF !important;
  color:#0F172A !important;
  border:1px solid rgba(255,255,255,.75) !important;
  border-radius:6px !important;
  padding:6px 16px !important;
  transform:none !important;
}

.banner-destaques .carousel-control-prev,
.banner-destaques .carousel-control-next{
  width:60px;
  opacity:.9;
}

.banner-destaques .carousel-control-prev-icon,
.banner-destaques .carousel-control-next-icon{
  filter:none;
  background-color:rgba(0,0,0,.5);
  border-radius:50%;
  padding:20px;
  background-size:50%;
}

@media(max-width:991px){
  .menu-principal .container{
    max-width:100%;
    padding:0;
  }

  .menu-principal-scroll{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    padding:0 8px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .menu-principal-scroll::-webkit-scrollbar{
    display:none;
  }

  .menu-principal a{
    flex:0 0 auto;
  }
}

@media(max-width:768px){
  .site-header{
    padding:14px 0;
  }

  .site-header-logo{
    width:110px;
    height:110px;
  }

  .site-header-info h4{
    font-size:18px;
  }

  .banner-destaques-img{
    height:330px;
  }

  .banner-caption{
    max-width:90%;
    left:10px;
    bottom:10px;
  }

  .banner-caption-box{
    padding:12px;
    background:rgba(0,0,0,.40);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  .banner-caption h4{
    font-size:17px;
  }

  .banner-icon-item{
    padding:5px;
  }

  .banner-icon-item .material-symbols-outlined{
    font-size:18px;
  }

  .banner-price-badge{
    font-size:13px;
  }

  .banner-destaques .carousel-control-prev-icon,
  .banner-destaques .carousel-control-next-icon{
    padding:16px;
  }
}


/* =========================================================
   CORREÇÃO RESPONSIVA — HEADER / MENU / HERO
   Mantém o layout desktop e reorganiza tablets/celulares.
========================================================= */

.site-header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
}

.site-header-brand{
  display:flex;
  align-items:center;
  gap:20px;
  min-width:0;
}

.site-header-info{
  min-width:0;
}

.site-header-info h4,
.site-header-info small{
  overflow-wrap:anywhere;
}

/* Impede qualquer conteúdo do topo de criar rolagem lateral da página. */
.site-header,
.menu-principal,
.hero{
  max-width:100%;
}

/* Menu horizontal utilizável em tablet e celular. */
@media (max-width:991.98px){

  body{
    overflow-x:hidden;
  }

  .site-header{
    padding:16px 0;
  }

  .site-header .container{
    max-width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  .site-header-row{
    justify-content:center;
  }

  .site-header-brand{
    width:100%;
    justify-content:center;
  }

  .site-header-logo{
    width:130px;
    height:105px;
  }

  .site-header-info{
    flex:1 1 auto;
    max-width:520px;
  }

  .site-header-info h4{
    font-size:20px;
    line-height:1.2;
    margin-bottom:6px;
  }

  .site-header-info small{
    display:block;
    font-size:13px;
    line-height:1.45;
  }

  .menu-principal{
    background:var(--brand-navbar) !important;
    overflow:hidden;
  }

  .menu-principal .container{
    width:100%;
    max-width:none;
    padding:0;
    margin:0;
  }

  .menu-principal-scroll{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center;
    justify-content:flex-start !important;
    width:100%;
    overflow-x:auto !important;
    overflow-y:hidden;
    white-space:nowrap;
    padding:9px 12px;
    gap:7px;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .menu-principal-scroll::-webkit-scrollbar{
    display:none;
  }

  .menu-principal a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:8px 15px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#F8FAFC !important;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
  }

  .menu-principal a:hover,
  .menu-principal a:focus{
    background:rgba(255,255,255,.17);
    color:#fff !important;
  }

  .hero{
    min-height:0;
    height:auto;
    padding:34px 0 38px;
    align-items:flex-start;
    background-position:center center;
  }

  .hero .container{
    width:100%;
    max-width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  .hero h1{
    font-size:clamp(32px,6vw,44px);
    line-height:1.08;
    max-width:680px;
  }

  .hero p{
    font-size:16px;
    line-height:1.45;
    max-width:640px;
    margin-top:10px;
  }

  .search-box{
    width:100%;
    max-width:100%;
    margin-top:22px;
    padding:18px;
    border-radius:20px;
  }

  .search-box .row{
    --bs-gutter-x:12px;
    --bs-gutter-y:12px;
  }

  .search-box .form-control,
  .search-box .form-select{
    width:100%;
    min-width:0;
  }

  .search-box .btn{
    min-width:180px;
  }
}

@media (max-width:575.98px){

  .site-header{
    padding:12px 0;
  }

  .site-header .container{
    padding-left:14px;
    padding-right:14px;
  }

  .site-header-brand{
    flex-direction:column;
    gap:10px;
    text-align:center;
  }

  .site-header-logo{
    width:min(230px, 72vw);
    height:112px;
    border-radius:14px;
  }

  .site-header-logo img{
    padding:6px;
  }

  .site-header-info{
    width:100%;
    max-width:100%;
  }

  .site-header-info h4{
    font-size:18px;
    line-height:1.25;
  }

  .site-header-info small{
    font-size:12px;
    line-height:1.4;
  }

  .menu-principal-scroll{
    padding:8px 10px;
    gap:6px;
  }

  .menu-principal a{
    min-height:38px;
    padding:8px 13px;
    font-size:13px;
  }

  .hero{
    padding:28px 0 30px;
    background-position:center;
  }

  .hero .container{
    padding-left:14px;
    padding-right:14px;
  }

  .hero h1{
    font-size:34px;
    line-height:1.06;
  }

  .hero p{
    font-size:15px;
  }

  .search-box{
    padding:14px;
    margin-top:18px;
    border-radius:18px;
  }

  .search-box .row > [class*="col-"]{
    width:100%;
  }

  .search-box .form-control,
  .search-box .form-select{
    height:50px;
    font-size:16px; /* evita zoom automático no iPhone */
  }

  .search-box .btn{
    width:100%;
    min-width:0;
    min-height:50px;
  }

  .features{
    padding:18px 0;
  }

  .feature-item{
    padding:14px 8px;
  }

  .feature-item h5{
    font-size:.92rem;
  }

  .feature-item p{
    font-size:.78rem;
  }
}


/* =========================================================
   AJUSTE FINAL — LOGO / HEADER
   Mesmo box do logo do footer + fundo sólido no cabeçalho.
========================================================= */
.site-header{
  background:#EAF2F8;
  border-bottom:1px solid #D7E2EA;
}

.site-header-logo{
  width:200px;
  height:120px;
  background:var(--color-white);
  border-radius:var(--radius-md);
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:none;
}

.site-header-logo a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.site-header-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:0;
}

@media (max-width:991.98px){
  .site-header-logo{
    width:200px;
    height:120px;
  }
}

@media (max-width:575.98px){
  .site-header{
    padding:16px 0 18px;
  }

  .site-header-logo{
    width:min(250px,78vw);
    height:125px;
  }
}


/* =========================================================
   AJUSTE HERO — TEXTO MAIS LEGÍVEL + BUSCA TRANSPARENTE
========================================================= */

/* O fundo continua visível, mas recebe contraste suficiente
   para o título e o subtítulo permanecerem legíveis. */
.hero{
  position:relative;
  isolation:isolate;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(8,18,30,.58) 0%,
    rgba(8,18,30,.30) 46%,
    rgba(8,18,30,.08) 100%
  );
  z-index:0;
  pointer-events:none;
}

.hero .hero-content{
  position:relative;
  z-index:1;
}

/* Destaque do texto sem criar um box atrás dele. */
.hero h1{
  color:#fff !important;
  font-weight:800;
  text-shadow:0 2px 8px rgba(0,0,0,.62);
}

.hero p{
  color:#fff !important;
  font-weight:500;
  text-shadow:0 2px 6px rgba(0,0,0,.62);
}

/* Box externo da pesquisa totalmente incolor/transparente. */
.hero .search-box{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Mantém somente os campos brancos para leitura e usabilidade. */
.hero .search-box .form-control,
.hero .search-box .form-select{
  background-color:#fff;
}

/* Remove eventual sombra aplicada pela classe Bootstrap "shadow". */
.hero .search-box.shadow{
  box-shadow:none !important;
}

@media(max-width:768px){
  .hero::after{
    background:linear-gradient(
      180deg,
      rgba(8,18,30,.48) 0%,
      rgba(8,18,30,.27) 52%,
      rgba(8,18,30,.10) 100%
    );
  }

  .hero h1{
    text-shadow:0 2px 7px rgba(0,0,0,.68);
  }

  .hero p{
    text-shadow:0 2px 5px rgba(0,0,0,.68);
  }
}


/* =========================================================
   HEADER — DEGRADÊ EM HARMONIA COM O HERO
========================================================= */
.site-header{
  background:linear-gradient(
    135deg,
    #DCE8F2 0%,
    #C8D8E6 45%,
    #AEBFCE 100%
  ) !important;
  border-bottom:1px solid rgba(31,49,66,.15);
}

/* Contraste do texto sobre o novo fundo */
.site-header-info h4{
  color:#152436 !important;
  text-shadow:none !important;
}

.site-header-info small{
  color:#526A80 !important;
  text-shadow:none !important;
}

/* O logo continua em box branco para preservar a identidade visual */
.site-header-logo{
  background:#FFFFFF !important;
  border:1px solid rgba(31,49,66,.12);
  box-shadow:none !important;
}

@media(max-width:575.98px){
  .site-header-info h4{
    color:#152436 !important;
  }

  .site-header-info small{
    color:#526A80 !important;
  }
}


/* =========================================================
   HEADER + MENU FIXOS DURANTE A ROLAGEM
========================================================= */

:root{
  --site-header-height:160px;
}

/* Header permanece no topo */
.site-header{
  position:sticky;
  top:0;
  z-index:1040;
  width:100%;
}

/* Menu permanece imediatamente abaixo do header.
   A altura real do header é calculada pelo JS do header.php. */
.menu-principal{
  position:sticky;
  top:var(--site-header-height);
  z-index:1035;
  width:100%;
  box-shadow:0 5px 14px rgba(15,23,42,.10);
}

/* Mantém a rolagem horizontal do menu mobile funcionando */
@media(max-width:991.98px){
  .menu-principal-scroll{
    overscroll-behavior-x:contain;
  }
}

/* Respeita links internos/âncoras para não ficarem escondidos
   atrás do cabeçalho fixo. */
html{
  scroll-padding-top:calc(var(--site-header-height) + 64px);
}


/* =========================================================
   NOVO LAYOUT — SYSIMOBIL MODERNO
   Camada final de estilo. Preserva componentes PHP existentes.
========================================================= */

body{
  font-family:"Plus Jakarta Sans","Inter",sans-serif;
  background:#F8FAFC;
  color:#0F172A;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1040;
  width:100%;
  padding:12px 0 !important;
  background:rgba(15,23,42,.96) !important;
  border-bottom:1px solid rgba(148,163,184,.14) !important;
  box-shadow:none !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.site-header-inner{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.site-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#fff;
}

.site-brand:hover{
  color:#fff;
}

.site-header-logo{
  width:58px !important;
  height:50px !important;
  min-width:58px;
  padding:5px !important;
  border-radius:12px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:none !important;
}

.site-header-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:0 !important;
}

.site-brand-copy{
  min-width:0;
}

.site-brand-copy strong{
  display:block;
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1.06rem;
  line-height:1.2;
  font-weight:800;
  color:#fff;
}

.site-brand-copy small{
  display:block;
  margin-top:4px;
  color:#94A3B8;
  font-size:.69rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:600;
}

.site-header-contact{
  display:flex;
  align-items:center;
  gap:14px;
}

.site-header-whatsapp{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#6EE7B7;
  font-size:.82rem;
  font-weight:700;
}

.site-header-whatsapp:hover{
  color:#A7F3D0;
}

.site-header-whatsapp i{
  font-size:1.05rem;
}

.site-header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:11px;
  background:linear-gradient(135deg,#10B981,#0D9488);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  box-shadow:0 8px 20px rgba(16,185,129,.18);
}

.site-header-cta:hover{
  color:#fff;
  background:linear-gradient(135deg,#059669,#0F766E);
}

.menu-principal{
  position:sticky;
  top:var(--site-header-height);
  z-index:1035;
  width:100%;
  background:#111827 !important;
  border-bottom:1px solid rgba(148,163,184,.12);
  box-shadow:0 7px 20px rgba(15,23,42,.08);
}

.menu-principal-scroll{
  min-height:48px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
}

.menu-principal a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:7px 13px;
  border-radius:10px;
  color:#CBD5E1 !important;
  font-size:.79rem;
  font-weight:700;
  transition:.2s ease;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#6EE7B7 !important;
  background:rgba(255,255,255,.055);
}

/* HERO */

.luxury-hero{
  min-height:460px !important;
  padding:48px 0 54px !important;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  background:
    linear-gradient(180deg,rgba(15,23,42,.58),rgba(15,23,42,.84)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=80')
    center/cover no-repeat !important;
}

.luxury-hero::after{
  content:none !important;
}

.luxury-hero .hero-content{
  position:relative;
  z-index:1;
}

.luxury-hero-copy{
  max-width:850px;
  margin:0 auto;
  text-align:center;
}

.hero-eyebrow{
  display:inline-block;
  margin-bottom:13px;
  color:#6EE7B7;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.luxury-hero h1{
  margin:0 auto;
  max-width:900px;
  color:#fff !important;
  font-size:clamp(2.1rem,4vw,3.7rem) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.04em;
  text-shadow:0 3px 16px rgba(0,0,0,.25);
}

.luxury-hero h1 span{
  color:#5EEAD4;
}

.luxury-hero p{
  max-width:690px;
  margin:16px auto 0;
  color:#CBD5E1 !important;
  font-size:1rem !important;
  line-height:1.65;
  text-shadow:none !important;
}

.luxury-search-box{
  max-width:1120px;
  margin:32px auto 0 !important;
  padding:20px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 22px 55px rgba(2,6,23,.24) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}

.search-label{
  display:block;
  margin-bottom:6px;
  color:#64748B;
  font-size:.68rem;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.luxury-search-box .form-control,
.luxury-search-box .form-select{
  min-height:46px;
  border:1px solid #E2E8F0;
  border-radius:11px;
  background:#fff;
  color:#334155;
  font-size:.86rem;
  box-shadow:none;
}

.luxury-search-box .form-control:focus,
.luxury-search-box .form-select:focus{
  border-color:#10B981;
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}

.luxury-search-btn{
  min-height:44px;
  margin-top:1px;
  padding:0 32px !important;
  gap:8px;
  border-radius:11px !important;
  background:#0F172A !important;
  color:#fff !important;
  font-size:.84rem;
  font-weight:800;
}

.luxury-search-btn:hover{
  background:#059669 !important;
  transform:none !important;
}

/* BENEFÍCIOS */

.luxury-benefits{
  padding:54px 0;
  background:#0F172A;
}

.luxury-benefit-card{
  height:100%;
  min-height:205px;
  padding:28px;
  border-radius:17px;
  background:rgba(30,41,59,.67);
  border:1px solid rgba(100,116,139,.30);
  transition:.22s ease;
}

.luxury-benefit-card:hover{
  border-color:rgba(52,211,153,.55);
  transform:translateY(-3px);
}

.luxury-benefit-icon{
  width:52px;
  height:52px;
  margin-bottom:23px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(16,185,129,.11);
  color:#34D399;
  font-size:1.45rem;
}

.luxury-benefit-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:1rem;
  font-weight:800;
}

.luxury-benefit-card p{
  margin:0;
  color:#94A3B8;
  font-size:.82rem;
  line-height:1.6;
}

/* SEÇÕES E CARDS */

.luxury-listing-section{
  padding:64px 0;
  background:#F8FAFC;
}

.luxury-listing-section + .luxury-listing-section{
  padding-top:10px;
}

.luxury-section-heading{
  margin-bottom:30px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}

.luxury-section-heading h2{
  margin:4px 0 0;
  color:#0F172A;
  font-size:1.85rem;
  font-weight:800;
  letter-spacing:-.025em;
}

.luxury-section-eyebrow{
  display:block;
  color:#059669;
  font-size:.69rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.luxury-outline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 15px;
  border-radius:10px;
  border:1px solid #CBD5E1;
  background:#fff;
  color:#334155;
  font-size:.76rem;
  font-weight:800;
  transition:.2s ease;
}

.luxury-outline-btn:hover{
  color:#047857;
  border-color:#6EE7B7;
  background:#ECFDF5;
}

.property-card{
  border:1px solid #E2E8F0 !important;
  border-radius:17px !important;
  background:#fff !important;
  box-shadow:0 7px 25px rgba(15,23,42,.07) !important;
  overflow:hidden;
}

.property-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.13) !important;
}

.property-card .image{
  height:225px;
}

.property-card img,
.property-img{
  height:100% !important;
  min-height:225px;
  object-fit:cover;
}

.property-card .price{
  top:auto;
  left:14px;
  bottom:14px;
  padding:7px 11px;
  border-radius:9px;
  background:rgba(15,23,42,.90);
  color:#fff;
  box-shadow:none;
  backdrop-filter:blur(7px);
  font-size:.77rem;
}

.property-card .content{
  padding:18px !important;
}

.property-card h3{
  min-height:47px;
  font-size:.93rem !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

.property-card h3 a{
  color:#0F172A !important;
}

.property-card .location{
  min-height:22px;
  margin-bottom:4px;
  color:#64748B;
  font-size:.75rem;
}

.property-card .details{
  margin:14px 0 17px;
  padding-top:14px;
  gap:4px;
  border-color:#E2E8F0;
}

.property-card .detail-item i{
  color:#059669;
  font-size:1rem;
}

.property-card .detail-value{
  color:#334155;
  font-size:.75rem;
  font-weight:800;
}

.property-card .detail-label{
  color:#94A3B8;
  font-size:.61rem;
}

.property-card .btn{
  min-height:40px;
  margin-top:auto;
  border-radius:10px !important;
  background:#F1F5F9 !important;
  color:#0F172A !important;
  font-size:.75rem;
  font-weight:800;
}

.property-card .btn:hover{
  background:#059669 !important;
  color:#fff !important;
  transform:none !important;
}

/* CAROUSEL DE DESTAQUES */

.banner-destaques-section{
  margin-top:55px !important;
  margin-bottom:15px;
}

.banner-destaques{
  border-radius:20px !important;
  border:1px solid #E2E8F0;
  box-shadow:0 18px 50px rgba(15,23,42,.12);
}

.banner-destaques-img{
  height:390px !important;
}

.banner-caption-box{
  background:rgba(15,23,42,.76) !important;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px !important;
}

.banner-price-badge{
  background:#059669 !important;
}

/* CONTATO */

.luxury-contact-section{
  padding:66px 0;
  background:
    radial-gradient(circle at top left,rgba(16,185,129,.11),transparent 30%),
    #0F172A;
}

.luxury-contact-card{
  max-width:1050px;
  margin:0 auto;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:22px !important;
  background:rgba(30,41,59,.75) !important;
  box-shadow:0 20px 45px rgba(2,6,23,.22) !important;
}

.luxury-contact-card h4{
  color:#fff !important;
  font-size:1.65rem;
  font-weight:800;
}

.luxury-contact-card > p{
  color:#94A3B8 !important;
}

.luxury-contact-card .form-label{
  color:#CBD5E1;
  font-weight:700;
}

.luxury-contact-card .form-control,
.luxury-contact-card .form-select{
  min-height:46px;
  border:1px solid #475569;
  border-radius:11px;
  background:rgba(15,23,42,.66);
  color:#fff;
}

.luxury-contact-card textarea.form-control{
  min-height:115px;
}

.luxury-contact-card .btn{
  min-height:47px;
  border-radius:11px !important;
  background:linear-gradient(135deg,#10B981,#0D9488) !important;
}

/* FOOTER */

.luxury-footer{
  padding:64px 0 24px;
  background:#020617;
  color:#94A3B8;
  border-top:1px solid #0F172A;
}

.luxury-footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.luxury-footer-logo{
  width:62px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.luxury-footer-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.luxury-footer-brand strong{
  display:block;
  color:#fff;
  font-size:1rem;
  font-weight:800;
}

.luxury-footer-brand small{
  display:block;
  margin-top:4px;
  color:#64748B;
  font-size:.7rem;
}

.luxury-footer-copy{
  max-width:470px;
  margin:18px 0 0;
  color:#64748B;
  font-size:.78rem;
  line-height:1.75;
}

.luxury-footer h4{
  margin:0 0 17px;
  color:#fff;
  font-size:.71rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.luxury-footer-links,
.luxury-footer-contact{
  list-style:none;
  margin:0;
  padding:0;
}

.luxury-footer-links li{
  margin-bottom:10px;
}

.luxury-footer-links a{
  color:#94A3B8;
  font-size:.76rem;
}

.luxury-footer-links a:hover{
  color:#34D399;
}

.luxury-footer-contact li{
  margin-bottom:13px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#94A3B8;
  font-size:.76rem;
  line-height:1.5;
}

.luxury-footer-contact i{
  margin-top:2px;
  color:#34D399;
}

.luxury-footer .footer-social{
  justify-content:flex-start;
  margin-top:18px;
}

.luxury-footer .footer-social a{
  width:37px;
  height:37px;
  border-radius:10px;
  background:#0F172A;
  border-color:#1E293B;
  font-size:.95rem;
}

.luxury-footer-bottom{
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid #0F172A;
  color:#475569;
  font-size:.69rem;
}

/* BOTÕES GERAIS NOVA PALETA */

.btn-primary,
.btn-imovel{
  background:#059669 !important;
}

.btn-primary:hover,
.btn-imovel:hover{
  background:#047857 !important;
}

/* RESPONSIVO */

@media(max-width:991.98px){
  .site-header-inner{
    min-height:62px;
  }

  .site-header-contact{
    display:none;
  }

  .site-brand{
    max-width:100%;
  }

  .site-brand-copy strong{
    max-width:calc(100vw - 110px);
  }

  .menu-principal .container{
    max-width:100%;
    padding:0;
  }

  .menu-principal-scroll{
    min-height:48px;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding:6px 11px !important;
    gap:5px !important;
    scrollbar-width:none;
  }

  .menu-principal-scroll::-webkit-scrollbar{
    display:none;
  }

  .menu-principal a{
    flex:0 0 auto;
    min-height:36px !important;
    padding:7px 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.06) !important;
    font-size:.75rem !important;
  }

  .luxury-hero{
    min-height:0 !important;
    padding:40px 0 !important;
  }

  .luxury-search-box{
    margin-top:26px !important;
  }

  .luxury-section-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:575.98px){
  .site-header{
    padding:9px 0 !important;
  }

  .site-header-logo{
    width:52px !important;
    height:46px !important;
    min-width:52px;
  }

  .site-brand-copy strong{
    max-width:calc(100vw - 92px);
    font-size:.88rem;
  }

  .site-brand-copy small{
    font-size:.57rem;
  }

  .luxury-hero{
    padding:34px 0 38px !important;
  }

  .luxury-hero h1{
    font-size:2rem !important;
  }

  .luxury-hero p{
    font-size:.88rem !important;
  }

  .luxury-search-box{
    padding:16px !important;
    border-radius:15px !important;
  }

  .luxury-search-box .form-control,
  .luxury-search-box .form-select{
    min-height:48px;
    font-size:16px;
  }

  .luxury-search-btn{
    width:100%;
    min-height:48px;
  }

  .luxury-benefits{
    padding:36px 0;
  }

  .luxury-benefit-card{
    min-height:0;
    padding:22px;
  }

  .luxury-listing-section{
    padding:48px 0;
  }

  .banner-destaques-section{
    margin-top:34px !important;
  }

  .banner-destaques-img{
    height:310px !important;
  }

  .luxury-contact-section{
    padding:45px 0;
  }

  .luxury-footer{
    padding-top:48px;
  }
}


/* =========================================================
   AJUSTES DE LAYOUT — VERSÃO 2
   Topo maior, menu contrastante, hero claro,
   benefícios antes do footer e formulários claros.
========================================================= */

/* TOPO */
.site-header{
  padding:16px 0 14px !important;
  background:#0F172A !important;
}

.site-header-inner{
  min-height:0 !important;
  justify-content:center !important;
}

.site-brand{
  width:auto;
  max-width:760px;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  gap:9px !important;
}

.site-header-logo{
  width:150px !important;
  height:84px !important;
  min-width:150px !important;
  padding:7px !important;
  border-radius:14px !important;
}

.site-brand-copy{
  width:100%;
  text-align:center;
}

.site-brand-copy strong{
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#FFFFFF !important;
  font-size:1rem !important;
  line-height:1.25 !important;
}

.site-brand-copy small{
  margin-top:4px !important;
  color:#94A3B8 !important;
  font-size:.68rem !important;
  letter-spacing:.08em !important;
}

.site-header-contact{
  display:none !important;
}

/* MENU: verde-petróleo para separar visualmente do topo */
.menu-principal{
  background:#0F766E !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.10) !important;
}

.menu-principal a{
  color:#ECFDF5 !important;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#FFFFFF !important;
  background:rgba(255,255,255,.13) !important;
}

/* HERO MAIS CLARO */
.luxury-hero{
  background:
    linear-gradient(180deg,rgba(15,23,42,.30),rgba(15,23,42,.56)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=80')
    center/cover no-repeat !important;
}

.luxury-hero p{
  color:#F1F5F9 !important;
}

/* BENEFÍCIOS: fundo externo claro, cards internos permanecem escuros */
.luxury-benefits{
  padding:58px 0 !important;
  background:#F8FAFC !important;
}

.luxury-benefit-card{
  background:#1E293B !important;
  border-color:#334155 !important;
  box-shadow:0 10px 28px rgba(15,23,42,.09);
}

.luxury-benefit-card:hover{
  border-color:#10B981 !important;
}

.luxury-benefit-card h3{
  color:#FFFFFF !important;
}

.luxury-benefit-card p{
  color:#CBD5E1 !important;
}

/* CONTATO E SOLICITAR IMÓVEL — MESMO LAYOUT CLARO */
.luxury-contact-section{
  padding:64px 0 !important;
  background:#F8FAFC !important;
}

.luxury-page-intro{
  max-width:760px;
  margin:0 auto 28px;
}

.luxury-page-intro h2{
  margin:6px 0 9px;
  color:#0F172A;
  font-size:clamp(1.75rem,3vw,2.35rem);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.025em;
}

.luxury-page-intro p{
  margin:0;
  color:#64748B;
  font-size:.95rem;
  line-height:1.7;
}

.luxury-contact-card{
  max-width:1050px;
  margin:0 auto;
  border:1px solid #E2E8F0 !important;
  border-radius:22px !important;
  background:#FFFFFF !important;
  box-shadow:0 14px 38px rgba(15,23,42,.08) !important;
}

.luxury-contact-card h4,
.luxury-contact-card h3,
.luxury-contact-card h2{
  color:#0F172A !important;
}

.luxury-contact-card > p{
  color:#64748B !important;
}

.luxury-contact-card .form-label{
  color:#475569 !important;
  font-weight:700;
}

.luxury-contact-card .form-control,
.luxury-contact-card .form-select{
  min-height:46px;
  border:1px solid #CBD5E1 !important;
  border-radius:11px;
  background:#FFFFFF !important;
  color:#0F172A !important;
}

.luxury-contact-card .form-control:focus,
.luxury-contact-card .form-select:focus{
  border-color:#10B981 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.10) !important;
}

.luxury-contact-card textarea.form-control{
  min-height:115px;
}

.luxury-contact-card details{
  background:#F8FAFC !important;
  border:1px solid #E2E8F0 !important;
  color:#334155;
}

.luxury-contact-card details summary{
  color:#0F172A;
  font-weight:800;
  cursor:pointer;
}

.luxury-contact-card .form-check{
  color:#475569;
}

.luxury-contact-card .btn{
  min-height:48px;
  border-radius:11px !important;
  background:linear-gradient(135deg,#10B981,#0D9488) !important;
  color:#FFFFFF !important;
}

/* Remove margem visual excessiva entre benefícios e footer */
.luxury-benefits + .luxury-footer{
  margin-top:0 !important;
}

@media(max-width:991.98px){
  .site-header-logo{
    width:136px !important;
    height:78px !important;
    min-width:136px !important;
  }

  .site-brand-copy strong{
    font-size:.94rem !important;
  }
}

@media(max-width:575.98px){
  .site-header{
    padding:12px 0 !important;
  }

  .site-header-logo{
    width:124px !important;
    height:70px !important;
    min-width:124px !important;
  }

  .site-brand-copy strong{
    padding:0 12px;
    font-size:.86rem !important;
  }

  .site-brand-copy small{
    font-size:.6rem !important;
  }

  .luxury-hero{
    background:
      linear-gradient(180deg,rgba(15,23,42,.35),rgba(15,23,42,.58)),
      url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1200&q=80')
      center/cover no-repeat !important;
  }

  .luxury-benefits{
    padding:40px 0 !important;
  }

  .luxury-contact-section{
    padding:44px 0 !important;
  }

  .luxury-page-intro{
    margin-bottom:22px;
  }
}


/* =========================================================
   DESTAQUES — FOTO MAIS VISÍVEL
========================================================= */

.banner-overlay{
  background:linear-gradient(
    to top,
    rgba(15,23,42,.24) 0%,
    rgba(15,23,42,.08) 30%,
    rgba(15,23,42,0) 62%
  ) !important;
}

.banner-caption{
  left:20px !important;
  right:auto !important;
  bottom:20px !important;
  width:auto !important;
  max-width:min(640px,72%) !important;
}

.banner-caption-box{
  background:rgba(15,23,42,.48) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  backdrop-filter:blur(2px) !important;
  -webkit-backdrop-filter:blur(2px) !important;
  box-shadow:0 8px 24px rgba(15,23,42,.12) !important;
}

.banner-caption h4{
  font-size:clamp(1.05rem,2vw,1.55rem) !important;
  line-height:1.25 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}

.banner-icon-item{
  background:rgba(15,23,42,.46) !important;
  border:1px solid rgba(255,255,255,.12);
}

.banner-detail-button{
  background:rgba(255,255,255,.96) !important;
}

@media(max-width:768px){
  .banner-caption{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    max-width:none !important;
  }

  .banner-caption-box{
    background:rgba(15,23,42,.52) !important;
    padding:12px 13px !important;
    backdrop-filter:blur(1.5px) !important;
    -webkit-backdrop-filter:blur(1.5px) !important;
  }

  .banner-caption h4{
    font-size:1rem !important;
  }
}

/* CHAMADA ACIMA DOS IMÓVEIS EM DESTAQUE */
.banner-destaques-heading{max-width:760px;margin:0 auto 28px}
.banner-destaques-eyebrow{display:inline-block;margin-bottom:7px;color:#059669;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.banner-destaques-heading h2{margin:0;color:#0F172A;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.15;font-weight:800;letter-spacing:-.03em}
.banner-destaques-line{display:block;width:54px;height:4px;margin:13px auto 14px;border-radius:999px;background:linear-gradient(90deg,#10B981,#0D9488)}
.banner-destaques-heading p{max-width:680px;margin:0 auto;color:#64748B;font-size:.96rem;line-height:1.65}
@media(max-width:575.98px){.banner-destaques-heading{margin-bottom:20px;padding:0 6px}.banner-destaques-heading p{font-size:.88rem}}



/* =========================================================
   AJUSTES VISUAIS — MENU / HERO / FOOTER
========================================================= */

@media (min-width:992px){
  .menu-principal a{
    font-size:1rem !important;
    font-weight:700 !important;
    padding:14px 20px !important;
  }

  .menu-principal-scroll{
    gap:10px !important;
  }
}

.luxury-hero{
  background:
    linear-gradient(
      180deg,
      rgba(15,23,42,.18) 0%,
      rgba(15,23,42,.28) 48%,
      rgba(15,23,42,.38) 100%
    ),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=88')
    center/cover no-repeat !important;
}

.luxury-hero h1,
.luxury-hero p,
.luxury-hero .luxury-hero-eyebrow{
  text-shadow:0 2px 8px rgba(0,0,0,.48);
}

.luxury-footer{
  position:relative;
  background:linear-gradient(
    180deg,
    #0F172A 0%,
    #162033 36%,
    #263549 68%,
    #F8FAFC 100%
  ) !important;
  color:#E5E7EB !important;
  padding-top:64px !important;
  padding-bottom:72px !important;
}

.luxury-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.02) 45%,
    rgba(255,255,255,.14) 82%,
    rgba(255,255,255,.38) 100%
  );
}

.luxury-footer > .container{
  position:relative;
  z-index:1;
}

.luxury-footer h3,
.luxury-footer h4,
.luxury-footer strong{
  color:#FFFFFF !important;
}

.luxury-footer p,
.luxury-footer small,
.luxury-footer li,
.luxury-footer span{
  color:#CBD5E1 !important;
}

.luxury-footer a{
  color:#D8E2EE !important;
}

.luxury-footer a:hover,
.luxury-footer a:focus{
  color:#34D399 !important;
}

.luxury-footer hr{
  border-color:rgba(255,255,255,.16) !important;
}

.luxury-footer-logo,
.logo-footer-box{
  width:110px !important;
  height:82px !important;
  min-width:110px !important;
  padding:8px !important;
  border-radius:14px !important;
}

.luxury-footer-logo img,
.logo-footer-box img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

@media (max-width:991.98px){
  .luxury-hero{
    background:
      linear-gradient(
        180deg,
        rgba(15,23,42,.20) 0%,
        rgba(15,23,42,.30) 48%,
        rgba(15,23,42,.40) 100%
      ),
      url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1400&q=88')
      center/cover no-repeat !important;
  }

  .luxury-footer-logo,
  .logo-footer-box{
    width:120px !important;
    height:88px !important;
    min-width:120px !important;
  }
}

@media (max-width:575.98px){
  .luxury-footer{
    padding-top:48px !important;
    padding-bottom:64px !important;
    background:linear-gradient(
      180deg,
      #0F172A 0%,
      #182439 44%,
      #314155 76%,
      #F8FAFC 100%
    ) !important;
  }

  .luxury-footer-logo,
  .logo-footer-box{
    width:138px !important;
    height:96px !important;
    min-width:138px !important;
    margin-bottom:14px !important;
  }

  .luxury-footer p,
  .luxury-footer small,
  .luxury-footer li,
  .luxury-footer span,
  .luxury-footer a{
    font-size:.95rem !important;
    line-height:1.65 !important;
  }
}


/* =========================================================
   FOOTER AZUL CLARO + HEADER LOGO MAIOR
========================================================= */

/* Logo do header maior */
.site-header-logo{
  width:190px !important;
  height:105px !important;
  min-width:190px !important;
  padding:7px !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

/* Footer conforme cor de referência enviada */
.luxury-footer{
  background:#B7C8D6 !important;
  color:#111827 !important;
}

.luxury-footer::before{
  display:none !important;
}

.luxury-footer h1,
.luxury-footer h2,
.luxury-footer h3,
.luxury-footer h4,
.luxury-footer h5,
.luxury-footer h6,
.luxury-footer strong,
.luxury-footer p,
.luxury-footer small,
.luxury-footer li,
.luxury-footer span,
.luxury-footer a{
  color:#111827 !important;
}

.luxury-footer a:hover,
.luxury-footer a:focus{
  color:#065F46 !important;
}

.luxury-footer hr,
.luxury-footer .footer-divider{
  border-color:rgba(17,24,39,.18) !important;
}

.luxury-footer .footer-social a{
  color:#111827 !important;
}

@media(max-width:991.98px){
  .site-header-logo{
    width:170px !important;
    height:96px !important;
    min-width:170px !important;
  }
}

@media(max-width:575.98px){
  .site-header-logo{
    width:158px !important;
    height:90px !important;
    min-width:158px !important;
  }

  .luxury-footer{
    background:#B7C8D6 !important;
  }
}


/* =========================================================
   FOOTER PREMIUM — REDESIGN
========================================================= */

.luxury-footer{
  margin-top:0 !important;
  padding:56px 0 24px !important;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.34), transparent 30%),
    linear-gradient(135deg,#B7C8D6 0%,#C8D7E2 55%,#DCE6ED 100%) !important;
  color:#111827 !important;
  border-top:1px solid rgba(15,23,42,.08);
}

.luxury-footer::before{
  display:none !important;
}

.luxury-footer-panel{
  padding:34px;
  border:1px solid rgba(255,255,255,.60);
  border-radius:26px;
  background:rgba(255,255,255,.40);
  box-shadow:
    0 20px 50px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.luxury-footer-brand-block{
  display:flex;
  align-items:center;
  gap:18px;
}

.luxury-footer-logo,
.logo-footer-box{
  width:150px !important;
  height:104px !important;
  min-width:150px !important;
  padding:10px !important;
  margin:0 !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  display:flex;
  align-items:center;
  justify-content:center;
}

.luxury-footer-logo img,
.logo-footer-box img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.luxury-footer-brand-text{
  min-width:0;
}

.luxury-footer-brand-text strong{
  display:block;
  color:#0F172A !important;
  font-size:1.15rem;
  line-height:1.35;
  font-weight:800;
}

.luxury-footer-brand-text small{
  display:block;
  margin-top:6px;
  color:#475569 !important;
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.06em;
}

.luxury-footer-copy{
  max-width:520px;
  margin:22px 0 0;
  color:#334155 !important;
  font-size:.92rem;
  line-height:1.75;
}

.luxury-footer-section-card{
  height:100%;
  padding:6px 4px;
}

.luxury-footer h4{
  position:relative;
  margin:0 0 20px;
  padding-bottom:11px;
  color:#0F172A !important;
  font-size:.78rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.luxury-footer h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:38px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#059669,#14B8A6);
}

.luxury-footer-links,
.luxury-footer-contact{
  margin:0;
  padding:0;
  list-style:none;
}

.luxury-footer-links{
  display:grid;
  gap:11px;
}

.luxury-footer-links a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#243447 !important;
  font-size:.9rem;
  line-height:1.4;
  font-weight:600;
  transition:.2s ease;
}

.luxury-footer-links a i{
  color:#0F766E;
  font-size:.68rem;
  transition:.2s ease;
}

.luxury-footer-links a:hover{
  color:#047857 !important;
  transform:translateX(3px);
}

.luxury-footer-contact{
  display:grid;
  gap:13px;
}

.luxury-footer-contact li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:#243447 !important;
  font-size:.9rem;
  line-height:1.52;
}

.luxury-footer-contact li > span:not(.luxury-footer-contact-icon){
  color:#243447 !important;
}

.luxury-footer-contact-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(5,150,105,.11);
  color:#047857 !important;
  font-size:1rem;
}

.luxury-footer-email{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.luxury-footer .footer-social{
  justify-content:flex-start;
  margin-top:20px;
  gap:8px;
}

.luxury-footer .footer-social a{
  width:38px;
  height:38px;
  border-radius:11px;
  background:rgba(255,255,255,.48) !important;
  border:1px solid rgba(15,23,42,.09) !important;
  color:#0F766E !important;
  box-shadow:none !important;
}

.luxury-footer .footer-social a:hover{
  background:#0F766E !important;
  color:#FFFFFF !important;
  transform:translateY(-2px);
}

.luxury-footer-bottom{
  margin-top:24px !important;
  padding:20px 8px 0 !important;
  border-top:1px solid rgba(15,23,42,.14) !important;
  text-align:center;
}

.luxury-footer-bottom span{
  color:#475569 !important;
  font-size:.8rem;
  line-height:1.5;
}

/* TABLET */
@media(max-width:991.98px){
  .luxury-footer{
    padding-top:44px !important;
  }

  .luxury-footer-panel{
    padding:28px;
  }

  .luxury-footer-logo,
  .logo-footer-box{
    width:160px !important;
    height:110px !important;
    min-width:160px !important;
  }
}

/* CELULAR */
@media(max-width:575.98px){
  .luxury-footer{
    padding:30px 0 18px !important;
  }

  .luxury-footer .container{
    padding-left:14px;
    padding-right:14px;
  }

  .luxury-footer-panel{
    padding:22px 18px;
    border-radius:22px;
  }

  .luxury-footer-brand-block{
    flex-direction:column;
    text-align:center;
    gap:13px;
  }

  .luxury-footer-logo,
  .logo-footer-box{
    width:190px !important;
    height:122px !important;
    min-width:190px !important;
  }

  .luxury-footer-brand-text strong{
    font-size:1.08rem !important;
    line-height:1.35 !important;
  }

  .luxury-footer-brand-text small{
    font-size:.72rem !important;
  }

  .luxury-footer-copy{
    margin:18px auto 0;
    text-align:center;
    color:#334155 !important;
    font-size:.89rem !important;
    line-height:1.65 !important;
  }

  .luxury-footer .footer-social{
    justify-content:center;
    margin:17px 0 4px;
  }

  .luxury-footer-section-card{
    padding-top:12px;
    border-top:1px solid rgba(15,23,42,.10);
  }

  .luxury-footer h4{
    margin-bottom:16px;
    font-size:.76rem;
  }

  .luxury-footer-links{
    gap:9px;
  }

  .luxury-footer-links a,
  .luxury-footer-contact li{
    font-size:.88rem !important;
  }

  .luxury-footer-contact{
    gap:11px;
  }

  .luxury-footer-bottom{
    margin-top:18px !important;
    padding-top:16px !important;
  }

  .luxury-footer-bottom span{
    font-size:.73rem !important;
  }
}


/* =========================================================
   HOME — MELHORIAS APROVADAS
========================================================= */

/* Hero mais compacto e com imagem mais nítida */
.luxury-hero{
  min-height:560px !important;
  background:
    linear-gradient(180deg,rgba(15,23,42,.16),rgba(15,23,42,.34)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=90')
    center/cover no-repeat !important;
}

.luxury-hero h1,
.luxury-hero p,
.luxury-hero .hero-eyebrow{
  text-shadow:0 2px 7px rgba(0,0,0,.42);
}

/* Introdução geral antes das listagens */
.home-listing-intro-section{
  padding:56px 0 6px;
  background:#F8FAFC;
}

.home-listing-intro{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.home-listing-intro .luxury-section-eyebrow{
  display:block;
  margin-bottom:8px;
}

.home-listing-intro h2{
  margin:0;
  color:#0F172A;
  font-size:clamp(1.9rem,3vw,2.6rem);
  font-weight:800;
  letter-spacing:-.03em;
}

.home-listing-intro p{
  max-width:650px;
  margin:10px auto 0;
  color:#64748B;
  line-height:1.7;
}

/* CTA compacto no lugar do formulário completo da Home */
.home-request-cta{
  padding:68px 0;
  background:linear-gradient(180deg,#F8FAFC 0%,#EEF4F7 100%);
}

.home-request-box{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:34px;
  align-items:center;
  padding:36px;
  border-radius:26px;
  background:#FFFFFF;
  border:1px solid #E2E8F0;
  box-shadow:0 16px 42px rgba(15,23,42,.08);
}

.home-request-copy .luxury-section-eyebrow{
  display:block;
  margin-bottom:8px;
}

.home-request-copy h2{
  margin:0;
  color:#0F172A;
  font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.03em;
}

.home-request-copy p{
  margin:12px 0 0;
  color:#64748B;
  line-height:1.7;
}

.home-request-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.home-request-actions a{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 18px;
  border-radius:13px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
}

.home-request-primary{
  background:linear-gradient(135deg,#10B981,#0D9488);
  color:#FFFFFF !important;
}

.home-request-primary:hover{
  color:#FFFFFF !important;
  transform:translateY(-2px);
}

.home-request-secondary{
  background:#0F172A;
  color:#FFFFFF !important;
}

.home-request-secondary:hover{
  background:#1E293B;
  color:#FFFFFF !important;
  transform:translateY(-2px);
}

/* Título antes dos diferenciais */
.home-benefits-intro{
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}

.home-benefits-intro h2{
  margin:6px 0 0;
  color:#0F172A;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:800;
  letter-spacing:-.03em;
}

.home-benefits-intro p{
  max-width:620px;
  margin:10px auto 0;
  color:#64748B;
  line-height:1.7;
}

@media(max-width:991.98px){
  .luxury-hero{
    min-height:520px !important;
  }

  .home-request-box{
    grid-template-columns:1fr;
  }
}

@media(max-width:575.98px){
  .luxury-hero{
    min-height:auto !important;
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  .home-listing-intro-section{
    padding:42px 0 4px;
  }

  .home-request-cta{
    padding:46px 0;
  }

  .home-request-box{
    padding:24px 20px;
    border-radius:20px;
  }

  .home-benefits-intro{
    margin-bottom:22px;
    padding:0 4px;
  }
}




/* =========================================================
   NOVO MODELO AZUL — REFERÊNCIA DENTCARE
   Fonte Jost, paleta azul e efeitos suaves.
========================================================= */

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Jost',Arial,sans-serif !important;
  background:var(--bg);
  color:var(--text);
}

/* HEADER — LOGO SEM BOX E COM MAIOR PRESENÇA */
.site-header{
  background:
    linear-gradient(135deg,#FFFFFF 0%,#F5FBFF 52%,#EAF6FC 100%) !important;
  border-bottom:1px solid rgba(9,30,62,.08) !important;
  padding:20px 0 18px !important;
}

.site-header-inner{
  justify-content:center !important;
}

.site-brand{
  flex-direction:column !important;
  align-items:center !important;
  gap:10px !important;
  text-align:center !important;
}

.site-header-logo{
  width:400px !important;
  height:220px !important;
  min-width:400px !important;
  max-width:min(90vw,400px) !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  object-fit:contain !important;
  border-radius:10px !important;
  transition:transform .5s ease, filter .5s ease !important;
}

.site-brand:hover .site-header-logo img{
  transform:scale(1.025);
  filter:drop-shadow(0 8px 14px rgba(9,30,62,.10));
}

.site-brand-copy strong{
  color:var(--dark) !important;
  font-family:'Jost',Arial,sans-serif !important;
  font-size:1.06rem !important;
  font-weight:700 !important;
}

.site-brand-copy small{
  color:#557089 !important;
  font-size:.72rem !important;
  font-weight:600 !important;
}

/* MENU — MESMA LINGUAGEM DO MODELO */
.menu-principal{
  background:var(--dark) !important;
  border-bottom:0 !important;
  box-shadow:0 8px 18px rgba(9,30,62,.10) !important;
}

.menu-principal a{
  position:relative;
  padding:16px 17px !important;
  color:#FFFFFF !important;
  font-family:'Jost',Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  transition:color .5s ease, background .5s ease !important;
}

.menu-principal a::after{
  content:"";
  position:absolute;
  left:17px;
  right:17px;
  bottom:9px;
  height:2px;
  border-radius:999px;
  background:var(--primary);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .5s ease;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#7DD3FC !important;
  background:transparent !important;
}

.menu-principal a:hover::after,
.menu-principal a:focus::after{
  transform:scaleX(1);
}

/* HERO — MAIS CLARO, AZUL E COM ENTRADA SUAVE */
.luxury-hero{
  min-height:510px !important;
  padding:54px 0 60px !important;
  background:
    linear-gradient(90deg,rgba(9,30,62,.48) 0%,rgba(9,30,62,.30) 52%,rgba(9,30,62,.20) 100%),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=90')
    center/cover no-repeat !important;
}

.hero-eyebrow,
.luxury-section-eyebrow,
.banner-destaques-eyebrow{
  color:#7DD3FC !important;
}

.luxury-hero h1{
  font-family:'Jost',Arial,sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  text-shadow:0 3px 14px rgba(9,30,62,.34) !important;
  animation:dentcareFadeDown .8s ease both;
}

.luxury-hero h1 span{
  color:#38BDF8 !important;
}

.luxury-hero p{
  color:#F0F9FF !important;
  animation:dentcareFadeUp .9s .08s ease both;
}

.luxury-hero-copy .hero-eyebrow{
  animation:dentcareFadeDown .7s ease both;
}

.luxury-search-box{
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 18px 46px rgba(9,30,62,.22) !important;
  animation:dentcareFadeUp .9s .16s ease both;
}

.luxury-search-box .form-control,
.luxury-search-box .form-select{
  border-color:#CFE2EF !important;
  transition:border-color .35s ease, box-shadow .35s ease !important;
}

.luxury-search-box .form-control:focus,
.luxury-search-box .form-select:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 3px rgba(6,163,218,.12) !important;
}

.luxury-search-btn,
.btn-primary{
  background:var(--primary) !important;
  border-color:var(--primary) !important;
  color:#FFFFFF !important;
  font-family:'Jost',Arial,sans-serif !important;
  font-weight:600 !important;
  transition:.5s !important;
}

.luxury-search-btn:hover,
.btn-primary:hover{
  background:var(--secondary) !important;
  border-color:var(--secondary) !important;
  color:#FFFFFF !important;
  transform:translateY(-2px);
}

/* SEÇÕES / TÍTULOS — DETALHE LINEAR DO MODELO */
.luxury-section-heading h2,
.home-listing-intro h2,
.home-request-copy h2,
.home-benefits-intro h2,
.banner-destaques-heading h2{
  color:var(--dark) !important;
  font-family:'Jost',Arial,sans-serif !important;
  font-weight:700 !important;
}

.luxury-section-eyebrow,
.banner-destaques-eyebrow{
  color:var(--primary) !important;
}

.banner-destaques-line{
  background:linear-gradient(90deg,var(--primary),var(--secondary)) !important;
}

/* CARDS — TRANSIÇÃO .5s E ZOOM DE IMAGEM */
.property-card{
  border:1px solid rgba(9,30,62,.08) !important;
  border-radius:14px !important;
  box-shadow:0 6px 20px rgba(9,30,62,.07) !important;
  transition:transform .5s ease, box-shadow .5s ease, border-color .5s ease !important;
}

.property-card:hover{
  transform:translateY(-7px) !important;
  border-color:rgba(6,163,218,.28) !important;
  box-shadow:0 18px 38px rgba(9,30,62,.14) !important;
}

.property-card img,
.property-img,
.destaque-img{
  transition:transform .5s ease !important;
}

.property-card:hover img,
.property-card:hover .property-img,
.foto-link:hover .destaque-img{
  transform:scale(1.09) !important;
}

.property-card .price{
  background:rgba(9,30,62,.92) !important;
}

.luxury-outline-btn{
  color:var(--dark) !important;
  border-color:#C9D9E7 !important;
  transition:.5s ease !important;
}

.luxury-outline-btn:hover{
  color:#FFFFFF !important;
  border-color:var(--primary) !important;
  background:var(--primary) !important;
  transform:translateY(-2px);
}

/* CTA DA HOME */
.home-request-cta{
  background:linear-gradient(180deg,#F7FBFE 0%,#EEF9FF 100%) !important;
}

.home-request-primary{
  background:var(--primary) !important;
  transition:.5s ease !important;
}

.home-request-primary:hover{
  background:var(--secondary) !important;
}

.home-request-secondary{
  background:var(--dark) !important;
  transition:.5s ease !important;
}

.home-request-secondary:hover{
  background:#12315C !important;
}

/* DIFERENCIAIS */
.luxury-benefit-card{
  border-color:rgba(9,30,62,.10) !important;
  transition:transform .5s ease, border-color .5s ease, box-shadow .5s ease !important;
}

.luxury-benefit-card:hover{
  transform:translateY(-6px);
  border-color:rgba(6,163,218,.42) !important;
  box-shadow:0 18px 38px rgba(9,30,62,.10);
}

.luxury-benefit-icon{
  color:var(--primary) !important;
  background:rgba(6,163,218,.12) !important;
}

/* FOOTER — COERENTE COM A NOVA PALETA */
.luxury-footer{
  background:
    radial-gradient(circle at top left,rgba(255,255,255,.42),transparent 34%),
    linear-gradient(135deg,#DDEFFC 0%,#EAF7FD 52%,#F7FCFF 100%) !important;
}

.luxury-footer h4::after{
  background:linear-gradient(90deg,var(--primary),var(--secondary)) !important;
}

.luxury-footer-links a i,
.luxury-footer-contact-icon,
.luxury-footer .footer-social a{
  color:var(--primary) !important;
}

.luxury-footer .footer-social a:hover{
  background:var(--primary) !important;
  color:#FFFFFF !important;
}

/* EFEITOS DE ENTRADA INSPIRADOS NO MODELO */
@keyframes dentcareFadeDown{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes dentcareFadeUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}

.home-listing-intro,
.banner-destaques-heading{
  animation:dentcareFadeUp .75s ease both;
}

/* RESPONSIVIDADE DO NOVO HEADER */
@media(max-width:991.98px){
  .site-header-logo{
    width:320px !important;
    height:178px !important;
    min-width:320px !important;
  }

  .menu-principal a{
    font-size:16px !important;
  }
}

@media(max-width:575.98px){
  .site-header{
    padding:14px 0 12px !important;
  }

  .site-header-logo{
    width:min(88vw,280px) !important;
    height:150px !important;
    min-width:0 !important;
  }

  .site-brand-copy strong{
    font-size:.92rem !important;
  }

  .site-brand-copy small{
    font-size:.66rem !important;
  }

  .menu-principal a{
    padding:12px 13px !important;
    font-size:15px !important;
  }

  .menu-principal a::after{
    left:13px;
    right:13px;
    bottom:6px;
  }

  .luxury-hero{
    min-height:auto !important;
    padding:44px 0 48px !important;
    background:
      linear-gradient(180deg,rgba(9,30,62,.48),rgba(9,30,62,.42)),
      url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1200&q=88')
      center/cover no-repeat !important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}


/* =========================================================
   REFINAMENTO VISUAL — identidade imobiliária limpa
========================================================= */
body,
button,input,select,textarea{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif !important;
}

/* CABEÇALHO: compacto, elegante e sem logo gigantesco */
.site-header{
  padding:14px 0 12px !important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FAFE 100%) !important;
}

.site-brand{
  flex-direction:column !important;
  gap:7px !important;
}

.site-header-logo{
  width:230px !important;
  height:92px !important;
  min-width:0 !important;
  max-width:80vw !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:7px !important;
  filter:none !important;
}

.site-brand:hover .site-header-logo img{
  transform:none !important;
  filter:none !important;
}

.site-brand-copy strong{
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:.96rem !important;
  font-weight:700 !important;
  letter-spacing:-.015em;
  color:#10233F !important;
}

.site-brand-copy small{
  margin-top:1px;
  font-size:.68rem !important;
  font-weight:600 !important;
  letter-spacing:.07em;
  color:#61738A !important;
}

/* MENU */
.menu-principal{
  background:#0C2345 !important;
  box-shadow:0 5px 18px rgba(12,35,69,.12) !important;
}

.menu-principal a{
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  padding:15px 18px !important;
  letter-spacing:-.01em;
}

.menu-principal a::after{
  height:2px !important;
  bottom:8px !important;
  background:#20A9E0 !important;
}

/* HERO: imagem bem mais visível e tipografia menos pesada */
.luxury-hero{
  min-height:470px !important;
  padding:46px 0 50px !important;
  background:
    linear-gradient(90deg,rgba(7,27,54,.30) 0%,rgba(7,27,54,.20) 48%,rgba(7,27,54,.12) 100%),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1920&q=90')
    center/cover no-repeat !important;
}

.luxury-hero h1{
  max-width:820px !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:clamp(2.15rem,3.5vw,3.35rem) !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  letter-spacing:-.045em !important;
  text-shadow:0 2px 14px rgba(4,18,38,.28) !important;
}

.luxury-hero h1 span{
  color:#35B8E8 !important;
}

.hero-eyebrow{
  margin-bottom:12px !important;
  color:#A8E7FF !important;
  font-size:.69rem !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}

.luxury-hero p{
  max-width:650px !important;
  margin-top:14px !important;
  color:#FFFFFF !important;
  font-size:.94rem !important;
  line-height:1.55 !important;
  font-weight:500 !important;
  text-shadow:0 1px 8px rgba(4,18,38,.35) !important;
}

/* BUSCA: mais leve e integrada ao hero */
.luxury-search-box{
  max-width:1050px !important;
  margin-top:26px !important;
  padding:16px !important;
  background:rgba(255,255,255,.90) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  border-radius:14px !important;
  box-shadow:0 16px 38px rgba(7,27,54,.17) !important;
  backdrop-filter:blur(10px) !important;
}

.search-label{
  color:#52667E !important;
  font-size:.62rem !important;
  font-weight:700 !important;
}

.luxury-search-box .form-control,
.luxury-search-box .form-select{
  min-height:46px !important;
  border-radius:9px !important;
  border:1px solid #D6E1EA !important;
  background:#FFFFFF !important;
  color:#26384E !important;
  font-size:.84rem !important;
}

.luxury-search-btn{
  min-width:165px;
  padding:11px 22px !important;
  border-radius:9px !important;
  background:#079DD5 !important;
  border-color:#079DD5 !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  box-shadow:0 7px 18px rgba(7,157,213,.20);
}

.luxury-search-btn:hover{
  background:#0C2345 !important;
  border-color:#0C2345 !important;
}

/* animações discretas, não chamativas */
.property-card{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease !important;
}
.property-card:hover{
  transform:translateY(-4px) !important;
}
.property-card img,.property-img,.destaque-img{
  transition:transform .45s ease !important;
}
.property-card:hover img,
.property-card:hover .property-img,
.foto-link:hover .destaque-img{
  transform:scale(1.045) !important;
}

@media(max-width:575.98px){
  .site-header{
    padding:10px 0 !important;
  }
  .site-header-logo{
    width:190px !important;
    height:78px !important;
  }
  .site-brand-copy strong{
    font-size:.86rem !important;
  }
  .menu-principal a{
    font-size:14px !important;
    padding:12px 13px !important;
  }
  .luxury-hero{
    padding:38px 0 42px !important;
    background:
      linear-gradient(180deg,rgba(7,27,54,.34),rgba(7,27,54,.25)),
      url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1200&q=88')
      center/cover no-repeat !important;
  }
  .luxury-hero h1{
    font-size:2rem !important;
  }
}




/* =========================================================
   HEADER REFINADO — PALETA AZUL REFERÊNCIA
========================================================= */

.site-header{
  padding:14px 0 12px !important;
  background:
    linear-gradient(180deg,#FFFFFF 0%,#EEF9FF 100%) !important;
  border-bottom:1px solid rgba(9,30,62,.08) !important;
  box-shadow:none !important;
}

.site-header-inner{
  min-height:0 !important;
  justify-content:center !important;
}

.site-brand{
  width:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  text-align:center !important;
  text-decoration:none !important;
}

.site-header-logo{
  width:250px !important;
  height:98px !important;
  min-width:0 !important;
  max-width:82vw !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  border-radius:8px !important;
  filter:none !important;
  transition:transform .28s ease !important;
}

.site-brand:hover .site-header-logo img{
  transform:scale(1.015) !important;
}

.site-brand-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:1px !important;
}

.site-brand-copy strong{
  color:#091E3E !important;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif !important;
  font-size:1rem !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-.018em !important;
}

.site-brand-copy small{
  color:#60758A !important;
  font-size:.68rem !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase;
}

/* Menu marinho com destaque ciano */
.menu-principal{
  background:#091E3E !important;
  border:0 !important;
  box-shadow:0 5px 18px rgba(9,30,62,.13) !important;
}

.menu-principal-scroll{
  min-height:52px;
}

.menu-principal a{
  position:relative;
  padding:15px 18px !important;
  color:#FFFFFF !important;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  transition:color .25s ease,background .25s ease !important;
}

.menu-principal a::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:#06A3DA;
  transform:scaleX(0);
  transition:transform .25s ease;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#7DDCFF !important;
  background:rgba(255,255,255,.025) !important;
}

.menu-principal a:hover::after,
.menu-principal a:focus::after{
  transform:scaleX(1);
}

/* pequenos detalhes da home alinhados à mesma identidade */
.luxury-search-btn,
.home-request-primary{
  background:#06A3DA !important;
  border-color:#06A3DA !important;
}

.luxury-search-btn:hover,
.home-request-primary:hover{
  background:#091E3E !important;
  border-color:#091E3E !important;
}

.luxury-section-eyebrow,
.banner-destaques-eyebrow{
  color:#06A3DA !important;
}

.banner-destaques-line,
.luxury-footer h4::after{
  background:#06A3DA !important;
}

@media(max-width:991.98px){
  .site-header-logo{
    width:225px !important;
    height:90px !important;
  }

  .menu-principal a{
    font-size:14px !important;
    padding:13px 15px !important;
  }
}

@media(max-width:575.98px){
  .site-header{
    padding:10px 0 9px !important;
  }

  .site-header-logo{
    width:205px !important;
    height:80px !important;
    max-width:82vw !important;
  }

  .site-brand-copy strong{
    max-width:92vw;
    font-size:.87rem !important;
  }

  .site-brand-copy small{
    font-size:.61rem !important;
  }

  .menu-principal-scroll{
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none;
  }

  .menu-principal-scroll::-webkit-scrollbar{
    display:none;
  }

  .menu-principal a{
    flex:0 0 auto;
    padding:12px 14px !important;
    font-size:14px !important;
  }
}




/* =========================================================
   AJUSTES MOBILE — HEADER / LOGO / CARDS
========================================================= */

/* Cards de imóveis de venda e locação */
.property-card{
  border:2px solid #DEF2FE !important;
}

/* Header com fundo azul-marinho e tipografia branca */
.site-header{
  background:#091E3E !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

.site-brand-copy strong{
  color:#FFFFFF !important;
}

.site-brand-copy small{
  color:#D7E4EF !important;
}

/* Desktop/tablet: mantém logo limpo, sem box */
.site-header-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* CELULAR — logo do header com presença semelhante ao logo do footer */
@media(max-width:575.98px){
  .site-header{
    padding:18px 0 16px !important;
  }

  .site-header-logo{
    width:190px !important;
    height:122px !important;
    min-width:190px !important;
    max-width:88vw !important;
    margin:0 auto !important;
  }

  .site-header-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    border-radius:10px !important;
  }

  .site-brand{
    gap:10px !important;
  }

  .site-brand-copy strong{
    color:#FFFFFF !important;
    font-size:1rem !important;
    font-weight:700 !important;
  }

  .site-brand-copy small{
    color:#D7E4EF !important;
    font-size:.68rem !important;
  }

  .property-card{
    border:2px solid #DEF2FE !important;
    border-radius:16px !important;
  }
}




/* =========================================================
   HEADER — CONTRASTE COM MENU + LOGO MAIOR
========================================================= */

/* Header mais claro para separar visualmente do menu #091E3E */
.site-header{
  background:linear-gradient(135deg,#0D4F7C 0%,#126B9A 55%,#1686B5 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
}

.site-brand-copy strong{
  color:#FFFFFF !important;
}

.site-brand-copy small{
  color:#E7F6FD !important;
}

/* Logo maior e arredondado */
.site-header-logo{
  width:275px !important;
  height:112px !important;
  min-width:0 !important;
  max-width:86vw !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:16px !important;
}

/* Menu continua azul-marinho escuro */
.menu-principal{
  background:#091E3E !important;
}

@media(max-width:575.98px){
  .site-header{
    padding:18px 0 16px !important;
    background:linear-gradient(135deg,#0D4F7C 0%,#126B9A 58%,#1686B5 100%) !important;
  }

  .site-header-logo{
    width:220px !important;
    height:138px !important;
    min-width:220px !important;
    max-width:88vw !important;
  }

  .site-header-logo img{
    border-radius:18px !important;
  }

  .site-brand-copy strong{
    color:#FFFFFF !important;
  }

  .site-brand-copy small{
    color:#E7F6FD !important;
  }
}


/* =========================================================
   LOGO HEADER — MESMA IDEIA VISUAL DO FOOTER
========================================================= */

.site-header-logo{
  width:300px !important;
  height:132px !important;
  padding:14px 20px !important;
  background:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:20px !important;
  box-shadow:
    0 12px 28px rgba(9,30,62,.18),
    0 2px 6px rgba(9,30,62,.08) !important;
  overflow:hidden !important;
  transition:transform .28s ease, box-shadow .28s ease !important;
}

.site-header-logo:hover{
  transform:translateY(-2px);
  box-shadow:
    0 16px 34px rgba(9,30,62,.22),
    0 3px 8px rgba(9,30,62,.10) !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  object-fit:contain !important;
  border-radius:10px !important;
}

.site-brand:hover .site-header-logo img{
  transform:none !important;
}

.site-brand{
  gap:12px !important;
}

@media(max-width:575.98px){
  .site-header-logo{
    width:245px !important;
    height:150px !important;
    min-width:245px !important;
    max-width:88vw !important;
    padding:16px 18px !important;
    border-radius:22px !important;
    box-shadow:
      0 12px 28px rgba(9,30,62,.20),
      0 2px 6px rgba(9,30,62,.09) !important;
  }

  .site-header-logo img{
    border-radius:10px !important;
  }

  .site-brand{
    gap:12px !important;
  }
}


/* =========================================================
   BOX DE DIFERENCIAIS — AZUL DA REFERÊNCIA
   Imóveis Selecionados / Avaliação / Segurança / Atendimento
========================================================= */

.luxury-benefits,
.home-benefits,
.benefits-section{
  background:#FFFFFF !important;
}

.luxury-benefit-card{
  background:#068DBC !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 8px 22px rgba(6,141,188,.13) !important;
}

.luxury-benefit-card:hover{
  background:#0685B3 !important;
  border-color:rgba(255,255,255,.36) !important;
  box-shadow:0 14px 30px rgba(6,141,188,.20) !important;
}

.luxury-benefit-icon{
  background:rgba(255,255,255,.16) !important;
  color:#FFFFFF !important;
}

.luxury-benefit-card h3,
.luxury-benefit-card h4,
.luxury-benefit-card strong{
  color:#FFFFFF !important;
}

.luxury-benefit-card p,
.luxury-benefit-card span{
  color:#EAF8FD !important;
}

@media(max-width:575.98px){
  .luxury-benefit-card{
    background:#068DBC !important;
    border:1px solid rgba(255,255,255,.22) !important;
  }
}




/* =========================================================
   SYSIMOBIL — VINTAGE CONTEMPORÂNEO
   Marrom, caramelo, bege e creme
========================================================= */

:root{
  --vintage-espresso:#2D211B;
  --vintage-coffee:#4A3428;
  --vintage-brown:#684A37;
  --vintage-caramel:#A8794F;
  --vintage-gold:#C49A6C;
  --vintage-beige:#E8DCCB;
  --vintage-sand:#EFE5D7;
  --vintage-cream:#F7F1E8;
  --vintage-paper:#FCF9F4;
}

/* Fundo geral: papel/creme elegante */
body{
  background:
    linear-gradient(180deg,#FCF9F4 0%,#F7F1E8 52%,#FFFFFF 100%) !important;
  color:#2D211B !important;
}

/* HEADER — placa de imobiliária clássica */
.site-header{
  padding:18px 0 16px !important;
  background:
    linear-gradient(135deg,#4A3428 0%,#684A37 58%,#806047 100%) !important;
  border-bottom:1px solid rgba(196,154,108,.48) !important;
  box-shadow:0 5px 20px rgba(45,33,27,.12) !important;
}

.site-header-logo{
  width:300px !important;
  height:132px !important;
  padding:14px 20px !important;
  background:#FCF9F4 !important;
  border:1px solid #E8DCCB !important;
  border-radius:20px !important;
  box-shadow:
    0 12px 28px rgba(45,33,27,.22),
    inset 0 0 0 4px rgba(232,220,203,.30) !important;
  overflow:hidden !important;
}

.site-header-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:10px !important;
}

.site-brand-copy strong{
  color:#FFF9F0 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:1.08rem !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}

.site-brand-copy small{
  color:#E8DCCB !important;
  letter-spacing:.10em !important;
}

/* MENU — café escuro, acabamento clássico */
.menu-principal{
  background:#2D211B !important;
  border-top:1px solid rgba(196,154,108,.20) !important;
  border-bottom:1px solid rgba(196,154,108,.30) !important;
  box-shadow:0 6px 20px rgba(45,33,27,.16) !important;
}

.menu-principal a{
  color:#F7F1E8 !important;
  font-weight:600 !important;
}

.menu-principal a::after{
  background:#C49A6C !important;
}

.menu-principal a:hover,
.menu-principal a:focus{
  color:#E7C8A3 !important;
  background:rgba(196,154,108,.07) !important;
}

/* HERO — fotografia preservada + filtro quente sofisticado */
.luxury-hero{
  position:relative;
}

.luxury-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(45,33,27,.43) 0%,rgba(74,52,40,.27) 48%,rgba(74,52,40,.13) 100%) !important;
  pointer-events:none;
}

.luxury-hero > *{
  position:relative;
  z-index:1;
}

.hero-eyebrow{
  color:#E7C8A3 !important;
}

.luxury-hero h1{
  font-family:Georgia,'Times New Roman',serif !important;
  color:#FFFDF8 !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
}

.luxury-hero h1 span{
  color:#D9AD7C !important;
}

.luxury-hero p{
  color:#FFF9F0 !important;
}

/* BUSCA — papel claro com detalhe caramelo */
.luxury-search-box{
  background:rgba(252,249,244,.94) !important;
  border:1px solid rgba(196,154,108,.55) !important;
  box-shadow:0 18px 42px rgba(45,33,27,.20) !important;
}

.search-label{
  color:#684A37 !important;
}

.luxury-search-box .form-control,
.luxury-search-box .form-select{
  background:#FFFDF9 !important;
  border:1px solid #DCC9B2 !important;
  color:#3D2B22 !important;
}

.luxury-search-box .form-control:focus,
.luxury-search-box .form-select:focus{
  border-color:#A8794F !important;
  box-shadow:0 0 0 .2rem rgba(168,121,79,.13) !important;
}

.luxury-search-btn,
.home-request-primary{
  background:#A8794F !important;
  border-color:#A8794F !important;
  color:#FFFFFF !important;
  box-shadow:0 7px 18px rgba(104,74,55,.18) !important;
}

.luxury-search-btn:hover,
.home-request-primary:hover{
  background:#4A3428 !important;
  border-color:#4A3428 !important;
}

/* Títulos da home */
.luxury-section-title,
.banner-destaques-title,
.home-request-title,
.section-title{
  color:#3B2A21 !important;
  font-family:Georgia,'Times New Roman',serif !important;
}

.luxury-section-eyebrow,
.banner-destaques-eyebrow{
  color:#A8794F !important;
}

.banner-destaques-line{
  background:#A8794F !important;
}

/* CARDS DE IMÓVEIS — moldura vintage sutil */
.property-card{
  background:#FFFDF9 !important;
  border:2px solid #E8DCCB !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(74,52,40,.08) !important;
}

.property-card:hover{
  border-color:#CDAF8C !important;
  box-shadow:0 16px 34px rgba(74,52,40,.14) !important;
}

.property-card h3,
.property-card h4,
.property-card .property-title{
  color:#3D2B22 !important;
}

.property-card .price,
.property-card .property-price{
  color:#8A5D3B !important;
}

/* 4 BOXES DE DIFERENCIAIS */
.luxury-benefit-card{
  background:
    linear-gradient(145deg,#684A37 0%,#4A3428 100%) !important;
  border:1px solid #A8794F !important;
  box-shadow:0 10px 25px rgba(74,52,40,.14) !important;
}

.luxury-benefit-card:hover{
  background:
    linear-gradient(145deg,#75543E 0%,#51392C 100%) !important;
  border-color:#C49A6C !important;
}

.luxury-benefit-icon{
  background:rgba(232,220,203,.12) !important;
  color:#E7C8A3 !important;
  border:1px solid rgba(196,154,108,.22) !important;
}

.luxury-benefit-card h3,
.luxury-benefit-card h4,
.luxury-benefit-card strong{
  color:#FFF9F0 !important;
}

.luxury-benefit-card p,
.luxury-benefit-card span{
  color:#E8DCCB !important;
}

/* FOOTER — bege editorial, muito legível */
.luxury-footer{
  background:
    linear-gradient(180deg,#EFE5D7 0%,#E8DCCB 100%) !important;
  color:#2D211B !important;
  border-top:1px solid #D6C1A7 !important;
}

.luxury-footer h3,
.luxury-footer h4,
.luxury-footer strong{
  color:#2D211B !important;
}

.luxury-footer h4::after{
  background:#A8794F !important;
}

.luxury-footer p,
.luxury-footer a,
.luxury-footer span,
.luxury-footer li{
  color:#4A3428 !important;
}

.luxury-footer a:hover{
  color:#8A5D3B !important;
}

.luxury-footer .contact-item i,
.luxury-footer .footer-contact i,
.luxury-footer .contact-icon,
.luxury-footer .bi,
.luxury-footer .material-symbols-outlined{
  color:#A8794F !important;
}

.luxury-footer .contact-item .icon,
.luxury-footer .footer-contact .icon,
.luxury-footer .contact-icon{
  background:#F7F1E8 !important;
  border:1px solid #D6C1A7 !important;
}

.luxury-footer .footer-logo,
.luxury-footer .brand-logo{
  background:#FCF9F4 !important;
  border:1px solid #D6C1A7 !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(74,52,40,.10) !important;
}

/* Elementos de formulário e páginas internas */
.form-control,
.form-select{
  border-color:#DCC9B2;
}

.form-control:focus,
.form-select:focus{
  border-color:#A8794F !important;
  box-shadow:0 0 0 .2rem rgba(168,121,79,.12) !important;
}

/* MOBILE */
@media(max-width:575.98px){
  .site-header{
    padding:18px 0 16px !important;
  }

  .site-header-logo{
    width:250px !important;
    height:154px !important;
    min-width:250px !important;
    max-width:88vw !important;
    padding:16px 19px !important;
    border-radius:24px !important;
  }

  .site-brand-copy strong{
    color:#FFF9F0 !important;
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:1rem !important;
  }

  .site-brand-copy small{
    color:#E8DCCB !important;
  }

  .menu-principal a{
    color:#F7F1E8 !important;
  }

  .luxury-hero::before{
    background:
      linear-gradient(180deg,rgba(45,33,27,.40),rgba(74,52,40,.24)) !important;
  }

  .property-card{
    border:2px solid #E8DCCB !important;
  }
}




/* =========================================================
   FORMULÁRIOS VINTAGE — ANUNCIAR / SOLICITAR / CONTATO
========================================================= */

/* Base visual comum */
.anunciar-card,
.luxury-contact-card{
  background:#FFFDF9 !important;
  border:2px solid #E8DCCB !important;
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(74,52,40,.08) !important;
}

/* Campos — borda bege/caramelo, foco marrom elegante */
.anunciar-card .form-control,
.anunciar-card .form-select,
.anunciar-card textarea,
.luxury-contact-card .form-control,
.luxury-contact-card .form-select,
.luxury-contact-card textarea.form-control{
  min-height:48px !important;
  background:#FFFDF9 !important;
  color:#2D211B !important;
  border:2px solid #E8DCCB !important;
  border-radius:12px !important;
  box-shadow:none !important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.anunciar-card textarea,
.luxury-contact-card textarea.form-control{
  min-height:120px !important;
}

.anunciar-card .form-control:hover,
.anunciar-card .form-select:hover,
.anunciar-card textarea:hover,
.luxury-contact-card .form-control:hover,
.luxury-contact-card .form-select:hover,
.luxury-contact-card textarea.form-control:hover{
  border-color:#D2B696 !important;
}

.anunciar-card .form-control:focus,
.anunciar-card .form-select:focus,
.anunciar-card textarea:focus,
.luxury-contact-card .form-control:focus,
.luxury-contact-card .form-select:focus,
.luxury-contact-card textarea.form-control:focus{
  background:#FFFFFF !important;
  border-color:#A8794F !important;
  box-shadow:0 0 0 4px rgba(168,121,79,.12) !important;
  outline:none !important;
}

/* Labels */
.anunciar-card .form-label,
.luxury-contact-card .form-label{
  color:#4A3428 !important;
  font-weight:700 !important;
}

/* Botões — anunciar, solicitar e contato */
.anunciar-card .btn,
.anunciar-card .btn-primary,
.anunciar-card .btn-imovel,
.luxury-contact-card .btn,
.luxury-contact-card .btn-primary,
.contact-section .btn,
.contact-box .btn{
  min-height:48px !important;
  padding:12px 22px !important;
  border:1px solid #8E6544 !important;
  border-radius:12px !important;
  background:#A8794F !important;
  color:#FFFFFF !important;
  font-weight:700 !important;
  box-shadow:0 8px 18px rgba(104,74,55,.16) !important;
  transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease !important;
}

.anunciar-card .btn:hover,
.anunciar-card .btn-primary:hover,
.anunciar-card .btn-imovel:hover,
.luxury-contact-card .btn:hover,
.luxury-contact-card .btn-primary:hover,
.contact-section .btn:hover,
.contact-box .btn:hover{
  background:#4A3428 !important;
  border-color:#4A3428 !important;
  color:#FFFFFF !important;
  transform:translateY(-2px) !important;
  box-shadow:0 12px 24px rgba(74,52,40,.20) !important;
}

/* Página Solicitar/Contato — detalhes internos */
.luxury-contact-card details{
  background:#F7F1E8 !important;
  border:1px solid #E8DCCB !important;
  border-radius:12px !important;
}

.luxury-contact-card details summary{
  color:#4A3428 !important;
}

.luxury-contact-card h2,
.luxury-contact-card h3,
.luxury-contact-card h4{
  color:#2D211B !important;
}

.luxury-contact-card > p,
.luxury-contact-card .text-muted{
  color:#765F4E !important;
}

/* Fundo das páginas de formulário */
.luxury-contact-section,
.contact-section{
  background:linear-gradient(180deg,#F7F1E8 0%,#FCF9F4 100%) !important;
}

/* Checkbox/radio */
.luxury-contact-card .form-check-input:checked,
.anunciar-card .form-check-input:checked{
  background-color:#A8794F !important;
  border-color:#A8794F !important;
}

/* Mobile */
@media(max-width:575.98px){
  .anunciar-card,
  .luxury-contact-card{
    border-radius:16px !important;
    border-width:2px !important;
  }

  .anunciar-card .form-control,
  .anunciar-card .form-select,
  .luxury-contact-card .form-control,
  .luxury-contact-card .form-select{
    min-height:46px !important;
  }

  .anunciar-card .btn,
  .luxury-contact-card .btn,
  .contact-section .btn,
  .contact-box .btn{
    width:100%;
  }
}


/* =========================================================
   CARDS DE IMÓVEIS — ÍCONES MARROM ESCURO
========================================================= */

.property-card i,
.property-card .bi,
.property-card .material-symbols-outlined,
.property-card .property-icons i,
.property-card .icons-imovel i,
.property-card .detail-item i,
.destaque-card .property-icons i,
.destaque-card .icons-imovel i,
.destaque-card .detail-item i{
  color:#4A3428 !important;
}

/* Mantém ícones de botões brancos quando estiverem dentro de botão */
.property-card .btn i,
.property-card .btn .bi,
.destaque-card .btn i,
.destaque-card .btn .bi{
  color:inherit !important;
}


/* =========================================================
   HEADER VINTAGE — FUNDO RETRO-MARRON
   A imagem retro-marron.WebP deve ficar na mesma pasta deste CSS.
========================================================= */

.site-header{
  position:sticky !important;
  background:
    linear-gradient(
      90deg,
      rgba(45,33,27,.72) 0%,
      rgba(74,52,40,.48) 50%,
      rgba(45,33,27,.72) 100%
    ),
    url('retro-marron.WebP') center center / cover no-repeat !important;
  border-bottom:1px solid rgba(232,220,203,.55) !important;
  box-shadow:0 5px 20px rgba(45,33,27,.16) !important;
}

/* Mantém o logo como elemento principal do header */
.site-header-logo{
  position:relative !important;
  z-index:2 !important;
  background:#FCF9F4 !important;
  border:1px solid rgba(232,220,203,.92) !important;
  box-shadow:
    0 14px 32px rgba(45,33,27,.30),
    inset 0 0 0 4px rgba(232,220,203,.28) !important;
}

/* Nome e CRECI continuam perfeitamente legíveis sobre a textura */
.site-brand-copy strong{
  color:#FFFFFF !important;
  text-shadow:0 2px 8px rgba(45,33,27,.48) !important;
}

.site-brand-copy small{
  color:#F4E9DC !important;
  text-shadow:0 1px 5px rgba(45,33,27,.45) !important;
}

@media(max-width:575.98px){
  .site-header{
    background:
      linear-gradient(
        180deg,
        rgba(45,33,27,.62) 0%,
        rgba(74,52,40,.48) 52%,
        rgba(45,33,27,.68) 100%
      ),
      url('retro-marron.WebP') center center / cover no-repeat !important;
  }
}


/* =========================================================
   HEADER — TRAVERTINO RETRO-MARRON
========================================================= */
.site-header{
  background:
    linear-gradient(rgba(74,52,40,.16),rgba(74,52,40,.16)),
    url('retro-marron.WebP') center center / cover no-repeat !important;
  border-bottom:1px solid #D6C1A7 !important;
}

.site-brand-copy strong{
  color:#2D211B !important;
  text-shadow:none !important;
}

.site-brand-copy small{
  color:#684A37 !important;
  text-shadow:none !important;
}

@media(max-width:575.98px){
  .site-header{
    background:
      linear-gradient(rgba(74,52,40,.13),rgba(74,52,40,.13)),
      url('retro-marron.WebP') center center / cover no-repeat !important;
  }
}
\n\n/* =========================================================\n   CORREÇÃO DEFINITIVA — HEADER + MENU FIXOS\n========================================================= */\n.site-header{\n  position:sticky !important;\n  top:0 !important;\n  z-index:1040 !important;\n  width:100% !important;\n}\n\n.menu-principal{\n  position:sticky !important;\n  top:var(--site-header-height) !important;\n  z-index:1035 !important;\n  width:100% !important;\n}\n\nhtml{\n  scroll-padding-top:calc(var(--site-header-height) + 64px);\n}\n



/* =========================================================
   AJUSTES VINTAGE — CARDS / PREÇO / CRECI / FOOTER
========================================================= */

/* ---------------------------------------------------------
   CARDS DE VENDA E LOCAÇÃO — RETOS
--------------------------------------------------------- */
.property-card,
.destaque-card{
  border-radius:0 !important;
  overflow:hidden !important;
}

.property-card .image,
.property-card img,
.property-img,
.destaque-card .image,
.destaque-img{
  border-radius:0 !important;
}

/* remove arredondamentos internos que possam sobrar */
.property-card .content,
.destaque-card .content{
  border-radius:0 !important;
}

/* ---------------------------------------------------------
   PREÇO — MAIS LEGÍVEL
--------------------------------------------------------- */
.property-card .price,
.property-card .price-badge,
.property-card .preco-foto,
.destaque-card .price,
.destaque-card .price-badge,
.destaque-card .preco-foto{
  background:#2D211B !important;
  color:#FFF8EE !important;
  border:1px solid #A8794F !important;
  border-radius:6px !important;
  box-shadow:0 5px 14px rgba(45,33,27,.24) !important;
  font-weight:800 !important;
  text-shadow:none !important;
}

.property-card .price *,
.property-card .price-badge *,
.property-card .preco-foto *,
.destaque-card .price *,
.destaque-card .price-badge *,
.destaque-card .preco-foto *{
  color:#FFF8EE !important;
}

/* ---------------------------------------------------------
   CRECI DO TOPO — BOX DE DESTAQUE
--------------------------------------------------------- */
.site-brand-copy small{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  margin-top:5px !important;
  padding:6px 12px !important;
  background:rgba(45,33,27,.90) !important;
  color:#FFF8EE !important;
  border:1px solid #C49A6C !important;
  border-radius:8px !important;
  box-shadow:0 5px 14px rgba(45,33,27,.18) !important;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
}

/* ---------------------------------------------------------
   FOOTER — MESMA TEXTURA DO HEADER
--------------------------------------------------------- */
.luxury-footer{
  position:relative !important;
  background:
    linear-gradient(
      rgba(247,241,232,.88),
      rgba(232,220,203,.92)
    ),
    url('retro-marron.WebP') center center / cover no-repeat !important;
  color:#2D211B !important;
  border-top:1px solid #CDB89E !important;
}

.luxury-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:rgba(255,255,255,.08);
}

.luxury-footer > .container{
  position:relative;
  z-index:1;
}

.luxury-footer h3,
.luxury-footer h4,
.luxury-footer strong{
  color:#2D211B !important;
}

.luxury-footer p,
.luxury-footer a,
.luxury-footer span,
.luxury-footer li{
  color:#4A3428 !important;
}

.luxury-footer h4::after{
  background:#A8794F !important;
}

.luxury-footer .footer-social a,
.luxury-footer .luxury-footer-contact-icon{
  background:#FCF9F4 !important;
  border:1px solid #D6C1A7 !important;
  color:#A8794F !important;
}

.luxury-footer .footer-social a:hover{
  background:#4A3428 !important;
  color:#FFF8EE !important;
  border-color:#4A3428 !important;
}

/* Mobile */
@media(max-width:575.98px){
  .property-card,
  .destaque-card{
    border-radius:0 !important;
  }

  .site-brand-copy small{
    padding:6px 10px !important;
    font-size:.66rem !important;
    border-radius:7px !important;
  }

  .luxury-footer{
    background:
      linear-gradient(
        rgba(247,241,232,.90),
        rgba(232,220,203,.94)
      ),
      url('retro-marron.WebP') center center / cover no-repeat !important;
  }
}


/* =========================================================
   HERO — IMAGEM INTERIOR VINTAGE / CONTEMPORÂNEO
========================================================= */
.luxury-hero{
  background:
    linear-gradient(
      90deg,
      rgba(45,33,27,.48) 0%,
      rgba(45,33,27,.30) 48%,
      rgba(45,33,27,.20) 100%
    ),
    url('hero-vintage.webp') center center / cover no-repeat !important;
}

.luxury-hero::before{
  background:linear-gradient(
    180deg,
    rgba(45,33,27,.08) 0%,
    rgba(45,33,27,.18) 100%
  ) !important;
}

@media(max-width:575.98px){
  .luxury-hero{
    background:
      linear-gradient(
        180deg,
        rgba(45,33,27,.42) 0%,
        rgba(45,33,27,.27) 100%
      ),
      url('hero-vintage.webp') 58% center / cover no-repeat !important;
  }
}


/* =========================================================
   CTA "NÃO ENCONTROU O IMÓVEL?" — FUNDO VINTAGE BEGE
========================================================= */

.home-request-cta{
  background:
    linear-gradient(
      180deg,
      #F7F1E8 0%,
      #EFE5D7 100%
    ) !important;
}

.home-request-box{
  background:#FFFDF9 !important;
  border:1px solid #E8DCCB !important;
  box-shadow:0 14px 34px rgba(74,52,40,.10) !important;
}

.home-request-copy .luxury-section-eyebrow{
  color:#A8794F !important;
}

.home-request-copy h2{
  color:#2D211B !important;
}

.home-request-copy p{
  color:#6B584A !important;
}

@media(max-width:575.98px){
  .home-request-cta{
    background:
      linear-gradient(
        180deg,
        #F8F2EA 0%,
        #F0E6D9 100%
      ) !important;
  }
}


/* =========================================================
   PROMO SYSIMOBIL — MINI ANÚNCIO NO FOOTER
========================================================= */

.sysimobil-footer-promo-wrap{
  display:flex;
  justify-content:flex-end;
  margin:24px 0 8px;
}

.sysimobil-footer-promo{
  width:min(100%, 360px);
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 30px;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(74,52,40,.20);
  border-radius:14px;
  background:rgba(255,253,249,.82);
  box-shadow:0 8px 22px rgba(74,52,40,.08);
  color:#2D211B !important;
  text-decoration:none !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.sysimobil-footer-promo:hover{
  transform:translateY(-2px);
  border-color:#A8794F;
  background:#FFFDF9;
  box-shadow:0 12px 28px rgba(74,52,40,.13);
  color:#2D211B !important;
}

.sysimobil-footer-promo-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#2D211B;
  color:#F7F1E8 !important;
  font-size:1.15rem;
}

.sysimobil-footer-promo-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.15;
}

.sysimobil-footer-promo-copy strong{
  color:#2D211B !important;
  font-size:.91rem !important;
  font-weight:900 !important;
  letter-spacing:.025em;
}

.sysimobil-footer-promo-copy small{
  margin-top:2px;
  color:#A8794F !important;
  font-size:.67rem !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.sysimobil-footer-promo-copy em{
  margin-top:5px;
  color:#684A37 !important;
  font-size:.72rem;
  font-style:normal;
  font-weight:600;
  line-height:1.35;
}

.sysimobil-footer-promo-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#A8794F !important;
  font-size:1rem;
  transition:transform .22s ease;
}

.sysimobil-footer-promo:hover .sysimobil-footer-promo-arrow{
  transform:translate(2px,-2px);
}

.sysimobil-footer-credit{
  display:block;
  margin-top:6px;
  color:#684A37 !important;
  font-size:.72rem !important;
}

.sysimobil-footer-credit a{
  color:#4A3428 !important;
  font-weight:800;
  text-decoration:none !important;
}

.sysimobil-footer-credit a:hover{
  color:#A8794F !important;
}

/* Se o footer atual estiver no modelo azul escuro */
.luxury-footer[style*="background"] .sysimobil-footer-promo,
.luxury-footer .sysimobil-footer-promo{
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

@media(max-width:991.98px){
  .sysimobil-footer-promo-wrap{
    justify-content:center;
    margin-top:22px;
  }
}

@media(max-width:575.98px){
  .sysimobil-footer-promo-wrap{
    margin:20px 0 4px;
  }

  .sysimobil-footer-promo{
    width:100%;
    grid-template-columns:42px minmax(0,1fr) 26px;
    gap:10px;
    padding:12px;
    border-radius:13px;
  }

  .sysimobil-footer-promo-icon{
    width:42px;
    height:42px;
    border-radius:10px;
  }

  .sysimobil-footer-promo-copy strong{
    font-size:.86rem !important;
  }

  .sysimobil-footer-promo-copy em{
    font-size:.68rem;
  }

  .sysimobil-footer-credit{
    margin-top:8px;
  }
}


/* =========================================================
   FOOTER MOBILE — REFINAMENTO FINAL
   Somente celulares; desktop permanece inalterado.
========================================================= */
@media(max-width:575.98px){

  .luxury-footer{
    padding:22px 0 76px !important;
    overflow:hidden;
  }

  .luxury-footer .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .luxury-footer-panel{
    padding:18px 14px !important;
    border-radius:18px !important;
  }

  .luxury-footer-panel .row{
    --bs-gutter-y:1.15rem !important;
  }

  /* Atendimento mais compacto */
  .luxury-footer-section-card{
    padding:10px 2px 2px !important;
  }

  .luxury-footer h4{
    margin-bottom:13px !important;
    padding-bottom:9px !important;
    font-size:.72rem !important;
  }

  .luxury-footer-contact{
    gap:9px !important;
  }

  .luxury-footer-contact li{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    min-width:0 !important;
    font-size:.82rem !important;
    line-height:1.42 !important;
  }

  .luxury-footer-contact-icon{
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
    font-size:.92rem !important;
  }

  .luxury-footer-contact li > span:not(.luxury-footer-contact-icon),
  .luxury-footer-email{
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  /* Mini-card SYSIMOBIL */
  .sysimobil-footer-promo-wrap{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    margin:16px 0 14px !important;
    padding:0 !important;
  }

  .sysimobil-footer-promo{
    width:min(100%, 330px) !important;
    max-width:330px !important;
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) 24px !important;
    align-items:center !important;
    gap:10px !important;
    padding:11px 12px !important;
    border:1px solid rgba(74,52,40,.22) !important;
    border-radius:14px !important;
    background:rgba(255,253,249,.88) !important;
    box-shadow:0 7px 18px rgba(74,52,40,.08) !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .sysimobil-footer-promo-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:10px !important;
    font-size:1rem !important;
  }

  .sysimobil-footer-promo-copy{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    white-space:normal !important;
  }

  .sysimobil-footer-promo-copy strong,
  .sysimobil-footer-promo-copy small,
  .sysimobil-footer-promo-copy em{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }

  .sysimobil-footer-promo-copy strong{
    font-size:.82rem !important;
    line-height:1.15 !important;
  }

  .sysimobil-footer-promo-copy small{
    margin-top:2px !important;
    font-size:.59rem !important;
    line-height:1.2 !important;
  }

  .sysimobil-footer-promo-copy em{
    margin-top:4px !important;
    font-size:.64rem !important;
    line-height:1.3 !important;
  }

  .sysimobil-footer-promo-arrow{
    width:24px !important;
    font-size:.9rem !important;
  }

  /* Copyright sem corte lateral */
  .luxury-footer-bottom{
    width:100% !important;
    margin:10px 0 0 !important;
    padding:14px 8px 0 !important;
    text-align:center !important;
    overflow:visible !important;
  }

  .luxury-footer-bottom > span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 4px !important;
    font-size:.67rem !important;
    line-height:1.45 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .sysimobil-footer-credit{
    display:block !important;
    margin-top:6px !important;
    font-size:.66rem !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }

  /* WhatsApp não cobre mais copyright */
  .whatsapp-float{
    width:52px !important;
    height:52px !important;
    right:14px !important;
    bottom:16px !important;
    font-size:1.45rem !important;
  }
}
