/* ================================================================
   PROFIL — standalone CSS
   Dipakai oleh: senat.php, dosen.php, guru_besar.php, staf.php, pimpinan.php
   Warna mengikuti CSS variable tema dari head.php
   ================================================================ */

/* ─── BREADCRUMB ─────────────────────────────────────────────── */
.prf-bc-bar {
    background: #fff;
    border-bottom: 1px solid #e8ede9;
    padding: 10px 0;
}
.prf-bc {
    list-style: none; margin: 0; padding: 0;
    display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: #7a9487;
}
.prf-bc li + li::before { content: '/'; margin-right: 6px; color: #b0c4ba; }
.prf-bc li a { color: var(--green-main); text-decoration: none; }
.prf-bc li a:hover { text-decoration: underline; }
.prf-bc li.active { color: #4a6358; }
.prf-bc li i { margin-right: 4px; }

/* ─── WRAPPER ────────────────────────────────────────────────── */
.prf-wrap {
    background: #f0f2f0;
    padding: 32px 0 52px;
    min-height: 60vh;
}

/* ─── HEADER BAR ─────────────────────────────────────────────── */
.prf-header-bar {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    padding: 14px 20px;
    margin-bottom: 22px;
    display: flex; align-items: center; justify-content: space-between;
}
.prf-header-bar h2 {
    font-size: 16px; font-weight: 700; color: var(--green-dark);
    margin: 0; display: flex; align-items: center; gap: 10px;
}
.prf-header-bar h2::before {
    content: ''; display: block;
    width: 4px; height: 20px; border-radius: 2px;
    background: var(--green-main); flex-shrink: 0;
}
.prf-header-bar h2 i { color: var(--green-main); font-size: 18px; }
.prf-header-count {
    font-size: 12.5px; color: #7a9487;
    background: #f0f2f0; padding: 4px 12px; border-radius: 20px;
}

/* ─── SECTION LABEL (untuk pimpinan role groups) ─────────────── */
.prf-section-label {
    background: linear-gradient(135deg, var(--green-dark), var(--green-main));
    color: #fff; font-size: 13px; font-weight: 600;
    padding: 8px 16px; border-radius: 8px;
    margin: 18px 0 14px; display: inline-flex;
    align-items: center; gap: 8px;
}
.prf-section-label i { font-size: 14px; }
.prf-section-divider {
    border: none; border-top: 2px dashed #d4e4da;
    margin: 22px 0;
}

/* ─── CARD GRID ──────────────────────────────────────────────── */
.prf-grid {
    display: flex; flex-wrap: wrap;
    margin-left: -10px; margin-right: -10px;
}
.prf-col {
    width: 33.333%; padding: 0 10px;
    margin-bottom: 20px; display: flex;
}

/* ─── CARD ───────────────────────────────────────────────────── */
.prf-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.07);
    overflow: hidden; width: 100%;
    cursor: pointer; position: relative;
    transition: transform .22s, box-shadow .22s;
    display: flex; flex-direction: column;
}
.prf-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,.13);
}

.prf-card-photo {
    width: 100%; height: 210px;
    overflow: hidden; background: #c8d8cc;
    flex-shrink: 0;
}
.prf-card-photo img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .35s ease;
}
.prf-card:hover .prf-card-photo img { transform: scale(1.06); }

.prf-card-info {
    padding: 14px 16px 16px;
    flex: 1; display: flex; flex-direction: column; gap: 5px;
}
.prf-card-name {
    font-size: 14px; font-weight: 700; color: #1a2b1f;
    margin: 0; line-height: 1.4;
}
.prf-card-jabatan {
    font-size: 12.5px; color: var(--green-main); font-weight: 500;
    margin: 0; line-height: 1.35;
}
.prf-card-detail {
    margin-top: auto; padding-top: 10px;
    font-size: 12px; color: #7a9487;
    display: flex; align-items: center; gap: 4px;
}
.prf-card-detail i { color: var(--green-main); }

/* click overlay */
.prf-card-link {
    position: absolute; inset: 0;
    text-decoration: none;
}

/* ─── EMPTY STATE ────────────────────────────────────────────── */
.prf-empty {
    text-align: center; padding: 60px 20px; color: #7a9487;
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.prf-empty i { font-size: 48px; display: block; margin-bottom: 14px; }
.prf-empty p { font-size: 15px; margin: 0; }

/* ─── MODAL OVERRIDE ─────────────────────────────────────────── */
.prf-modal .modal-content {
    border-radius: 14px;
    border: none;
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
    overflow: hidden;
}
.prf-modal .modal-header {
    background: linear-gradient(135deg, var(--green-dark), var(--green-main));
    border: none; padding: 12px 16px;
}
.prf-modal .modal-header .close {
    color: #fff; opacity: .8; text-shadow: none;
    font-size: 22px; margin-top: -2px;
}
.prf-modal .modal-header .close:hover { opacity: 1; }
.prf-modal .modal-body { padding: 28px 24px 24px; }

.prf-modal-photo {
    width: 110px; height: 110px;
    border-radius: 50%;
    object-fit: cover; display: block;
    margin: 0 auto 14px;
    border: 4px solid #e0ede5;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.prf-modal-name {
    font-size: 16px; font-weight: 700; color: #1a2b1f;
    text-align: center; margin: 0 0 4px;
}
.prf-modal-jabatan {
    font-size: 13px; color: var(--green-main); font-style: italic;
    text-align: center; margin: 0 0 18px;
}
.prf-modal-desc {
    font-size: 13.5px; color: #4a5e54; line-height: 1.7;
    border-top: 1px solid #e8ede9; padding-top: 16px;
    margin: 0;
}

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 991px) {
    .prf-col { width: 50%; }
}
@media (max-width: 767px) {
    .prf-wrap { padding: 20px 0 36px; }
    .prf-col { width: 50%; }
    .prf-card-photo { height: 170px; }
}
@media (max-width: 480px) {
    .prf-col { width: 100%; }
    .prf-card-photo { height: 200px; }
}
