/* ================= HERO ================= */

.hero-carousel{
  margin-top:10px;
  position:relative;
}

/* Bootstrap base */
.carousel-inner,
.carousel-item{
  width:100%;
}

/* IMPORTANT: do NOT set display here */
.carousel-item{
  min-height:340px;
  position:relative;
  border-radius:20px;
  overflow:hidden;
}

/* Only ACTIVE slide uses flex */
.carousel-item.active{
  display:flex;
  align-items:center;
}

/* Light bevel overlay */
.carousel-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,0.35),
    rgba(255,255,255,0.05)
  );
  z-index:1;
  pointer-events:none;
}

/* Content wrapper */
.hero-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  max-width:1100px;
  width:100%;
  margin:auto;
  padding:30px;
  position:relative;
  z-index:2;
  background:rgba(255,255,255,0.35);
  backdrop-filter:blur(10px);
  border-radius:20px;
}

/* Images */
.hero-images img{
  max-height:230px;
  width:auto;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.15);
}

/* Buttons */
.hero-btn{
  background:#111;
  color:#fff;
  border-radius:30px;
  padding:12px 32px;
  border:none;
  cursor:pointer;
  font-weight:500;
  transition:all .25s ease;
}

.hero-btn:hover{
  background:#000;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.15);
}

/* ================= GRADIENT BACKGROUNDS ================= */
/* Must use background-image + !important for Bootstrap */

.carousel-item.hero-1{
  background-image:linear-gradient(135deg,#f8fbff,#e6f0ff)!important;
}

.carousel-item.hero-2{
  background-image:linear-gradient(135deg,#f9fffb,#e6fff1)!important;
}

.carousel-item.hero-3{
  background-image:linear-gradient(135deg,#fffaf5,#ffe9d6)!important;
}

.carousel-item.hero-4{
  background-image:linear-gradient(135deg,#faf8ff,#ece6ff)!important;
}

/* ================= CONTROLS ================= */

.hero-control{
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  position:absolute;
  top:45%;
  border:none;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  cursor:pointer;
  z-index:3;
  transition:.2s;
}

.hero-control:hover{
  background:#fff;
}

.carousel-control-prev{
  left:15px;
}

.carousel-control-next{
  right:15px;
}

/* Remove Bootstrap icon filters */
.carousel-control-prev-icon,
.carousel-control-next-icon{
  filter:none;
}

/* ================= INDICATORS ================= */

.carousel-indicators{
  bottom:15px;
}

.carousel-indicators button{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#111;
  opacity:.4;
  border:none;
}

.carousel-indicators .active{
  opacity:1;
}

/* ================= RESPONSIVE ================= */

@media(max-width:768px){
  .hero-content{
    flex-direction:column;
    text-align:center;
  }

  .hero-images img{
    max-height:180px;
  }
}
