/* لیست و صفحه ی نیم رخ درمانگران - همه ی استایل ها زیر .eft-mem و .eft-prof هستند */
.eft-mem, .eft-prof {
	--m-brand: #662D91;
	--m-brand-dark: #4f2174;
	--m-soft: #f8f0fc;
	--m-border: #e4dcec;
	--m-text: #2b2b33;
	--m-muted: #6b6b7a;
	font-family: inherit;
	color: var(--m-text);
}
.eft-mem *, .eft-mem *::before, .eft-mem *::after,
.eft-prof *, .eft-prof *::before, .eft-prof *::after { box-sizing: border-box; }

/* ---------- جستجو ---------- */
.eft-mem__search {
	display: grid; grid-template-columns: 1fr; gap: 14px; align-items: end;
	padding: clamp(14px, 2.4vw, 22px); margin: 0 0 24px; background: #fff;
	border: 1px solid var(--m-border); border-radius: 14px; box-shadow: 0 6px 20px rgba(102, 45, 145, .06);
}
@media (min-width: 760px) { .eft-mem__search { grid-template-columns: 2fr 1.2fr 1.2fr auto; gap: 16px; } }
.eft-mem__field { min-width: 0; }
.eft-mem__field label { display: block; margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--m-text); }
.eft-mem .eft-mem__field input[type=text],
.eft-mem .eft-mem__field select {
	width: 100%; min-height: 46px; margin: 0; padding: 10px 14px; font-size: 14.5px; font-family: inherit; color: var(--m-text);
	background: #fff; border: 1px solid #d6cce0; border-radius: 10px; box-shadow: none; outline: 0;
	transition: border-color .15s, box-shadow .15s; -webkit-appearance: none; appearance: none;
}
.eft-mem .eft-mem__field select {
	padding-left: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23662D91' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: left 14px center; background-size: 12px 8px;
}
.eft-mem .eft-mem__field input:focus, .eft-mem .eft-mem__field select:focus { border-color: var(--m-brand); box-shadow: 0 0 0 3px rgba(102, 45, 145, .15); }
.eft-mem .eft-mem__field select:disabled { background-color: #f4f1f7; color: #9a93a3; cursor: not-allowed; }
.eft-mem .eft-mem__btn {
	width: 100%; min-height: 46px; padding: 10px 32px; border: 0; border-radius: 10px; background: var(--m-brand); color: #fff;
	font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer; transition: background .15s;
}
.eft-mem .eft-mem__btn:hover { background: var(--m-brand-dark); }
@media (min-width: 760px) { .eft-mem .eft-mem__btn { width: auto; min-width: 120px; } }

/* ---------- کارت ها ---------- */
.eft-mem__grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 560px) { .eft-mem__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .eft-mem__grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.eft-mem a.eft-mem__card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; min-width: 0;
	padding: 26px 18px 22px; background: #fff; border: 1px solid var(--m-border); border-radius: 16px;
	text-decoration: none; color: var(--m-text); box-shadow: 0 4px 14px rgba(10, 10, 10, .04);
	transition: transform .18s, box-shadow .18s, border-color .18s;
}
.eft-mem a.eft-mem__card:hover, .eft-mem a.eft-mem__card:focus-visible {
	transform: translateY(-4px); border-color: var(--m-brand); box-shadow: 0 14px 30px rgba(102, 45, 145, .16); outline: 0;
}
.eft-mem__avatar {
	display: block; width: 112px; height: 112px; margin: 0 0 6px; border-radius: 50%; overflow: hidden; background: var(--m-soft);
	border: 3px solid #fff; box-shadow: 0 0 0 2px var(--m-brand), 0 8px 18px rgba(102, 45, 145, .18);
}
.eft-mem__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.eft-mem__name { font-size: 18px; font-weight: 800; line-height: 1.7; color: var(--m-brand); overflow-wrap: anywhere; }
.eft-mem__title { font-weight: 800; color: var(--m-brand); }
.eft-mem__level {
	display: inline-block; max-width: 100%; padding: 4px 12px; font-size: 12px; line-height: 1.6; color: var(--m-brand);
	background: var(--m-soft); border-radius: 999px; overflow-wrap: anywhere; unicode-bidi: plaintext;
}
.eft-mem__place { font-size: 13.5px; color: var(--m-muted); }
.eft-mem__place::before {
	content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: var(--m-brand); opacity: .6;
}
.eft-mem__empty {
	padding: 40px 20px; text-align: center; color: var(--m-muted); background: #fff; border: 1px dashed #c9b8d9; border-radius: 14px;
}
.eft-mem__pager { margin-top: 28px; text-align: center; }
.eft-mem__pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; margin: 3px; padding: 6px 12px;
	border: 1px solid var(--m-border); border-radius: 10px; background: #fff; color: var(--m-text); text-decoration: none;
}
.eft-mem__pager .page-numbers.current, .eft-mem__pager a.page-numbers:hover { background: var(--m-brand); border-color: var(--m-brand); color: #fff; }

/* ---------- صفحه ی نیم رخ ---------- */
.eft-prof__crumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; padding: 10px 16px;
	background: #fff; border: 1px solid var(--m-border); border-radius: 10px; font-size: 14px; color: var(--m-muted);
}
.eft-prof__crumb a { color: var(--m-brand); text-decoration: none; }
.eft-prof__crumb a:hover { text-decoration: underline; }
.eft-prof__layout { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
@media (min-width: 900px) { .eft-prof__layout { grid-template-columns: 340px 1fr; } }
.eft-prof__side, .eft-prof__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.eft-prof__card {
	padding: clamp(18px, 2.6vw, 28px); background: #fff; border: 1px solid var(--m-border); border-radius: 16px;
	box-shadow: 0 4px 14px rgba(10, 10, 10, .04);
}
.eft-prof__hero {
	text-align: center; padding-top: 0; overflow: hidden;
	background: linear-gradient(180deg, var(--m-soft) 0, var(--m-soft) 88px, #fff 88px);
}
.eft-prof__avatar {
	width: 128px; height: 128px; margin: 24px auto 14px; border-radius: 50%; overflow: hidden; background: #fff;
	border: 4px solid #fff; box-shadow: 0 0 0 2px var(--m-brand), 0 10px 22px rgba(102, 45, 145, .22);
}
.eft-prof__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; max-height: none; }
.eft-prof__name { margin: 0 0 10px; font-size: 24px; font-weight: 800; line-height: 1.6; color: var(--m-text); overflow-wrap: anywhere; }
.eft-prof__level {
	display: inline-block; max-width: 100%; margin: 0 0 10px; padding: 4px 14px; font-size: 12.5px; line-height: 1.7; color: var(--m-brand);
	background: var(--m-soft); border-radius: 999px; overflow-wrap: anywhere; unicode-bidi: plaintext;
}
.eft-prof__edu { margin: 0; font-size: 14px; color: var(--m-muted); }
.eft-prof a.eft-prof__insta {
	display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 18px; border-radius: 14px; color: #fff;
	text-decoration: none; font-weight: 700; background: linear-gradient(90deg, #502FAA 0%, #DB24D8 100%); transition: filter .15s, transform .1s;
}
.eft-prof a.eft-prof__insta:hover { filter: brightness(1.08); color: #fff; }
.eft-prof a.eft-prof__insta i { font-size: 26px; }
.eft-prof__t { position: relative; margin: 0 0 18px; padding-right: 14px; font-size: 17px; font-weight: 700; line-height: 1.6; color: var(--m-text); }
.eft-prof__t::before { content: ""; position: absolute; right: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 4px; background: var(--m-brand); }
.eft-prof__dl { margin: 0; }
.eft-prof__row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 12px 0; border-bottom: 1px solid #efe9f4; }
.eft-prof__row:last-child { border-bottom: 0; padding-bottom: 0; }
.eft-prof__row dt { margin: 0; font-size: 13px; font-weight: 600; color: var(--m-muted); }
.eft-prof__row dd { margin: 0; font-size: 15px; line-height: 1.9; color: var(--m-text); overflow-wrap: anywhere; }
.eft-prof__row dd a { color: var(--m-brand); text-decoration: none; }
.eft-prof__row dd a:hover { text-decoration: underline; }
@media (min-width: 640px) { .eft-prof__row { grid-template-columns: 190px 1fr; gap: 16px; align-items: baseline; } }
.eft-prof__about { margin: 0; line-height: 2.1; text-align: justify; font-size: 15px; }
.eft-prof__muted { margin: 0; color: var(--m-muted); }
@media (prefers-reduced-motion: reduce) { .eft-mem *, .eft-prof * { transition: none !important; } }
