/*
 * afd-people.css — styles for the [afd_*] shortcodes in inc/afd-people.php
 * (team grid, profile, author header, byline, article trust box, licences,
 * company contact list, category experts).
 *
 * Loaded only on the routes that print them (see afdp_is_people_route()).
 *
 * CASCADE — why every selector starts with `.afdp `
 *   The markup sits inside Elementor's shortcode widget, where the kit's global
 *   typography arrives as `.elementor-kit-3623 h2 {…}` (0,1,1) and Bootstrap's
 *   reboot as bare `h2 {…}` (0,0,1). `.afdp .x` is (0,2,0) and wins both
 *   without a single !important. No rule here targets an Elementor class, so
 *   Theme Styles (0,2,0 on .elementor-heading-title / .elementor-button) never
 *   meet these rules at all.
 *
 * TOKENS — read from the kit (afd-kit.css :root) with the same literal values
 * as fallbacks, so the file still renders correctly if the kit is missing.
 *
 * CONTRAST — computed, not eyeballed (WCAG 2.x):
 *   #333 / #fff 12.6 · #5A6472 / #fff 6.00 · #5A6472 / #F5F5F5 5.52
 *   #054777 / #fff 9.66 · #877152 / #fff 4.65 (only on white, never on #F5F5F5)
 *   #fff / #12803F 5.02 · #0E6B34 / #E7F4EC 5.85 · #8A4B08 / #FDF1E4 6.10
 *   #054777 / #E6D3AE 6.57 · #8C1D18 / #FFF7F6 8.7 · gold ring / #fff 3.29 (UI ≥3)
 *
 * Order: tokens → plumbing → shared primitives → components → responsive → motion.
 */

/* ---- tokens --------------------------------------------------------------- */
.afdp {
	--afdp-navy: var(--afd-navy, #054777);
	--afdp-navy-deep: var(--afd-navy-deep, #03355A);
	--afdp-navy-grad: var(--afd-grad-navy, linear-gradient(160deg, #054777 0%, #021F38 100%));
	--afdp-gold: var(--afd-gold, #A48A61);
	--afdp-gold-dark: var(--afd-gold-dark, #877152);
	--afdp-gold-pale: var(--afd-gold-pale, #E6D3AE);
	--afdp-ink: var(--afd-ink-900, #333333);
	--afdp-ink-2: var(--afd-ink-600, #5A6472);
	--afdp-bg: var(--afd-bg, #F5F5F5);
	--afdp-white: var(--afd-white, #FFFFFF);
	--afdp-wa: var(--afd-wa, #12803F);
	--afdp-wa-hover: var(--afd-wa-hover, #0E6B34);
	--afdp-line: rgba(5, 71, 119, .12);
	--afdp-line-2: rgba(5, 71, 119, .22);
	--afdp-r-sm: var(--afd-r-sm, 12px);
	--afdp-r: var(--afd-r, 18px);
	--afdp-r-lg: var(--afd-r-lg, 26px);
	--afdp-sh-sm: var(--afd-sh-sm, 0 2px 10px rgba(5, 71, 119, .08));
	--afdp-sh: var(--afd-sh, 0 18px 40px -22px rgba(5, 71, 119, .45));
	--afdp-ease: var(--afd-ease, cubic-bezier(.4, 0, .2, 1));
	--afdp-speed: var(--afd-speed, 320ms);
	--afdp-ring: var(--afd-gold, #A48A61);
	color: var(--afdp-ink);
	font-size: 16px;
	line-height: 2;
	text-align: start;
}

/* ---- plumbing -------------------------------------------------------------- */
.afdp *,
.afdp *::before,
.afdp *::after { box-sizing: border-box; }

.afdp img { max-inline-size: 100%; }

.afdp .afdp-ltr {
	direction: ltr;
	unicode-bidi: isolate;
	font-variant-numeric: tabular-nums;
}

.afdp a:focus-visible,
.afdp .afdp-btn:focus-visible {
	outline: 2px solid var(--afdp-ring);
	outline-offset: 3px;
	border-radius: 6px;
}

/* every component list starts bare; .afdp-sources (an <ol>) keeps its numbers */
.afdp .afdp-team,
.afdp .afdp-card__facts,
.afdp .afdp-checks,
.afdp .afdp-chips,
.afdp .afdp-edu,
.afdp .afdp-creds,
.afdp .afdp-awards,
.afdp .afdp-pubs,
.afdp .afdp-posts,
.afdp .afdp-langs,
.afdp .afdp-licenses,
.afdp .afdp-contact,
.afdp .afdp-toc ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ---- shared primitives ---------------------------------------------------- */
.afdp .afdp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.8;
	color: var(--afdp-ink-2);
}
.afdp .afdp-eyebrow::before {
	content: "";
	inline-size: 22px;
	block-size: 2px;
	border-radius: 2px;
	background: var(--afdp-gold);
}

.afdp .afdp-link {
	color: var(--afdp-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(5, 71, 119, .35);
	text-underline-offset: 4px;
}
.afdp .afdp-link:hover {
	color: var(--afdp-navy-deep);
	text-decoration-color: var(--afdp-gold);
}

.afdp .afdp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 44px;
	padding: 8px 20px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
	transition: transform var(--afdp-speed) var(--afdp-ease), background-color var(--afdp-speed) var(--afdp-ease), border-color var(--afdp-speed) var(--afdp-ease);
}
.afdp .afdp-btn:hover { transform: translateY(-2px); }
.afdp .afdp-btn--wa { background: var(--afdp-wa); color: #fff; }
.afdp .afdp-btn--wa:hover { background: var(--afdp-wa-hover); color: #fff; }
.afdp .afdp-btn--navy { background: var(--afdp-navy); color: #fff; }
.afdp .afdp-btn--navy:hover { background: var(--afdp-navy-deep); color: #fff; }
.afdp .afdp-btn--line { background: var(--afdp-white); color: var(--afdp-navy); border-color: var(--afdp-line-2); }
.afdp .afdp-btn--line:hover { color: var(--afdp-navy); border-color: var(--afdp-gold); }

.afdp .afdp-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

.afdp .afdp-socials { display: flex; gap: 8px; }
.afdp .afdp-social {
	display: grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid var(--afdp-line-2);
	border-radius: 50%;
	background: var(--afdp-white);
	color: var(--afdp-navy);
	font-size: 17px;
	line-height: 0;
	text-decoration: none;
	transition: border-color var(--afdp-speed) var(--afdp-ease);
}
.afdp .afdp-social:hover { border-color: var(--afdp-gold); color: var(--afdp-navy); }

.afdp .afdp-tag {
	display: inline-block;
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--afdp-gold-pale);
	color: var(--afdp-navy);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.9;
}

.afdp .afdp-noimg {
	display: grid;
	place-items: center;
	background: var(--afdp-navy-grad);
	color: var(--afdp-gold-pale);
	font-weight: 800;
	line-height: 1;
}

.afdp .afdp-checks {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 8px 20px;
}
.afdp .afdp-checks li {
	position: relative;
	padding-inline-start: 28px;
	line-height: 1.95;
}
.afdp .afdp-checks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .5em;
	inline-size: 17px;
	block-size: 17px;
	border-radius: 50%;
	background: var(--afdp-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.afdp .afdp-checks--tight {
	grid-template-columns: minmax(0, 1fr);
	gap: 4px;
	margin-top: 12px;
	font-size: 15px;
}

.afdp .afdp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.afdp .afdp-chips li {
	padding: 3px 13px;
	border: 1px solid var(--afdp-line-2);
	border-radius: 999px;
	background: var(--afdp-white);
	color: var(--afdp-navy);
	font-size: 14px;
	line-height: 1.8;
}
.afdp .afdp-chips--links li { padding: 0; }
.afdp .afdp-chips--links a {
	display: block;
	padding: 3px 13px;
	color: var(--afdp-navy);
	text-decoration: none;
}
.afdp .afdp-chips--links li:hover { border-color: var(--afdp-gold); }

.afdp .afdp-facts,
.afdp .afdp-keyfacts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
	gap: 10px;
	margin: 0;
}
.afdp .afdp-facts > div,
.afdp .afdp-keyfacts > div {
	padding: 10px 14px;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-sm);
	background: var(--afdp-white);
}
.afdp .afdp-facts dt,
.afdp .afdp-keyfacts dt {
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--afdp-ink-2);
}
.afdp .afdp-facts dd,
.afdp .afdp-keyfacts dd {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}

/* ---- team grid + cards ---------------------------------------------------- */
.afdp .afdp-team--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: clamp(14px, 2vw, 24px);
}
.afdp .afdp-team--compact,
.afdp .afdp-team--contact {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 12px;
}

.afdp .afdp-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r);
	background: var(--afdp-white);
	box-shadow: var(--afdp-sh-sm);
	transition: transform var(--afdp-speed) var(--afdp-ease), box-shadow var(--afdp-speed) var(--afdp-ease), border-color var(--afdp-speed) var(--afdp-ease);
}
.afdp .afdp-card:hover {
	transform: translateY(-5px);
	border-color: var(--afdp-gold);
	box-shadow: var(--afdp-sh);
}
/* the name link stretches over the whole card, so the card shows the ring */
.afdp .afdp-card:focus-within {
	outline: 2px solid var(--afdp-ring);
	outline-offset: 3px;
}
.afdp .afdp-card__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--afdp-bg);
}
.afdp .afdp-card__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: 50% 18%;
	font-size: clamp(34px, 5vw, 52px);
}
.afdp .afdp-card__body {
	display: grid;
	align-content: start;
	gap: 2px;
	flex: 1;
	padding: 16px 18px 4px;
}
.afdp .afdp-card__name {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}
.afdp .afdp-card__link { color: inherit; text-decoration: none; }
.afdp .afdp-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.afdp .afdp-card__link:focus-visible { outline: none; }
.afdp .afdp-card__en {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	text-align: end;
	color: var(--afdp-ink-2);
}
.afdp .afdp-card__role {
	margin: 2px 0 0;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--afdp-gold-dark);
}
.afdp .afdp-card__facts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.afdp .afdp-card__facts li {
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--afdp-bg);
	color: var(--afdp-ink-2);
	font-size: 12.5px;
	line-height: 1.9;
}
.afdp .afdp-card__intro {
	display: -webkit-box;
	margin: 8px 0 0;
	overflow: hidden;
	font-size: 14.5px;
	line-height: 1.95;
	color: var(--afdp-ink);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.afdp .afdp-card__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 18px 16px;
}
/* real buttons sit above the stretched link; the «مشاهده» label does not need to */
.afdp .afdp-card__foot .afdp-btn { position: relative; z-index: 2; }
.afdp .afdp-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-inline-start: auto;
	font-size: 14px;
	font-weight: 700;
	color: var(--afdp-navy);
}

/* compact + contact: a row card with a round portrait */
.afdp .afdp-card--compact,
.afdp .afdp-card--contact {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	grid-template-areas: "media body" "foot foot";
	align-items: center;
	column-gap: 14px;
	padding: 14px;
}
.afdp .afdp-card--compact .afdp-card__media,
.afdp .afdp-card--contact .afdp-card__media {
	grid-area: media;
	inline-size: 84px;
	block-size: 84px;
	aspect-ratio: 1;
	border-radius: 50%;
}
.afdp .afdp-card--compact .afdp-card__img,
.afdp .afdp-card--contact .afdp-card__img { font-size: 30px; }
.afdp .afdp-card--compact .afdp-card__body,
.afdp .afdp-card--contact .afdp-card__body { grid-area: body; padding: 0; }
.afdp .afdp-card--compact .afdp-card__name,
.afdp .afdp-card--contact .afdp-card__name { font-size: 16px; }
.afdp .afdp-card--compact .afdp-card__foot { display: none; }
.afdp .afdp-card--contact .afdp-card__foot { grid-area: foot; padding: 12px 0 0; }

.afdp.afdp-teamgroups { display: grid; gap: clamp(28px, 4vw, 48px); }
.afdp .afdp-teamgroup__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 16px;
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}
.afdp .afdp-teamgroup__count {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--afdp-ink-2);
}

/* ---- profile -------------------------------------------------------------- */
.afdp .afdp-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	padding: clamp(18px, 3vw, 40px);
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-lg);
	background: linear-gradient(160deg, var(--afdp-white) 0%, var(--afdp-white) 45%, var(--afdp-bg) 100%);
}
.afdp .afdp-hero__media { justify-self: center; inline-size: min(72vw, 300px); }
.afdp .afdp-hero__img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 18%;
	border-radius: var(--afdp-r);
	box-shadow: var(--afdp-sh);
	font-size: 64px;
}
.afdp .afdp-hero__name {
	margin: 0;
	font-size: clamp(26px, 3.2vw, 40px);
	font-weight: 800;
	line-height: 1.5;
	color: var(--afdp-navy);
}
.afdp .afdp-hero__en {
	margin: 2px 0 0;
	font-size: 14px;
	letter-spacing: .02em;
	line-height: 1.6;
	text-align: end;
	color: var(--afdp-ink-2);
}
.afdp .afdp-hero__role {
	margin: 8px 0 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--afdp-ink);
}
.afdp .afdp-hero__intro {
	max-inline-size: 68ch;
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 2.05;
	color: var(--afdp-ink);
}
.afdp .afdp-hero__body .afdp-keyfacts { margin-top: 18px; }

.afdp .afdp-toc { margin-top: 18px; }
.afdp .afdp-toc ul { display: flex; flex-wrap: wrap; gap: 8px; }
.afdp .afdp-toc a {
	display: inline-block;
	padding: 4px 14px;
	border: 1px solid var(--afdp-line);
	border-radius: 999px;
	background: var(--afdp-bg);
	color: var(--afdp-navy);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
	text-decoration: none;
}
.afdp .afdp-toc a:hover { border-color: var(--afdp-gold); }

.afdp .afdp-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 3vw, 40px);
	margin-top: clamp(24px, 3vw, 36px);
}
.afdp .afdp-main { min-inline-size: 0; }

.afdp .afdp-sec {
	padding-block: clamp(20px, 2.4vw, 30px);
	border-block-start: 1px solid var(--afdp-line);
	scroll-margin-top: var(--afd-sticky-top, 110px);
}
.afdp .afdp-sec:first-child { padding-block-start: 0; border-block-start: 0; }
.afdp .afdp-sec__title {
	position: relative;
	margin: 0 0 16px;
	padding-block-end: 10px;
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}
.afdp .afdp-sec__title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-end: 0;
	inline-size: 44px;
	block-size: 3px;
	border-radius: 3px;
	background: var(--afdp-gold);
}
.afdp .afdp-sub {
	margin: 24px 0 10px;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.7;
	color: var(--afdp-navy);
}
.afdp .afdp-sec__title + .afdp-sub { margin-top: 0; }

.afdp .afdp-prose {
	max-inline-size: 75ch;
	font-size: 16px;
	line-height: 2.1;
	color: var(--afdp-ink);
}
.afdp .afdp-prose p { margin: 0 0 1em; }
.afdp .afdp-prose > :last-child { margin-block-end: 0; }

.afdp .afdp-quote {
	margin: 18px 0 0;
	padding: 14px 20px;
	border-inline-start: 3px solid var(--afdp-gold);
	border-radius: var(--afdp-r-sm);
	background: var(--afdp-bg);
	font-size: 16px;
	line-height: 2;
	color: var(--afdp-ink);
}
.afdp .afdp-quote p { margin: 0; }

.afdp .afdp-edu li {
	display: grid;
	gap: 2px;
	padding-block: 10px;
	border-block-end: 1px dashed var(--afdp-line-2);
}
.afdp .afdp-edu strong { font-weight: 700; color: var(--afdp-navy); line-height: 1.8; }
.afdp .afdp-edu span { font-size: 14px; color: var(--afdp-ink-2); line-height: 1.8; }

.afdp .afdp-creds {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 12px;
}
.afdp .afdp-cred {
	display: grid;
	align-content: start;
	gap: 4px;
	padding: 16px 18px;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r);
	background: var(--afdp-white);
	box-shadow: var(--afdp-sh-sm);
}
.afdp .afdp-cred__title {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.7;
	color: var(--afdp-navy);
}
.afdp .afdp-cred__meta,
.afdp .afdp-cred__num {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--afdp-ink-2);
}

.afdp .afdp-awards li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	padding-block: 10px;
	border-block-end: 1px dashed var(--afdp-line-2);
}
.afdp .afdp-awards__year {
	padding: 0 10px;
	border-radius: 8px;
	background: var(--afdp-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}
.afdp .afdp-awards__title { font-size: 15.5px; line-height: 1.9; color: var(--afdp-ink); }

.afdp .afdp-pubs li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	padding-block: 8px;
	border-block-end: 1px dashed var(--afdp-line-2);
}
.afdp .afdp-pubs__meta { font-size: 13.5px; color: var(--afdp-ink-2); }

.afdp .afdp-posts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 14px;
}
.afdp .afdp-posts__item {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-sm);
	background: var(--afdp-white);
	transition: transform var(--afdp-speed) var(--afdp-ease), border-color var(--afdp-speed) var(--afdp-ease);
}
.afdp .afdp-posts__item:hover { transform: translateY(-4px); border-color: var(--afdp-gold); }
.afdp .afdp-posts__item:focus-within { outline: 2px solid var(--afdp-ring); outline-offset: 3px; }
.afdp .afdp-posts__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--afdp-bg); }
.afdp .afdp-posts__img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.afdp .afdp-posts__title {
	margin: 10px 14px 0;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.85;
	color: var(--afdp-ink);
}
.afdp .afdp-posts__link { color: inherit; text-decoration: none; }
.afdp .afdp-posts__link::after { content: ""; position: absolute; inset: 0; }
.afdp .afdp-posts__link:focus-visible { outline: none; }
.afdp .afdp-posts__date { margin: 4px 14px 12px; font-size: 13px; color: var(--afdp-ink-2); }
.afdp .afdp-more { margin: 12px 0 0; }

.afdp .afdp-aside { display: grid; gap: 16px; align-self: start; }
.afdp .afdp-aside__block {
	padding: 18px;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r);
	background: var(--afdp-white);
}
.afdp .afdp-aside__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.7;
	color: var(--afdp-navy);
}
.afdp .afdp-aside__cta { border: 0; background: var(--afdp-navy-grad); color: #fff; }
.afdp .afdp-aside__cta .afdp-aside__title { color: #fff; }
.afdp .afdp-aside__cta p { margin: 0; font-size: 14.5px; line-height: 1.95; color: var(--afdp-gold-pale); }
.afdp .afdp-aside__cta .afdp-actions { margin-top: 12px; }

.afdp .afdp-langs li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding-block: 6px;
	border-block-end: 1px dashed var(--afdp-line-2);
	font-size: 15px;
}
.afdp .afdp-langs li:last-child { border-block-end: 0; }
.afdp .afdp-langs__lvl { font-size: 13.5px; color: var(--afdp-ink-2); }

.afdp .afdp-transparency {
	margin-top: 28px;
	padding: 14px 18px;
	border-radius: var(--afdp-r-sm);
	background: var(--afdp-bg);
	font-size: 13.5px;
	line-height: 2;
	color: var(--afdp-ink-2);
}
.afdp .afdp-transparency p { margin: 0; }

/* ---- author header --------------------------------------------------------- */
.afdp.afdp-author {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(18px, 3vw, 32px);
	align-items: center;
	padding: clamp(18px, 3vw, 36px);
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-lg);
	background: linear-gradient(160deg, var(--afdp-white) 0%, var(--afdp-white) 45%, var(--afdp-bg) 100%);
}
.afdp .afdp-author__media { justify-self: center; inline-size: min(40vw, 180px); }
.afdp .afdp-author__img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: 50% 18%;
	border-radius: 50%;
	box-shadow: var(--afdp-sh);
	font-size: 56px;
}
.afdp .afdp-author__name {
	margin: 0;
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 800;
	line-height: 1.5;
	color: var(--afdp-navy);
}
.afdp .afdp-author__role { margin: 6px 0 0; font-size: 16px; font-weight: 700; color: var(--afdp-ink); }
.afdp .afdp-author__intro { max-inline-size: 68ch; margin: 10px 0 0; line-height: 2.05; }
.afdp .afdp-author__count { margin: 12px 0 0; font-size: 14px; color: var(--afdp-ink-2); }
.afdp .afdp-author__body > .afdp-chips { margin-top: 14px; }

/* ---- byline ---------------------------------------------------------------- */
.afdp.afdp-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-block: 8px 20px;
	padding-block: 14px;
	border-block: 1px solid var(--afdp-line);
}
.afdp .afdp-byline__who {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}
.afdp a.afdp-byline__who:hover strong { color: var(--afdp-navy-deep); text-decoration: underline; }
.afdp .afdp-byline__img {
	flex: none;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 18%;
	font-size: 18px;
}
.afdp .afdp-byline__txt { display: grid; line-height: 1.55; }
.afdp .afdp-byline__label { font-size: 12.5px; color: var(--afdp-ink-2); }
.afdp .afdp-byline__txt strong { font-size: 15px; font-weight: 800; color: var(--afdp-navy); }
.afdp .afdp-byline__role { font-size: 12.5px; color: var(--afdp-ink-2); }
.afdp .afdp-byline__who--review .afdp-byline__label::before {
	content: "";
	display: inline-block;
	inline-size: 7px;
	block-size: 7px;
	margin-inline-end: 6px;
	border-radius: 50%;
	background: var(--afdp-gold);
	vertical-align: middle;
}
.afdp .afdp-byline__dates {
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	gap: 2px 18px;
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
	color: var(--afdp-ink-2);
}

/* ---- article trust box ----------------------------------------------------- */
.afdp.afdp-trust {
	display: grid;
	gap: 22px;
	margin-block: 36px 12px;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r);
	background: var(--afdp-bg);
}
.afdp .afdp-trust__title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}
.afdp .afdp-trust__people {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 14px;
}
.afdp .afdp-tperson {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-sm);
	background: var(--afdp-white);
}
.afdp .afdp-tperson__img {
	inline-size: 72px;
	block-size: 72px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 18%;
	font-size: 26px;
}
/* a grid child defaults to min-content width — long names would overflow the card */
.afdp .afdp-tperson__body { min-inline-size: 0; }
.afdp .afdp-tperson__label { margin: 0; font-size: 12.5px; line-height: 1.7; color: var(--afdp-ink-2); }
.afdp .afdp-tperson__name { margin: 0; font-size: 15.5px; font-weight: 800; line-height: 1.7; color: var(--afdp-navy); }
.afdp .afdp-tperson__name span { font-size: 13.5px; font-weight: 400; color: var(--afdp-ink-2); }
.afdp .afdp-tperson__intro { margin: 4px 0 0; font-size: 14px; line-height: 1.9; color: var(--afdp-ink); }
.afdp .afdp-tperson__meta { margin: 4px 0 0; font-size: 13px; line-height: 1.8; color: var(--afdp-ink-2); }
.afdp .afdp-sources {
	display: grid;
	gap: 6px;
	margin: 0;
	padding-inline-start: 1.4em;
	font-size: 14.5px;
	line-height: 1.9;
}
.afdp .afdp-sources li::marker { color: var(--afdp-navy); font-weight: 700; }
.afdp .afdp-sources__pub { font-size: 13.5px; color: var(--afdp-ink-2); }
.afdp .afdp-trust__note {
	padding-block-start: 14px;
	border-block-start: 1px solid var(--afdp-line-2);
	font-size: 14px;
	line-height: 2;
	color: var(--afdp-ink-2);
}
.afdp .afdp-trust__note p { margin: 0 0 6px; }
.afdp .afdp-trust__links { font-size: 13.5px; }

/* ---- licences -------------------------------------------------------------- */
.afdp .afdp-licenses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(14px, 2vw, 22px);
}
.afdp .afdp-license {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: clamp(18px, 2.4vw, 26px);
	border: 1px solid var(--afdp-line);
	border-block-start: 3px solid var(--afdp-gold);
	border-radius: var(--afdp-r);
	background: var(--afdp-white);
	box-shadow: var(--afdp-sh-sm);
}
.afdp .afdp-license__kind { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.7; color: var(--afdp-ink-2); }
.afdp .afdp-license__title {
	margin: 0;
	font-size: clamp(16px, 1.6vw, 19px);
	font-weight: 800;
	line-height: 1.6;
	text-align: end;
	overflow-wrap: anywhere;
	color: var(--afdp-navy);
}
.afdp .afdp-license__status {
	display: inline-flex;
	justify-self: start;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 2px 12px;
	border-radius: 999px;
	background: #E7F4EC;
	color: #0E6B34;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.8;
}
.afdp .afdp-license__status--renew { background: #FDF1E4; color: #8A4B08; }
.afdp .afdp-license__facts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr));
	gap: 6px 18px;
	margin: 0;
}
.afdp .afdp-license__facts > div { padding-block: 6px; border-block-end: 1px dashed var(--afdp-line-2); }
.afdp .afdp-license__facts dt { font-size: 12.5px; line-height: 1.7; color: var(--afdp-ink-2); }
.afdp .afdp-license__facts dd { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.7; color: var(--afdp-ink); }
.afdp .afdp-license__scope { margin: 0; font-size: 14.5px; line-height: 2; color: var(--afdp-ink); }
.afdp .afdp-license__img img {
	display: block;
	max-inline-size: 220px;
	block-size: auto;
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r-sm);
}
.afdp .afdp-license__verify {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 4px 0 0;
}
.afdp .afdp-license__hint { font-size: 13px; color: var(--afdp-ink-2); }

/* ---- company contact list ---------------------------------------------------
 * Reads the kit's surface contract (--ink, --ink-2, --ink-h) so the same list
 * reads correctly on a white section and on an .afd-sec--navy section. */
.afdp .afdp-contact { display: grid; gap: 14px; }
.afdp .afdp-contact__item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}
.afdp .afdp-contact__icon {
	display: grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 12px;
	background: var(--afdp-navy-grad);
	color: #fff;
	font-size: 17px;
	line-height: 0;
}
.afdp .afdp-contact__txt { display: grid; line-height: 1.7; }
.afdp .afdp-contact__label { font-size: 12.5px; color: var(--ink-2, var(--afdp-ink-2)); }
.afdp .afdp-contact__value {
	font-size: 15.5px;
	font-weight: 600;
	overflow-wrap: anywhere;
	color: var(--ink, var(--afdp-ink));
}
.afdp .afdp-contact__value .afdp-link { color: var(--ink-h, var(--afdp-navy)); }

/* ---- category experts ------------------------------------------------------- */
.afdp.afdp-experts {
	margin-block: 0 28px;
	padding: clamp(16px, 2.4vw, 24px);
	border: 1px solid var(--afdp-line);
	border-radius: var(--afdp-r);
	background: var(--afdp-white);
}
.afdp .afdp-experts__title {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	color: var(--afdp-navy);
}

/* ---- editor-only hint ------------------------------------------------------- */
.afdp.afdp-hint {
	margin: 8px 0;
	padding: 10px 14px;
	border: 1px dashed #B3261E;
	border-radius: 10px;
	background: #FFF7F6;
	color: #8C1D18;
	font-size: 13.5px;
	line-height: 1.9;
}

/* ---- responsive --------------------------------------------------------------- */
@media (min-width: 768px) {
	.afdp .afdp-hero { grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); }
	.afdp .afdp-hero__media { inline-size: 100%; }
	.afdp.afdp-author { grid-template-columns: 180px minmax(0, 1fr); }
	.afdp .afdp-author__media { inline-size: 100%; }
	.afdp .afdp-prose p { text-align: justify; }
}

@media (min-width: 1025px) {
	.afdp .afdp-layout { grid-template-columns: minmax(0, 1fr) 320px; }
	/* sticky on the GRID ITEM itself — the pattern DESIGN-SYSTEM.md §4 settled on */
	.afdp .afdp-aside { position: sticky; top: var(--afd-sticky-top, 110px); }
}

@media (max-width: 767px) {
	.afdp .afdp-actions .afdp-btn { flex: 1 1 auto; }
	.afdp .afdp-card--contact .afdp-card__foot .afdp-btn { flex: 0 1 auto; }
}

/* ---- motion ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.afdp,
	.afdp * {
		transition: none !important;
		animation: none !important;
	}
	.afdp .afdp-card:hover,
	.afdp .afdp-posts__item:hover,
	.afdp .afdp-btn:hover { transform: none; }
}
