/* ==========================================================================
   PMB UNAMA - tampilan pendaftaran, Halaman Pendaftar & Registrasi Ulang
   Semua class diawali "pmb-" agar tidak mengubah halaman lain.
   Palet diambil dari gambar acuan tampilan PMB: pink #f82a63 sebagai warna utama,
   merah anggur sebagai nada kedua dan latar gelap, emas untuk sorotan, abu netral
   untuk teks. Ubah warna di sini saja.
   ========================================================================== */

:root {
    --pmb-pink: #f82a63;          /* warna utama: tombol, aksen, tanda aktif */
    --pmb-pink-gelap: #e0144d;    /* hover tombol, teks & tautan pink di atas putih */
    --pmb-pink-terang: #ff9fb9;   /* aksen pink di atas latar gelap */
    --pmb-pink-muda: #fdedf0;     /* latar ikon & sorotan lembut */
    --pmb-pink-pudar: #fbc3d1;    /* garis tepi berwarna */
    --pmb-anggur: #9c1742;        /* nada kedua (ikon, garis kartu) */
    --pmb-anggur-tua: #6e1232;    /* latar gelap */
    --pmb-anggur-gelap: #550d2a;  /* latar paling gelap */
    --pmb-judul: #111827;         /* judul & teks gelap */
    --pmb-emas: #fabd30;          /* sorotan judul hero */
    --pmb-hero: #c2185b;          /* latar hero beranda: pink tua polos (teks putih 5.9:1) */
    --pmb-hero-sorot: #ffe14d;    /* sorotan judul hero: kuning logo (4.5:1 di atas --pmb-hero) */
    --pmb-pink-rgb: 248, 42, 99;       /* untuk rgba(): sama dengan --pmb-pink */
    --pmb-bayangan-rgb: 17, 24, 39;     /* bayangan abu gelap */
}

.pmb-wrap { padding: 0 15px; }
.pmb-wrap .row { margin-left: -10px; margin-right: -10px; }
.pmb-wrap [class*="col-"] { padding-left: 10px; padding-right: 10px; }

/* ---------- Hero / judul halaman ---------- */
.pmb-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 22px 24px;
    border-radius: 10px;
    color: #fff;
    background: var(--pmb-pink);
    background: linear-gradient(120deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 55%, var(--pmb-pink) 100%);
    box-shadow: 0 6px 18px rgba(var(--pmb-bayangan-rgb), .25);
}
.pmb-hero:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 5px;
    background: var(--pmb-pink);
}
.pmb-hero-logo { float: left; width: 56px; margin-right: 16px; }
.pmb-hero-logo img { width: 100%; height: auto; filter: drop-shadow(0 2px 3px rgba(0,0,0,.25)); }
.pmb-hero h1, .pmb-hero h2 { margin: 2px 0 6px; font-size: 24px; font-weight: 700; color: #fff; }
.pmb-hero p { margin: 0; opacity: .92; }
.pmb-hero .pmb-hero-actions { margin-top: 14px; }

/* ---------- Kartu ---------- */
.pmb-card {
    background: #fff;
    border: 1px solid #e8eaee;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(var(--pmb-bayangan-rgb), .06);
    margin-bottom: 20px;
}
.pmb-card-body { padding: 20px 22px; }
.pmb-card-head {
    padding: 14px 22px;
    border-bottom: 1px solid #f0f1f4;
    border-radius: 10px 10px 0 0;
    background: #f9fafb;
}
.pmb-card-head h3, .pmb-card-head h4 { margin: 0; font-size: 17px; font-weight: 700; color: var(--pmb-judul); }
.pmb-card-head h3 .glyphicon, .pmb-card-head h4 .glyphicon { color: var(--pmb-pink); margin-right: 6px; }
.pmb-card-head small { display: block; margin-top: 3px; color: #727985; font-size: 12px; }

/* ---------- Bagian form bernomor ---------- */
.pmb-section { margin-bottom: 20px; }
.pmb-section-head { display: table; width: 100%; margin-bottom: 14px; }
.pmb-section-num {
    display: table-cell;
    width: 46px;
    vertical-align: middle;
}
.pmb-section-num span {
    display: inline-block;
    width: 34px; height: 34px;
    line-height: 34px;
    border-radius: 50%;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background: var(--pmb-pink);
    box-shadow: 0 3px 8px rgba(var(--pmb-pink-rgb), .35);
}
.pmb-section-title { display: table-cell; vertical-align: middle; }
.pmb-section-title h4 { margin: 0; font-size: 16px; font-weight: 700; color: var(--pmb-judul); }
.pmb-section-title small { color: #727985; }

/* ---------- Kontrol form ---------- */
.pmb-form .form-control,
.pmb-form .input-group-addon {
    border-radius: 6px;
}
.pmb-form .form-control {
    height: 40px;
    border-color: #dfe2e7;
    box-shadow: none;
}
.pmb-form textarea.form-control { height: auto; }
.pmb-form .form-control:focus {
    border-color: var(--pmb-pink);
    box-shadow: 0 0 0 3px rgba(var(--pmb-pink-rgb), .15);
}
.pmb-form .input-group .form-control:first-child,
.pmb-form .input-group .input-group-addon:first-child { border-radius: 6px 0 0 6px; }
.pmb-form .input-group .form-control:last-child,
.pmb-form .input-group .input-group-addon:last-child { border-radius: 0 6px 6px 0; }
.pmb-form .input-group-addon { background: #fdf3f4; border-color: #dfe2e7; color: var(--pmb-pink); }
.pmb-form label { font-weight: 600; color: #4b5563; }
.pmb-form .radio-inline, .pmb-form .checkbox-inline { font-weight: 400; }
.pmb-form .help-block { font-size: 12px; color: #727985; }
.pmb-form .text-danger { font-size: 12px; }
.pmb-req { color: var(--pmb-pink); }

/* pilihan radio bergaya tombol */
.pmb-choice { display: inline-block; margin: 0 8px 8px 0; }
.pmb-choice input { position: absolute; opacity: 0; }
.pmb-choice span {
    display: inline-block;
    min-width: 90px;
    padding: 8px 16px;
    border: 1px solid #dfe2e7;
    border-radius: 20px;
    text-align: center;
    color: #4b5563;
    background: #fff;
    cursor: pointer;
    transition: all .15s;
}
.pmb-choice input:checked + span {
    border-color: var(--pmb-pink);
    background: var(--pmb-pink);
    color: #fff;
    box-shadow: 0 3px 8px rgba(var(--pmb-pink-rgb), .3);
}
.pmb-choice input:focus + span { box-shadow: 0 0 0 3px rgba(var(--pmb-pink-rgb), .2); }

/* area upload berkas */
.pmb-file {
    position: relative;
    margin-bottom: 14px;
    padding: 14px 16px;
    border: 2px dashed #dde1e6;
    border-radius: 8px;
    background: #fbfbfc;
    transition: border-color .15s, background .15s;
}
.pmb-file:hover { border-color: var(--pmb-pink); background: #fdf3f4; }
.pmb-file.is-filled { border-style: solid; border-color: #2e9d5b; background: #f3fbf6; }
.pmb-file label { display: block; margin-bottom: 4px; }
.pmb-file .pmb-file-hint { display: block; font-size: 12px; color: #727985; margin-bottom: 8px; }
.pmb-file input[type=file] { max-width: 100%; }
.pmb-file .pmb-file-name { display: none; margin-top: 6px; font-size: 12px; color: #2e9d5b; font-weight: 600; }
.pmb-file.is-filled .pmb-file-name { display: block; }

/* ---------- Tombol ---------- */
.btn.pmb-btn {
    border: 0;
    border-radius: 24px;
    padding: 10px 22px;
    font-weight: 600;
    background-image: none;
    text-shadow: none;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
}
.btn.pmb-btn-sm { padding: 6px 14px; font-size: 13px; }
.btn.pmb-btn-primary { background: var(--pmb-pink); color: #fff; }
.btn.pmb-btn-primary:hover, .btn.pmb-btn-primary:focus { background: var(--pmb-pink-gelap); color: #fff; }
.btn.pmb-btn-accent { background: var(--pmb-pink); color: #fff; }
.btn.pmb-btn-accent:hover, .btn.pmb-btn-accent:focus { background: var(--pmb-pink-gelap); color: #fff; }
.btn.pmb-btn-light { background: #fff; color: var(--pmb-judul); border: 1px solid #dfe2e7; box-shadow: none; }
.btn.pmb-btn-light:hover, .btn.pmb-btn-light:focus { background: #f4f5f7; color: var(--pmb-judul); }
.btn.pmb-btn-ghost { background: rgba(255,255,255,.06); color: #fff; border: 1px solid rgba(255,255,255,.65); box-shadow: none; }
.btn.pmb-btn-ghost:hover, .btn.pmb-btn-ghost:focus { background: rgba(255,255,255,.16); color: #fff; }
.btn.pmb-btn[disabled] { opacity: .55; }

/* ---------- Status / badge ---------- */
.pmb-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    white-space: nowrap;
    vertical-align: middle;
}
.pmb-badge-success { background: #e3f6ea; color: #23804a; }
.pmb-badge-warning { background: #fff3d6; color: #a76a00; }
.pmb-badge-info    { background: var(--pmb-pink-muda); color: var(--pmb-pink-gelap); }
.pmb-badge-danger  { background: #fde7e9; color: #b52234; }
.pmb-badge-muted   { background: #f3f4f6; color: #6b7280; }

/* ---------- Catatan / petunjuk ---------- */
.pmb-note {
    margin-bottom: 18px;
    padding: 12px 16px;
    border-left: 4px solid var(--pmb-anggur);
    border-radius: 6px;
    background: #fef2f5;
    color: #4b5563;
}
.pmb-note-accent { border-left-color: var(--pmb-pink); background: var(--pmb-pink-muda); }
.pmb-note-warning { border-left-color: #f0ad4e; background: #fff8ea; }
.pmb-note-danger { border-left-color: #d9534f; background: #fdf0f0; }
.pmb-note-success { border-left-color: #2e9d5b; background: #eefaf2; }
.pmb-note strong:first-child { color: var(--pmb-judul); }
.pmb-note ol, .pmb-note ul { margin: 6px 0 0; padding-left: 20px; }
.pmb-note p:last-child { margin-bottom: 0; }

/* ---------- Langkah / progres ---------- */
.pmb-steps { display: flex; flex-wrap: wrap; margin: 0 0 20px; padding: 0; list-style: none; counter-reset: pmbstep; }
.pmb-step {
    position: relative;
    flex: 1 1 0;
    min-width: 110px;
    padding: 0 6px;
    text-align: center;
}
.pmb-step:before {
    content: "";
    position: absolute;
    top: 19px;
    left: -50%;
    width: 100%;
    height: 3px;
    background: #e8eaee;
    z-index: 0;
}
.pmb-step:first-child:before { display: none; }
.pmb-step .pmb-step-dot {
    position: relative;
    z-index: 1;
    display: inline-block;
    width: 40px; height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #e8eaee;
    color: #9ca3af;
    font-size: 16px;
    text-align: center;
}
.pmb-step .pmb-step-label { display: block; margin-top: 8px; font-size: 13px; font-weight: 600; color: #6b7280; }
.pmb-step .pmb-step-sub { display: block; font-size: 11px; color: #9ca3af; }
.pmb-step.is-done:before, .pmb-step.is-done + .pmb-step:before { background: #2e9d5b; }
.pmb-step.is-done .pmb-step-dot { background: #2e9d5b; border-color: #2e9d5b; color: #fff; }
.pmb-step.is-done .pmb-step-label { color: #23804a; }
.pmb-step.is-active .pmb-step-dot { border-color: var(--pmb-pink); color: var(--pmb-pink); box-shadow: 0 0 0 5px rgba(var(--pmb-pink-rgb), .15); }
.pmb-step.is-active .pmb-step-label { color: var(--pmb-pink); }
.pmb-step.is-wait .pmb-step-dot { border-color: #f0ad4e; color: #d58a0f; }
.pmb-step.is-wait .pmb-step-label { color: #b97a06; }
.pmb-step.is-warn .pmb-step-dot { border-color: #d9534f; color: #d9534f; }
.pmb-step.is-warn .pmb-step-label { color: #b52234; }

/* versi vertikal untuk panel samping */
.pmb-steps.pmb-steps-vertical { display: block; margin: 0; }
.pmb-steps-vertical .pmb-step { display: block; min-width: 0; padding: 0 0 12px; text-align: left; }
.pmb-steps-vertical .pmb-step:last-child { padding-bottom: 0; }
.pmb-steps-vertical .pmb-step:before { display: none; }
.pmb-steps-vertical .pmb-step .pmb-step-dot { width: 32px; height: 32px; line-height: 26px; margin-right: 10px; font-size: 13px; }
.pmb-steps-vertical .pmb-step .pmb-step-label { display: inline; margin: 0; }

/* keadaan kosong / informasi di tengah kartu */
.pmb-empty { padding: 40px 20px; text-align: center; }
.pmb-empty .pmb-tile-icon { width: 64px; height: 64px; line-height: 64px; font-size: 28px; }
.pmb-empty h3 { margin: 4px 0 8px; font-size: 20px; font-weight: 700; color: var(--pmb-judul); }
.pmb-empty p { margin-bottom: 16px; color: #6b7280; }
.pmb-empty .btn { margin: 4px; }

/* ---------- Profil pendaftar ---------- */
.pmb-profile { display: table; width: 100%; }
.pmb-profile-photo { display: table-cell; width: 112px; vertical-align: top; }
.pmb-profile-photo img {
    width: 96px; height: 120px;
    object-fit: cover;
    border-radius: 8px;
    border: 3px solid #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,.18);
    background: #fff;
}
.pmb-profile-info { display: table-cell; vertical-align: top; }
.pmb-profile-info h2 { margin: 0 0 4px; font-size: 22px; font-weight: 700; color: #fff; }
.pmb-meta { margin: 8px 0 0; padding: 0; list-style: none; }
.pmb-meta li { display: inline-block; margin: 0 14px 6px 0; font-size: 13px; opacity: .95; }
.pmb-meta .glyphicon { opacity: .8; margin-right: 4px; }
.pmb-nopen {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 6px;
    background: rgba(255,255,255,.18);
    font-family: Consolas, "Courier New", monospace;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
}
.pmb-nopen-big {
    display: inline-block;
    margin: 6px 0 10px;
    padding: 10px 18px;
    border: 2px dashed var(--pmb-pink);
    border-radius: 10px;
    background: #fff;
    color: var(--pmb-judul);
    font-family: Consolas, "Courier New", monospace;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* ---------- Menu kartu (tiles) ---------- */
/* flex agar tinggi kartu dalam satu baris sama dan tidak "menyangkut" seperti float Bootstrap 3 */
.pmb-tiles { display: flex; flex-wrap: wrap; margin-bottom: 10px; }
.pmb-tiles:before, .pmb-tiles:after { display: none; }
.pmb-tiles > [class*="col-"] { display: flex; }
.pmb-tiles .pmb-tile { width: 100%; }
.pmb-tile {
    position: relative;
    display: block;
    min-height: 150px;
    margin-bottom: 20px;
    padding: 18px 16px 16px;
    border: 1px solid #e8eaee;
    border-top: 4px solid var(--pmb-anggur);
    border-radius: 10px;
    background: #fff;
    color: #4b5563;
    box-shadow: 0 2px 10px rgba(var(--pmb-bayangan-rgb), .06);
    transition: transform .15s, box-shadow .15s, border-color .15s;
}
.pmb-tile:hover, .pmb-tile:focus {
    color: #4b5563;
    text-decoration: none;
    transform: translateY(-3px);
    border-top-color: var(--pmb-pink);
    box-shadow: 0 8px 20px rgba(var(--pmb-bayangan-rgb), .12);
}
.pmb-tile-icon {
    display: inline-block;
    width: 46px; height: 46px;
    line-height: 46px;
    margin-bottom: 10px;
    border-radius: 12px;
    text-align: center;
    font-size: 20px;
    color: var(--pmb-anggur);
    background: var(--pmb-pink-muda);
}
.pmb-tile:hover .pmb-tile-icon { color: #fff; background: var(--pmb-pink); }
.pmb-tile h4 { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: var(--pmb-judul); }
.pmb-tile p { margin: 0; font-size: 12px; color: #727985; line-height: 1.45; }
.pmb-tile .pmb-badge { position: absolute; top: 14px; right: 12px; }
.pmb-tile.is-disabled { cursor: not-allowed; opacity: .6; border-top-color: #d1d5db; }
.pmb-tile.is-disabled:hover { transform: none; box-shadow: 0 2px 10px rgba(var(--pmb-bayangan-rgb), .06); }
.pmb-tile.is-disabled:hover .pmb-tile-icon { color: var(--pmb-anggur); background: var(--pmb-pink-muda); }
.pmb-tile.is-primary { border-top-color: var(--pmb-pink); }
.pmb-tile.is-primary .pmb-tile-icon { color: #fff; background: var(--pmb-pink); }

/* ---------- Bar navigasi di dalam Halaman Pendaftar / Registrasi ---------- */
.pmb-portalbar {
    margin-bottom: 18px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e8eaee;
    box-shadow: 0 2px 8px rgba(var(--pmb-bayangan-rgb), .05);
}
.pmb-portalbar:after { content: ""; display: table; clear: both; }
.pmb-portalbar-who { float: left; padding-top: 6px; color: #4b5563; }
.pmb-portalbar-who img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; margin-right: 8px; vertical-align: middle; }
.pmb-portalbar-who strong { color: var(--pmb-judul); }
.pmb-portalbar-who code { margin-left: 6px; color: var(--pmb-pink); background: var(--pmb-pink-muda); }
.pmb-portalbar-nav { float: right; }
.pmb-portalbar-nav .btn { margin-left: 6px; }

.pmb-menu { margin: 0 0 18px; padding: 0; list-style: none; }
.pmb-menu:after { content: ""; display: table; clear: both; }
.pmb-menu li { float: left; margin: 0 8px 8px 0; }
.pmb-menu a {
    display: block;
    padding: 8px 14px;
    border: 1px solid #dfe2e7;
    border-radius: 20px;
    background: #fff;
    color: var(--pmb-judul);
    font-weight: 600;
    font-size: 13px;
}
.pmb-menu a:hover, .pmb-menu a:focus { text-decoration: none; border-color: var(--pmb-pink); background: #fef2f5; }
.pmb-menu li.active a { background: var(--pmb-pink); border-color: var(--pmb-pink); color: #fff; }
.pmb-menu .glyphicon { margin-right: 5px; }

/* ---------- Halaman masuk (login) ---------- */
.pmb-login { max-width: 460px; margin: 10px auto 30px; }
.pmb-login .pmb-card { overflow: hidden; }
.pmb-login-head {
    padding: 26px 24px 20px;
    text-align: center;
    color: #fff;
    background: var(--pmb-pink);
    background: linear-gradient(135deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 60%, var(--pmb-pink) 100%);
    border-bottom: 5px solid var(--pmb-pink);
}
.pmb-login-head img { width: 64px; height: auto; margin-bottom: 10px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.3)); }
.pmb-login-head h3 { margin: 0 0 4px; font-size: 20px; font-weight: 700; color: #fff; }
.pmb-login-head p { margin: 0; font-size: 13px; opacity: .9; }
.pmb-login .pmb-card-body { padding: 24px; }
.pmb-login-foot { padding: 14px 24px; border-top: 1px solid #f0f1f4; background: #f9fafb; font-size: 13px; text-align: center; }
.pmb-login-foot a { font-weight: 600; color: var(--pmb-pink-gelap); }

/* ---------- Tabel data ringkas ---------- */
.pmb-dl { margin: 0; }
.pmb-dl dt { float: left; clear: left; width: 42%; padding: 8px 0; font-weight: 600; color: #6b7280; border-bottom: 1px solid #f2f3f5; }
.pmb-dl dd { margin-left: 42%; padding: 8px 0 8px 10px; color: #374151; border-bottom: 1px solid #f2f3f5; min-height: 37px; }
.pmb-table { margin-bottom: 0; }
.pmb-table > thead > tr > th { border-bottom: 2px solid #e8eaee; color: var(--pmb-judul); font-size: 12px; text-transform: uppercase; letter-spacing: .4px; }
.pmb-table > tbody > tr > td { vertical-align: middle; }

/* nomor urut kecil di judul kartu menu */
.pmb-tile-num {
    display: inline-block;
    width: 20px; height: 20px;
    line-height: 20px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--pmb-pink);
    color: #fff;
    font-size: 11px;
    text-align: center;
    vertical-align: 2px;
}

/* ---------- Halaman Registrasi Ulang (template_registrasi) ---------- */
/* hanya berlaku di <body class="pmb-reg-body">, halaman lain tidak terpengaruh */
.pmb-reg-body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; }
/* isi form registrasi ulang tetap nyaman dibaca; kop & footer ikut lebar situs */
.pmb-reg-body .pmb-main > .container { max-width: 1180px; }
.pmb-reg-body .navbar-btn.pmb-btn { margin-top: 10px; margin-right: 0; }
.pmb-reg-body .panel {
    border: 1px solid #e8eaee;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(var(--pmb-bayangan-rgb), .06);
}
.pmb-reg-body .panel > .panel-heading {
    padding: 14px 20px;
    border-color: #f0f1f4;
    border-radius: 10px 10px 0 0;
    background: #f9fafb;
    background-image: none;
}
.pmb-reg-body .panel-title { font-size: 17px; font-weight: 700; color: var(--pmb-judul); }
.pmb-reg-body .panel-title .glyphicon { color: var(--pmb-pink); margin-right: 6px; }
.pmb-reg-body .panel-body { padding: 20px 22px; }
.pmb-reg-body .form-control { border-radius: 6px; }
.pmb-reg-body .alert { border-radius: 8px; }
.pmb-reg-body .btn-primary { background: var(--pmb-pink); border-color: var(--pmb-pink); background-image: none; }
.pmb-reg-body .btn-primary:hover, .pmb-reg-body .btn-primary:focus { background: var(--pmb-pink-gelap); border-color: var(--pmb-pink-gelap); }
.pmb-reg-body h4.text-primary {
    margin: 26px 0 0;
    padding-left: 10px;
    border-left: 4px solid var(--pmb-pink);
    font-weight: 700;
    color: var(--pmb-judul);
}
.pmb-reg-body .pmb-card-body > h4.text-primary:first-of-type { margin-top: 6px; }

/* ---------- Responsif ---------- */
@media (max-width: 767px) {
    .pmb-hero { padding: 18px 16px; }
    .pmb-hero h1, .pmb-hero h2 { font-size: 20px; }
    .pmb-hero-logo { width: 44px; margin-right: 12px; }
    .pmb-steps { display: block; }
    .pmb-step { display: block; text-align: left; padding: 0 0 12px 0; }
    .pmb-step:before { display: none; }
    .pmb-step .pmb-step-dot { width: 32px; height: 32px; line-height: 26px; font-size: 13px; margin-right: 10px; }
    .pmb-step .pmb-step-label, .pmb-step .pmb-step-sub { display: inline; margin: 0 6px 0 0; }
    .pmb-profile-photo { width: 84px; }
    .pmb-profile-photo img { width: 72px; height: 90px; }
    .pmb-profile-info h2 { font-size: 18px; }
    .pmb-portalbar-who, .pmb-portalbar-nav { float: none; }
    .pmb-portalbar-nav { margin-top: 8px; }
    .pmb-portalbar-nav .btn { margin: 4px 6px 0 0; }
    .pmb-dl dt { float: none; width: auto; padding-bottom: 0; border-bottom: 0; }
    .pmb-dl dd { margin-left: 0; padding-left: 0; }
    .pmb-nopen-big { font-size: 20px; letter-spacing: 1px; }
    .pmb-tile { min-height: 0; margin-bottom: 12px; }
}

/* ==========================================================================
   LAYOUT SITUS - tema akademik (hanya berlaku di <body class="pmb-site">)
   Warna dari variabel --pmb-* di awal file (pink #f82a63 + merah anggur).
   Judul memakai huruf serif (Georgia) agar terasa akademik.
   ========================================================================== */

/* ---------- Dasar ---------- */
body.pmb-site {
    padding: 0;
    color: #374151;
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f9fafb;
    /* pola titik halus seperti kertas */
    background-image: radial-gradient(rgba(var(--pmb-pink-rgb), .07) 1px, transparent 1px);
    background-size: 22px 22px;
}
.pmb-site h1, .pmb-site h2, .pmb-site h3,
.pmb-site .pmb-serif,
.pmb-site .panel-title,
.pmb-site .pmb-card-head h3, .pmb-site .pmb-card-head h4,
.pmb-site .pmb-section-title h4,
.pmb-site .pmb-tile h4,
.pmb-site h4.text-primary,
.pmb-site .list-group-item.active .list-group-item-heading {
    font-family: Georgia, "Times New Roman", Times, serif;
}
/* tautan biasa ikut warna PMB; :where() agar tetap kalah dari class komponen */
:where(.pmb-site) a { color: var(--pmb-pink-gelap); }
:where(.pmb-site) a:hover, :where(.pmb-site) a:focus { color: var(--pmb-anggur-tua); }

/* ---------- Bar atas ---------- */
.pmb-topbar {
    color: #fff;
    font-size: 12.5px;
    line-height: 34px;
    background: var(--pmb-pink);
}
.pmb-topbar-left { float: left; }
.pmb-topbar-right { float: right; }
.pmb-topbar span, .pmb-topbar a { display: inline-block; color: #fff; }
.pmb-topbar-left span { margin-right: 18px; }
.pmb-topbar-right a { margin-left: 18px; }
.pmb-topbar-left span + span:before,
.pmb-topbar-right a + a:before {
    content: "";
    display: inline-block;
    width: 1px; height: 13px;
    margin-right: 18px;
    vertical-align: middle;
    background: rgba(255, 255, 255, .5);
}
.pmb-topbar a:hover, .pmb-topbar a:focus { color: #fff; text-decoration: none; opacity: .85; }
.pmb-topbar .glyphicon { margin-right: 7px; font-size: 11px; color: #fff; }

/* ---------- Kop: logo & nama universitas ---------- */
.pmb-brandbar {
    position: relative;
    padding: 16px 0;
    background: #fff;
    border-bottom: 1px solid #eceef1;
}
.pmb-brandbar .container { display: flex; align-items: center; justify-content: space-between; }
.pmb-brandbar .container:before, .pmb-brandbar .container:after { display: none; }
.pmb-brand { display: flex; align-items: center; color: var(--pmb-judul); }
.pmb-brand:hover, .pmb-brand:focus { color: var(--pmb-judul); text-decoration: none; }
.pmb-brand-logo { width: 62px; height: auto; margin-right: 14px; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18)); }
.pmb-brand-text { display: block; line-height: 1.15; }
.pmb-brand-kicker { display: block; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--pmb-pink-gelap); }
.pmb-brand-name { display: block; margin: 4px 0 3px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 25px; font-weight: 700; letter-spacing: .3px; color: var(--pmb-judul); }
.pmb-brand-sub { display: block; font-size: 12.5px; color: #6b7280; }
.pmb-brand-aside { display: flex; align-items: center; }
.pmb-brand-contact { display: flex; align-items: center; margin-right: 20px; color: var(--pmb-judul); }
.pmb-brand-contact:hover, .pmb-brand-contact:focus { color: var(--pmb-pink-gelap); text-decoration: none; }
/* ikon telepon kuning keemasan */
.pmb-brand-contact-icon {
    width: 42px; height: 42px;
    margin-right: 10px;
    line-height: 42px;
    border-radius: 50%;
    text-align: center;
    color: #feb712;
    background: #fef4e2;
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #f9e3b4;
}
.pmb-brand-contact small { display: block; font-size: 11px; color: #6b7280; }
.pmb-brand-contact strong { display: block; font-size: 15px; letter-spacing: .3px; }

/* ---------- Menu utama: putih, teks gelap, garis bawah pink untuk menu aktif ---------- */
.pmb-site .pmb-nav.navbar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
    min-height: 0;
    margin-bottom: 0;
    border: 0;
    border-bottom: 1px solid #eceef1;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 6px 18px rgba(var(--pmb-bayangan-rgb), .07);
}
.pmb-site .pmb-nav .navbar-nav > li > a {
    padding: 17px 15px;
    color: var(--pmb-judul);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    text-shadow: none;
    transition: color .15s, box-shadow .15s;
}
.pmb-site .pmb-nav .navbar-nav > li > a:hover,
.pmb-site .pmb-nav .navbar-nav > li > a:focus,
.pmb-site .pmb-nav .navbar-nav > .open > a,
.pmb-site .pmb-nav .navbar-nav > .open > a:hover,
.pmb-site .pmb-nav .navbar-nav > .open > a:focus {
    color: var(--pmb-pink-gelap);
    background: transparent !important; /* unama.css memakai !important */
    background-image: none;
    box-shadow: inset 0 -3px 0 var(--pmb-pink-pudar);
}
.pmb-site .pmb-nav .navbar-nav > .active > a,
.pmb-site .pmb-nav .navbar-nav > .active > a:hover,
.pmb-site .pmb-nav .navbar-nav > .active > a:focus {
    color: var(--pmb-judul);
    background: transparent !important;
    background-image: none;
    box-shadow: inset 0 -3px 0 var(--pmb-pink);
}
.pmb-site .pmb-nav .caret { margin-left: 4px; color: var(--pmb-pink); }
.pmb-site .pmb-nav .dropdown-menu {
    min-width: 230px;
    padding: 8px 0;
    border: 0;
    border-top: 3px solid var(--pmb-pink);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 14px 30px rgba(var(--pmb-bayangan-rgb), .16);
}
.pmb-site .pmb-nav .dropdown-menu > li > a { padding: 8px 18px; font-size: 13.5px; color: var(--pmb-judul); }
.pmb-site .pmb-nav .dropdown-menu > li > a:hover,
.pmb-site .pmb-nav .dropdown-menu > li > a:focus {
    color: var(--pmb-pink-gelap);
    background: var(--pmb-pink-muda) !important;
    background-image: none;
}
.pmb-site .pmb-nav .dropdown-menu .glyphicon { width: 18px; margin-right: 4px; color: var(--pmb-pink); }
.pmb-site .pmb-nav .dropdown-header { padding: 8px 18px 4px; font-size: 10.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #9ca3af; }
.pmb-site .pmb-nav .dropdown-menu .divider { background: #f0f1f4; }
.pmb-site .pmb-nav .sub-menu { border-top: 3px solid var(--pmb-anggur); border-radius: 0 8px 8px 0; }
.pmb-nav-actions { padding: 9px 0; }
.pmb-nav-label { display: none; padding: 15px 0 0 15px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 16px; font-weight: 700; color: var(--pmb-judul); }
.pmb-site .pmb-nav .navbar-toggle { margin: 8px 15px 8px 0; border-color: var(--pmb-pink-pudar); }
.pmb-site .pmb-nav .navbar-toggle .icon-bar { background: var(--pmb-pink); }
.pmb-site .pmb-nav .navbar-toggle:hover, .pmb-site .pmb-nav .navbar-toggle:focus { background: var(--pmb-pink-muda); }
.pmb-site .pmb-nav .navbar-collapse { border-color: #eceef1; box-shadow: none; }

/* menu terlalu panjang untuk tablet: lipat menjadi tombol menu di bawah 992px */
@media (max-width: 991px) {
    .pmb-site .pmb-nav .navbar-header { float: none; }
    .pmb-site .pmb-nav .navbar-toggle { display: block; }
    .pmb-nav-label { display: inline-block; }
    .pmb-site .pmb-nav .navbar-collapse.collapse { display: none !important; }
    .pmb-site .pmb-nav .navbar-collapse.collapse.in { display: block !important; overflow-y: auto !important; }
    .pmb-site .pmb-nav .navbar-nav { float: none !important; margin: 4px -15px 8px; }
    .pmb-site .pmb-nav .navbar-nav > li { float: none; }
    .pmb-site .pmb-nav .navbar-nav > li > a { padding: 11px 20px; }
    /* di menu lipat, menu aktif ditandai garis kiri */
    .pmb-site .pmb-nav .navbar-nav > li > a:hover,
    .pmb-site .pmb-nav .navbar-nav > li > a:focus,
    .pmb-site .pmb-nav .navbar-nav > .open > a { box-shadow: inset 3px 0 0 var(--pmb-pink-pudar); }
    .pmb-site .pmb-nav .navbar-nav > .active > a { color: var(--pmb-pink-gelap); box-shadow: inset 3px 0 0 var(--pmb-pink); }
    .pmb-site .pmb-nav .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin: 0;
        padding: 0 0 6px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #fdf2f5;
    }
    .pmb-site .pmb-nav .navbar-nav .open .dropdown-menu > li > a { padding: 8px 20px 8px 34px; color: var(--pmb-judul); }
    .pmb-site .pmb-nav .navbar-nav .open .dropdown-menu > li > a:hover,
    .pmb-site .pmb-nav .navbar-nav .open .dropdown-menu > li > a:focus { color: var(--pmb-pink-gelap); background: var(--pmb-pink-muda) !important; }
    .pmb-site .pmb-nav .dropdown-header { padding-left: 34px; color: #9ca3af; }
    .pmb-site .pmb-nav .dropdown-menu .divider { background: #eceef1; }
    /* sub menu program studi selalu terbuka di layar kecil */
    .pmb-site .pmb-nav .dropdown-menu .sub-menu {
        position: static;
        display: block !important;
        float: none;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }
    .pmb-site .pmb-nav .dropdown-menu .sub-menu > li > a { padding-left: 50px; }
    .pmb-site .pmb-nav .right-caret:after, .pmb-site .pmb-nav .left-caret:after { display: none; }
    .pmb-site .pmb-nav .navbar-right { float: none !important; margin: 0; }
    .pmb-nav-actions { padding: 4px 5px 14px; }
}

/* ---------- Isi halaman ---------- */
/* footer selalu di dasar layar walau isi halaman pendek */
body.pmb-site { display: flex; flex-direction: column; min-height: 100vh; }
body.pmb-site > * { flex-shrink: 0; }
.pmb-main { flex: 1 0 auto; padding: 28px 0 36px; }
.pmb-site .well.myWell {
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    background-image: none;
    box-shadow: none;
}
.pmb-side-poster { margin: 0 auto 20px; border-radius: 10px; box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .12); }

/* ---------- Komponen Bootstrap lama, disamakan gayanya ---------- */
.pmb-site .panel {
    margin-bottom: 22px;
    border-color: #e8eaee;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(var(--pmb-bayangan-rgb), .06);
}
.pmb-site .panel > .panel-heading { padding: 13px 18px; border-radius: 9px 9px 0 0; background-image: none; }
.pmb-site .panel-title { font-size: 17px; font-weight: 700; }
.pmb-site .panel-heading .glyphicon { margin-right: 4px; }
.pmb-site .panel-primary { border-color: #e5e7eb; }
.pmb-site .panel-primary > .panel-heading {
    color: #fff;
    border: 0;
    border-bottom: 3px solid var(--pmb-pink);
    background: var(--pmb-pink);
    background: linear-gradient(120deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 60%, var(--pmb-pink) 100%);
}
.pmb-site .panel-primary > .panel-heading .glyphicon { color: var(--pmb-pink-terang); }
.pmb-site .panel-info > .panel-heading,
.pmb-site .panel-default > .panel-heading {
    color: var(--pmb-judul);
    border-color: #e8eaee;
    background: #fdf2f5;
}
.pmb-site .panel-info > .panel-heading .glyphicon,
.pmb-site .panel-default > .panel-heading .glyphicon { color: var(--pmb-pink); }
.pmb-site .panel-body { padding: 20px; }
.pmb-site .panel-footer { border-top-color: #f0f1f4; border-radius: 0 0 9px 9px; background: #f9fafb; }

.pmb-site .list-group { margin-bottom: 22px; border-radius: 10px; box-shadow: 0 2px 12px rgba(var(--pmb-bayangan-rgb), .06); }
.pmb-site .list-group-item { padding: 13px 18px; border-color: #e8eaee; }
.pmb-site .list-group-item:first-child { border-top-left-radius: 10px; border-top-right-radius: 10px; }
.pmb-site .list-group-item:last-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
.pmb-site .list-group-item.active,
.pmb-site .list-group-item.active:hover,
.pmb-site .list-group-item.active:focus {
    border-color: transparent;
    border-bottom: 3px solid var(--pmb-pink);
    text-shadow: none;
    background: var(--pmb-pink);
    background: linear-gradient(120deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 65%, var(--pmb-pink) 100%);
}
.pmb-site .list-group-item.active .list-group-item-heading { margin: 2px 0; font-size: 17px; font-weight: 700; color: #fff; }
.pmb-site a.list-group-item .list-group-item-heading { font-size: 15px; font-weight: 700; color: var(--pmb-judul); }
.pmb-site a.list-group-item .list-group-item-heading .glyphicon { margin-right: 6px; color: var(--pmb-pink); }
.pmb-site a.list-group-item .list-group-item-text { font-size: 12.5px; color: #6b7280; }
.pmb-site a.list-group-item:not(.active):hover,
.pmb-site a.list-group-item:not(.active):focus { background: #fdf5f7; box-shadow: inset 3px 0 0 var(--pmb-pink); }

.pmb-site .table > thead > tr > th {
    padding: 11px 10px;
    border-bottom: 2px solid #e5e7eb;
    font-size: 12px;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: var(--pmb-judul);
    background: #fdeff2;
}
.pmb-site .table > tbody > tr > td { padding: 10px; vertical-align: middle; border-top-color: #f0f1f4; }
.pmb-site .table-striped > tbody > tr:nth-of-type(odd) { background: #fbfbfc; }

.pmb-site .btn { border-radius: 6px; }
.pmb-site .btn.pmb-btn { border-radius: 24px; }
.pmb-site .btn-default, .pmb-site .btn-primary, .pmb-site .btn-success,
.pmb-site .btn-info, .pmb-site .btn-warning, .pmb-site .btn-danger { background-image: none; text-shadow: none; }
.pmb-site .btn-primary { border-color: var(--pmb-pink); background-color: var(--pmb-pink); }
.pmb-site .btn-primary:hover, .pmb-site .btn-primary:focus, .pmb-site .btn-primary:active { border-color: var(--pmb-pink-gelap); background-color: var(--pmb-pink-gelap); }
.pmb-site .btn-info { border-color: var(--pmb-anggur); background-color: var(--pmb-anggur); color: #fff; }
.pmb-site .btn-info:hover, .pmb-site .btn-info:focus, .pmb-site .btn-info:active { border-color: var(--pmb-pink-gelap); background-color: var(--pmb-pink-gelap); color: #fff; }

.pmb-site .form-control { border-color: #dfe2e7; border-radius: 6px; box-shadow: none; }
.pmb-site .form-control:focus { border-color: var(--pmb-pink); box-shadow: 0 0 0 3px rgba(var(--pmb-pink-rgb), .15); }
.pmb-site .input-group-addon { border-color: #dfe2e7; color: var(--pmb-pink); background: #fdf3f4; }
.pmb-site .input-group-addon:first-child { border-radius: 6px 0 0 6px; }
.pmb-site .input-group-addon:last-child { border-radius: 0 6px 6px 0; }

.pmb-site .alert { border-width: 0 0 0 4px; border-radius: 8px; background-image: none; box-shadow: none; text-shadow: none; }
.pmb-site .alert-success { color: #23613d; border-left-color: #2e9d5b; background: #eefaf2; }
.pmb-site .alert-info { color: var(--pmb-judul); border-left-color: var(--pmb-anggur); background: #fdeff2; }
.pmb-site .alert-warning { color: #7a5300; border-left-color: #f0ad4e; background: #fff8ea; }
.pmb-site .alert-danger { color: #8f1d2e; border-left-color: #dc3545; background: #fdf0f1; }

.pmb-site .img-thumbnail { padding: 5px; border-color: #e8eaee; border-radius: 10px; }
.pmb-site .page-header { border-bottom-color: #e8eaee; }
.pmb-site .text-primary { color: var(--pmb-anggur); }
.pmb-site .label-primary, .pmb-site .progress-bar { background-color: var(--pmb-pink); }
.pmb-site .btn-link { color: var(--pmb-pink-gelap); }
.pmb-site .pagination > li > a, .pmb-site .pagination > li > span { color: var(--pmb-pink-gelap); }
.pmb-site .pagination > .active > a, .pmb-site .pagination > .active > span,
.pmb-site .pagination > .active > a:hover, .pmb-site .pagination > .active > a:focus { border-color: var(--pmb-pink); color: #fff; background-color: var(--pmb-pink); }
.pmb-site .pmb-nav .right-caret:after { border-left-color: var(--pmb-pink); }
.pmb-site .pmb-nav .left-caret:after { border-right-color: var(--pmb-pink); }

/* motif cincin (lambang) samar di kartu berwarna */
.pmb-hero:before, .pmb-login-head:before {
    content: "";
    position: absolute;
    top: -110px; right: -70px;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .08) 1px, transparent 1px, transparent 14px);
    pointer-events: none;
}
.pmb-hero > *, .pmb-login-head > * { position: relative; }
.pmb-login-head { position: relative; overflow: hidden; }

/* ---------- Lebar halaman (wide) ---------- */
@media (min-width: 768px) {
    .pmb-site .container { width: auto; max-width: 1400px; padding-left: 24px; padding-right: 24px; }
}
@media (min-width: 1200px) {
    .pmb-site .container { padding-left: 32px; padding-right: 32px; }
}

/* ---------- Pita judul halaman (halaman informasi) ---------- */
.pmb-pageband {
    position: relative;
    overflow: hidden;
    padding: 30px 0 32px;
    color: #fde9ee;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(115deg, var(--pmb-anggur-gelap) 0%, var(--pmb-anggur-tua) 40%, var(--pmb-anggur) 75%, var(--pmb-pink) 100%);
}
.pmb-pageband:before {
    content: "";
    position: absolute;
    top: -140px; right: -60px;
    width: 380px; height: 380px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .07) 0, rgba(255, 255, 255, .07) 1px, transparent 1px, transparent 15px);
    pointer-events: none;
}
.pmb-pageband .container { position: relative; display: flex; align-items: center; }
.pmb-pageband .container:before, .pmb-pageband .container:after { display: none; }
.pmb-pageband-icon {
    flex: 0 0 auto;
    width: 58px; height: 58px;
    margin-right: 18px;
    line-height: 58px;
    border-radius: 16px;
    text-align: center;
    font-size: 24px;
    color: var(--pmb-pink);
    background: #fff;
    box-shadow: 0 8px 20px rgba(var(--pmb-bayangan-rgb), .3);
}
.pmb-crumb { margin: 0 0 4px; padding: 0; list-style: none; font-size: 12.5px; }
.pmb-crumb li { display: inline; color: #f3b9c8; }
.pmb-crumb li + li:before { content: "\203A"; margin: 0 8px; color: var(--pmb-pink-terang); }
.pmb-crumb a { color: #fff; }
.pmb-pageband h1 { margin: 0 0 4px; font-size: 28px; font-weight: 700; color: #fff; }
.pmb-pageband p { margin: 0; font-size: 14px; }

/* ---------- Beranda (landing) ---------- */
.pmb-landing { flex: 1 0 auto; }
.pmb-rounded { border-radius: 10px; }
.pmb-kicker { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--pmb-pink-gelap); }

/* hero */
.pmb-land-hero {
    position: relative;
    overflow: hidden;
    padding: 60px 0 120px;
    color: #fdeef2;
    background: var(--pmb-hero);
}
/* gelombang lembut di bagian bawah */
.pmb-land-hero:before {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 300px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' fill-opacity='.035' d='M0 210C260 120 520 110 760 168S1220 262 1440 176V320H0Z'/%3E%3Cpath fill='%23fff' fill-opacity='.025' d='M0 272C320 196 640 222 920 252S1300 262 1440 228V320H0Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
    pointer-events: none;
}
.pmb-land-hero .container { position: relative; z-index: 1; }
.pmb-land-hero .row { display: flex; flex-wrap: wrap; align-items: center; }
.pmb-land-hero .row:before, .pmb-land-hero .row:after { display: none; }
.pmb-land-badge {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #fff;
    background: rgba(255, 255, 255, .08);
}
.pmb-land-hero h1 { margin: 18px 0 14px; font-size: 44px; line-height: 1.15; font-weight: 700; color: #fff; }
.pmb-land-hero h1 em { display: block; font-style: normal; color: var(--pmb-hero-sorot); }
.pmb-land-lead { max-width: 640px; margin: 0; font-size: 17px; line-height: 1.6; }
.pmb-land-status {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin: 22px 0 4px;
    padding: 11px 16px;
    border-left: 4px solid #2ecc71;
    border-radius: 10px;
    font-size: 14px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
}
.pmb-land-status strong { color: #fff; }
.pmb-land-status small { display: block; color: rgba(255, 255, 255, .88); }
.pmb-land-status.is-soon { border-left-color: #fff; }
.pmb-land-status.is-none { border-left-color: rgba(255, 255, 255, .6); }
.pmb-dot {
    flex: 0 0 auto;
    width: 10px; height: 10px;
    margin-right: 12px;
    border-radius: 50%;
    background: #2ecc71;
    animation: pmbDenyut 2s infinite;
}
.is-soon .pmb-dot { background: #fff; animation-name: pmbDenyutPink; }
.is-none .pmb-dot { background: rgba(255, 255, 255, .6); animation: none; }
@keyframes pmbDenyut {
    0% { box-shadow: 0 0 0 0 rgba(46, 204, 113, .55); }
    70% { box-shadow: 0 0 0 10px rgba(46, 204, 113, 0); }
    100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}
@keyframes pmbDenyutPink {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .6); }
    70% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}
.pmb-land-cta { margin-top: 22px; }
.pmb-land-cta .btn { margin: 0 10px 10px 0; padding: 13px 26px; font-size: 15px; }
.pmb-land-facts { margin: 22px 0 0; padding: 0; list-style: none; }
.pmb-land-facts li { display: inline-block; margin: 0 34px 10px 0; vertical-align: top; }
.pmb-land-facts strong { display: block; font-family: Georgia, "Times New Roman", Times, serif; font-size: 30px; line-height: 1.1; color: #fff; }
.pmb-land-facts span { font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; color: rgba(255, 255, 255, .88); }
/* tombol utama di hero: putih agar kontras dengan latar pink */
.pmb-land-hero .btn.pmb-btn-accent { background: #fff; color: var(--pmb-hero); }
.pmb-land-hero .btn.pmb-btn-accent:hover, .pmb-land-hero .btn.pmb-btn-accent:focus { background: var(--pmb-pink-muda); color: var(--pmb-hero); }

/* kartu masuk cepat di hero */
.pmb-land-login {
    position: relative;
    padding: 26px 26px 20px;
    border-radius: 14px;
    color: #374151;
    background: #fff;
    box-shadow: 0 24px 60px rgba(var(--pmb-bayangan-rgb), .35);
}
.pmb-land-login-head { display: flex; align-items: center; margin-bottom: 16px; }
.pmb-land-login-icon {
    flex: 0 0 auto;
    width: 48px; height: 48px;
    margin-right: 14px;
    line-height: 48px;
    border-radius: 14px;
    text-align: center;
    font-size: 20px;
    color: var(--pmb-pink);
    background: var(--pmb-pink-muda);
}
.pmb-land-login h3 { margin: 0 0 2px; font-size: 21px; font-weight: 700; color: var(--pmb-judul); }
.pmb-land-login-head p { margin: 0; font-size: 13px; color: #6b7280; }
.pmb-land-login .form-group { margin-bottom: 12px; }
.pmb-land-login-foot { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #f0f1f4; font-size: 12.5px; text-align: center; color: #6b7280; }
.pmb-land-login-foot a { font-weight: 600; text-decoration: underline; }
.pmb-land-login code { font-size: 15px; color: var(--pmb-pink-gelap); background: var(--pmb-pink-muda); }

/* akses cepat (menumpang di bawah hero) */
.pmb-land-quick { position: relative; z-index: 2; margin-top: -70px; }
.pmb-land-quick .pmb-tiles { margin-bottom: 0; }
.pmb-land-quick .pmb-tile {
    display: flex;
    align-items: center;
    min-height: 0;
    padding: 20px 18px;
    box-shadow: 0 12px 30px rgba(var(--pmb-bayangan-rgb), .12);
}
.pmb-land-quick .pmb-tile-icon { flex: 0 0 auto; width: 54px; height: 54px; margin: 0 14px 0 0; line-height: 54px; font-size: 22px; }
.pmb-land-quick .pmb-tile h4 { margin-bottom: 2px; font-size: 17px; }
.pmb-land-quick .pmb-tile-go { margin-left: auto; padding-left: 10px; font-size: 13px; color: #d1d5db; transition: color .15s, transform .15s; }
.pmb-land-quick .pmb-tile:hover .pmb-tile-go { color: var(--pmb-pink); transform: translateX(3px); }
.pmb-land-quick > .container > .row > div:nth-child(2) .pmb-tile { border-top-color: var(--pmb-pink); }
.pmb-land-quick > .container > .row > div:nth-child(2) .pmb-tile-icon { color: var(--pmb-pink); background: var(--pmb-pink-muda); }
.pmb-land-quick > .container > .row > div:nth-child(3) .pmb-tile { border-top-color: var(--pmb-anggur-tua); }
.pmb-land-quick > .container > .row > div:nth-child(4) .pmb-tile { border-top-color: var(--pmb-anggur); }
.pmb-land-quick .pmb-tile:hover .pmb-tile-icon { color: #fff; background: var(--pmb-pink); }

/* bagian-bagian beranda */
.pmb-land-sec { padding: 70px 0; }
.pmb-land-quick + .pmb-land-sec { padding-top: 60px; }
.pmb-land-alt { background: #fff; border-top: 1px solid #f0f1f4; border-bottom: 1px solid #f0f1f4; }
.pmb-land-head { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.pmb-land-head h2 { position: relative; margin: 8px 0 14px; padding-bottom: 16px; font-size: 32px; font-weight: 700; color: var(--pmb-judul); }
.pmb-land-head h2:after {
    content: "";
    position: absolute;
    left: 50%; bottom: 0;
    width: 44px; height: 3px;
    margin-left: -47px;
    border-radius: 2px;
    background: var(--pmb-pink);
    box-shadow: 50px 0 0 var(--pmb-anggur); /* garis ganda pink-anggur */
}
.pmb-land-head p { margin: 0; font-size: 15.5px; color: #6b7280; }
.pmb-land-head.is-left { margin-left: 0; text-align: left; }
.pmb-land-head.is-left h2:after { left: 0; margin-left: 0; }
.pmb-grid { display: flex; flex-wrap: wrap; }
.pmb-grid:before, .pmb-grid:after { display: none; }
.pmb-grid > [class*="col-"] { display: flex; margin-bottom: 24px; }
.pmb-grid > [class*="col-"] > * { width: 100%; }

/* kartu jalur & jadwal */
.pmb-jalur-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 22px 22px 20px;
    border: 1px solid #e8eaee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .06);
    transition: transform .15s, box-shadow .15s;
}
.pmb-jalur-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(var(--pmb-bayangan-rgb), .12); }
.pmb-jalur-card.is-open { border-color: #bfe6cf; box-shadow: 0 10px 28px rgba(46, 157, 91, .14); }
.pmb-jalur-card.is-open:before {
    content: "";
    position: absolute;
    top: -1px; left: 22px; right: 22px;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: #2e9d5b;
}
.pmb-jalur-card h3 { margin: 12px 0 2px; font-size: 19px; font-weight: 700; color: var(--pmb-judul); }
.pmb-jalur-sub { font-size: 12.5px; color: #6b7280; }
.pmb-jalur-meta { margin: 14px 0 16px; padding: 0; list-style: none; }
.pmb-jalur-meta li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #e8eaee; font-size: 13.5px; }
.pmb-jalur-meta li span { padding-right: 10px; color: #6b7280; }
.pmb-jalur-meta li strong { text-align: right; color: #374151; }
.pmb-jalur-sisa { margin-bottom: 14px; font-size: 12.5px; font-weight: 600; color: var(--pmb-pink-gelap); }
.pmb-jalur-card.is-open .pmb-jalur-sisa { color: #23804a; }
.pmb-jalur-actions { margin-top: auto; }
.pmb-jalur-actions .btn { margin: 4px 6px 0 0; }

/* langkah mendaftar */
.pmb-langkah { display: flex; flex-wrap: wrap; margin: 0 -10px; padding: 0; list-style: none; }
.pmb-langkah > li { position: relative; flex: 1 1 20%; min-width: 190px; padding: 0 10px; margin-bottom: 20px; }
.pmb-langkah-card {
    position: relative;
    height: 100%;
    padding: 26px 18px 20px;
    border: 1px solid #e8eaee;
    border-radius: 14px;
    text-align: center;
    background: #fff;
    box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .06);
}
.pmb-langkah-no {
    position: absolute;
    top: 10px; left: 16px;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    color: #f0f1f4;
}
.pmb-langkah-ic {
    position: relative;
    width: 64px; height: 64px;
    margin: 0 auto 14px;
    line-height: 64px;
    border-radius: 50%;
    font-size: 25px;
    color: #fff;
    background: linear-gradient(135deg, var(--pmb-anggur), var(--pmb-pink));
    box-shadow: 0 8px 18px rgba(var(--pmb-pink-rgb), .3);
}
.pmb-langkah > li:nth-child(even) .pmb-langkah-ic { background: linear-gradient(135deg, var(--pmb-pink-gelap), var(--pmb-pink-terang)); box-shadow: 0 8px 18px rgba(var(--pmb-pink-rgb), .3); }
.pmb-langkah-card h4 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 16px; font-weight: 700; color: var(--pmb-judul); }
.pmb-langkah-card p { margin: 0; font-size: 13px; line-height: 1.55; color: #6b7280; }
.pmb-langkah-card a { display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 700; }
@media (min-width: 1200px) {
    .pmb-langkah > li:not(:last-child):after {
        content: "\203A";
        position: absolute;
        top: 50%; right: -9px;
        z-index: 1;
        width: 22px; height: 22px;
        margin-top: -11px;
        line-height: 19px;
        border-radius: 50%;
        text-align: center;
        font-size: 17px;
        color: #fff;
        background: var(--pmb-pink);
    }
}

/* daftar dokumen */
.pmb-check { margin: 0; padding: 0; list-style: none; }
.pmb-check li { position: relative; padding: 10px 0 10px 36px; border-bottom: 1px dashed #e8eaee; }
.pmb-check li:last-child { border-bottom: 0; }
.pmb-check li:before {
    content: "\e013";
    position: absolute;
    left: 0; top: 10px;
    width: 24px; height: 24px;
    line-height: 24px;
    border-radius: 50%;
    text-align: center;
    font-family: "Glyphicons Halflings";
    font-size: 11px;
    color: #fff;
    background: #2e9d5b;
}
.pmb-check small { display: block; color: #6b7280; }

/* gambar yang bisa diperbesar */
.pmb-figure { position: relative; display: block; margin: 0; overflow: hidden; border-radius: 14px; box-shadow: 0 10px 28px rgba(var(--pmb-bayangan-rgb), .14); cursor: zoom-in; }
.pmb-figure img { display: block; width: 100%; height: auto; transition: transform .3s; }
.pmb-figure:hover img { transform: scale(1.02); }
.pmb-figure figcaption {
    position: absolute;
    left: 12px; bottom: 12px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    color: #fff;
    background: rgba(var(--pmb-bayangan-rgb), .82);
}

/* program studi */
.pmb-fak-title { display: flex; align-items: center; margin: 0 0 18px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 21px; font-weight: 700; color: var(--pmb-judul); }
.pmb-fak-title .glyphicon { width: 40px; height: 40px; margin-right: 12px; line-height: 40px; border-radius: 12px; text-align: center; font-size: 17px; color: #fff; background: var(--pmb-anggur); }
.pmb-fak-title.is-pink .glyphicon { background: var(--pmb-pink); }
.pmb-prodi-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e8eaee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .06);
    transition: transform .15s, box-shadow .15s;
}
.pmb-prodi-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(var(--pmb-bayangan-rgb), .12); }
/* gambar profil lulusan utuh (tidak terpotong) dengan jarak dari tepi kartu */
.pmb-prodi-img { padding: 14px; cursor: zoom-in; background: #fff; }
.pmb-prodi-img img { display: block; width: 100%; height: auto; border: 1px solid #f0f1f4; border-radius: 10px; box-shadow: 0 2px 8px rgba(var(--pmb-bayangan-rgb), .06); }
.pmb-prodi-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 14px 16px 16px; border-top: 3px solid var(--pmb-anggur); }
.pmb-fak-pink .pmb-prodi-body { border-top-color: var(--pmb-pink); }
.pmb-prodi-body strong { display: block; font-family: Georgia, "Times New Roman", Times, serif; font-size: 16px; color: var(--pmb-judul); }
.pmb-prodi-body small { display: block; margin: 2px 0 12px; font-size: 12px; color: #6b7280; }
.pmb-prodi-body .pmb-prodi-links { margin-top: auto; }
.pmb-prodi-links a { margin-right: 14px; font-size: 12.5px; font-weight: 700; }

/* pita gelap (registrasi ulang) */
.pmb-land-dark {
    position: relative;
    overflow: hidden;
    color: #fde9ee;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(125deg, var(--pmb-anggur-gelap) 0%, var(--pmb-anggur-tua) 45%, var(--pmb-anggur) 100%);
}
.pmb-land-dark:before {
    content: "";
    position: absolute;
    bottom: -200px; left: -160px;
    width: 520px; height: 520px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .05) 0, rgba(255, 255, 255, .05) 1px, transparent 1px, transparent 17px);
    pointer-events: none;
}
.pmb-land-dark .container { position: relative; }
.pmb-land-dark .row { display: flex; flex-wrap: wrap; align-items: center; }
.pmb-land-dark .row:before, .pmb-land-dark .row:after { display: none; }
.pmb-land-dark .pmb-land-head h2 { color: #fff; }
.pmb-land-dark .pmb-land-head p { color: #f8d2dc; }
.pmb-land-dark .pmb-kicker { color: var(--pmb-pink-terang); }
.pmb-mini-langkah { margin: 0 0 24px; padding: 0; list-style: none; counter-reset: mini; }
.pmb-mini-langkah li { position: relative; padding: 7px 0 7px 44px; counter-increment: mini; font-size: 14.5px; color: #fff; }
.pmb-mini-langkah li:before {
    content: counter(mini);
    position: absolute;
    left: 0; top: 3px;
    width: 30px; height: 30px;
    line-height: 28px;
    border: 2px solid var(--pmb-pink-terang);
    border-radius: 50%;
    text-align: center;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: 700;
    color: var(--pmb-pink-terang);
}

/* FAQ & bantuan */
.pmb-faq .panel { margin-bottom: 12px; border-radius: 12px; }
.pmb-faq .panel + .panel { margin-top: 0; }
.pmb-faq-q {
    position: relative;
    display: block;
    padding: 16px 56px 16px 20px;
    font-size: 15px;
    font-weight: 700;
    color: var(--pmb-judul);
}
.pmb-faq-q:hover, .pmb-faq-q:focus { color: var(--pmb-pink-gelap); text-decoration: none; }
.pmb-faq-q:after {
    content: "\2212";
    position: absolute;
    top: 50%; right: 18px;
    width: 26px; height: 26px;
    margin-top: -13px;
    line-height: 25px;
    border-radius: 50%;
    text-align: center;
    font-size: 17px;
    color: var(--pmb-pink-gelap);
    background: var(--pmb-pink-muda);
}
.pmb-faq-q.collapsed:after { content: "+"; color: var(--pmb-pink-gelap); background: var(--pmb-pink-muda); }
.pmb-faq-a { padding: 0 20px 18px; line-height: 1.65; color: #4b5563; }
.pmb-help-card {
    position: relative;
    overflow: hidden;
    padding: 28px 26px;
    border-radius: 14px;
    color: #fff;
    background: var(--pmb-pink-gelap);
    background: linear-gradient(140deg, var(--pmb-pink) 0%, var(--pmb-pink-gelap) 55%, var(--pmb-anggur) 100%);
    box-shadow: 0 16px 36px rgba(var(--pmb-pink-rgb), .3);
}
.pmb-help-card:before {
    content: "";
    position: absolute;
    top: -90px; right: -90px;
    width: 260px; height: 260px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, .1) 1px, transparent 1px, transparent 14px);
    pointer-events: none;
}
.pmb-help-card > * { position: relative; }
.pmb-help-card h3 { margin: 0 0 6px; font-size: 24px; font-weight: 700; color: #fff; }
.pmb-help-card p { color: #ffe4ec; }
.pmb-help-card .btn.pmb-btn-light { border: 0; color: var(--pmb-anggur); }
.pmb-help-list { margin: 20px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .25); }
.pmb-help-list li { position: relative; margin-bottom: 9px; padding-left: 26px; font-size: 13.5px; }
.pmb-help-list .glyphicon { position: absolute; left: 0; top: 3px; color: #ffe4ec; }
.pmb-help-list a { color: #fff; font-weight: 600; }

/* ---------- Gambar diperbesar (lightbox) ---------- */
.pmb-lightbox {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 50px 20px 20px;
    cursor: zoom-out;
    background: rgba(17, 24, 39, .9);
}
.pmb-lightbox.is-open { display: flex; }
.pmb-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); cursor: default; animation: pmbZoom .25s ease-out; }
.pmb-lightbox-close {
    position: absolute;
    top: 12px; right: 18px;
    width: 42px; height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 28px;
    line-height: 40px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
}
.pmb-lightbox-close:hover { background: var(--pmb-pink); }
@keyframes pmbZoom { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ---------- Tombol WhatsApp melayang ---------- */
.pmb-wa-float {
    position: fixed;
    right: 22px; bottom: 22px;
    z-index: 1030;
    display: flex;
    align-items: center;
    padding: 7px 18px 7px 7px;
    border-radius: 40px;
    font-weight: 700;
    color: var(--pmb-judul);
    background: #fff;
    box-shadow: 0 10px 28px rgba(var(--pmb-bayangan-rgb), .28);
    transition: transform .15s, box-shadow .15s;
}
.pmb-wa-float:hover, .pmb-wa-float:focus { color: var(--pmb-judul); text-decoration: none; transform: translateY(-3px); box-shadow: 0 14px 32px rgba(var(--pmb-bayangan-rgb), .34); }
.pmb-wa-float img { width: 42px; height: 42px; margin-right: 10px; }
.pmb-wa-float small { display: block; font-size: 10.5px; font-weight: 600; color: #6b7280; }

/* ---------- Beranda: tablet & layar kecil ---------- */
@media (max-width: 991px) {
    .pmb-land-hero { padding: 44px 0 110px; }
    .pmb-land-hero h1 { font-size: 34px; }
    .pmb-land-login { margin-top: 30px; }
    .pmb-land-sec { padding: 54px 0; }
}
@media (max-width: 767px) {
    .pmb-pageband { padding: 22px 0 24px; }
    .pmb-pageband-icon { width: 46px; height: 46px; margin-right: 14px; line-height: 46px; font-size: 19px; }
    .pmb-pageband h1 { font-size: 22px; }
    .pmb-land-hero { padding: 34px 0 96px; }
    .pmb-land-hero h1 { font-size: 28px; }
    .pmb-land-lead { font-size: 15.5px; }
    .pmb-land-facts li { margin-right: 22px; }
    .pmb-land-facts strong { font-size: 24px; }
    .pmb-land-sec { padding: 44px 0; }
    .pmb-land-head { margin-bottom: 26px; }
    .pmb-land-head h2 { font-size: 25px; }
    .pmb-langkah > li { flex-basis: 100%; }
    .pmb-prodi-img { padding: 10px; }
    .pmb-wa-float { right: 14px; bottom: 14px; padding: 6px; }
    .pmb-wa-float span { display: none; }
    .pmb-wa-float img { margin: 0; }
}

/* ---------- Panel kanan ---------- */
.pmb-side-link {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 14px 16px;
    overflow: hidden;
    border-radius: 10px;
    color: #fff;
    background: var(--pmb-pink);
    background: linear-gradient(120deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 60%, var(--pmb-pink) 100%);
    box-shadow: 0 4px 14px rgba(var(--pmb-bayangan-rgb), .2);
    transition: transform .15s;
}
.pmb-side-link:hover, .pmb-side-link:focus { color: #fff; text-decoration: none; transform: translateY(-2px); }
.pmb-side-link-icon {
    flex: 0 0 auto;
    width: 40px; height: 40px;
    margin-right: 12px;
    line-height: 40px;
    border-radius: 50%;
    text-align: center;
    background: rgba(255, 255, 255, .15);
}
.pmb-side-link strong { display: block; font-family: Georgia, "Times New Roman", Times, serif; font-size: 15px; }
.pmb-side-link small { display: block; opacity: .85; }
.pmb-brosur { text-align: center; }
.pmb-brosur img {
    max-width: 62%;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(var(--pmb-bayangan-rgb), .18);
    cursor: zoom-in;
    transition: transform .2s;
}
.pmb-brosur img:hover { transform: scale(1.03) rotate(-1deg); }
.pmb-brosur .btn { margin-top: 14px; }
.pmb-wa { display: flex; align-items: center; color: var(--pmb-judul); }
.pmb-wa:hover, .pmb-wa:focus { color: var(--pmb-judul); text-decoration: none; }
.pmb-wa img { width: 46px; height: 46px; margin-right: 12px; }
.pmb-wa strong { display: block; font-size: 19px; letter-spacing: .3px; }
.pmb-wa small { display: block; color: #6b7280; }

/* ---------- Footer ---------- */
.pmb-footer {
    position: relative;
    overflow: hidden;
    color: #f3b9c8;
    font-size: 13px;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(160deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur-gelap) 100%);
    border-top: 4px solid var(--pmb-pink);
}
.pmb-footer:before {
    content: "";
    position: absolute;
    top: -160px; right: -120px;
    width: 420px; height: 420px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .05) 0, rgba(255, 255, 255, .05) 1px, transparent 1px, transparent 16px);
    pointer-events: none;
}
.pmb-footer-main { position: relative; padding: 40px 0 16px; }
.pmb-footer h4 {
    position: relative;
    margin: 0 0 16px;
    padding-bottom: 10px;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}
.pmb-footer h4:after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--pmb-pink); }
.pmb-footer p { line-height: 1.7; }
.pmb-footer a { color: #fbe1e7; }
.pmb-footer a:hover, .pmb-footer a:focus { color: var(--pmb-pink-terang); text-decoration: none; }
.pmb-footer-brand { margin-bottom: 18px; }
.pmb-footer-brand img { width: 54px; margin-bottom: 12px; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3)); }
.pmb-footer-brand strong { display: block; margin-bottom: 6px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 18px; color: #fff; }
.pmb-footer-list, .pmb-footer-links { margin: 0 0 18px; padding: 0; list-style: none; }
.pmb-footer-list li { position: relative; margin-bottom: 9px; padding-left: 24px; line-height: 1.5; }
.pmb-footer-list .glyphicon { position: absolute; left: 0; top: 3px; color: var(--pmb-pink-terang); }
.pmb-footer-links li { margin-bottom: 7px; }
.pmb-footer-links a:before { content: "\203A"; margin-right: 8px; color: var(--pmb-pink-terang); }
.pmb-footer-bottom {
    position: relative;
    padding: 14px 0;
    font-size: 12px;
    color: #dc98aa;
    background: rgba(0, 0, 0, .18);
    border-top: 1px solid rgba(255, 255, 255, .06);
}
.pmb-footer-bottom .container { display: flex; flex-wrap: wrap; justify-content: space-between; }
.pmb-footer-bottom .container:before, .pmb-footer-bottom .container:after { display: none; }

.pmb-brand-contact strong { white-space: nowrap; }

/* ---------- Tablet ---------- */
@media (min-width: 768px) and (max-width: 991px) {
    .pmb-brand-contact { display: none; }
    .pmb-brand-name { font-size: 22px; }
}

/* ---------- Layar kecil ---------- */
@media (max-width: 767px) {
    .pmb-topbar { text-align: center; }
    .pmb-topbar-left, .pmb-topbar-right { float: none; display: inline; }
    .pmb-topbar-left span { margin-right: 12px; }
    .pmb-topbar-right a { margin-left: 0; }
    .pmb-brandbar { padding: 12px 0; }
    .pmb-brand-logo { width: 48px; margin-right: 10px; }
    .pmb-brand-kicker { font-size: 9.5px; letter-spacing: 1.5px; }
    .pmb-brand-name { font-size: 18px; }
    .pmb-brand-sub { font-size: 11.5px; }
    .pmb-main { padding: 18px 0 26px; }
    .pmb-footer-main { padding-top: 30px; }
    .pmb-footer-bottom .container { display: block; text-align: center; }
}

/* lompat ke bagian beranda dengan halus, tidak tertutup menu yang menempel */
html { scroll-behavior: smooth; }
.pmb-land-sec { scroll-margin-top: 64px; }
/* infografis tidak ikut meregang setinggi kolom di sebelahnya */
.pmb-grid > [class*="col-"] > .pmb-figure { align-self: center; }
.pmb-figure figcaption { position: static; display: block; padding: 10px 14px; border-radius: 0; color: var(--pmb-judul); background: #fff; }
.pmb-figure figcaption .glyphicon { color: var(--pmb-pink); }
.pmb-prodi-links a { display: inline-block; margin: 2px 12px 0 0; white-space: nowrap; }

/* kolom di baris flex hero & pita gelap selalu penuh di bawah 992px */
@media (max-width: 991px) {
    .pmb-land-hero .row > [class*="col-"],
    .pmb-land-dark .row > [class*="col-"] { width: 100%; }
}

/* HP: kartu jalur digeser ke samping, langkah disusun horizontal */
.pmb-geser { margin: -18px 0 12px; font-size: 12.5px; color: #6b7280; text-align: center; }
.pmb-geser .glyphicon { color: var(--pmb-pink); }
@media (max-width: 767px) {
    .pmb-jalur-scroll {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-bottom: 14px;
        padding-bottom: 6px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    .pmb-jalur-scroll > [class*="col-"] { flex: 0 0 86%; width: 86%; scroll-snap-align: start; }
    .pmb-langkah-card { display: flex; align-items: flex-start; padding: 16px 16px 16px 14px; text-align: left; }
    .pmb-langkah-ic { flex: 0 0 auto; width: 50px; height: 50px; margin: 0 14px 0 0; line-height: 50px; font-size: 20px; text-align: center; }
    .pmb-langkah-no { top: 10px; right: 14px; left: auto; font-size: 26px; }
    .pmb-langkah-card a { margin-top: 6px; }
}

/* ---------- Kotak header PMB: merah anggur bermotif kawung + lambang berorbit ---------- */
.pmb-promo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 34px;
    padding: 50px 70px 56px 64px;
    overflow: hidden;
    border-radius: 20px;
    color: #f8d2dc;
    background-color: var(--pmb-anggur-tua);
    background-image:
        radial-gradient(520px 320px at 84% 42%, rgba(var(--pmb-pink-rgb), .38), rgba(var(--pmb-pink-rgb), 0) 62%),
        radial-gradient(560px 300px at -5% 115%, rgba(var(--pmb-pink-rgb), .22), rgba(var(--pmb-pink-rgb), 0) 62%),
        linear-gradient(115deg, #480b24 0%, var(--pmb-anggur-tua) 48%, var(--pmb-anggur) 100%);
    box-shadow: 0 22px 50px rgba(var(--pmb-bayangan-rgb), .28);
}
/* motif batik kawung samar, memudar ke arah kiri */
.pmb-promo:before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 64%;
    opacity: .11;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1'%3E%3Cellipse cx='12' cy='12' rx='11' ry='5' transform='rotate(45 12 12)'/%3E%3Cellipse cx='28' cy='12' rx='11' ry='5' transform='rotate(-45 28 12)'/%3E%3Cellipse cx='12' cy='28' rx='11' ry='5' transform='rotate(-45 12 28)'/%3E%3Cellipse cx='28' cy='28' rx='11' ry='5' transform='rotate(45 28 28)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='1.6' fill='%23fff'/%3E%3C/svg%3E") repeat;
    background-size: 46px 46px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 72%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 72%);
    pointer-events: none;
}
/* garis aksen pink-emas di tepi bawah */
.pmb-promo:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--pmb-pink) 0%, var(--pmb-pink-terang) 50%, var(--pmb-emas) 100%);
}

.pmb-promo-content { position: relative; z-index: 1; max-width: 660px; }
.pmb-promo-kicker { display: flex; align-items: center; font-size: 11.5px; font-weight: 700; letter-spacing: 2.6px; text-transform: uppercase; color: var(--pmb-pink-terang); }
.pmb-promo-kicker:before { content: ""; flex: 0 0 auto; width: 34px; height: 2px; margin-right: 14px; border-radius: 2px; background: var(--pmb-pink); }
.pmb-promo-title { margin: 16px 0 0; font-size: 46px; font-weight: 400; line-height: 1.1; color: #fff; }
.pmb-promo-title strong { display: block; font-weight: 700; color: #fff; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .pmb-promo-title strong {
        background: linear-gradient(90deg, #ffffff 0%, #ffe4a3 50%, var(--pmb-emas) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}
.pmb-promo-motto { display: flex; align-items: center; margin: 16px 0 0; font-family: Georgia, "Times New Roman", Times, serif; font-size: 17px; font-style: italic; color: #f8d2dc; }
.pmb-promo-motto:before { content: ""; flex: 0 0 auto; width: 24px; height: 1px; margin-right: 12px; background: rgba(255, 255, 255, .45); }
.pmb-promo-foot { display: flex; flex-wrap: wrap; align-items: center; margin-top: 28px; }
.pmb-promo-foot .btn { margin: 0 14px 10px 0; padding: 12px 28px; box-shadow: 0 10px 24px rgba(var(--pmb-pink-rgb), .35); }
.pmb-promo-foot .btn .glyphicon { margin-left: 6px; font-size: 12px; transition: transform .15s; }
.pmb-promo-foot .btn:hover .glyphicon { transform: translateX(3px); }
.pmb-promo-jenjang {
    flex: 0 0 auto;
    min-width: 30px;
    margin-right: 8px;
    padding: 2px 6px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background: var(--pmb-pink);
}
.pmb-promo-pasca {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
    padding: 9px 18px 9px 9px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 30px;
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    transition: border-color .15s, background .15s;
}
.pmb-promo-pasca:hover, .pmb-promo-pasca:focus { color: #fff; text-decoration: none; border-color: rgba(255, 159, 185, .7); background: rgba(255, 255, 255, .14); }
.pmb-promo-pasca small { margin-left: 10px; font-size: 12px; font-weight: 600; color: var(--pmb-pink-terang); }

/* lambang dalam piringan putih dengan dua cincin orbit */
.pmb-promo-emblem { position: relative; z-index: 1; flex: 0 0 auto; width: 240px; height: 240px; margin-left: 40px; }
.pmb-promo-emblem:before {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 320px; height: 320px;
    margin: -160px 0 0 -160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--pmb-pink-rgb), .32) 0%, rgba(var(--pmb-pink-rgb), 0) 64%);
}
.pmb-emblem-ring { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; }
.pmb-emblem-ring.is-luar { border: 1px dashed rgba(255, 255, 255, .32); animation: pmbPutar 70s linear infinite; }
.pmb-emblem-ring.is-dalam { top: 26px; left: 26px; right: 26px; bottom: 26px; border: 1px solid rgba(255, 159, 185, .55); animation: pmbPutar 45s linear infinite reverse; }
.pmb-emblem-ring:before {
    content: "";
    position: absolute;
    top: -5px; left: 50%;
    width: 10px; height: 10px;
    margin-left: -5px;
    border-radius: 50%;
    background: var(--pmb-pink);
    box-shadow: 0 0 0 4px rgba(var(--pmb-pink-rgb), .25);
}
.pmb-emblem-ring.is-dalam:before { top: auto; bottom: -4px; width: 8px; height: 8px; margin-left: -4px; background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .16); }
.pmb-emblem-disc {
    position: absolute;
    top: 56px; left: 56px; right: 56px; bottom: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffffff 0%, #fff4f6 68%, #f9dbe3 100%);
    box-shadow: 0 0 0 10px rgba(255, 255, 255, .07), 0 24px 50px rgba(0, 0, 0, .35);
}
.pmb-emblem-disc img { width: 64%; height: auto; filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .18)); }
@keyframes pmbPutar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .pmb-emblem-ring { animation: none; }
}

@media (max-width: 1199px) {
    .pmb-promo { padding: 44px 50px 50px 48px; }
    .pmb-promo-title { font-size: 40px; }
    .pmb-promo-emblem { width: 210px; height: 210px; }
    .pmb-emblem-ring.is-dalam { top: 22px; left: 22px; right: 22px; bottom: 22px; }
    .pmb-emblem-disc { top: 48px; left: 48px; right: 48px; bottom: 48px; }
}
/* tablet & HP: lambang di atas, teks di tengah */
@media (max-width: 991px) {
    .pmb-promo { flex-direction: column-reverse; padding: 38px 30px 44px; text-align: center; }
    .pmb-promo:before { width: 100%; -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 75%); mask-image: linear-gradient(180deg, #000 0%, transparent 75%); }
    .pmb-promo-content { max-width: none; }
    .pmb-promo-emblem { width: 180px; height: 180px; margin: 0 0 24px; }
    .pmb-emblem-ring.is-dalam { top: 20px; left: 20px; right: 20px; bottom: 20px; }
    .pmb-emblem-disc { top: 40px; left: 40px; right: 40px; bottom: 40px; }
    .pmb-promo-kicker, .pmb-promo-motto, .pmb-promo-foot { justify-content: center; }
    .pmb-promo-foot .btn { margin: 0 7px 10px; }
    .pmb-promo-pasca { margin: 0 7px 10px; }
}
@media (max-width: 767px) {
    .pmb-promo { padding: 30px 18px 36px; }
    .pmb-promo-kicker { font-size: 10px; letter-spacing: 1.6px; }
    .pmb-promo-kicker:before { width: 18px; margin-right: 8px; }
    .pmb-promo-title { font-size: 30px; }
    .pmb-promo-motto { font-size: 15.5px; }
    .pmb-promo-emblem { width: 150px; height: 150px; margin-bottom: 18px; }
    .pmb-emblem-ring.is-dalam { top: 17px; left: 17px; right: 17px; bottom: 17px; }
    .pmb-emblem-disc { top: 33px; left: 33px; right: 33px; bottom: 33px; }
    /* halaman formulir di HP: cukup judul agar form cepat terlihat */
    .pmb-promo.is-ringkas { padding: 26px 18px 30px; }
    .pmb-promo.is-ringkas .pmb-promo-emblem,
    .pmb-promo.is-ringkas .pmb-promo-foot { display: none; }
}

/* ---------- Beranda: e-Brosur + kartu informasi di sebelah kanannya ---------- */
.pmb-info-row { display: flex; flex-wrap: wrap; }
.pmb-info-row:before, .pmb-info-row:after { display: none; }
.pmb-info-row > [class*="col-"] { display: flex; }
.pmb-info-row > [class*="col-"] > * { width: 100%; }
.pmb-brosur-card { display: flex; flex-direction: column; }
.pmb-brosur-card .pmb-card-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; }
.pmb-brosur-img {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    border: 1px solid #f0f1f4;
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(var(--pmb-bayangan-rgb), .16);
    cursor: zoom-in;
    transition: transform .2s;
}
.pmb-brosur-img:hover { transform: translateY(-3px); }
.pmb-brosur-aksi { margin-top: 18px; text-align: center; }
.pmb-brosur-aksi .btn { margin: 0 4px 6px; }
.pmb-info-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
.pmb-info-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 52px 22px 22px;
    border: 1px solid #e8eaee;
    border-left: 4px solid var(--pmb-anggur);
    border-radius: 14px;
    color: #4b5563;
    background: #fff;
    box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .06);
    transition: transform .15s, box-shadow .15s, border-color .15s;
}
.pmb-info-item:nth-child(even) { border-left-color: var(--pmb-pink); }
.pmb-info-item:hover, .pmb-info-item:focus { color: #4b5563; text-decoration: none; transform: translateY(-3px); box-shadow: 0 12px 26px rgba(var(--pmb-bayangan-rgb), .12); }
.pmb-info-ic {
    display: inline-block;
    width: 46px; height: 46px;
    margin-bottom: 12px;
    line-height: 46px;
    border-radius: 12px;
    text-align: center;
    font-size: 19px;
    color: var(--pmb-anggur);
    background: var(--pmb-pink-muda);
}
.pmb-info-item:nth-child(even) .pmb-info-ic { color: var(--pmb-pink); background: var(--pmb-pink-muda); }
.pmb-info-item h4 { margin: 0 0 4px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 16.5px; font-weight: 700; color: var(--pmb-judul); }
.pmb-info-item p { margin: 0; font-size: 13px; line-height: 1.5; color: #6b7280; }
.pmb-info-go {
    position: absolute;
    top: 50%; right: 18px;
    width: 28px; height: 28px;
    margin-top: -14px;
    line-height: 28px;
    border-radius: 50%;
    text-align: center;
    font-size: 11px;
    color: #9ca3af;
    background: #f4f5f7;
    transition: color .15s, background .15s;
}
.pmb-info-item:hover .pmb-info-go { color: #fff; background: var(--pmb-pink); }
@media (max-width: 991px) {
    .pmb-brosur-img { max-width: 300px; }
}
@media (max-width: 767px) {
    .pmb-info-list { grid-template-columns: 1fr; gap: 14px; }
    .pmb-info-item { padding: 16px 48px 16px 16px; }
    .pmb-brosur-img { max-width: 260px; }
}

/* tablet: 5 langkah tersusun 3 + 2 di tengah, bukan 4 + 1 melebar */
@media (min-width: 768px) and (max-width: 1199px) {
    .pmb-langkah { justify-content: center; }
    .pmb-langkah > li { flex: 0 0 33.3333%; max-width: 33.3333%; }
}

/* ---------- Pilihan yang bisa dicari (assets/js/pmb-cari-pilihan.js) ---------- */
.pmb-cari-asli { display: none !important; }
.pmb-cari { position: relative; }
.btn.pmb-cari-tombol, .pmb-cari-tombol {
    position: relative;
    display: block;
    width: 100%;
    padding-right: 42px;
    text-align: left;
    color: #9ca3af;
    background: #fff;
    cursor: pointer;
}
.pmb-cari-label { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pmb-cari-tombol .glyphicon { position: absolute; top: 50%; right: 14px; margin-top: -7px; color: var(--pmb-anggur); }
.pmb-cari.is-terisi .pmb-cari-tombol { font-weight: 600; color: #374151; }
.pmb-cari.is-nonaktif .pmb-cari-tombol { background: #f7f8fa; }
.pmb-cari.is-nonaktif .pmb-cari-tombol .glyphicon, .pmb-cari.is-memuat .pmb-cari-tombol .glyphicon { color: #d1d5db; }
.pmb-cari.is-buka .pmb-cari-tombol { border-color: var(--pmb-pink); box-shadow: 0 0 0 3px rgba(var(--pmb-pink-rgb), .15); }
.pmb-cari-panel {
    position: absolute;
    z-index: 40;
    top: 100%; left: 0; right: 0;
    display: none;
    margin-top: 6px;
    border: 1px solid #dfe2e7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(var(--pmb-bayangan-rgb), .18);
}
.pmb-cari.is-buka .pmb-cari-panel { display: block; }
.pmb-cari-kotak { position: relative; padding: 10px; border-bottom: 1px solid #f0f1f4; }
.pmb-cari-kotak .glyphicon { position: absolute; top: 23px; left: 23px; color: #9ca3af; }
.pmb-form .pmb-cari-kotak .form-control, .pmb-cari-kotak .form-control { padding-left: 36px; }
.pmb-cari-list { position: relative; max-height: 270px; margin: 0; padding: 6px 0; overflow-y: auto; list-style: none; -webkit-overflow-scrolling: touch; }
.pmb-cari-list li[data-nilai] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 9px 14px;
    font-size: 14px;
    line-height: 1.35;
    color: #374151;
    cursor: pointer;
}
.pmb-cari-list li small { flex: 0 0 auto; margin-left: 12px; font-size: 11px; color: #9ca3af; }
.pmb-cari-list li.is-aktif { background: #fef2f5; }
.pmb-cari-list li.is-terpilih { font-weight: 700; color: var(--pmb-pink-gelap); box-shadow: inset 3px 0 0 var(--pmb-pink); }
.pmb-cari-list mark { padding: 0 1px; border-radius: 2px; color: inherit; background: rgba(var(--pmb-pink-rgb), .22); }
.pmb-cari-kosong { padding: 16px 14px; font-size: 13px; text-align: center; color: #6b7280; }
.pmb-cari-info { padding: 8px 14px; border-top: 1px solid #f0f1f4; border-radius: 0 0 10px 10px; font-size: 12px; color: #6b7280; background: #f9fafb; }
.pmb-putar { display: inline-block; animation: pmbPutar 1s linear infinite; }

/* ---------- Form pendaftaran: kolom bermasalah (mis. nomor HP sudah terdaftar) ---------- */
.pmb-form .has-error .form-control { border-color: #dc3545; }
.pmb-form .has-error .form-control:focus { box-shadow: 0 0 0 3px rgba(220, 53, 69, .15); }
.pmb-form .has-error .input-group-addon { border-color: #dc3545; color: #b52234; background: #fdf0f1; }
.pmb-form .has-error label { color: #b52234; }
.pmb-form .text-danger a { font-weight: 700; color: #b52234; text-decoration: underline; }
.pmb-help-unik { margin: -4px 0 14px; }
.pmb-help-unik .glyphicon { margin-right: 4px; color: var(--pmb-anggur); }

/* ---------- Jadwal ujian seleksi (Halaman Pendaftar) ---------- */
.pmb-ujian-card { border-top: 4px solid var(--pmb-pink); }
.pmb-ujian-card .pmb-card-body > .btn { margin: 0 8px 8px 0; }
.pmb-ujian { display: flex; align-items: stretch; }
.pmb-ujian-tgl {
    display: flex;
    flex: 0 0 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-right: 24px;
    padding: 18px 10px;
    border-radius: 14px;
    text-align: center;
    color: #fde9ee;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(140deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 100%);
    box-shadow: 0 10px 24px rgba(var(--pmb-bayangan-rgb), .25);
}
.pmb-ujian-hari { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--pmb-pink-terang); }
.pmb-ujian-tgl strong { display: block; margin: 4px 0; font-family: Georgia, "Times New Roman", Times, serif; font-size: 52px; line-height: 1; color: #fff; }
.pmb-ujian-tgl span:last-child { font-size: 13.5px; }
.pmb-ujian-info { flex: 1 1 auto; margin: 0; padding: 0; list-style: none; }
.pmb-ujian-info li { position: relative; min-height: 58px; padding: 10px 0 10px 56px; border-bottom: 1px dashed #e8eaee; }
.pmb-ujian-info li:last-child { border-bottom: 0; }
.pmb-ujian-info .glyphicon {
    position: absolute;
    top: 12px; left: 0;
    width: 40px; height: 40px;
    line-height: 40px;
    border-radius: 12px;
    text-align: center;
    color: var(--pmb-anggur);
    background: var(--pmb-pink-muda);
}
.pmb-ujian-info li:nth-child(2) .glyphicon { color: var(--pmb-pink); background: var(--pmb-pink-muda); }
.pmb-ujian-info span { display: block; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #6b7280; }
.pmb-ujian-info strong { display: block; margin-top: 1px; font-size: 15.5px; color: var(--pmb-judul); }
.pmb-ujian-info small { display: block; font-size: 12px; color: #6b7280; }
.pmb-ujian-aksi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #f0f1f4;
    font-size: 13px;
    color: #6b7280;
}
.pmb-ujian-aksi > span .glyphicon { color: var(--pmb-anggur); }
.pmb-ujian-aksi .btn { margin-top: 6px; }
@media (max-width: 767px) {
    .pmb-ujian { flex-direction: column; }
    .pmb-ujian-tgl { flex: 0 0 auto; flex-direction: row; margin: 0 0 12px; padding: 12px; }
    .pmb-ujian-tgl strong { margin: 0 10px; font-size: 30px; }
}

/* ---------- Agenda PMB: kartu file PDF ---------- */
.pmb-agenda-grid { margin-bottom: -18px; }
.pmb-agenda-grid > [class*="col-"] { margin-bottom: 18px; }
.pmb-agenda-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 18px 18px 16px;
    border: 1px solid #e8eaee;
    border-left: 4px solid var(--pmb-anggur);
    border-radius: 12px;
    color: #4b5563;
    background: #fff;
    box-shadow: 0 2px 10px rgba(var(--pmb-bayangan-rgb), .05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pmb-agenda-card:hover, .pmb-agenda-card:focus {
    color: #4b5563;
    text-decoration: none;
    transform: translateY(-3px);
    border-color: var(--pmb-pink-pudar);
    border-left-color: var(--pmb-pink);
    box-shadow: 0 10px 24px rgba(var(--pmb-bayangan-rgb), .12);
}
.pmb-agenda-card:focus { outline: 2px solid rgba(var(--pmb-pink-rgb), .45); outline-offset: 2px; }
.pmb-agenda-ic {
    position: relative;
    display: flex;
    flex: 0 0 52px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 64px;
    margin-right: 16px;
    border-radius: 9px;
    color: #fff;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(150deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 100%);
    box-shadow: 0 6px 14px rgba(var(--pmb-bayangan-rgb), .22);
}
/* sudut kertas terlipat */
.pmb-agenda-ic:before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    border-style: solid;
    border-width: 0 14px 14px 0;
    border-color: #fff #fff #f290aa #f290aa;
}
.pmb-agenda-ic .glyphicon { font-size: 18px; opacity: .9; }
.pmb-agenda-ic b {
    margin-top: 5px;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 10px;
    letter-spacing: 1px;
    background: var(--pmb-pink);
}
.pmb-agenda-teks { flex: 1 1 auto; min-width: 0; }
.pmb-agenda-teks strong { display: block; font-size: 15.5px; line-height: 1.35; color: var(--pmb-judul); }
.pmb-agenda-teks small {
    display: block;
    display: -webkit-box;
    margin-top: 4px;
    overflow: hidden;
    font-size: 12.5px;
    line-height: 1.5;
    color: #6b7280;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.pmb-agenda-teks em { display: block; margin-top: 8px; font-size: 11.5px; font-style: normal; color: #8b919c; }
.pmb-agenda-teks em .glyphicon { margin-right: 2px; top: 2px; }
.pmb-agenda-go {
    flex: 0 0 34px;
    align-self: center;
    height: 34px;
    margin-left: 12px;
    border-radius: 50%;
    line-height: 34px;
    text-align: center;
    color: var(--pmb-pink-gelap);
    background: var(--pmb-pink-muda);
    transition: background .18s ease, color .18s ease;
}
.pmb-agenda-card:hover .pmb-agenda-go, .pmb-agenda-card:focus .pmb-agenda-go { color: #fff; background: var(--pmb-pink); }
/* ---------- Agenda PMB: pop-up keterangan + penampil PDF ---------- */
.pmb-pdf-modal .modal-dialog { margin: 20px auto; }
.pmb-pdf-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 40px);
    height: calc(100dvh - 40px);
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(17, 24, 39, .35);
}
.pmb-pdf-modal .modal-header {
    flex: 0 0 auto;
    padding: 16px 22px;
    border-bottom: 3px solid var(--pmb-pink);
    color: #fff;
    background: var(--pmb-anggur-tua);
    background: linear-gradient(120deg, var(--pmb-anggur-tua) 0%, var(--pmb-anggur) 100%);
}
.pmb-pdf-modal .modal-title { padding-right: 20px; font-size: 18px; font-weight: 700; line-height: 1.35; color: #fff; }
.pmb-pdf-modal .pmb-pdf-meta { display: block; margin-top: 3px; font-size: 12px; color: #f7c4d1; }
.pmb-pdf-modal .close { margin-top: -2px; font-size: 30px; font-weight: 400; color: #fff; text-shadow: none; opacity: .8; }
.pmb-pdf-modal .close:hover, .pmb-pdf-modal .close:focus { color: var(--pmb-pink-terang); opacity: 1; }
.pmb-pdf-modal .modal-body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; padding: 0; }
.pmb-pdf-desc {
    flex: 0 0 auto;
    max-height: 22vh;
    padding: 14px 22px;
    overflow-y: auto;
    border-bottom: 1px solid #e8eaee;
    font-size: 14px;
    line-height: 1.6;
    white-space: pre-line;
    color: #4b5563;
    background: #fff;
}
.pmb-pdf-view {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px;
    overflow-y: auto;
    text-align: center;
    background: #eceef1;
    -webkit-overflow-scrolling: touch;
}
.pmb-pdf-page {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 16px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(var(--pmb-bayangan-rgb), .16);
}
.pmb-pdf-page:last-child { margin-bottom: 0; }
.pmb-pdf-status { padding: 70px 20px; font-size: 14px; color: #6b7280; }
.pmb-pdf-status .glyphicon { margin-right: 4px; color: var(--pmb-anggur); }
.pmb-pdf-frame { display: block; width: 100%; height: 100%; min-height: 360px; border: 0; background: #fff; }
.pmb-pdf-modal .modal-footer { flex: 0 0 auto; padding: 12px 22px; background: #f9fafb; }
.pmb-pdf-modal .modal-footer .btn { margin: 0 0 0 8px; }
@media (max-width: 767px) {
    .pmb-pdf-modal .modal-dialog { margin: 10px; }
    .pmb-pdf-modal .modal-content { height: calc(100vh - 20px); height: calc(100dvh - 20px); border-radius: 12px; }
    .pmb-pdf-modal .modal-header { padding: 14px 16px; }
    .pmb-pdf-modal .modal-title { font-size: 16px; }
    .pmb-pdf-desc { padding: 12px 16px; font-size: 13.5px; }
    .pmb-pdf-view { padding: 10px; }
    .pmb-pdf-page { margin-bottom: 10px; }
    .pmb-pdf-modal .modal-footer { display: flex; padding: 10px 12px; }
    .pmb-pdf-modal .modal-footer:before, .pmb-pdf-modal .modal-footer:after { display: none; }
    .pmb-pdf-modal .modal-footer .btn { flex: 1 1 0; margin: 0 4px; padding: 10px 8px; font-size: 13px; }
}

/* ---------- Panduan PMB: dokumen PDF di halaman ---------- */
.pmb-panduan-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.pmb-panduan-aksi .btn { margin: 4px 0 4px 8px; }
.pmb-panduan-view { height: 78vh; min-height: 420px; border-radius: 0 0 10px 10px; }
.pmb-panduan-frame { display: block; width: 100%; height: 78vh; min-height: 420px; border: 0; border-radius: 0 0 10px 10px; }
@media (max-width: 767px) {
    .pmb-panduan-head { display: block; }
    .pmb-panduan-aksi { display: flex; margin-top: 10px; }
    .pmb-panduan-aksi .btn { flex: 1 1 0; margin: 0 8px 0 0; }
    .pmb-panduan-aksi .btn:last-child { margin-right: 0; }
    .pmb-panduan-view { height: 72vh; padding: 10px; }
    .pmb-panduan-frame { height: 72vh; }
}
