/* =========================================================
   MindLift Supervisor Directory — directory.css
   ========================================================= */

/* ── Filter bar ── */
.mla-filters {
	margin-bottom: 2rem;
}

.mla-filters__inner {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	align-items: flex-end;
}

.mla-filters__field {
	flex: 1 1 180px;
}

.mla-filters__field--search {
	flex: 2 1 260px;
}

.mla-filters__field input[type="text"],
.mla-filters__field select {
	width: 100%;
	padding: .6rem .85rem;
	border: 1px solid #cbd5e0;
	border-radius: 6px;
	font-size: .95rem;
	background: #fff;
	color: #1a202c;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
}

.mla-filters__field input[type="text"]:focus,
.mla-filters__field select:focus {
	outline: none;
	border-color: #2b7a78;
	box-shadow: 0 0 0 3px rgba(43,122,120,.18);
}

.mla-filters__btn {
	flex-shrink: 0;
	white-space: nowrap;
}

.mla-filters__clear {
	flex-shrink: 0;
	font-size: .9rem;
	color: #555;
	text-decoration: underline;
	align-self: center;
}

/* ── Results count ── */
.mla-results-count {
	font-size: .9rem;
	color: #555;
	margin: 0 0 1.25rem;
}

/* ── Grid ── */
.mla-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

@media (max-width: 900px) {
	.mla-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
	.mla-grid { grid-template-columns: 1fr; }
	.mla-filters__field { flex: 1 1 100%; }
}

/* ── Card ── */
.mla-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s, transform .2s;
}

.mla-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,.09);
	transform: translateY(-2px);
}

.mla-card__top {
	position: relative;
	background: #f0fafa;
	padding: 1.5rem 1.5rem .75rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.mla-card__photo {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.mla-card__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	flex-shrink: 0;
	background: #2b7a78;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.mla-card__avail {
	position: absolute;
	top: .75rem;
	right: .75rem;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: .25rem .55rem;
	border-radius: 20px;
}

.mla-card__avail--accepting {
	background: #d1fae5;
	color: #065f46;
}

.mla-card__avail--limited {
	background: #fef3c7;
	color: #92400e;
}

.mla-card__avail--closed {
	background: #fee2e2;
	color: #991b1b;
}

.mla-card__body {
	padding: .75rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mla-card__name {
	font-size: 1.05rem;
	font-weight: 700;
	color: #1a202c;
	margin: 0 0 .3rem;
	line-height: 1.35;
}

.mla-card__creds {
	font-size: .82rem;
	font-weight: 500;
	color: #2b7a78;
	margin-left: .35rem;
}

.mla-card__location {
	font-size: .85rem;
	color: #555;
	margin: 0 0 .3rem;
}

.mla-card__sessions {
	font-size: .82rem;
	color: #2b7a78;
	font-weight: 600;
	margin: 0 0 .6rem;
	text-transform: capitalize;
}

.mla-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin-bottom: .85rem;
}

.mla-card__tag {
	background: #e8f5f5;
	color: #2b7a78;
	font-size: .74rem;
	font-weight: 600;
	padding: .2rem .55rem;
	border-radius: 20px;
	border: 1px solid #b2d8d8;
}

.mla-card__link {
	display: inline-block;
	margin-top: auto;
	font-size: .88rem;
	padding: .5rem 1.1rem;
	text-align: center;
}

/* ── Empty state ── */
.mla-empty-state {
	text-align: center;
	padding: 4rem 2rem;
}

.mla-empty-state__icon {
	font-size: 2.5rem;
	margin-bottom: .75rem;
}

.mla-empty-state__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1a202c;
	margin: 0 0 .6rem;
}

.mla-empty-state__text {
	font-size: 1rem;
	color: #555;
	max-width: 480px;
	margin: 0 auto;
}

/* ── Pagination ── */
.mla-pagination {
	display: flex;
	justify-content: center;
	gap: .5rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}

.mla-pagination__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	height: 2.4rem;
	padding: 0 .75rem;
	border: 1px solid #cbd5e0;
	border-radius: 6px;
	font-size: .9rem;
	color: #2b7a78;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s, color .15s;
}

.mla-pagination__btn:hover,
.mla-pagination__btn.active {
	background: #2b7a78;
	color: #fff;
	border-color: #2b7a78;
}

/* =========================================================
   Single supervisor profile
   ========================================================= */

.mla-profile-hero {
	background: linear-gradient(135deg, #17384e 0%, #2b7a78 100%);
	padding: 3rem 1.5rem 3.5rem;
}

.mla-profile-hero__wrap {
	max-width: 1200px;
	margin: 0 auto;
}

.mla-profile-hero__back {
	display: inline-block;
	color: rgba(255,255,255,.7);
	font-size: .85rem;
	text-decoration: none;
	margin-bottom: 1.25rem;
	transition: color .15s;
}

.mla-profile-hero__back:hover {
	color: #fff;
}

.mla-profile-hero__inner {
	display: flex;
	gap: 2rem;
	align-items: center;
}

.mla-profile-hero__photo {
	flex-shrink: 0;
}

.mla-profile-hero__img {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	border: 5px solid rgba(255,255,255,.25);
	box-shadow: 0 4px 20px rgba(0,0,0,.25);
	display: block;
}

.mla-profile-hero__avatar {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: rgba(255,255,255,.15);
	border: 5px solid rgba(255,255,255,.25);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: .04em;
}

.mla-profile-hero__meta {
	flex: 1;
	color: #fff;
}

.mla-profile-hero__name {
	font-size: 2rem;
	font-weight: 800;
	color: #fff !important;
	margin: 0 0 .5rem;
	line-height: 1.2;
}

.mla-profile-hero__creds {
	font-size: 1.6rem;
	font-weight: 800;
	color: #fff;
	margin-left: .35rem;
}

.mla-profile-hero__location {
	font-size: 1rem;
	color: rgba(255,255,255,.85);
	margin: 0 0 .85rem;
}

.mla-profile-hero__avail {
	display: inline-block;
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	padding: .3rem .75rem;
	border-radius: 20px;
	margin-bottom: 1.25rem;
}

.mla-profile-hero__avail--accepting {
	background: #d1fae5;
	color: #065f46;
}

.mla-profile-hero__avail--limited {
	background: #fef3c7;
	color: #92400e;
}

.mla-profile-hero__avail--closed {
	background: #fee2e2;
	color: #991b1b;
}

.mla-profile-hero__cta {
	margin-top: .5rem;
}

/* ── Bio section ── */
.mla-profile-bio h2 {
	font-size: 1.6rem;
	font-weight: 700;
	color: #17384e;
	margin-bottom: 1rem;
}

.mla-profile-bio__content {
	font-size: 1.05rem;
	color: #333;
	line-height: 1.75;
	max-width: 680px;
}

.mla-profile-bio__content p {
	margin-bottom: 1em;
}

/* ── Details section ── */
.mla-profile-details {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
}

.mla-profile-detail-block__heading {
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #2b7a78;
	margin: 0 0 .65rem;
}

.mla-profile-detail-block__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

/* ── Responsive ── */
@media (max-width: 640px) {
	.mla-profile-hero__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.25rem;
	}

	.mla-profile-hero__img,
	.mla-profile-hero__avatar {
		width: 110px;
		height: 110px;
		font-size: 2.2rem;
	}

	.mla-profile-hero__name {
		font-size: 1.5rem;
	}

	.mla-profile-details {
		flex-direction: column;
		gap: 1.5rem;
	}
}
