/* =========================================================================
   IMPÉRIO PATRIMONIAL — Carrossel de Imóveis "Imagine o seu futuro no Brasil"
   ========================================================================= */

.imoveis-secao{
  background:var(--off-white);
}
.imoveis-secao .section-head{
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.imoveis-secao .section-head .eyebrow{justify-content:center}
.imoveis-secao .section-head p{margin-left:auto;margin-right:auto}

/* --- carrossel: full-bleed, direct child of the section (not .container) --- */
.carrossel{
  position:relative;
  width:100%;
  height:clamp(360px, 58vw, 720px);
  overflow:hidden;
  margin-top:56px;
  box-shadow:0 40px 80px -40px rgba(5,13,26,.35);
}
@media (max-width:768px){
  .carrossel{margin-top:36px}
}

.carrossel-track{
  position:relative;
  width:100%;
  height:100%;
}

.carrossel-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s var(--ease), visibility 0s linear 1s;
  z-index:1;
}
.carrossel-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
  transition:opacity 1s var(--ease), visibility 0s linear 0s;
}

.carrossel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1);
  transition:transform 6s var(--ease);
}
.carrossel:hover .carrossel-slide.is-active img,
.carrossel:focus-within .carrossel-slide.is-active img{
  transform:scale(1.045);
}
@media (prefers-reduced-motion:reduce){
  .carrossel-slide img{transition:none}
  .carrossel:hover .carrossel-slide.is-active img{transform:none}
}

.carrossel-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,13,26,0) 40%, rgba(5,13,26,.72) 100%);
  pointer-events:none;
}

.carrossel-caption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:32px 28px 40px;
  color:var(--white);
}
.carrossel-caption h3{
  font-size:clamp(20px, 2.6vw, 30px);
  color:var(--white);
  margin-bottom:8px;
}
.carrossel-caption p{
  font-family:var(--font-body);
  font-size:14.5px;
  color:var(--gray-300);
  max-width:420px;
  line-height:1.6;
}
@media (min-width:768px){
  .carrossel-caption{padding:44px 56px 52px}
}

/* --- arrows --- */
.carrossel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:46px;height:46px;
  border-radius:50%;
  background:rgba(5,13,26,.38);
  border:1px solid rgba(255,255,255,.35);
  color:var(--white);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(4px);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.carrossel-arrow svg{width:20px;height:20px}
.carrossel-arrow:hover{
  background:rgba(5,13,26,.6);
  border-color:var(--gold-400);
  color:var(--gold-400);
}
.carrossel-arrow--prev{left:18px}
.carrossel-arrow--next{right:18px}
@media (max-width:600px){
  .carrossel-arrow{width:38px;height:38px}
  .carrossel-arrow svg{width:16px;height:16px}
  .carrossel-arrow--prev{left:10px}
  .carrossel-arrow--next{right:10px}
}

/* --- dots --- */
.carrossel-dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  gap:8px;
  padding:8px 12px;
  border-radius:99px;
  background:rgba(5,13,26,.32);
  backdrop-filter:blur(4px);
}
.carrossel-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.5);
  border:none;
  padding:0;
  cursor:pointer;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.carrossel-dot.is-active{
  background:var(--gold-400);
  transform:scale(1.3);
}

/* --- faixa abaixo do carrossel --- */
.imoveis-faixa{
  background:var(--navy-950);
  color:var(--white);
  text-align:center;
  padding:56px 24px;
}
.imoveis-faixa-title{
  font-family:var(--font-display);
  font-size:clamp(20px, 2.4vw, 26px);
  color:var(--white);
  margin-bottom:10px;
}
.imoveis-faixa-text{
  font-family:var(--font-body);
  font-size:15px;
  color:var(--gray-300);
  max-width:520px;
  margin:0 auto 28px;
  line-height:1.7;
}
