/* KSMDBC Faculty Manager – Grid & Profile */
.ksmdbc-faculty-grid { display:grid; gap:28px; margin:32px 0; }
.ksmdbc-cols-2 { grid-template-columns:repeat(2,1fr); }
.ksmdbc-cols-3 { grid-template-columns:repeat(3,1fr); }
.ksmdbc-cols-4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .ksmdbc-cols-3,.ksmdbc-cols-4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .ksmdbc-faculty-grid{ grid-template-columns:1fr !important; } }

.ksmdbc-faculty-card { background:#fff; border-radius:12px; box-shadow:0 4px 18px rgba(0,0,0,0.09); overflow:hidden; text-align:center; transition:transform .25s,box-shadow .25s; display:flex; flex-direction:column; }
.ksmdbc-faculty-card:hover { transform:translateY(-5px); box-shadow:0 10px 32px rgba(0,0,0,0.14); }
.ksmdbc-faculty-photo { width:100%; height:220px; overflow:hidden; background:#f4f4f4; display:flex; align-items:center; justify-content:center; }
.ksmdbc-faculty-photo img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.ksmdbc-faculty-no-photo { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#7a0a0a,#a01414); }
.ksmdbc-faculty-no-photo .dashicons { font-size:72px; width:72px; height:72px; color:rgba(255,255,255,0.5); }
.ksmdbc-faculty-info { padding:20px 18px 24px; flex:1; display:flex; flex-direction:column; align-items:center; }
.ksmdbc-faculty-name { font-size:1.05rem; font-weight:700; color:#1a1a1a; margin:0 0 6px; }
.ksmdbc-faculty-designation { font-size:0.85rem; color:#7a0a0a; font-weight:600; margin:0 0 4px; }
.ksmdbc-faculty-dept { font-size:0.78rem; color:#777; margin:0 0 14px; }
.ksmdbc-profile-btn { display:inline-block; margin-top:auto; padding:8px 22px; background:#7a0a0a; color:#fff !important; border-radius:20px; text-decoration:none !important; font-size:0.82rem; font-weight:600; transition:background .2s,transform .2s; }
.ksmdbc-profile-btn:hover { background:#a01414; transform:scale(1.04); }

/* Profile page */
.ksmdbc-profile-page { background:#f7f7f7; min-height:80vh; padding:40px 0 60px; }
.ksmdbc-profile-container { max-width:960px; margin:0 auto; padding:0 24px; }
.ksmdbc-back-btn { display:inline-flex; align-items:center; gap:6px; color:#7a0a0a; text-decoration:none; font-weight:600; font-size:0.9rem; margin-bottom:24px; transition:gap .2s; }
.ksmdbc-back-btn:hover { gap:10px; }
.ksmdbc-profile-header { background:#fff; border-radius:14px; box-shadow:0 4px 20px rgba(0,0,0,0.1); padding:36px; display:flex; gap:36px; align-items:flex-start; margin-bottom:24px; border-top:5px solid #7a0a0a; }
@media(max-width:640px){ .ksmdbc-profile-header { flex-direction:column; align-items:center; text-align:center; } }
.ksmdbc-profile-photo { flex-shrink:0; width:180px; height:210px; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,0.15); }
.ksmdbc-profile-photo img { width:100%; height:100%; object-fit:cover; object-position:top; }
.ksmdbc-profile-no-photo { width:100%; height:100%; background:linear-gradient(135deg,#7a0a0a,#a01414); display:flex; align-items:center; justify-content:center; }
.ksmdbc-profile-no-photo .dashicons { font-size:80px; width:80px; height:80px; color:rgba(255,255,255,0.45); }
.ksmdbc-profile-header-info { flex:1; }
.ksmdbc-profile-name { font-size:1.7rem; font-weight:800; color:#1a1a1a; margin:0 0 6px; }
.ksmdbc-profile-designation { font-size:1.05rem; color:#7a0a0a; font-weight:700; margin:0 0 12px; }
.ksmdbc-profile-dept,.ksmdbc-profile-qual,.ksmdbc-profile-exp { font-size:0.92rem; color:#555; margin:0 0 8px; display:flex; align-items:center; gap:7px; }
.ksmdbc-profile-dept .dashicons,.ksmdbc-profile-qual .dashicons,.ksmdbc-profile-exp .dashicons { color:#c89b2a; font-size:17px; width:17px; height:17px; }
.ksmdbc-profile-contact { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.ksmdbc-contact-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:20px; font-size:0.82rem; font-weight:600; text-decoration:none !important; transition:opacity .2s; }
.ksmdbc-contact-badge:hover { opacity:.8; }
.ksmdbc-contact-badge.email { background:#fff3f3; color:#7a0a0a !important; border:1px solid #f0c0c0; }
.ksmdbc-contact-badge.phone { background:#f3f7ff; color:#1a5cb8 !important; border:1px solid #c0d4f0; }
.ksmdbc-contact-badge .dashicons { font-size:15px; width:15px; height:15px; }
.ksmdbc-profile-section { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,0.07); padding:26px 30px; margin-bottom:18px; }
.ksmdbc-profile-section h2 { font-size:1.05rem; font-weight:700; color:#7a0a0a; margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid #f5e0e0; display:flex; align-items:center; gap:8px; }
.ksmdbc-profile-section h2 .dashicons { font-size:19px; width:19px; height:19px; color:#c89b2a; }
.ksmdbc-profile-section-content p,.ksmdbc-profile-section-content li { color:#444; font-size:0.95rem; line-height:1.75; }
.ksmdbc-pub-list { padding-left:20px; }
.ksmdbc-pub-list li { margin-bottom:8px; }
.ksmdbc-no-faculty { color:#888; font-style:italic; padding:20px; text-align:center; }
