/* Footer situs utama — SAMA di semua halaman domain utama (14 Nov 2026), warna tema "Akademik".
   Markup: scripts/templat/footer-beranda.html → node scripts/sync-footer.mjs. Jangan sunting <footer data-nls-footer> di halaman.
   Warna & huruf HANYA dari token /lib/nls-tema.css (var(--nls-*)); mode gelap otomatis lewat token html.dark.
   Selektor diawali :root #kontak.nlsf supaya menang dari aturan umum halaman/theme.css (html.dark footer#kontak ...). */
:root #kontak.nlsf {
    display: block; width: 100%; margin: 0; scroll-margin-top: 5rem;
    background: var(--nls-footer) !important; background-image: none !important; border: 0 !important;
    color: var(--nls-footer-ink) !important; text-align: left;
    font-family: var(--nls-font) !important;
    font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased;
}
:root #kontak.nlsf *, :root #kontak.nlsf *::before, :root #kontak.nlsf *::after { box-sizing: border-box; }
:root #kontak.nlsf h2, :root #kontak.nlsf h3, :root #kontak.nlsf p, :root #kontak.nlsf ul { margin: 0; padding: 0; }
:root #kontak.nlsf ul { list-style: none; }
:root #kontak.nlsf svg { display: block; flex-shrink: 0; }
:root #kontak.nlsf a { text-decoration: none; color: var(--nls-footer-link) !important; transition: color .15s ease; }
:root #kontak.nlsf a:hover { color: var(--nls-footer-icon) !important; }
:root #kontak.nlsf p, :root #kontak.nlsf span, :root #kontak.nlsf div, :root #kontak.nlsf li { color: var(--nls-footer-ink) !important; }
:root #kontak.nlsf a span { color: inherit !important; }

:root #kontak.nlsf .nlsf-wrap { max-width: 1400px; margin: 0 auto; padding: 48px 16px; }
:root #kontak.nlsf .nlsf-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
:root #kontak.nlsf .nlsf-brand, :root #kontak.nlsf .nlsf-col { min-width: 0; }

:root #kontak.nlsf .nlsf-title {
    font-family: var(--nls-font-heading) !important; font-size: 25px; line-height: 32px; font-weight: 700; letter-spacing: 0;
    color: var(--nls-footer-head) !important; margin-bottom: 16px;
}
:root #kontak.nlsf .nlsf-desc { font-size: 14px; line-height: 1.625; max-width: 28rem; margin-bottom: 24px; }
:root #kontak.nlsf .nlsf-social { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
:root #kontak.nlsf .nlsf-round {
    width: 40px; height: 40px; border-radius: var(--nls-radius-pill); border: 0; padding: 0; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--nls-footer-round) !important; color: var(--nls-footer-head) !important;
    transition: transform .15s ease, background-color .15s ease;
}
:root #kontak.nlsf .nlsf-round:hover { background: var(--nls-footer-round-hover) !important; transform: scale(1.05); }
:root #kontak.nlsf .nlsf-round svg { width: 20px; height: 20px; color: var(--nls-footer-head); }

:root #kontak.nlsf .nlsf-head {
    font-family: var(--nls-font-heading) !important; font-size: 17px; line-height: 24px; font-weight: 600;
    color: var(--nls-footer-head) !important; margin-bottom: 16px;
}
:root #kontak.nlsf .nlsf-links { display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 20px; font-weight: 500; }
:root #kontak.nlsf .nlsf-strong { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }

:root #kontak.nlsf .nlsf-contact { display: flex; flex-direction: column; gap: 14px; font-size: 14px; line-height: 20px; }
:root #kontak.nlsf .nlsf-row { display: flex; align-items: flex-start; gap: 10px; }
:root #kontak.nlsf .nlsf-row--mid { align-items: center; }
:root #kontak.nlsf .nlsf-ico { width: 20px; height: 20px; color: var(--nls-footer-icon); }
:root #kontak.nlsf .nlsf-row:not(.nlsf-row--mid) .nlsf-ico { margin-top: 2px; }
:root #kontak.nlsf .nlsf-phones { display: flex; flex-direction: column; gap: 4px; }
:root #kontak.nlsf .nlsf-phones a, :root #kontak.nlsf .nlsf-row--mid a:not(.nlsf-plain) { font-weight: 500; }
:root #kontak.nlsf .nlsf-contact a:hover { text-decoration: underline; }
:root #kontak.nlsf .nlsf-row--mid a { word-break: break-word; }

:root #kontak.nlsf .nlsf-line { border-top: 1px solid var(--nls-footer-line); margin: 32px 0; height: 0; }
:root #kontak.nlsf .nlsf-bottom {
    display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 16px;
    font-size: 12px; line-height: 16px; font-weight: 500; text-align: center;
}
:root #kontak.nlsf .nlsf-legal { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; justify-content: center; }

@media (min-width: 640px) {
    :root #kontak.nlsf .nlsf-bottom { flex-direction: row; text-align: left; }
}
@media (min-width: 768px) {
    :root #kontak.nlsf .nlsf-wrap { padding: 64px 24px; }
    :root #kontak.nlsf .nlsf-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    :root #kontak.nlsf .nlsf-brand { grid-column: span 5 / span 5; }
    :root #kontak.nlsf .nlsf-col { grid-column: span 3 / span 3; }
    :root #kontak.nlsf .nlsf-col:last-child { grid-column: span 4 / span 4; }
    :root #kontak.nlsf .nlsf-title { font-size: 27px; line-height: 1.3; }
    :root #kontak.nlsf .nlsf-desc { font-size: 15px; }
    :root #kontak.nlsf .nlsf-head { font-size: 18px; line-height: 28px; }
    :root #kontak.nlsf .nlsf-bottom { font-size: 14px; line-height: 20px; }
}
@media (min-width: 1024px) {
    :root #kontak.nlsf .nlsf-grid { gap: 48px; }
}
:root.dark #kontak.nlsf { border-top: 1px solid var(--nls-footer-line) !important; }
