:root {
  --jdih-gold: #D9A60B;
  --jdih-green: #007D00;
  --jdih-dark: #025E17;
  --jdih-ink: #132117;
  --jdih-muted: #65736A;
  --jdih-canvas: #F8FAF6;
  --jdih-surface: #FFFFFF;
  --jdih-soft: #EEF6EC;
  --jdih-border: rgba(2, 94, 23, .14);
  --jdih-border-strong: rgba(2, 94, 23, .24);
  --jdih-shadow: 0 18px 44px rgba(18, 42, 24, .08);
  --jdih-shadow-soft: 0 8px 24px rgba(18, 42, 24, .06);
  --jdih-radius: 14px;
  --jdih-radius-sm: 10px;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif !important;
  color: var(--jdih-ink) !important;
  background:
    radial-gradient(circle at top left, rgba(217, 166, 11, .07), transparent 28rem),
    linear-gradient(180deg, #FFFFFF 0%, var(--jdih-canvas) 100%) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

main {
  overflow-x: clip;
}

a {
  text-underline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(217, 166, 11, .45) !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 2000;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--jdih-dark);
  color: #fff;
  font-weight: 700;
  transform: translateY(-140%);
  transition: transform .18s ease;
}

.skip-link:focus {
  transform: translateY(0);
  color: #fff;
}

.container {
  max-width: 1180px;
}

.jdih-topbar {
  background: var(--jdih-dark) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.jdih-navbar {
  background: rgba(255, 255, 255, .94) !important;
  border-bottom: 1px solid rgba(2, 94, 23, .12) !important;
  backdrop-filter: blur(16px);
}

.jdih-navbar.scrolled {
  box-shadow: 0 12px 32px rgba(19, 33, 23, .08) !important;
}

.jdih-brand img {
  height: 50px !important;
}

.jdih-brand-logos {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.jdih-brand-logos img {
  width: auto;
  height: 50px !important;
  object-fit: contain;
  flex-shrink: 0;
}

.jdih-brand-logos img:nth-child(2) {
  height: 45px !important;
}

.jdih-brand-name strong {
  letter-spacing: -.01em;
}

.jdih-nav .nav-link {
  color: #26382B !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
}

.jdih-nav .nav-link:hover,
.jdih-nav .nav-link.active,
.jdih-nav .nav-link.show {
  color: var(--jdih-dark) !important;
  background: rgba(217, 166, 11, .12) !important;
}

.jdih-nav .nav-link.active::after {
  display: none !important;
}

.jdih-nav .dropdown-menu {
  border: 1px solid rgba(2, 94, 23, .12) !important;
  border-radius: 12px !important;
  box-shadow: 0 22px 54px rgba(19, 33, 23, .13) !important;
  padding: 8px !important;
}

.jdih-nav .dropdown-item {
  border-radius: 8px !important;
  color: #253328 !important;
}

.jdih-nav .dropdown-item:hover,
.jdih-nav .dropdown-item:focus {
  background: var(--jdih-soft) !important;
  color: var(--jdih-dark) !important;
}

.navbar-toggler {
  width: 42px;
  height: 42px;
  border-radius: 10px !important;
  background: var(--jdih-soft) !important;
}

#mobileNav {
  background: rgba(255, 255, 255, .98);
  border-top: 1px solid var(--jdih-border);
}

.section,
.section-sm {
  position: relative;
}

.section {
  padding: 88px 0 !important;
}

.section-sm {
  padding: 64px 0 !important;
}

.section-title {
  color: var(--jdih-dark) !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em !important;
}

.section-badge {
  border-radius: 999px !important;
  background: rgba(217, 166, 11, .13) !important;
  color: #8B6500 !important;
  border: 1px solid rgba(217, 166, 11, .22);
  letter-spacing: .08em !important;
}

.jdih-page-hero {
  position: relative;
  padding: 72px 0 66px !important;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(2, 94, 23, .98), rgba(0, 125, 0, .92)) !important;
}

.jdih-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(217, 166, 11, .26), transparent 18rem),
    linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
  background-size: auto, 54px 54px, 54px 54px;
  opacity: .58;
}

.jdih-page-hero > .container {
  position: relative;
  z-index: 1;
}

.jdih-page-hero h1 {
  max-width: 860px;
  color: #fff !important;
  font-size: clamp(32px, 4vw, 54px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
  font-weight: 850 !important;
  margin-top: 12px !important;
}

.jdih-page-hero p {
  max-width: 680px;
  color: rgba(255, 255, 255, .80) !important;
  font-size: 16px;
}

.jdih-page-hero .section-badge {
  background: rgba(255, 255, 255, .12) !important;
  border-color: rgba(255, 255, 255, .20) !important;
  color: #fff !important;
}

.jdih-breadcrumb {
  background: rgba(248, 250, 246, .82) !important;
  border-bottom: 1px solid var(--jdih-border) !important;
}

.jdih-card,
.card,
.accordion-item {
  border: 1px solid var(--jdih-border) !important;
  border-radius: var(--jdih-radius) !important;
  box-shadow: none !important;
}

.jdih-card {
  background: rgba(255, 255, 255, .94) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.jdih-card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--jdih-border-strong) !important;
  box-shadow: var(--jdih-shadow-soft) !important;
}

.jdih-form-control,
.form-control,
.form-select {
  border: 1px solid var(--jdih-border) !important;
  border-radius: 10px !important;
  color: var(--jdih-ink) !important;
  min-height: 46px;
  box-shadow: none !important;
}

.jdih-form-control:focus,
.form-control:focus,
.form-select:focus {
  border-color: var(--jdih-green) !important;
  box-shadow: 0 0 0 4px rgba(0, 125, 0, .10) !important;
}

.jdih-label {
  color: #26382B !important;
  font-weight: 750 !important;
}

.btn-jdih-primary,
.btn-jdih-gold,
.btn-jdih-outline,
.btn {
  border-radius: 10px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em;
}

.btn-jdih-primary {
  background: var(--jdih-green) !important;
  border: 1px solid var(--jdih-green) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.btn-jdih-primary:hover {
  background: var(--jdih-dark) !important;
  transform: translateY(-1px) !important;
}

.btn-jdih-gold {
  background: var(--jdih-gold) !important;
  border: 1px solid var(--jdih-gold) !important;
  color: #1D250F !important;
  box-shadow: none !important;
}

.btn-jdih-outline {
  background: transparent !important;
  border: 1px solid var(--jdih-green) !important;
  color: var(--jdih-dark) !important;
}

.btn-jdih-outline:hover {
  background: var(--jdih-soft) !important;
  color: var(--jdih-dark) !important;
  transform: translateY(-1px) !important;
}

.jdih-tag,
.jdih-tag-gold,
.status-badge {
  border-radius: 999px !important;
  font-weight: 750 !important;
}

.jdih-divider {
  width: 56px !important;
  height: 3px !important;
  background: var(--jdih-gold) !important;
}

.jdih-hero-main {
  min-height: 560px !important;
  padding: 104px 0 130px !important;
}

.jdih-hero-main::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 90px;
  background: linear-gradient(180deg, transparent, rgba(248, 250, 246, .95));
  pointer-events: none;
}

.jdih-hero-content {
  max-width: 1040px !important;
}

.jdih-hero-title {
  color: #FFFFFF !important;
  font-size: clamp(36px, 5.4vw, 70px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .28);
}

.jdih-hero-title span {
  color: var(--jdih-gold) !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .24);
}

.jdih-hero-subtitle {
  max-width: 820px !important;
  font-weight: 600 !important;
}

.jdih-hero-search {
  max-width: 850px !important;
  border-radius: 14px !important;
  padding: 10px !important;
  border: 1px solid rgba(255, 255, 255, .28);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22) !important;
}

.jdih-hero-search select,
.jdih-hero-search input,
.jdih-hero-search button {
  height: 44px !important;
}

.jdih-hero-search button {
  border-radius: 10px !important;
  color: #1B230F !important;
}

.jdih-hero-stats {
  border: 1px solid var(--jdih-border);
  border-radius: 14px !important;
  box-shadow: var(--jdih-shadow) !important;
}

.jdih-hero-stat {
  min-height: 126px !important;
}

.jdih-hero-stat i,
.jdih-hero-stat strong {
  color: var(--jdih-dark) !important;
}

.article-content {
  font-size: 16px !important;
  line-height: 1.9 !important;
}

.article-content p {
  margin-bottom: 1.1rem;
}

.jdih-cta-band {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, var(--jdih-dark), var(--jdih-green)) !important;
}

.jdih-cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(217, 166, 11, .28), transparent 22rem),
    radial-gradient(circle at 86% 78%, rgba(255, 255, 255, .12), transparent 18rem);
  pointer-events: none;
}

.jdih-cta-band > .container {
  position: relative;
  z-index: 1;
}

.jdih-cta-band .btn-jdih-outline {
  border-color: rgba(255, 255, 255, .72) !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, .08) !important;
}

.jdih-cta-band .btn-jdih-outline i {
  color: #FFFFFF !important;
}

.jdih-cta-band .btn-jdih-outline:hover,
.jdih-cta-band .btn-jdih-outline:focus {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: var(--jdih-dark) !important;
}

.jdih-cta-band .btn-jdih-outline:hover i,
.jdih-cta-band .btn-jdih-outline:focus i {
  color: var(--jdih-dark) !important;
}

.faq-accordion .accordion-item {
  overflow: hidden;
  margin-bottom: 12px !important;
}

.faq-accordion .accordion-button {
  padding: 20px 22px !important;
  color: var(--jdih-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--jdih-dark) !important;
  background: var(--jdih-soft) !important;
}

.faq-accordion .accordion-body {
  padding: 18px 22px 22px !important;
  background: #fff;
}

.rating-btn {
  color: var(--jdih-dark) !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

.rating-input:checked + .rating-btn {
  background: var(--jdih-soft) !important;
  border-color: var(--jdih-green) !important;
}

.option-label {
  background: #fff;
}

.option-label:hover {
  border-color: var(--jdih-green) !important;
  background: var(--jdih-soft) !important;
}

.hover-scale {
  transform-origin: center;
}

.jdih-card:hover .hover-scale {
  transform: scale(1.035);
}

.pagination {
  gap: 6px;
}

.pagination .page-link {
  border: 1px solid var(--jdih-border);
  border-radius: 10px !important;
  color: var(--jdih-dark);
  font-weight: 700;
}

.pagination .page-item.active .page-link {
  background: var(--jdih-green);
  border-color: var(--jdih-green);
}

.jdih-footer {
  background:
    linear-gradient(180deg, #063B13 0%, var(--jdih-dark) 100%) !important;
}

.jdih-footer-logos {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.jdih-footer-logos img {
  height: 64px;
  width: auto;
  object-fit: contain;
}

.jdih-footer-logos img:nth-child(2) {
  height: 58px;
  padding: 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
}

#scrollTop {
  border-radius: 999px !important;
  background: var(--jdih-green) !important;
}

@media (max-width: 991.98px) {
  .section {
    padding: 64px 0 !important;
  }

  .section-sm {
    padding: 52px 0 !important;
  }

  .jdih-page-hero {
    padding: 54px 0 48px !important;
  }

  .jdih-page-hero h1 {
    font-size: clamp(30px, 8vw, 44px) !important;
  }

  .jdih-brand img {
    height: 44px !important;
  }

  .jdih-brand-logos img {
    height: 44px !important;
  }

  .jdih-brand-logos img:nth-child(2) {
    height: 40px !important;
  }

  .jdih-card.p-5,
  article.jdih-card.p-5 {
    padding: 28px !important;
  }
}

@media (max-width: 767.98px) {
  .jdih-hero-main {
    min-height: auto !important;
    padding: 72px 0 96px !important;
  }

  .jdih-hero-title {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .jdih-hero-stats-wrap {
    margin-top: -28px !important;
  }

  .jdih-hero-search {
    border-radius: 12px !important;
  }

  .jdih-footer-bottom .container {
    align-items: flex-start !important;
  }
}
