/* Doctor CV — Single Doctor "Academic Portal" profile (self-contained, RTL).
   Design tokens translated from the provided Tailwind design. Prefix: .dvp- */

.dvp-profile {
	/* Palette */
	--dvp-primary: #002045;
	--dvp-primary-container: #1a365d;
	--dvp-secondary: #595f66;
	--dvp-secondary-container: #dde3eb;
	--dvp-on-secondary-container: #41474e;
	--dvp-bg: #f7f9fb;
	--dvp-surface: #ffffff;
	--dvp-surface-high: #e6e8ea;
	--dvp-outline: #74777f;
	--dvp-outline-variant: #c4c6cf;
	--dvp-on-surface: #191c1e;
	--dvp-on-surface-variant: #43474e;
	/* Shape & motion */
	--dvp-radius: 10px;
	--dvp-shadow: 0 4px 20px rgba(0, 32, 69, .05);
	--dvp-shadow-hover: 0 8px 30px rgba(0, 32, 69, .10);
	--dvp-subnav-top: 78px; /* clears the theme's sticky navbar */

	font-family: 'Noto Sans Arabic', system-ui, -apple-system, Segoe UI, Tahoma, sans-serif;
	color: var(--dvp-on-surface);
	background: var(--dvp-bg);
	line-height: 1.6;
}
.dvp-profile *,
.dvp-profile *::before,
.dvp-profile *::after { box-sizing: border-box; }

.dvp-wrap { max-width: 1140px; margin: 0 auto; padding: 32px 20px 72px; }
.dvp-icon { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* ---------- Hero ---------- */
.dvp-hero {
	display: flex;
	gap: 40px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 48px;
}
.dvp-hero__photo {
	width: 280px;
	max-width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--dvp-radius);
	overflow: hidden;
	box-shadow: 0 12px 34px rgba(0, 32, 69, .18);
	flex: 0 0 auto;
}
.dvp-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dvp-hero__intro { flex: 1 1 320px; min-width: 280px; }

.dvp-badge {
	display: inline-block;
	padding: 6px 14px;
	background: var(--dvp-secondary-container);
	color: var(--dvp-on-secondary-container);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 10px;
}
.dvp-hero__name { font-size: 40px; line-height: 1.15; font-weight: 800; color: var(--dvp-primary); margin: 0 0 6px; }
.dvp-hero__job { font-size: 18px; font-weight: 600; color: var(--dvp-secondary); margin: 0 0 16px; }

.dvp-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; color: var(--dvp-on-surface-variant); }
.dvp-meta li { display: flex; align-items: center; gap: 10px; }

.dvp-hero__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 14px; }
.dvp-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	background: var(--dvp-primary);
	color: #fff;
	border-radius: var(--dvp-radius);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	transition: box-shadow .2s, transform .2s, opacity .2s;
}
.dvp-btn:hover { box-shadow: 0 8px 20px rgba(0, 32, 69, .25); transform: translateY(-1px); color: #fff; }

/* ---------- Sticky sub-nav ---------- */
.dvp-subnav {
	position: sticky;
	top: var(--dvp-subnav-top);
	z-index: 30;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 28px;
	padding: 14px 8px;
	margin-bottom: 40px;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--dvp-outline-variant);
	border-radius: var(--dvp-radius) var(--dvp-radius) 0 0;
}
.dvp-subnav a {
	font-size: 14px;
	font-weight: 600;
	color: var(--dvp-on-surface-variant);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
}
.dvp-subnav a:hover { color: var(--dvp-primary); }
.dvp-subnav a.is-active { color: var(--dvp-primary); border-color: var(--dvp-primary); }

/* ---------- Layout grid ---------- */
.dvp-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: start; }
.dvp-main { min-width: 0; display: flex; flex-direction: column; gap: 48px; }
.dvp-aside { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--dvp-subnav-top) + 64px); }

/* ---------- Sections ---------- */
.dvp-section { scroll-margin-top: calc(var(--dvp-subnav-top) + 70px); }
.dvp-section__head { display: flex; align-items: center; gap: 8px; color: var(--dvp-primary); margin-bottom: 16px; }
.dvp-section__head h2 { font-size: 22px; font-weight: 700; margin: 0; letter-spacing: .04em; }
.dvp-section__head .dvp-icon { width: 24px; height: 24px; }

/* ---------- Card ---------- */
.dvp-card {
	background: var(--dvp-surface);
	box-shadow: var(--dvp-shadow);
	border-radius: var(--dvp-radius);
	padding: 24px;
	transition: box-shadow .3s, transform .3s;
}
.dvp-card--accent { border-right: 4px solid var(--dvp-primary); }
a.dvp-card:hover, .dvp-card--hover:hover { box-shadow: var(--dvp-shadow-hover); transform: translateY(-2px); }
.dvp-bio p { margin: 0 0 14px; }
.dvp-bio p:last-child { margin-bottom: 0; }
.dvp-bio { font-size: 17px; color: var(--dvp-on-surface); }

/* ---------- Timeline ---------- */
.dvp-timeline { position: relative; margin-right: 7px; padding-right: 28px; border-right: 2px solid var(--dvp-outline-variant); }
.dvp-timeline__item { position: relative; padding-bottom: 28px; }
.dvp-timeline__item:last-child { padding-bottom: 0; }
.dvp-timeline__item::before {
	content: '';
	position: absolute;
	top: 6px;
	right: calc(-28px - 1px);
	margin-right: -7px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--dvp-primary);
	border: 3px solid var(--dvp-bg);
}
.dvp-timeline__years { display: block; font-size: 12px; font-weight: 700; color: var(--dvp-primary); margin-bottom: 4px; }
.dvp-timeline__role { font-size: 18px; font-weight: 700; color: var(--dvp-on-surface); margin: 0; }
.dvp-timeline__org { font-size: 14px; color: var(--dvp-on-surface-variant); margin: 2px 0 0; }
.dvp-timeline__desc { font-size: 15px; color: var(--dvp-on-surface-variant); margin: 8px 0 0; }

/* ---------- Research cards ---------- */
.dvp-research { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dvp-research__item { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.dvp-research__item.is-wide { grid-column: 1 / -1; }
.dvp-research__title { font-size: 18px; font-weight: 700; color: var(--dvp-primary); margin: 0 0 6px; }
.dvp-research__meta { font-size: 14px; color: var(--dvp-on-surface-variant); font-style: italic; }
.dvp-research__link { display: inline-flex; align-items: center; gap: 6px; color: var(--dvp-primary); font-weight: 600; font-size: 14px; text-decoration: none; }
.dvp-research__link:hover { text-decoration: underline; }
.dvp-research__link .dvp-icon { width: 18px; height: 18px; transform: rotate(180deg); }

/* ---------- Aside: interests + stats ---------- */
.dvp-aside__title { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--dvp-primary); text-transform: uppercase; margin: 0 0 16px; }
.dvp-card--top { border-top: 4px solid var(--dvp-primary); }
.dvp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dvp-chip { background: var(--dvp-secondary-container); color: var(--dvp-on-secondary-container); padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.dvp-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dvp-links li { display: flex; align-items: center; gap: 10px; color: var(--dvp-on-surface-variant); font-size: 14px; }
.dvp-links li .dvp-icon { color: var(--dvp-primary); }
.dvp-links a { color: var(--dvp-on-surface); text-decoration: none; word-break: break-word; }
.dvp-links a:hover { color: var(--dvp-primary); text-decoration: underline; }

.dvp-stat { text-align: center; }
.dvp-stat__num { display: block; font-size: 30px; font-weight: 800; color: var(--dvp-primary); line-height: 1.1; }
.dvp-stat__label { font-size: 12px; font-weight: 600; letter-spacing: .06em; color: var(--dvp-on-surface-variant); text-transform: uppercase; }

/* ---------- Simple lists (qualifications/positions/…/books) ---------- */
.dvp-list { margin: 0; padding-inline-start: 1.25rem; }
.dvp-list li { margin-bottom: .55rem; line-height: 1.7; color: var(--dvp-on-surface); }
.dvp-list li:last-child { margin-bottom: 0; }
.dvp-list a { color: var(--dvp-primary); text-decoration: none; }
.dvp-list a:hover { text-decoration: underline; }
.dvp-muted { color: var(--dvp-on-surface-variant); font-size: .9em; }

/* ---------- Icon-row items (qualifications / positions / books / …) ---------- */
.dvp-items { display: grid; gap: 10px; }
.dvp-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: var(--dvp-surface);
	border: 1px solid var(--dvp-outline-variant);
	border-right: 3px solid var(--dvp-primary);
	border-radius: var(--dvp-radius);
	padding: 14px 16px;
	box-shadow: var(--dvp-shadow);
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.dvp-item:hover { box-shadow: var(--dvp-shadow-hover); transform: translateY(-2px); }
.dvp-item__icon {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(0, 32, 69, .07);
	color: var(--dvp-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dvp-item__icon .dvp-icon { width: 20px; height: 20px; }
.dvp-item__text { color: var(--dvp-on-surface); line-height: 1.7; padding-top: 7px; }
.dvp-item__text a { color: var(--dvp-primary); text-decoration: none; font-weight: 600; }
.dvp-item__text a:hover { text-decoration: underline; }

/* ---------- Publications (rich rows) ---------- */
.dvp-pubs { display: grid; gap: 10px; }
.dvp-pub {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	background: var(--dvp-surface);
	border: 1px solid var(--dvp-outline-variant);
	border-radius: var(--dvp-radius);
	padding: 12px 16px;
	box-shadow: var(--dvp-shadow);
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.dvp-pub:hover { box-shadow: var(--dvp-shadow-hover); transform: translateY(-2px); border-color: var(--dvp-primary); }
.dvp-pub.is-featured { border-inline-start: 3px solid #f59e0b; }
.dvp-pub__icon {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(0, 32, 69, .07);
	color: var(--dvp-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dvp-pub__body { flex: 1 1 auto; min-width: 0; }
.dvp-pub__title { display: block; font-weight: 700; color: var(--dvp-on-surface); line-height: 1.4; }
.dvp-pub:hover .dvp-pub__title { color: var(--dvp-primary); }
.dvp-pub__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 5px; font-size: 12px; color: var(--dvp-on-surface-variant); }
.dvp-pub__star { flex: 0 0 auto; color: #f59e0b; }
.dvp-pub__star .dvp-icon { width: 20px; height: 20px; fill: #fde68a; }

.dvp-kind { padding: 2px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; background: var(--dvp-secondary-container); color: var(--dvp-on-secondary-container); }
.dvp-kind--research { background: #e0f2fe; color: #075985; }
.dvp-kind--news { background: #dcfce7; color: #166534; }
.dvp-kind--announcement { background: #fef3c7; color: #92400e; }

/* ---------- Publications (legacy list, still used as fallback) ---------- */
.dvp-posts { list-style: none; margin: 0; padding: 0; }
.dvp-posts__item { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--dvp-surface-high); }
.dvp-posts__item:last-child { border-bottom: 0; }
.dvp-posts__item a { color: var(--dvp-on-surface); font-weight: 600; text-decoration: none; }
.dvp-posts__item a:hover { color: var(--dvp-primary); }
.dvp-posts__item time { margin-inline-start: auto; font-size: 12px; color: var(--dvp-outline); white-space: nowrap; }
.dvp-pill { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #fef3c7; color: #92400e; }

/* ---------- Back link ---------- */
.dvp-back { margin: 0 0 18px; }
.dvp-back a { color: var(--dvp-primary); text-decoration: none; font-size: 14px; font-weight: 600; }
.dvp-back a:hover { text-decoration: underline; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
	.dvp-grid { grid-template-columns: 1fr; }
	.dvp-aside { position: static; }
}
@media (max-width: 768px) {
	.dvp-hero { flex-direction: column; align-items: flex-start; gap: 24px; }
	.dvp-hero__photo { width: 100%; aspect-ratio: 16 / 10; }
	.dvp-hero__name { font-size: 30px; }
	.dvp-research { grid-template-columns: 1fr; }
	.dvp-subnav { justify-content: flex-start; gap: 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.dvp-subnav a { white-space: nowrap; }
}
