/* Our Doctors — editorial profile cards */
.tbw-doctors__list { display: grid; grid-template-columns: repeat(min(var(--tbw-count, 2), 3), minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); }
.tbw-dc {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(1.25rem, 2.5vw, 2rem); align-items: stretch;
	padding: .85rem; border-radius: var(--tb-radius-xl); background: var(--tb-surface); border: 1px solid var(--tb-line); box-shadow: var(--tb-shadow);
	transition: transform .6s var(--tb-ease-out), box-shadow .6s;
}
.tbw-dc:hover { transform: translateY(-6px); box-shadow: var(--tb-shadow-lg); }
.tbw-doctors__list[style*="--tbw-count:1"] .tbw-dc { max-width: 900px; margin-inline: auto; }

.tbw-dc__media { position: relative; display: block; overflow: hidden; border-radius: calc(var(--tb-radius-xl) - 10px); min-height: 440px; text-decoration: none; }
.tbw-portrait { position: absolute; inset: 0; display: block; }
.tbw-portrait__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--tb-ease-out); }
.tbw-dc:hover .tbw-portrait__img { transform: scale(1.05); }
.tbw-portrait__placeholder {
	position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .9rem; text-align: center;
	background:
		radial-gradient(80% 60% at 20% 10%, rgba(255, 255, 255, .5), transparent 60%),
		radial-gradient(80% 70% at 90% 100%, rgba(63, 180, 174, .35), transparent 65%),
		linear-gradient(160deg, #e9f1ee, #d3e4df);
	color: #0b3a40;
}
:root[data-theme="dark"] .tbw-portrait__placeholder { background: radial-gradient(80% 70% at 90% 100%, rgba(63, 180, 174, .3), transparent 65%), linear-gradient(160deg, #0f474e, #0a353c); color: #f6f0e4; }
.tbw-portrait__mono { font-family: var(--tb-font-serif); font-style: italic; font-size: clamp(4rem, 8vw, 6.5rem); line-height: .9; color: inherit; opacity: .9; }
.tbw-portrait__placeholder .tbw-icon { width: 34px; height: 34px; color: var(--tb-gold); }
.tbw-portrait__note { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }
.tbw-dc__role {
	position: absolute; inset-inline: .75rem; bottom: .75rem; padding: .55rem .9rem; border-radius: 999px;
	font-size: .74rem; font-weight: 600; line-height: 1.3; color: #0b3a40; text-align: center;
	background: rgba(255, 255, 255, .85); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}

.tbw-dc__body { display: flex; flex-direction: column; padding-block: clamp(.5rem, 1.5vw, 1.25rem); padding-inline-end: clamp(.5rem, 1.5vw, 1.25rem); }
.tbw-dc__name { margin: 0; font-size: clamp(1.45rem, 1.15rem + 1vw, 2rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.15; }
.tbw-dc__name a { color: var(--tb-heading); text-decoration: none; }
.tbw-dc__name a:hover { color: var(--tb-gold-text); }
.tbw-dc__alt { margin: .35rem 0 0; font-family: "Alexandria", "IBM Plex Sans Arabic", sans-serif; font-size: 1.05rem; color: var(--tb-gold-text); }
.tbw-dc__alt[lang="en"] { font-family: var(--tb-font-sans); font-size: .9rem; font-weight: 600; }
.tbw-dc__creds { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .7rem; }
.tbw-dc__creds li { position: relative; padding-inline-start: 1.85rem; font-size: .9rem; line-height: 1.5; color: var(--tb-text); }
.tbw-dc__creds li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: .12em; width: 20px; height: 20px; border-radius: 50%; background: var(--tb-icon-bg)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c39a4f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.tbw-dc__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem; margin-top: auto; padding-top: 1.5rem; }
.tbw-dc__actions .tb-btn { min-height: 50px; font-size: .9rem; }
.tbw-dc__actions .tb-btn::after { width: 40px; height: 40px; }

@media (max-width: 1199.98px) {
	.tbw-doctors__list { grid-template-columns: 1fr; }
	.tbw-dc { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); }
}
@media (max-width: 639.98px) {
	.tbw-dc { grid-template-columns: 1fr; }
	.tbw-dc__media { min-height: 0; aspect-ratio: 4 / 4.2; }
	.tbw-dc__body { padding: .5rem .75rem 1rem; }
}
