/* Program -> assessment spacing and always-active assessment indicator */
#program.section{
  padding-bottom:18px !important;
}

#program + .section.section--soft{
  padding-top:38px !important;
}

.assessment-card .live{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  width:max-content !important;
  padding:8px 13px 8px 11px !important;
  border:1px solid rgba(25,115,77,.20) !important;
  border-radius:999px !important;
  color:#19734d !important;
  background:linear-gradient(100deg,rgba(25,115,77,.06) 0%,rgba(25,115,77,.14) 45%,rgba(25,115,77,.06) 90%) !important;
  background-size:220% 100% !important;
  box-shadow:0 6px 18px rgba(25,115,77,.08) !important;
  isolation:isolate !important;
  animation:assessmentLiveSweep 3.2s linear infinite,assessmentLiveBob 2.4s ease-in-out infinite !important;
}

.assessment-card .live i{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  flex:0 0 8px !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#198754 !important;
  box-shadow:0 0 0 4px rgba(25,135,84,.13) !important;
  animation:assessmentDotBeat 1.35s ease-in-out infinite !important;
}

.assessment-card .live i::before,
.assessment-card .live i::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  border:1.5px solid rgba(25,135,84,.55) !important;
  border-radius:50% !important;
  transform:translate(-50%,-50%) scale(1) !important;
  pointer-events:none !important;
  animation:assessmentDotRing 1.8s cubic-bezier(.2,.65,.35,1) infinite !important;
}

.assessment-card .live i::after{
  animation-delay:.9s !important;
}

@keyframes assessmentLiveSweep{
  0%{background-position:110% 0}
  100%{background-position:-110% 0}
}

@keyframes assessmentLiveBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

@keyframes assessmentDotBeat{
  0%,100%{transform:scale(.92);filter:brightness(1)}
  50%{transform:scale(1.18);filter:brightness(1.15)}
}

@keyframes assessmentDotRing{
  0%{opacity:.75;transform:translate(-50%,-50%) scale(.75)}
  75%,100%{opacity:0;transform:translate(-50%,-50%) scale(2.35)}
}

@media(max-width:780px){
  #program.section{
    padding-bottom:16px !important;
  }

  #program + .section.section--soft{
    padding-top:30px !important;
  }
}


/* Assessment section -> package section spacing */
.section.section--soft + .section#paket{
  padding-top:38px !important;
}

.section.section--soft:has(+ .section#paket){
  padding-bottom:32px !important;
}

@media(max-width:780px){
  .section.section--soft + .section#paket{
    padding-top:32px !important;
  }

  .section.section--soft:has(+ .section#paket){
    padding-bottom:26px !important;
  }
}


/* Package section -> schedule section spacing */
#paket.section{
  padding-bottom:44px !important;
}

#paket + .section.section--soft{
  padding-top:46px !important;
}

@media(max-width:780px){
  #paket.section{
    padding-bottom:34px !important;
  }

  #paket + .section.section--soft{
    padding-top:36px !important;
  }
}


/* =========================================================
   GLOBAL SECTION SPACING — HOME + ALL PROGRAM PAGES
   Content remains comfortably separated without large gaps.
   ========================================================= */

/* All regular content sections */
body main > :is(
  section.section,
  #program,
  #paket,
  #jadwal,
  #alumni,
  #pendamping,
  #fasilitas,
  #lokasi,
  #konsultasi
){
  padding-top:40px !important;
  padding-bottom:40px !important;
}

/* Give the first content section a little more breathing room */
body main > :is(
  section.section,
  #program,
  #paket,
  #jadwal,
  #alumni,
  #pendamping,
  #fasilitas,
  #lokasi,
  #konsultasi
):first-of-type{
  padding-top:48px !important;
}

/* Neutralize older special gaps between Program, Assessment, Paket, and Jadwal */
body main > #program.section{
  padding-bottom:36px !important;
}

body main > #program + section.section.section--soft{
  padding-top:36px !important;
  padding-bottom:36px !important;
}

body main > section.section.section--soft + #paket.section{
  padding-top:36px !important;
}

body main > #paket.section{
  padding-bottom:36px !important;
}

body main > #paket + #jadwal.section,
body main > #paket + section.section.section--soft{
  padding-top:36px !important;
}

/* Other neighboring sections use the same balanced rhythm */
body main > section.section + section.section{
  padding-top:40px !important;
}

/* Keep headings visually connected to their content */
body main > section.section .section-heading{
  margin-bottom:32px !important;
}

/* Closing CTA should not create another oversized vertical block */
.final-cta{
  padding-top:52px !important;
  padding-bottom:52px !important;
}

@media(max-width:780px){
  body main > :is(
    section.section,
    #program,
    #paket,
    #jadwal,
    #alumni,
    #pendamping,
    #fasilitas,
    #lokasi,
    #konsultasi
  ){
    padding-top:32px !important;
    padding-bottom:32px !important;
  }

  body main > :is(
    section.section,
    #program,
    #paket,
    #jadwal,
    #alumni,
    #pendamping,
    #fasilitas,
    #lokasi,
    #konsultasi
  ):first-of-type{
    padding-top:38px !important;
  }

  body main > #program.section,
  body main > #paket.section{
    padding-bottom:30px !important;
  }

  body main > #program + section.section.section--soft,
  body main > section.section.section--soft + #paket.section,
  body main > #paket + #jadwal.section,
  body main > #paket + section.section.section--soft{
    padding-top:30px !important;
  }

  body main > #program + section.section.section--soft{
    padding-bottom:30px !important;
  }

  body main > section.section + section.section{
    padding-top:32px !important;
  }

  body main > section.section .section-heading{
    margin-bottom:26px !important;
  }

  .final-cta{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}

@media(max-width:520px){
  body main > :is(
    section.section,
    #program,
    #paket,
    #jadwal,
    #alumni,
    #pendamping,
    #fasilitas,
    #lokasi,
    #konsultasi
  ){
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  body main > #program.section,
  body main > #paket.section{
    padding-bottom:26px !important;
  }

  body main > #program + section.section.section--soft,
  body main > section.section.section--soft + #paket.section,
  body main > #paket + #jadwal.section,
  body main > #paket + section.section.section--soft{
    padding-top:26px !important;
  }

  body main > #program + section.section.section--soft{
    padding-bottom:26px !important;
  }

  body main > section.section + section.section{
    padding-top:28px !important;
  }

  body main > section.section .section-heading{
    margin-bottom:22px !important;
  }
}
