/**
 * Styles for the newsroom widgets added by the Elementor pack:
 * Author Spotlight, Headline List and Topic Pills.
 *
 * Everything here is token driven so the skins, dark mode and RTL all work
 * without a second stylesheet.
 */

/* ---------------------------------------------------------- Author Spotlight */

.snmp-authors {
	display: grid;
	gap: var(--snmp-grid-gap, 24px);
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.snmp-author-card {
	background: var(--snmp-surface, #fff);
	border: 1px solid var(--snmp-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--snmp-card-radius, 14px);
	padding: 20px 16px;
	text-align: center;
}

.snmp-author-card__avatar img {
	border-radius: 50%;
	width: 76px;
	height: 76px;
	object-fit: cover;
}

.snmp-author-card__name {
	font-size: 1.02rem;
	margin: 10px 0 2px;
	line-height: 1.3;
}

.snmp-author-card__name a {
	color: var(--snmp-heading, inherit);
	text-decoration: none;
}

.snmp-author-card__name a:hover,
.snmp-author-card__name a:focus {
	color: var(--snmp-accent, #e8562a);
}

.snmp-author-card__count {
	color: var(--snmp-accent, #e8562a);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.snmp-author-card__bio {
	color: var(--snmp-muted, #666);
	font-size: 0.86rem;
	line-height: 1.55;
	margin: 0;
}

/* ------------------------------------------------------------- Headline List */

.snmp-headlines {
	counter-reset: snmp-headline;
	display: grid;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.snmp-headlines__item {
	align-items: flex-start;
	border-bottom: 1px solid var(--snmp-border, rgba(0, 0, 0, 0.08));
	display: flex;
	gap: 12px;
	padding: 10px 0;
}

.snmp-headlines__item:last-child {
	border-bottom: 0;
}

.snmp-headlines.is-numbered .snmp-headlines__item::before {
	color: var(--snmp-accent, #e8562a);
	counter-increment: snmp-headline;
	content: counter(snmp-headline);
	flex: 0 0 auto;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	min-width: 1.4em;
	text-align: center;
}

.snmp-headlines__thumb {
	flex: 0 0 auto;
}

.snmp-headlines__thumb img {
	border-radius: 8px;
	height: 56px;
	object-fit: cover;
	width: 76px;
}

.snmp-headlines__body {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.snmp-headlines__term {
	color: var(--snmp-accent, #e8562a);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.snmp-headlines__title {
	color: var(--snmp-heading, inherit);
	font-size: calc(0.98rem * var(--snmp-headline-scale, 1));
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

.snmp-headlines__title:hover,
.snmp-headlines__title:focus {
	color: var(--snmp-accent, #e8562a);
}

.snmp-headlines__time {
	color: var(--snmp-muted, #777);
	font-size: 0.76rem;
}

/* ---------------------------------------------------------------- Topic Pills */

.snmp-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.snmp-pills__item {
	--snmp-pill-accent: var(--snmp-accent, #e8562a);
	align-items: center;
	border: 1px solid var(--snmp-pill-accent);
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 600;
	gap: 6px;
	line-height: 1;
	padding: 8px 14px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.snmp-pills.is-solid .snmp-pills__item {
	background: var(--snmp-pill-accent);
	color: #fff;
}

.snmp-pills.is-outline .snmp-pills__item {
	background: transparent;
	color: var(--snmp-pill-accent);
}

.snmp-pills.is-soft .snmp-pills__item {
	background: color-mix(in srgb, var(--snmp-pill-accent) 14%, transparent);
	border-color: transparent;
	color: var(--snmp-pill-accent);
}

.snmp-pills.is-outline .snmp-pills__item:hover,
.snmp-pills.is-outline .snmp-pills__item:focus,
.snmp-pills.is-soft .snmp-pills__item:hover,
.snmp-pills.is-soft .snmp-pills__item:focus {
	background: var(--snmp-pill-accent);
	color: #fff;
}

.snmp-pills__count {
	font-size: 0.72rem;
	opacity: 0.75;
}

.rtl .snmp-headlines__item,
.rtl .snmp-pills {
	direction: rtl;
}

@media (prefers-reduced-motion: reduce) {
	.snmp-pills__item {
		transition: none;
	}
}

/* Magazine Mosaic widget. */
.snmp-mosaic__heading{font-size:clamp(1.1rem,2vw,1.45rem);margin:0 0 14px;border-bottom:2px solid var(--snmp-accent,currentColor)}
.snmp-mosaic__heading span{display:inline-block;padding:0 10px 6px 0}
.snmp-mosaic__grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
@media (max-width:782px){.snmp-mosaic__grid{grid-template-columns:minmax(0,1fr)}}
.snmp-mosaic__lead{display:flex;flex-direction:column;gap:10px;min-width:0}
.snmp-mosaic__media img,.snmp-mosaic__thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}
.snmp-mosaic--ratio-16-9 .snmp-mosaic__media{aspect-ratio:16/9}
.snmp-mosaic--ratio-4-3 .snmp-mosaic__media{aspect-ratio:4/3}
.snmp-mosaic--ratio-1-1 .snmp-mosaic__media{aspect-ratio:1/1}
.snmp-mosaic--ratio-3-4 .snmp-mosaic__media{aspect-ratio:3/4}
.snmp-mosaic__media{display:block;overflow:hidden;border-radius:10px}
.snmp-mosaic__leadtitle{margin:0;font-size:clamp(1.2rem,2.4vw,1.75rem);line-height:1.2}
.snmp-mosaic__title{margin:0;font-size:1rem;line-height:1.3}
.snmp-mosaic__excerpt{margin:0;opacity:.85}
.snmp-mosaic__meta{display:flex;gap:10px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.8}
.snmp-mosaic__stack{display:grid;gap:14px;align-content:start;min-width:0}
.snmp-mosaic__item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}
.snmp-mosaic__thumb{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:10px}
.snmp-mosaic__body{display:grid;gap:6px;min-width:0}

/* Newsletter panel widget. */
.snmp-newsletter{padding:22px;border-radius:14px;display:grid;gap:10px}
.snmp-newsletter--accent{background:var(--snmp-accent,#12325c);color:#fff}
.snmp-newsletter--accent a{color:inherit}
.snmp-newsletter--surface{background:var(--snmp-surface-2,rgba(125,135,150,.12))}
.snmp-newsletter--outline{border:2px solid currentColor}
.snmp-newsletter__title{margin:0;font-size:1.25rem}
.snmp-newsletter__text,.snmp-newsletter__note{margin:0}
.snmp-newsletter__note{font-size:.78rem;opacity:.8}
.snmp-newsletter__btn{display:inline-block;justify-self:start;padding:10px 18px;border-radius:999px;background:currentColor;font-weight:600}
.snmp-newsletter--accent .snmp-newsletter__btn{background:#fff;color:var(--snmp-accent,#12325c)}
.snmp-newsletter__form input[type=email],.snmp-newsletter__form input[type=text]{width:100%;max-width:340px;padding:10px 12px;border-radius:8px;border:1px solid rgba(125,135,150,.5)}
