/* ==========================================================================
   PT Buana Esa Pratama - Stylesheet
   Tailwind (via CDN) menangani sebagian besar styling di HTML.
   File ini khusus untuk efek/komponen custom yang tidak ada di Tailwind.
   ========================================================================== */

body {
  font-family: "Inter", sans-serif;
}

.gradient-bg {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.card-hover {
  transition: all 0.3s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* ---------- Hero (halaman Home) ---------- */
.hero-bg {
  background-image: url("../images/hero-bg.jpeg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: clamp(460px, 78vh, 700px);
  border-bottom-left-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem;
  overflow: hidden;
}

.hero-overlay {
  min-height: inherit;
  background: linear-gradient(
    120deg,
    rgba(15, 23, 42, 0.72) 0%,
    rgba(15, 23, 42, 0.6) 45%,
    rgba(15, 23, 42, 0.5) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(3rem, 7vw, 6rem) 1rem;
}

.hero-content {
  width: 100%;
}

@media (max-width: 640px) {
  .hero-bg {
    min-height: 420px;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
  .hero-overlay {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

/* ---------- Animasi scroll & kartu layanan ---------- */
.service-card {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.service-card.show {
  opacity: 1;
  transform: translateY(0);
}

.scroll-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.scroll-fade.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Halaman About Us ---------- */
.about-glance-title {
  color: #c2410c;
}

.about-pill-btn {
  min-width: 150px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
  color: #fff;
  font-weight: 700;
  padding: 0.85rem 1.5rem;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.about-pill-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 18px -10px rgba(194, 65, 12, 0.6);
}

.leadership-bg {
  background: linear-gradient(110deg, #fb923c 0%, #ea580c 55%, #c2410c 100%);
}

.vision-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.vision-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.1), rgba(251, 146, 60, 0));
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.vision-card:hover {
  transform: translateY(-6px) scale(1.01);
  border-color: #fb923c;
  box-shadow: 0 16px 28px -16px rgba(194, 65, 12, 0.45);
}
.vision-card:hover::before {
  opacity: 1;
}

/* ---------- Halaman Karir ---------- */
.career-hero {
  background-image: linear-gradient(rgba(15, 23, 42, 0.55), rgba(51, 65, 85, 0.5)), url("../images/hero-bg.jpeg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.career-banner-box {
  border-radius: 1.1rem;
  box-shadow: 0 14px 34px -20px rgba(15, 23, 42, 0.8);
}

.career-core {
  background: linear-gradient(140deg, #f97316 0%, #ea580c 100%);
}

.career-join {
  background-image: linear-gradient(rgba(15, 23, 42, 0.62), rgba(71, 85, 105, 0.58)), url("../images/gallery-3.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ==========================================================================
   PERBAIKAN RESPONSIVE (HP / MOBILE)
   ========================================================================== */

/* 1. Memastikan semua gambar (termasuk logo client) otomatis menyusut sesuai layar */
img {
  max-width: 100%;
  height: auto;
}

/* 2. Penyesuaian khusus tampilan mobile */
@media (max-width: 768px) {
  /* Mencegah gambar atau elemen meluap ke luar layar HP */
  body, html {
    overflow-x: hidden;
  }

  /* Mengatur ulang padding Hero/Banner agar tulisan tidak terasa terlalu penuh */
  .hero-overlay {
    padding: 2.5rem 1rem !important;
  }

  /* Memastikan gambar Hero di latar belakang selalu berada di tengah secara rapi */
  .hero-bg {
    background-position: center center !important;
    background-size: cover !important;
  }
}