:root{
  --kamesa-red:#c1272d;
  --kamesa-dark:#2b2b2b;
  --kamesa-gray:#f4f5f7;
}
body{ font-family:'Segoe UI',Arial,sans-serif; color:#333; }
.navbar-brand strong{ color:var(--kamesa-red); }
.navbar-logo{ max-height:48px; width:auto; object-fit:contain; display:block; }
.navbar{ box-shadow:0 2px 6px rgba(0,0,0,.08); }
.nav-link.active{ color:var(--kamesa-red) !important; font-weight:600; }

.hero-carousel{ position:relative; }
.hero-carousel .carousel-item{ transition: transform 0.8s ease-in-out; }
.hero-carousel .carousel-fade .carousel-item{ transition: opacity 1s ease; }

.hero-slide{
  position:relative;
  background:linear-gradient(rgba(20,20,20,.55),rgba(20,20,20,.55)), var(--hero-img) center/cover no-repeat;
  color:#fff;
  min-height:520px;
  display:flex;
  align-items:center;
}
.hero-caption-inline{ max-width:720px; padding:40px 0; }
.hero-caption-inline h1{ font-weight:800; font-size:2.6rem; }
.badge-tagline{ background:var(--kamesa-red); padding:6px 16px; border-radius:20px; font-size:.9rem; display:inline-block; }

.hero-carousel .carousel-indicators{ margin-bottom:18px; }
.hero-carousel .carousel-indicators button{
  width:10px; height:10px; border-radius:50%; background:#fff; opacity:.6; margin:0 5px;
}
.hero-carousel .carousel-indicators button.active{ opacity:1; background:var(--kamesa-red); }
.hero-carousel .carousel-control-prev, .hero-carousel .carousel-control-next{ width:6%; }
.hero-carousel .carousel-control-prev-icon, .hero-carousel .carousel-control-next-icon{
  background-color:rgba(0,0,0,.35); border-radius:50%; padding:18px; background-size:50%;
}

@media (max-width: 767.98px){
  .hero-slide{ min-height:420px; }
  .hero-caption-inline h1{ font-size:1.9rem; }
}

.section-title{ font-weight:800; color:var(--kamesa-dark); position:relative; padding-bottom:10px; margin-bottom:30px; }
.section-title::after{ content:""; position:absolute; left:0; bottom:0; width:60px; height:4px; background:var(--kamesa-red); }
.section-title.text-center::after{ left:50%; transform:translateX(-50%); }

.section-alt{ background:var(--kamesa-gray); }

.card-product{ border:1px solid #eee; border-radius:10px; transition:.2s; height:100%; }
.card-product:hover{ box-shadow:0 8px 20px rgba(0,0,0,.08); transform:translateY(-3px); }
.card-product img{
  height:180px; width:100%; object-fit:contain; object-position:center;
  border-radius:10px 10px 0 0; background:#f8f8f8; padding:10px;
}

.card-product .category-thumb{
  width:100%; height:130px; object-fit:contain; object-position:center;
  display:block; background:#f8f8f8; padding:12px;
}
.card-product .category-thumb-placeholder{ height:130px; display:flex; align-items:center; justify-content:center; background:#f8f8f8; }

.partner-card{ border:1px solid #eee; border-radius:10px; padding:24px; height:100%; }
.partner-card img{ max-height:60px; margin-bottom:14px; }

.cert-thumb{ border:1px solid #eee; border-radius:10px; overflow:hidden; }
.cert-thumb img{ width:100%; height:220px; object-fit:contain; background:#fff; padding:10px; }

footer{ background:var(--kamesa-dark); color:#ccc; padding:50px 0 20px; }
footer a{ color:#ccc; text-decoration:none; }
footer a:hover{ color:var(--kamesa-red); }
footer h6{ color:#fff; margin-bottom:16px; }

.table-experience th{ background:var(--kamesa-dark); color:#fff; }
.badge-year{ background:var(--kamesa-red); }

.category-pill.active{ background:var(--kamesa-red)!important; color:#fff!important; }

/* Menu Tree - submenu bertingkat (dropdown di dalam dropdown) */
.dropdown-submenu{ position:relative; }
.dropdown-submenu > .dropdown-menu{
  top:0; left:100%; margin-top:-1px; display:none;
}
.dropdown-submenu > .dropdown-menu.show{ display:block; }
.dropdown-submenu > .dropdown-toggle::after{ float:right; margin-top:8px; margin-left:6px; }

@media (max-width: 991.98px){
  .dropdown-submenu > .dropdown-menu{ position:static; left:0; margin-left:1rem; box-shadow:none; border:none; }
}

/* Floating WhatsApp Button */
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  width:60px;
  height:60px;
  background:#25D366;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  z-index:1050;
  animation:wa-pulse 2.4s infinite;
  transition:transform .2s ease;
}
.whatsapp-float:hover{ color:#fff; transform:scale(1.08); }
@keyframes wa-pulse{
  0%{ box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,.5); }
  70%{ box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 14px rgba(37,211,102,0); }
  100%{ box-shadow:0 4px 14px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,0); }
}
@media (max-width: 575.98px){
  .whatsapp-float{ width:52px; height:52px; font-size:28px; right:16px; bottom:16px; }
}
