/**
 * campus-iso.css — peta isometrik 3D per kampus (assets/campus-iso.js) di halaman Peta Kampus (Tamalanrea, Gowa).
 * Token dari single-article.css: --crimson, --ink, --body, --muted, --line, --paper-2, --serif.
 * Krimson hanya untuk keadaan aktif (gedung terpilih, tombol sorot aktif, tautan).
 * Selektor diawali .uh-ci (spesifisitas 0,2,0) supaya menang atas aturan artikel .uh-art-content p/ul/li/a/h3.
 */
/* Tanpa JS (atau data gagal dimuat) seluruh group disembunyikan: judul & pengantarnya menjanjikan peta. */
.uh-campus-iso:not(.is-enhanced){display:none;}
/* group alignwide (1080 px): judul & pengantar tetap sejajar kolom teks 740 px, hanya peta yang lebar */
.uh-art-content .wp-block-group.uh-campus-iso{margin-top:2em;}
.uh-art-content .uh-campus-iso > h3,.uh-art-content .uh-campus-iso > p{max-width:740px;margin-left:auto;margin-right:auto;}
.uh-art-content .uh-campus-iso > h3:first-child{margin-top:0;}

.uh-ci{
	--ci-crimson:var(--crimson,#A51C30);--ci-ink:var(--ink,#1d1d1b);--ci-body:var(--body,#33332f);
	--ci-muted:var(--muted,#6c6c68);--ci-line:var(--line,#e3e0da);--ci-paper2:var(--paper-2,#f7f5f1);
	--ci-serif:var(--serif,"Source Serif 4",Georgia,serif);
	position:relative;margin:0 0 1.25em;color:var(--ci-body);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5;
}
.uh-ci *,.uh-ci *::before,.uh-ci *::after{box-sizing:border-box;}
.uh-ci .uh-ci-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.uh-ci button{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;}

/* bilah atas: pencarian + sorot kategori */
.uh-ci .uh-ci-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0 0 12px;}
.uh-ci .uh-ci-search{position:relative;flex:1 1 260px;max-width:380px;}
.uh-ci .uh-ci-q{width:100%;height:44px;margin:0;padding:0 12px 0 38px;border:1px solid var(--ci-line);border-radius:2px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236c6c68' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5'/%3E%3Cpath d='M13 13l4 4'/%3E%3C/svg%3E") no-repeat 12px 50%/18px;box-shadow:none;font:inherit;font-size:16px;line-height:normal;color:var(--ci-ink);-webkit-appearance:none;appearance:none;}
.uh-ci .uh-ci-q:focus{outline:2px solid var(--ci-crimson);outline-offset:-1px;border-color:transparent;box-shadow:none;}
.uh-ci .uh-ci-res{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:340px;margin:0;padding:4px 0;overflow:auto;list-style:none;background:#fff;border:1px solid var(--ci-line);box-shadow:0 8px 24px rgba(29,29,27,.12);}
.uh-ci .uh-ci-res[hidden]{display:none;}
.uh-ci .uh-ci-opt{display:flex;flex-direction:column;gap:1px;margin:0;padding:8px 14px;cursor:pointer;}
.uh-ci .uh-ci-opt[aria-selected="true"],.uh-ci .uh-ci-opt:hover{background:var(--ci-paper2);}
.uh-ci .uh-ci-opt[aria-selected="true"] .uh-ci-on{color:var(--ci-crimson);}
.uh-ci .uh-ci-on{font-family:var(--ci-serif);font-size:17px;line-height:1.3;color:var(--ci-ink);}
.uh-ci .uh-ci-oc{font-size:12.5px;line-height:1.4;color:var(--ci-muted);}
.uh-ci .uh-ci-empty{margin:0;padding:10px 14px;color:var(--ci-muted);}
.uh-ci .uh-ci-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.uh-ci .uh-ci-flab{margin-right:4px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ci-muted);}
.uh-ci .uh-ci-chip{min-height:34px;margin:0;padding:0 13px;border:1px solid var(--ci-line);border-radius:999px;background:#fff;font-size:14px;line-height:1;color:var(--ci-ink);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;}
.uh-ci .uh-ci-chip:hover,.uh-ci .uh-ci-chip:focus{background:#fff;border-color:#c9c4ba;color:var(--ci-ink);}
.uh-ci .uh-ci-chip[hidden]{display:none;}
.uh-ci .uh-ci-chip[aria-pressed="true"]{background:var(--ci-crimson);border-color:var(--ci-crimson);color:#fff;}

/* panggung peta */
.uh-ci .uh-ci-view{position:relative;}
.uh-ci .uh-ci-stage{position:relative;height:clamp(420px,66vh,700px);overflow:hidden;border:1px solid var(--ci-line);background:radial-gradient(ellipse at 50% 42%,#fbfaf7 0,#f1eee8 70%,#ebe7df 100%);touch-action:pan-x pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
.uh-ci .uh-ci-stage:focus{outline:none;}
.uh-ci .uh-ci-stage:focus-visible{outline:2px solid var(--ci-crimson);outline-offset:2px;}
.uh-ci .uh-ci-stage.is-hot{cursor:pointer;}
.uh-ci .uh-ci-stage.is-drag{cursor:grabbing;}
.uh-ci .uh-ci-stage canvas{position:absolute;inset:0;display:block;max-width:none;}

.uh-ci .uh-ci-ctrl{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ci-line);box-shadow:0 1px 3px rgba(29,29,27,.08);}
.uh-ci .uh-ci-btn{display:grid;place-items:center;width:40px;height:40px;min-height:0;margin:0;padding:0;border:0;border-top:1px solid var(--ci-line);border-radius:0;background:#fff;color:var(--ci-ink);cursor:pointer;}
.uh-ci .uh-ci-btn:first-child{border-top:0;}
.uh-ci .uh-ci-btn:nth-child(3),.uh-ci .uh-ci-btn:last-child{border-top-width:4px;border-top-color:var(--ci-paper2);}
.uh-ci .uh-ci-btn:hover,.uh-ci .uh-ci-btn:focus{background:var(--ci-paper2);color:var(--ci-ink);}
.uh-ci .uh-ci-compass{position:absolute;right:12px;bottom:36px;width:44px;height:44px;min-height:0;margin:0;padding:0;border:1px solid var(--ci-line);border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(29,29,27,.08);cursor:pointer;}
.uh-ci .uh-ci-compass:hover,.uh-ci .uh-ci-compass:focus{background:#fff;}
.uh-ci .uh-ci-needle{position:absolute;inset:0;width:100%;height:100%;fill:var(--ci-crimson);}
.uh-ci .uh-ci-nl{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;font-size:10px;font-weight:700;line-height:12px;text-align:center;color:var(--ci-ink);}
.uh-ci .uh-ci-btn:focus-visible,.uh-ci .uh-ci-compass:focus-visible,.uh-ci .uh-ci-chip:focus-visible,.uh-ci .uh-ci-x:focus-visible,.uh-ci .uh-ci-maps:focus-visible{outline:2px solid var(--ci-crimson);outline-offset:2px;}

.uh-ci .uh-ci-tip{position:absolute;top:0;left:0;z-index:5;max-width:260px;padding:4px 8px;border-radius:2px;background:var(--ci-ink);color:#fff;font-size:13px;line-height:1.35;pointer-events:none;opacity:0;transition:opacity .12s ease;}
.uh-ci .uh-ci-tip.is-on{opacity:1;}
.uh-ci .uh-ci-hint{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(29,29,27,.42);color:#fff;font-size:17px;font-weight:500;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s ease;}
.uh-ci .uh-ci-hint.is-on{opacity:1;}
.uh-ci .uh-ci-attr{position:absolute;left:0;bottom:0;max-width:calc(100% - 70px);margin:0;padding:3px 8px;background:rgba(255,255,255,.8);font-size:11px;line-height:1.4;color:var(--ci-muted);}
.uh-ci .uh-ci-attr a{color:inherit;text-decoration:underline;}
.uh-ci .uh-ci-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:var(--ci-muted);}
.uh-ci .uh-ci-status[hidden]{display:none;}

/* kartu gedung: menumpang di kiri atas peta (layar lebar), di bawah peta (layar sempit) */
.uh-ci .uh-ci-card{position:relative;margin-top:12px;padding:12px 44px 12px 16px;border-left:2px solid var(--ci-crimson);background:#fff;}
.uh-ci .uh-ci-card[hidden]{display:none;}
.uh-ci .uh-ci-cat{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;color:var(--ci-muted);}
.uh-ci .uh-ci-name{margin:0 0 6px;font-family:var(--ci-serif);font-size:21px;line-height:1.25;font-weight:600;color:var(--ci-ink);}
.uh-ci .uh-ci-meta{margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--ci-body);}
.uh-ci .uh-ci-maps{display:inline-flex;align-items:center;min-height:36px;font-size:15px;color:var(--ci-crimson);text-decoration:underline;text-underline-offset:3px;}
.uh-ci .uh-ci-x{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:36px;height:36px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ci-muted);cursor:pointer;}
.uh-ci .uh-ci-x:hover,.uh-ci .uh-ci-x:focus{background:transparent;color:var(--ci-ink);}
@media (min-width:760px){
	.uh-ci .uh-ci-card{position:absolute;z-index:4;top:14px;left:14px;width:300px;margin:0;box-shadow:0 6px 22px rgba(29,29,27,.12);}
}
@media (max-width:560px){
	.uh-ci .uh-ci-stage{height:clamp(380px,64vh,540px);}
	.uh-ci .uh-ci-flab{width:100%;}
	.uh-ci .uh-ci-search{max-width:none;}
	.uh-ci .uh-ci-btn{width:38px;height:38px;}
}
@media (prefers-reduced-motion:reduce){
	.uh-ci .uh-ci-tip,.uh-ci .uh-ci-hint,.uh-ci .uh-ci-chip{transition:none;}
}
