/*
 * Speakers (Говорители) — block hopetv/speakers (plugin hopetv-core) and the
 * speaker page, templates/taxonomy-hopetv_speaker.html.
 * Loaded wherever the block renders (its style handle) and on speaker pages
 * (inc/screens/speakers.php); the page also uses shows.css (hero, list head, empty state).
 *
 * Markup contract:
 *   .hc-speakers > a.hc-speaker          one per speaker, under the episode title
 *     .hc-speaker__photo > img | .hc-speaker__initials
 *     .hc-speaker__text > .hc-speaker__role + .hc-speaker__name
 *   .hc-speaker-page                     hero band of the speaker page
 *     .hc-show__hero > .hc-show__text (p.hc-speaker-page__role, H1, bio) + figure.hc-speaker-page__photo
 */

/* ---------- On the episode ---------- */
.hc-speakers { display: flex; flex-wrap: wrap; gap: 10px; }
.hc-speaker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 8px 20px 8px 8px;
	border-radius: 16px;
	background: var(--hc-chip);
	color: var(--hc-ink);
	text-decoration: none;
	transition: background .2s var(--hc-ease);
}
.hc-speaker:hover { background: var(--hc-chip2); color: var(--hc-ink); }
.hc-speaker__photo {
	position: relative;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--hc-blue), var(--hc-blue-deep));
}
.hc-speaker__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hc-speaker__initials {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--hc-font-display);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: -.02em;
	color: #fff;
}
.hc-speaker__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; line-height: 1.2; }
.hc-speaker__role { font-family: var(--hc-font-display); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hc-accent-ink); }
.hc-speaker__name { font-size: 16px; font-weight: 600; }
:root[data-theme="light"] .hc-speaker__role { color: var(--hc-blue); }

/* ---------- Speaker page ---------- */
.wp-block-group.hc-speaker-page > * + * { margin-top: 28px; }
p.hc-speaker-page__role { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--hc-accent-ink); }
:root[data-theme="light"] p.hc-speaker-page__role { color: var(--hc-blue); }
figure.hc-speaker-page__photo {
	position: relative;
	flex: 0 0 auto;
	width: clamp(180px, 28vw, 320px);
	aspect-ratio: 1;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--hc-blue) 0%, var(--hc-blue-deep) 55%, var(--hc-navy) 100%);
}
figure.hc-speaker-page__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
figure.hc-speaker-page__photo .hc-speaker__initials { font-size: clamp(48px, 8vw, 96px); }
