/* ============================================================
   Program studi — halaman tunggal (single-study-program.php), daftar [uh_study_programs]
   (/program/, /pilihan-program/, /program-studi/) dan arsip /study-program/.
   Dimuat hanya di konteks itu (uh_sp_needs_assets()). Token dari single-article.css (.uh-page):
   --crimson, --ink, --body, --muted, --line, --paper-2, --serif. Tanpa kartu: ritme tipografi,
   heading serif, daftar bergaris hairline; krimson hanya untuk tombol utama & hover.
   ============================================================ */

.uh-sp-list [hidden],.uh-sp-single [hidden]{display:none !important;}

/* ---------- Halaman tunggal ---------- */
/* Tanpa foto (prodi tak punya gambar unggulan): hero polos krimson lebih pendek dari hero halaman. */
/* Berkas ini hanya dimuat di halaman prodi, arsip, dan halaman daftar → hero dipendekkan di ketiganya. */
.uh-page > .uh-art-hero{min-height:clamp(220px,26vw,340px);}
.uh-art-hero .uh-sp-meta{margin:18px 0 0;font-size:15px;}
.uh-sp-content > .uh-sp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 .4em;padding:0 0 26px;border-bottom:1px solid var(--line);}
.uh-sp-content .uh-sp-site{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 22px;border-radius:999px;background:var(--crimson);color:#fff;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;transition:background-color .15s ease;}
.uh-sp-content .uh-sp-site::after{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3h7v7M13 3 3.5 12.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3h7v7M13 3 3.5 12.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.uh-sp-content .uh-sp-site:hover{background:var(--crimson-dk);color:#fff;}
.uh-sp-host{font-size:14px;color:var(--muted);overflow-wrap:anywhere;}
.uh-sp-content .uh-sp-sec{margin:0;}
.uh-sp-content .uh-sp-sec > h2{scroll-margin-top:96px;}
.uh-sp-content .uh-sp-sec > :last-child{margin-bottom:0;}
.uh-sp-content .uh-sp-sec > * + *{margin-top:0;}
.uh-sp-content .uh-sp-sec p,.uh-sp-content .uh-sp-sec ul,.uh-sp-content .uh-sp-sec ol{margin:0 0 1em;}
.uh-sp-more{color:var(--muted);}

/* Program lain di fakultas yang sama */
.uh-sp-related{margin:clamp(40px,6vw,64px) 0 0;padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--line);}
.uh-sp-related-h{font-family:var(--serif);font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;}
.uh-sp-related .uh-sp-rel-lv{margin:24px 0 2px;padding:0 0 8px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.3;font-weight:600;color:var(--ink);}

/* Daftar bergaris (dipakai daftar utama & "program lain") */
.uh-sp-items{list-style:none;margin:0;padding:0;}
.uh-art-content .uh-sp-items{padding-left:0;margin:0;}
.uh-sp-items > li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.4;break-inside:avoid;-webkit-column-break-inside:avoid;}
/* Seluruh baris = target klik (≥ 40 px). */
.uh-sp-items > li > a{flex:1 1 auto;display:block;box-sizing:border-box;min-height:40px;padding:9px 0;}
.uh-art-content .uh-sp-items > li{margin:0;}
.uh-sp-items a{color:var(--ink);text-decoration:none;}
.uh-art-content .uh-sp-items a,.uh-sp-related .uh-sp-items a{color:var(--ink);text-decoration:none;}
.uh-sp-items a:hover,.uh-art-content .uh-sp-items a:hover{color:var(--crimson);text-decoration:underline;text-underline-offset:3px;}
.uh-sp-lvl{flex:none;font-size:13px;color:var(--muted);white-space:nowrap;}
.uh-sp-items--cols{columns:2 240px;column-gap:36px;}

.uh-sp-all{margin:28px 0 0;font-size:16px;}
.uh-sp-all a{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);}
.uh-sp-all a::after{content:"\2192";font-weight:400;}
.uh-sp-all a:hover{color:var(--crimson);border-color:var(--crimson);}

/* ---------- Daftar program [uh_study_programs] ---------- */
.uh-sp-list{margin:1.5em 0 2em;}
.uh-sp-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.uh-art-content .uh-sp-toc ul{padding-left:0;}
.uh-sp-toc li{margin:0;font-size:15px;line-height:1.3;}
.uh-art-content .uh-sp-toc li{margin:0;}
.uh-sp-toc a{display:inline-flex;align-items:center;min-height:40px;color:var(--ink);font-weight:600;text-decoration:none;}
.uh-art-content .uh-sp-toc a{color:var(--ink);text-decoration:none;}
.uh-sp-toc a:hover{color:var(--crimson);text-decoration:underline;}
.uh-sp-toc .uh-sp-n{color:var(--muted);font-size:14px;}
.uh-sp-list.is-enhanced .uh-sp-toc{display:none;}

.uh-sp-level{margin:clamp(36px,5vw,56px) 0 0;padding-top:clamp(18px,2.4vw,24px);border-top:1px solid var(--ink);scroll-margin-top:96px;}
.uh-sp-list.is-enhanced .uh-sp-level.is-first{margin-top:clamp(24px,3vw,32px);}
.uh-art-content .uh-sp-level-h,.uh-sp-level-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 clamp(18px,2.4vw,26px);font-family:var(--serif);font-size:clamp(26px,3.2vw,32px);line-height:1.15;font-weight:600;letter-spacing:-.015em;color:var(--ink);}
.uh-sp-level-h .uh-sp-n{font-family:inherit;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);}
.uh-sp-facs{columns:3 280px;column-gap:clamp(28px,3.4vw,48px);}
.uh-sp-fac{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 30px;}
.uh-art-content .uh-sp-fac-h,.uh-sp-fac-h{margin:0;padding:0 0 8px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.3;font-weight:600;letter-spacing:0;color:var(--ink);}
.uh-sp-fac .uh-sp-items > li{font-size:15.5px;}

/* Alat saring (dibuat assets/study-program.js) */
.uh-sp-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;}
.uh-sp-tools label,.uh-sp-flabel{display:block;margin:0 0 8px;font-size:14px;line-height:1.3;color:var(--muted);}
.uh-sp-search input{box-sizing:border-box;width:100%;max-width:560px;min-height:48px;margin:0;padding:10px 14px 10px 44px;border:1px solid #bdb8ae;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.75' fill='none' stroke='%236c6c68' stroke-width='1.6'/%3E%3Cpath d='m13 13 4.5 4.5' stroke='%236c6c68' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 14px center/19px no-repeat;font:inherit;font-size:17px;line-height:1.3;color:var(--ink);box-shadow:none;}
.uh-sp-search input::placeholder{color:#8b877f;opacity:1;}
.uh-sp-search input:focus{border-color:var(--ink);outline:none;box-shadow:none;}
.uh-sp-seg{display:inline-flex;flex-wrap:wrap;gap:2px;max-width:100%;padding:3px;border:1px solid var(--line);border-radius:22px;}
.uh-sp-opt{appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:8px 14px;border:0;border-radius:999px;background:transparent;font:inherit;font-size:15px;line-height:1.2;color:var(--body);cursor:pointer;transition:background-color .15s ease,color .15s ease;}
.uh-sp-opt .uh-sp-c{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;}
@media (hover:hover){.uh-sp-opt:hover{background:var(--paper-2);color:var(--ink);}}
.uh-sp-opt[aria-checked="true"],.uh-sp-opt[aria-checked="true"]:hover{background:var(--ink);color:#fff;}
.uh-sp-opt[aria-checked="true"] .uh-sp-c{color:#d9d6cf;}
.uh-sp-opt[data-count="0"]:not([aria-checked="true"]){color:#9a968e;}
.uh-sp-status{margin:0;font-size:14px;color:var(--muted);}
.uh-sp-empty{margin:28px 0 0;font-size:17px;color:var(--body);}
.uh-sp-reset{appearance:none;display:inline-flex;align-items:center;min-height:40px;margin:8px 0 0;padding:8px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:none;font:inherit;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;}
.uh-sp-reset:hover{color:var(--crimson);border-color:var(--crimson);background:none;}

/* Fokus terlihat */
.uh-sp-search input:focus-visible{outline:2px solid var(--crimson);outline-offset:2px;}
.uh-sp-opt:focus-visible,.uh-sp-reset:focus-visible,.uh-sp-items a:focus-visible,.uh-sp-toc a:focus-visible,.uh-sp-all a:focus-visible,.uh-sp-site:focus-visible{outline:2px solid var(--crimson);outline-offset:3px;}

@media (max-width:781px){
  /* Kapsul yang terpecah beberapa baris terlihat janggal: di layar sempit jadi tombol terpisah. */
  .uh-sp-seg{display:flex;gap:8px;padding:0;border:0;border-radius:0;}
  .uh-sp-opt{padding:8px 13px;border:1px solid var(--line);}
  .uh-sp-opt[aria-checked="true"]{border-color:var(--ink);}
  .uh-sp-search input{max-width:none;}
}
@media (max-width:760px){
  /* Gutter sisi (single-article.css memberi 18px pada .uh-art-body; hero dikecualikan). */
  .uh-sp-list.alignwide{width:auto;margin-left:0;transform:none;}
}

@media (prefers-reduced-motion:reduce){
  .uh-sp-opt,.uh-sp-site{transition:none;}
  .uh-sp-level,.uh-sp-sec > h2{scroll-margin-top:96px;}
}
