/*
 * NewsCMS reporter box. Theme-proof: every rule is scoped to .newscms-rbox, colours
 * follow the theme's text colour (works on light and dark themes), and the
 * properties themes commonly set on img / p / a are reset explicitly.
 */

.newscms-rbox {
	--nc-rb-size: 72px;
	align-items: center;
	box-sizing: border-box;
	clear: both;
	color: inherit;
	display: flex;
	font-size: 1rem;
	gap: 16px;
	line-height: 1.4;
	margin: 2.5em 0 1em;
	max-width: 100%;
	padding: 0;
	text-align: left;
}
.newscms-rbox *,
.newscms-rbox *::before,
.newscms-rbox *::after { box-sizing: border-box; }
.newscms-rbox [hidden] { display: none !important; }

.newscms-rbox--small { --nc-rb-size: 48px; }
.newscms-rbox--medium { --nc-rb-size: 72px; }
.newscms-rbox--large { --nc-rb-size: 96px; }

.newscms-rbox--border { border: 1px solid rgba(127, 127, 127, .3); border-radius: 14px; padding: 18px 20px; }
.newscms-rbox--bg { background: rgba(127, 127, 127, .08); border-radius: 14px; padding: 18px 20px; }

.newscms-rbox--top { flex-direction: column; gap: 12px; text-align: center; }

.newscms-rbox img.newscms-rbox__photo {
	border: 0 !important;
	border-radius: 50%;
	box-shadow: none !important;
	display: block !important;
	flex: none;
	height: var(--nc-rb-size) !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-width: 0 !important;
	object-fit: cover;
	padding: 0 !important;
	width: var(--nc-rb-size) !important;
}
.newscms-rbox--rounded img.newscms-rbox__photo { border-radius: 12px; }
.newscms-rbox--square img.newscms-rbox__photo { border-radius: 0; }

.newscms-rbox__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.newscms-rbox--top .newscms-rbox__text { align-items: center; }

.newscms-rbox__heading { display: block; font-size: .75em; font-weight: 600; letter-spacing: .08em; opacity: .65; text-transform: uppercase; }
.newscms-rbox__name { display: block; font-size: 1.15em; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.newscms-rbox__name a { box-shadow: none !important; color: inherit !important; text-decoration: none !important; }
.newscms-rbox__name a:hover,
.newscms-rbox__name a:focus { text-decoration: underline !important; }
.newscms-rbox__label { align-self: flex-start; background: rgba(127, 127, 127, .14); border-radius: 999px; display: inline-block; font-size: .8em; font-weight: 600; line-height: 1; margin-top: 6px; padding: 5px 10px; }
.newscms-rbox--top .newscms-rbox__label { align-self: center; }
.newscms-rbox--no-label .newscms-rbox__label { display: none !important; }

@media (max-width: 420px) {
	.newscms-rbox { gap: 12px; }
	.newscms-rbox--border, .newscms-rbox--bg { padding: 14px 16px; }
	.newscms-rbox--large { --nc-rb-size: 80px; }
}
