/* =========================================
   LAYANAN - CORE SERVICE
   Prefix khusus: ls-
========================================= */

/* SECTION UTAMA */
#layanan-core.ls-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 70px 0 80px;
  background-color: #f7faff;
}

/* BACKGROUND GAMBAR SAMAR */
#layanan-core.ls-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  background-image:
    linear-gradient(rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.84)),
    url("../assets/images/maritime-bg.jpg");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* CONTAINER */
#layanan-core .ls-container {
  position: relative;
  z-index: 1;
}

/* BARIS JUDUL */
#layanan-core .ls-heading {
  text-align: center;
  margin-bottom: 55px;
}

#layanan-core .ls-heading h2 {
  margin: 0;
  padding: 0;
  color: #10448f;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 1px;
}

/* GARIS DI BAWAH JUDUL */
#layanan-core .ls-heading-line {
  width: 75px;
  height: 4px;
  margin: 18px auto 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #10448f, #20b8f0);
}

/* BARIS CARD */
#layanan-core .ls-card-row {
  align-items: stretch;
}

/* CARD LAYANAN */
#layanan-core .ls-service-card {
  position: relative;
  height: 100%;
  padding: 32px 25px;
  text-align: center;

  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(16, 68, 143, 0.12);
  border-radius: 16px;

  box-shadow: 0 8px 30px rgba(16, 68, 143, 0.08);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

/* EFEK HOVER */
#layanan-core .ls-service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(32, 184, 240, 0.5);
  box-shadow: 0 16px 38px rgba(16, 68, 143, 0.15);
}

/* IKON */
#layanan-core .ls-card-icon {
  width: 110px;
  height: 110px;
  margin: 0 auto 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 7px solid transparent;
  border-radius: 50%;

  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #10448f, #20b8f0) border-box;

  box-shadow: 0 6px 22px rgba(16, 68, 143, 0.12);
}

/* SIMBOL IKON */
#layanan-core .ls-card-icon i {
  color: #10448f;
  font-size: 40px;
}

/* JUDUL CARD */
#layanan-core .ls-card-title {
  margin: 0 0 20px;
  color: #071b69;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.4;
}

/* DAFTAR LAYANAN */
#layanan-core .ls-card-list {
  margin: 0;
  padding-left: 20px;

  text-align: left;
  color: #374151;

  font-size: 15px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

/* JARAK ANTAR ITEM */
#layanan-core .ls-card-list li {
  padding-left: 3px;
  margin-bottom: 7px;
}

/* WARNA BULLET */
#layanan-core .ls-card-list li::marker {
  color: #168bd2;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {
  #layanan-core.ls-section {
    padding: 55px 0 65px;
  }

  #layanan-core .ls-heading {
    margin-bottom: 40px;
  }

  #layanan-core .ls-service-card {
    padding: 28px 20px;
  }

  #layanan-core .ls-card-title {
    font-size: 20px;
  }

  #layanan-core .ls-card-icon {
    width: 100px;
    height: 100px;
  }

  #layanan-core .ls-card-icon i {
    font-size: 36px;
  }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {
  #layanan-core.ls-section {
    padding: 45px 0 50px;
  }

  #layanan-core .ls-heading {
    margin-bottom: 32px;
  }

  #layanan-core .ls-heading h2 {
    font-size: 32px;
    letter-spacing: 0;
  }

  #layanan-core .ls-service-card {
    padding: 26px 22px;
    border-radius: 14px;
  }

  #layanan-core .ls-card-title {
    font-size: 21px;
  }

  #layanan-core .ls-card-list {
    font-size: 15px;
  }
}

/* =========================================
   BANNER LAYANAN - TYPOGRAPHY-NEW
========================================= */

.hero-layanan .service-banner-title {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  color: #fff;
}

/* SUB TITLE */
.hero-layanan .service-title-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 12px;
}

.hero-layanan .service-title-sub span {
  font-family: "Poppins", sans-serif;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 2px;
  color: #fff;
  text-shadow: 2px 3px 6px rgba(0, 0, 0, 0.3);
}

.hero-layanan .service-title-sub::before,
.hero-layanan .service-title-sub::after {
  content: "";
  width: 65px;
  height: 2px;
  background: rgba(255, 255, 255, 0.8);
}

/* MAIN TITLE */
.hero-layanan .service-title-main {
  font-family: "Poppins", sans-serif;
  font-size: 58px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  text-shadow: 2px 4px 8px rgba(0, 0, 0, 0.35);
}

/* DECORATIVE ANCHOR */
.hero-layanan .service-title-decoration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  max-width: 400px;
  margin: 15px auto 0;
}

.hero-layanan .service-title-decoration span {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.85);
}

.hero-layanan .service-title-decoration i {
  font-size: 27px;
  color: #fff;
}

/* TABLET & MOBILE */
@media (max-width: 767px) {
  .hero-layanan .service-title-sub span {
    font-size: 18px;
  }

  .hero-layanan .service-title-sub::before,
  .hero-layanan .service-title-sub::after {
    width: 35px;
  }

  .hero-layanan .service-title-main {
    font-size: 34px;
    letter-spacing: 1px;
  }

  .hero-layanan .service-title-decoration {
    max-width: 250px;
  }

  .hero-layanan .service-title-decoration i {
    font-size: 22px;
  }
}
