/* 2. Desktop dropdown - light */
#masthead .sub-menu,
.header-navigation ul ul {
    background: #ffffff !important;
    border: 1px solid #DCE8FF !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}

#masthead .sub-menu a,
.header-navigation ul ul a {
    color: #101828 !important;
}

#masthead .sub-menu a:hover,
.header-navigation ul ul a:hover {
    color: #4B6BFF !important;
    background: #FAFBFD !important;
}

/* 3. Mobile menu - white background, dark text */
#mobile-drawer,
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content,
.mobile-toggle-open .mobile-toggle-open-container,
div[class*="drawer"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

#mobile-drawer a,
#mobile-drawer .menu-item > a,
#mobile-drawer .mobile-toggle-open a {
    color: #101828 !important;
    font-weight: 500 !important;
}

#mobile-drawer a:hover {
    color: #4B6BFF !important;
}

#mobile-drawer .drawer-header button,
#mobile-drawer .drawer-header .drawer-toggle {
    color: #101828 !important;
}

/* 4. Mobile heading fix */
@media screen and (max-width: 782px) {
    h1.wp-block-heading {
        font-size: 32px !important;
        line-height: 1.1 !important;
    }

    h2.wp-block-heading {
        font-size: 26px !important;
    }
}

/* 5. Mobile dropdown toggle arrow visible */
#mobile-drawer .drawer-nav-drop-wrap,
#mobile-drawer .menu-item-has-children > .drawer-nav-drop-wrap,
#mobile-drawer button.drawer-nav-drop-wrap {
    color: #101828 !important;
}

#mobile-drawer .drawer-nav-drop-wrap svg,
#mobile-drawer .menu-item-has-children svg {
    color: #101828 !important;
    fill: #101828 !important;
    stroke: #101828 !important;
}

/* Gambar di section Bulan Ini — auto crop */
.wp-block-group[style*="overflow:hidden"] .wp-block-image img,
.wp-block-group[style*="border-radius:20px"] .wp-block-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
}

/* Fix card kelas di mobile */
@media (max-width: 600px) {
    .wp-block-group[style*="border-radius:20px"] a[style*="display:flex"] {
        flex-wrap: nowrap;
        align-items: center;
    }

    .wp-block-group[style*="border-radius:20px"] a[style*="display:flex"] > span:nth-child(2) span[style*="font-size:13.5px"] {
        display: none;
    }

    .wp-block-group[style*="border-radius:20px"] a[style*="display:flex"] > span:nth-child(2) strong {
        font-size: 14px !important;
    }
}
/* =========================================================
   Jiwamu Global Footer — Emergency Styling
   ========================================================= */

.jiwamu-site-footer {
  background: #FAFBFD !important;
  border-top: 1px solid #DCE8FF !important;
  color: #101828 !important;
  padding: 40px 5% 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.jiwamu-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.jiwamu-footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr 0.85fr 0.95fr !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
  align-items: start !important;
}

.jiwamu-footer-title {
  color: #101828 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 8px 0 !important;
}

.jiwamu-footer-brand p {
  color: #667085 !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.jiwamu-footer-heading {
  color: #667085 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
  text-transform: uppercase !important;
}

.jiwamu-footer-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.jiwamu-footer-col a,
.jiwamu-footer-bottom a {
  color: #101828 !important;
  text-decoration: none !important;
}

.jiwamu-footer-col a {
  display: inline-block !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.jiwamu-footer-col a:hover,
.jiwamu-footer-bottom a:hover {
  color: #4B6BFF !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.jiwamu-footer-bottom {
  align-items: center !important;
  border-top: 1px solid #DCE8FF !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding-top: 14px !important;
}

.jiwamu-footer-bottom p {
  color: #667085 !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.jiwamu-footer-bottom a {
  color: #667085 !important;
}

@media (max-width: 900px) {
  .jiwamu-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .jiwamu-site-footer {
    padding: 32px 5% 22px !important;
  }

  .jiwamu-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .jiwamu-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}
/* =========================================================
   Dropdown active/current item fix
   Prevent dark active block in all header submenus
   ========================================================= */

#masthead .sub-menu .current-menu-item > a,
#masthead .sub-menu .current_page_item > a,
#masthead .sub-menu .current-menu-ancestor > a,
#masthead .sub-menu .current_page_ancestor > a,
#masthead .sub-menu .current-menu-parent > a,
#masthead .sub-menu .current_page_parent > a,
.header-navigation ul ul .current-menu-item > a,
.header-navigation ul ul .current_page_item > a,
.header-navigation ul ul .current-menu-ancestor > a,
.header-navigation ul ul .current_page_ancestor > a,
.header-navigation ul ul .current-menu-parent > a,
.header-navigation ul ul .current_page_parent > a {
  background: #DCE8FF !important;
  background-color: #DCE8FF !important;
  color: #4B6BFF !important;
  font-weight: 600 !important;
}

#masthead .sub-menu .current-menu-item > a:hover,
#masthead .sub-menu .current_page_item > a:hover,
#masthead .sub-menu .current-menu-ancestor > a:hover,
#masthead .sub-menu .current_page_ancestor > a:hover,
#masthead .sub-menu .current-menu-parent > a:hover,
#masthead .sub-menu .current_page_parent > a:hover,
.header-navigation ul ul .current-menu-item > a:hover,
.header-navigation ul ul .current_page_item > a:hover,
.header-navigation ul ul .current-menu-ancestor > a:hover,
.header-navigation ul ul .current_page_ancestor > a:hover,
.header-navigation ul ul .current-menu-parent > a:hover,
.header-navigation ul ul .current_page_parent > a:hover {
  background: #FAFBFD !important;
  background-color: #FAFBFD !important;
  color: #4B6BFF !important;
}
/* =========================================================
   P1 UI/UX Polish — Halaman Kelas
   Page ID: 41
   ========================================================= */

body.page-id-41 .entry-content > .wp-block-group:first-child {
  padding-top: 56px !important;
}

body.page-id-41 h1.wp-block-heading {
  max-width: 980px !important;
  font-size: clamp(42px, 4.2vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  margin-bottom: 24px !important;
}

body.page-id-41 h1.wp-block-heading + p {
  max-width: 880px !important;
  color: #667085 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

body.page-id-41 .wp-block-group[style*="border-radius:20px"] {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

body.page-id-41 .wp-block-group[style*="border-radius:20px"]:hover {
  border-color: #7AA5FF !important;
  box-shadow: 0 14px 38px rgba(75, 107, 255, 0.09) !important;
  transform: translateY(-2px) !important;
}

body.page-id-41 .wp-block-group[style*="border-radius:20px"] h3,
body.page-id-41 .wp-block-group[style*="border-radius:20px"] strong {
  color: #101828 !important;
}

body.page-id-41 .wp-block-group[style*="border-radius:20px"] p {
  color: #667085 !important;
}

body.page-id-41 a {
  text-underline-offset: 3px;
}

body.page-id-41 a:hover {
  color: #4B6BFF !important;
}

body.page-id-41 .wp-block-button__link {
  box-shadow: 0 10px 24px rgba(75, 107, 255, 0.18) !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

body.page-id-41 .wp-block-button__link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 32px rgba(75, 107, 255, 0.24) !important;
}

@media (max-width: 782px) {
  body.page-id-41 .entry-content > .wp-block-group:first-child {
    padding-top: 36px !important;
  }

  body.page-id-41 h1.wp-block-heading {
    font-size: 34px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
  }

  body.page-id-41 h1.wp-block-heading + p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  body.page-id-41 .wp-block-group[style*="border-radius:20px"] {
    padding: 22px !important;
  }
}
/* =========================================================
   Override P1 — Halaman Kelas: soften hero size
   Page ID: 41
   ========================================================= */

body.page-id-41 h1.wp-block-heading {
  max-width: 940px !important;
  font-size: clamp(38px, 3.6vw, 54px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 22px !important;
}

body.page-id-41 h1.wp-block-heading + p {
  max-width: 860px !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
}

body.page-id-41 .entry-content > .wp-block-group:first-child {
  padding-top: 44px !important;
}

@media (max-width: 782px) {
  body.page-id-41 h1.wp-block-heading {
    font-size: 32px !important;
    line-height: 1.14 !important;
  }

  body.page-id-41 .entry-content > .wp-block-group:first-child {
    padding-top: 30px !important;
  }
}
/* =========================================================
   P1 UI/UX Polish — Accordion / FAQ / Detail Kelas
   Works for Kadence accordion + common accordion states
   ========================================================= */

/* Accordion wrapper spacing */
.kt-accordion-wrap,
.wp-block-kadence-accordion {
  border-radius: 18px !important;
}

/* Accordion header default */
.kt-blocks-accordion-header,
.kt-accordion-header-wrap .kt-blocks-accordion-header,
.wp-block-kadence-pane .kt-blocks-accordion-header {
  background: #ffffff !important;
  border: 1px solid #DCE8FF !important;
  color: #101828 !important;
  font-weight: 650 !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.03) !important;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease !important;
}

/* Accordion header hover */
.kt-blocks-accordion-header:hover,
.kt-accordion-header-wrap .kt-blocks-accordion-header:hover,
.wp-block-kadence-pane .kt-blocks-accordion-header:hover {
  background: #FAFBFD !important;
  border-color: #7AA5FF !important;
  color: #4B6BFF !important;
  box-shadow: 0 12px 30px rgba(75, 107, 255, 0.08) !important;
}

/* Accordion active/open state — replace dark block */
.kt-blocks-accordion-header.kt-accordion-panel-active,
.kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active,
.wp-block-kadence-pane .kt-blocks-accordion-header.kt-accordion-panel-active,
.kt-blocks-accordion-header[aria-expanded="true"],
.wp-block-kadence-pane .kt-blocks-accordion-header[aria-expanded="true"] {
  background: #DCE8FF !important;
  border-color: #7AA5FF !important;
  color: #4B6BFF !important;
  box-shadow: 0 12px 32px rgba(75, 107, 255, 0.10) !important;
}

/* Accordion title text */
.kt-blocks-accordion-title,
.kt-accordion-title,
.wp-block-kadence-pane .kt-blocks-accordion-title {
  color: inherit !important;
  font-weight: 650 !important;
}

/* Accordion icon */
.kt-blocks-accordion-icon-trigger,
.kt-blocks-accordion-icon-trigger:before,
.kt-blocks-accordion-icon-trigger:after {
  color: inherit !important;
}

/* Accordion content */
.kt-accordion-panel-inner,
.kt-blocks-accordion-pane .kt-accordion-panel-inner,
.wp-block-kadence-pane .kt-accordion-panel-inner {
  background: transparent !important;
  color: #101828 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  padding: 20px 28px 28px !important;
}

/* FAQ/content paragraph */
.kt-accordion-panel-inner p,
.kt-accordion-panel-inner li {
  color: #101828 !important;
  line-height: 1.8 !important;
}

/* Section labels like STAF TRAINER, JADWAL TERDEKAT */
.entry-content p[style*="letter-spacing"],
.entry-content .has-text-color[style*="letter-spacing"] {
  color: #667085 !important;
}

/* Soft card polish for detail-class pages */
.entry-content .wp-block-group[style*="border-radius:24px"],
.entry-content .wp-block-group[style*="border-radius:28px"],
.entry-content .wp-block-group[style*="border-radius:30px"] {
  border-color: #DCE8FF !important;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.035) !important;
}

/* Lists inside class pages */
.entry-content ul li {
  margin-bottom: 6px !important;
  line-height: 1.75 !important;
}

/* Mobile accordion */
@media (max-width: 782px) {
  .kt-blocks-accordion-header,
  .kt-accordion-header-wrap .kt-blocks-accordion-header,
  .wp-block-kadence-pane .kt-blocks-accordion-header {
    padding: 16px 18px !important;
    font-size: 15.5px !important;
  }

  .kt-accordion-panel-inner,
  .kt-blocks-accordion-pane .kt-accordion-panel-inner,
  .wp-block-kadence-pane .kt-accordion-panel-inner {
    padding: 16px 18px 22px !important;
    font-size: 15px !important;
  }
}
/* =========================================================
   Fix washed-out / faded hero text
   Kelas page ID: 41
   ========================================================= */

body.page-id-41 h1.wp-block-heading,
body.page-id-41 .entry-content h1,
body.page-id-41 .entry-content h1.has-text-color {
  color: #101828 !important;
  opacity: 1 !important;
}

body.page-id-41 h1.wp-block-heading * {
  color: #101828 !important;
  opacity: 1 !important;
}

body.page-id-41 .entry-content > .wp-block-group:first-child {
  background-color: #FAFBFD !important;
  opacity: 1 !important;
}

body.page-id-41 .entry-content p {
  opacity: 1 !important;
}
/* =========================================================
   Global page typography fix
   Prevent washed-out / faded hero headings
   ========================================================= */

body.page .entry-content h1.wp-block-heading,
body.page .entry-content h1.has-text-color,
body.page .entry-content h1 {
  color: #101828 !important;
  opacity: 1 !important;
}

body.page .entry-content h2.wp-block-heading,
body.page .entry-content h2.has-text-color,
body.page .entry-content h2 {
  color: #101828 !important;
  opacity: 1 !important;
}

body.page .entry-content h1.wp-block-heading *,
body.page .entry-content h2.wp-block-heading * {
  color: #101828 !important;
  opacity: 1 !important;
}

/* Paragraph hero tetap soft, tapi tidak pudar */
body.page .entry-content h1.wp-block-heading + p,
body.page .entry-content h2.wp-block-heading + p {
  color: #475467 !important;
  opacity: 1 !important;
}
/* =========================================================
   P1 UI/UX Polish — Halaman Layanan
   Page ID: 43
   Make hero less boxed and closer to other pages
   ========================================================= */

body.page-id-43 .entry-content > .wp-block-group:first-child {
  background: #FAFBFD !important;
  padding-top: 48px !important;
  padding-bottom: 56px !important;
}

/* Reduce the big white-card feel inside layanan */
body.page-id-43 .entry-content > .wp-block-group:first-child .wp-block-group[style*="background-color:#ffffff"],
body.page-id-43 .entry-content > .wp-block-group:first-child .wp-block-group[style*="background-color: #ffffff"],
body.page-id-43 .entry-content > .wp-block-group:first-child .wp-block-group.has-background {
  box-shadow: none !important;
}

/* Hero typography layanan */
body.page-id-43 h1.wp-block-heading {
  color: #101828 !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 18px !important;
}

body.page-id-43 h2.wp-block-heading {
  color: #101828 !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 22px !important;
}

body.page-id-43 p,
body.page-id-43 li {
  color: #475467 !important;
  line-height: 1.8 !important;
}

@media (max-width: 782px) {
  body.page-id-43 .entry-content > .wp-block-group:first-child {
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }

  body.page-id-43 .entry-content > .wp-block-group:first-child .wp-block-group[style*="background-color:#ffffff"],
  body.page-id-43 .entry-content > .wp-block-group:first-child .wp-block-group[style*="background-color: #ffffff"] {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.page-id-43 h1.wp-block-heading {
    font-size: 30px !important;
    line-height: 1.12 !important;
  }

  body.page-id-43 h2.wp-block-heading {
    font-size: 22px !important;
    line-height: 1.28 !important;
  }

  body.page-id-43 p,
  body.page-id-43 li {
    font-size: 14.5px !important;
  }
}
/* =========================================================
   P1 UI/UX Polish — Halaman Buku
   Page ID: 46
   Mobile layout + card polish
   ========================================================= */

/* Make Buku page typography stronger */
body.page-id-46 h1.wp-block-heading,
body.page-id-46 h2.wp-block-heading,
body.page-id-46 h3.wp-block-heading {
  color: #101828 !important;
  opacity: 1 !important;
}

body.page-id-46 p,
body.page-id-46 li {
  color: #475467 !important;
  line-height: 1.75 !important;
}

/* Soft card polish */
body.page-id-46 .entry-content .wp-block-group[style*="border-radius"] {
  border-color: #DCE8FF !important;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.035) !important;
}

/* Buttons */
body.page-id-46 .wp-block-button__link {
  box-shadow: 0 10px 24px rgba(75, 107, 255, 0.16) !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

body.page-id-46 .wp-block-button__link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 32px rgba(75, 107, 255, 0.22) !important;
}

/* Images should not show broken/cropped awkwardly */
body.page-id-46 .wp-block-image img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* =========================================================
   Mobile fixes
   ========================================================= */

@media (max-width: 782px) {
  body.page-id-46 .entry-content > .wp-block-group:first-child {
    padding-top: 34px !important;
    padding-bottom: 42px !important;
  }

  body.page-id-46 h1.wp-block-heading {
    font-size: 30px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
  }

  body.page-id-46 h2.wp-block-heading {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  body.page-id-46 h3.wp-block-heading {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body.page-id-46 p,
  body.page-id-46 li {
    font-size: 14.5px !important;
    line-height: 1.75 !important;
  }

  /* Force columns to stack cleanly */
  body.page-id-46 .entry-content .wp-block-columns {
    display: block !important;
  }

  body.page-id-46 .entry-content .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  /* Fix horizontal flex cards that become too narrow */
  body.page-id-46 .entry-content .wp-block-group[style*="display:flex"],
  body.page-id-46 .entry-content .wp-block-group[style*="display: flex"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  body.page-id-46 .entry-content .wp-block-group[style*="border-radius"] {
    padding: 22px !important;
  }

  /* CTA card: prevent text becoming one-word-per-line */
  body.page-id-46 .entry-content .wp-block-group[style*="border-radius"] h2,
  body.page-id-46 .entry-content .wp-block-group[style*="border-radius"] h3,
  body.page-id-46 .entry-content .wp-block-group[style*="border-radius"] p {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-46 .wp-block-button,
  body.page-id-46 .wp-block-buttons {
    width: 100% !important;
  }

  body.page-id-46 .wp-block-button__link {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* Reduce huge blank image areas on mobile */
  body.page-id-46 .wp-block-image img {
    width: 100% !important;
    max-height: 360px !important;
    object-fit: cover !important;
    border-radius: 18px !important;
  }
}
/* =========================================================
   Buku page — fix Writing Lab CTA card on mobile
   Page ID: 46
   ========================================================= */

@media (max-width: 782px) {
  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]),
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 24px !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) .wp-block-group,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) .wp-block-group {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) h2,
  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) h3,
  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) p,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) h2,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) h3,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) p {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) h2,
  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) h3,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) h2,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) h3 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) .wp-block-buttons,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) .wp-block-buttons {
    width: 100% !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) .wp-block-button,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) .wp-block-button {
    width: 100% !important;
  }

  body.page-id-46 .wp-block-group:has(a[href*="writinglab"]) .wp-block-button__link,
  body.page-id-46 .wp-block-group:has(a[href*="writing-lab"]) .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
  }
}
/* =========================================================
   Buku page — structured cards
   Page ID: 46
   ========================================================= */

body.page-id-46 .jiwamu-featured-book-card {
  background: #FAFBFD !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.035) !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 300px) 1fr !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
}

body.page-id-46 .jiwamu-featured-book-cover {
  align-items: center !important;
  background: linear-gradient(135deg, #DCE8FF 0%, #FAFBFD 100%) !important;
  border-right: 1px solid #DCE8FF !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 320px !important;
  padding: 28px !important;
  text-align: center !important;
}

body.page-id-46 .jiwamu-featured-book-cover-label {
  color: #4B6BFF !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.8px !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

body.page-id-46 .jiwamu-featured-book-cover-title {
  color: #101828 !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.page-id-46 .jiwamu-featured-book-cover-note {
  color: #667085 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin-top: 10px !important;
}

body.page-id-46 .jiwamu-featured-book-content {
  padding: 32px !important;
}

body.page-id-46 .jiwamu-featured-book-badge {
  background: #DCE8FF !important;
  border-radius: 6px !important;
  color: #4B6BFF !important;
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  margin-bottom: 14px !important;
  padding: 4px 10px !important;
  text-transform: uppercase !important;
}

body.page-id-46 .jiwamu-featured-book-content h2 {
  color: #101828 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
}

body.page-id-46 .jiwamu-featured-book-content p {
  color: #667085 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  margin: 0 0 10px !important;
}

body.page-id-46 .jiwamu-featured-book-content strong {
  color: #101828 !important;
}

body.page-id-46 .jiwamu-featured-book-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

body.page-id-46 .jiwamu-button-primary,
body.page-id-46 .jiwamu-button-secondary {
  border-radius: 999px !important;
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 11px 20px !important;
  text-decoration: none !important;
}

body.page-id-46 .jiwamu-button-primary {
  background: #4B6BFF !important;
  box-shadow: 0 10px 24px rgba(75, 107, 255, 0.16) !important;
  color: #ffffff !important;
}

body.page-id-46 .jiwamu-button-secondary {
  background: #ffffff !important;
  border: 1.5px solid #DCE8FF !important;
  color: #101828 !important;
}

body.page-id-46 .jiwamu-book-list-card {
  background: #ffffff !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.025) !important;
  margin-bottom: 14px !important;
  padding: 24px !important;
}

body.page-id-46 .jiwamu-book-list-card a {
  align-items: center !important;
  color: inherit !important;
  display: flex !important;
  gap: 18px !important;
  text-decoration: none !important;
}

body.page-id-46 .jiwamu-book-list-icon {
  align-items: center !important;
  background: #DCE8FF !important;
  border-radius: 14px !important;
  display: flex !important;
  flex: 0 0 52px !important;
  height: 52px !important;
  justify-content: center !important;
  width: 52px !important;
}

body.page-id-46 .jiwamu-book-list-content {
  flex: 1 !important;
}

body.page-id-46 .jiwamu-book-list-content strong {
  color: #101828 !important;
  display: block !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  margin-bottom: 5px !important;
}

body.page-id-46 .jiwamu-book-list-content span {
  color: #667085 !important;
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

body.page-id-46 .jiwamu-book-list-content em {
  color: #4B6BFF !important;
  display: block !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  margin-top: 10px !important;
}

body.page-id-46 .jiwamu-book-list-arrow {
  align-items: center !important;
  background: #FAFBFD !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 50% !important;
  display: flex !important;
  flex: 0 0 36px !important;
  height: 36px !important;
  justify-content: center !important;
  width: 36px !important;
}

body.page-id-46 .jiwamu-book-publish-cta {
  align-items: center !important;
  background: #FAFBFD !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.035) !important;
  display: grid !important;
  grid-template-columns: 64px 1fr auto !important;
  gap: 22px !important;
  padding: 30px !important;
}

body.page-id-46 .jiwamu-book-publish-icon {
  align-items: center !important;
  background: #DCE8FF !important;
  border-radius: 16px !important;
  color: #4B6BFF !important;
  display: flex !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  height: 56px !important;
  justify-content: center !important;
  width: 56px !important;
}

body.page-id-46 .jiwamu-book-publish-content h2 {
  color: #101828 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
}

body.page-id-46 .jiwamu-book-publish-content p {
  color: #667085 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

body.page-id-46 .jiwamu-book-publish-action a {
  background: #4B6BFF !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(75, 107, 255, 0.18) !important;
  color: #ffffff !important;
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 14px 22px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (max-width: 782px) {
  body.page-id-46 .jiwamu-featured-book-card {
    display: block !important;
  }

  body.page-id-46 .jiwamu-featured-book-cover {
    border-right: 0 !important;
    border-bottom: 1px solid #DCE8FF !important;
    min-height: 260px !important;
    padding: 24px !important;
  }

  body.page-id-46 .jiwamu-featured-book-cover-title {
    font-size: 22px !important;
  }

  body.page-id-46 .jiwamu-featured-book-content {
    padding: 24px !important;
  }

  body.page-id-46 .jiwamu-featured-book-content h2 {
    font-size: 22px !important;
  }

  body.page-id-46 .jiwamu-featured-book-actions,
  body.page-id-46 .jiwamu-featured-book-actions a {
    width: 100% !important;
  }

  body.page-id-46 .jiwamu-featured-book-actions a {
    text-align: center !important;
  }

  body.page-id-46 .jiwamu-book-list-card {
    padding: 22px !important;
  }

  body.page-id-46 .jiwamu-book-list-card a {
    align-items: flex-start !important;
  }

  body.page-id-46 .jiwamu-book-list-content span {
    display: none !important;
  }

  body.page-id-46 .jiwamu-book-publish-cta {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 24px !important;
  }

  body.page-id-46 .jiwamu-book-publish-content h2 {
    font-size: 22px !important;
  }

  body.page-id-46 .jiwamu-book-publish-action,
  body.page-id-46 .jiwamu-book-publish-action a {
    text-align: center !important;
    width: 100% !important;
  }
}
/* =========================================================
   Tentang Kami — structured about page
   ========================================================= */

.jiwamu-about-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jiwamu-about-card {
  background: #FAFBFD;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.03);
  padding: 28px;
}

.jiwamu-about-card-wide {
  grid-column: 1 / -1;
}

.jiwamu-about-icon {
  align-items: center;
  background: #DCE8FF;
  border-radius: 14px;
  color: #4B6BFF;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  letter-spacing: 0.8px;
  margin-bottom: 18px;
  width: 48px;
}

.jiwamu-about-card h2 {
  color: #101828 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
}

.jiwamu-about-card p {
  color: #667085 !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

.jiwamu-about-contact {
  align-items: flex-start;
  background: #FAFBFD;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.03);
  display: grid;
  gap: 24px;
  grid-template-columns: 1.1fr 1fr;
  padding: 32px;
}

.jiwamu-about-contact-label {
  color: #7AA5FF;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.jiwamu-about-contact h2 {
  color: #101828 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
}

.jiwamu-about-contact p {
  color: #667085 !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

.jiwamu-about-contact-list {
  display: grid;
  gap: 10px;
}

.jiwamu-about-contact-list a,
.jiwamu-about-contact-list span {
  color: #475467 !important;
  font-size: 15px;
  line-height: 1.6;
  text-decoration: none !important;
}

.jiwamu-about-contact-list a:hover {
  color: #4B6BFF !important;
}

@media (max-width: 782px) {
  .jiwamu-about-grid {
    grid-template-columns: 1fr;
  }

  .jiwamu-about-card,
  .jiwamu-about-contact {
    padding: 24px;
  }

  .jiwamu-about-card h2 {
    font-size: 20px !important;
  }

  .jiwamu-about-card p,
  .jiwamu-about-contact p,
  .jiwamu-about-contact-list a,
  .jiwamu-about-contact-list span {
    font-size: 14.5px !important;
  }

  .jiwamu-about-contact {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   Proyek — Jiwamu Project page
   ========================================================= */

.jiwamu-project-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jiwamu-project-card {
  background: #FAFBFD;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.03);
  padding: 26px;
}

.jiwamu-project-code {
  align-items: center;
  background: #DCE8FF;
  border-radius: 14px;
  color: #4B6BFF;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  letter-spacing: 0.8px;
  margin-bottom: 18px;
  width: 48px;
}

.jiwamu-project-card h2 {
  color: #101828 !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
}

.jiwamu-project-card p {
  color: #667085 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  margin: 0 0 18px !important;
}

.jiwamu-project-meta {
  border-top: 1px solid #DCE8FF;
  display: grid;
  gap: 7px;
  margin-top: 18px;
  padding-top: 16px;
}

.jiwamu-project-meta span {
  color: #667085;
  font-size: 13.5px;
  line-height: 1.5;
}

.jiwamu-project-meta strong {
  color: #101828;
}

.jiwamu-project-card a {
  color: #4B6BFF !important;
  display: inline-block;
  font-size: 14px;
  font-weight: 800;
  margin-top: 18px;
  text-decoration: none !important;
}

.jiwamu-project-card a:hover {
  color: #315CF0 !important;
}

.jiwamu-donation-box {
  background: #FAFBFD;
  border: 1px solid #DCE8FF;
  border-radius: 28px;
  box-shadow: 0 14px 40px rgba(16, 24, 40, 0.035);
  padding: 34px;
}

.jiwamu-donation-label {
  color: #7AA5FF;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jiwamu-donation-box h2 {
  color: #101828 !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  margin: 0 0 12px !important;
}

.jiwamu-donation-box p {
  color: #667085 !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  margin: 0 0 18px !important;
}

.jiwamu-bank-box {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 18px;
  display: grid;
  gap: 6px;
  margin: 22px 0 16px;
  padding: 20px;
}

.jiwamu-bank-box strong {
  color: #101828;
  font-size: 18px;
  line-height: 1.35;
}

.jiwamu-bank-box span {
  color: #475467;
  font-size: 15px;
}

.jiwamu-donation-note {
  font-size: 14.5px !important;
}

.jiwamu-completed-list {
  display: grid;
  gap: 14px;
}

.jiwamu-completed-item {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 22px;
  display: grid;
  gap: 18px;
  grid-template-columns: 56px 1fr;
  padding: 24px;
}

.jiwamu-completed-item > span {
  align-items: center;
  background: #DCE8FF;
  border-radius: 14px;
  color: #4B6BFF;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  letter-spacing: 0.8px;
  width: 48px;
}

.jiwamu-completed-item h3 {
  color: #101828 !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  margin: 0 0 8px !important;
}

.jiwamu-completed-item p {
  color: #667085 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  margin: 0 0 10px !important;
}

.jiwamu-completed-item em {
  color: #4B6BFF;
  display: block;
  font-size: 13.5px;
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 900px) {
  .jiwamu-project-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jiwamu-project-card,
  .jiwamu-donation-box,
  .jiwamu-completed-item {
    padding: 24px;
  }

  .jiwamu-donation-box h2 {
    font-size: 24px !important;
  }

  .jiwamu-completed-item {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   Hide Kadence default footer — keep Jiwamu custom footer
   ========================================================= */

#colophon.site-footer,
.site-footer-wrap,
.site-footer-row-container-inner,
.site-footer-section,
.footer-navigation,
.footer-social-wrap {
  display: none !important;
}

/* Make sure custom Jiwamu footer stays visible */
.jiwamu-footer,
.jiwamu-site-footer,
footer.jiwamu-footer {
  display: block !important;
}

/* =========================================================
   Jiwamu UI Foundation v1
   Global visual system override
   ========================================================= */

:root {
  --jiwamu-primary: #4B6BFF;
  --jiwamu-primary-dark: #315CF0;
  --jiwamu-primary-soft: #DCE8FF;

  --jiwamu-bg: #FAFBFD;
  --jiwamu-surface: #FFFFFF;
  --jiwamu-text: #101828;
  --jiwamu-muted: #475467;
  --jiwamu-soft: #667085;
  --jiwamu-border: #DCE8FF;

  --jiwamu-radius-sm: 12px;
  --jiwamu-radius-md: 18px;
  --jiwamu-radius-lg: 24px;
  --jiwamu-radius-xl: 30px;

  --jiwamu-shadow-soft: 0 14px 40px rgba(16, 24, 40, 0.035);
  --jiwamu-shadow-hover: 0 18px 46px rgba(75, 107, 255, 0.10);
}

/* Base typography */
body {
  color: var(--jiwamu-text) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  background: var(--jiwamu-bg) !important;
}

/* Heading hierarchy */
.entry-content h1,
.entry-content h1.wp-block-heading {
  color: var(--jiwamu-text) !important;
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 20px !important;
}

.entry-content h2,
.entry-content h2.wp-block-heading {
  color: var(--jiwamu-text) !important;
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(26px, 2.5vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 16px !important;
}

.entry-content h3,
.entry-content h3.wp-block-heading {
  color: var(--jiwamu-text) !important;
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 12px !important;
}

/* Paragraph and list rhythm */
.entry-content p,
.entry-content li {
  color: var(--jiwamu-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
}

.entry-content p {
  margin-bottom: 16px !important;
}

/* Links */
.entry-content a {
  color: var(--jiwamu-primary) !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: 3px !important;
}

.entry-content a:hover {
  color: var(--jiwamu-primary-dark) !important;
}

/* Buttons */
.wp-block-button__link,
.entry-content a.wp-block-button__link {
  background: var(--jiwamu-primary) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(75, 107, 255, 0.16) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 13px 22px !important;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

.wp-block-button__link:hover,
.entry-content a.wp-block-button__link:hover {
  background: var(--jiwamu-primary-dark) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 32px rgba(75, 107, 255, 0.22) !important;
}

/* Cards: common Gutenberg card shapes */
.entry-content .wp-block-group[style*="border-radius:20px"],
.entry-content .wp-block-group[style*="border-radius:24px"],
.entry-content .wp-block-group[style*="border-radius:28px"],
.entry-content .wp-block-group[style*="border-radius:30px"] {
  border-color: var(--jiwamu-border) !important;
  box-shadow: var(--jiwamu-shadow-soft) !important;
}

/* Remove vague separators: make HR intentional */
.entry-content hr,
.entry-content .wp-block-separator {
  border: 0 !important;
  border-top: 1px solid var(--jiwamu-border) !important;
  margin: 44px auto !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 1080px !important;
}

/* Section labels / small uppercase text */
.entry-content p[style*="letter-spacing"],
.entry-content span[style*="letter-spacing"] {
  color: var(--jiwamu-soft) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Mobile typography */
@media (max-width: 782px) {
  body {
    font-size: 15px !important;
  }

  .entry-content h1,
  .entry-content h1.wp-block-heading {
    font-size: 32px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
  }

  .entry-content h2,
  .entry-content h2.wp-block-heading {
    font-size: 25px !important;
    line-height: 1.2 !important;
  }

  .entry-content h3,
  .entry-content h3.wp-block-heading {
    font-size: 20px !important;
  }

  .entry-content p,
  .entry-content li {
    font-size: 14.5px !important;
    line-height: 1.76 !important;
  }

  .entry-content hr,
  .entry-content .wp-block-separator {
    margin: 34px auto !important;
  }
}


/* =========================================================
   Jiwamu UI Foundation v1.1
   Calm down heading, hero spacing, labels, separators
   ========================================================= */

/* 1. Softer global headings */
.entry-content h1,
.entry-content h1.wp-block-heading {
  font-size: clamp(32px, 3.2vw, 48px) !important;
  font-weight: 650 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 18px !important;
}

.entry-content h2,
.entry-content h2.wp-block-heading {
  font-size: clamp(24px, 2.1vw, 32px) !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
}

.entry-content h3,
.entry-content h3.wp-block-heading {
  font-size: clamp(19px, 1.45vw, 23px) !important;
  font-weight: 650 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.015em !important;
}

/* 2. Softer paragraph width and tone */
.entry-content p,
.entry-content li {
  color: #475467 !important;
  font-size: 15.5px !important;
  line-height: 1.78 !important;
}

/* 3. Reduce oversized top hero spacing on common pages */
body.page .entry-content > .wp-block-group:first-child {
  padding-top: 42px !important;
  padding-bottom: 48px !important;
}

/* Kelas needs less empty air */
body.page-id-41 .entry-content > .wp-block-group:first-child {
  padding-top: 38px !important;
  padding-bottom: 44px !important;
}

/* Layanan: reduce boxed feeling */
body.page-id-43 .entry-content > .wp-block-group:first-child {
  padding-top: 38px !important;
  padding-bottom: 44px !important;
}

/* 4. Remove vague long blue separators above labels */
.entry-content .wp-block-separator,
.entry-content hr {
  display: none !important;
}

/* 5. Make section labels consistent as small calm badges */
.entry-content p[style*="letter-spacing"],
.entry-content span[style*="letter-spacing"] {
  background: #EEF4FF !important;
  border-radius: 8px !important;
  color: #475467 !important;
  display: inline-block !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  letter-spacing: 2px !important;
  line-height: 1.2 !important;
  padding: 8px 12px !important;
  text-transform: uppercase !important;
  width: auto !important;
  max-width: fit-content !important;
}

/* 6. Prevent full-width label bars on Buku and similar pages */
.entry-content p[style*="letter-spacing"][style*="background"],
.entry-content span[style*="letter-spacing"][style*="background"] {
  width: auto !important;
  max-width: fit-content !important;
}

/* 7. Softer card feel */
.entry-content .wp-block-group[style*="border-radius:20px"],
.entry-content .wp-block-group[style*="border-radius:24px"],
.entry-content .wp-block-group[style*="border-radius:28px"],
.entry-content .wp-block-group[style*="border-radius:30px"] {
  box-shadow: 0 10px 32px rgba(16, 24, 40, 0.025) !important;
}

/* 8. Mobile calm down */
@media (max-width: 782px) {
  body.page .entry-content > .wp-block-group:first-child {
    padding-top: 30px !important;
    padding-bottom: 36px !important;
  }

  .entry-content h1,
  .entry-content h1.wp-block-heading {
    font-size: 30px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.03em !important;
  }

  .entry-content h2,
  .entry-content h2.wp-block-heading {
    font-size: 23px !important;
  }

  .entry-content p,
  .entry-content li {
    font-size: 14.5px !important;
  }
}


/* =========================================================
   Jiwamu UI Fix — Visible button text
   Fix ghost/blank solid buttons on coming-soon pages
   ========================================================= */

/* Solid primary buttons must always show white text */
.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.entry-content .wp-block-button:not(.is-style-outline) a.wp-block-button__link,
.entry-content a.wp-block-button__link:not(.has-background),
.entry-content .wp-element-button,
.entry-content .jiwamu-button-primary,
.entry-content a.jiwamu-button-primary,
.entry-content a[style*="#4B6BFF"],
.entry-content a[style*="rgb(75, 107, 255)"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-indent: 0 !important;
  font-size: 14px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Keep outline/secondary buttons readable */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline a.wp-block-button__link,
.entry-content .jiwamu-button-secondary,
.entry-content a.jiwamu-button-secondary {
  background: #ffffff !important;
  border: 1.5px solid #DCE8FF !important;
  color: #4B6BFF !important;
  -webkit-text-fill-color: #4B6BFF !important;
}

/* Button text nested inside spans/strong should inherit correctly */
.entry-content .wp-block-button__link *,
.entry-content .wp-element-button *,
.entry-content .jiwamu-button-primary *,
.entry-content .jiwamu-button-secondary * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* =========================================================
   Jiwamu UI Fix — Remove global tiny hero artifact
   Removes leftover empty pill/separator near page badges
   ========================================================= */

/* Remove old hero separators/decorative lines globally */
body.page .entry-content > .wp-block-group:first-child .wp-block-separator,
body.page .entry-content > .wp-block-group:first-child hr {
  display: none !important;
}

/* Remove empty decorative inline/block elements in first hero section only */
body.page .entry-content > .wp-block-group:first-child p:empty,
body.page .entry-content > .wp-block-group:first-child span:empty {
  display: none !important;
}

/* Remove tiny blank rounded artifacts, but only inside first hero section */
body.page .entry-content > .wp-block-group:first-child *[style*="border-radius"]:empty,
body.page .entry-content > .wp-block-group:first-child *[style*="background"]:empty {
  display: none !important;
}

/* Keep real badges visible */
body.page .entry-content > .wp-block-group:first-child p[style*="letter-spacing"]:not(:empty),
body.page .entry-content > .wp-block-group:first-child span[style*="letter-spacing"]:not(:empty) {
  display: inline-block !important;
}


/* =========================================================
   Jiwamu UI Fix — Healing Pathway List
   Layanan page
   ========================================================= */

.jiwamu-healing-pathway-list {
  counter-reset: healing-pathway !important;
  display: grid !important;
  gap: 12px !important;
  list-style: none !important;
  margin: 22px 0 32px !important;
  padding: 0 !important;
}

.jiwamu-healing-pathway-list li {
  align-items: flex-start !important;
  background: #ffffff !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 18px !important;
  color: #475467 !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 36px 1fr !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding: 18px 20px !important;
}

.jiwamu-healing-pathway-list li::before {
  align-items: center !important;
  background: #DCE8FF !important;
  border-radius: 12px !important;
  color: #4B6BFF !important;
  content: counter(healing-pathway) !important;
  counter-increment: healing-pathway !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  height: 34px !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: 34px !important;
}

.jiwamu-healing-pathway-list strong {
  color: #101828 !important;
  font-weight: 700 !important;
}

@media (max-width: 782px) {
  .jiwamu-healing-pathway-list li {
    grid-template-columns: 32px 1fr !important;
    padding: 16px !important;
  }

  .jiwamu-healing-pathway-list li::before {
    height: 30px !important;
    width: 30px !important;
  }
}


/* =========================================================
   Jiwamu UI Fix — Healing Pathway readable layout
   Override previous broken grid list layout
   ========================================================= */

.jiwamu-healing-pathway-list {
  counter-reset: healing-pathway !important;
  display: grid !important;
  gap: 14px !important;
  list-style: none !important;
  margin: 22px 0 32px !important;
  padding: 0 !important;
}

.jiwamu-healing-pathway-list li {
  background: #ffffff !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 18px !important;
  color: #475467 !important;
  display: block !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  min-height: 34px !important;
  padding: 18px 20px 18px 72px !important;
  position: relative !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.jiwamu-healing-pathway-list li::before {
  align-items: center !important;
  background: #DCE8FF !important;
  border-radius: 12px !important;
  color: #4B6BFF !important;
  content: counter(healing-pathway) !important;
  counter-increment: healing-pathway !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  height: 34px !important;
  justify-content: center !important;
  left: 20px !important;
  line-height: 1 !important;
  position: absolute !important;
  top: 18px !important;
  width: 34px !important;
}

.jiwamu-healing-pathway-list strong {
  color: #101828 !important;
  display: inline !important;
  font-weight: 700 !important;
  white-space: normal !important;
}

@media (max-width: 782px) {
  .jiwamu-healing-pathway-list li {
    padding: 16px 16px 16px 62px !important;
  }

  .jiwamu-healing-pathway-list li::before {
    height: 30px !important;
    left: 16px !important;
    top: 16px !important;
    width: 30px !important;
  }
}


/* =========================================================
   Jiwamu UI Fix — WhatsApp FAB / footer spacing
   Prevent floating WhatsApp button from covering footer links
   ========================================================= */

.jiwamu-site-footer,
.site-footer,
footer {
  padding-bottom: 96px !important;
}

@media (max-width: 782px) {
  .jiwamu-site-footer,
  .site-footer,
  footer {
    padding-bottom: 112px !important;
  }
}

/* If WhatsApp floating button uses common floating classes */
a[href*="wa.me"],
a[href*="whatsapp"] {
  scroll-margin-bottom: 120px !important;
}


/* =========================================================
   Jiwamu Prototype System v1
   Reusable components for /layanan flagship redesign
   Prefix: jm-
   ========================================================= */

:root {
  --jm-blue: #4B6BFF;
  --jm-blue-dark: #315CF0;
  --jm-blue-soft: #EEF4FF;
  --jm-blue-line: #DCE8FF;

  --jm-ink: #101828;
  --jm-text: #344054;
  --jm-muted: #667085;
  --jm-bg: #FAFBFD;
  --jm-white: #FFFFFF;

  --jm-radius-sm: 12px;
  --jm-radius-md: 18px;
  --jm-radius-lg: 24px;
  --jm-radius-xl: 32px;

  --jm-shadow-card: 0 16px 48px rgba(16, 24, 40, 0.045);
  --jm-shadow-hover: 0 20px 56px rgba(75, 107, 255, 0.12);

  --jm-container: 1180px;
}

/* ---------- Layout ---------- */

.jm-section {
  background: var(--jm-white);
  padding: 82px 5%;
}

.jm-section-soft {
  background: var(--jm-bg);
  padding: 82px 5%;
}

.jm-container {
  margin: 0 auto;
  max-width: var(--jm-container);
  width: 100%;
}

.jm-container-narrow {
  margin: 0 auto;
  max-width: 900px;
  width: 100%;
}

.jm-center {
  text-align: center;
}

.jm-grid-2 {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-grid-3 {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-grid-4 {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ---------- Typography ---------- */

.jm-eyebrow {
  color: var(--jm-blue);
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.8px;
  line-height: 1.2;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.jm-hero-title {
  color: var(--jm-ink);
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(40px, 4.5vw, 64px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
  margin: 0 0 22px;
}

.jm-section-title {
  color: var(--jm-ink);
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(28px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.14;
  margin: 0 0 14px;
}

.jm-card-title {
  color: var(--jm-ink);
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 10px;
}

.jm-lead {
  color: var(--jm-text);
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 26px;
  max-width: 680px;
}

.jm-section-desc {
  color: var(--jm-muted);
  font-size: 16px;
  line-height: 1.8;
  margin: 0 auto 34px;
  max-width: 720px;
}

/* ---------- Buttons ---------- */

.jm-btn-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.jm-btn-primary,
.jm-btn-secondary {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 14px;
  font-weight: 750;
  justify-content: center;
  line-height: 1.2;
  min-height: 48px;
  padding: 14px 24px;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.jm-btn-primary {
  background: var(--jm-blue);
  box-shadow: 0 12px 28px rgba(75, 107, 255, 0.18);
  color: #ffffff !important;
}

.jm-btn-primary:hover {
  background: var(--jm-blue-dark);
  box-shadow: 0 18px 40px rgba(75, 107, 255, 0.24);
  color: #ffffff !important;
  transform: translateY(-1px);
}

.jm-btn-secondary {
  background: #ffffff;
  border: 1.5px solid var(--jm-blue-line);
  color: var(--jm-blue) !important;
}

.jm-btn-secondary:hover {
  border-color: var(--jm-blue);
  color: var(--jm-blue-dark) !important;
  transform: translateY(-1px);
}

/* ---------- Hero ---------- */

.jm-hero {
  align-items: center;
  display: grid;
  gap: 52px;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
}

.jm-hero-media {
  border-radius: 28px;
  box-shadow: var(--jm-shadow-card);
  min-height: 420px;
  overflow: hidden;
  position: relative;
}

.jm-hero-media img {
  display: block;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  width: 100%;
}

.jm-hero-placeholder {
  align-items: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(75, 107, 255, 0.16), transparent 34%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 48%, #F4F7FF 100%);
  border: 1px solid var(--jm-blue-line);
  display: flex;
  min-height: 420px;
  justify-content: center;
  padding: 36px;
  text-align: center;
}

.jm-hero-placeholder span {
  color: var(--jm-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ---------- Trust row ---------- */

.jm-trust-row {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.jm-trust-item {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 38px 1fr;
}

.jm-trust-icon,
.jm-icon-badge {
  align-items: center;
  background: var(--jm-blue-soft);
  border-radius: 14px;
  color: var(--jm-blue);
  display: flex;
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.jm-trust-item strong {
  color: var(--jm-ink);
  display: block;
  font-size: 13.5px;
  line-height: 1.3;
}

.jm-trust-item span {
  color: var(--jm-muted);
  display: block;
  font-size: 12px;
  line-height: 1.4;
}

/* ---------- Cards ---------- */

.jm-card {
  background: #ffffff;
  border: 1px solid var(--jm-blue-line);
  border-radius: var(--jm-radius-lg);
  box-shadow: var(--jm-shadow-card);
  padding: 30px;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.jm-card:hover {
  border-color: rgba(75, 107, 255, 0.45);
  box-shadow: var(--jm-shadow-hover);
  transform: translateY(-2px);
}

.jm-card p {
  color: var(--jm-muted);
  font-size: 15px;
  line-height: 1.78;
  margin: 0;
}

.jm-card-meta {
  border-top: 1px solid var(--jm-blue-line);
  color: var(--jm-text);
  font-size: 13.5px;
  line-height: 1.6;
  margin-top: 22px;
  padding-top: 18px;
}

.jm-card-meta strong {
  color: var(--jm-ink);
}

/* ---------- Feature items ---------- */

.jm-feature-item {
  text-align: center;
}

.jm-feature-item .jm-icon-badge {
  margin: 0 auto 14px;
}

.jm-feature-item strong {
  color: var(--jm-ink);
  display: block;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 8px;
}

.jm-feature-item p {
  color: var(--jm-muted);
  font-size: 13.5px;
  line-height: 1.65;
  margin: 0;
}

/* ---------- Process / Healing Pathway ---------- */

.jm-process {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 36px;
  position: relative;
}

.jm-process-step {
  text-align: center;
}

.jm-process-number {
  align-items: center;
  background: var(--jm-blue-soft);
  border-radius: 999px;
  color: var(--jm-blue);
  display: flex;
  font-size: 14px;
  font-weight: 800;
  height: 44px;
  justify-content: center;
  margin: 0 auto 16px;
  width: 44px;
}

.jm-process-step strong {
  color: var(--jm-ink);
  display: block;
  font-size: 13.5px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.jm-process-step p {
  color: var(--jm-muted);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}

/* ---------- Team ---------- */

.jm-team-list {
  display: grid;
  gap: 14px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-team-item {
  align-items: center;
  border-bottom: 1px solid var(--jm-blue-line);
  display: grid;
  gap: 16px;
  grid-template-columns: 56px 1fr 24px;
  padding: 16px 0;
}

.jm-team-photo {
  align-items: center;
  background: var(--jm-blue-soft);
  border-radius: 50%;
  color: var(--jm-blue);
  display: flex;
  font-size: 14px;
  font-weight: 800;
  height: 56px;
  justify-content: center;
  overflow: hidden;
  width: 56px;
}

.jm-team-photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.jm-team-item strong {
  color: var(--jm-ink);
  display: block;
  font-size: 15px;
  line-height: 1.35;
}

.jm-team-item span {
  color: var(--jm-muted);
  display: block;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 3px;
}

.jm-team-arrow {
  color: var(--jm-blue);
  font-size: 22px;
  line-height: 1;
}

/* ---------- FAQ ---------- */

.jm-faq-grid {
  display: grid;
  gap: 14px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-faq-item {
  background: #ffffff;
  border: 1px solid var(--jm-blue-line);
  border-radius: 16px;
  color: var(--jm-ink);
  font-size: 14px;
  font-weight: 650;
  padding: 18px 20px;
}

/* ---------- CTA band ---------- */

.jm-cta-band {
  align-items: center;
  background:
    radial-gradient(circle at 10% 20%, rgba(75, 107, 255, 0.14), transparent 32%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 100%);
  border: 1px solid var(--jm-blue-line);
  border-radius: 28px;
  box-shadow: var(--jm-shadow-card);
  display: grid;
  gap: 24px;
  grid-template-columns: 64px 1fr auto;
  padding: 30px;
}

.jm-cta-band h2 {
  color: var(--jm-ink);
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 6px;
}

.jm-cta-band p {
  color: var(--jm-muted);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

/* ---------- Mobile ---------- */

@media (max-width: 1024px) {
  .jm-hero {
    grid-template-columns: 1fr;
  }

  .jm-hero-media,
  .jm-hero-media img,
  .jm-hero-placeholder {
    min-height: 340px;
  }

  .jm-process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 28px;
  }
}

@media (max-width: 782px) {
  .jm-section,
  .jm-section-soft {
    padding: 56px 22px;
  }

  .jm-hero-title {
    font-size: 36px;
    letter-spacing: -0.035em;
  }

  .jm-section-title {
    font-size: 28px;
  }

  .jm-lead,
  .jm-section-desc {
    font-size: 15.5px;
  }

  .jm-grid-2,
  .jm-grid-3,
  .jm-grid-4,
  .jm-team-list,
  .jm-faq-grid {
    grid-template-columns: 1fr;
  }

  .jm-trust-row {
    grid-template-columns: 1fr;
  }

  .jm-process {
    grid-template-columns: 1fr;
  }

  .jm-process-step {
    align-items: flex-start;
    display: grid;
    gap: 14px;
    grid-template-columns: 44px 1fr;
    text-align: left;
  }

  .jm-process-number {
    margin: 0;
  }

  .jm-team-item {
    grid-template-columns: 48px 1fr 20px;
  }

  .jm-team-photo {
    height: 48px;
    width: 48px;
  }

  .jm-cta-band {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .jm-btn-row,
  .jm-btn-row a {
    width: 100%;
  }

  .jm-btn-row a {
    text-align: center;
  }
}


/* =========================================================
   Jiwamu Prototype Fix — Force JM button text visible
   ========================================================= */

.entry-content .jm-btn-primary,
.entry-content a.jm-btn-primary,
.jm-btn-primary,
a.jm-btn-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  white-space: nowrap !important;
}

.entry-content .jm-btn-primary *,
.entry-content a.jm-btn-primary *,
.jm-btn-primary *,
a.jm-btn-primary * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.entry-content .jm-btn-secondary,
.entry-content a.jm-btn-secondary,
.jm-btn-secondary,
a.jm-btn-secondary {
  color: #4B6BFF !important;
  -webkit-text-fill-color: #4B6BFF !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* =========================================================
   Jiwamu Prototype Polish v1.1 — Layanan
   Tighten spacing, reduce page-in-page feeling, refine hero
   ========================================================= */

/* Remove excessive outer page framing feel on prototype sections */
body.page-id-43 .entry-content {
  background: #FAFBFD !important;
}

body.page-id-43 .entry-content > .wp-block-html {
  margin: 0 !important;
}

/* Tighter section rhythm for layanan prototype */
body.page-id-43 .jm-section,
body.page-id-43 .jm-section-soft {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

/* Hero should feel premium, not oversized */
body.page-id-43 .jm-section-soft:first-of-type {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

body.page-id-43 .jm-hero {
  gap: 44px !important;
}

/* Hero image/placeholder refinement */
body.page-id-43 .jm-hero-media,
body.page-id-43 .jm-hero-media img,
body.page-id-43 .jm-hero-placeholder {
  min-height: 360px !important;
}

body.page-id-43 .jm-hero-placeholder {
  background:
    radial-gradient(circle at 20% 18%, rgba(75, 107, 255, 0.20), transparent 34%),
    radial-gradient(circle at 82% 76%, rgba(220, 232, 255, 0.72), transparent 34%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 52%, #F8FAFF 100%) !important;
}

/* Make hero title calmer */
body.page-id-43 .jm-hero-title {
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: 1.1 !important;
}

/* Trust row slightly tighter */
body.page-id-43 .jm-trust-row {
  margin-top: 26px !important;
}

/* Cards less huge */
body.page-id-43 .jm-card {
  padding: 28px !important;
}

/* Process section: reduce excessive empty vertical space */
body.page-id-43 .jm-process {
  margin-top: 30px !important;
}

body.page-id-43 .jm-process-step p {
  max-width: 150px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* CTA button in standalone centered areas */
body.page-id-43 .jm-center > .jm-btn-primary {
  min-width: 210px !important;
}

/* CTA band button should not become a blank giant pill */
body.page-id-43 .jm-cta-band .jm-btn-primary {
  min-width: 190px !important;
  white-space: nowrap !important;
}

/* FAQ details polish */
body.page-id-43 .jm-faq-item summary {
  cursor: pointer !important;
  list-style-position: inside !important;
}

body.page-id-43 .jm-faq-item p {
  color: #475467 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin: 14px 0 0 !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-43 .jm-section,
  body.page-id-43 .jm-section-soft {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  body.page-id-43 .jm-section-soft:first-of-type {
    padding-top: 42px !important;
  }

  body.page-id-43 .jm-hero-media,
  body.page-id-43 .jm-hero-media img,
  body.page-id-43 .jm-hero-placeholder {
    min-height: 260px !important;
  }

  body.page-id-43 .jm-hero-title {
    font-size: 34px !important;
  }
}


/* =========================================================
   Jiwamu Prototype Polish v1.2 — Layanan layout refinement
   Reduce page-in-page feel, tighten hero, improve mobile process
   ========================================================= */

/* Remove boxed page feeling around raw HTML block */
body.page-id-43 .content-wrap,
body.page-id-43 .entry,
body.page-id-43 article.entry,
body.page-id-43 .entry-content-wrap,
body.page-id-43 .entry-content {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Make prototype sections span more naturally */
body.page-id-43 .entry-content > .wp-block-html {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-43 .jm-section,
body.page-id-43 .jm-section-soft {
  max-width: none !important;
  width: 100% !important;
}

/* Slightly tighter hero so CTA/trust are visible sooner */
body.page-id-43 .jm-section-soft:first-of-type {
  padding-top: 54px !important;
  padding-bottom: 50px !important;
}

body.page-id-43 .jm-hero-title {
  font-size: clamp(36px, 3.6vw, 54px) !important;
  line-height: 1.09 !important;
  margin-bottom: 18px !important;
}

body.page-id-43 .jm-lead {
  font-size: 16px !important;
  line-height: 1.72 !important;
  margin-bottom: 20px !important;
}

body.page-id-43 .jm-btn-row {
  margin-top: 22px !important;
}

body.page-id-43 .jm-trust-row {
  margin-top: 24px !important;
}

/* Hero media less tall */
body.page-id-43 .jm-hero-media,
body.page-id-43 .jm-hero-media img,
body.page-id-43 .jm-hero-placeholder {
  min-height: 330px !important;
}

/* Keep CTA text stable */
body.page-id-43 .jm-btn-primary,
body.page-id-43 .jm-btn-secondary {
  min-width: auto !important;
}

/* Make feature section less airy */
body.page-id-43 .jm-grid-3 {
  row-gap: 34px !important;
}

/* Mobile: make Healing Pathway card-like and readable */
@media (max-width: 782px) {
  body.page-id-43 .jm-section,
  body.page-id-43 .jm-section-soft {
    padding: 46px 22px !important;
  }

  body.page-id-43 .jm-section-soft:first-of-type {
    padding-top: 34px !important;
    padding-bottom: 42px !important;
  }

  body.page-id-43 .jm-hero {
    gap: 28px !important;
  }

  body.page-id-43 .jm-hero-title {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  body.page-id-43 .jm-lead {
    font-size: 15px !important;
  }

  body.page-id-43 .jm-hero-media,
  body.page-id-43 .jm-hero-media img,
  body.page-id-43 .jm-hero-placeholder {
    min-height: 220px !important;
  }

  body.page-id-43 .jm-process {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
    margin-top: 26px !important;
  }

  body.page-id-43 .jm-process-step {
    align-items: flex-start !important;
    background: #ffffff !important;
    border: 1px solid #DCE8FF !important;
    border-radius: 18px !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 42px 1fr !important;
    padding: 16px !important;
    text-align: left !important;
  }

  body.page-id-43 .jm-process-number {
    height: 36px !important;
    margin: 0 !important;
    width: 36px !important;
  }

  body.page-id-43 .jm-process-step strong {
    font-size: 14px !important;
    margin-bottom: 4px !important;
  }

  body.page-id-43 .jm-process-step p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: none !important;
    text-align: left !important;
  }

  body.page-id-43 .jm-team-list {
    gap: 8px !important;
  }

  body.page-id-43 .jm-faq-grid {
    gap: 10px !important;
  }

  body.page-id-43 .jm-cta-band {
    gap: 16px !important;
  }
}


/* =========================================================
   Jiwamu Prototype Polish v1.3 — Layanan final rhythm pass
   Tighten hero, benefit, and pathway visual rhythm
   ========================================================= */

/* Reduce empty air above hero */
body.page-id-43 .jm-section-soft:first-of-type {
  padding-top: 38px !important;
  padding-bottom: 48px !important;
}

/* Bring hero content slightly upward and tighter */
body.page-id-43 .jm-hero {
  align-items: center !important;
  gap: 42px !important;
}

body.page-id-43 .jm-eyebrow {
  margin-bottom: 14px !important;
}

body.page-id-43 .jm-hero-title {
  font-size: clamp(36px, 3.4vw, 52px) !important;
  margin-bottom: 16px !important;
}

body.page-id-43 .jm-lead {
  max-width: 600px !important;
}

/* Make hero media feel intentional until real image is added */
body.page-id-43 .jm-hero-placeholder span {
  opacity: 0.82 !important;
}

/* Make service cards slightly less massive */
body.page-id-43 #layanan-utama.jm-section {
  padding-top: 64px !important;
  padding-bottom: 66px !important;
}

/* Benefit section: less empty floating space */
body.page-id-43 .jm-section-soft:nth-of-type(3) {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

body.page-id-43 .jm-feature-item {
  padding: 8px 14px !important;
}

body.page-id-43 .jm-feature-item .jm-icon-badge {
  margin-bottom: 12px !important;
}

body.page-id-43 .jm-feature-item p {
  max-width: 260px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Healing Pathway: add subtle timeline line on desktop */
@media (min-width: 783px) {
  body.page-id-43 .jm-process::before {
    background: linear-gradient(90deg, transparent 0%, #DCE8FF 12%, #DCE8FF 88%, transparent 100%) !important;
    content: "" !important;
    height: 1px !important;
    left: 6% !important;
    position: absolute !important;
    right: 6% !important;
    top: 22px !important;
    z-index: 0 !important;
  }

  body.page-id-43 .jm-process-step {
    position: relative !important;
    z-index: 1 !important;
  }

  body.page-id-43 .jm-process-number {
    box-shadow: 0 0 0 8px #ffffff !important;
  }
}

/* Reduce huge gap between pathway and team section */
body.page-id-43 .jm-section:nth-of-type(4) {
  padding-bottom: 60px !important;
}

body.page-id-43 .jm-section-soft:nth-of-type(5) {
  padding-top: 64px !important;
}

/* Mobile remains card-like, no timeline line */
@media (max-width: 782px) {
  body.page-id-43 .jm-section-soft:first-of-type {
    padding-top: 28px !important;
    padding-bottom: 38px !important;
  }

  body.page-id-43 .jm-hero-title {
    font-size: 31px !important;
  }

  body.page-id-43 .jm-feature-item {
    padding: 4px 0 !important;
  }

  body.page-id-43 .jm-process::before {
    display: none !important;
  }
}


/* =========================================================
   Jiwamu Layanan Hero Image
   Natural room image treatment
   ========================================================= */

body.page-id-43 .jm-hero-media.is-image {
  background: #ffffff !important;
  border: 1px solid #DCE8FF !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  position: relative !important;
}

body.page-id-43 .jm-hero-media.is-image::after {
  background: linear-gradient(135deg, rgba(75,107,255,0.10), rgba(255,255,255,0.06));
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

body.page-id-43 .jm-hero-media.is-image img {
  display: block !important;
  height: 100% !important;
  min-height: 300px !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

@media (max-width: 782px) {
  body.page-id-43 .jm-hero-media.is-image img {
    min-height: 220px !important;
    object-position: center center !important;
  }
}


/* =========================================================
   Jiwamu Final Polish — Header brand + layanan hero image
   ========================================================= */

/* Make text logo/header brand more premium and readable */
.site-branding a,
.site-title,
.site-title a,
.site-branding .site-title,
#masthead .site-title a {
  color: #101828 !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

/* Header nav calmer */
#masthead .main-navigation a,
#masthead .header-navigation a {
  color: #344054 !important;
  font-weight: 500 !important;
}

#masthead .main-navigation a:hover,
#masthead .header-navigation a:hover,
#masthead .main-navigation .current-menu-item > a,
#masthead .header-navigation .current-menu-item > a {
  color: #4B6BFF !important;
}

/* Layanan hero: lift slightly and improve image mood */
body.page-id-43 .jm-section-soft:first-of-type {
  padding-top: 22px !important;
  padding-bottom: 40px !important;
}

body.page-id-43 .jm-hero-media.is-image img {
  filter: brightness(1.04) contrast(0.96) saturate(0.92) !important;
  object-position: center center !important;
}

body.page-id-43 .jm-hero-media.is-image::after {
  background:
    linear-gradient(135deg, rgba(75,107,255,0.08), rgba(255,255,255,0.10)),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,0.10), transparent 35%) !important;
}

/* Keep image elegant on mobile */
@media (max-width: 782px) {
  body.page-id-43 .jm-section-soft:first-of-type {
    padding-top: 20px !important;
  }

  body.page-id-43 .jm-hero-media.is-image img {
    object-position: center center !important;
  }
}


/* =========================================================
   Jiwamu Page Polish — Tes Kelekatan coming soon
   ========================================================= */

/* Hide default Kadence page title banner on Tes Kelekatan */
body.page-id-324 .entry-hero,
body.page-id-324 .entry-header,
body.page-id-324 .entry-title,
body.page-id-324 .page-title {
  display: none !important;
}

/* Remove page-in-page feeling */
body.page-id-324 .content-wrap,
body.page-id-324 .entry,
body.page-id-324 article.entry,
body.page-id-324 .entry-content-wrap,
body.page-id-324 .entry-content {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Better vertical rhythm */
body.page-id-324 .jm-section-soft {
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}

/* Coming soon card refinement */
body.page-id-324 .jm-card {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 42px 38px !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-324 .jm-section-soft {
    padding-top: 42px !important;
    padding-bottom: 56px !important;
  }

  body.page-id-324 .jm-card {
    padding: 30px 22px !important;
  }
}


/* =========================================================
   Jiwamu Page Polish — Kelas overview
   Formal CTA, spacing, and certification rhythm
   ========================================================= */

/* Kelas page rhythm */
body.page-id-41 .jm-section-soft:first-of-type {
  padding-top: 26px !important;
  padding-bottom: 42px !important;
}

body.page-id-41 .jm-hero {
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1fr) !important;
  gap: 54px !important;
}

body.page-id-41 .jm-hero-title {
  font-size: clamp(36px, 3.25vw, 50px) !important;
  max-width: 620px !important;
}

body.page-id-41 .jm-lead {
  max-width: 600px !important;
}

/* Certification section: reduce excessive top whitespace */
body.page-id-41 #certification.jm-section {
  padding-top: 68px !important;
  padding-bottom: 72px !important;
}

body.page-id-41 #certification .jm-eyebrow {
  margin-bottom: 16px !important;
}

/* Kelas cards: make long titles breathe better */
body.page-id-41 .jm-card-title {
  line-height: 1.28 !important;
}

body.page-id-41 .jm-card {
  padding: 30px !important;
}

/* Certification card CTA should feel secondary, not oversized */
body.page-id-41 .jm-card .jm-btn-row {
  margin-top: 22px !important;
}

/* Alur sertifikasi: slightly tighter */
body.page-id-41 .jm-section-soft:nth-of-type(3) {
  padding-top: 66px !important;
  padding-bottom: 66px !important;
}

/* Bootcamp section */
body.page-id-41 #bootcamp.jm-section {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body.page-id-41 #bootcamp .jm-card {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* CTA band formal proportion */
body.page-id-41 .jm-cta-band .jm-btn-primary {
  min-width: 210px !important;
  white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-41 .jm-section,
  body.page-id-41 .jm-section-soft {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  body.page-id-41 .jm-section-soft:first-of-type {
    padding-top: 28px !important;
    padding-bottom: 40px !important;
  }

  body.page-id-41 .jm-hero {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  body.page-id-41 .jm-hero-title {
    font-size: 31px !important;
  }

  body.page-id-41 .jm-card {
    padding: 24px !important;
  }

  body.page-id-41 .jm-cta-band .jm-btn-primary {
    min-width: 0 !important;
    width: 100% !important;
  }
}


/* =========================================================
   Jiwamu Kelas Fix — Center 4-step certification pathway
   ========================================================= */

body.page-id-41 .jm-section-soft .jm-process {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-41 .jm-section-soft .jm-process::before {
  left: 10% !important;
  right: 10% !important;
}

/* Make CABP/Bridging price metadata more readable */
body.page-id-41 .jm-card-meta {
  color: #344054 !important;
}

body.page-id-41 .jm-card-meta strong {
  color: #101828 !important;
}

@media (max-width: 782px) {
  body.page-id-41 .jm-section-soft .jm-process {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-41 .jm-section-soft .jm-process::before {
    display: none !important;
  }
}


/* =========================================================
   Jiwamu Detail Kelas Template v1
   Used first on CAF detail page
   ========================================================= */

.jm-class-summary {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
}

.jm-summary-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  padding: 22px;
}

.jm-summary-card span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.jm-summary-card strong {
  color: #101828;
  display: block;
  font-size: 18px;
  line-height: 1.35;
}

.jm-check-list {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.jm-check-item {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 18px;
  display: grid;
  gap: 14px;
  grid-template-columns: 34px 1fr;
  padding: 18px 20px;
}

.jm-check-mark {
  align-items: center;
  background: #EEF4FF;
  border-radius: 999px;
  color: #4B6BFF;
  display: flex;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.jm-module-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-module-item {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 16px;
  color: #344054;
  font-size: 14.5px;
  line-height: 1.65;
  padding: 18px 20px;
}

.jm-trainer-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-schedule-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-city-card {
  background: #101828;
  border-radius: 22px;
  box-shadow: 0 16px 44px rgba(16,24,40,0.10);
  color: #ffffff;
  min-height: 190px;
  overflow: hidden;
  position: relative;
}

.jm-city-card::before {
  background: linear-gradient(180deg, rgba(16,24,40,0.06), rgba(16,24,40,0.74));
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.jm-city-card img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.jm-city-content {
  bottom: 0;
  left: 0;
  padding: 20px;
  position: absolute;
  right: 0;
  z-index: 2;
}

.jm-city-content strong {
  color: #ffffff;
  display: block;
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 6px;
}

.jm-city-content span {
  color: rgba(255,255,255,0.86);
  display: block;
  font-size: 13px;
  line-height: 1.5;
}

body.page-id-0 .jm-city-card {
  display: block;
}

@media (max-width: 1024px) {
  .jm-class-summary,
  .jm-schedule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  .jm-class-summary,
  .jm-module-grid,
  .jm-trainer-grid,
  .jm-schedule-grid {
    grid-template-columns: 1fr;
  }

  .jm-summary-card,
  .jm-check-item,
  .jm-module-item {
    padding: 18px;
  }

  .jm-city-card {
    min-height: 180px;
  }
}


/* =========================================================
   Jiwamu CAF Detail Polish v1.1
   Fix summary card wrapping and detail page rhythm
   ========================================================= */

/* CAF detail page only */
body.page-id-203 .jm-class-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 520px !important;
}

body.page-id-203 .jm-summary-card {
  min-height: 112px !important;
  padding: 20px !important;
}

body.page-id-203 .jm-summary-card strong {
  font-size: 17px !important;
  line-height: 1.32 !important;
  word-break: normal !important;
}

body.page-id-203 .jm-summary-card:nth-child(3) strong {
  white-space: nowrap !important;
}

/* Slightly tighten hero */
body.page-id-203 .jm-section-soft:first-of-type {
  padding-top: 26px !important;
  padding-bottom: 48px !important;
}

body.page-id-203 .jm-hero {
  gap: 54px !important;
}

body.page-id-203 .jm-hero-title {
  font-size: clamp(36px, 3.25vw, 50px) !important;
  max-width: 640px !important;
}

/* Make placeholder less loud until real visual is added */
body.page-id-203 .jm-hero-placeholder span {
  opacity: 0.78 !important;
}

/* Tighten vertical rhythm between sections */
body.page-id-203 .jm-section,
body.page-id-203 .jm-section-soft {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

/* Durasi & Investasi card readability */
body.page-id-203 .jm-card p {
  color: #344054 !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
}

/* Schedule cards: keep city visuals polished */
body.page-id-203 .jm-city-card {
  min-height: 176px !important;
}

body.page-id-203 .jm-city-content strong {
  font-size: 17px !important;
}

body.page-id-203 .jm-city-content span {
  font-size: 13px !important;
}

/* FAQ spacing */
body.page-id-203 .jm-faq-item p {
  color: #344054 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
}

/* Mobile stays clean */
@media (max-width: 782px) {
  body.page-id-203 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-203 .jm-summary-card {
    min-height: 0 !important;
  }

  body.page-id-203 .jm-summary-card:nth-child(3) strong {
    white-space: normal !important;
  }

  body.page-id-203 .jm-section,
  body.page-id-203 .jm-section-soft {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.page-id-203 .jm-hero-title {
    font-size: 31px !important;
  }
}


/* =========================================================
   Jiwamu FAQ Fix — independent accordion heights
   Prevent right/left FAQ item from stretching when another opens
   ========================================================= */

/* CAF detail page FAQ: use independent columns instead of grid rows */
body.page-id-203 .jm-faq-grid {
  column-count: 2 !important;
  column-gap: 24px !important;
  display: block !important;
}

body.page-id-203 .jm-faq-item {
  break-inside: avoid !important;
  display: inline-block !important;
  margin: 0 0 14px !important;
  vertical-align: top !important;
  width: 100% !important;
}

/* Keep FAQ opened content natural */
body.page-id-203 .jm-faq-item[open] {
  height: auto !important;
}

body.page-id-203 .jm-faq-item summary {
  cursor: pointer !important;
}

/* Mobile: return to one column */
@media (max-width: 782px) {
  body.page-id-203 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-203 .jm-faq-item {
    display: block !important;
  }
}


/* =========================================================
   Jiwamu CAC Detail Fix
   Fix summary investment wrapping + independent FAQ columns
   ========================================================= */

/* CAC summary cards */
body.page-id-211 .jm-class-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 520px !important;
}

body.page-id-211 .jm-summary-card {
  min-height: 112px !important;
  padding: 20px !important;
}

body.page-id-211 .jm-summary-card strong {
  font-size: 17px !important;
  line-height: 1.32 !important;
  word-break: normal !important;
}

body.page-id-211 .jm-summary-card:nth-child(4) strong {
  white-space: nowrap !important;
}

/* CAC FAQ: independent columns, no row stretching */
body.page-id-211 .jm-faq-grid {
  column-count: 2 !important;
  column-gap: 24px !important;
  display: block !important;
}

body.page-id-211 .jm-faq-item {
  break-inside: avoid !important;
  display: inline-block !important;
  margin: 0 0 14px !important;
  vertical-align: top !important;
  width: 100% !important;
}

body.page-id-211 .jm-faq-item[open] {
  height: auto !important;
}

body.page-id-211 .jm-faq-item summary {
  cursor: pointer !important;
}

/* CAC rhythm follows CAF */
body.page-id-211 .jm-section,
body.page-id-211 .jm-section-soft {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body.page-id-211 .jm-section-soft:first-of-type {
  padding-top: 26px !important;
  padding-bottom: 48px !important;
}

body.page-id-211 .jm-hero-title {
  font-size: clamp(36px, 3.25vw, 50px) !important;
  max-width: 640px !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-211 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-211 .jm-summary-card {
    min-height: 0 !important;
  }

  body.page-id-211 .jm-summary-card:nth-child(4) strong {
    white-space: normal !important;
  }

  body.page-id-211 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-211 .jm-faq-item {
    display: block !important;
  }

  body.page-id-211 .jm-section,
  body.page-id-211 .jm-section-soft {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.page-id-211 .jm-hero-title {
    font-size: 31px !important;
  }
}


/* =========================================================
   Jiwamu CAC Detail Fix
   Fix summary investment wrapping + independent FAQ columns
   ========================================================= */

/* CAC summary cards */
body.page-id-211 .jm-class-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 520px !important;
}

body.page-id-211 .jm-summary-card {
  min-height: 112px !important;
  padding: 20px !important;
}

body.page-id-211 .jm-summary-card strong {
  font-size: 17px !important;
  line-height: 1.32 !important;
  word-break: normal !important;
}

body.page-id-211 .jm-summary-card:nth-child(4) strong {
  white-space: nowrap !important;
}

/* CAC FAQ: independent columns, no row stretching */
body.page-id-211 .jm-faq-grid {
  column-count: 2 !important;
  column-gap: 24px !important;
  display: block !important;
}

body.page-id-211 .jm-faq-item {
  break-inside: avoid !important;
  display: inline-block !important;
  margin: 0 0 14px !important;
  vertical-align: top !important;
  width: 100% !important;
}

body.page-id-211 .jm-faq-item[open] {
  height: auto !important;
}

body.page-id-211 .jm-faq-item summary {
  cursor: pointer !important;
}

/* CAC rhythm follows CAF */
body.page-id-211 .jm-section,
body.page-id-211 .jm-section-soft {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

body.page-id-211 .jm-section-soft:first-of-type {
  padding-top: 26px !important;
  padding-bottom: 48px !important;
}

body.page-id-211 .jm-hero-title {
  font-size: clamp(36px, 3.25vw, 50px) !important;
  max-width: 640px !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-211 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-211 .jm-summary-card {
    min-height: 0 !important;
  }

  body.page-id-211 .jm-summary-card:nth-child(4) strong {
    white-space: normal !important;
  }

  body.page-id-211 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-211 .jm-faq-item {
    display: block !important;
  }

  body.page-id-211 .jm-section,
  body.page-id-211 .jm-section-soft {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.page-id-211 .jm-hero-title {
    font-size: 31px !important;
  }
}


/* =========================================================
   Jiwamu CABP Specific Fix
   Fix investment wrapping + FAQ independent columns
   ========================================================= */

/* CABP summary card layout */
body.page-id-69 .jm-class-summary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 620px !important;
  width: 100% !important;
}

body.page-id-69 .jm-summary-card {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 20px 22px !important;
}

body.page-id-69 .jm-summary-card span {
  white-space: nowrap !important;
}

body.page-id-69 .jm-summary-card strong {
  display: block !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Investment card specifically */
body.page-id-69 .jm-summary-card:nth-child(4) strong {
  white-space: nowrap !important;
  font-size: 16.5px !important;
}

/* CABP FAQ: remove grid row stretching */
body.page-id-69 .jm-faq-grid {
  display: block !important;
  column-count: 2 !important;
  column-gap: 24px !important;
  align-items: initial !important;
}

body.page-id-69 .jm-faq-item {
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  vertical-align: top !important;
}

body.page-id-69 .jm-faq-item[open] {
  height: auto !important;
  min-height: 0 !important;
}

body.page-id-69 .jm-faq-item:not([open]) {
  height: auto !important;
  min-height: 0 !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.page-id-69 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-69 .jm-summary-card:nth-child(4) strong {
    white-space: normal !important;
  }

  body.page-id-69 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-69 .jm-faq-item {
    display: block !important;
  }
}


/* =========================================================
   Jiwamu Bridging Specific Fix
   Fix investment wrapping + FAQ independent columns
   ========================================================= */

body.page-id-71 .jm-class-summary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 620px !important;
  width: 100% !important;
}

body.page-id-71 .jm-summary-card {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 20px 22px !important;
}

body.page-id-71 .jm-summary-card strong {
  display: block !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.page-id-71 .jm-summary-card:nth-child(4) strong {
  white-space: nowrap !important;
  font-size: 16.5px !important;
}

body.page-id-71 .jm-faq-grid {
  display: block !important;
  column-count: 2 !important;
  column-gap: 24px !important;
  align-items: initial !important;
}

body.page-id-71 .jm-faq-item {
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  break-inside: avoid !important;
  vertical-align: top !important;
}

body.page-id-71 .jm-faq-item[open],
body.page-id-71 .jm-faq-item:not([open]) {
  height: auto !important;
  min-height: 0 !important;
}

@media (max-width: 782px) {
  body.page-id-71 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-71 .jm-summary-card:nth-child(4) strong {
    white-space: normal !important;
  }

  body.page-id-71 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-71 .jm-faq-item {
    display: block !important;
  }
}


/* =========================================================
   Jiwamu Writing Lab Specific Fix
   Summary + FAQ independent columns
   ========================================================= */

body.page-id-76 .jm-class-summary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  max-width: 620px !important;
  width: 100% !important;
}

body.page-id-76 .jm-summary-card {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 20px 22px !important;
}

body.page-id-76 .jm-summary-card strong {
  display: block !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.page-id-76 .jm-faq-grid {
  display: block !important;
  column-count: 2 !important;
  column-gap: 24px !important;
  align-items: initial !important;
}

body.page-id-76 .jm-faq-item {
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  break-inside: avoid !important;
  vertical-align: top !important;
}

body.page-id-76 .jm-faq-item[open],
body.page-id-76 .jm-faq-item:not([open]) {
  height: auto !important;
  min-height: 0 !important;
}

@media (max-width: 782px) {
  body.page-id-76 .jm-class-summary {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.page-id-76 .jm-faq-grid {
    column-count: 1 !important;
  }

  body.page-id-76 .jm-faq-item {
    display: block !important;
  }
}


/* =========================================================
   Jiwamu Buku Page v1
   ========================================================= */

.jm-book-feature {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: 0.9fr 1.1fr;
}

.jm-book-cover {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.18), transparent 36%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 70%);
  border: 1px solid #DCE8FF;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(16,24,40,0.10);
  display: flex;
  justify-content: center;
  min-height: 430px;
  padding: 34px;
}

.jm-book-cover-inner {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(16,24,40,0.14);
  max-width: 260px;
  min-height: 350px;
  padding: 28px 24px;
  width: 100%;
}

.jm-book-cover-inner span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  margin-bottom: 34px;
  text-transform: uppercase;
}

.jm-book-cover-inner strong {
  color: #101828;
  display: block;
  font-size: 30px;
  line-height: 1.08;
  margin-bottom: 18px;
}

.jm-book-cover-inner em {
  color: #667085;
  display: block;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
}

.jm-book-meta-list {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

.jm-book-meta-list div {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 16px;
  color: #344054;
  font-size: 14.5px;
  line-height: 1.6;
  padding: 16px 18px;
}

.jm-book-meta-list strong {
  color: #101828;
}

.jm-book-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-book-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 22px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 24px;
}

.jm-book-card .jm-book-mini-cover {
  align-items: center;
  background: linear-gradient(135deg, #EEF4FF, #FFFFFF);
  border: 1px solid #DCE8FF;
  border-radius: 16px;
  color: #4B6BFF;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 150px;
  justify-content: center;
  letter-spacing: 1px;
  margin-bottom: 20px;
  text-align: center;
  text-transform: uppercase;
}

.jm-book-card h3 {
  color: #101828;
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 10px;
}

.jm-book-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0;
}

.jm-publisher-band {
  background: #101828;
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 24px;
  grid-template-columns: 1.2fr 0.8fr;
  padding: 38px;
}

.jm-publisher-band h2,
.jm-publisher-band p {
  color: #ffffff;
}

.jm-publisher-band p {
  color: rgba(255,255,255,0.78);
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-publisher-points {
  display: grid;
  gap: 12px;
}

.jm-publisher-points div {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  color: rgba(255,255,255,0.88);
  padding: 15px 16px;
}

@media (max-width: 1024px) {
  .jm-book-feature,
  .jm-publisher-band {
    grid-template-columns: 1fr;
  }

  .jm-book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  .jm-book-cover {
    min-height: 360px;
    padding: 24px;
  }

  .jm-book-cover-inner {
    min-height: 300px;
  }

  .jm-book-grid {
    grid-template-columns: 1fr;
  }

  .jm-publisher-band {
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Buku Page Polish
   Improve publisher band contrast
   ========================================================= */

.jm-publisher-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-publisher-band h2 {
  color: #FFFFFF !important;
}

.jm-publisher-band p {
  color: rgba(255,255,255,0.84) !important;
}

.jm-publisher-points div {
  color: rgba(255,255,255,0.94) !important;
}


/* =========================================================
   Jiwamu Majalah Page v1
   ========================================================= */

.jm-mag-feature {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: 0.9fr 1.1fr;
}

.jm-mag-cover {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.18), transparent 36%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 72%);
  border: 1px solid #DCE8FF;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(16,24,40,0.10);
  display: flex;
  justify-content: center;
  min-height: 430px;
  padding: 34px;
}

.jm-mag-cover-inner {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(16,24,40,0.14);
  max-width: 280px;
  min-height: 350px;
  padding: 28px 24px;
  width: 100%;
}

.jm-mag-cover-inner span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  margin-bottom: 34px;
  text-transform: uppercase;
}

.jm-mag-cover-inner strong {
  color: #101828;
  display: block;
  font-size: 34px;
  line-height: 1.05;
  margin-bottom: 18px;
}

.jm-mag-cover-inner em {
  color: #667085;
  display: block;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
}

.jm-topic-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-topic-pill {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 999px;
  color: #344054;
  font-size: 14.5px;
  font-weight: 700;
  padding: 14px 18px;
  text-align: center;
}

.jm-submit-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.20), transparent 34%),
    #101828;
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.15fr 0.85fr;
  padding: 38px;
}

.jm-submit-band h2,
.jm-submit-band p {
  color: #ffffff;
}

.jm-submit-band p {
  color: rgba(255,255,255,0.84);
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-submit-steps {
  display: grid;
  gap: 12px;
}

.jm-submit-steps div {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  color: rgba(255,255,255,0.94);
  padding: 15px 16px;
}

@media (max-width: 1024px) {
  .jm-mag-feature,
  .jm-submit-band {
    grid-template-columns: 1fr;
  }

  .jm-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  .jm-mag-cover {
    min-height: 360px;
    padding: 24px;
  }

  .jm-mag-cover-inner {
    min-height: 300px;
  }

  .jm-topic-grid {
    grid-template-columns: 1fr;
  }

  .jm-submit-band {
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Kirim Tulisan Page v1
   ========================================================= */

.jm-submit-form-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 28px;
  box-shadow: 0 22px 70px rgba(16,24,40,0.08);
  padding: 34px;
}

.jm-submit-form-card h2 {
  color: #101828;
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 14px;
}

.jm-submit-form-card p {
  color: #344054;
  font-size: 15.5px;
  line-height: 1.75;
  margin: 0 0 22px;
}

.jm-submit-field-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.jm-submit-field {
  background: #FAFBFD;
  border: 1px solid #DCE8FF;
  border-radius: 16px;
  padding: 17px 18px;
}

.jm-submit-field strong {
  color: #101828;
  display: block;
  font-size: 15px;
  margin-bottom: 4px;
}

.jm-submit-field span {
  color: #667085;
  display: block;
  font-size: 14px;
  line-height: 1.55;
}

.jm-guideline-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jm-guideline-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 22px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.05);
  padding: 24px;
}

.jm-guideline-card h3 {
  color: #101828;
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 10px;
}

.jm-guideline-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0;
}

.jm-warning-note {
  background: #FFF8E8;
  border: 1px solid #FFE3A3;
  border-radius: 18px;
  color: #6B4E16;
  font-size: 14.5px;
  line-height: 1.7;
  margin-top: 24px;
  padding: 18px 20px;
}

@media (max-width: 782px) {
  .jm-submit-form-card {
    padding: 24px;
  }

  .jm-guideline-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Jiwamu Anchor Scroll Polish
   Make in-page anchor jumps land naturally below sticky header
   ========================================================= */

html {
  scroll-padding-top: 120px;
}

#tema-majalah,
#koleksi-buku {
  scroll-margin-top: 120px;
}

/* Majalah theme section should feel less empty when opened via anchor */
#tema-majalah.jm-section-soft {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

@media (max-width: 782px) {
  html {
    scroll-padding-top: 92px;
  }

  #tema-majalah,
  #koleksi-buku {
    scroll-margin-top: 92px;
  }

  #tema-majalah.jm-section-soft {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
}


/* =========================================================
   Jiwamu Majalah Anchor Final Fix
   Make "Lihat Tema" land directly on Tema Tulisan section
   ========================================================= */

#tema-majalah {
  scroll-margin-top: 20px !important;
}

#tema-majalah.jm-section-soft {
  padding-top: 58px !important;
  padding-bottom: 70px !important;
}

@media (max-width: 782px) {
  #tema-majalah {
    scroll-margin-top: 12px !important;
  }

  #tema-majalah.jm-section-soft {
    padding-top: 44px !important;
    padding-bottom: 56px !important;
  }
}


/* =========================================================
   Jiwamu Artikel Page v1
   ========================================================= */

.jm-article-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-article-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-article-card .jm-article-label {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.jm-article-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-article-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 20px;
}

.jm-article-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-topic-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-topic-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  color: #344054;
  padding: 22px;
}

.jm-topic-card strong {
  color: #101828;
  display: block;
  font-size: 17px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.jm-topic-card span {
  color: #667085;
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.jm-resource-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.20), transparent 34%),
    #101828;
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-resource-band h2,
.jm-resource-band p {
  color: #ffffff;
}

.jm-resource-band p {
  color: rgba(255,255,255,0.84);
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-resource-links {
  display: grid;
  gap: 12px;
}

.jm-resource-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  color: rgba(255,255,255,0.94);
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .jm-article-grid,
  .jm-topic-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jm-resource-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-article-grid,
  .jm-topic-card-grid {
    grid-template-columns: 1fr;
  }

  .jm-resource-band {
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Artikel Resource Band Polish
   Fix dark section text contrast
   ========================================================= */

.jm-resource-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-resource-band h2 {
  color: #FFFFFF !important;
}

.jm-resource-band p {
  color: rgba(255,255,255,0.84) !important;
}

.jm-resource-links a {
  color: rgba(255,255,255,0.94) !important;
}


/* =========================================================
   Jiwamu Video Page v1
   ========================================================= */

.jm-video-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-video-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  overflow: hidden;
}

.jm-video-thumb {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.18), transparent 34%),
    linear-gradient(135deg, #EEF4FF, #FFFFFF);
  border-bottom: 1px solid #DCE8FF;
  color: #4B6BFF;
  display: flex;
  font-size: 13px;
  font-weight: 800;
  height: 180px;
  justify-content: center;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.jm-video-body {
  padding: 24px;
}

.jm-video-label {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-video-card h3 {
  color: #101828;
  font-size: 21px;
  line-height: 1.3;
  margin: 0 0 12px;
}

.jm-video-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 18px;
}

.jm-video-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-talk-format-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.jm-talk-format {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  padding: 22px;
}

.jm-talk-format strong {
  color: #101828;
  display: block;
  font-size: 17px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.jm-talk-format span {
  color: #667085;
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.jm-youtube-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.20), transparent 34%),
    #101828;
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-youtube-band h2,
.jm-youtube-band p {
  color: #ffffff;
}

.jm-youtube-band p {
  color: rgba(255,255,255,0.84);
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-youtube-links {
  display: grid;
  gap: 12px;
}

.jm-youtube-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  color: rgba(255,255,255,0.94);
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .jm-talk-format-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .jm-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jm-youtube-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-video-grid,
  .jm-talk-format-grid {
    grid-template-columns: 1fr;
  }

  .jm-youtube-band {
    padding: 26px;
  }

  .jm-video-thumb {
    height: 160px;
  }
}


/* =========================================================
   Jiwamu Dark CTA Band Contrast Fix
   For Artikel + Video resource/youtube bands
   ========================================================= */

.jm-resource-band,
.jm-youtube-band {
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.24), transparent 34%),
    linear-gradient(135deg, #101828 0%, #0B1220 100%) !important;
}

/* Eyebrow */
.jm-resource-band .jm-eyebrow,
.jm-youtube-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

/* Main heading */
.jm-resource-band h2,
.jm-youtube-band h2 {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Description */
.jm-resource-band p,
.jm-youtube-band p {
  color: rgba(255,255,255,0.84) !important;
  opacity: 1 !important;
}

/* Right-side link cards */
.jm-resource-links a,
.jm-youtube-links a {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.14) !important;
  color: #FFFFFF !important;
}

.jm-resource-links a:hover,
.jm-youtube-links a:hover {
  background: rgba(255,255,255,0.13) !important;
  border-color: rgba(255,255,255,0.28) !important;
  transform: translateY(-1px);
}

/* Keep primary CTA readable */
.jm-resource-band .jm-btn-primary,
.jm-youtube-band .jm-btn-primary {
  color: #FFFFFF !important;
}

/* Slightly reduce dark band heaviness on mobile */
@media (max-width: 782px) {
  .jm-resource-band,
  .jm-youtube-band {
    border-radius: 24px !important;
  }
}


/* =========================================================
   Jiwamu Dark Band Title Hard Fix
   Force CTA band headings to be readable
   ========================================================= */

body .jm-resource-band h2,
body .jm-youtube-band h2,
body .jm-resource-band div h2,
body .jm-youtube-band div h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

body .jm-resource-band .jm-eyebrow,
body .jm-youtube-band .jm-eyebrow {
  color: #BFD0FF !important;
  -webkit-text-fill-color: #BFD0FF !important;
  opacity: 1 !important;
}

body .jm-resource-band p,
body .jm-youtube-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  opacity: 1 !important;
}

body .jm-resource-band .jm-btn-primary,
body .jm-youtube-band .jm-btn-primary {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

wp cache flush --allow-root

/* =========================================================
   Jiwamu Dark Band Title Hard Fix
   Force CTA band headings to be readable
   ========================================================= */

body .jm-resource-band h2,
body .jm-youtube-band h2,
body .jm-resource-band div h2,
body .jm-youtube-band div h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

body .jm-resource-band .jm-eyebrow,
body .jm-youtube-band .jm-eyebrow {
  color: #BFD0FF !important;
  -webkit-text-fill-color: #BFD0FF !important;
  opacity: 1 !important;
}

body .jm-resource-band p,
body .jm-youtube-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  opacity: 1 !important;
}

body .jm-resource-band .jm-btn-primary,
body .jm-youtube-band .jm-btn-primary {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}


/* =========================================================
   Jiwamu Unduhan Page v1
   ========================================================= */

.jm-download-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-download-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-download-icon {
  align-items: center;
  background: #EEF4FF;
  border-radius: 18px;
  color: #4B6BFF;
  display: flex;
  font-size: 22px;
  font-weight: 800;
  height: 56px;
  justify-content: center;
  margin-bottom: 20px;
  width: 56px;
}

.jm-download-label {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-download-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-download-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 20px;
}

.jm-download-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-download-type-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-download-type {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  padding: 22px;
}

.jm-download-type strong {
  color: #101828;
  display: block;
  font-size: 17px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.jm-download-type span {
  color: #667085;
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.jm-download-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.24), transparent 34%),
    linear-gradient(135deg, #101828 0%, #0B1220 100%);
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-download-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-download-band h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.jm-download-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-download-links {
  display: grid;
  gap: 12px;
}

.jm-download-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  color: #FFFFFF !important;
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

.jm-download-links a:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .jm-download-grid,
  .jm-download-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jm-download-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-download-grid,
  .jm-download-type-grid {
    grid-template-columns: 1fr;
  }

  .jm-download-band {
    border-radius: 24px;
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Tentang Kami Page v1
   ========================================================= */

.jm-about-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
}

.jm-about-stat {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  padding: 22px;
}

.jm-about-stat span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.jm-about-stat strong {
  color: #101828;
  display: block;
  font-size: 18px;
  line-height: 1.35;
}

.jm-about-story {
  display: grid;
  gap: 42px;
  grid-template-columns: 0.85fr 1.15fr;
}

.jm-about-story-card {
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.18), transparent 36%),
    linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 72%);
  border: 1px solid #DCE8FF;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(16,24,40,0.08);
  min-height: 360px;
  padding: 34px;
}

.jm-about-story-card span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  margin-bottom: 28px;
  text-transform: uppercase;
}

.jm-about-story-card strong {
  color: #101828;
  display: block;
  font-size: 34px;
  line-height: 1.08;
  max-width: 320px;
}

.jm-about-story-text p {
  color: #344054;
  font-size: 16px;
  line-height: 1.85;
  margin: 0 0 18px;
}

.jm-ecosystem-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-ecosystem-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-ecosystem-card span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-ecosystem-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-ecosystem-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 20px;
}

.jm-ecosystem-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-about-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.24), transparent 34%),
    linear-gradient(135deg, #101828 0%, #0B1220 100%);
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-about-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-about-band h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.jm-about-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-about-links {
  display: grid;
  gap: 12px;
}

.jm-about-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  color: #FFFFFF !important;
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

.jm-about-links a:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .jm-about-stat-grid,
  .jm-ecosystem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jm-about-story,
  .jm-about-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-about-stat-grid,
  .jm-ecosystem-grid {
    grid-template-columns: 1fr;
  }

  .jm-about-story-card,
  .jm-about-band {
    border-radius: 24px;
    padding: 26px;
  }

  .jm-about-story-card {
    min-height: 280px;
  }

  .jm-about-story-card strong {
    font-size: 28px;
  }
}


/* =========================================================
   Jiwamu Tentang Kami Hero Stat Fix
   Desktop stat cards should be 2x2, not cramped 4 columns
   ========================================================= */

body.page-id-50 .jm-about-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 560px !important;
}

body.page-id-50 .jm-about-stat {
  min-height: 112px !important;
  padding: 22px 24px !important;
}

body.page-id-50 .jm-about-stat strong {
  font-size: 19px !important;
  line-height: 1.32 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Keep the hero more balanced on desktop */
body.page-id-50 .jm-hero-title {
  font-size: clamp(38px, 3.2vw, 54px) !important;
  max-width: 760px !important;
}

body.page-id-50 .jm-hero {
  gap: 58px !important;
}

/* Tablet */
@media (max-width: 1024px) {
  body.page-id-50 .jm-about-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: none !important;
  }
}

/* Mobile: keep what already looked good */
@media (max-width: 782px) {
  body.page-id-50 .jm-about-stat-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-id-50 .jm-about-stat {
    min-height: 0 !important;
  }
}


/* =========================================================
   Jiwamu Tentang Kami Hero Size Fix
   Make desktop hero less cramped and less heavy
   ========================================================= */

body.page-id-50 .jm-section-soft:first-of-type {
  padding-top: 74px !important;
  padding-bottom: 78px !important;
}

body.page-id-50 .jm-hero-title {
  font-size: clamp(36px, 3vw, 48px) !important;
  line-height: 1.12 !important;
  max-width: 720px !important;
}

body.page-id-50 .jm-lead {
  max-width: 680px !important;
}

body.page-id-50 .jm-about-stat-grid {
  margin-top: 32px !important;
}

/* Mobile stays compact */
@media (max-width: 782px) {
  body.page-id-50 .jm-section-soft:first-of-type {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
  }

  body.page-id-50 .jm-hero-title {
    font-size: 31px !important;
    line-height: 1.15 !important;
  }
}


/* =========================================================
   Jiwamu Proyek Page v1
   ========================================================= */

.jm-project-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-project-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-project-card span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-project-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-project-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 18px;
}

.jm-project-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-project-status {
  background: #EEF4FF;
  border-radius: 999px;
  color: #4B6BFF;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  margin-top: 8px;
  padding: 8px 12px;
  text-transform: uppercase;
}

.jm-movement-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-movement-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 20px;
  padding: 22px;
}

.jm-movement-card strong {
  color: #101828;
  display: block;
  font-size: 17px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.jm-movement-card span {
  color: #667085;
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.jm-project-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.24), transparent 34%),
    linear-gradient(135deg, #101828 0%, #0B1220 100%);
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-project-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-project-band h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.jm-project-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-project-links {
  display: grid;
  gap: 12px;
}

.jm-project-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  color: #FFFFFF !important;
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

.jm-project-links a:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .jm-project-grid,
  .jm-movement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jm-project-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-project-grid,
  .jm-movement-grid {
    grid-template-columns: 1fr;
  }

  .jm-project-band {
    border-radius: 24px;
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Homepage v1
   ========================================================= */

.jm-home-entry-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jm-home-entry-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-home-entry-card span {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-home-entry-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-home-entry-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 20px;
}

.jm-home-entry-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-home-program-grid,
.jm-home-latest-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jm-home-program-card,
.jm-home-latest-card {
  background: #ffffff;
  border: 1px solid #DCE8FF;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(16,24,40,0.06);
  padding: 26px;
}

.jm-home-program-card span,
.jm-home-latest-label {
  color: #4B6BFF;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.jm-home-program-card h3,
.jm-home-latest-card h3 {
  color: #101828;
  font-size: 22px;
  line-height: 1.28;
  margin: 0 0 12px;
}

.jm-home-program-card p,
.jm-home-latest-card p {
  color: #344054;
  font-size: 14.5px;
  line-height: 1.72;
  margin: 0 0 20px;
}

.jm-home-program-card a,
.jm-home-latest-card a {
  color: #4B6BFF;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.jm-home-band {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(75,107,255,0.24), transparent 34%),
    linear-gradient(135deg, #101828 0%, #0B1220 100%);
  border-radius: 28px;
  color: #ffffff;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.1fr 0.9fr;
  padding: 38px;
}

.jm-home-band .jm-eyebrow {
  color: #BFD0FF !important;
  opacity: 1 !important;
}

.jm-home-band h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.jm-home-band p {
  color: rgba(255,255,255,0.86) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.86) !important;
  line-height: 1.75;
  margin-bottom: 0;
}

.jm-home-links {
  display: grid;
  gap: 12px;
}

.jm-home-links a {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  color: #FFFFFF !important;
  display: block;
  font-weight: 700;
  padding: 16px 18px;
  text-decoration: none;
}

.jm-home-links a:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

@media (max-width: 1180px) {
  .jm-home-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .jm-home-program-grid,
  .jm-home-latest-grid,
  .jm-home-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .jm-home-entry-grid {
    grid-template-columns: 1fr;
  }

  .jm-home-band {
    border-radius: 24px;
    padding: 26px;
  }
}


/* =========================================================
   Jiwamu Homepage Brand Hero Fix
   Keep homepage distinct with real Jiwamu logo visual
   ========================================================= */

body.home .jm-home-brand-hero {
  padding-top: 54px !important;
  padding-bottom: 66px !important;
}

body.home .jm-home-brand-hero .jm-hero-title {
  font-size: clamp(40px, 4vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  max-width: 760px !important;
}

body.home .jm-home-brand-hero .jm-lead {
  max-width: 720px !important;
}

.jm-home-logo-visual {
  align-items: center;
  background:
    radial-gradient(circle at 30% 24%, rgba(75,107,255,0.12), transparent 36%),
    linear-gradient(135deg, rgba(238,244,255,0.72), rgba(255,255,255,0.94));
  border: 1px solid #DCE8FF;
  border-radius: 30px;
  box-shadow: 0 28px 80px rgba(16,24,40,0.08);
  display: flex;
  justify-content: center;
  min-height: 420px;
  overflow: hidden;
  padding: 42px;
}

.jm-home-logo-visual img {
  display: block;
  height: auto;
  max-width: 92%;
  object-fit: contain;
}

body.home .jm-home-entry-card,
body.home .jm-home-program-card,
body.home .jm-home-latest-card {
  min-height: 100%;
}

@media (max-width: 1024px) {
  .jm-home-logo-visual {
    min-height: 320px;
  }
}

@media (max-width: 782px) {
  body.home .jm-home-brand-hero {
    padding-top: 42px !important;
    padding-bottom: 52px !important;
  }

  body.home .jm-home-brand-hero .jm-hero-title {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }

  .jm-home-logo-visual {
    min-height: 240px;
    padding: 28px;
  }
}


/* =========================================================
   Jiwamu Homepage v3 — Seamless Hero Attempt
   Logo as visual anchor, not a card
   ========================================================= */



/* =========================================================



/* =========================================================
   JIWAMU HOMEPAGE — CLEAN STABILIZER
   Single source for homepage layout. Keep below previous CSS.
   ========================================================= */

body.home {
  --home-container: 1240px;
  --home-wide: 1380px;
  --home-blue: #4b6bff;
  --home-ink: #101828;
  --home-text: #344054;
  --home-line: #dce8ff;
  --home-soft: #f8fbff;
  --home-radius: 28px;
}

body.home .site-main,
body.home .content-area,
body.home .entry-content {
  background: #fff !important;
}

body.home .entry-content > section {
  margin: 0 !important;
  padding: clamp(72px, 7vw, 108px) 0 !important;
}

body.home .entry-content > section .jm-container {
  max-width: var(--home-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 4vw, 36px) !important;
  padding-right: clamp(24px, 4vw, 36px) !important;
}

/* HERO */
body.home .jm-home-seamless-hero {
  min-height: calc(100vh - 92px) !important;
  display: flex !important;
  align-items: center !important;
  padding-top: clamp(70px, 7vw, 112px) !important;
  padding-bottom: clamp(72px, 8vw, 116px) !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 49%, #eef4ff 49%, #eef4ff 100%) !important;
}

body.home .jm-home-seamless-hero .jm-container {
  max-width: var(--home-wide) !important;
}

body.home .jm-home-seamless-hero .jm-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  align-items: center !important;
  gap: clamp(56px, 7vw, 104px) !important;
  min-height: auto !important;
}

body.home .jm-home-seamless-hero .jm-hero-copy {
  max-width: 610px !important;
  transform: none !important;
}

body.home .jm-home-seamless-hero .jm-eyebrow {
  display: none !important;
}

body.home .jm-home-seamless-hero .jm-hero-title,
body.home .jm-home-seamless-hero h1 {
  max-width: 620px !important;
  margin: 0 0 24px !important;
  color: var(--home-ink) !important;
  font-size: clamp(56px, 5.9vw, 88px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 800 !important;
}

body.home .jm-home-seamless-hero .jm-lead,
body.home .jm-home-seamless-hero .jm-hero-copy p {
  max-width: 560px !important;
  color: var(--home-text) !important;
  font-size: clamp(17px, 1.15vw, 20px) !important;
  line-height: 1.7 !important;
}

body.home .jm-home-seamless-hero .jm-btn-row {
  margin-top: 26px !important;
  gap: 18px !important;
}

body.home .jm-home-seamless-hero .jm-home-ribbon-stage {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 460px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.home .jm-home-seamless-hero .jm-home-ribbon-stage::before,
body.home .jm-home-seamless-hero .jm-home-ribbon-stage::after {
  display: none !important;
  content: none !important;
}

body.home .jm-home-seamless-hero .jm-home-ribbon-stage img {
  display: block !important;
  width: min(620px, 96%) !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 26px 46px rgba(75, 107, 255, .14)) !important;
  transform: translateX(2vw) !important;
}

/* SECTION RHYTHM */
body.home .jm-section-soft {
  background: var(--home-soft) !important;
}

body.home .jm-center {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: clamp(30px, 3.2vw, 46px) !important;
  text-align: center !important;
}

body.home .jm-eyebrow {
  color: #475467 !important;
  letter-spacing: .24em !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.home .jm-section-title {
  color: var(--home-ink) !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

/* ENTRY CARDS */
body.home .jm-home-v2-entry-grid,
body.home .jm-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 2.6vw, 34px) !important;
}

body.home .jm-home-v2-entry-card,
body.home .jm-card {
  border: 1px solid rgba(75, 107, 255, .18) !important;
  border-radius: var(--home-radius) !important;
  box-shadow: 0 22px 60px rgba(16, 24, 40, .055) !important;
  background: #fff !important;
}

body.home .jm-home-v2-entry-card {
  min-height: 300px !important;
  padding: clamp(32px, 3vw, 44px) !important;
}

body.home .jm-home-v2-entry-icon {
  display: none !important;
}

body.home .jm-home-v2-entry-card h3,
body.home .jm-card-title {
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 18px !important;
}

body.home .jm-home-v2-entry-card p,
body.home .jm-card p {
  color: var(--home-text) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

body.home .jm-home-v2-entry-card a,
body.home .jm-card a {
  color: var(--home-blue) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

/* HIGHLIGHT */
body.home .jm-home-v2-highlight-grid,
body.home .jm-highlight-grid,
body.home .jm-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 2.8vw, 36px) !important;
}

body.home .jm-home-v2-highlight-card,
body.home .jm-highlight-card,
body.home .jm-section-soft .jm-grid-2 > .jm-card {
  min-height: 260px !important;
  padding: clamp(34px, 3.4vw, 48px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border: 1px solid rgba(75, 107, 255, .18) !important;
  border-radius: var(--home-radius) !important;
  background: #fff !important;
  box-shadow: 0 22px 60px rgba(16, 24, 40, .05) !important;
}

body.home .jm-home-v2-highlight-visual,
body.home .jm-highlight-media,
body.home .jm-home-v2-highlight-card img,
body.home .jm-highlight-card img {
  display: none !important;
}

body.home .jm-home-v2-highlight-label,
body.home .jm-card-meta {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: var(--home-blue) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  margin-bottom: 22px !important;
}

body.home .jm-home-v2-highlight-card h3,
body.home .jm-highlight-card h3 {
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 16px !important;
}

body.home .jm-home-v2-highlight-card p,
body.home .jm-highlight-card p {
  color: var(--home-text) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  max-width: 620px !important;
}

/* LATEST / EXPLORE */
body.home .jm-home-latest,
body.home .jm-home-explore {
  background: #fff !important;
}

body.home .jm-home-latest .jm-center .jm-eyebrow,
body.home .jm-home-explore .jm-center .jm-eyebrow {
  display: none !important;
}

/* CONNECT */
body.home .jm-home-connect-section,
body.home .jm-home-contact-section {
  background: var(--home-soft) !important;
}

body.home .jm-home-connect-card,
body.home .jm-home-contact-band,
body.home .jm-cta-band {
  max-width: var(--home-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(44px, 5vw, 72px) !important;
  border-radius: 30px !important;
  border: 1px solid rgba(75, 107, 255, .18) !important;
  background:
    radial-gradient(circle at 36% 58%, rgba(75,107,255,.14), transparent 34%),
    #fff !important;
  box-shadow: 0 28px 80px rgba(16, 24, 40, .06) !important;
}

body.home .jm-home-connect-card {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: center !important;
}

body.home .jm-home-connect-copy h2 {
  color: var(--home-ink) !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 18px !important;
}

body.home .jm-home-connect-copy p:not(.jm-eyebrow) {
  color: var(--home-text) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  max-width: 600px !important;
}

body.home .jm-home-connect-copy .jm-btn-primary,
body.home .jm-home-contact-band .jm-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

body.home .jm-home-connect-copy .jm-btn-primary svg,
body.home .jm-home-contact-band .jm-btn-primary svg {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
}

body.home .jm-home-connect-links {
  display: grid !important;
  gap: 14px !important;
}

body.home .jm-home-connect-links a {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 52px 1fr auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 16px 22px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(75, 107, 255, .16) !important;
  background: rgba(255,255,255,.82) !important;
  color: var(--home-ink) !important;
  text-decoration: none !important;
  box-shadow: 0 14px 36px rgba(16, 24, 40, .035) !important;
}

body.home .jm-home-connect-links a::after {
  content: "›" !important;
  color: var(--home-blue) !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

body.home .jm-home-connect-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #eef4ff !important;
  color: var(--home-blue) !important;
}

/* FOOTER LOGO */
.jiwamu-footer-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-weight: 800 !important;
  color: var(--home-ink, #101828) !important;
}

.jiwamu-footer-logo {
  width: 34px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  body.home .jm-home-seamless-hero {
    min-height: auto !important;
    background:
      radial-gradient(circle at 52% 30%, rgba(75, 107, 255, .12), transparent 45%),
      linear-gradient(180deg, #fff 0%, #eef4ff 100%) !important;
  }

  body.home .jm-home-seamless-hero .jm-hero {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage {
    min-height: 250px !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage img {
    width: min(360px, 82%) !important;
    transform: none !important;
  }

  body.home .jm-home-v2-entry-grid,
  body.home .jm-grid-3,
  body.home .jm-home-v2-highlight-grid,
  body.home .jm-highlight-grid,
  body.home .jm-grid-2,
  body.home .jm-home-connect-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.home .entry-content > section {
    padding: 52px 0 !important;
  }

  body.home .jm-home-seamless-hero {
    padding-top: 44px !important;
    padding-bottom: 52px !important;
  }

  body.home .jm-home-seamless-hero .jm-hero-title,
  body.home .jm-home-seamless-hero h1 {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: 1.02 !important;
  }

  body.home .jm-home-seamless-hero .jm-lead,
  body.home .jm-home-seamless-hero .jm-hero-copy p {
    font-size: 16px !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage {
    min-height: 190px !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage img {
    width: min(280px, 84%) !important;
  }

  body.home .jm-home-v2-entry-card,
  body.home .jm-home-v2-highlight-card,
  body.home .jm-highlight-card,
  body.home .jm-section-soft .jm-grid-2 > .jm-card {
    padding: 28px !important;
    min-height: auto !important;
  }

  body.home .jm-home-connect-card,
  body.home .jm-home-contact-band,
  body.home .jm-cta-band {
    padding: 30px !important;
    border-radius: 24px !important;
  }

  body.home .jm-home-connect-links a {
    min-height: 64px !important;
    grid-template-columns: 44px 1fr auto !important;
    padding: 14px 16px !important;
  }
}

/* =========================================================
   HOMEPAGE SURGICAL FIX
   Fix hero scale, card icon gap, contact arrows, and rhythm.
   ========================================================= */

body.home {
  overflow-x: hidden !important;
}

/* 1. HERO: lebih proporsional, tidak pecah menjadi lima baris */
body.home .jm-home-seamless-hero {
  min-height: min(760px, calc(100vh - 92px)) !important;
  padding-top: clamp(56px, 5vw, 82px) !important;
  padding-bottom: clamp(60px, 5vw, 84px) !important;
}

body.home .jm-home-seamless-hero .jm-hero {
  grid-template-columns: minmax(640px, 1fr) minmax(520px, 1fr) !important;
  gap: clamp(36px, 4vw, 64px) !important;
}

body.home .jm-home-seamless-hero .jm-hero-copy {
  max-width: 690px !important;
}

body.home .jm-home-seamless-hero .jm-hero-title,
body.home .jm-home-seamless-hero h1 {
  max-width: 690px !important;
  font-size: clamp(54px, 4.6vw, 72px) !important;
  line-height: 1.01 !important;
  letter-spacing: -0.06em !important;
}

body.home .jm-home-seamless-hero .jm-home-ribbon-stage {
  min-height: 360px !important;
}

body.home .jm-home-seamless-hero .jm-home-ribbon-stage img {
  width: min(540px, 96%) !important;
  transform: translateY(8px) !important;
}

/* 2. Jarak antar-section: tetap lega, tapi tidak seperti putus halaman */
body.home .entry-content > section {
  padding-top: clamp(62px, 5vw, 86px) !important;
  padding-bottom: clamp(62px, 5vw, 86px) !important;
}

/* 3. Kartu kebutuhan: tampilkan kembali ikon yang sebelumnya tersembunyi */
body.home .jm-home-v2-entry-card {
  min-height: 330px !important;
  padding: clamp(30px, 2.8vw, 40px) !important;
}

body.home .jm-home-v2-entry-card .jm-home-v2-entry-icon,
body.home .jm-home-v2-entry-card .jm-icon-badge {
  display: inline-flex !important;
  width: 64px !important;
  height: 64px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 24px !important;
}

body.home .jm-home-v2-entry-card h3,
body.home .jm-home-v2-entry-card .jm-card-title {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* 4. Mari Terhubung: hilangkan panah CSS duplikat */
body.home .jm-home-connect-links a {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 74px !important;
  padding: 14px 22px !important;
}

body.home .jm-home-connect-links a::after {
  content: none !important;
  display: none !important;
}

body.home .jm-home-connect-links a > *:last-child {
  margin-left: auto !important;
}

body.home .jm-home-connect-icon {
  flex: 0 0 44px !important;
}

body.home .jm-home-connect-copy h2 {
  font-size: clamp(32px, 2.7vw, 40px) !important;
  line-height: 1.1 !important;
}

body.home .jm-home-connect-card {
  gap: clamp(34px, 4vw, 62px) !important;
}

/* WhatsApp di CTA: putih dan konsisten dengan tombol */
body.home .jm-home-connect-copy .jm-btn-primary svg,
body.home .jm-home-connect-copy .jm-btn-primary svg * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  body.home .jm-home-seamless-hero {
    min-height: auto !important;
  }

  body.home .jm-home-seamless-hero .jm-hero {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  body.home .jm-home-seamless-hero .jm-hero-title,
  body.home .jm-home-seamless-hero h1 {
    max-width: 720px !important;
    font-size: clamp(46px, 8vw, 62px) !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage {
    min-height: 240px !important;
  }

  body.home .jm-home-seamless-hero .jm-home-ribbon-stage img {
    width: min(360px, 82%) !important;
    transform: none !important;
  }

  body.home .jm-home-connect-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.home .entry-content > section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  body.home .jm-home-seamless-hero .jm-hero-title,
  body.home .jm-home-seamless-hero h1 {
    font-size: clamp(42px, 11vw, 54px) !important;
  }

  body.home .jm-home-v2-entry-card {
    min-height: auto !important;
  }

  body.home .jm-home-connect-links a {
    min-height: 66px !important;
    padding: 13px 16px !important;
  }
}
