/* ── PMB Gelombang Card ──────────────────────────────────────── */
.pmb-gl-card {
    border: none;
    border-radius: 1.25rem;
    transition: transform .2s ease, box-shadow .2s ease;
    position: relative;
}
.pmb-gl-card:hover { transform: translateY(-3px); }

.pmb-gl-open  { box-shadow: -5px 0 0 #0d6efd, 0 6px 24px rgba(13,110,253,.13); }
.pmb-gl-open:hover { box-shadow: -5px 0 0 #0d6efd, 0 12px 32px rgba(13,110,253,.22); }
.pmb-gl-closed { box-shadow: 0 2px 10px rgba(0,0,0,.07); opacity: .85; }
.pmb-gl-closed:hover { box-shadow: 0 6px 20px rgba(0,0,0,.12); }

/* Garis tipis di paling atas kartu */
.pmb-gl-ribbon {
    position: absolute; top: 0; left: 0; right: 0;
    height: 4px; border-radius: 1.25rem 1.25rem 0 0;
}
.pmb-ribbon-open   { background: linear-gradient(90deg, #0d6efd, #6610f2); }
.pmb-ribbon-closed { background: linear-gradient(90deg, #adb5bd, #6c757d); }

/* Badge prodi */
.pmb-prodi-badge {
    font-size: .72rem; font-weight: 600; letter-spacing: .01em;
    padding: .3rem .65rem; cursor: default;
}
.pmb-prodi-more {
    font-size: .72rem; font-weight: 700; cursor: pointer;
    background: rgba(108,117,125,.13); color: #495057;
    border: 1px solid rgba(108,117,125,.3); border-radius: 50rem;
    padding: .3rem .65rem; transition: background .15s;
}
.pmb-prodi-more:hover { background: rgba(13,110,253,.12); color: #0d6efd; border-color: rgba(13,110,253,.3); }

/* Kotak deadline */
.pmb-dl-box {
    border-radius: .75rem; padding: .55rem .75rem;
    min-width: 0;
}

/* Kolom aksi kanan */
.pmb-action-col {
    flex-shrink: 0; width: 200px;
    display: flex !important; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center; gap: .55rem;
    padding-left: 1.5rem;
    border-left: 1px dashed rgba(13,110,253,.22);
}
@media (max-width: 991.98px) {
    .pmb-action-col {
        width: 100% !important; padding-left: 0;
        border-left: none;
        border-top: 1px dashed rgba(13,110,253,.18);
        padding-top: 1.25rem;
    }
}

/* Tombol CTA */
.btn-pmb-cta {
    background: linear-gradient(135deg, #0d6efd 0%, #6610f2 100%);
    border: none; color: #fff !important;
    border-radius: 50rem; font-weight: 700; font-size: .88rem;
    padding: .55rem 1.4rem;
    box-shadow: 0 4px 14px rgba(13,110,253,.35);
    transition: transform .2s ease, box-shadow .2s ease;
    white-space: nowrap; cursor: pointer;
}
.btn-pmb-cta:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(13,110,253,.55);
    color: #fff !important;
}
.btn-pmb-cta:disabled {
    background: linear-gradient(135deg, #adb5bd, #6c757d);
    box-shadow: none; opacity: .72; cursor: not-allowed;
}

/* Status dot */
.pmb-dot {
    display: inline-block; width: 8px; height: 8px;
    border-radius: 50%; margin-right: 4px; vertical-align: middle;
}
.pmb-dot-open   { background: #198754; animation: pmbDotPulse 1.6s ease-in-out infinite; }
.pmb-dot-closed { background: #adb5bd; }
@keyframes pmbDotPulse { 0%,100%{opacity:1} 50%{opacity:.25} }

/* Countdown chip */
.pmb-chip {
    font-size: .7rem; font-weight: 700;
    border-radius: .5rem; padding: .22rem .6rem;
    display: inline-block;
}

/* Empty state */
.pmb-empty {
    background: #fff; border: 1px solid rgba(0,0,0,.07);
    border-radius: 1.25rem;
}

/* Pagination override */
.pmb-page-link {
    border: none; font-weight: 700; padding: .45rem .85rem;
    transition: background .15s, color .15s;
}
.pmb-page-link:not(.active-page):hover { background: rgba(13,110,253,.08); }
.pmb-page-link.active-page { background: #0d6efd !important; color: #fff !important; }
