/* CM Featured News Grid */

.cm-featured-news {
	background: #f4f1e8;
	color: #1f1f1f;
	font-size: 16px;
	padding: 70px 10px 60px;
}

.cm-featured-news * { box-sizing: border-box; }

.cm-featured-news__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.cm-featured-news__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 54px;
}

.cm-featured-news__header h2 {
	margin: 0;
	color: inherit;
	font-size: clamp(44px, 5vw, 72px);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -0.045em;
}

.cm-featured-news__right-label {
	font-size: 16px;
	font-weight: 800;
	font-style: italic;
	white-space: nowrap;
	text-decoration: none !important;
	color: inherit !important;
	display: inline-flex;
	align-items: center;
}

.cm-featured-news__right-label span {
	color: #d83933;
	font-size: 12px;
	margin-left: 5px;
}

.cm-featured-news__grid {
	display: grid;
	grid-template-columns: 2.25fr .9fr .75fr;
	gap: 16px;
	align-items: stretch;
}

.cm-featured-news__side {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
}

.cm-featured-news__card {
	position: relative;
	display: block;
	min-height: 270px;
	padding: 24px;
	background: #222;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	color: #fff !important;
	text-decoration: none !important;
}

.cm-featured-news__card--large,
.cm-featured-news__card--tall {
	min-height: 430px;
}

.cm-featured-news__card--small {
	min-height: 207px;
	padding: 18px;
}

.cm-featured-news__shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.38) 55%, rgba(0,0,0,.18) 100%),
		linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.05));
}

.cm-featured-news__type {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255,255,255,.86);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .27em;
	text-transform: uppercase;
}

.cm-featured-news__type:before {
	content: "◉";
	font-size: 10px;
	letter-spacing: 0;
	opacity: .75;
}

.cm-featured-news__card-content {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 24px;
	z-index: 2;
	display: block;
}

.cm-featured-news__card--small .cm-featured-news__card-content {
	left: 18px;
	right: 18px;
	bottom: 18px;
}

.cm-featured-news__read {
	display: block;
	margin: 0 0 8px;
	color: rgba(255,255,255,.82);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .26em;
	text-transform: uppercase;
}

.cm-featured-news__title {
	display: block;
	color: #fff;
	font-size: clamp(22px, 2.4vw, 34px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.cm-featured-news__card--tall .cm-featured-news__title {
	font-size: clamp(22px, 2vw, 30px);
}

.cm-featured-news__card--small .cm-featured-news__title {
	font-size: 19px;
	line-height: 1.05;
}

.cm-featured-news__minis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
	margin: 28px 0 0;
}

.cm-featured-news__mini {
	display: grid;
	grid-template-columns: 86px 1fr;
	gap: 16px;
	align-items: center;
	color: #1f1f1f !important;
	text-decoration: none !important;
	min-width: 0;
}

.cm-featured-news__mini-image {
	display: block;
	width: 86px;
	height: 86px;
	border-radius: 999px;
	background: #222;
	background-size: cover;
	background-position: center;
}

.cm-featured-news__mini-read {
	display: block;
	margin-bottom: 5px;
	color: #6b6259;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .26em;
	text-transform: uppercase;
}

.cm-featured-news__mini-title {
	display: block;
	color: #1f1f1f;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.cm-featured-news__mini-type {
	display: block;
	margin-top: 7px;
	color: #6b6259;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.cm-featured-news__mini-type:before {
	content: "◉";
	font-size: 9px;
	margin-right: 6px;
}

@media (max-width: 1024px) {
	.cm-featured-news__grid { grid-template-columns: 1fr 1fr; }
	.cm-featured-news__main { grid-column: 1 / -1; }
	.cm-featured-news__side {
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}
	.cm-featured-news__minis { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.cm-featured-news__header {
		display: block;
		margin-bottom: 28px;
	}
	.cm-featured-news__right-label { margin-top: 14px; }
	.cm-featured-news__grid,
	.cm-featured-news__side,
	.cm-featured-news__minis {
		grid-template-columns: 1fr;
	}
	.cm-featured-news__card,
	.cm-featured-news__card--large,
	.cm-featured-news__card--tall,
	.cm-featured-news__card--small {
		min-height: 330px;
	}
	.cm-featured-news__minis { gap: 18px; }
}


/* v1.0.2 - Remove all Featured News Grid hover effects */

.cm-featured-news__card,
.cm-featured-news__mini,
.cm-featured-news__mini-image,
.cm-featured-news__card::before,
.cm-featured-news__card::after {
	transform: none !important;
	transition: none !important;
	animation: none !important;
}

.cm-featured-news__card:hover,
.cm-featured-news__mini:hover,
.cm-featured-news__card:hover .cm-featured-news__shade,
.cm-featured-news__card:hover .cm-featured-news__card-content,
.cm-featured-news__card:hover .cm-featured-news__title,
.cm-featured-news__card:hover .cm-featured-news__type,
.cm-featured-news__mini:hover .cm-featured-news__mini-image,
.cm-featured-news__mini:hover .cm-featured-news__mini-title {
	transform: none !important;
	opacity: inherit !important;
	filter: none !important;
	background-position: center center !important;
	box-shadow: none !important;
	text-decoration: none !important;
}


/* v1.0.2a - FORCE REMOVE ALL FEATURED NEWS IMAGE HOVER EFFECTS */

.cm-featured-news__card,
.cm-featured-news__card *,
.cm-featured-news__mini,
.cm-featured-news__mini *,
.cm-featured-news__mini-image,
.cm-featured-news__card::before,
.cm-featured-news__card::after {
    transition: none !important;
    animation: none !important;
}

.cm-featured-news__card:hover,
.cm-featured-news__card:hover *,
.cm-featured-news__mini:hover,
.cm-featured-news__mini:hover *,
.cm-featured-news__mini-image:hover,
.cm-featured-news__card:hover::before,
.cm-featured-news__card:hover::after {
    transform: none !important;
    scale: 1 !important;
    zoom: 1 !important;
    filter: none !important;
    opacity: 1 !important;
    background-size: cover !important;
    background-position: center center !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.cm-featured-news__card {
    background-size: cover !important;
    background-position: center center !important;
}

.cm-featured-news__card:hover {
    background-size: cover !important;
    background-position: center center !important;
}

.cm-featured-news__mini-image,
.cm-featured-news__mini-image:hover {
    transform: none !important;
    scale: 1 !important;
    filter: none !important;
}


/* v1.0.3 - Background social URL auto-embed styling */

.cm-editorial-social-embed {
	width: 100%;
	max-width: 700px;
	margin: 18px 0;
}

.cm-editorial-social-embed iframe,
.cm-editorial-social-embed blockquote,
.cm-editorial-social-embed .tiktok-embed {
	max-width: 100% !important;
}

.cm-editorial-social-embed--fallback {
	padding: 14px 16px;
	background: #f4f1e8;
	border-left: 4px solid #d83933;
	font-size: 16px;
}


/* v1.0.4 - Mobile social short-link embed support */

.cm-editorial-social-embed {
	width: 100%;
	max-width: 700px;
	margin: 18px 0;
}

.cm-editorial-social-embed iframe,
.cm-editorial-social-embed blockquote,
.cm-editorial-social-embed .tiktok-embed {
	max-width: 100% !important;
}

.cm-editorial-social-embed--fallback {
	padding: 14px 16px;
	background: #f4f1e8;
	border-left: 4px solid #d83933;
	font-size: 16px;
}


/* v1.0.5 - Social embed audio/control support */

.cm-editorial-social-embed {
	position: relative;
	pointer-events: auto;
	touch-action: manipulation;
}

.cm-editorial-social-embed iframe,
.cm-editorial-social-embed blockquote,
.cm-editorial-social-embed .tiktok-embed {
	pointer-events: auto !important;
	touch-action: manipulation;
}

.cm-editorial-social-embed * {
	pointer-events: auto;
}


/* v1.0.6 - Social links as platform buttons */

.cm-editorial-social-button-wrap {
	margin: 18px 0;
}

.cm-editorial-social-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 4px;
	background: #d83933;
	color: #fff !important;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none !important;
}

.cm-editorial-social-button:hover,
.cm-editorial-social-button:focus {
	color: #fff !important;
	text-decoration: none !important;
	background: #b82f2a;
}

.cm-editorial-social-button span {
	font-size: 18px;
	line-height: 1;
}


/* v1.0.7 - Social link thumbnail card */

.cm-editorial-social-card {
	width: 100%;
	max-width: 700px;
	margin: 22px 0;
}

.cm-editorial-social-card__thumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 220px;
	background-color: #111;
	background-size: cover;
	background-position: center;
	text-decoration: none !important;
	overflow: hidden;
	border-radius: 6px 6px 0 0;
}

.cm-editorial-social-card__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.05));
}

.cm-editorial-social-card__play {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	transform: translate(-50%, -50%);
	border-radius: 999px;
	background: rgba(0,0,0,.72);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	padding-left: 4px;
}

.cm-editorial-social-card .cm-editorial-social-button {
	border-radius: 0 0 6px 6px;
	width: 100%;
	justify-content: center;
}

.cm-editorial-social-card:not(:has(.cm-editorial-social-card__thumb)) .cm-editorial-social-button {
	border-radius: 4px;
	width: auto;
}
