/* ============================= */
/*      Import Google Fonts      */
/* ============================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&family=Poppins:wght@400;500;700&display=swap');

/* ============================= */
/*      Variabel Gradien         */
/* ============================= */
:root {
  --gradient-green-tosca: linear-gradient(
    to right,
    #27ae60,
    #1abc9c
  );
}

body {
  font-family: 'Montserrat', sans-serif; /* font utama */
  margin: 0;
  padding: 0;
}

/* Heading korporat, bisa pakai Poppins */
h1, h2, h3, .slide-layer.slide-title {
  font-family: 'Poppins', sans-serif;
}

/* ============================= */
/*   Navbar Gradien & Hover Efek */
/* ============================= */
.bg-gradient-green-tosca {
  background: var(--gradient-green-tosca) !important;
  background-size: 200% 100%;
  transition: background-position 0.5s ease, box-shadow 0.3s ease;
}
.bg-gradient-green-tosca:hover {
  background-position: 100% 0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

/* ============================= */
/*     Tombol Gradien (.btn)     */
/* ============================= */
.btn {
  background: var(--gradient-green-tosca) !important;
  border: none !important;
  color: #fff !important;
  background-size: 200% 100%;
  transition: background-position 0.5s ease, box-shadow 0.3s ease;
}
.btn:hover,
.btn:focus {
  background-position: 100% 0 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}


/* ============================= */
/*        Hero + Carousel        */
/* ============================= */
.hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.hero-carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item {
  height: 100%;
}
.hero-carousel .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ============================= */
/*   Hover Tombol Carousel Bulat */
/* ============================= */
.carousel-control-prev,
.carousel-control-next {
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  transition: all 0.3s ease;
  z-index: 2;
}
.carousel-control-prev {
  left: 15px;
}
.carousel-control-next {
  right: 15px;
}
.carousel-control-prev:hover,
.carousel-control-next:hover {
  background-color: rgba(39, 174, 96, 0.85);
  transform: translateY(-50%) scale(1.1);
  filter: brightness(1.2);
}

/* ============================= */
/*     Slow Zoom Animation       */
/* ============================= */
@keyframes zoomSlow {
  from { transform: scale(1); }
  to   { transform: scale(1.1); }
}
.hero-carousel .carousel-item.active img {
  animation: zoomSlow 5s ease-in-out forwards;
}

/* ============================= */
/*        Overlay Gelap          */
/* ============================= */
.hero .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1;
  pointer-events: none;
}

/* ============================= */
/*   Kontrol & Indikator Z-index */
/* ============================= */
.carousel-control-prev,
.carousel-control-next,
.carousel-indicators {
  z-index: 3;
}

/* ============================= */
/*    Teks Overlay Slide Hero    */
/* ============================= */
.hero-carousel .slide-layer {
  position: absolute;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.6);
  z-index: 2;
  opacity: 0;
}
.hero-carousel .slide-subtitle {
  top: 10%;
  left: 5%;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  animation: fadeInUp 1s ease-out both;
  animation-delay: 0.5s;
}
.hero-carousel .slide-title {
  position: absolute;            /* pastikan positioning */
  top: 20%;
  left: 5%;
  
  /* responsive font-size: minimum 1.5rem, ideal 5vw, maksimum 2.5rem */
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  
  font-weight: 700;
  line-height: 1.2;
  max-width: 50%;
  
  animation: fadeInUp 1s ease-out both;
  animation-delay: 1s;
  
  padding: 0.75rem 1.25rem;      /* tambahan: padding teks */
  border-radius: 0.5rem;         /* tambahan: sudut membulat */
  color: #fff;                   /* pastikan teks putih agar terbaca */
}

/* (Opsional) Jika mau atur ulang max-width dan posisi untuk layar kecil */
@media (max-width: 767.98px) {
  .hero-carousel .slide-title {
    max-width: 80%;
    top: 15%;
    left: 5%;
  }
}


.hero-carousel .slide-badge .name {
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.hero-carousel .slide-badge .position {
  font-size: 0.9rem;
  line-height: 1.2;
}

/* ============================= */
/*     Zoom Hover Card/Image     */
/* ============================= */
.zoom-img {
  transition: transform 0.5s ease;
}
.zoom-img:hover {
  transform: scale(1.1);
}

/* ============================= */
/*      Animasi FadeInUp         */
/* ============================= */
@keyframes fadeInUp {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* ============================= */
/*  Hero Carousel Overlay Slide  */
/* ============================= */
.hero-carousel .carousel-item {
  position: relative;
}

.hero-carousel .carousel-item .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Pastikan teks di atas overlay */
.hero-carousel .slide-layer {
  position: absolute;
  z-index: 2;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
  opacity: 1;
}

.hero-carousel .slide-badge {
  bottom: 10%;
  left: 5%;
  background: rgba(255,255,255,0.9);
  color: #333;
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  max-width: 90%;
  animation: fadeInUp 1s ease-out both;
  animation-delay: 1.5s;
}

