html { scroll-behavior: smooth; }
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans.woff2') format('woff2');
}
h1, h2, h3, h4,
.site-nav,
.site-footer .foot-heading {
  font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Fallback: pastikan navbar & footer selalu tampil walau CDN Tailwind lambat/gagal */
.site-nav,
.site-nav-inner {
  background-color: #1a1a2e;
  color: #ffffff;
}
.site-nav a,
.site-nav button,
.site-nav span {
  color: #ffffff;
}
.site-nav a:hover {
  color: #e8b43c;
}
.site-nav .nav-cta {
  background-color: #e8b43c;
  color: #1a1a2e;
}
.site-nav .nav-cta:hover {
  color: #1a1a2e;
  opacity: 0.9;
}

.site-footer {
  background-color: #1a1a2e;
  color: #ffffff;
}
.site-footer a,
.site-footer p {
  color: #ffffff;
}
.site-footer a:hover {
  color: #e8b43c;
}
.site-footer .foot-heading {
  color: #e8b43c;
}

/* Fallback: warna solid utk tombol & teks walau CDN Tailwind gagal */
.bg-primary { background-color: #1a1a2e; }
.bg-secondary { background-color: #e8b43c; }
.text-primary { color: #1a1a2e; }
.text-secondary { color: #e8b43c; }

a.bg-secondary {
  background-color: #e8b43c;
  color: #1a1a2e;
}
a.bg-secondary:hover {
  background-color: #1a1a2e;
  color: #ffffff;
}

/* Peta: iframe hasil paste langsung menyesuaikan ukuran kontainer */
.maps-wrap iframe {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border: 0;
  display: block;
}

/* Tooltip sederhana via data-tip */
[data-tip] { position: relative; }
[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
  background: #1a1a2e;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: normal;
  max-width: 240px;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 60;
}
[data-tip]::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: #1a1a2e;
  opacity: 0;
  transition: opacity 0.15s;
  z-index: 60;
}
[data-tip]:hover::after,
[data-tip]:hover::before {
  opacity: 1;
}
[data-tip]:hover::after {
  transform: translateX(-50%) scale(1);
}