:root{
  --lux-bg:#07120e;
  --lux-bg-2:#0b1a14;
  --lux-panel:rgba(11,26,20,.88);
  --lux-panel-2:rgba(255,255,255,.035);
  --lux-stroke:rgba(212,175,55,.16);
  --lux-stroke-soft:rgba(255,255,255,.08);
  --lux-text:#f6f1e8;
  --lux-muted:#d0c8ba;
  --lux-green:#1dd6a0;
  --lux-green-2:#0fb985;
  --lux-gold:#d4af37;
  --lux-shadow:0 24px 70px rgba(0,0,0,.34);
}

html,body{
  background:
    radial-gradient(1200px 700px at 8% 0%, rgba(212,175,55,.07), transparent 58%),
    radial-gradient(900px 520px at 100% 10%, rgba(29,214,160,.06), transparent 54%),
    linear-gradient(180deg,#07130f 0%, #04100c 100%) !important;
  color:var(--lux-text) !important;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{
  color:#fff7ea !important;
  letter-spacing:-.02em !important;
}

p, li, small, .muted, .lead{
  color:var(--lux-muted) !important;
}

a{
  transition:all .22s ease;
}

.btn,
a[class*="btn"],
button{
  border-radius:16px !important;
}

.btn.primary,
a.btn.primary,
.ctaPrincipal,
.btnPrincipal{
  background:linear-gradient(135deg,var(--lux-green),var(--lux-green-2)) !important;
  color:#052018 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 14px 34px rgba(15,185,133,.22),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.btn.outline,
a.btn.outline,
.btnSecundario,
.ctaSecundaria{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  color:#f4ede0 !important;
  border:1px solid rgba(212,175,55,.22) !important;
}

.card,
.heroSheillaPremium,
.finPremiumCard,
.blocoSegurancaVenda,
.footerPremiumBox,
.sideCard,
.mapCard{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)),
    linear-gradient(180deg, rgba(212,175,55,.03), transparent 40%) !important;
  border:1px solid var(--lux-stroke-soft) !important;
  box-shadow:var(--lux-shadow) !important;
  border-radius:28px !important;
}

#homeImoveisGrid > *,
.imovelCard,
.cardPremium{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(212,175,55,.025), transparent 45%) !important;
  border:1px solid rgba(212,175,55,.14) !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-shadow:
    0 20px 50px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

#homeImoveisGrid > *:hover,
.imovelCard:hover,
.cardPremium:hover{
  transform:translateY(-4px) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  border-color:rgba(212,175,55,.24) !important;
}

#homeImoveisGrid img,
.imovelCard img,
.cardPremium img{
  display:block;
  width:100%;
  object-fit:cover;
}

.price,
.preco,
.valor,
.heroPrice{
  color:var(--lux-gold) !important;
  font-weight:900 !important;
}

.section h2,
.sectionPremium h2{
  display:inline-block;
  padding:8px 16px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(212,175,55,.16);
}

table th{
  background:rgba(212,175,55,.12) !important;
  color:#fff2cf !important;
}

table td{
  color:#e4ddd1 !important;
}

@media (max-width:760px){
  .card,
  .heroSheillaPremium,
  .finPremiumCard,
  .blocoSegurancaVenda,
  .footerPremiumBox,
  .sideCard,
  .mapCard{
    border-radius:20px !important;
  }
}


/* =========================
   TITULOS MAIS FORTES (CONVERSÃO)
========================= */

h1{
  font-size: clamp(34px, 5vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

h2{
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
}

.heroSheillaPremium h1{
  color: #fff6e6 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.4);
}


/* =========================
   REMOVER FUNDO BRANCO (ERRO ATUAL)
========================= */

section[style*="#fff"],
section[style*="white"],
.blocoClaro,
.bg-white,
.bg-light{
  background: transparent !important;
  color: #e8e0d0 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}


/* =========================
   CARDS DE IMÓVEIS (NÍVEL PREMIUM REAL)
========================= */

#homeImoveisGrid > *,
.imovelCard{

  background: linear-gradient(180deg,
    rgba(255,255,255,.04),
    rgba(255,255,255,.015)
  ) !important;

  border: 1px solid rgba(212,175,55,.18) !important;
  border-radius: 26px !important;

  overflow: hidden !important;

  transition: all .25s ease !important;
}

#homeImoveisGrid > *:hover{
  transform: translateY(-6px) scale(1.01) !important;

  box-shadow:
    0 35px 90px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}


/* =========================
   PREÇO MAIS VALORIZADO
========================= */

.preco,
.valor{
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #d4af37 !important;
}


/* =========================
   BOTÃO PRINCIPAL MAIS FORTE
========================= */

.ctaPrincipal,
.btnPrincipal{

  font-size: 16px !important;
  padding: 14px 22px !important;

  background: linear-gradient(135deg,#1dd6a0,#0fb985) !important;

  box-shadow:
    0 18px 40px rgba(29,214,160,.35),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}

.ctaPrincipal:hover{
  transform: translateY(-2px) scale(1.02);
}


/* =========================
   PROVA SOCIAL MAIS FORTE
========================= */

.provaSocial,
.clientesBox{

  background: linear-gradient(180deg,
    rgba(212,175,55,.05),
    rgba(255,255,255,.02)
  ) !important;

  border: 1px solid rgba(212,175,55,.2) !important;
  border-radius: 28px !important;
}


/* =========================
   BLOCO FINAL (FECHAMENTO)
========================= */

.ctaFinal,
.fechamento{

  background: linear-gradient(135deg,
    rgba(29,214,160,.15),
    rgba(212,175,55,.08)
  ) !important;

  border: 1px solid rgba(212,175,55,.3) !important;
  border-radius: 28px !important;

  text-align: center;
}

.ctaFinal h2{
  font-size: 32px !important;
  font-weight: 800 !important;
}


/* =========================
   SUAVIZAR TEXTO
========================= */

p{
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}



/* =========================================
   NÍVEL CONSTRUTORA ALTO PADRÃO
========================================= */

/* HERO MAIS NOBRE */
.heroSheillaPremium{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(900px 380px at 0% 0%, rgba(212,175,55,.12), transparent 55%),
    radial-gradient(700px 340px at 100% 0%, rgba(29,214,160,.10), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(212,175,55,.18) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.heroSheillaPremium::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.025), transparent 30%, transparent 70%, rgba(212,175,55,.04));
}

.heroSheillaPremium .heroSelo,
.heroSheillaPremium .heroSelos span{
  border-radius:999px !important;
  padding:8px 14px !important;
  font-weight:800 !important;
  border:1px solid rgba(212,175,55,.18) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
  color:#f4e7c0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* H1 MAIS REFINADO */
.heroSheillaPremium h1{
  max-width:760px !important;
  font-size:clamp(34px,4.7vw,60px) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  color:#fff7ea !important;
  text-shadow:0 3px 14px rgba(0,0,0,.30) !important;
}

.heroSheillaPremium p{
  max-width:720px !important;
  font-size:17px !important;
  line-height:1.72 !important;
  color:#ddd5c7 !important;
}

/* CAIXA LATERAL DO HERO */
.heroSheillaPremium .heroLateral{
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
    linear-gradient(180deg, rgba(212,175,55,.04), transparent 45%) !important;
  border:1px solid rgba(212,175,55,.18) !important;
  border-radius:24px !important;
  box-shadow:
    0 18px 50px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.heroSheillaPremium .heroLateral strong{
  color:#fff1cb !important;
}

/* BOTÕES MAIS PREMIUM */
.heroSheillaPremium .heroCtas a,
.ctaSeguranca .btnPrincipal,
.ctaSeguranca .btnSecundario,
#homeImoveisGrid .btn,
#homeImoveisGrid a.btn{
  min-height:54px !important;
  border-radius:18px !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

.heroSheillaPremium .ctaPrincipal,
.ctaSeguranca .btnPrincipal{
  box-shadow:
    0 18px 38px rgba(15,185,133,.26),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.heroSheillaPremium .ctaPrincipal:hover,
.ctaSeguranca .btnPrincipal:hover,
#homeImoveisGrid .btn:hover,
#homeImoveisGrid a.btn:hover{
  transform:translateY(-2px) scale(1.015) !important;
}

/* BLOCO SEGURANÇA MAIS CARO */
.blocoSegurancaVenda{
  border-radius:30px !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.blocoSegurancaVenda h2{
  max-width:900px !important;
  font-size:clamp(30px,3.5vw,44px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  color:#fff8ed !important;
}

.seloSegurancaSheilla{
  border-radius:18px !important;
  box-shadow:
    0 12px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.iconeSeguranca{
  border-radius:14px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 8px 16px rgba(0,0,0,.16) !important;
}

/* TÍTULOS DE SEÇÃO MAIS INSTITUCIONAIS */
.section h2,
.sectionPremium h2{
  display:inline-flex !important;
  align-items:center !important;
  min-height:54px !important;
  padding:10px 18px !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(212,175,55,.03), transparent 50%) !important;
  border:1px solid rgba(212,175,55,.16) !important;
  color:#fff5df !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* CARDS DE IMÓVEIS MAIS PREMIUM */
#homeImoveisGrid > *,
.imovelCard{
  border-radius:26px !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#homeImoveisGrid img,
.imovelCard img{
  height:250px !important;
  object-fit:cover !important;
  transition:transform .35s ease !important;
}

#homeImoveisGrid > *:hover img,
.imovelCard:hover img{
  transform:scale(1.04) !important;
}

#homeImoveisGrid h3,
.imovelCard h3{
  font-size:clamp(22px,2.1vw,30px) !important;
  line-height:1.06 !important;
  letter-spacing:-.02em !important;
  color:#fff5df !important;
  margin:0 0 10px !important;
}

#homeImoveisGrid .price,
#homeImoveisGrid .preco,
#homeImoveisGrid .valor,
.imovelCard .price,
.imovelCard .preco,
.imovelCard .valor{
  font-size:30px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  color:#f0c75a !important;
  text-shadow:0 2px 8px rgba(0,0,0,.14) !important;
}

#homeImoveisGrid .muted,
#homeImoveisGrid small,
.imovelCard .muted,
.imovelCard small{
  color:#cfc7b8 !important;
  font-size:14px !important;
}

/* TABELA PREMIUM MAIS INSTITUCIONAL */
.finPremiumCard{
  border-radius:30px !important;
}

.finPremiumCard h2{
  font-size:clamp(28px,3.2vw,44px) !important;
  line-height:1.05 !important;
}

.finPremiumResumo{
  border-radius:22px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
    linear-gradient(180deg, rgba(212,175,55,.04), transparent 45%) !important;
  border:1px solid rgba(212,175,55,.18) !important;
}

.finPremiumTable{
  border-radius:22px !important;
  overflow:hidden !important;
}

.finPremiumTable thead th{
  font-size:14px !important;
  letter-spacing:.02em !important;
}

.finPremiumTable tbody td{
  font-size:15px !important;
  line-height:1.5 !important;
}

/* PROVA SOCIAL */
.provaSocial,
.clientesBox,
.footerPremiumBox{
  border-radius:28px !important;
}

/* DETALHE DO IMÓVEL */
.layout{
  gap:26px !important;
}

.mainPhoto{
  border-radius:28px 28px 0 0 !important;
}

.sideCard h2,
.sideTitle{
  color:#fff4dd !important;
  letter-spacing:-.02em !important;
}

.metaItem{
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)) !important;
  border:1px solid rgba(212,175,55,.12) !important;
}

/* GRID FILTROS IMÓVEIS */
#filtros,
.formBusca,
.buscaWrap,
.filtrosWrap{
  border-radius:24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.022)),
    linear-gradient(180deg, rgba(212,175,55,.03), transparent 45%) !important;
  border:1px solid rgba(212,175,55,.14) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

input, select, textarea{
  border-radius:14px !important;
  min-height:48px !important;
  background:rgba(0,0,0,.18) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#f3eee4 !important;
}

/* MOBILE */
@media (max-width:760px){
  .heroSheillaPremium,
  .blocoSegurancaVenda,
  .finPremiumCard,
  .footerPremiumBox{
    border-radius:22px !important;
  }

  #homeImoveisGrid img,
  .imovelCard img{
    height:210px !important;
  }

  #homeImoveisGrid .price,
  #homeImoveisGrid .preco,
  #homeImoveisGrid .valor,
  .imovelCard .price,
  .imovelCard .preco,
  .imovelCard .valor{
    font-size:24px !important;
  }

  .heroSheillaPremium h1{
    font-size:34px !important;
  }

  .blocoSegurancaVenda h2{
    font-size:28px !important;
  }
}



/* =========================
   SUBTÍTULO DOS IMÓVEIS (CORREÇÃO UX)
========================= */

#homeImoveisGrid small,
#homeImoveisGrid .muted,
#homeImoveisGrid .local,
.imovelCard small,
.imovelCard .muted,
.imovelCard .local{

  color: #6b7280 !important; /* cinza elegante */
  font-size: 13.5px !important;
  font-weight: 500 !important;

  opacity: 1 !important;
}


/* MELHORAR HIERARQUIA DO TEXTO */
#homeImoveisGrid h3,
.imovelCard h3{
  color: #1f2937 !important; /* título mais forte */
}

#homeImoveisGrid .price,
#homeImoveisGrid .preco,
#homeImoveisGrid .valor{
  color: #0f766e !important; /* verde mais sofisticado */
}


/* BOTÃO MAIS CONTRASTANTE NO CARD CLARO */
#homeImoveisGrid a.btn,
#homeImoveisGrid .btn{

  background: linear-gradient(135deg,#16c79a,#0ea67a) !important;
  color: #fff !important;

  font-weight: 700 !important;

  box-shadow:
    0 10px 25px rgba(16,185,129,.25) !important;
}


/* AJUSTE DE FUNDO DO CARD (SUAVE) */
#homeImoveisGrid > *{
  background: #ffffff !important;
}




/* =========================
   CORREÇÃO FORTE - SUBTÍTULOS (GARANTIDO)
========================= */

/* pega qualquer texto pequeno dentro do card */
#homeImoveisGrid *:not(h3):not(.price):not(.preco):not(.valor){
  color: #374151 !important; /* cinza escuro elegante */
}


/* caso esteja usando p ao invés de small */
#homeImoveisGrid p{
  color: #374151 !important;
  font-size: 14px !important;
}


/* se tiver classe específica */
#homeImoveisGrid .descricao,
#homeImoveisGrid .local,
#homeImoveisGrid .bairro{
  color: #374151 !important;
}


/* remover transparência que pode estar atrapalhando */
#homeImoveisGrid *{
  opacity: 1 !important;
}


/* reforçar contraste geral do card */
#homeImoveisGrid > *{
  background: #ffffff !important;
}


/* título do imóvel */
#homeImoveisGrid h3{
  color: #111827 !important;
}


/* preço */
#homeImoveisGrid .price,
#homeImoveisGrid .preco,
#homeImoveisGrid .valor{
  color: #065f46 !important;
  font-weight: 800 !important;
}




/* =========================
   FORÇA TOTAL NOS CARDS
========================= */

#homeImoveisGrid > *,
#homeImoveisGrid article,
#homeImoveisGrid .imovelCard,
#homeImoveisGrid .imovelCardLuxo{
  background:#ffffff !important;
  color:#111827 !important;
}

/* tudo dentro do card fica escuro por padrão */
#homeImoveisGrid > * *,
#homeImoveisGrid article *,
#homeImoveisGrid .imovelCard *,
#homeImoveisGrid .imovelCardLuxo *{
  color:#111827 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#111827 !important;
}

/* título */
#homeImoveisGrid h3,
#homeImoveisGrid article h3,
#homeImoveisGrid .imovelCard h3,
#homeImoveisGrid .imovelCardLuxo h3{
  color:#111827 !important;
  font-weight:800 !important;
}

/* subtítulo / bairro / cidade / descrição curta */
#homeImoveisGrid p,
#homeImoveisGrid small,
#homeImoveisGrid span,
#homeImoveisGrid div,
#homeImoveisGrid .muted,
#homeImoveisGrid .local,
#homeImoveisGrid .bairro,
#homeImoveisGrid .descricao{
  color:#4b5563 !important;
  -webkit-text-fill-color:#4b5563 !important;
}

/* preço sempre mais forte */
#homeImoveisGrid .price,
#homeImoveisGrid .preco,
#homeImoveisGrid .valor{
  color:#065f46 !important;
  -webkit-text-fill-color:#065f46 !important;
  font-weight:900 !important;
  font-size:20px !important;
}

/* botão volta a ficar claro */
#homeImoveisGrid a.btn,
#homeImoveisGrid button,
#homeImoveisGrid .btn{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:linear-gradient(135deg,#16c79a,#0ea67a) !important;
  border:none !important;
}

/* se existir body interno do card */
#homeImoveisGrid .imovelBody,
#homeImoveisGrid .card-body,
#homeImoveisGrid .content{
  background:#ffffff !important;
  color:#111827 !important;
}

