/* Syarat dan ketentuan PPDB: butir pernyataan + bagian lipat tata tertib. CSS biasa (tanpa build Tailwind); warna mengikuti token situs. */
.terms-claims { display: flex; flex-direction: column; gap: .875rem; padding: 0; list-style: none; }
.terms-claims li { display: flex; gap: .75rem; align-items: flex-start; color: var(--color-ink, #1a1f1c); line-height: 1.65; }
.terms-claims svg { flex: none; width: 1.5rem; height: 1.5rem; margin-top: .05rem; padding: .2rem; border-radius: 9999px; background: var(--color-brand, #09563c); color: #fff; }

.terms-acc { border-bottom: 1px solid var(--color-line, #e6e1d3); }
.terms-acc details { border-top: 1px solid var(--color-line, #e6e1d3); }
.terms-acc summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.25rem; padding: .75rem 0; cursor: pointer; list-style: none; }
.terms-acc summary::-webkit-details-marker { display: none; }
.terms-acc summary::after { content: ""; flex: none; width: .55rem; height: .55rem; margin-left: .25rem; border-right: 2px solid var(--color-navy, #083768); border-bottom: 2px solid var(--color-navy, #083768); transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s ease; }
.terms-acc details[open] > summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.terms-acc summary:focus-visible { outline: 2px solid var(--color-navy, #083768); outline-offset: 2px; border-radius: .25rem; }
.terms-title { flex: 1; font-weight: 600; font-size: 1rem; line-height: 1.4; color: var(--color-navy, #083768); }
.terms-chip { flex: none; padding: .2rem .65rem; border: 1px solid var(--color-gold, #c9a043); border-radius: 9999px; background: var(--color-ivory, #f8f6ef); font-size: .75rem; font-weight: 600; color: var(--color-gold-deep, #8a6a22); white-space: nowrap; }
.terms-body { padding: 0 0 1.25rem; color: var(--color-neutral-700, #404040); line-height: 1.7; }
.terms-body p { margin: 0 0 .75rem; }
.terms-body ul, .terms-body ol { display: flex; flex-direction: column; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.terms-body ol { counter-reset: t; }
.terms-body li { position: relative; padding-left: 1.4rem; }
.terms-body ul li::before { content: ""; position: absolute; left: .15rem; top: .7em; width: .4rem; height: .4rem; border-radius: 9999px; background: var(--color-gold, #c9a043); }
.terms-body ol li { counter-increment: t; }
.terms-body ol li::before { content: counter(t) "."; position: absolute; left: 0; font-weight: 600; color: var(--color-brand, #09563c); }
.terms-body strong { font-weight: 600; color: var(--color-navy, #083768); }
@media (max-width: 480px) { .terms-acc summary { align-items: flex-start; } .terms-chip { margin-top: .1rem; } }
@media (prefers-reduced-motion: reduce) { .terms-acc summary::after { transition: none; } }

/* Daftar isi di kolom kiri (desktop): tautan ke tiap bagian. */
.terms-toc { display: flex; flex-direction: column; border-left: 2px solid var(--color-line, #e6e1d3); }
.terms-toc a { margin-left: -2px; padding: .4rem .9rem; border-left: 2px solid transparent; font-size: .875rem; line-height: 1.4; color: var(--color-neutral-600, #525252); text-decoration: none; }
.terms-toc a:hover { color: var(--color-navy, #083768); border-left-color: var(--color-gold, #c9a043); }
.terms-toc a:focus-visible { outline: 2px solid var(--color-navy, #083768); outline-offset: 2px; }
.terms-acc details { scroll-margin-top: 6rem; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Pengganti kelas Tailwind yang tidak ada di build: loncatan jangkar dan jendela konfirmasi. */
#jalur-pendaftaran, #tt-pernyataan { scroll-margin-top: 6rem; }
.terms-modal-card { max-height: 90vh; }
@media (min-width: 640px) { .terms-modal-actions { justify-content: flex-end; } }
