/* ==========================================================================
   Dr. Nobin Bordoloi College — Faculty Directory & Profile Pages
   Extends theme-pro.css / theme-dept.css tokens.
   ========================================================================== */

.fac-page{ background:var(--pro-bg); }

/* ---- Hero (shared look with dept-hero) ---- */
.fac-hero{
	position:relative;
	background:
		radial-gradient(1100px 420px at 15% -10%, rgba(212,168,58,.18), transparent 60%),
		linear-gradient(120deg,var(--pro-navy-dark) 0%,var(--pro-navy) 55%,var(--pro-royal-2) 100%);
	color:#fff;
	padding:46px 24px 34px;
	overflow:hidden;
}
.fac-hero::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:4px;
	background:linear-gradient(90deg,transparent,var(--pro-gold) 25%,var(--pro-gold-light) 50%,var(--pro-gold) 75%,transparent);
}
.fac-hero-inner{ width:100%; }
.fac-crumb{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:12.5px; color:rgba(255,255,255,.65); margin:0 0 16px; }
.fac-crumb a{ color:rgba(255,255,255,.8); text-decoration:none; }
.fac-crumb a:hover{ color:var(--pro-gold-light); }
.fac-crumb .sep{ opacity:.5; }
.fac-crumb .cur{ color:var(--pro-gold-light); }
.fac-hero-kicker{
	display:inline-flex; align-items:center; gap:8px;
	font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--pro-gold-light);
	background:rgba(212,168,58,.12);
	border:1px solid rgba(212,168,58,.35);
	padding:5px 14px; border-radius:99px; margin-bottom:14px;
}
.fac-hero-title{ font-family:var(--pro-font-head); font-size:clamp(28px,4vw,44px); line-height:1.15; margin:0 0 10px; }
.fac-hero-sub{ font-size:15px; color:rgba(255,255,255,.82); max-width:680px; margin:0; }

/* ---- Directory shell ---- */
.fac-shell{ width:100%; margin:0; padding:30px 24px 70px; }

.fac-filterbar{
	display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
	margin:-26px 0 34px; position:relative; z-index:2;
	background:var(--pro-white); border-radius:var(--pro-radius);
	box-shadow:var(--pro-shadow-lg); padding:14px;
}
.fac-filterbar a{
	font-size:13px; font-weight:600; color:var(--pro-navy);
	background:var(--pro-cream); border:1px solid var(--pro-cream-2);
	padding:8px 16px; border-radius:99px; text-decoration:none;
	transition:var(--pro-transition); white-space:nowrap;
}
.fac-filterbar a:hover{ background:var(--pro-cream-2); }
.fac-filterbar a.is-active{ background:var(--pro-navy); border-color:var(--pro-navy); color:#fff; }

.fac-group{ margin-bottom:40px; scroll-margin-top:96px; }
.fac-group-title{
	font-family:var(--pro-font-head); color:var(--pro-navy);
	font-size:22px; margin:0 0 18px; padding-bottom:10px;
	border-bottom:2px solid var(--pro-cream-2); position:relative;
}
.fac-group-title::after{ content:""; position:absolute; left:0; bottom:-2px; width:52px; height:2px; background:var(--pro-gold); }
.fac-group-title a{ color:inherit; text-decoration:none; }

.fac-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; }

.fac-card{
	background:var(--pro-white); border:1px solid var(--pro-border);
	border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-sm);
	padding:22px 18px; text-align:center; text-decoration:none; color:inherit;
	transition:var(--pro-transition); position:relative;
	display:flex; flex-direction:column; align-items:center;
}
.fac-card:hover{ transform:translateY(-4px); box-shadow:var(--pro-shadow-lg); border-color:var(--pro-gold); }

.fac-avatar{
	width:104px; height:104px; border-radius:50%;
	object-fit:cover; margin-bottom:14px;
	border:3px solid var(--pro-cream-2); box-shadow:var(--pro-shadow-sm);
}
.fac-avatar-fallback{
	width:104px; height:104px; border-radius:50%; margin-bottom:14px;
	display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,var(--pro-navy),var(--pro-royal-2));
	color:var(--pro-gold-light); font-family:var(--pro-font-head);
	font-size:32px; border:3px solid var(--pro-cream-2); box-shadow:var(--pro-shadow-sm);
}
.fac-card-name{ font-size:15px; font-weight:700; color:var(--pro-ink); margin:0 0 4px; }
.fac-card-role{ font-size:12.5px; color:var(--pro-slate); margin:0 0 8px; }
.fac-hod-badge{
	position:absolute; top:12px; right:12px;
	font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	color:var(--pro-navy-dark); background:var(--pro-gold);
	padding:3px 9px; border-radius:99px;
}
.fac-card-dept{
	font-size:11.5px; color:var(--pro-gold-dark); font-weight:600;
	background:var(--pro-cream); border:1px solid var(--pro-cream-2);
	padding:3px 10px; border-radius:99px; display:inline-block;
}

/* ---- Single profile ---- */
.fac-profile-grid{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; }

.fac-profile-card{
	background:var(--pro-white); border:1px solid var(--pro-border);
	border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-sm);
	padding:26px 22px; text-align:center; position:sticky; top:24px;
}
.fac-profile-photo{
	width:170px; height:170px; border-radius:50%; object-fit:cover;
	margin:0 auto 16px; border:4px solid var(--pro-cream-2); box-shadow:var(--pro-shadow-sm);
}
.fac-profile-photo-fallback{
	width:170px; height:170px; border-radius:50%; margin:0 auto 16px;
	display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,var(--pro-navy),var(--pro-royal-2));
	color:var(--pro-gold-light); font-family:var(--pro-font-head);
	font-size:54px; border:4px solid var(--pro-cream-2); box-shadow:var(--pro-shadow-sm);
}
.fac-profile-name{ font-family:var(--pro-font-head); font-size:22px; color:var(--pro-navy); margin:0 0 4px; }
.fac-profile-role{ font-size:13.5px; color:var(--pro-slate); margin:0 0 14px; }
.fac-profile-dept-chip{
	display:inline-flex; align-items:center; gap:6px;
	font-size:12px; font-weight:600; color:var(--pro-navy);
	background:var(--pro-cream); border:1px solid var(--pro-cream-2);
	padding:5px 14px; border-radius:99px; margin-bottom:18px;
}
.fac-profile-list{ list-style:none; margin:0 0 18px; padding:0; text-align:left; }
.fac-profile-list li{ display:flex; align-items:flex-start; gap:10px; font-size:13px; padding:8px 0; border-bottom:1px dashed var(--pro-border); color:var(--pro-warm-text); }
.fac-profile-list li:last-child{ border-bottom:none; }
.fac-profile-list li i{ color:var(--pro-gold-dark); margin-top:2px; width:14px; text-align:center; flex-shrink:0; }
.fac-profile-list li span,
.fac-profile-list li a{ min-width:0; flex:1; }
.fac-profile-list li a{ color:var(--pro-warm-text); text-decoration:none; word-break:break-all; }
.fac-profile-list li a:hover{ color:var(--pro-navy); }

.fac-cv-btn{
	display:flex; align-items:center; justify-content:center; gap:8px;
	width:100%; font-size:13.5px; font-weight:700;
	background:var(--pro-gold); color:var(--pro-navy-dark);
	padding:11px 18px; border-radius:99px; text-decoration:none;
	transition:var(--pro-transition);
}
.fac-cv-btn:hover{ background:var(--pro-gold-light); }

.fac-content-col{ min-width:0; }
.fac-content-col .dept-section{ margin-bottom:22px; }
.fac-spec-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.fac-spec-pills span{
	font-size:12.5px; font-weight:600; color:var(--pro-navy);
	background:var(--pro-cream); border:1px solid var(--pro-cream-2);
	padding:6px 14px; border-radius:99px;
}

@media (max-width:820px){
	.fac-profile-grid{ grid-template-columns:minmax(0,1fr); }
	.fac-profile-card{ position:static; }
}

@media (max-width:480px){
	.fac-hero{ padding:34px 16px 26px; }
	.fac-shell{ padding:24px 16px 50px; }
	.fac-filterbar{ margin:-20px 0 26px; padding:10px; }
	.fac-grid{ grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
	.fac-card{ padding:16px 10px; }
	.fac-avatar,.fac-avatar-fallback{ width:76px; height:76px; }
	.fac-profile-card{ padding:20px 16px; }
	.fac-profile-photo,.fac-profile-photo-fallback{ width:120px; height:120px; font-size:38px; }
	.fac-hod-badge{ top:8px; right:8px; }
}

/* ---- Full CV (raw, converted verbatim from the submitted docx) ---- */
.cv-toggle{
	border:1px solid var(--pro-border); border-radius:var(--pro-radius);
	background:var(--pro-white); box-shadow:var(--pro-shadow-sm);
	padding:0; margin-bottom:22px; overflow:hidden;
}
.cv-toggle > summary{
	list-style:none; cursor:pointer; user-select:none;
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	padding:20px 26px; font-family:var(--pro-font-head); font-size:19px; color:var(--pro-navy);
}
.cv-toggle > summary::-webkit-details-marker{ display:none; }
.cv-toggle > summary .cv-toggle-icon{
	font-family:'FontAwesome', sans-serif; font-size:14px; color:var(--pro-gold-dark);
	transition:transform .25s var(--pro-ease);
}
.cv-toggle[open] > summary .cv-toggle-icon{ transform:rotate(90deg); }
.cv-toggle > summary .cv-toggle-note{ font-family:inherit; font-size:12px; color:var(--pro-slate); font-weight:400; margin-left:10px; }

.cv-raw{
	padding:6px 26px 28px; border-top:1px solid var(--pro-border);
	width:100%; color:var(--pro-warm-text);
}
.cv-raw ul{ list-style:disc; padding-left:20px; margin:4px 0 12px; }
.cv-raw ul ul{ margin:2px 0; }
.cv-raw li{ padding:2px 0; font-size:13.5px; line-height:1.6; overflow-wrap:anywhere; }
.cv-raw li b{ color:var(--pro-navy); font-size:14.5px; }
.cv-raw p{ font-size:13.5px; line-height:1.7; margin:8px 0; overflow-wrap:anywhere; }
.cv-raw table{ table-layout:fixed; width:100%; border-collapse:collapse; margin:10px 0 24px; font-size:12.5px; }
.cv-raw table td{ border:1px solid var(--pro-border); padding:7px 10px; vertical-align:top; overflow-wrap:break-word; word-break:break-word; white-space:normal; }
.cv-raw table td p{ margin:0; font-size:inherit; overflow-wrap:break-word; word-break:break-word; }
.cv-raw table td b{ color:var(--pro-navy); }
.cv-raw table tr:nth-child(even){ background:var(--pro-cream); }
.cv-raw > *:first-child{ margin-top:14px; }

@media (max-width:480px){
	.cv-raw{ padding:6px 16px 22px; }
	.cv-toggle > summary{ padding:16px 16px; font-size:16px; }
	.cv-toggle > summary .cv-toggle-note{ display:block; margin-left:0; margin-top:2px; }
}
