/* Black House Tendência — hotfix da dobra mobile e CTAs.
   Escopo ESTRITAMENTE visual: não altera dados, galerias, descrições,
   preços, formulários nem lógica dos filtros. */

/* Causa da faixa vazia: o min-height fixo da hero-grid (760/800px) criava
   espaço depois do bloco "23 imóveis selecionados" em alguns smartphones. */
@media (max-width: 900px) {
  .hero,
  .hero .hero-grid {
    min-height: 0 !important;
  }
  .hero .hero-grid {
    height: auto !important;
  }
}
@media (max-width: 790px) {
  .hero .hero-grid {
    padding-bottom: 38px !important;
  }
  .hero .hero-trust {
    margin-bottom: 0 !important;
  }
}
@media (max-width: 540px) {
  .hero .hero-grid {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .hero .hero-trust {
    margin-top: 23px !important;
    padding-top: 15px !important;
  }
  /* A imagem segue atrás da composição, sem virar um bloco solto. */
  .hero .hero-lifestyle {
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
  }
  .campaign-separator {
    margin-top: 0 !important;
  }
}

/* Pulso visível porém elegante: halo dourado e leve variação de luminosidade.
   Não altera largura/altura e não provoca saltos no layout. */
@keyframes bhGoldCtaPulse {
  0%, 18%, 100% {
    box-shadow: 0 0 0 0 rgba(240, 207, 126, .16),
                0 0 12px rgba(213, 179, 99, .22),
                0 7px 20px rgba(0, 0, 0, .16);
    filter: brightness(1);
  }
  45% {
    box-shadow: 0 0 0 6px rgba(240, 207, 126, .14),
                0 0 30px 4px rgba(213, 179, 99, .44),
                0 9px 28px rgba(0, 0, 0, .2);
    filter: brightness(1.075);
  }
  70% {
    box-shadow: 0 0 0 3px rgba(240, 207, 126, .035),
                0 0 17px 1px rgba(213, 179, 99, .28),
                0 7px 22px rgba(0, 0, 0, .17);
    filter: brightness(1.015);
  }
}
@keyframes bhCardCtaPulse {
  0%, 24%, 100% {
    box-shadow: inset 0 0 0 1px rgba(255, 232, 163, .35),
                0 0 5px rgba(213, 179, 99, .08);
    filter: brightness(1);
  }
  48% {
    box-shadow: inset 0 0 0 1px rgba(255, 244, 190, .8),
                0 0 17px 2px rgba(213, 179, 99, .47);
    filter: brightness(1.1);
  }
}
@keyframes bhTextLinkGlow {
  0%, 25%, 100% {text-shadow:0 0 0 rgba(244,214,139,0);border-color:rgba(255,255,255,.65)}
  48% {text-shadow:0 0 14px rgba(244,214,139,.78);border-color:#f3d48b}
}
/* Pausas e atrasos diferentes para não pulsar tudo simultaneamente. */
.hero .hero-actions .btn-gold,
.closing .btn-gold,
.detail-cta-area .btn-interest-pulse,
.lead-form .btn-submit:not(:disabled),
.mobile-cta {
  animation-name:bhGoldCtaPulse !important;
  animation-duration:3.5s !important;
  animation-timing-function:ease-in-out !important;
  animation-iteration-count:infinite !important;
  box-shadow:0 0 15px rgba(213,179,99,.35);
}
.hero .hero-actions .btn-gold {animation-delay:-.8s !important;}
.detail-cta-area .btn-interest-pulse {animation-delay:-1.45s !important;}
.closing .btn-gold {animation-delay:-2.1s !important;}
.lead-form .btn-submit:not(:disabled) {animation-delay:-2.4s !important;}
.mobile-cta {animation-duration:3.9s !important;animation-delay:-1.9s !important;}
.property-card .card-interest {
  animation:bhCardCtaPulse 4.7s ease-in-out infinite !important;
}
.property-card:nth-child(3n + 2) .card-interest {animation-delay:-1.5s !important;}
.property-card:nth-child(3n + 3) .card-interest {animation-delay:-3s !important;}
.hero .text-link {
  animation:bhTextLinkGlow 5.2s ease-in-out infinite;
  animation-delay:-1.1s;
}
/* Respeitar quem desativa animações no dispositivo. */
@media (prefers-reduced-motion: reduce) {
  .hero .hero-actions .btn-gold,
  .closing .btn-gold,
  .detail-cta-area .btn-interest-pulse,
  .lead-form .btn-submit:not(:disabled),
  .mobile-cta,
  .property-card .card-interest,
  .hero .text-link {
    animation:none !important;
    filter:none !important;
  }
}
