/**
 * Halaman Legal (Kebijakan Privasi & Syarat Ketentuan) — flat, no gradient
 */
.legal-hero {
  position: relative;
  background: var(--de-navy-800);
  color: #fff;
  padding: 3.5rem 0 4rem;
  overflow: hidden;
}
.legal-hero-deco { position: absolute; inset: 0; pointer-events: none; }
.legal-hero-deco::before,
.legal-hero-deco::after { content: ''; position: absolute; border-radius: 50%; }
.legal-hero-deco::before { width: 300px; height: 300px; top: -120px; right: -60px; background: rgba(255,255,255,.03); }
.legal-hero-deco::after  { width: 200px; height: 200px; bottom: -100px; left: -50px; background: rgba(255,199,44,.06); }
.legal-hero-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,199,44,.12); color: var(--de-yellow-500);
  border: 1px solid rgba(255,199,44,.3);
  padding: .45rem .9rem; border-radius: 999px;
  font-size: .8rem; font-weight: 700; margin-bottom: 1rem;
}
.legal-hero h1 {
  font-family: 'Sora', sans-serif; font-weight: 800; color: #fff;
  font-size: clamp(1.9rem, 5vw, 2.6rem); margin-bottom: .5rem;
}
.legal-hero .lead { color: rgba(255,255,255,.82); }
.legal-updated { color: rgba(255,255,255,.55); font-size: .85rem; margin-top: .75rem; margin-bottom: 0; }

/* Dokumen */
.legal-doc {
  background: #fff;
  border: 1px solid var(--de-border);
  border-radius: var(--de-radius);
  box-shadow: 0 10px 40px rgba(10,29,58,.06);
  padding: 2.5rem;
}
.legal-doc h3 {
  font-family: 'Sora', sans-serif; font-weight: 700;
  color: var(--de-navy-800);
  font-size: 1.15rem;
  margin: 2rem 0 .75rem;
  padding-left: .85rem;
  border-left: 4px solid var(--de-yellow-500);
}
.legal-doc h3:first-of-type { margin-top: 1rem; }
.legal-doc p { line-height: 1.7; }
.legal-doc ul { padding-left: 1.25rem; line-height: 1.8; }
.legal-doc ul li { margin-bottom: .4rem; }
.legal-doc a { color: var(--de-navy-500); font-weight: 600; }
.legal-doc a:hover { color: var(--de-yellow-600); }

/* Kotak kontak bawah */
.legal-contact {
  display: flex; align-items: center; gap: 1rem;
  background: var(--de-navy-50);
  border: 1px solid var(--de-border);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  margin-top: 2.5rem;
}
.legal-contact i {
  width: 48px; height: 48px; flex: 0 0 48px;
  background: var(--de-navy-800); color: var(--de-yellow-500);
  border-radius: 12px; display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
}
.legal-contact b { display: block; color: var(--de-navy-800); }
.legal-contact span { font-size: .9rem; color: var(--de-muted); }

@media (max-width: 767.98px) {
  .legal-doc { padding: 1.5rem; }
}
