/*
  Stylesheet khusus halaman detail service (/services/{id}).
  Fokus: UI lebih modern, family-friendly, dan tetap mempertahankan alur booking lama.
*/

:root {
  --sd-primary: #2a7cbb;
  --sd-primary-dark: #1a5f99;
  --sd-secondary: #25b39a;
  --sd-warm: #ffb85b;
  --sd-text: #1f3550;
  --sd-muted: #6d7f93;
  --sd-surface: #ffffff;
  --sd-line: #e4ecf7;
  --sd-shadow: 0 14px 30px rgba(21, 60, 99, 0.12);
}

.byr-service-detail {
  font-family: "Manrope", sans-serif;
  padding: 84px 0 44px;
  background:
    radial-gradient(circle at 8% 5%, rgba(42, 124, 187, 0.1), transparent 18%),
    radial-gradient(circle at 95% 12%, rgba(255, 184, 91, 0.2), transparent 26%),
    linear-gradient(180deg, #fff8ec 0%, #fffdf8 40%, #ffffff 100%);
}

.byr-detail-head {
  margin-bottom: 16px;
}

.byr-detail-kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a86108;
  background: #ffe6bf;
}

.byr-detail-head h1 {
  margin: 0;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--sd-text);
}

/* Area carousel dibuat seperti kartu hero agar visual detail lebih kuat */
.byr-detail-banner {
  border: 1px solid var(--sd-line);
  border-radius: 24px;
  padding: 12px;
  background: var(--sd-surface);
  box-shadow: var(--sd-shadow);
}

.byr-detail-banner .swiper {
  max-width: 100%;
}

.byr-detail-banner .swiper-slide img {
  width: 100%;
  height: clamp(260px, 42vw, 500px);
  object-fit: cover;
  border-radius: 16px;
}

.byr-detail-banner .swiper-button-next,
.byr-detail-banner .swiper-button-prev {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(20, 68, 115, 0.58);
}

.byr-detail-banner .swiper-button-next::after,
.byr-detail-banner .swiper-button-prev::after {
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
}

.byr-detail-panel {
  border: 1px solid var(--sd-line);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: var(--sd-shadow);
  padding: 22px;
}

.byr-panel-title {
  margin: 0 0 12px;
  font-size: 28px;
  font-weight: 800;
  color: var(--sd-text);
}

.byr-panel-content {
  color: #334c68;
  line-height: 1.8;
}

/* List fitur dibuat jadi tag-like card agar lebih mudah discan user */
.byr-feature-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.byr-feature-list li {
  position: relative;
  padding: 11px 14px 11px 42px;
  border: 1px solid #dce7f4;
  border-radius: 12px;
  background: #ffffff;
  color: #31506f;
  font-weight: 600;
}

.byr-feature-list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sd-secondary);
}

/* Card booking di kanan dibuat sticky agar CTA selalu terlihat di desktop */
.byr-booking-card {
  border: 1px solid #d8e5f4;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%);
  box-shadow: var(--sd-shadow);
  padding: 18px;
  position: sticky;
  top: 95px;
}

.byr-booking-card h3 {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 800;
  color: var(--sd-primary-dark);
}

.byr-booking-card p {
  margin-bottom: 16px;
  color: var(--sd-muted);
}

.byr-booking-card label {
  font-weight: 700;
  color: #2e4a67;
  margin-bottom: 6px;
}

.byr-booking-card .form-control {
  border-radius: 12px;
  border: 1px solid #d7e3f2;
  padding: 10px 12px;
}

.byr-btn-book {
  border: none;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(135deg, var(--sd-primary) 0%, var(--sd-secondary) 100%);
}

.byr-btn-book:hover {
  color: #ffffff;
  opacity: 0.94;
}

@media (max-width: 991px) {
  .byr-service-detail {
    padding: 76px 0 32px;
  }

  .byr-booking-card {
    position: static;
  }

  .byr-panel-title {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .byr-service-detail {
    padding: 72px 0 26px;
  }

  .byr-detail-banner {
    border-radius: 16px;
    padding: 9px;
  }

  .byr-detail-banner .swiper-slide img {
    border-radius: 12px;
    height: 240px;
  }

  .byr-detail-panel {
    padding: 16px;
  }
}
