/* Carousel + cards */
.hero-carousel {
  width:100%;
  height:clamp(360px,60vh,700px);
  margin-bottom:2rem
}
body.has-fixed-nav {
  padding-top:56px
}

.carousel-inner{height:100%}

.carousel-item{
  min-height: 320px;
  height:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
  display:block; 
}
.carousel-item .carousel-bg-img {
  display: block; /* ubah sementara ke block untuk debug; kembalikan ke none jika tidak perlu */
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-overlay {
  pointer-events:none; 
  position:absolute; 
  left:0;right:0;top:0;bottom:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.35));
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;color:#fff;text-align:center;
  z-index:2;
}
.hero-overlay a, .hero-overlay button { 
  pointer-events: auto; 
}
.hero-title {
  font-weight:700;
  font-size:clamp(22px,3.2vw,42px);
  text-shadow:0 2px 8px rgba(0,0,0,.6)
}
.hero-subtitle {font-size:clamp(14px,1.6vw,20px);
  text-shadow:0 2px 6px rgba(0,0,0,.6)
}
.carousel-indicators {bottom:10px;
  z-index:3
}
.feature-card {
  background:#fff;
  border-radius:8px;
  padding:18px;
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.feature-card:hover {
  transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(0,0,0,.12)
}
.feature-card.hover-raise:hover {
  transform: translateY(-6px);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}
/* WhatsApp floating button */
.whatsapp-float{ position:fixed; right:16px; bottom:20px; z-index:9999; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.2); text-decoration:none;}
.whatsapp-float i{font-size:22px}
@media(max-width:576px){ .whatsapp-float{right:12px;bottom:14px;width:48px;height:48px} }

/* header/footer unified bg */
.site-header, .site-footer { background:#212529; color:#fff; }
.site-footer a { color: #ddd; }
.container-full { width:100%; padding-left:0; padding-right:0; }

/* fix body horizontal overflow if any */
html,body { overflow-x:hidden; }
.site-header {
  background: #212529 !important;
  color: #fff;
  box-shadow: none;
}
.site-header .navbar-brand img { display:inline-block; }
.site-header .brand-text { color: #fff; font-weight:600; }

/* ensure nav links are visible */
.site-header .nav-link,
.site-header .navbar-nav .nav-link {
  color: #fff !important;
  padding-left: .75rem;
  padding-right: .75rem;
}

/* login button: yellow, hover darker */
.site-header .btn-warning {
  background-color: #ffc107;
  border-color: #ffc107;
  color: #111;
}
.site-header .btn-warning:hover,
.site-header .btn-warning:focus {
  background-color: #e0a800;
  border-color: #d39e00;
  color: #111;
  text-decoration: none;
}

/* if any theme rule hides nav text, force visibility */
.navbar-dark .navbar-nav .nav-link { color: #fff !important; }

/* small adjustment for page top spacing (header static) */
body { padding-top: 0; }