/* Zenger Modal Styles */

/* Themeable defaults; override on :root or .entry-content to match site. */
:root {
	--zgr-primary-color: #0b2a4a;
	--zgr-text-color: #222;
	--zgr-accent-font: inherit;
}

/* Modal Overlay */
.zenger-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.zenger-modal-box {
	background: #fff;
	max-width: 520px;
	width: 100%;
	padding: 1.75rem;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	max-height: 80vh;
	overflow-y: auto;
	position: relative;
}

.zenger-modal-box--large {
	max-width: 800px;
}

.zenger-modal-box--xlarge {
	max-width: 920px;
}

.zenger-modal-close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: #f0f2f4;
	color: #333;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.zenger-modal-close:hover {
	background: #e4e7ea;
}

.zenger-modal-content {
	margin-top: 8px;
}

/* Modal logo - centered at top */
.zgr-modal-logo {
	text-align: center;
	margin-bottom: 1rem;
}

.zgr-modal-logo-img {
	max-width: 120px;
	height: auto;
	display: inline-block;
}

/* Modal ad placeholder - grey square with dashed border */
.zgr-modal-ad-placeholder {
	background: #e9ecef;
	min-height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px dashed #adb5bd;
	border-radius: 4px;
	margin-bottom: 1rem;
	color: #6c757d;
	font-size: 0.9rem;
	font-weight: 600;
}

.zgr-modal-body {
	margin-bottom: 1rem;
}

/* Quote Modal */
.zenger-modal-box .zgr-quote-text {
	margin: 0 0 1rem;
	font-style: italic;
	font-size: 1.1em;
	line-height: 1.6;
	color: #222;
}

/* Attribution removed — quotes are kept simple */

/* Quote Audio Controls in Modal */
.zgr-quote-modal-audio {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #eee;
}

.zgr-quote-modal-audio audio {
	width: 100%;
	max-width: 360px;
}

.zgr-quote-time {
	font-size: 0.85em;
	color: #777;
}

/* Reporter card: small round avatar, horizontal layout (fallback when not in zgr-reporter-card shadow) */
.zgr-reporter {
	margin: 1rem 0 1.25rem;
	padding: 0 0 1rem;
	background: transparent;
	border-radius: 0;
	border-bottom: 1px solid #d5d8dd;
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.zgr-reporter-inner {
	display: flex;
	align-items: center;
	gap: 14px;
}
.zgr-reporter .zgr-reporter-avatar {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	max-width: 40px;
	max-height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.zgr-reporter .zgr-reporter-avatar--placeholder {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	font-size: 1em;
	font-weight: 600;
}
.zgr-reporter-info {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.zgr-reporter-name { font-weight: 500; margin: 0; font-size: 1.08rem; color: #213a63; }
.zgr-reporter-role { font-size: 1.02rem; color: #2e3b4e; font-weight: 500; }
.zgr-reporter-expand { display: none; }

/* Mention Spans (light DOM; paragraphs live in post_content for SEO) */
.zgr-mention {
	background: rgba(11, 42, 74, 0.08);
	color: var(--zgr-text-color, #222);
	padding: 2px 6px;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s ease;
	font-family: var(--zgr-accent-font, inherit);
}

.zgr-mention:hover {
	background: rgba(11, 42, 74, 0.15);
}

.zgr-mention[data-type="company"] {
	border-bottom: 1px dashed var(--zgr-primary-color, #0b2a4a);
}

.zgr-mention[data-type="person"] {
	border-bottom: 1px dashed #2a5a8a;
}

.zgr-mention[data-type="organization"] {
	border-bottom: 1px dashed #4a7aaa;
}

.zgr-mention.zgr-mention--link {
	text-decoration: none;
	color: inherit;
}
.zgr-mention.zgr-mention--link:hover {
	color: inherit;
}

.zgr-reporter-link {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	color: #213a63;
	display: inline;
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.zgr-reporter-link:hover {
	color: #1a5a94;
}

/* Company Modal (compliance) */
.zgr-company-modal {
	text-align: left;
}
.zgr-company-modal-name {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
}
.zgr-company-modal-link {
	color: var(--zgr-primary-color, #0b2a4a);
	word-break: break-all;
}

.zgr-person-modal-name { margin: 0 0 0.25rem; font-size: 1.25rem; }
.zgr-person-modal-role { margin: 0 0 0.5rem; font-size: 0.9em; color: #666; }
.zgr-person-modal-bio { margin: 0 0 0.5rem; line-height: 1.5; }
.zgr-person-modal-link { color: var(--zgr-primary-color, #0b2a4a); word-break: break-all; }

.zgr-person-modal-body {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
	text-align: left;
}

.zgr-person-modal-left {
	flex-shrink: 0;
}

.zgr-person-modal-right {
	flex: 1;
	min-width: 0;
}

.zgr-person-modal-image {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	margin-bottom: 1rem;
}

.zgr-person-modal-image--placeholder {
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5em;
	font-weight: 600;
}

.zgr-person-modal-follow {
	margin: 0 0 0.5rem;
	font-size: 0.9em;
	color: #555;
}

/* External link icon button */
.zgr-external-link-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: #f0f2f4;
	color: var(--zgr-primary-color, #0b2a4a);
	border: 1px solid #e4e7ea;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.zgr-external-link-btn:hover {
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	border-color: var(--zgr-primary-color, #0b2a4a);
}

.zgr-external-link-btn svg {
	width: 18px;
	height: 18px;
}

/* Quote: not clickable, icon buttons only */
.zgr-quote.zgr-quote-plain {
	cursor: default;
}

/* Theme-blockquote hardening:
   Some themes add absolute-positioned ::before/::after overlays on blockquote, which can block clicks.
   Ensure our quote buttons remain clickable even if Shadow DOM doesn't upgrade for any reason. */
blockquote.zgr-quote {
	position: relative;
	text-align: left;
	background: none;
	padding: 0;
	border: 0;
	border-left: 0;
	border-radius: 0;
}

blockquote.zgr-quote::before,
blockquote.zgr-quote::after,
blockquote.zgr-quote cite::before,
blockquote.zgr-quote cite::after,
.zgr-quote cite::before,
.zgr-quote cite::after {
	content: none !important;
	display: none !important;
	pointer-events: none !important;
	border: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Neutralize theme cite styles (decoration lines, etc.) */
blockquote.zgr-quote cite {
	border: none !important;
	background: none !important;
	text-decoration: none !important;
}

.zgr-quote-content,
.zgr-quote-media-buttons,
.zgr-quote-media-btn {
	position: relative;
	z-index: 2;
}

.zgr-quote-media-btn {
	pointer-events: auto;
}

.zgr-quote-content {
	display: inline;
}

.zgr-quote-media-buttons {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 6px;
	vertical-align: middle;
}

.zgr-quote-media-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	border: 0;
	border-radius: 50%;
	font-size: 14px;
	cursor: pointer;
	padding: 0;
	transition: background 0.2s ease;
}

.zgr-quote-media-btn,
.zgr-quote-media-btn:hover {
	color: #fff;
}

.zgr-quote-icon {
	display: inline-block;
	flex-shrink: 0;
	fill: currentColor;
	stroke: currentColor;
	pointer-events: none;
}

/* Hardening against theme CSS (non-shadow fallback): ensure icons inherit button color */
.zgr-quote .zgr-quote-media-btn {
	color: #fff;
}
.zgr-quote .zgr-quote-media-btn svg {
	fill: currentColor;
	stroke: currentColor;
}

.zgr-quote-media-btn:hover {
	background: #143d6b;
}

.zgr-quote-modal-video {
	margin-top: 1rem;
}

.zgr-quote-modal-video video {
	width: 100%;
	max-width: 480px;
	border-radius: 6px;
}

/* Quote video modal layout */
.zgr-quote-modal-content.zgr-quote-modal-video .zgr-quote-modal-video-player {
	margin-bottom: 1rem;
}

.zgr-quote-modal-content.zgr-quote-modal-video .zgr-quote-modal-video-player video {
	width: 100%;
	max-width: 100%;
}

.zgr-quote-modal-transcript {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #eee;
}

.zgr-quote-transcript-title {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	color: #555;
}

.zgr-quote-modal-download {
	margin-top: 1rem;
}

.zgr-quote-download-btn,
.zgr-quote-transcript-download {
	display: inline-block;
	padding: 8px 16px;
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
	font-size: 0.9rem;
	transition: background 0.2s ease;
}

.zgr-quote-download-btn:hover,
.zgr-quote-transcript-download:hover {
	background: #143d6b;
	color: #fff;
}

/* Story separator and bottom ad (in post content) */
.zgr-story-separator {
	border: 0;
	border-top: 1px solid #dee2e6;
	margin: 2rem 0 1.5rem;
}

.zgr-story-ad-placeholder {
	background: #e9ecef;
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px dashed #adb5bd;
	border-radius: 4px;
	margin-top: 2rem;
	color: #6c757d;
	font-size: 0.9rem;
	font-weight: 600;
	width: 100%;
}

/* High-specificity selectors to force underline style (override Elementor/theme defaults) */
a.zgr-mention-person,
a.zgr-mention-company,
.zgr-paragraph a.zgr-mention-person,
.zgr-paragraph a.zgr-mention-company,
.entry-content a.zgr-mention-person,
.entry-content a.zgr-mention-company,
.zenger-modal-box a.zgr-mention-person,
.zenger-modal-box a.zgr-mention-company {
	color: #2d3949 !important;
	text-decoration: underline !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0.4em !important;
	cursor: pointer;
	transition: color 0.2s ease;
}
a.zgr-mention-person:hover,
a.zgr-mention-company:hover,
.zgr-paragraph a.zgr-mention-person:hover,
.zgr-paragraph a.zgr-mention-company:hover,
.entry-content a.zgr-mention-person:hover,
.entry-content a.zgr-mention-company:hover,
.zenger-modal-box a.zgr-mention-person:hover,
.zenger-modal-box a.zgr-mention-company:hover {
	background: #f5f5fc !important;
	text-decoration: underline !important;
}

/* Reporter Modal */
.zgr-reporter-modal {
	text-align: left;
}

.zgr-reporter-modal-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 1rem;
}

.zgr-reporter-modal-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.zgr-reporter-modal-avatar--placeholder {
	background: #0b2a4a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8em;
	font-weight: 600;
}

.zgr-reporter-modal-name-wrap {
	flex: 1;
}

.zgr-reporter-modal-name {
	margin: 0 0 4px;
	font-size: 1.3em;
	color: #222;
}

.zgr-reporter-modal-role {
	font-size: 0.9em;
	color: #666;
}

.zgr-reporter-modal-bio {
	margin: 1rem 0;
	line-height: 1.6;
	color: #444;
}

.zgr-reporter-modal-social {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #eee;
}

.zgr-reporter-modal-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: #f0f2f4;
	color: #333;
	text-decoration: none;
	border-radius: 6px;
	font-size: 0.9em;
	transition: background 0.2s ease;
}

.zgr-reporter-modal-link:hover {
	background: #e4e7ea;
}

.zgr-reporter-modal-link--twitter {
	color: #1da1f2;
}

.zgr-reporter-modal-link--email {
	color: #0b2a4a;
}

/* Editors Section */
.zgr-editors-section {
	margin: 1.5rem 0 0.75rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
	font-size: 1.08rem;
	line-height: 1.5;
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.zgr-editors-label {
	color: #2e3b4e;
	font-weight: 500;
	margin-right: 10px;
}

.zgr-editors-separator {
	display: inline-block;
	margin: 0 12px;
	color: #2e3b4e;
}

.zgr-editor-trigger {
	color: #213a63;
	font-weight: 500;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-style: solid;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
	padding: 0 2px;
}

.zgr-editor-trigger:hover {
	color: #1a5a94;
}

/* Editor Modal */
.zgr-editor-modal {
	text-align: left;
}

.zgr-editor-modal-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
}

.zgr-editor-modal-avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.zgr-editor-modal-avatar--placeholder {
	background: #0b2a4a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5em;
	font-weight: 600;
}

.zgr-editor-modal-name-wrap {
	flex: 1;
}

.zgr-editor-modal-name {
	margin: 0 0 4px;
	font-size: 1.2em;
	color: #222;
}

.zgr-editor-modal-role {
	font-size: 0.85em;
	color: #666;
}

.zgr-editor-modal-description {
	margin: 0.75rem 0;
	line-height: 1.6;
	color: #444;
}

.zgr-editor-modal-contact {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #eee;
}

.zgr-editor-modal-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: #f0f2f4;
	color: #0b2a4a;
	text-decoration: none;
	border-radius: 6px;
	font-size: 0.9em;
	transition: background 0.2s ease;
}

.zgr-editor-modal-link:hover {
	background: #e4e7ea;
}

/* Interviews Section */
.zgr-interviews-section {
	margin: 1rem 0 2rem;
	text-align: left;
}

.zgr-interviews-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	background: #0b2a4a;
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-size: 0.95em;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s ease;
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.zgr-interviews-btn:hover {
	background: #143d6b;
}

.zgr-interviews-icon {
	font-size: 1.1em;
}

.zgr-image-description,
.zgr-image-credit,
.zgr-image-credit a,
.zgr-image-credit-prefix,
.zgr-image-photographer,
.zgr-image-agency {
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Interviews Modal */
.zgr-interviews-modal {
	text-align: left;
	max-width: 700px;
}

.zgr-interviews-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 0.5rem;
}

.zgr-interviews-header-icon {
	font-size: 1.8em;
}

.zgr-interviews-title {
	margin: 0;
	font-size: 1.4em;
	color: #222;
}

.zgr-interviews-subtitle {
	margin: 0 0 1.5rem;
	color: #666;
	font-size: 0.9em;
}

.zgr-interview-item {
	margin-bottom: 1.5rem;
	padding: 1rem;
	background: #f8f9fa;
	border-radius: 8px;
	border: 1px solid #e9ecef;
}

.zgr-interview-profile {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 1rem;
}

.zgr-interview-avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.zgr-interview-avatar--placeholder {
	background: #0b2a4a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3em;
	font-weight: 600;
}

.zgr-interview-info {
	flex: 1;
}

.zgr-interview-name {
	font-weight: 600;
	color: #222;
	margin-bottom: 4px;
}

.zgr-interview-role {
	font-size: 0.85em;
	color: #666;
	margin-bottom: 8px;
}

.zgr-interview-bio {
	font-size: 0.9em;
	line-height: 1.5;
	color: #555;
}

.zgr-interview-media {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.zgr-interview-media-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	font-size: 0.85em;
}

.zgr-interview-media-item--audio {
	border-left: 3px solid #0b2a4a;
}

.zgr-interview-media-item--video {
	border-left: 3px solid #1a5a94;
}

.zgr-interview-media-item--transcript {
	border-left: 3px solid #6c757d;
}

.zgr-interview-media-icon {
	font-size: 1.1em;
}

.zgr-interview-media-label {
	font-weight: 500;
	color: #333;
}

.zgr-interview-media-duration {
	color: #777;
	font-size: 0.9em;
}

.zgr-interview-audio {
	margin-top: 8px;
}

.zgr-interview-audio audio {
	width: 100%;
	max-width: 420px;
}

.zgr-interviews-footer {
	margin-top: 1.5rem;
	padding: 1rem;
	background: #e9ecef;
	border-radius: 6px;
	font-size: 0.85em;
	line-height: 1.5;
	color: #555;
	text-align: center;
}

/* ── Image Info Button ("i" circle) ── */
.zgr-image-wrapper {
	position: relative;
	display: inline-block;
	width: 100%;
}

.zgr-image-wrapper img {
	display: block;
	width: 100%;
	height: auto;
}

.zgr-image-info-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: rgba(11, 42, 74, 0.75);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	font-style: italic;
	font-family: Georgia, 'Times New Roman', serif;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background 0.2s ease, transform 0.15s ease;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.zgr-image-info-btn:hover {
	background: rgba(11, 42, 74, 0.95);
	transform: scale(1.1);
}

/* ── Image Metadata Modal ── */
.zgr-meta-modal {
	text-align: left;
}

.zgr-meta-title {
	margin: 0 0 4px;
	font-size: 1.25em;
	font-weight: 700;
	color: #1a2332;
}

.zgr-meta-subtitle {
	margin: 0 0 1rem;
	font-size: 0.88em;
	color: #6b7280;
}

.zgr-meta-image-preview {
	margin-bottom: 1rem;
	border-radius: 8px;
	overflow: hidden;
	max-height: 220px;
}

.zgr-meta-image-preview img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 220px;
}

/* Verification rows */
.zgr-meta-verification {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 1rem;
}

.zgr-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
}

.zgr-meta-row + .zgr-meta-row {
	border-top: 1px solid #e5e7eb;
}

.zgr-meta-label {
	font-size: 0.92em;
	color: #374151;
	font-weight: 500;
}

.zgr-meta-badge {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-weight: 600;
	font-size: 0.92em;
}

.zgr-meta-badge--yes {
	color: #16a34a;
}

.zgr-meta-badge--no {
	color: #dc2626;
}

/* Two-column card grid */
.zgr-meta-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 10px;
}

@media (max-width: 480px) {
	.zgr-meta-cards {
		grid-template-columns: 1fr;
	}
}

.zgr-meta-card {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 14px 16px;
}

.zgr-meta-card-label {
	font-size: 0.78em;
	font-weight: 600;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 8px;
}

.zgr-meta-card-text {
	margin: 0 0 8px;
	font-size: 0.88em;
	line-height: 1.5;
	color: #374151;
	font-style: italic;
}

.zgr-meta-card-dim {
	margin: 0;
	font-size: 0.82em;
	color: #9ca3af;
}

.zgr-meta-photographer-name {
	font-size: 0.95em;
	color: #1a2332;
	margin-bottom: 4px;
}

.zgr-meta-card-agency {
	margin: 0 0 8px;
	font-size: 0.85em;
	color: #6b7280;
}

.zgr-meta-correspondent {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8em;
	color: #6b7280;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #e5e7eb;
}

.zgr-meta-zenger-mini {
	width: 20px;
	height: auto;
	display: inline-block;
	vertical-align: middle;
}

.zgr-meta-card-device {
	font-size: 1em;
	color: #1a2332;
	margin-bottom: 6px;
}

.zgr-meta-card-date {
	margin: 0 0 4px;
	font-size: 0.85em;
	color: #6b7280;
}

.zgr-meta-card-time {
	margin: 0;
	font-size: 0.85em;
	color: #6b7280;
}

.zgr-meta-card-rights {
	font-size: 1em;
	color: #1a2332;
	margin-bottom: 6px;
}

.zgr-meta-card-copyright {
	margin: 0;
	font-size: 0.85em;
	color: #6b7280;
}

/* Editing History */
.zgr-meta-edits {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 14px 16px;
}

.zgr-meta-edit-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.zgr-meta-edit-tag {
	display: inline-block;
	padding: 4px 12px;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 16px;
	font-size: 0.82em;
	color: #374151;
	font-weight: 500;
}

/* ── Quote Inline Expand (audio player + buttons below blockquote) ── */
.zgr-quote-expand {
	margin-top: 10px;
	margin-bottom: 20px;
	background: #fff;
	border-radius: 8px;
	border: 1px solid #e0e3e7;
	animation: zgrExpandIn 0.25s ease;
	overflow: hidden;
}

@keyframes zgrExpandIn {
	from {
		opacity: 0;
		max-height: 0;
	}
	to {
		opacity: 1;
		max-height: 600px;
	}
}

.zgr-quote-expand-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	font-size: 0.85em;
	color: #555;
	border-bottom: 1px solid #eee;
}

.zgr-quote-expand-header-text {
	flex: 1;
	min-width: 0;
}

.zgr-quote-expand-header-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #555;
	cursor: pointer;
	padding: 0;
	transition: background 0.15s ease;
	flex-shrink: 0;
}

.zgr-quote-expand-header-btn:hover {
	background: #f0f2f4;
}

.zgr-quote-expand-player {
	padding: 14px;
}

.zgr-quote-expand-player audio {
	width: 100%;
	max-width: 100%;
	border-radius: 6px;
}

.zgr-quote-expand-attribution {
	padding: 0 14px 6px;
	font-size: 0.88em;
	color: #666;
}

.zgr-quote-expand-actions {
	display: flex;
	gap: 0;
	border-top: 1px solid #eee;
}

.zgr-quote-expand-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 14px;
	background: #fff;
	color: var(--zgr-primary-color, #0b2a4a);
	border: 1px solid #e0e3e7;
	border-radius: 0;
	font-size: 0.9em;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
	font-family: inherit;
}

.zgr-quote-expand-btn:first-child {
	border-right: 0;
}

.zgr-quote-expand-btn:hover {
	background: #f8f9fa;
	color: var(--zgr-primary-color, #0b2a4a);
}

.zgr-quote-expand-btn svg {
	flex-shrink: 0;
}

/* ── Transcript Modal ── */
.zgr-transcript-modal {
	text-align: left;
}

.zgr-transcript-title {
	margin: 0 0 0.25rem;
	font-size: 1.3em;
	font-weight: 700;
	color: #222;
}

.zgr-transcript-meta {
	margin: 0 0 1.25rem;
	font-size: 0.9em;
	color: #666;
}

.zgr-transcript-entries {
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-height: 50vh;
	overflow-y: auto;
	padding-right: 4px;
}

.zgr-transcript-entry {
	display: flex;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 8px;
	transition: background 0.15s ease;
}

.zgr-transcript-entry:hover {
	background: #f8f9fa;
}

.zgr-transcript-entry--quote {
	background: #f0f4ff;
	border-left: 3px solid var(--zgr-primary-color, #0b2a4a);
}

.zgr-transcript-entry--focused {
	background: #e8f0fe;
	border-left: 3px solid var(--zgr-primary-color, #0b2a4a);
	box-shadow: 0 0 0 2px rgba(11, 42, 74, 0.15);
}

.zgr-transcript-time {
	flex-shrink: 0;
	min-width: 42px;
	font-size: 0.82em;
	font-weight: 600;
	color: #999;
	padding-top: 2px;
	font-variant-numeric: tabular-nums;
}

.zgr-transcript-body {
	flex: 1;
	min-width: 0;
}

.zgr-transcript-speaker {
	font-weight: 700;
	font-size: 0.88em;
	color: var(--zgr-primary-color, #0b2a4a);
	margin-bottom: 4px;
}

.zgr-transcript-text {
	font-size: 0.92em;
	line-height: 1.6;
	color: #333;
}

.zgr-transcript-quote-badge {
	margin-top: 8px;
	font-size: 0.82em;
	color: #555;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.zgr-transcript-badge-star {
	font-size: 1.1em;
}

.zgr-transcript-play-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 12px;
	background: #fff;
	color: var(--zgr-primary-color, #0b2a4a);
	border: 1px solid #d0d5dc;
	border-radius: 6px;
	font-size: 0.85em;
	cursor: pointer;
	transition: all 0.15s ease;
}

.zgr-transcript-play-btn:hover {
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	border-color: var(--zgr-primary-color, #0b2a4a);
}

.zgr-transcript-inline-audio {
	display: block;
	margin-top: 6px;
	width: 100%;
	max-width: 400px;
}

/* ── Full Interview Modal ── */
.zgr-full-interview-modal {
	text-align: left;
}

.zgr-full-interview-title {
	margin: 0 0 0.25rem;
	font-size: 1.3em;
	font-weight: 700;
	color: #222;
}

.zgr-full-interview-meta {
	margin: 0 0 1.25rem;
	font-size: 0.9em;
	color: #666;
}

/* Waveform placeholder (visual only) */
.zgr-fi-waveform {
	background: #f0f2f5;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	overflow: hidden;
}

.zgr-fi-waveform-bars {
	display: flex;
	align-items: center;
	gap: 2px;
	height: 50px;
}

.zgr-fi-waveform-bar {
	width: 3px;
	background: var(--zgr-primary-color, #0b2a4a);
	border-radius: 2px;
	opacity: 0.6;
}

/* Seek bar */
.zgr-fi-seek-container {
	margin-bottom: 6px;
}

.zgr-fi-seek-bar {
	width: 100%;
	height: 4px;
	-webkit-appearance: none;
	appearance: none;
	background: #dde0e4;
	border-radius: 2px;
	outline: none;
	cursor: pointer;
}

.zgr-fi-seek-bar::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 14px;
	height: 14px;
	background: var(--zgr-primary-color, #0b2a4a);
	border-radius: 50%;
	cursor: pointer;
}

.zgr-fi-seek-bar::-moz-range-thumb {
	width: 14px;
	height: 14px;
	background: var(--zgr-primary-color, #0b2a4a);
	border-radius: 50%;
	cursor: pointer;
	border: 0;
}

.zgr-fi-seek-times {
	display: flex;
	justify-content: space-between;
	font-size: 0.82em;
	color: #777;
	font-variant-numeric: tabular-nums;
	margin-top: 4px;
}

/* Transport controls */
.zgr-fi-transport {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 12px 0;
}

.zgr-fi-transport-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #d0d5dc;
	border-radius: 50%;
	background: #fff;
	color: var(--zgr-primary-color, #0b2a4a);
	cursor: pointer;
	padding: 0;
	transition: all 0.15s ease;
}

.zgr-fi-transport-btn:hover {
	background: #f0f2f4;
}

.zgr-fi-play-btn {
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	background: var(--zgr-primary-color, #0b2a4a);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background 0.15s ease;
}

.zgr-fi-play-btn:hover {
	background: #143d6b;
}

/* Volume + controls row */
.zgr-fi-controls-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	font-size: 0.85em;
	color: #555;
}

.zgr-fi-volume-icon {
	flex-shrink: 0;
	color: #777;
}

.zgr-fi-volume-bar {
	width: 80px;
	height: 4px;
	-webkit-appearance: none;
	appearance: none;
	background: #dde0e4;
	border-radius: 2px;
	outline: none;
	cursor: pointer;
}

.zgr-fi-volume-bar::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 12px;
	height: 12px;
	background: var(--zgr-primary-color, #0b2a4a);
	border-radius: 50%;
	cursor: pointer;
}

.zgr-fi-volume-bar::-moz-range-thumb {
	width: 12px;
	height: 12px;
	background: var(--zgr-primary-color, #0b2a4a);
	border-radius: 50%;
	cursor: pointer;
	border: 0;
}

.zgr-fi-volume-pct {
	min-width: 36px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.zgr-fi-loop-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: #777;
	cursor: pointer;
	padding: 0;
	border-radius: 4px;
	transition: color 0.15s ease, background 0.15s ease;
}

.zgr-fi-loop-btn:hover,
.zgr-fi-loop-btn.active {
	color: var(--zgr-primary-color, #0b2a4a);
	background: #f0f2f4;
}

.zgr-fi-speed-select {
	padding: 4px 8px;
	border: 1px solid #d0d5dc;
	border-radius: 6px;
	font-size: 0.92em;
	color: #333;
	cursor: pointer;
	margin-left: auto;
}

/* Chapters */
.zgr-fi-chapters {
	margin-top: 16px;
}

.zgr-fi-chapters h4 {
	margin: 0 0 10px;
	font-size: 1em;
	font-weight: 700;
	color: #222;
}

.zgr-fi-chapter {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: all 0.15s ease;
	margin-bottom: 4px;
}

.zgr-fi-chapter:hover {
	background: #f8f9fa;
}

.zgr-fi-chapter--active {
	background: #fff;
	border-color: var(--zgr-primary-color, #0b2a4a);
}

.zgr-fi-chapter-title {
	flex: 1;
	font-size: 0.92em;
	color: #333;
}

.zgr-fi-chapter-time {
	flex-shrink: 0;
	font-size: 0.82em;
	font-weight: 600;
	color: #777;
	font-variant-numeric: tabular-nums;
}

/* Metadata section */
.zgr-fi-metadata {
	margin-top: 16px;
	padding: 14px 16px;
	background: #f8f9fa;
	border-radius: 8px;
	border: 1px solid #e9ecef;
}

.zgr-fi-metadata-row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 0.88em;
}

.zgr-fi-metadata-label {
	color: #777;
}

.zgr-fi-metadata-value {
	color: #333;
	font-weight: 500;
}

/* Verification notice */
.zgr-fi-verified {
	margin-top: 12px;
	padding: 12px 16px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 8px;
	font-size: 0.88em;
	color: #065f46;
	line-height: 1.5;
}

/* ── Video Embed (YouTube, Vimeo, etc.) ── */
/* Responsive video container using padding-bottom technique for 16:9 aspect ratio */
.zgr-video {
	margin: 1.5rem 0;
	position: relative;
	width: 100%;
	max-width: 100%;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
}

.zgr-video iframe,
.zgr-video embed,
.zgr-video object {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 8px;
}

/* Fallback for non-iframe embeds */
.zgr-video > *:not(iframe):not(embed):not(object) {
	max-width: 100%;
	height: auto;
	display: block;
	position: relative;
}

/* Inline quotes in paragraphs */
.zgr-inline-quote {
	display: inline;
	position: relative;
	color: inherit;
	font-style: normal;
}

.zgr-inline-quote-buttons {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	margin-left: 4px;
	vertical-align: middle;
}

/* The expand div for inline quotes must be full-width block to push text below */
.zgr-inline-quote + .zgr-quote-expand,
.zgr-inline-quote-expand-wrapper,
.zgr-paragraph + .zgr-quote-expand,
p + .zgr-quote-expand {
	display: block !important;
	width: 100% !important;
	margin-top: 10px;
	margin-bottom: 20px;
	clear: both;
}

/* Ensure buttons appear inline after the quote text */
.zgr-inline-quote + .zgr-quote-media-btn,
.zgr-audio-btn,
.zgr-video-btn {
	display: inline-flex !important;
	vertical-align: middle;
	margin-left: 4px;
}

/* ═══════════════════════════════════════════════════════════════
 * Enriched User Modal (Editor/Reporter) Styles
 * ═══════════════════════════════════════════════════════════════ */

.zgr-user-modal {
	padding: 32px 36px;
	max-width: 100%;
	margin: 0 auto;
}

/* Header Section */
.zgr-user-modal-header {
	margin-bottom: 2rem;
	position: relative;
}

.zgr-user-modal-title {
	font-size: 36px;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 0.75rem;
}

.zgr-user-modal-name {
	color: #222222;
}

.zgr-user-modal-role {
	color: #748398;
	font-size: 24px;
}

.zgr-user-modal-stats {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 16px;
	margin-bottom: 1rem;
}

.zgr-user-modal-stat-label {
	color: #9ca3af;
}

.zgr-user-modal-stat-value {
	color: #122b50;
	font-weight: 600;
}

.zgr-user-modal-stat-separator {
	color: #9ca3af;
}

.zgr-user-modal-header-socials {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: flex-end;
}

.zgr-user-modal-email {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #686c73;
	font-size: 13px;
}

.zgr-user-modal-icon {
	width: 16px;
	height: 16px;
}

.zgr-user-modal-social-buttons {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.zgr-user-modal-social-link img {
	width: 20px;
	height: 20px;
}

.zgr-user-modal-divider {
	border-top: 1px solid #e5e7eb;
	margin: 2rem 0;
}

/* Main Content: Image + Bio */
.zgr-user-modal-main {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 1.75rem;
	margin-bottom: 2rem;
	align-items: start;
}

.zgr-user-modal-left {
	position: relative;
}

.zgr-user-modal-image {
	width: 100%;
	max-width: 240px;
	height: 280px;
	object-fit: cover;
	object-position: top;
	border-radius: 12px;
	transition: transform 0.7s ease-out;
	display: block;
}

.zgr-user-modal-image:hover {
	transform: scale(1.05);
	cursor: pointer;
}

.zgr-user-modal-image--placeholder {
	width: 100%;
	max-width: 240px;
	height: 280px;
	background: #0b2a4a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3em;
	font-weight: 600;
	border-radius: 12px;
}

.zgr-user-modal-meta {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.zgr-user-modal-location,
.zgr-user-modal-languages {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #748398;
	font-size: 14px;
}

.zgr-user-modal-languages {
	flex-wrap: wrap;
}

.zgr-user-modal-language {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0.25rem;
}

.zgr-user-modal-language img {
	width: 23px;
	height: 15px;
}

.zgr-user-modal-right {
	font-size: 15px;
	line-height: 1.7;
	color: #122b50;
}

.zgr-user-modal-bio {
	margin-bottom: 0.75rem;
}

.zgr-user-modal-bio:first-of-type strong,
.zgr-user-modal-bio:first-child {
	font-size: 17px;
	font-weight: bold;
}

.zgr-user-modal-website {
	margin-top: 1rem;
}

.zgr-user-modal-website-link {
	color: #122b50;
	font-style: italic;
	font-size: 14px;
	text-decoration: underline;
}

/* Section Headers */
.zgr-user-modal-section {
	margin-bottom: 2rem;
}

.zgr-user-modal-section-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	transition: transform 0.3s ease-in-out;
	cursor: pointer;
}

.zgr-user-modal-section-header:hover {
	transform: scale(1.05);
}

.zgr-user-modal-section-icon {
	width: 24px;
	height: 24px;
	color: #122b50;
	flex-shrink: 0;
}

.zgr-user-modal-award-icon {
	width: 32px;
	height: 32px;
}

.zgr-user-modal-section-title {
	font-size: 1.25rem;
	color: #222222;
	font-weight: 600;
}

.zgr-user-modal-section-subtitle {
	color: #748398;
}

.zgr-user-modal-zenger-logo {
	width: 48px;
	height: 48px;
	background: #ffffff;
	border-radius: 4px;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zgr-user-modal-zenger-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Section Content */
.zgr-user-modal-section-content {
	padding: 0 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

/* Experience/Education/Award Items */
.zgr-user-modal-experience-item,
.zgr-user-modal-education-item,
.zgr-user-modal-award-item {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.zgr-user-modal-experience-logo,
.zgr-user-modal-education-logo,
.zgr-user-modal-award-logo {
	width: 100px;
	height: 60px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.zgr-user-modal-experience-logo img,
.zgr-user-modal-education-logo img,
.zgr-user-modal-award-logo img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 0.7s ease-out;
}

.zgr-user-modal-experience-logo img:hover,
.zgr-user-modal-education-logo img:hover,
.zgr-user-modal-award-logo img:hover {
	transform: scale(1.25);
	cursor: pointer;
}

.zgr-user-modal-placeholder-logo {
	width: 100px;
	height: 60px;
	background: #f3f4f6;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
	font-size: 11px;
}

.zgr-user-modal-experience-details,
.zgr-user-modal-education-details,
.zgr-user-modal-award-details {
	flex: 1;
}

.zgr-user-modal-experience-title,
.zgr-user-modal-education-degree,
.zgr-user-modal-award-title {
	font-size: 18px;
	color: #122b50;
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.zgr-user-modal-experience-company,
.zgr-user-modal-education-institution,
.zgr-user-modal-award-organization {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-experience-period,
.zgr-user-modal-education-year,
.zgr-user-modal-award-year {
	font-size: 13px;
	color: #4b5563;
	margin-top: 0.2rem;
}

/* Books */
.zgr-user-modal-book-item {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
}

.zgr-user-modal-book-cover {
	width: 70px;
	height: 100px;
	flex-shrink: 0;
	display: block;
}

.zgr-user-modal-book-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: transform 0.7s ease-out, box-shadow 0.3s;
}

.zgr-user-modal-book-cover:hover img {
	transform: scale(1.5);
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.zgr-user-modal-placeholder-cover {
	width: 70px;
	height: 100px;
	background: #f3f4f6;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
	font-size: 10px;
}

.zgr-user-modal-book-details {
	flex: 1;
}

.zgr-user-modal-book-title-link {
	display: block;
	transition: all 0.5s ease-out;
}

.zgr-user-modal-book-title-link:hover .zgr-user-modal-book-title {
	transform: scale(1.25);
	text-decoration: underline;
	font-weight: bold;
}

.zgr-user-modal-book-title {
	font-size: 18px;
	color: #122b50;
	margin-bottom: 0.35rem;
	line-height: 1.3;
	display: inline-block;
	transition: all 0.5s ease-out;
	transform-origin: left;
}

.zgr-user-modal-book-publisher {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-book-year {
	font-size: 13px;
	color: #4b5563;
	margin-top: 0.2rem;
}

/* Articles */
.zgr-user-modal-article-item {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.zgr-user-modal-article-logo {
	width: 100px;
	height: 60px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.zgr-user-modal-article-logo img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 0.7s ease-out;
}

.zgr-user-modal-article-logo img:hover {
	transform: scale(1.25);
	cursor: pointer;
}

.zgr-user-modal-article-details {
	flex: 1;
}

.zgr-user-modal-article-title {
	font-size: 17px;
	color: #122b50;
	margin-bottom: 0.35rem;
	line-height: 1.3;
	display: inline-block;
	transition: all 0.3s ease-out;
	transform-origin: left;
	cursor: pointer;
}

.zgr-user-modal-article-title:hover {
	transform: scale(1.05);
	text-decoration: underline;
	font-weight: bold;
}

.zgr-user-modal-article-publication {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-article-category {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-article-year {
	font-size: 13px;
	color: #4b5563;
	margin-top: 0.2rem;
}

/* Zenger Stories */
.zgr-user-modal-story-item {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.zgr-user-modal-story-thumbnail {
	width: 120px;
	height: 80px;
	flex-shrink: 0;
}

.zgr-user-modal-story-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
	transition: transform 0.7s ease-out;
}

.zgr-user-modal-story-thumbnail img:hover {
	transform: scale(1.25);
	cursor: pointer;
}

.zgr-user-modal-placeholder-thumbnail {
	width: 120px;
	height: 80px;
	background: #f3f4f6;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
	font-size: 11px;
	border-radius: 4px;
}

.zgr-user-modal-story-details {
	flex: 1;
}

.zgr-user-modal-story-title {
	font-size: 17px;
	color: #122b50;
	margin-bottom: 0.35rem;
	line-height: 1.3;
	display: inline-block;
	transition: all 0.3s ease-out;
	transform-origin: left;
	cursor: pointer;
}

.zgr-user-modal-story-title:hover {
	transform: scale(1.05);
	text-decoration: underline;
	font-weight: bold;
}

.zgr-user-modal-story-category {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-story-year {
	font-size: 13px;
	color: #4b5563;
	margin-top: 0.2rem;
}

/* Interviews */
.zgr-user-modal-interview-item {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.zgr-user-modal-interview-thumbnail {
	width: 140px;
	height: 90px;
	flex-shrink: 0;
	position: relative;
}

.zgr-user-modal-interview-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
	transition: all 0.7s ease-out;
}

.zgr-user-modal-interview-thumbnail:hover img {
	transform: scale(1.1);
	filter: brightness(1.1);
}

.zgr-user-modal-interview-details {
	flex: 1;
}

.zgr-user-modal-interview-title {
	font-size: 17px;
	color: #122b50;
	margin-bottom: 0.35rem;
	line-height: 1.3;
	display: inline-block;
	transition: all 0.3s ease-out;
	transform-origin: left;
	cursor: pointer;
}

.zgr-user-modal-interview-title:hover {
	transform: scale(1.05);
	text-decoration: underline;
	font-weight: bold;
}

.zgr-user-modal-interview-source {
	font-size: 13px;
	color: #4b5563;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.zgr-user-modal-interview-year {
	font-size: 13px;
	color: #4b5563;
	margin-top: 0.2rem;
}

/* Footer */
.zgr-user-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.zgr-user-modal-footer-email {
	font-size: 18px;
	color: #748398;
}

.zgr-user-modal-footer-socials {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.zgr-user-modal-footer-social-link img {
	width: 24px;
	height: 24px;
	transition: opacity 0.3s;
}

.zgr-user-modal-footer-social-link:hover img {
	opacity: 0.7;
}

/* Responsive */
@media (max-width: 680px) {
	.zgr-user-modal {
		padding: 20px 16px;
	}

	.zgr-user-modal-main {
		grid-template-columns: 1fr;
	}

	.zgr-user-modal-image,
	.zgr-user-modal-image--placeholder {
		width: 100%;
		max-width: 240px;
		margin: 0 auto;
	}

	.zgr-user-modal-section-content {
		padding: 0 0.5rem;
	}

	.zgr-user-modal-header-socials {
		position: static;
		margin-top: 1rem;
	}

	.zgr-user-modal-title {
		font-size: 26px;
	}

	.zgr-user-modal-role {
		font-size: 18px;
	}
}
