/**
Theme Name: Astra Child - KR
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: A Kiakkoradio-styled Astra child theme with a dark atmospheric glassmorphism design system.
Version: 1.29.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-kr
Template: astra
*/

/* --------------------------------------------------------------------------
   Kiakkoradio design tokens
   -------------------------------------------------------------------------- */

:root {
	--kr-canvas: #060709;
	--kr-background: #0b0c11;
	--kr-foreground: #f5f5f5;
	--kr-muted: #9292a2;
	--kr-red: #d91a33;
	--kr-blue: #1b3f9a;
	--kr-orange: #e8681a;
	--kr-glass: rgba(255, 255, 255, 0.055);
	--kr-glass-strong: rgba(255, 255, 255, 0.085);
	--kr-glass-border: rgba(255, 255, 255, 0.09);
	--kr-glass-border-strong: rgba(255, 255, 255, 0.14);
	--kr-glass-blur: 24px;
	--kr-radius: 16px;
	--kr-radius-large: 20px;
}

/* --------------------------------------------------------------------------
   Global atmospheric background

   The colored fields are deliberately oversized, blurred and low-opacity.
   They should read as ambient light through smoked glass, not distinct blobs.
   -------------------------------------------------------------------------- */

html {
	background-color: var(--kr-canvas);
	background-image:
		linear-gradient(180deg, rgba(6, 7, 9, 0.055), rgba(6, 7, 9, 0.14)),
		radial-gradient(circle at 50% 45%, transparent 0, rgba(6, 7, 9, 0.045) 72%, rgba(6, 7, 9, 0.16) 100%),
		radial-gradient(ellipse 34% 30% at 36% 38%, rgba(217, 26, 51, 0.3) 0, rgba(217, 26, 51, 0.18) 34%, rgba(217, 26, 51, 0.055) 58%, transparent 83%),
		radial-gradient(ellipse 34% 30% at 64% 38%, rgba(27, 63, 154, 0.32) 0, rgba(27, 63, 154, 0.18) 34%, rgba(27, 63, 154, 0.055) 58%, transparent 83%),
		radial-gradient(ellipse 34% 30% at 36% 62%, rgba(27, 63, 154, 0.29) 0, rgba(27, 63, 154, 0.17) 34%, rgba(27, 63, 154, 0.05) 58%, transparent 83%),
		radial-gradient(ellipse 34% 30% at 64% 62%, rgba(217, 26, 51, 0.285) 0, rgba(217, 26, 51, 0.17) 34%, rgba(217, 26, 51, 0.05) 58%, transparent 83%);
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: cover;
}

body {
	margin: 0;
	padding: 0;
	overflow-x: clip;
	color: var(--kr-foreground);
	background: transparent !important;
}

/* Remove Astra's opaque page layers so the atmosphere remains visible. */

#page,
.site,
.site-content,
.ast-separate-container,
.ast-page-builder-template,
.ast-container,
.site-main,
#primary,
#secondary {
	background-color: transparent !important;
}

#page {
	position: relative;
	z-index: 1;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Keep every page comfortably separated from the persistent header and footer. */
#content.site-content {
	padding-top: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(32px, 5vw, 58px);
}

/* The front-page visual starts directly below the site header. */
body.home #content.site-content {
	padding-top: 0;
}

/* Gutenberg has a 40px Spacer immediately before the front-page shortcode. */
body.home .entry-content > .wp-block-spacer:first-child,
body.front-page .entry-content > .wp-block-spacer:first-child {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.site-footer {
	display: flow-root;
	margin-bottom: 0 !important;
}

.site-footer *:last-child {
	margin-bottom: 0 !important;
}

body,
button,
input,
select,
textarea {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
.entry-title,
.entry-title a,
.ast-single-post .entry-title,
.widget-title,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--kr-foreground);
}

p,
.entry-content,
.widget,
.site-description {
	color: var(--kr-muted);
}

/* Images inserted into page, article, programme, competition and match content. */
.entry-content :where(.wp-block-image, .wp-caption, .wp-block-media-text__media, .wp-block-gallery) img:not(.avatar):not(.emoji):not(.wp-smiley),
.entry-content :where(p, figure) > img[class*="wp-image-"]:not(.avatar):not(.emoji):not(.wp-smiley),
.entry-content > img[class*="wp-image-"]:not(.avatar):not(.emoji):not(.wp-smiley),
.kr-single-match__content :where(p, figure) > img:not(.avatar):not(.emoji):not(.wp-smiley) {
	max-width: 100%;
	height: auto;
	border-radius: clamp(10px, 1.5vw, 16px);
}

.entry-content :where(.wp-block-image, .wp-caption, .wp-block-media-text__media, .wp-block-gallery),
.kr-single-match__content figure {
	border-radius: clamp(10px, 1.5vw, 16px);
}

a {
	color: var(--kr-foreground);
}

a:hover,
a:focus-visible {
	color: var(--kr-red);
}

::selection {
	color: #fff;
	background: var(--kr-red);
}

/* --------------------------------------------------------------------------
   Global glass surfaces
   -------------------------------------------------------------------------- */

.kr-glass,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-archive-description,
.comment-respond {
	position: relative;
	background: var(--kr-glass) !important;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	box-shadow:
		0 18px 48px rgba(0, 0, 0, 0.26),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
}

.kr-glass--strong {
	position: relative;
	background: var(--kr-glass-strong) !important;
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: var(--kr-radius-large);
	box-shadow:
		0 22px 60px rgba(0, 0, 0, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);
	-webkit-backdrop-filter: blur(30px) saturate(140%);
	backdrop-filter: blur(30px) saturate(140%);
}

/* Astra header and footer stay translucent above the atmospheric background. */

.site-header,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar {
	background: rgba(10, 11, 16, 0.82) !important;
	border-color: rgba(255, 255, 255, 0.07) !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(24px) saturate(135%);
	backdrop-filter: blur(24px) saturate(135%);
}

.site-header .ast-container,
.ast-builder-grid-row,
.ast-builder-grid-row-container,
.site-footer .ast-builder-grid-row-container-inner {
	background: transparent !important;
}

.site-footer,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap {
	background: rgba(10, 11, 16, 0.76) !important;
	border-color: rgba(255, 255, 255, 0.07) !important;
	-webkit-backdrop-filter: blur(24px) saturate(135%);
	backdrop-filter: blur(24px) saturate(135%);
}

/* Form controls use the same smoked-glass material. */

input:not([type="submit"]),
select,
textarea {
	color: var(--kr-foreground);
	background: rgba(255, 255, 255, 0.055) !important;
	border: 1px solid var(--kr-glass-border) !important;
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

input:not([type="submit"]):focus,
select:focus,
textarea:focus {
	border-color: rgba(217, 26, 51, 0.72) !important;
	box-shadow: 0 0 0 3px rgba(217, 26, 51, 0.14);
	outline: 0;
}

/* Graceful fallback when backdrop-filter is unavailable. */

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.kr-glass,
	.ast-separate-container .ast-article-post,
	.ast-separate-container .ast-article-single,
	.ast-separate-container .ast-archive-description,
	.comment-respond {
		background: rgba(22, 23, 30, 0.94) !important;
	}

	.kr-glass--strong,
	.site-header,
	.ast-primary-header-bar,
	.ast-above-header-bar,
	.ast-below-header-bar,
	.site-footer {
		background: rgba(15, 16, 22, 0.96) !important;
	}
}

@media (max-width: 544px) {
	:root {
		--kr-glass-blur: 18px;
	}
}

@media (prefers-reduced-transparency: reduce) {
	.kr-glass,
	.kr-glass--strong,
	.ast-separate-container .ast-article-post,
	.ast-separate-container .ast-article-single,
	.site-header,
	.site-footer {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

/* --------------------------------------------------------------------------
   Complete responsive front page

   [kiakkoradio_etusivu]
   -------------------------------------------------------------------------- */

.kr-front-page {
	display: grid;
	gap: clamp(22px, 3vw, 34px);
	width: min(100%, 970px);
	max-width: 970px;
	margin-inline: auto;
	min-width: 0;
}

.kr-front-page-party {
	position: relative;
	display: block;
	min-height: clamp(280px, 33vw, 410px);
	align-items: center;
	isolation: isolate;
	overflow: visible;
	padding: clamp(22px, 4.5vw, 54px) clamp(4px, 3vw, 30px) clamp(28px, 4vw, 48px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.kr-front-page-party::before,
.kr-front-page-party::after {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	content: "";
	pointer-events: none;
	filter: blur(34px);
}

.kr-front-page-party::before {
	top: -34%;
	left: -15%;
	width: 68%;
	aspect-ratio: 1;
	background: radial-gradient(circle, rgba(217, 26, 51, 0.24), rgba(217, 26, 51, 0.08) 42%, transparent 72%);
}

.kr-front-page-party::after {
	right: -11%;
	bottom: -64%;
	width: 64%;
	aspect-ratio: 1;
	background: radial-gradient(circle, rgba(27, 63, 154, 0.24), rgba(27, 63, 154, 0.07) 48%, transparent 74%);
}

.kr-front-page-party__glow {
	position: absolute;
	top: -30%;
	left: 42%;
	z-index: -1;
	width: 12%;
	height: 170%;
	background: linear-gradient(180deg, transparent, rgba(255, 49, 75, 0.13), transparent);
	filter: blur(32px);
	transform: rotate(24deg);
}

.kr-front-page-party__image {
	position: absolute;
	top: -8%;
	right: -5%;
	bottom: -8%;
	z-index: -1;
	display: block;
	width: min(80%, 940px);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 10%, rgba(0, 0, 0, 0.35) 23%, rgba(0, 0, 0, 0.8) 38%, #000 52%, #000 76%, rgba(0, 0, 0, 0.74) 86%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 10%, rgba(0, 0, 0, 0.35) 23%, rgba(0, 0, 0, 0.8) 38%, #000 52%, #000 76%, rgba(0, 0, 0, 0.74) 86%, transparent 100%);
	pointer-events: none;
}

.kr-front-page-party__image::before {
	position: absolute;
	inset: 0;
	background-image: var(--kr-party-image);
	background-position: 58% center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	filter: saturate(0.96) contrast(1.04) brightness(0.9);
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.12) 8%, rgba(0, 0, 0, 0.7) 21%, #000 35%, #000 65%, rgba(0, 0, 0, 0.7) 79%, rgba(0, 0, 0, 0.12) 92%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.12) 8%, rgba(0, 0, 0, 0.7) 21%, #000 35%, #000 65%, rgba(0, 0, 0, 0.7) 79%, rgba(0, 0, 0, 0.12) 92%, transparent 100%);
}

.kr-front-page-party__copy {
	position: relative;
	z-index: 2;
	width: min(72%, 820px);
	min-width: 0;
}

.kr-front-page-party__kicker {
	display: inline-flex;
	align-items: center;
	margin-bottom: clamp(15px, 2vw, 23px);
	color: #ff5368;
	font-size: clamp(0.68rem, 1.15vw, 0.82rem);
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-front-page-party h1 {
	max-width: 850px;
	margin: 0;
	color: #fff;
	font-size: clamp(3.4rem, 8vw, 7.2rem);
	font-weight: 950;
	letter-spacing: -0.075em;
	line-height: 0.82;
	text-wrap: balance;
}

.kr-front-page-party h1 span,
.kr-front-page-party h1 strong {
	display: block;
}

.kr-front-page-party h1 span {
	font-size: 0.5em;
	letter-spacing: -0.045em;
	line-height: 1;
}

.kr-front-page-party h1 strong {
	color: #fff;
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
}

.kr-front-page-party__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px 13px;
	width: 100%;
	max-width: 760px;
	margin: clamp(25px, 4vw, 38px) 0 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(0.9rem, 1.55vw, 1.16rem);
	font-weight: 700;
	line-height: 1.45;
	list-style: none;
}

.kr-front-page-party__details li {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin: 0 !important;
	padding: 0 !important;
}

.kr-front-page-party__details li:not(:first-child)::before {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #ff304b;
	box-shadow: 0 0 12px rgba(255, 48, 75, 0.72);
	content: "";
}

.kr-front-page-party__details strong {
	color: inherit;
	font-weight: 900;
}

@media (min-width: 1001px) {
	.kr-front-page-party {
		padding-left: 0;
	}
}

.kr-front-page-party__signal {
	position: relative;
	display: flex;
	width: auto;
	aspect-ratio: auto;
	align-items: center;
	padding-left: clamp(20px, 4vw, 52px);
	border-left: 1px solid rgba(255, 255, 255, 0.13);
	justify-self: end;
}

.kr-front-page-party__ring {
	display: none;
}

.kr-front-page-party__ring--two {
	inset: 14%;
	border-color: rgba(255, 48, 75, 0.32);
}

.kr-front-page-party__ring--three {
	inset: 28%;
	border-color: rgba(255, 255, 255, 0.23);
	background: rgba(217, 26, 51, 0.11);
	box-shadow: 0 0 55px rgba(217, 26, 51, 0.24);
}

.kr-front-page-party__signal strong {
	z-index: 1;
	display: grid;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1.65rem, 3vw, 2.65rem);
	font-weight: 950;
	letter-spacing: -0.055em;
	line-height: 0.85;
	text-align: center;
}

.kr-front-page-party__signal small {
	color: #ff5368;
	font-size: 0.3em;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.kr-front-page-party__ticker {
	display: none;
}

.kr-front-page-party__ticker i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 0 10px rgba(217, 26, 51, 0.9);
}

@keyframes kr-party-pulse {
	50% { opacity: 0.55; transform: scale(0.78); }
}

.kr-front-daily-matches {
	display: block;
	margin-top: clamp(-18px, -1.5vw, -8px);
}

.kr-front-daily-matches__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.kr-front-daily-matches__grid > :only-child {
	grid-column: 1 / -1;
}

.kr-front-daily-match-group {
	display: grid;
	align-content: start;
	gap: 10px;
	min-width: 0;
}

.kr-front-daily-match-group__heading {
	display: grid;
	padding: 0 4px;
}

.kr-front-daily-match-group__heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.08rem, 1.9vw, 1.4rem);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.kr-front-daily-match {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 98px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18);
	color: #fff;
	text-decoration: none !important;
	transition: border-color 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.kr-front-daily-match--today {
	border-color: rgba(255, 49, 75, 0.26);
	background: linear-gradient(115deg, rgba(217, 26, 51, 0.1), rgba(12, 13, 19, 0.34));
}

.kr-front-daily-match:hover {
	border-color: rgba(255, 65, 89, 0.62);
	color: #fff;
	transform: translateY(-2px);
}

.kr-front-daily-match__teams {
	display: grid;
	grid-template-columns: minmax(70px, 1fr) minmax(58px, auto) minmax(70px, 1fr);
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.kr-front-daily-match__team {
	display: grid;
	justify-items: center;
	gap: 3px;
	min-width: 0;
}

.kr-front-daily-match__team img {
	width: 58px;
	height: 58px;
	margin: 0;
	object-fit: contain;
}

.kr-front-daily-match__team strong {
	max-width: 100%;
	overflow: hidden;
	font-size: 0.8rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none !important;
}

.kr-front-daily-match__center {
	display: grid;
	justify-items: center;
	gap: 1px;
	min-width: 44px;
}

.kr-front-daily-match__center strong {
	font-size: 1.35rem;
	font-weight: 950;
	letter-spacing: -0.04em;
	text-decoration: none !important;
}

.kr-front-daily-match__center small {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.52rem;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none !important;
}

.kr-front-daily-match__arrow {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none !important;
}

.kr-front-daily-match,
.kr-front-daily-match:hover,
.kr-front-daily-match:focus,
.kr-front-daily-match * {
	text-decoration: none !important;
}

.kr-front-page__title {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1;
}

.kr-front-page__columns {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(0, 300px);
	align-items: start;
	justify-content: center;
	gap: 30px;
	width: min(100%, 970px);
	margin-inline: auto;
	min-width: 0;
}

.kr-front-page__column {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.kr-front-page__column--sidebar {
	width: 300px;
	max-width: 100%;
	gap: 26px;
}

.kr-front-page__component {
	width: 100%;
	min-width: 0;
}

.kr-post-sidebar {
	display: flex;
	width: 300px;
	max-width: 100%;
	min-width: 0;
	flex-direction: column;
	gap: 26px;
}

.kr-post-sidebar__component,
.kr-post-sidebar__ad {
	width: 100%;
	min-width: 0;
}

@media (max-width: 1000px) {
	.kr-post-sidebar {
		width: 100%;
	}

	.kr-front-page__columns {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.kr-front-page__column {
		display: contents;
	}

	.kr-front-page__column--sidebar {
		width: 100%;
	}

	.kr-front-page__component {
		order: var(--kr-mobile-order, 999);
	}
}

@media (max-width: 780px) {
	body.home #content.site-content,
	body.home #content.site-content > .ast-container,
	body.home #primary,
	body.home #primary > .site-main,
	body.home #primary > .site-main > article.page,
	body.home #primary > .site-main > article.page > .entry-content,
	body.front-page #content.site-content,
	body.front-page #content.site-content > .ast-container,
	body.front-page #primary,
	body.front-page #primary > .site-main,
	body.front-page #primary > .site-main > article.page,
	body.front-page #primary > .site-main > article.page > .entry-content {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.kr-front-page {
		gap: 22px;
	}

	.kr-front-page-party {
		min-height: 315px;
		padding: 22px 6px 28px;
		overflow: hidden;
		contain: paint;
	}

	.kr-front-page-party__image {
		top: 0;
		right: 0;
		bottom: 8%;
		width: 100%;
		opacity: 0.74;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 11%, rgba(0, 0, 0, 0.62) 31%, #000 52%, #000 72%, rgba(0, 0, 0, 0.55) 86%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 11%, rgba(0, 0, 0, 0.62) 31%, #000 52%, #000 72%, rgba(0, 0, 0, 0.55) 86%, transparent 100%);
	}

	.kr-front-page-party__image::before {
		background-position: 62% center;
	}

	.kr-front-page-party h1 {
		font-size: clamp(3.25rem, 17vw, 5.15rem);
		line-height: 0.84;
	}

	.kr-front-page-party__signal {
		position: absolute;
		top: 22px;
		right: 5px;
		z-index: 1;
		width: auto;
		padding-left: 12px;
		opacity: 0.62;
	}

	.kr-front-page-party__signal strong {
		font-size: 1.45rem;
	}

	.kr-front-page-party__copy {
		align-self: end;
		width: 100%;
		padding-top: 110px;
	}

	.kr-front-page-party__details {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		width: 100%;
		margin: 24px 0 0 !important;
		padding: 0 !important;
		line-height: 1.25;
		text-align: left;
	}

	.kr-front-page-party__details li {
		display: block;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		justify-content: flex-start;
		gap: 0;
		text-align: left;
	}

	.kr-front-page-party__details li:not(:first-child)::before {
		display: none;
		content: none;
	}

	.kr-front-daily-matches {
		margin-top: -8px;
	}

	.kr-front-daily-matches__grid {
		grid-template-columns: 1fr;
	}

	.kr-front-daily-match {
		min-height: 98px;
		padding: 10px 12px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.kr-front-page-party__kicker i {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Post-list shortcode

   [kiakkoradio_posts count="6" size="small"]
   [kiakkoradio_posts count="3" size="large"]
   [kiakkoradio_posts count="6" size="small" loadmore="1"]
   -------------------------------------------------------------------------- */

.kr-post-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	justify-items: stretch;
	gap: 14px;
	width: 100%;
}

.kr-post-list > .kr-post-card {
	grid-column: 1 / -1;
	justify-self: stretch;
	width: 100%;
	min-width: 0;
	max-width: none;
}

.kr-post-feed {
	display: grid;
	gap: 16px;
	width: 100%;
}

.kr-post-feed__actions {
	display: flex;
	justify-content: center;
	padding-top: 4px;
}

.kr-post-feed__load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-width: 116px;
	min-height: 44px;
	padding: 10px 22px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: #fff;
	background: linear-gradient(135deg, rgba(217, 26, 51, 0.94), rgba(174, 15, 38, 0.9));
	box-shadow:
		0 10px 28px rgba(217, 26, 51, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1;
	cursor: pointer;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.kr-post-feed__load-more:hover,
.kr-post-feed__load-more:focus-visible {
	border-color: rgba(255, 255, 255, 0.3);
	box-shadow:
		0 14px 34px rgba(217, 26, 51, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
}

.kr-post-feed__load-more:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.kr-post-feed__load-more:disabled {
	cursor: wait;
	opacity: 0.72;
}

.kr-post-feed__spinner {
	display: none;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.38);
	border-top-color: #fff;
	border-radius: 50%;
}

.kr-post-feed__load-more.is-loading .kr-post-feed__spinner {
	display: block;
	animation: kr-post-feed-spin 700ms linear infinite;
}

.kr-post-feed__status {
	margin: -4px 0 0;
	color: var(--kr-muted);
	font-size: 0.75rem;
	text-align: center;
}

.kr-post-feed__status:empty {
	display: none;
}

.kr-post-card--enter {
	width: 100%;
	opacity: 0;
	transform: translateY(18px) scale(0.985);
	transform-origin: center top;
}

.kr-post-card--enter.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	transition:
		opacity 420ms ease calc(var(--kr-load-index, 0) * 70ms),
		transform 520ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--kr-load-index, 0) * 70ms);
}

@keyframes kr-post-feed-spin {
	to {
		transform: rotate(360deg);
	}
}

.kr-post-card {
	position: relative;
	margin: 0;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	background: var(--kr-glass);
	box-shadow:
		0 16px 42px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	overflow: hidden;
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.kr-post-card:hover,
.kr-post-card:focus-within {
	border-color: var(--kr-glass-border-strong);
	box-shadow:
		0 20px 52px rgba(0, 0, 0, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transform: translateY(-2px);
}

.kr-post-card--advertisement {
	border-color: rgba(236, 183, 66, 0.34);
	background:
		linear-gradient(135deg, rgba(95, 59, 13, 0.2), rgba(18, 19, 26, 0.82) 48%, rgba(67, 25, 36, 0.28)),
		var(--kr-glass);
	box-shadow:
		0 18px 46px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 226, 157, 0.08);
}

.kr-post-card--advertisement:hover,
.kr-post-card--advertisement:focus-within {
	border-color: rgba(236, 183, 66, 0.55);
}

body.archive #main .ast-article-post.kr-commercial-post--advertisement .ast-article-inner {
	border-color: rgba(236, 183, 66, 0.42);
	background: linear-gradient(135deg, rgba(88, 53, 11, 0.22), rgba(16, 17, 24, 0.92) 52%, rgba(68, 24, 35, 0.3));
}

.kr-post-card__commercial-label {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 7px;
	padding: 4px 8px;
	border: 1px solid rgba(236, 183, 66, 0.42);
	border-radius: 999px;
	color: #f4cf77;
	background: rgba(110, 69, 16, 0.3);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.kr-post-card--advertisement .kr-post-card__category {
	display: none;
}

.kr-post-card__advertiser {
	display: block;
	margin-top: 6px;
	color: rgba(244, 207, 119, 0.82);
	font-size: 0.7rem;
	font-weight: 750;
}

.kr-post-card__link {
	color: inherit;
	text-decoration: none !important;
}

.kr-post-card__link:hover,
.kr-post-card__link:focus {
	color: inherit;
}

.kr-post-card__link:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: -3px;
}

.kr-post-card__media {
	position: relative;
	background: rgba(255, 255, 255, 0.055);
	overflow: hidden;
}

.kr-post-card__media--fallback {
	background:
		radial-gradient(circle at 18% 24%, rgba(217, 26, 51, 0.42), transparent 48%),
		radial-gradient(circle at 82% 76%, rgba(27, 63, 154, 0.4), transparent 52%),
		#111218;
}

.kr-post-card__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.kr-post-card:hover .kr-post-card__image {
	transform: scale(1.025);
}

.kr-post-card__content {
	position: relative;
	z-index: 2;
}

.kr-post-card__category {
	display: block;
	color: var(--kr-red);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.065em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-post-card__title {
	margin: 7px 0 0;
	color: var(--kr-foreground);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.018em;
	line-height: 1.3;
}

.kr-post-card__excerpt {
	margin: 6px 0 0;
	color: var(--kr-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.kr-post-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.7rem;
	line-height: 1;
}

.kr-post-card__arrow {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.075);
}

.kr-post-card__arrow svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

/* Large image-overlay cards. */

.kr-post-card--large {
	min-height: clamp(300px, 44vw, 440px);
}

.kr-post-card--large .kr-post-card__link,
.kr-post-card--large .kr-post-card__media,
.kr-post-card--large .kr-post-card__shade {
	position: absolute;
	inset: 0;
}

.kr-post-card--large.kr-post-card--advertisement .kr-post-card__shade {
	background: linear-gradient(180deg, rgba(6, 7, 9, 0.05), rgba(38, 24, 9, 0.25) 40%, rgba(13, 10, 8, 0.97) 100%);
}

.kr-post-card--large .kr-post-card__link {
	display: flex;
	align-items: flex-end;
}

.kr-post-card--large .kr-post-card__shade {
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(6, 7, 9, 0.06) 0%,
		rgba(6, 7, 9, 0.18) 36%,
		rgba(6, 7, 9, 0.74) 72%,
		rgba(6, 7, 9, 0.96) 100%
	);
}

.kr-post-card--large .kr-post-card__content {
	width: 100%;
	padding: clamp(18px, 4vw, 28px);
}

.kr-post-card--large .kr-post-card__title {
	max-width: 780px;
	font-size: clamp(1.3rem, 3vw, 2rem);
	line-height: 1.18;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65);
}

.kr-post-card--large .kr-post-card__excerpt {
	max-width: 680px;
	color: rgba(255, 255, 255, 0.72);
	font-size: clamp(0.78rem, 1.4vw, 0.92rem);
}

.kr-post-card--large .kr-post-card__arrow {
	width: 34px;
	height: 34px;
	color: #fff;
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.2);
}

/* Small horizontal cards. */

.kr-post-card--small {
	min-height: 132px;
}

.kr-post-card--small .kr-post-card__link {
	display: grid;
	grid-template-columns: minmax(112px, 30%) 1fr;
	min-height: inherit;
}

.kr-post-card--small .kr-post-card__media {
	min-height: 132px;
}

.kr-post-card--small .kr-post-card__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	padding: 14px 16px;
}

.kr-post-list__empty {
	margin: 0;
	padding: 18px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	background: var(--kr-glass);
}

@media (max-width: 544px) {
	.kr-post-card--small .kr-post-card__link {
		grid-template-columns: 35% 1fr;
	}

	.kr-post-card--small .kr-post-card__content {
		padding: 12px;
	}

	.kr-post-card--small .kr-post-card__title {
		font-size: 0.875rem;
	}

	.kr-post-card--small .kr-post-card__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-post-card,
	.kr-post-card__image,
	.kr-post-feed__load-more {
		transition: none;
	}

	.kr-post-card--enter,
	.kr-post-card--enter.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Persistent global radio and episode player
   -------------------------------------------------------------------------- */

.kr-global-player-enabled {
	padding-bottom: 0 !important;
}

.kr-global-player-enabled .site-footer {
	padding-bottom: 112px !important;
}

.kr-global-player {
	position: fixed;
	right: max(12px, env(safe-area-inset-right));
	bottom: 0;
	left: max(12px, env(safe-area-inset-left));
	z-index: 99990;
	max-width: 1440px;
	margin-inline: auto;
	color: #fff;
	font-family: inherit;
	isolation: isolate;
}

.kr-global-player::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-bottom: 0;
	border-radius: 19px 19px 0 0;
	background:
		linear-gradient(120deg, rgba(217, 26, 51, 0.14), transparent 28%),
		rgba(9, 10, 15, 0.91);
	box-shadow:
		0 22px 60px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
	-webkit-backdrop-filter: blur(28px) saturate(145%);
	backdrop-filter: blur(28px) saturate(145%);
	content: "";
}

.kr-global-player__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(210px, 1fr) minmax(220px, 0.9fr) auto;
	align-items: center;
	gap: clamp(12px, 1.8vw, 26px);
	min-height: 78px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) 11px;
}

.kr-global-player button {
	margin: 0;
	font: inherit;
	cursor: pointer;
}

.kr-global-player__swipe-context {
	display: contents;
}

.kr-global-player__station {
	display: none;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 7px 12px 7px 7px;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px 0 0 12px;
	color: #fff;
	text-align: left;
	background: transparent;
}

.kr-global-player__station:active,
.kr-global-player__station:focus:not(:focus-visible) {
	color: #fff;
	background: transparent;
	box-shadow: none;
	outline: 0;
	transform: none;
}

.kr-global-player__station:hover,
.kr-global-player__station:focus-visible {
	background: rgba(255, 255, 255, 0.055);
}

.kr-global-player__station:focus-visible,
.kr-global-player__controls button:focus-visible,
.kr-global-player__timeline input:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-global-player__station-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(217, 26, 51, 0.42);
	border-radius: 12px;
	color: #fff;
	background: rgba(217, 26, 51, 0.17);
	box-shadow: 0 8px 22px rgba(217, 26, 51, 0.17);
}

.kr-global-player__station-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.kr-global-player__station-icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-global-player.is-episode .kr-global-player__station {
	display: grid;
}

.kr-global-player.is-episode .kr-global-player__inner {
	grid-template-columns: 150px minmax(210px, 1fr) minmax(220px, 0.9fr) auto;
}

.kr-global-player__station > span:last-child,
.kr-global-player__copy {
	display: grid;
	min-width: 0;
}

.kr-global-player__station small,
.kr-global-player__copy small {
	color: var(--kr-red);
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-global-player__station strong {
	font-size: 0.88rem;
	font-weight: 850;
	line-height: 1.2;
}

.kr-global-player__station-mobile-label {
	display: none;
}

.kr-global-player__now-playing {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	min-width: 0;
}

.kr-global-player__artwork {
	display: block;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	background-color: rgba(255, 255, 255, 0.05);
	background-position: center;
	background-size: cover;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

.kr-global-player.is-ad .kr-global-player__artwork {
	background-color: rgba(255, 255, 255, 0.08);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.kr-global-player__copy {
	gap: 1px;
}

.kr-global-player__copy strong,
.kr-global-player__copy > span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-global-player__copy strong {
	color: #fff;
	font-size: 0.86rem;
	font-weight: 820;
	line-height: 1.25;
}

.kr-global-player__copy > span {
	color: rgba(255, 255, 255, 0.54);
	font-size: 0.66rem;
	font-weight: 600;
}

.kr-global-player__timeline {
	display: grid;
	align-content: center;
	gap: 3px;
	min-width: 0;
}

.kr-global-player__timeline input[type="range"] {
	--kr-progress: 0%;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 22px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	outline: 0;
	color: transparent;
	background-color: transparent !important;
	background-image: linear-gradient(
		90deg,
		#ff2844 0,
		var(--kr-red) var(--kr-progress),
		rgba(255, 255, 255, 0.13) var(--kr-progress),
		rgba(255, 255, 255, 0.13) 100%
	) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 100% 5px !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.kr-global-player__timeline input[type="range"]::-webkit-slider-runnable-track {
	height: 5px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 0 0 1px rgba(0, 0, 0, 0.42);
}

.kr-global-player__timeline input[type="range"]::-webkit-slider-thumb {
	width: 15px;
	height: 15px;
	margin-top: -5px;
	border: 3px solid #111218;
	border-radius: 50%;
	background: #ff304b;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.74),
		0 3px 12px rgba(0, 0, 0, 0.55),
		0 0 14px rgba(217, 26, 51, 0.36);
	-webkit-appearance: none;
	appearance: none;
}

.kr-global-player__timeline input[type="range"]::-moz-range-track {
	height: 5px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 0 0 1px rgba(0, 0, 0, 0.42);
}

.kr-global-player__timeline input[type="range"]::-moz-range-progress {
	height: 5px;
	border-radius: 999px;
	background: linear-gradient(90deg, #ff2844, var(--kr-red));
}

.kr-global-player__timeline input[type="range"]::-moz-range-thumb {
	width: 9px;
	height: 9px;
	border: 3px solid #111218;
	border-radius: 50%;
	background: #ff304b;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.74),
		0 3px 12px rgba(0, 0, 0, 0.55),
		0 0 14px rgba(217, 26, 51, 0.36);
}

.kr-global-player__timeline input[type="range"]:focus-visible {
	border-radius: 6px;
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-global-player__timeline > div {
	display: flex;
	justify-content: space-between;
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.56rem;
	font-variant-numeric: tabular-nums;
	font-weight: 720;
	letter-spacing: 0.015em;
	line-height: 1;
}

.kr-global-player__timeline > div span:first-child {
	color: rgba(255, 255, 255, 0.72);
}

.kr-global-player__live-frequency {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	overflow: visible;
}

.kr-global-player.is-live .kr-global-player__timeline {
	display: none;
}

.kr-global-player.is-live .kr-global-player__live-frequency {
	display: flex;
}

.kr-global-player__frequency-bars {
	position: relative;
	display: flex;
	width: min(72%, 240px);
	height: 24px;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: 3px;
	margin-inline: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.kr-global-player__frequency-bars > span {
	position: relative;
	z-index: 1;
	display: block;
	flex: 0 0 2px;
	width: 2px;
	max-width: 2px;
	height: 100%;
	border-radius: 999px;
	background: #e52942;
	box-shadow: none;
	opacity: 0.48;
	transform: scaleY(0.2);
	transform-origin: center;
}

.kr-global-player.is-live.is-playing .kr-global-player__frequency-bars > span {
	animation: kr-live-frequency var(--kr-frequency-duration) ease-in-out infinite;
	animation-delay: var(--kr-frequency-delay);
}

.kr-global-player__live-frequency > strong {
	display: none;
	order: -1;
	min-height: 20px;
	align-items: center;
	justify-content: center;
	padding: 4px 7px;
	border: 1px solid rgba(217, 26, 51, 0.28);
	border-radius: 999px;
	color: #ff5368;
	background: rgba(217, 26, 51, 0.07);
	font-size: 0.5rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1;
}

.kr-global-player.is-live.is-playing .kr-global-player__live-frequency > strong {
	display: inline-flex;
}

@keyframes kr-live-frequency {
	0% {
		opacity: 0.48;
		transform: scaleY(var(--kr-frequency-a));
	}
	22% {
		opacity: 0.82;
		transform: scaleY(var(--kr-frequency-b));
	}
	47% {
		opacity: 0.58;
		transform: scaleY(var(--kr-frequency-c));
	}
	73% {
		opacity: 0.88;
		transform: scaleY(var(--kr-frequency-d));
	}
	100% {
		opacity: 0.52;
		transform: scaleY(var(--kr-frequency-a));
	}
}

.kr-global-player__controls {
	display: flex;
	align-items: center;
	gap: 7px;
}

.kr-global-player__controls button {
	display: inline-grid;
	width: 34px;
	height: 34px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.74);
	background: rgba(255, 255, 255, 0.045);
	box-shadow: none;
}

.kr-global-player__controls button:hover:not(:disabled) {
	border-color: rgba(255, 255, 255, 0.28);
	color: #fff;
	background: rgba(255, 255, 255, 0.09);
}

.kr-global-player__controls button:disabled {
	opacity: 0.27;
	cursor: default;
}

.kr-global-player__controls svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-global-player__controls svg text {
	fill: currentColor;
	stroke: none;
	font-family: inherit;
	font-size: 6px;
	font-weight: 800;
}

.kr-global-player__controls .kr-global-player__play {
	position: relative;
	width: 52px;
	height: 52px;
	border-color: rgba(255, 255, 255, 0.14);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 10px 28px rgba(217, 26, 51, 0.32);
}

.kr-global-player__play-icon path {
	fill: currentColor;
	stroke: none;
}

.kr-global-player__pause-icon,
.kr-global-player__spinner,
.kr-global-player.is-playing .kr-global-player__play-icon,
.kr-global-player.is-loading .kr-global-player__play-icon,
.kr-global-player.is-loading .kr-global-player__pause-icon {
	display: none;
}

.kr-global-player.is-playing:not(.is-loading) .kr-global-player__pause-icon {
	display: block;
}

.kr-global-player.is-loading .kr-global-player__spinner {
	display: block;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: kr-player-spin 700ms linear infinite;
}

.kr-global-player__message {
	position: absolute;
	right: 16px;
	bottom: calc(100% + 7px);
	max-width: min(420px, calc(100vw - 32px));
	margin: 0;
	padding: 7px 10px;
	border: 1px solid rgba(217, 26, 51, 0.28);
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.84);
	font-size: 0.67rem;
	background: rgba(12, 8, 12, 0.94);
	opacity: 0;
	pointer-events: none;
	transform: translateY(4px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.kr-global-player.has-message .kr-global-player__message {
	opacity: 1;
	transform: translateY(0);
}

@keyframes kr-player-spin {
	to { transform: rotate(360deg); }
}

/* Article and Gutenberg audio controls routed to the persistent player. */

button.kr-article-audio__player,
.kr-native-audio-trigger {
	display: inline-flex;
	width: 100%;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 5px 14px 5px 6px;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 999px;
	color: #fff;
	font: inherit;
	text-align: left;
	background: rgba(255, 255, 255, 0.045);
	box-shadow: none;
	cursor: pointer;
}

.kr-article-audio__player > span,
.kr-native-audio-trigger > span {
	display: grid;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 6px 18px rgba(217, 26, 51, 0.25);
}

.kr-article-audio__player svg,
.kr-native-audio-trigger svg {
	width: 18px;
	height: 18px;
	fill: #fff;
}

.kr-article-audio__player strong,
.kr-native-audio-trigger strong {
	overflow: hidden;
	font-size: 0.75rem;
	font-weight: 780;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-article-audio__player:hover,
.kr-native-audio-trigger:hover,
.kr-article-audio__player:focus-visible,
.kr-native-audio-trigger:focus-visible,
.kr-article-audio__player.is-active,
.kr-native-audio-trigger.is-active {
	border-color: rgba(217, 26, 51, 0.34);
	color: #fff;
	background: rgba(217, 26, 51, 0.075);
}

.kr-article-audio__player:focus-visible,
.kr-native-audio-trigger:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-article-audio__player.is-playing > span svg,
.kr-native-audio-trigger.is-playing > span svg {
	display: none;
}

.kr-article-audio__player.is-playing > span::before,
.kr-native-audio-trigger.is-playing > span::before {
	width: 4px;
	height: 13px;
	border-right: 4px solid #fff;
	border-left: 4px solid #fff;
	content: "";
}

/* PJAX keeps the player alive while gently transitioning only page content. */

#content {
	transition: opacity 150ms ease, transform 150ms ease;
}

/* PJAX moves focus for screen-reader context; do not draw a page-sized focus ring. */
#content [data-kr-pjax-focus]:focus {
	outline: 0;
}

.kr-pjax-loading #content {
	opacity: 0.42;
	pointer-events: none;
	transform: translateY(3px);
}

/*
 * iOS Safari can leave stale composited fragments when a transformed PJAX
 * layer sits above a fixed multi-gradient background. Keep the same visual
 * fade on touch devices without promoting the whole page to a moving layer.
 */
@media (hover: none) and (pointer: coarse), (max-width: 600px) {
	html {
		background-color: var(--kr-canvas);
		background-image: none;
		background-attachment: scroll;
	}

	body::before {
		position: fixed;
		inset: 0;
		z-index: 0;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		background-color: var(--kr-canvas);
		background-image:
			linear-gradient(180deg, rgba(6, 7, 9, 0.055), rgba(6, 7, 9, 0.14)),
			radial-gradient(circle at 50% 50%, transparent 0, rgba(6, 7, 9, 0.035) 72%, rgba(6, 7, 9, 0.14) 100%),
			radial-gradient(ellipse 48% 34% at 35% 42%, rgba(217, 26, 51, 0.3) 0, rgba(217, 26, 51, 0.17) 35%, rgba(217, 26, 51, 0.05) 62%, transparent 88%),
			radial-gradient(ellipse 48% 34% at 65% 42%, rgba(27, 63, 154, 0.32) 0, rgba(27, 63, 154, 0.18) 35%, rgba(27, 63, 154, 0.05) 62%, transparent 88%),
			radial-gradient(ellipse 48% 34% at 35% 58%, rgba(27, 63, 154, 0.29) 0, rgba(27, 63, 154, 0.16) 35%, rgba(27, 63, 154, 0.045) 62%, transparent 88%),
			radial-gradient(ellipse 48% 34% at 65% 58%, rgba(217, 26, 51, 0.285) 0, rgba(217, 26, 51, 0.16) 35%, rgba(217, 26, 51, 0.045) 62%, transparent 88%);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		content: "";
		pointer-events: none;
		transform: translateZ(0);
	}

	#content {
		transform: none !important;
		transition: opacity 120ms ease;
	}

	.kr-pjax-loading #content {
		opacity: 0.58;
		transform: none !important;
	}

	a:focus:not(:focus-visible),
	button:focus:not(:focus-visible),
	[role="button"]:focus:not(:focus-visible) {
		outline: 0;
	}
}

.kr-pjax-loading::after {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 99989;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--kr-red), transparent);
	background-size: 45% 100%;
	content: "";
	animation: kr-pjax-progress 900ms ease-in-out infinite;
}

@keyframes kr-pjax-progress {
	from { background-position: -60% 0; }
	to { background-position: 160% 0; }
}

@media (max-width: 900px) {
	.kr-global-player-enabled .site-footer {
		padding-bottom: 148px !important;
	}

	.kr-global-player__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"now controls"
			"timeline timeline";
		gap: 7px 12px;
		padding: 9px 11px 8px;
	}

	.kr-global-player__station { grid-area: station; }
	.kr-global-player__now-playing { grid-area: now; }
	.kr-global-player__timeline { grid-area: timeline; }
	.kr-global-player__live-frequency { grid-area: timeline; }
	.kr-global-player__controls { grid-area: controls; }
	.kr-global-player__station-icon { width: 38px; height: 38px; }
	.kr-global-player__station { grid-template-columns: 38px minmax(0, 1fr); }
	.kr-global-player__artwork { width: 42px; height: 42px; }
	.kr-global-player__now-playing { grid-template-columns: 42px minmax(0, 1fr); }

	.kr-global-player.is-episode .kr-global-player__inner {
		grid-template-columns: 126px minmax(0, 1fr) auto;
		grid-template-areas:
			"station now controls"
			"timeline timeline timeline";
	}
}

@media (max-width: 600px) {
	#content.site-content {
		padding-top: 18px;
		padding-bottom: 24px;
	}

	.site-content > .ast-container {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.kr-global-player-enabled .site-footer {
		padding-bottom: 142px !important;
	}

	.kr-global-player {
		right: 0;
		bottom: 0;
		left: 0;
	}

	.kr-global-player::before {
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 17px 17px 0 0;
	}

	.kr-global-player__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 9px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
	}

	.kr-global-player.is-episode .kr-global-player__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"now controls"
			"timeline timeline";
	}

	.kr-global-player__station {
		display: grid;
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 9px;
		padding: 4px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		transform: translate3d(-105%, 0, 0);
		transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.kr-global-player__swipe-context {
		position: relative;
		display: grid;
		grid-area: now;
		min-width: 0;
		overflow: hidden;
		touch-action: pan-y;
	}

	.kr-global-player__swipe-context > .kr-global-player__station,
	.kr-global-player__swipe-context > .kr-global-player__now-playing {
		grid-area: 1 / 1;
		min-width: 0;
	}

	.kr-global-player__swipe-context > .kr-global-player__now-playing {
		transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.kr-global-player.is-live .kr-global-player__station {
		transform: translate3d(105%, 0, 0);
	}

	.kr-global-player.is-swiping-player-context .kr-global-player__station,
	.kr-global-player.is-swiping-player-context .kr-global-player__now-playing {
		transition: none;
	}

	.kr-global-player.is-ad .kr-global-player__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"now controls"
			"timeline timeline";
	}

	.kr-global-player.is-ad .kr-global-player__station {
		display: none !important;
	}

	.kr-global-player__station > span:last-child {
		display: grid;
	}

	.kr-global-player__now-playing {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.kr-global-player__artwork {
		display: block;
	}

	.kr-global-player__station-mobile-label {
		display: block;
		font-size: 0.72rem !important;
		line-height: 1.15 !important;
	}

	.kr-global-player__station-name {
		display: none;
	}

	.kr-global-player__station.is-resume-episode .kr-global-player__station-icon img {
		border-radius: 10px;
		object-fit: cover;
	}

	.kr-global-player__controls {
		gap: 5px;
	}

	.kr-global-player__controls button {
		width: 31px;
		height: 31px;
	}

	.kr-global-player__controls .kr-global-player__play {
		width: 46px;
		height: 46px;
	}

	.kr-global-player__copy strong {
		font-size: 0.78rem;
	}

	.kr-global-player__timeline {
		padding-inline: 2px;
	}

	.kr-global-player__live-frequency {
		display: none;
		grid-template-columns: minmax(0, 1fr) min(72%, 240px) minmax(0, 1fr);
		justify-content: normal;
		gap: 6px;
		padding-inline: 2px;
	}

	.kr-global-player.is-live .kr-global-player__live-frequency {
		display: grid;
	}

	.kr-global-player__frequency-bars {
		grid-column: 2;
		grid-row: 1;
		width: 100%;
	}

	.kr-global-player__live-frequency > strong {
		grid-column: 1;
		grid-row: 1;
		justify-self: end;
		order: initial;
	}
}

@media (prefers-reduced-motion: reduce) {
	#content,
	.kr-global-player__message {
		transition: none;
	}

	.kr-global-player.is-live.is-playing .kr-global-player__frequency-bars > span {
		animation: none;
	}

	.kr-global-player.is-loading .kr-global-player__spinner,
	.kr-pjax-loading::after {
		animation-duration: 1.8s;
	}
}

/* --------------------------------------------------------------------------
   Match-list shortcode

   [kiakkoradio_ottelut]
   [kiakkoradio_ottelut view="tulevat" count="6"]
   [kiakkoradio_ottelut view="pelatut" count="6"]
   -------------------------------------------------------------------------- */

.kr-matches {
	display: grid;
	gap: 16px;
	width: 100%;
}

.kr-matches__layout {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(0, 300px);
	align-items: start;
	justify-content: center;
	gap: 30px;
	width: min(100%, 970px);
	margin-inline: auto;
	min-width: 0;
	isolation: isolate;
}

.kr-matches__layout--without-active {
	grid-template-columns: minmax(0, 1fr);
}

.kr-matches__active,
.kr-matches__sidebar {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.kr-matches__active {
	grid-column: 1;
	grid-row: 1;
	contain: inline-size;
	overflow-x: clip;
}

.kr-matches__sidebar {
	position: relative;
	z-index: 2;
	grid-column: 2;
	grid-row: 1;
}

.kr-matches__layout > .kr-content-end-banner--match {
	grid-column: 1;
	grid-row: 2;
	width: 100%;
}

.kr-matches__layout--without-active .kr-matches__sidebar {
	grid-column: 1;
}

.kr-matches__active > .kr-matches-hero {
	margin-bottom: 0;
}

.kr-match-viewer,
.kr-match-viewer__panel {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.kr-match-viewer__panel {
	margin: 0;
}

.kr-match-viewer__panel[hidden] {
	display: none !important;
}

.kr-match-viewer .kr-single-match__hero {
	height: clamp(320px, 34vw, 420px);
	min-height: 0;
}

.kr-matches__sidebar {
	display: grid;
	align-content: start;
	gap: 12px;
	padding-left: 0;
	border-left: 0;
}

.kr-matches__sidebar .kr-matches__panel,
.kr-matches--single .kr-matches__sidebar > .kr-match-list {
	height: auto;
	min-height: 0;
	padding-right: 0;
	overflow: visible;
}

.kr-matches__layout--without-active .kr-matches__sidebar {
	padding-left: 0;
	border-left: 0;
}

button.kr-match-card__link {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	cursor: pointer;
	text-align: left;
}

.kr-match-card.is-active {
	border-color: rgba(217, 26, 51, 0.62);
	background: linear-gradient(110deg, rgba(217, 26, 51, 0.12), rgba(255, 255, 255, 0.045));
	box-shadow:
		0 16px 42px rgba(0, 0, 0, 0.24),
		inset 3px 0 0 var(--kr-red),
		inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.kr-match-card.is-active .kr-match-card__arrow {
	border-color: rgba(217, 26, 51, 0.48);
	color: #fff;
	background: rgba(217, 26, 51, 0.82);
}

@media (min-width: 981px) {
	.kr-matches__layout {
		align-items: start;
	}

	.kr-matches__sidebar {
		grid-template-rows: auto auto;
		align-content: start;
		height: auto !important;
		max-height: none !important;
		min-height: 0;
		overflow: visible;
	}

	.kr-matches__sidebar .kr-matches__panel,
	.kr-matches--single .kr-matches__sidebar > .kr-match-list {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		contain: none;
	}

	.kr-matches__sidebar .kr-matches__tabs {
		gap: 3px;
		padding: 3px;
		border-radius: 12px;
	}

	.kr-matches__sidebar .kr-matches__tab {
		min-height: 38px;
		padding: 7px 9px;
		border-radius: 9px;
		font-size: 0.72rem;
	}

	.kr-matches__sidebar .kr-match-list {
		gap: 8px;
	}

	.kr-matches__sidebar .kr-match-card {
		border-radius: 12px;
	}

	.kr-matches__sidebar .kr-match-card__link {
		padding: 10px 9px 9px;
	}

	.kr-matches__sidebar .kr-match-card__teams {
		gap: 5px;
	}

	.kr-matches__sidebar .kr-match-card__team {
		gap: 4px;
	}

	.kr-matches__sidebar .kr-match-card__logo-wrap {
		flex-basis: 32px;
		width: 32px;
		height: 32px;
	}

	.kr-matches__sidebar .kr-match-card__logo {
		max-width: 30px;
		max-height: 30px;
	}

	.kr-matches__sidebar .kr-match-card__team-name {
		overflow: hidden;
		font-size: 0.67rem;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.kr-matches__sidebar .kr-match-card__center {
		min-width: 38px;
	}

	.kr-matches__sidebar .kr-match-card__time {
		font-size: 0.88rem;
	}

	.kr-matches__sidebar .kr-match-card__played {
		padding: 3px 5px;
		font-size: 0.53rem;
	}

	.kr-matches__sidebar .kr-match-card__details {
		grid-template-columns: minmax(0, 1fr) 26px;
		gap: 6px;
		margin-top: 8px;
		padding-top: 8px;
		font-size: 0.59rem;
	}

	.kr-matches__sidebar .kr-match-card__schedule > span,
	.kr-matches__sidebar .kr-match-card__announcer {
		display: none;
	}

	.kr-matches__sidebar .kr-match-card__arrow {
		grid-column: 2;
		width: 26px;
		height: 26px;
	}
}

@media (max-width: 1000px) {
	.kr-matches__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(34px, 6vw, 52px);
	}

	.kr-matches__active,
	.kr-matches__sidebar {
		grid-column: 1;
		grid-row: auto;
	}

	.kr-matches__layout > .kr-content-end-banner--match {
		grid-column: 1;
		grid-row: auto;
	}

	.kr-matches__sidebar {
		padding-top: clamp(22px, 4vw, 32px);
		padding-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-left: 0;
	}
}

.kr-matches-page .ast-single-post-featured-section {
	display: none !important;
}

.kr-matches-page .ast-article-single,
.ast-article-single:has(.kr-matches-hero) {
	margin-top: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.kr-matches-page .ast-article-single > .entry-header,
.ast-article-single:has(.kr-matches-hero) > .entry-header {
	display: none;
}

.kr-matches-page .ast-article-single .entry-content,
.ast-article-single:has(.kr-matches-hero) .entry-content {
	margin: 0;
}

.kr-matches-hero {
	position: relative;
	min-height: clamp(480px, 50vw, 560px);
	margin-bottom: clamp(12px, 2vw, 22px);
	padding: 0;
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: clamp(22px, 3vw, 32px);
	background-color: #080a0f;
	background-image:
		linear-gradient(90deg, rgba(5, 7, 12, 0.7) 0%, rgba(5, 7, 12, 0.23) 48%, rgba(5, 7, 12, 0.12) 100%),
		linear-gradient(180deg, rgba(5, 7, 12, 0.16) 0%, rgba(5, 7, 12, 0.05) 36%, rgba(5, 7, 12, 0.9) 100%),
		var(--kr-matches-hero-image, none);
	background-position: center, center, center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow:
		0 28px 80px rgba(0, 0, 0, 0.36),
		inset 0 1px 0 rgba(255, 255, 255, 0.065);
	overflow: hidden;
	isolation: isolate;
}

.kr-matches-hero__title {
	position: absolute;
	z-index: 2;
	top: clamp(26px, 4vw, 48px);
	left: clamp(24px, 4.5vw, 54px);
	max-width: 380px;
}

.kr-matches-hero__title > span,
.kr-next-match__eyebrow {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #ff5368;
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.095em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-matches-hero__title h1 {
	margin: 7px 0 12px;
	color: #fff;
	font-size: clamp(2.8rem, 6vw, 5rem);
	font-weight: 900;
	letter-spacing: -0.065em;
	line-height: 0.94;
}

.kr-matches-hero__title p {
	max-width: 300px;
	margin: 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.82rem;
	line-height: 1.55;
}

.kr-next-match {
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: clamp(26px, 4vw, 48px);
	display: block;
	width: min(calc(100% - 108px), 820px);
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: inherit !important;
	background: transparent;
	box-shadow: none;
	text-decoration: none !important;
	transform: translateX(-50%);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transition: transform 190ms ease;
}

.kr-next-match:hover,
.kr-next-match:focus-visible {
	box-shadow: none;
	transform: translate(-50%, -3px);
}

.kr-next-match:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-next-match__eyebrow > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 0 0 4px rgba(217, 26, 51, 0.12), 0 0 16px rgba(217, 26, 51, 0.68);
}

.kr-next-match__eyebrow small {
	display: inline-flex;
	min-height: 20px;
	align-items: center;
	margin-left: 3px;
	padding: 3px 8px;
	border: 1px solid rgba(255, 83, 104, 0.38);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(7, 9, 15, 0.34);
	font-size: 0.56rem;
	font-weight: 800;
	letter-spacing: 0.075em;
	line-height: 1;
}

.kr-next-match__teams {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(86px, auto) minmax(0, 1fr);
	align-items: center;
	gap: 15px;
	margin-top: 18px;
}

.kr-next-match__team {
	display: grid;
	min-width: 0;
	justify-items: center;
	gap: 8px;
	text-align: center;
}

.kr-next-match__logo-wrap {
	display: flex;
	width: 88px;
	height: 88px;
	align-items: center;
	justify-content: center;
}

.kr-next-match__logo-wrap img {
	display: block;
	max-width: 82px;
	max-height: 82px;
	width: auto;
	height: auto;
	filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.38));
	object-fit: contain;
}

.kr-next-match__team > strong {
	color: #fff;
	font-size: 0.86rem;
	font-weight: 840;
	line-height: 1.2;
}

.kr-next-match__center {
	display: grid;
	justify-items: center;
	gap: 5px;
}

.kr-next-match__versus {
	color: rgba(255, 255, 255, 0.36);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
}

.kr-next-match__center time {
	display: grid;
	justify-items: center;
	gap: 2px;
}

.kr-next-match__center time span {
	color: var(--kr-muted);
	font-size: 0.69rem;
	font-weight: 650;
	line-height: 1.25;
	white-space: nowrap;
}

.kr-next-match__center time strong {
	color: #fff;
	font-size: 1.55rem;
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.kr-next-match__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 17px;
	padding-top: 0;
	border-top: 0;
}

.kr-next-match__footer > div {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 4px 12px;
}

.kr-next-match__footer > div span {
	color: var(--kr-muted);
	font-size: 0.68rem;
	line-height: 1.4;
}

.kr-next-match__arrow {
	display: inline-flex;
	flex: 0 0 auto;
	width: 31px;
	height: 31px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.055);
}

.kr-next-match__arrow svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 180ms ease;
}

.kr-next-match:hover .kr-next-match__arrow svg {
	transform: translateX(2px);
}

@media (max-width: 820px) {
	.kr-matches-hero {
		min-height: 600px;
		background-position: center, center, 43% center;
	}

	.kr-matches-hero__title p {
		max-width: none;
	}
}

@media (max-width: 520px) {
	.kr-matches-hero {
		min-height: 570px;
		padding: 0;
		border-radius: 22px;
		background-position: center, center, 42% center;
	}

	.kr-matches-hero__title h1 {
		font-size: 3rem;
	}

	.kr-next-match {
		width: calc(100% - 40px);
		bottom: 24px;
		padding: 0;
	}

	.kr-next-match__teams {
		grid-template-columns: minmax(0, 1fr) minmax(68px, auto) minmax(0, 1fr);
		gap: 7px;
		margin-top: 15px;
	}

	.kr-next-match__logo-wrap {
		width: 65px;
		height: 65px;
	}

	.kr-next-match__logo-wrap img {
		max-width: 61px;
		max-height: 61px;
	}

	.kr-next-match__team > strong {
		font-size: 0.74rem;
	}

	.kr-next-match__center time span {
		font-size: 0.61rem;
	}

	.kr-next-match__center time strong {
		font-size: 1.3rem;
	}

	.kr-next-match__footer {
		align-items: flex-start;
	}
}

.kr-matches__heading {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	font-weight: 850;
	letter-spacing: -0.025em;
}

.kr-matches__tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
}

.kr-matches__tab {
	min-height: 46px;
	margin: 0;
	padding: 10px 16px;
	border: 0;
	border-radius: 12px;
	color: rgba(255, 255, 255, 0.44);
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 650;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.kr-matches__tab:hover,
.kr-matches__tab:focus-visible {
	color: var(--kr-foreground);
	background: rgba(255, 255, 255, 0.07);
}

.kr-matches__tab:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-matches__tab.is-active {
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	box-shadow:
		0 8px 22px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.kr-matches__panel[hidden] {
	display: none !important;
}

.kr-match-list {
	display: grid;
	gap: 12px;
}

.kr-match-list__items {
	display: grid;
	gap: 12px;
}

.kr-matches__sidebar .kr-match-list__items {
	gap: 8px;
}

.kr-match-card[hidden] {
	display: none !important;
}

.kr-match-card.is-page-entering {
	animation: kr-match-page-enter 260ms ease both;
}

.kr-match-pagination {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) 30px;
	align-items: center;
	gap: 7px;
	margin-top: 3px;
}

.kr-match-pagination__pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
}

.kr-match-pagination__page,
.kr-match-pagination__step {
	display: inline-grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	margin: 0;
	padding: 0 6px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.045);
	box-shadow: none;
	font: inherit;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.kr-match-pagination__step {
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 50%;
	font-size: 1.15rem;
}

.kr-match-pagination__page:hover,
.kr-match-pagination__page:focus-visible,
.kr-match-pagination__step:hover:not(:disabled),
.kr-match-pagination__step:focus-visible {
	border-color: rgba(217, 26, 51, 0.66);
	color: #fff;
	background: rgba(217, 26, 51, 0.16);
	transform: translateY(-1px);
}

.kr-match-pagination__page.is-active {
	border-color: var(--kr-red);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 8px 20px rgba(217, 26, 51, 0.22);
}

.kr-match-pagination__step:disabled {
	opacity: 0.32;
	cursor: default;
}

@keyframes kr-match-page-enter {
	from {
		opacity: 0;
		transform: translateY(7px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-match-card.is-page-entering {
		animation: none;
	}
}

.kr-match-list__empty {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	color: var(--kr-muted);
	background: var(--kr-glass);
}

.kr-match-card {
	position: relative;
	margin: 0;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	background: var(--kr-glass);
	box-shadow:
		0 16px 42px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	overflow: hidden;
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.kr-match-card:hover,
.kr-match-card:focus-within {
	border-color: var(--kr-glass-border-strong);
	box-shadow:
		0 20px 52px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transform: translateY(-2px);
}

.kr-match-card__link {
	display: block;
	padding: 15px 16px 13px;
	color: inherit !important;
	text-decoration: none !important;
}

.kr-match-card__link:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: -3px;
}

.kr-match-card__teams {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}

.kr-match-card__team {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
}

.kr-match-card__team--away {
	justify-content: flex-end;
	text-align: right;
}

.kr-match-card__logo-wrap {
	display: inline-flex;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 7px 12px rgba(0, 0, 0, 0.28));
}

.kr-match-card__logo {
	display: block;
	max-width: 42px;
	max-height: 42px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.kr-match-card__team-name {
	min-width: 0;
	color: var(--kr-foreground);
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.kr-match-card__center {
	display: flex;
	min-width: 58px;
	align-items: center;
	justify-content: center;
}

.kr-match-card__time {
	color: #fff;
	font-size: 1.18rem;
	font-weight: 900;
	letter-spacing: -0.025em;
}

.kr-match-card__played {
	padding: 5px 8px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 999px;
	color: var(--kr-muted);
	background: rgba(255, 255, 255, 0.045);
	font-size: 0.65rem;
	font-weight: 750;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.kr-match-card__details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 30px;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
	padding-top: 11px;
	border-top: 1px solid rgba(255, 255, 255, 0.075);
	color: var(--kr-muted);
	font-size: 0.7rem;
	line-height: 1.4;
}

.kr-match-card__schedule {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 4px 10px;
}

.kr-match-card__schedule span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-match-card__announcer {
	color: rgba(255, 255, 255, 0.62);
	white-space: nowrap;
}

.kr-match-card__arrow {
	display: inline-flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.62);
	background: rgba(255, 255, 255, 0.055);
}

.kr-match-card__arrow svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

@media (max-width: 620px) {
	.kr-match-card__link {
		padding: 13px 12px 12px;
	}

	.kr-match-card__teams {
		gap: 7px;
	}

	.kr-match-card__team {
		gap: 6px;
	}

	.kr-match-card__logo-wrap {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	.kr-match-card__logo {
		max-width: 35px;
		max-height: 35px;
	}

	.kr-match-card__team-name {
		font-size: 0.76rem;
	}

	.kr-match-card__center {
		min-width: 48px;
	}

	.kr-match-card__time {
		font-size: 1rem;
	}

	.kr-match-card__details {
		grid-template-columns: minmax(0, 1fr) 28px;
		gap: 9px;
	}

	.kr-match-card__announcer {
		grid-column: 1;
		grid-row: 2;
	}

	.kr-match-card__arrow {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-matches__tab,
	.kr-match-card {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Compact sidebar match shortcodes

   [kiakkoradio_tulevat_ottelut count="5"]
   [kiakkoradio_pelatut_ottelut count="5"]
   -------------------------------------------------------------------------- */

.kr-sidebar-matches {
	display: grid;
	gap: 10px;
	width: 100%;
}

.kr-sidebar-matches__heading {
	margin: 0;
	color: var(--kr-foreground);
	font-size: 1.08rem;
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.kr-sidebar-matches__list {
	display: grid;
	gap: 7px;
}

.kr-sidebar-matches__tabs {
	border-radius: 12px;
}

.kr-sidebar-matches__tabs .kr-matches__tab {
	min-height: 36px;
	padding: 7px 10px;
	border-radius: 9px;
	font-size: 0.7rem;
}

.kr-sidebar-matches--tabbed .kr-sidebar-match {
	gap: 6px;
	padding: 6px 7px;
}

.kr-sidebar-matches__panel[hidden] {
	display: none !important;
}

.kr-sidebar-matches__empty {
	margin: 0;
	padding: 12px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 12px;
	color: var(--kr-muted);
	background: var(--kr-glass);
	font-size: 0.75rem;
}

.kr-sidebar-match {
	display: grid;
	grid-template-columns: 51px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 9px 8px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 12px;
	color: inherit !important;
	background: rgba(255, 255, 255, 0.045);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
	text-decoration: none !important;
	-webkit-backdrop-filter: blur(18px) saturate(130%);
	backdrop-filter: blur(18px) saturate(130%);
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

/* The Ottelut page uses the same compact card structure as the sidebar shortcode. */

.kr-match-card--compact,
.kr-match-card--compact:hover,
.kr-match-card--compact:focus-within,
.kr-match-card--compact.is-active {
	border: 0;
	background: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	overflow: visible;
	transform: none;
}

.kr-match-card--compact > .kr-match-card__link.kr-sidebar-match,
button.kr-match-card__link.kr-sidebar-match {
	display: grid;
	grid-template-columns: 51px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 6px;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 6px 7px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 12px;
	color: inherit !important;
	background: rgba(255, 255, 255, 0.045);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
	font: inherit;
	cursor: pointer;
	text-align: left;
}

.kr-match-card--compact.is-active > .kr-match-card__link {
	border-color: rgba(217, 26, 51, 0.5);
	background: linear-gradient(110deg, rgba(217, 26, 51, 0.12), rgba(255, 255, 255, 0.045));
	box-shadow: inset 3px 0 0 var(--kr-red), inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.kr-sidebar-match--teams-inline .kr-sidebar-match__teams {
	display: grid;
	grid-template-columns: minmax(54px, 72px) auto minmax(54px, 72px);
	align-items: center;
	justify-content: center;
	column-gap: 2px;
}

.kr-sidebar-match--teams-inline .kr-sidebar-match__team {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
}

.kr-sidebar-match--teams-inline .kr-sidebar-match__logo {
	width: 30px;
	height: 30px;
}

.kr-sidebar-match--teams-inline .kr-sidebar-match__logo img {
	max-width: 28px;
	max-height: 28px;
}

.kr-sidebar-match--teams-inline .kr-sidebar-match__team strong {
	display: -webkit-box;
	width: 100%;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.1;
	text-align: center;
	text-overflow: initial;
	white-space: normal;
}

.kr-match-card--compact .kr-match-card__arrow {
	grid-column: auto;
	grid-row: auto;
	width: 22px;
	height: 22px;
}

.kr-sidebar-match:hover,
.kr-sidebar-match:focus-visible {
	border-color: var(--kr-glass-border-strong);
	color: inherit !important;
	background: rgba(255, 255, 255, 0.075);
	transform: translateY(-1px);
}

.kr-sidebar-match:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-sidebar-match__when {
	display: grid;
	justify-items: center;
	gap: 2px;
	padding-right: 8px;
	border-right: 1px solid rgba(255, 255, 255, 0.075);
}

.kr-sidebar-match__when span {
	color: var(--kr-muted);
	font-size: 0.59rem;
	font-weight: 650;
	line-height: 1.15;
	text-transform: capitalize;
	white-space: nowrap;
}

.kr-sidebar-match__when strong {
	color: #fff;
	font-size: 0.88rem;
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1;
}

.kr-sidebar-match__series {
	display: block;
	color: #ff5368;
	font-size: 0.45rem;
	font-style: normal;
	font-weight: 850;
	letter-spacing: 0.055em;
	line-height: 1.05;
	text-transform: uppercase;
	white-space: nowrap;
}

.kr-sidebar-match__teams {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.kr-sidebar-match__team {
	display: grid;
	grid-template-columns: 25px minmax(0, 1fr);
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.kr-sidebar-match__logo {
	display: flex;
	width: 25px;
	height: 25px;
	align-items: center;
	justify-content: center;
}

.kr-sidebar-match__logo img {
	display: block;
	max-width: 23px;
	max-height: 23px;
	width: auto;
	height: auto;
	filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.3));
	object-fit: contain;
}

.kr-sidebar-match__team strong {
	min-width: 0;
	color: var(--kr-foreground);
	font-size: 0.7rem;
	font-weight: 780;
	line-height: 1.15;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Upcoming matches show the opponents as two equal logo columns. */

.kr-sidebar-matches--tulevat .kr-sidebar-match {
	gap: 6px;
	padding: 6px 7px;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__teams {
	display: grid;
	grid-template-columns: minmax(54px, 72px) auto minmax(54px, 72px);
	grid-template-areas: "home versus away";
	align-items: center;
	justify-content: center;
	column-gap: 2px;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__team:first-child {
	grid-area: home;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__versus {
	grid-area: versus;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__team:last-child {
	grid-area: away;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__team {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__logo {
	width: 30px;
	height: 30px;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__logo img {
	max-width: 28px;
	max-height: 28px;
}

.kr-sidebar-match__versus {
	align-self: center;
	color: rgba(255, 255, 255, 0.38);
	font-size: 0.55rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1;
}

.kr-sidebar-match__score {
	display: inline-flex;
	align-self: center;
	justify-content: center;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 920;
	letter-spacing: -0.035em;
	line-height: 1;
	text-shadow: 0 2px 9px rgba(0, 0, 0, 0.5);
	white-space: nowrap;
}

.kr-sidebar-matches--tulevat .kr-sidebar-match__team strong {
	display: -webkit-box;
	width: 100%;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.1;
	text-align: center;
	text-overflow: initial;
	white-space: normal;
}

.kr-sidebar-match__arrow {
	display: inline-flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.54);
	background: rgba(255, 255, 255, 0.045);
}

.kr-sidebar-match__arrow svg {
	width: 11px;
	height: 11px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

@media (prefers-reduced-motion: reduce) {
	.kr-sidebar-match {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Compact episode and programme sidebar shortcodes

   [kiakkoradio_uusimmat_jaksot count="5"]
   [kiakkoradio_ohjelmalista count="8"]
   -------------------------------------------------------------------------- */

.kr-sidebar-content {
	display: grid;
	gap: 10px;
	width: 100%;
}

.kr-sidebar-content__heading {
	margin: 0;
	color: var(--kr-foreground);
	font-size: 1.08rem;
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.kr-sidebar-content__list {
	display: grid;
	gap: 7px;
}

.kr-sidebar-content__empty {
	margin: 0;
	padding: 12px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 12px;
	color: var(--kr-muted);
	background: var(--kr-glass);
	font-size: 0.75rem;
}

.kr-sidebar-content-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 25px;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 7px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 13px;
	color: inherit !important;
	background: rgba(255, 255, 255, 0.045);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
	text-decoration: none !important;
	-webkit-backdrop-filter: blur(18px) saturate(130%);
	backdrop-filter: blur(18px) saturate(130%);
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.kr-sidebar-content-card:hover,
.kr-sidebar-content-card:focus-visible {
	border-color: var(--kr-glass-border-strong);
	color: inherit !important;
	background: rgba(255, 255, 255, 0.075);
	transform: translateY(-1px);
}

.kr-sidebar-content-card:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-sidebar-content-card--episode {
	display: block;
	padding: 0;
	overflow: hidden;
}

.kr-sidebar-content-card__trigger {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 25px;
	align-items: center;
	gap: 9px;
	width: 100%;
	margin: 0;
	padding: 7px;
	border: 0;
	border-radius: 12px;
	color: inherit;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.kr-sidebar-content-card__trigger:hover,
.kr-sidebar-content-card__trigger:focus {
	color: inherit;
	background: transparent;
}

.kr-sidebar-content-card__trigger:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: -2px;
}

.kr-sidebar-content-card__cta {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 34px;
	padding: 8px 10px;
	border-top: 1px solid rgba(217, 26, 51, 0.2);
	color: #ff5368 !important;
	background: rgba(217, 26, 51, 0.055);
	font-size: 0.62rem;
	font-weight: 820;
	line-height: 1.2;
	text-decoration: none !important;
}

.kr-sidebar-content-card.is-active .kr-sidebar-content-card__cta {
	display: flex;
}

.kr-sidebar-content-card__cta:hover,
.kr-sidebar-content-card__cta:focus-visible {
	color: #fff !important;
	background: rgba(217, 26, 51, 0.13);
}

.kr-sidebar-content-card__cta svg {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.kr-sidebar-content-card__media {
	position: relative;
	display: flex;
	width: 54px;
	height: 54px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.085);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.045);
}

.kr-sidebar-content-card__media--fallback {
	color: rgba(255, 255, 255, 0.72);
	background:
		radial-gradient(circle at 72% 22%, rgba(229, 35, 54, 0.28), transparent 48%),
		linear-gradient(145deg, rgba(37, 39, 45, 0.95), rgba(12, 13, 17, 0.98));
}

.kr-sidebar-content-card__media--fallback svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.kr-sidebar-content-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kr-sidebar-content-card__copy {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.kr-sidebar-content-card__eyebrow {
	min-width: 0;
	overflow: hidden;
	color: var(--kr-red);
	font-size: 0.54rem;
	font-weight: 800;
	letter-spacing: 0.055em;
	line-height: 1.15;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.kr-sidebar-content-card__copy strong {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	color: var(--kr-foreground);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: -0.012em;
	line-height: 1.22;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.kr-sidebar-content-card__copy time {
	color: var(--kr-muted);
	font-size: 0.59rem;
	font-weight: 600;
	line-height: 1.2;
}

.kr-sidebar-content-card__action {
	display: inline-flex;
	width: 25px;
	height: 25px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.58);
	background: rgba(255, 255, 255, 0.045);
	transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.kr-sidebar-content-card__action svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.kr-sidebar-content-card__action--play {
	border-color: rgba(229, 35, 54, 0.27);
	color: #fff;
	background: rgba(229, 35, 54, 0.82);
}

.kr-sidebar-content-card__action--play svg {
	fill: currentColor;
	stroke: none;
}

.kr-sidebar-content-card.is-active {
	border-color: rgba(217, 26, 51, 0.26);
	background: rgba(217, 26, 51, 0.055);
}

.kr-sidebar-content-card.is-playing .kr-sidebar-content-card__action--play svg {
	display: none;
}

.kr-sidebar-content-card.is-playing .kr-sidebar-content-card__action--play::before {
	width: 3px;
	height: 10px;
	border-right: 3px solid currentColor;
	border-left: 3px solid currentColor;
	content: "";
}

.kr-sidebar-content-card:hover .kr-sidebar-content-card__action,
.kr-sidebar-content-card:focus-visible .kr-sidebar-content-card__action {
	border-color: rgba(229, 35, 54, 0.5);
	color: #fff;
	transform: translateX(1px);
}

.kr-sidebar-content-card--program .kr-sidebar-content-card__copy strong {
	-webkit-line-clamp: 2;
}

.kr-sidebar-content-card--program .kr-sidebar-content-card__eyebrow {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	font-size: 0.62rem;
	letter-spacing: 0.015em;
	text-overflow: initial;
	text-transform: none;
	white-space: normal;
}

.kr-sidebar-content-card__description {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	color: var(--kr-muted);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.kr-sidebar-content-card__episode-count {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.56rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1.15;
}

.kr-sidebar-content-card--competition .kr-sidebar-content-card__description {
	-webkit-line-clamp: 2;
}

@media (prefers-reduced-motion: reduce) {
	.kr-sidebar-content-card,
	.kr-sidebar-content-card__action {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Individual Ottelu page
   -------------------------------------------------------------------------- */

.kr-single-match-page .ast-single-post-featured-section {
	display: none !important;
}

.kr-single-match-page .ast-article-single {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.kr-single-match-page .ast-article-single .entry-header {
	display: none;
}

.kr-single-match-page .ast-article-single .entry-content {
	margin: 0;
}

.kr-single-match {
	display: grid;
	gap: 0;
	width: 100%;
}

.kr-single-match__hero {
	position: relative;
	height: clamp(320px, 34vw, 420px);
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
	isolation: isolate;
}

.kr-single-match__image {
	position: absolute;
	inset: -4% 0;
	z-index: 0;
	display: block;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.62) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.62) 90%, rgba(0, 0, 0, 0.12) 97%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.62) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.62) 90%, rgba(0, 0, 0, 0.12) 97%, transparent 100%);
	pointer-events: none;
}

.kr-single-match__image::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(180deg, rgba(5, 7, 12, 0.3) 0%, rgba(5, 7, 12, 0.06) 34%, rgba(5, 7, 12, 0.82) 100%),
		linear-gradient(90deg, rgba(8, 9, 14, 0.28), rgba(8, 9, 14, 0.02) 50%, rgba(8, 9, 14, 0.28)),
		var(--kr-single-match-image, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	filter: saturate(0.96) contrast(1.03) brightness(0.92);
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.16) 4%, rgba(0, 0, 0, 0.72) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.7) 90%, rgba(0, 0, 0, 0.14) 96%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.16) 4%, rgba(0, 0, 0, 0.72) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.7) 90%, rgba(0, 0, 0, 0.14) 96%, transparent 100%);
}

.kr-single-match__back {
	position: absolute;
	z-index: 2;
	top: clamp(20px, 3vw, 34px);
	left: clamp(20px, 3vw, 34px);
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	gap: 8px;
	padding: 8px 13px 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	color: #fff !important;
	background: rgba(8, 9, 13, 0.46);
	font-size: 0.73rem;
	font-weight: 750;
	text-decoration: none !important;
	-webkit-backdrop-filter: blur(18px) saturate(130%);
	backdrop-filter: blur(18px) saturate(130%);
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.kr-single-match__back:hover,
.kr-single-match__back:focus-visible {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(8, 9, 13, 0.68);
	transform: translateX(-2px);
}

.kr-single-match__back:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-single-match__back svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.kr-single-match__series {
	position: absolute;
	z-index: 4;
	top: clamp(20px, 3vw, 34px);
	right: clamp(20px, 3vw, 34px);
	display: inline-flex;
	min-height: 30px;
	align-items: center;
	padding: 6px 11px;
	border: 1px solid rgba(255, 83, 104, 0.42);
	border-radius: 999px;
	color: #fff;
	background: rgba(8, 9, 14, 0.52);
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	line-height: 1;
	text-transform: uppercase;
	-webkit-backdrop-filter: blur(14px) saturate(130%);
	backdrop-filter: blur(14px) saturate(130%);
}

.kr-single-match__teams {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: clamp(28px, 5vw, 64px);
	bottom: auto;
	left: clamp(28px, 5vw, 64px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(110px, auto) minmax(0, 1fr);
	align-items: end;
	gap: clamp(18px, 4vw, 46px);
	transform: translateY(-50%);
}

.kr-single-match__team {
	display: grid;
	min-width: 0;
	justify-items: center;
	gap: 14px;
	text-align: center;
}

.kr-single-match__logo {
	display: flex;
	width: clamp(104px, 14vw, 150px);
	height: clamp(104px, 14vw, 150px);
	align-items: center;
	justify-content: center;
}

.kr-single-match__logo img {
	display: block;
	max-width: 92%;
	max-height: 92%;
	width: auto;
	height: auto;
	filter: drop-shadow(0 18px 26px rgba(0, 0, 0, 0.48));
	object-fit: contain;
}

.kr-single-match__team > strong {
	max-width: 240px;
	color: #fff;
	font-size: clamp(1.05rem, 2.2vw, 1.4rem);
	font-weight: 880;
	letter-spacing: -0.025em;
	line-height: 1.15;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.7);
}

.kr-single-match__schedule {
	display: grid;
	align-self: center;
	justify-items: center;
	gap: 9px;
	padding-bottom: 4px;
}

.kr-single-match__versus {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.kr-single-match__schedule time {
	display: grid;
	justify-items: center;
	gap: 3px;
}

.kr-single-match__schedule time span {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
	white-space: nowrap;
}

.kr-single-match__schedule time strong {
	color: #fff;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	font-weight: 920;
	letter-spacing: -0.045em;
	line-height: 1;
	text-shadow: 0 3px 18px rgba(0, 0, 0, 0.76);
}

.kr-single-match__schedule--scored {
	gap: 5px;
}

.kr-single-match__score {
	color: #fff;
	font-size: clamp(2.35rem, 5vw, 3.6rem);
	font-weight: 940;
	letter-spacing: -0.065em;
	line-height: 0.95;
	text-shadow: 0 4px 22px rgba(0, 0, 0, 0.82);
	white-space: nowrap;
}

.kr-single-match__schedule--scored time span {
	font-size: 0.68rem;
}

.kr-single-match__details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0;
	margin-top: clamp(18px, 3vw, 28px);
	padding: 0 0 clamp(18px, 3vw, 26px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kr-single-match__detail {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 7px clamp(14px, 2vw, 24px);
	border-left: 1px solid rgba(255, 255, 255, 0.075);
}

.kr-single-match__detail:first-child {
	padding-left: 0;
	border-left: 0;
}

.kr-single-match__detail-icon {
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(217, 26, 51, 0.22);
	border-radius: 11px;
	color: #ff5368;
	background: rgba(217, 26, 51, 0.1);
}

.kr-single-match__detail-icon svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-single-match__detail-avatar {
	overflow: hidden;
	padding: 0;
	border-color: rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.07);
}

.kr-single-match__detail-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kr-single-match__detail > span:last-child {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.kr-single-match__detail small {
	color: var(--kr-muted);
	font-size: 0.61rem;
	font-weight: 720;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-single-match__detail strong {
	color: var(--kr-foreground);
	font-size: 0.79rem;
	font-weight: 760;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.kr-match-sponsor {
	display: block;
	width: auto;
	margin: 0;
}

.kr-match-sponsor__partners {
	display: block;
	min-width: 0;
}

.kr-match-sponsor__partner {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	min-width: 0;
	align-items: center;
	gap: 11px;
}

.kr-match-sponsor__partner[hidden] {
	display: none !important;
}

.kr-match-sponsor__partner.is-active {
	animation: kr-match-sponsor-in 0.38s ease both;
}

@keyframes kr-match-sponsor-in {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

.kr-match-sponsor__logo {
	overflow: hidden;
	padding: 4px;
	border-color: rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.92);
}

.kr-match-sponsor__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.kr-match-sponsor__logo > span {
	color: var(--kr-red, #ef233c);
	font-size: 0.72rem;
	font-weight: 900;
}

.kr-match-sponsor__copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.kr-match-audio {
	display: grid;
	gap: 14px;
	margin-top: clamp(20px, 3vw, 30px);
}

.kr-match-audio__header {
	display: grid;
	gap: 2px;
}

.kr-match-audio__header > span,
.kr-match-audio__copy > span {
	color: var(--kr-red, #ef233c);
	font-size: 0.62rem;
	font-weight: 820;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-match-audio__header h2 {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	font-weight: 880;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.kr-match-audio__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.kr-match-audio__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	min-width: 0;
	gap: 8px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 12px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
		rgba(10, 11, 16, 0.64);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

.kr-match-audio__copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.kr-match-audio__copy h3 {
	margin: 0;
	overflow: hidden;
	color: var(--kr-foreground);
	font-size: 0.86rem;
	font-weight: 820;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-match-audio__copy small {
	overflow: hidden;
	color: var(--kr-muted);
	font-size: 0.69rem;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-match-audio__item button.kr-match-audio__play,
.kr-match-audio__item button.kr-match-audio__play:hover,
.kr-match-audio__item button.kr-match-audio__play:focus-visible,
.kr-match-audio__item button.kr-match-audio__play.is-active {
	grid-column: 2;
	grid-row: 1;
	width: 27px;
	height: 27px;
	padding: 0;
	justify-self: end;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
}

.kr-match-audio__item button.kr-match-audio__play > span {
	flex-basis: 27px;
	width: 27px;
	height: 27px;
}

.kr-match-audio__item button.kr-match-audio__play strong {
	display: none;
}

.kr-match-audio__item button.kr-match-audio__play.is-playing > span::before {
	width: 8px;
	height: 10px;
	border: 0;
	background: linear-gradient(90deg, #fff 0 2px, transparent 2px 6px, #fff 6px 8px);
}

.kr-single-match__content {
	width: min(100%, 780px);
	max-width: 100%;
	margin: clamp(28px, 5vw, 54px) auto 0;
	color: var(--kr-muted);
}

.kr-single-match__content > *,
.kr-single-match__content :where(figure, img, audio, video, iframe) {
	max-width: 100%;
}

.kr-single-match__content .alignwide,
.kr-single-match__content .alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.kr-single-match__content > :first-child {
	margin-top: 0;
}

.kr-single-match__content > :last-child {
	margin-bottom: 0;
}

.kr-single-match__content h2,
.kr-single-match__content h3,
.kr-single-match__content h4 {
	color: var(--kr-foreground);
}

@media (max-width: 700px) {
	.kr-match-audio__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.kr-match-audio {
		gap: 10px;
		margin-top: 18px;
	}

	.kr-match-audio__header h2 {
		font-size: 1.2rem;
	}

	.kr-match-audio__item {
		gap: 6px;
		padding: 8px;
		border-radius: 10px;
	}

	.kr-match-audio__copy {
		gap: 2px;
	}

	.kr-match-audio__copy > span {
		font-size: 0.49rem;
		letter-spacing: 0.1em;
	}

	.kr-match-audio__copy h3 {
		display: -webkit-box;
		font-size: clamp(0.68rem, 3.1vw, 0.76rem);
		line-height: 1.12;
		text-overflow: clip;
		white-space: normal;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.kr-match-audio__copy small {
		font-size: 0.57rem;
		line-height: 1.2;
	}

	.kr-match-audio__item button.kr-match-audio__play,
	.kr-match-audio__item button.kr-match-audio__play:hover,
	.kr-match-audio__item button.kr-match-audio__play:focus-visible,
	.kr-match-audio__item button.kr-match-audio__play.is-active {
		width: 23px;
		height: 23px;
		padding: 0;
	}

	.kr-match-audio__item button.kr-match-audio__play > span {
		flex-basis: 23px;
		width: 23px;
		height: 23px;
	}

	.kr-match-audio__item button.kr-match-audio__play svg {
		width: 13px;
		height: 13px;
	}

	.kr-match-audio__item button.kr-match-audio__play strong {
		font-size: 0.57rem;
	}

	.kr-single-match__hero,
	.kr-match-viewer .kr-single-match__hero {
		height: clamp(210px, 59vw, 230px);
		min-height: 0;
		border-radius: 0;
	}

	.kr-single-match__image {
		inset: -5% -2%;
	}

	.kr-single-match__image::before {
		background-position: center;
	}

	.kr-single-match__series {
		top: 10px;
		right: 10px;
		min-height: 23px;
		padding: 4px 7px;
		font-size: 0.48rem;
	}

	.kr-single-match__teams {
		top: 50%;
		right: 10px;
		bottom: auto;
		left: 10px;
		grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
		gap: 4px;
	}

	.kr-single-match__team {
		gap: 5px;
	}

	.kr-single-match__logo {
		width: clamp(64px, 20vw, 76px);
		height: clamp(64px, 20vw, 76px);
	}

	.kr-single-match__team > strong {
		font-size: 0.72rem;
		line-height: 1.1;
	}

	.kr-single-match__schedule {
		gap: 4px;
		padding-bottom: 0;
	}

	.kr-single-match__versus {
		font-size: 0.55rem;
	}

	.kr-single-match__schedule time span {
		font-size: 0.5rem;
	}

	.kr-single-match__schedule time strong {
		font-size: 1.25rem;
	}

	.kr-single-match__score {
		font-size: 1.6rem;
	}

	.kr-single-match__details {
		grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
		gap: 6px;
		margin-top: 10px;
		padding-bottom: 12px;
	}

	.kr-single-match__detail,
	.kr-single-match__detail:first-child {
		grid-template-columns: 27px minmax(0, 1fr);
		gap: 6px;
		padding: 4px 0;
		border-left: 0;
	}

	.kr-single-match__detail-icon {
		width: 27px;
		height: 27px;
		border-radius: 8px;
	}

	.kr-single-match__detail-icon svg {
		width: 13px;
		height: 13px;
	}

	.kr-single-match__detail > span:last-child {
		gap: 1px;
	}

	.kr-single-match__detail small {
		font-size: 0.48rem;
		letter-spacing: 0.035em;
	}

	.kr-single-match__detail strong {
		font-size: 0.61rem;
		line-height: 1.18;
	}

	.kr-match-sponsor__partner {
		grid-template-columns: 27px minmax(0, 1fr);
		gap: 6px;
	}

	.kr-match-sponsor__copy {
		gap: 1px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-single-match__back {
		transition: none;
	}

	.kr-match-sponsor__partner.is-active {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Contact-page shortcode

   [kiakkoradio_yhteystiedot]
   -------------------------------------------------------------------------- */

.ast-article-single:has(.kr-contact-page) {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.ast-article-single:has(.kr-contact-page) > .entry-header {
	display: none;
}

.ast-article-single:has(.kr-contact-page) .entry-content {
	margin: 0;
}

.kr-contact-page {
	display: grid;
	gap: clamp(28px, 4vw, 46px);
	width: min(100%, 1180px);
	margin-inline: auto;
	padding-block: clamp(14px, 2vw, 26px) clamp(36px, 5vw, 64px);
}

.kr-contact-page h1,
.kr-contact-page h2,
.kr-contact-page h3,
.kr-contact-page p {
	margin-top: 0;
}

.kr-contact-kicker {
	display: block;
	color: var(--kr-red);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.105em;
	line-height: 1.25;
	text-transform: uppercase;
}

.kr-contact-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(230px, 0.65fr);
	min-height: clamp(300px, 34vw, 390px);
	align-items: center;
	padding: clamp(26px, 4.5vw, 52px);
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: clamp(22px, 3vw, 34px);
	background:
		radial-gradient(circle at 78% 36%, rgba(217, 26, 51, 0.24), transparent 35%),
		radial-gradient(circle at 92% 82%, rgba(27, 63, 154, 0.27), transparent 40%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.035));
	box-shadow:
		0 32px 90px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.075);
	overflow: hidden;
	isolation: isolate;
	-webkit-backdrop-filter: blur(30px) saturate(145%);
	backdrop-filter: blur(30px) saturate(145%);
}

.kr-contact-hero::before,
.kr-contact-hero::after {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	content: "";
	filter: blur(3px);
	pointer-events: none;
}

.kr-contact-hero::before {
	top: -42%;
	right: -10%;
	width: 430px;
	height: 430px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	background: rgba(255, 255, 255, 0.025);
}

.kr-contact-hero::after {
	right: 22%;
	bottom: -46%;
	width: 320px;
	height: 320px;
	background: rgba(232, 104, 26, 0.09);
	filter: blur(34px);
}

.kr-contact-hero__copy {
	position: relative;
	z-index: 2;
	max-width: 700px;
}

.kr-contact-hero h1 {
	margin: 9px 0 13px;
	color: #fff;
	font-size: clamp(2.8rem, 6.5vw, 5rem);
	font-weight: 900;
	letter-spacing: -0.065em;
	line-height: 0.92;
}

.kr-contact-hero__copy > p {
	max-width: 640px;
	margin-bottom: 19px;
	color: rgba(255, 255, 255, 0.7);
	font-size: clamp(1rem, 1.8vw, 1.22rem);
	line-height: 1.6;
}

.kr-contact-hero__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.kr-contact-hero__meta span[aria-hidden="true"] {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 0 14px rgba(217, 26, 51, 0.8);
}

.kr-contact-hero__brand {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kr-contact-hero__brand img {
	position: relative;
	z-index: 1;
	display: block;
	width: min(19vw, 220px);
	height: auto;
	filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.42));
}

.kr-contact-quick {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.kr-contact-quick__card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 218px;
	flex-direction: column;
	margin: 0;
	padding: 17px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	box-shadow:
		0 18px 46px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.kr-contact-quick__card::after {
	position: absolute;
	top: -70px;
	right: -70px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: rgba(217, 26, 51, 0.09);
	content: "";
	filter: blur(20px);
	pointer-events: none;
}

.kr-contact-quick__card:hover {
	border-color: var(--kr-glass-border-strong);
	background: var(--kr-glass-strong);
	transform: translateY(-3px);
}

.kr-contact-quick__icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(217, 26, 51, 0.25);
	border-radius: 14px;
	color: #ff5368;
	background: rgba(217, 26, 51, 0.11);
}

.kr-contact-quick__icon svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-contact-quick__heading {
	margin: 15px 0 11px;
}

.kr-contact-quick__heading > span {
	display: block;
	margin-bottom: 5px;
	color: var(--kr-muted);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}

.kr-contact-quick__heading h2 {
	margin: 0;
	color: #fff;
	font-size: 1.16rem;
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.kr-contact-quick__links {
	display: grid;
	gap: 6px;
	margin-top: auto;
}

.kr-contact-quick__links a {
	display: flex;
	min-width: 0;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding-top: 6px;
	border-top: 1px solid rgba(255, 255, 255, 0.065);
	color: var(--kr-foreground);
	font-size: 0.73rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none !important;
}

.kr-contact-quick__links a > span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.kr-contact-quick__links small {
	display: block;
	margin-bottom: 2px;
	color: rgba(255, 255, 255, 0.38);
	font-size: 0.59rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.kr-contact-quick__links svg,
.kr-contact-company__links svg,
.kr-contact-company__aside a svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 160ms ease;
}

.kr-contact-quick__links a:hover svg,
.kr-contact-company__links a:hover svg,
.kr-contact-company__aside a:hover svg {
	transform: translateX(3px);
}

.kr-contact-team {
	display: grid;
	gap: 13px;
	scroll-margin-top: 120px;
}

.kr-contact-feedback .kr-participation-disclosure {
	margin-block: 0;
}

.kr-contact-section-heading {
	display: block;
	text-align: left;
	padding-bottom: 9px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kr-contact-section-heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.55rem, 3.4vw, 2.25rem);
	font-weight: 880;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.kr-contact-people {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.kr-contact-people--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: calc(50% - 5.5px);
}

.kr-person-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(160px, 42%) minmax(0, 1fr);
	min-height: 205px;
	margin: 0;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	box-shadow:
		0 20px 54px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	overflow: hidden;
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.kr-person-card:hover {
	border-color: var(--kr-glass-border-strong);
	box-shadow:
		0 26px 66px rgba(0, 0, 0, 0.34),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transform: translateY(-3px);
}

.kr-person-card__media {
	position: relative;
	min-height: 205px;
	background:
		radial-gradient(circle at 28% 24%, rgba(217, 26, 51, 0.45), transparent 45%),
		radial-gradient(circle at 76% 78%, rgba(27, 63, 154, 0.42), transparent 48%),
		#101117;
	overflow: hidden;
}

.kr-person-card__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 58%, rgba(10, 11, 16, 0.32) 82%, rgba(10, 11, 16, 0.76) 100%);
	content: "";
	pointer-events: none;
}

.kr-person-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 205px;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.kr-person-card:hover .kr-person-card__media img {
	transform: scale(1.025);
}

.kr-person-card--initials .kr-person-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.kr-person-card--initials .kr-person-card__media > span {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(3rem, 7vw, 5.5rem);
	font-weight: 900;
	letter-spacing: -0.07em;
	text-shadow: 0 18px 40px rgba(0, 0, 0, 0.36);
}

.kr-person-card__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(17px, 2.4vw, 26px);
}

.kr-person-card__role {
	color: #ff5368;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.065em;
	line-height: 1.35;
	text-transform: uppercase;
}

.kr-person-card__content h3 {
	margin: 6px 0 12px;
	color: #fff;
	font-size: clamp(1.15rem, 2.3vw, 1.55rem);
	font-weight: 850;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.kr-person-card__contacts {
	display: grid;
	gap: 5px;
}

.kr-person-card__contacts a {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 8px;
	color: var(--kr-muted);
	font-size: 0.71rem;
	line-height: 1.35;
	text-decoration: none !important;
}

.kr-person-card__contacts a:hover {
	color: #fff;
}

.kr-person-card__contacts svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: #ff5368;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-person-card__contacts span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.kr-contact-company {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(290px, 0.6fr);
	gap: 11px;
}

.kr-contact-company__main,
.kr-contact-company__aside {
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	box-shadow:
		0 20px 54px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
}

.kr-contact-company__main {
	padding: clamp(23px, 3.8vw, 42px);
}

.kr-contact-company__main h2 {
	margin: 6px 0 15px;
	color: #fff;
	font-size: clamp(1.8rem, 4vw, 2.85rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 1;
}

.kr-contact-company__main p {
	max-width: 760px;
	margin-bottom: 10px;
	color: var(--kr-muted);
	font-size: 0.9rem;
	line-height: 1.72;
}

.kr-contact-company__main p strong {
	color: var(--kr-foreground);
}

.kr-contact-company__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.kr-contact-company__links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	color: var(--kr-foreground);
	background: rgba(255, 255, 255, 0.045);
	font-size: 0.72rem;
	font-weight: 750;
	text-decoration: none !important;
}

.kr-contact-company__links a:hover {
	border-color: rgba(217, 26, 51, 0.4);
	color: #fff;
	background: rgba(217, 26, 51, 0.11);
}

.kr-contact-company__aside {
	display: grid;
	align-content: start;
	padding: clamp(21px, 3vw, 30px);
}

.kr-contact-company__aside > div + div {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.kr-contact-company__aside h3 {
	margin-bottom: 9px;
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.015em;
}

.kr-contact-company__aside p {
	margin-bottom: 12px;
	color: var(--kr-muted);
	font-size: 0.76rem;
	line-height: 1.6;
}

.kr-contact-company__aside a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #ff5368;
	font-size: 0.76rem;
	font-weight: 750;
	text-decoration: none !important;
}

@media (max-width: 1080px) {
	.kr-contact-quick {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kr-contact-quick__card {
		min-height: 210px;
	}

	.kr-person-card {
		grid-template-columns: 1fr;
	}

	.kr-person-card__media,
	.kr-person-card__media img {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.kr-person-card__media::after {
		background: linear-gradient(180deg, transparent 58%, rgba(10, 11, 16, 0.72) 100%);
	}
}

@media (max-width: 780px) {
	.kr-contact-page {
		gap: 30px;
	}

	.kr-contact-hero {
		grid-template-columns: 1fr;
		min-height: 350px;
		align-items: flex-end;
	}

	.kr-contact-hero__copy {
		z-index: 3;
	}

	.kr-contact-hero__brand {
		position: absolute;
		top: 26px;
		right: 28px;
		opacity: 0.34;
	}

	.kr-contact-hero__brand img {
		width: 170px;
	}

	.kr-contact-people,
	.kr-contact-company {
		grid-template-columns: 1fr;
	}

	.kr-contact-people--single {
		max-width: none;
	}
}

@media (max-width: 544px) {
	.kr-contact-page {
		width: calc(100% + 12px);
		margin-left: -6px;
	}

	.kr-contact-hero {
		min-height: 340px;
		padding: 22px 19px 24px;
		border-radius: 22px;
	}

	.kr-contact-hero h1 {
		font-size: clamp(2.75rem, 16vw, 4rem);
	}

	.kr-contact-hero__copy > p {
		font-size: 0.94rem;
	}

	.kr-contact-hero__brand {
		top: 15px;
		right: 8px;
	}

	.kr-contact-hero__brand img {
		width: 138px;
	}

	.kr-contact-quick {
		grid-template-columns: 1fr;
	}

	.kr-contact-quick__card {
		min-height: 205px;
		padding: 17px;
	}

	.kr-person-card__content {
		padding: 18px;
	}

	.kr-contact-company__main,
	.kr-contact-company__aside {
		padding: 21px 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-contact-quick__card,
	.kr-contact-quick__links svg,
	.kr-person-card,
	.kr-person-card__media img,
	.kr-contact-company__links svg,
	.kr-contact-company__aside a svg {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Programme-list shortcode

   [kiakkoradio_ohjelmat]
   [kiakkoradio_ohjelmat count="9"]
   -------------------------------------------------------------------------- */

.kr-program-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(18px, 2.8vw, 30px);
	width: 100%;
}

.kr-program-card {
	position: relative;
	min-width: 0;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: clamp(20px, 2.5vw, 30px);
	background:
		radial-gradient(circle at 0 12%, rgba(126, 15, 35, 0.42), transparent 38%),
		radial-gradient(circle at 100% 8%, rgba(32, 55, 125, 0.34), transparent 43%),
		radial-gradient(circle at 95% 100%, rgba(100, 17, 61, 0.32), transparent 42%),
		rgba(13, 14, 18, 0.9);
	box-shadow:
		0 24px 70px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	overflow: hidden;
	-webkit-backdrop-filter: blur(22px) saturate(130%);
	backdrop-filter: blur(22px) saturate(130%);
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.kr-program-card:nth-child(3n + 2) {
	background:
		radial-gradient(circle at 100% 0, rgba(126, 15, 35, 0.38), transparent 40%),
		radial-gradient(circle at 0 100%, rgba(32, 55, 125, 0.32), transparent 44%),
		rgba(13, 14, 18, 0.9);
}

.kr-program-card:nth-child(3n) {
	background:
		radial-gradient(circle at 10% 100%, rgba(122, 52, 14, 0.34), transparent 40%),
		radial-gradient(circle at 100% 18%, rgba(41, 54, 128, 0.36), transparent 46%),
		rgba(13, 14, 18, 0.9);
}

.kr-program-card__link {
	display: grid;
	grid-template-columns: clamp(230px, 29vw, 320px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(28px, 4.5vw, 56px);
	min-height: 0;
	padding: clamp(12px, 1.7vw, 20px);
	color: inherit !important;
	text-decoration: none !important;
}

.kr-program-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: clamp(18px, 2.2vw, 26px);
	background: rgba(255, 255, 255, 0.055);
	box-shadow:
		0 22px 52px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
	transition: border-color 220ms ease, box-shadow 220ms ease;
}

.kr-program-card__media--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 22% 18%, rgba(217, 26, 51, 0.56), transparent 42%),
		radial-gradient(circle at 82% 80%, rgba(27, 63, 154, 0.52), transparent 48%),
		linear-gradient(145deg, #15161d, #090a0e);
}

.kr-program-card__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}

.kr-program-card__shine {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 26%),
		linear-gradient(0deg, rgba(6, 7, 9, 0.18), transparent 42%);
	pointer-events: none;
}

.kr-program-card__fallback-mark {
	display: inline-flex;
	width: 82px;
	height: 82px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.075);
	box-shadow:
		0 18px 42px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.kr-program-card__fallback-mark svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.kr-program-card__content {
	display: grid;
	align-content: center;
	gap: clamp(12px, 1.5vw, 20px);
	min-width: 0;
}

.kr-program-card__eyebrow {
	color: var(--kr-red, #ef233c);
	font-size: clamp(0.65rem, 0.9vw, 0.78rem);
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-program-card__content h2 {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(2rem, 4.3vw, 3.8rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 0.94;
	overflow-wrap: break-word;
	text-wrap: balance;
}

.kr-program-card__content p {
	display: -webkit-box;
	max-width: 68ch;
	margin: 0;
	overflow: hidden;
	color: var(--kr-muted, rgba(255, 255, 255, 0.62));
	font-size: clamp(0.9rem, 1.25vw, 1.05rem);
	font-weight: 500;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}

.kr-program-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.kr-program-card__cta svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 180ms ease;
}

.kr-program-card:hover,
.kr-program-card:focus-within {
	border-color: var(--kr-glass-border-strong);
	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.36),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);
	transform: translateY(-3px);
}

.kr-program-card__link:hover .kr-program-card__image {
	transform: scale(1.035);
}

.kr-program-card__link:hover .kr-program-card__cta svg,
.kr-program-card__link:focus-visible .kr-program-card__cta svg {
	transform: translateX(2px);
}

.kr-program-card__link:focus-visible {
	border-radius: var(--kr-radius-large);
	outline: 2px solid var(--kr-red);
	outline-offset: 4px;
}

.kr-program-grid__empty {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	color: var(--kr-muted);
	background: var(--kr-glass);
}

.kr-program-seasons {
	display: grid;
	gap: 18px;
	margin-top: clamp(42px, 7vw, 76px);
}

.kr-program-seasons__header {
	display: grid;
	gap: 5px;
}

.kr-program-seasons__header > span,
.kr-program-season-card__label {
	color: var(--kr-red, #ef233c);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-program-seasons__header h2 {
	margin: 0;
	color: var(--kr-foreground, #fff);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1;
}

.kr-program-seasons__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(12px, 2vw, 18px);
}

.kr-program-season-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto auto;
	gap: 5px 18px;
	min-height: 150px;
	align-content: center;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: clamp(18px, 2.2vw, 26px);
	color: inherit !important;
	background:
		radial-gradient(circle at 0 20%, rgba(146, 18, 43, 0.38), transparent 46%),
		radial-gradient(circle at 100% 100%, rgba(31, 57, 132, 0.3), transparent 50%),
		rgba(13, 14, 18, 0.82);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	text-decoration: none !important;
	-webkit-backdrop-filter: blur(20px) saturate(125%);
	backdrop-filter: blur(20px) saturate(125%);
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.kr-program-season-card__label,
.kr-program-season-card > strong,
.kr-program-season-card__meta {
	grid-column: 1;
}

.kr-program-season-card > strong {
	color: var(--kr-foreground, #fff);
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1;
}

.kr-program-season-card__meta {
	color: var(--kr-muted, rgba(255, 255, 255, 0.62));
	font-size: 0.84rem;
	font-weight: 700;
}

.kr-program-season-card__arrow {
	display: grid;
	grid-column: 2;
	grid-row: 1 / -1;
	width: 42px;
	height: 42px;
	align-self: center;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.8);
	background: rgba(255, 255, 255, 0.04);
}

.kr-program-season-card__arrow svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 180ms ease;
}

.kr-program-season-card:hover,
.kr-program-season-card:focus-visible {
	border-color: var(--kr-glass-border-strong, rgba(255, 255, 255, 0.24));
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.055);
	transform: translateY(-2px);
}

.kr-program-season-card:hover .kr-program-season-card__arrow svg,
.kr-program-season-card:focus-visible .kr-program-season-card__arrow svg {
	transform: translateX(2px);
}

.kr-program-season-card:focus-visible {
	outline: 2px solid var(--kr-red, #ef233c);
	outline-offset: 3px;
}

.kr-program-season-page {
	display: grid;
	gap: clamp(30px, 5vw, 52px);
	width: 100%;
	min-width: 0;
	padding-block: clamp(28px, 5vw, 58px);
}

/* Keep the custom season archive independent from Astra's archive columns. */
.kr-program-season-shell {
	box-sizing: border-box;
	width: min(calc(100% - 40px), 970px);
	max-width: 970px;
	margin-inline: auto;
}

.kr-program-season-programs,
.kr-program-season-programs .kr-program-grid,
.kr-program-season-programs .kr-program-card,
.kr-program-season-programs .kr-program-card__link {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.kr-program-season-programs .kr-program-card {
	float: none;
	flex: 0 0 100%;
}

.kr-program-season-hero {
	display: grid;
	gap: 9px;
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: clamp(20px, 2.5vw, 30px);
	background:
		radial-gradient(circle at 0 10%, rgba(145, 17, 42, 0.4), transparent 42%),
		radial-gradient(circle at 100% 0, rgba(29, 57, 135, 0.34), transparent 48%),
		rgba(13, 14, 18, 0.84);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
	-webkit-backdrop-filter: blur(22px) saturate(130%);
	backdrop-filter: blur(22px) saturate(130%);
}

.kr-program-season-hero__eyebrow {
	color: var(--kr-red, #ef233c);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.kr-program-season-hero h1 {
	margin: 0;
	color: var(--kr-foreground, #fff);
	font-size: clamp(2.6rem, 7vw, 5rem);
	font-weight: 900;
	letter-spacing: -0.06em;
	line-height: 0.95;
}

.kr-program-season-hero__description {
	max-width: 70ch;
	color: var(--kr-muted, rgba(255, 255, 255, 0.64));
	font-size: 1rem;
	line-height: 1.65;
}

.kr-program-season-hero__description > :last-child {
	margin-bottom: 0;
}

.kr-program-season-hero__back {
	display: inline-flex;
	width: fit-content;
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 0.78rem;
	font-weight: 800;
	text-decoration: none !important;
}

@media (max-width: 900px) {
	.kr-program-card__link {
		grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
		gap: clamp(22px, 4vw, 34px);
		min-height: 0;
		padding: clamp(12px, 1.8vw, 16px);
	}

	.kr-program-card__content h2 {
		font-size: clamp(1.9rem, 5.2vw, 3.3rem);
	}

	.kr-program-card__content p {
		-webkit-line-clamp: 3;
	}
}

@media (max-width: 680px) {
	.kr-program-season-shell {
		width: min(calc(100% - 24px), 970px);
	}

	.kr-program-season-page {
		gap: 22px;
		padding-block: 18px 34px;
	}

	.kr-program-season-hero {
		padding: 22px 20px;
	}

	.kr-program-seasons__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.kr-program-season-card {
		min-height: 126px;
		padding: 20px;
	}

	.kr-program-card__link {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		padding: 8px 8px 12px;
	}

	.kr-program-card__media {
		width: min(100%, 390px);
		margin-inline: auto;
	}

	.kr-program-card__content {
		gap: 11px;
	}

	.kr-program-card__content h2 {
		font-size: clamp(1.8rem, 9vw, 2.65rem);
		line-height: 0.98;
	}

	.kr-program-card__content p {
		font-size: 0.9rem;
		line-height: 1.55;
		-webkit-line-clamp: 4;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-program-card,
	.kr-program-card__media,
	.kr-program-card__image,
	.kr-program-card__cta svg {
		transition: none;
	}

	.kr-program-season-card,
	.kr-program-season-card__arrow svg {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Individual Ohjelma page and episode players
   -------------------------------------------------------------------------- */

.kr-single-program-page .ast-single-post-featured-section,
.kr-single-program-page .ast-article-single .entry-header,
.kr-single-program-page .post-navigation {
	display: none !important;
}

.kr-single-program-page .ast-article-single {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.kr-single-program-page .ast-article-single .entry-content {
	margin: 0;
}

.kr-program-detail {
	display: grid;
	gap: clamp(34px, 5vw, 58px);
	width: 100%;
}

.kr-program-detail__intro {
	display: grid;
	grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(26px, 5vw, 58px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.kr-program-detail__cover {
	position: relative;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: clamp(18px, 2.5vw, 26px);
	background: rgba(255, 255, 255, 0.055);
	box-shadow:
		0 24px 58px rgba(0, 0, 0, 0.36),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.kr-program-detail__cover-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.kr-program-detail__cover--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 24% 18%, rgba(217, 26, 51, 0.56), transparent 42%),
		radial-gradient(circle at 82% 80%, rgba(27, 63, 154, 0.52), transparent 48%),
		linear-gradient(145deg, #15161d, #090a0e);
}

.kr-program-detail__cover--fallback > span {
	display: inline-flex;
	width: 86px;
	height: 86px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.8);
	background: rgba(255, 255, 255, 0.075);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.kr-program-detail__cover--fallback svg {
	width: 40px;
	height: 40px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.kr-program-detail__copy {
	display: grid;
	align-content: center;
	gap: 13px;
	min-width: 0;
}

.kr-program-detail__eyebrow,
.kr-program-episodes__header > div > span {
	color: #ff5368;
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.095em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-program-detail__copy h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(2.4rem, 6vw, 5.2rem);
	font-weight: 920;
	letter-spacing: -0.06em;
	line-height: 0.95;
}

.kr-program-detail__description {
	max-width: 680px;
	color: var(--kr-muted);
	font-size: clamp(0.9rem, 1.5vw, 1.03rem);
	line-height: 1.7;
}

.kr-program-detail__description > :first-child,
.kr-episode-player__description > :first-child {
	margin-top: 0;
}

.kr-program-detail__description > :last-child,
.kr-episode-player__description > :last-child {
	margin-bottom: 0;
}

.kr-program-episodes {
	display: grid;
	gap: 18px;
}

.kr-program-episodes__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.085);
}

.kr-program-episodes__header > div {
	display: grid;
	gap: 5px;
}

.kr-program-episodes__header h2 {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1;
}

.kr-program-episodes__header > strong {
	display: inline-flex;
	min-width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--kr-glass-border);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.7);
	background: var(--kr-glass);
	font-size: 0.75rem;
	font-weight: 800;
}

.kr-program-episodes__empty {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius);
	color: var(--kr-muted);
	background: var(--kr-glass);
}

.kr-program-episodes__list {
	display: grid;
	gap: 9px;
}

.kr-episode-player {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
	grid-template-areas:
		"header controls"
		"description controls";
	align-items: center;
	column-gap: clamp(16px, 2.4vw, 28px);
	row-gap: 6px;
	overflow: hidden;
	padding: 13px 15px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.038);
	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.17),
		inset 0 1px 0 rgba(255, 255, 255, 0.028);
	-webkit-backdrop-filter: blur(18px) saturate(125%);
	backdrop-filter: blur(18px) saturate(125%);
	transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.kr-episode-player::before {
	position: absolute;
	top: 11px;
	bottom: 11px;
	left: 0;
	width: 2px;
	border-radius: 0 999px 999px 0;
	background: var(--kr-red);
	box-shadow: 0 0 14px rgba(217, 26, 51, 0.48);
	content: "";
	opacity: 0;
	transition: opacity 180ms ease;
}

.kr-episode-player.is-playing {
	border-color: rgba(217, 26, 51, 0.27);
	background: rgba(217, 26, 51, 0.052);
	box-shadow:
		0 14px 36px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.036);
}

.kr-episode-player.is-playing::before {
	opacity: 1;
}

.kr-episode-player__header {
	grid-area: header;
	min-width: 0;
}

.kr-episode-player__header h3 {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(0.92rem, 1.5vw, 1.08rem);
	font-weight: 830;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.kr-episode-player__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	color: var(--kr-muted);
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1.2;
}

.kr-episode-player__meta time {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 2px 7px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.032);
}

.kr-episode-player__description {
	grid-area: description;
	max-width: 680px;
	max-height: 2.9em;
	overflow: hidden;
	color: var(--kr-muted);
	font-size: 0.72rem;
	line-height: 1.45;
}

.kr-episode-player__controls {
	display: grid;
	grid-area: controls;
	grid-template-columns: 32px 42px 32px minmax(130px, 1fr);
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.kr-episode-player__skip,
.kr-episode-player__play {
	display: inline-flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: none;
	cursor: pointer;
	transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.kr-episode-player__skip {
	width: 32px;
	height: 32px;
}

.kr-episode-player__play {
	width: 42px;
	height: 42px;
	border-color: rgba(217, 26, 51, 0.38);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 8px 20px rgba(217, 26, 51, 0.2);
}

.kr-episode-player__skip:hover,
.kr-episode-player__skip:focus-visible,
.kr-episode-player__play:hover,
.kr-episode-player__play:focus-visible {
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
	transform: translateY(-1px);
}

.kr-episode-player__skip:focus-visible,
.kr-episode-player__play:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-episode-player__skip svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.kr-episode-player__skip svg text {
	fill: currentColor;
	stroke: none;
	font-family: inherit;
	font-size: 6px;
	font-weight: 800;
}

.kr-episode-player__play svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.kr-episode-player__play-icon {
	margin-left: 2px;
}

.kr-episode-player__play-icon path {
	fill: currentColor;
	stroke: none;
}

.kr-episode-player__pause-icon,
.kr-episode-player.is-playing .kr-episode-player__play-icon {
	display: none;
}

.kr-episode-player.is-playing .kr-episode-player__pause-icon {
	display: block;
}

.kr-episode-player__timeline {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 2px;
	min-width: 0;
}

.kr-episode-player__timeline input[type="range"] {
	--kr-progress: 0%;
	width: 100%;
	height: 18px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.kr-episode-player__timeline input[type="range"]::-webkit-slider-runnable-track {
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--kr-red) var(--kr-progress), rgba(255, 255, 255, 0.13) var(--kr-progress));
}

.kr-episode-player__timeline input[type="range"]::-webkit-slider-thumb {
	width: 12px;
	height: 12px;
	margin-top: -4.5px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
	-webkit-appearance: none;
	appearance: none;
}

.kr-episode-player__timeline input[type="range"]::-moz-range-track {
	height: 3px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
}

.kr-episode-player__timeline input[type="range"]::-moz-range-progress {
	height: 3px;
	border-radius: 999px;
	background: var(--kr-red);
}

.kr-episode-player__timeline input[type="range"]::-moz-range-thumb {
	width: 9px;
	height: 9px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.kr-episode-player__timeline input[type="range"]:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-episode-player__timeline > span {
	min-width: 0;
	color: var(--kr-muted);
	font-size: 0.59rem;
	font-variant-numeric: tabular-nums;
	font-weight: 650;
	text-align: right;
	white-space: nowrap;
}

.kr-episode-player [data-kr-audio] {
	display: none;
}

.kr-episode-player noscript audio {
	display: block;
	width: 100%;
}

#jaksot,
.kr-episode-player[id^="jakso-"] {
	scroll-margin-top: 110px;
}

.kr-program-pagination {
	position: relative;
	display: flex;
	justify-content: center;
	padding-top: 3px;
}

.kr-program-pagination__status {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
}

.kr-program-pagination > .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kr-program-pagination > .page-numbers li {
	margin: 0;
	padding: 0;
}

.kr-program-pagination a.page-numbers,
.kr-program-pagination span.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 6px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.045);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.kr-program-pagination a.prev.page-numbers,
.kr-program-pagination a.next.page-numbers {
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 50%;
	font-size: 1.15rem;
}

.kr-program-pagination a.page-numbers:hover,
.kr-program-pagination a.page-numbers:focus-visible {
	border-color: var(--kr-glass-border-strong);
	color: #fff;
	background: rgba(217, 26, 51, 0.16);
	transform: translateY(-1px);
}

.kr-program-pagination a.page-numbers:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 2px;
}

.kr-program-pagination span.page-numbers.current {
	border-color: var(--kr-red);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 8px 22px rgba(217, 26, 51, 0.2);
}

.kr-program-pagination span.page-numbers.dots {
	min-width: 22px;
	padding: 0 3px;
	border-color: transparent;
	background: transparent;
}

@media (max-width: 1000px) {
	.kr-episode-player {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"header"
			"description"
			"controls";
		gap: 8px;
	}
}

@media (max-width: 760px) {
	.kr-program-detail__intro {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.kr-program-detail__cover {
		width: min(100%, 360px);
	}

	.kr-program-detail__copy {
		justify-items: center;
	}

	.kr-program-detail__copy h1 {
		font-size: clamp(2.35rem, 12vw, 4rem);
	}

	.kr-episode-player__controls {
		grid-template-columns: 32px 42px 32px;
		justify-content: start;
	}

	.kr-episode-player__timeline {
		grid-column: 1 / -1;
		width: 100%;
	}
}

@media (max-width: 430px) {
	.kr-program-detail__intro {
		padding: 0;
	}

	.kr-episode-player {
		padding: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-episode-player,
	.kr-episode-player::before,
	.kr-episode-player__skip,
	.kr-episode-player__play {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Coordinated Ohjelma player and episode list
   -------------------------------------------------------------------------- */

.kr-program-detail__intro {
	grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
	align-items: start;
	background: transparent;
}

.kr-program-detail__cover {
	isolation: isolate;
}

.kr-program-detail__cover::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent 48%, rgba(5, 6, 9, 0.28));
	content: "";
	pointer-events: none;
}

.kr-program-detail__copy {
	gap: 10px;
}

.kr-program-detail__copy h1 {
	font-size: clamp(2.25rem, 5vw, 4.35rem);
}

.kr-program-detail__description {
	font-size: clamp(0.82rem, 1.25vw, 0.96rem);
	line-height: 1.6;
}

.kr-program-featured-player {
	display: grid;
	grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
	align-items: start;
	align-content: center;
	column-gap: clamp(18px, 3vw, 30px);
	row-gap: 13px;
	margin-top: 6px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.kr-program-featured-player > .kr-program-detail__cover {
	grid-column: 1;
	grid-row: 1 / span 4;
	width: 100%;
	margin: 0;
}

.kr-program-featured-player__heading {
	display: grid;
	grid-column: 2;
	justify-items: center;
	gap: 3px;
	text-align: center;
}

.kr-program-featured-player__heading > span {
	color: #ff5368;
	font-size: 0.59rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-program-featured-player__heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.05rem, 2vw, 1.42rem);
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.kr-program-featured-player__heading time {
	color: var(--kr-muted);
	font-size: 0.67rem;
	font-weight: 650;
}

.kr-program-featured-player__description {
	grid-column: 2;
	max-height: 3em;
	overflow: hidden;
	color: var(--kr-muted);
	font-size: 0.74rem;
	line-height: 1.5;
	text-align: center;
}

.kr-program-featured-player__description > :first-child,
.kr-program-featured-player__description > :last-child {
	margin: 0;
}

.kr-program-featured-player__timeline {
	display: grid;
	grid-column: 2;
	width: 100%;
	gap: 3px;
}

.kr-program-featured-player__timeline input[type="range"] {
	--kr-progress: 0%;
	width: 100%;
	height: 20px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.kr-program-featured-player__timeline input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--kr-red) var(--kr-progress), rgba(255, 255, 255, 0.14) var(--kr-progress));
}

.kr-program-featured-player__timeline input[type="range"]::-webkit-slider-thumb {
	width: 14px;
	height: 14px;
	margin-top: -5px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--kr-red);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.34);
	-webkit-appearance: none;
	appearance: none;
}

.kr-program-featured-player__timeline input[type="range"]::-moz-range-track {
	height: 4px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.kr-program-featured-player__timeline input[type="range"]::-moz-range-progress {
	height: 4px;
	border-radius: 999px;
	background: var(--kr-red);
}

.kr-program-featured-player__timeline input[type="range"]::-moz-range-thumb {
	width: 11px;
	height: 11px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--kr-red);
}

.kr-program-featured-player__timeline input[type="range"]:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-program-featured-player__timeline > div {
	display: flex;
	justify-content: space-between;
	color: var(--kr-muted);
	font-size: 0.62rem;
	font-variant-numeric: tabular-nums;
	font-weight: 650;
}

.kr-program-featured-player__controls {
	display: flex;
	grid-column: 2;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.kr-program-featured-player__skip,
.kr-program-featured-player__play {
	display: inline-flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.82);
	box-shadow: none;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.kr-program-featured-player__skip {
	width: 43px;
	height: 43px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(255, 255, 255, 0.05);
}

.kr-program-featured-player__play {
	width: 58px;
	height: 58px;
	border: 1px solid rgba(255, 255, 255, 0.19);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 12px 30px rgba(217, 26, 51, 0.24);
}

.kr-program-featured-player__skip:hover,
.kr-program-featured-player__skip:focus-visible,
.kr-program-featured-player__play:hover,
.kr-program-featured-player__play:focus-visible {
	border-color: rgba(255, 255, 255, 0.3);
	transform: translateY(-1px);
}

.kr-program-featured-player__skip:focus-visible,
.kr-program-featured-player__play:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: 3px;
}

.kr-program-featured-player__skip svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.kr-program-featured-player__skip text {
	fill: currentColor;
	stroke: none;
	font-family: inherit;
	font-size: 6px;
	font-weight: 800;
}

.kr-program-featured-player__play svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.1;
}

.kr-program-featured-player__play-icon {
	margin-left: 2px;
}

.kr-program-featured-player__play-icon path {
	fill: currentColor;
	stroke: none;
}

.kr-program-featured-player__pause-icon,
.kr-program-detail.is-playing .kr-program-featured-player__play-icon {
	display: none;
}

.kr-program-detail.is-playing .kr-program-featured-player__pause-icon {
	display: block;
}

.kr-program-featured-player [data-kr-main-audio] {
	display: none;
}

.kr-program-episodes__list {
	gap: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kr-program-episode-row {
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	transition: background-color 160ms ease;
}

.kr-program-episode-row::before {
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 0;
	width: 2px;
	border-radius: 999px;
	background: var(--kr-red);
	content: "";
	opacity: 0;
	transition: opacity 160ms ease;
}

.kr-program-episode-row.is-active {
	background: transparent;
}

.kr-program-episode-row.is-active::before {
	opacity: 0;
}

.kr-program-episode-row__select {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) 42px;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 13px 12px;
	border: 0;
	border-radius: 0;
	color: inherit;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	text-align: left;
}

.kr-program-episode-row__select:hover,
.kr-program-episode-row__select:focus-visible {
	color: inherit;
	background: rgba(255, 255, 255, 0.035);
}

.kr-program-episode-row__select:focus:not(:focus-visible) {
	color: inherit;
	background: transparent;
}

.kr-program-episode-row__select:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: -2px;
}

.kr-program-episode-row__media {
	position: relative;
	display: flex;
	width: 76px;
	height: 76px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
}

.kr-program-episode-row__media--fallback {
	background:
		radial-gradient(circle at 26% 20%, rgba(217, 26, 51, 0.4), transparent 44%),
		linear-gradient(145deg, #171820, #090a0e);
}

.kr-program-episode-row__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kr-program-episode-row__fallback {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: rgba(255, 255, 255, 0.72);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

.kr-program-episode-row__media-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	color: #fff;
	background: rgba(217, 26, 51, 0.88);
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity 160ms ease;
}

.kr-program-episode-row.is-active .kr-program-episode-row__media-play {
	opacity: 0;
}

.kr-program-episode-row__copy {
	display: grid;
	min-width: 0;
	gap: 5px;
}

.kr-program-episode-row__copy > strong {
	min-width: 0;
	overflow: hidden;
	color: var(--kr-foreground);
	font-size: clamp(0.9rem, 1.5vw, 1.08rem);
	font-weight: 820;
	letter-spacing: -0.018em;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-program-episode-row__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	color: var(--kr-muted);
	font-size: 0.68rem;
	font-weight: 630;
	line-height: 1.2;
}

.kr-program-episode-row__action {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.045);
	transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.kr-program-episode-row__action svg,
.kr-program-episode-row__media-play svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.kr-program-episode-row__play-icon {
	margin-left: 2px;
}

.kr-program-episode-row__play-icon path {
	fill: currentColor;
	stroke: none;
}

.kr-program-episode-row__pause-icon,
.kr-program-episode-row.is-playing .kr-program-episode-row__play-icon {
	display: none;
}

.kr-program-episode-row.is-playing .kr-program-episode-row__pause-icon {
	display: block;
}

.kr-program-episode-row.is-active .kr-program-episode-row__action {
	border-color: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.045);
}

.kr-program-episode-row.is-playing .kr-program-episode-row__action {
	border-color: rgba(217, 26, 51, 0.72);
	color: #fff;
	background: var(--kr-red);
	box-shadow: 0 8px 20px rgba(217, 26, 51, 0.24);
}

.kr-program-episode-row__select:hover .kr-program-episode-row__action,
.kr-program-episode-row__select:focus-visible .kr-program-episode-row__action {
	border-color: rgba(255, 255, 255, 0.26);
	color: #fff;
}

.kr-program-episode-row template {
	display: none;
}

@media (max-width: 760px) {
	.kr-program-detail__intro {
		grid-template-columns: 1fr;
		justify-items: center;
		padding: 0;
		text-align: center;
	}

	.kr-program-detail__copy {
		width: 100%;
		justify-items: center;
	}

	.kr-program-detail__description,
	.kr-program-featured-player {
		width: 100%;
	}

	.kr-program-featured-player__heading,
	.kr-program-featured-player__description {
		text-align: center;
	}

	.kr-program-featured-player__controls {
		justify-content: center;
	}

	.kr-program-episode-row__select {
		grid-template-columns: 64px minmax(0, 1fr) 38px;
		gap: 11px;
		padding: 11px 5px;
	}

	.kr-program-episode-row__media {
		width: 64px;
		height: 64px;
		border-radius: 12px;
	}

	.kr-program-episode-row__action {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 430px) {
	.kr-program-detail__copy h1 {
		font-size: clamp(2rem, 11vw, 3rem);
	}

	.kr-program-featured-player__skip {
		width: 40px;
		height: 40px;
	}

	.kr-program-featured-player__play {
		width: 54px;
		height: 54px;
	}

	.kr-program-episode-row__copy > strong {
		font-size: 0.86rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-program-featured-player__skip,
	.kr-program-featured-player__play,
	.kr-program-episode-row,
	.kr-program-episode-row::before,
	.kr-program-episode-row__media-play,
	.kr-program-episode-row__action {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Two-thirds / one-third Ohjelma detail layout
   -------------------------------------------------------------------------- */

.kr-program-detail__layout {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(0, 300px);
	align-items: start;
	justify-content: center;
	gap: 30px;
	width: min(100%, 970px);
	margin-inline: auto;
	min-width: 0;
}

.kr-program-detail__main {
	display: grid;
	align-content: start;
	gap: clamp(26px, 4vw, 44px);
	min-width: 0;
}

.kr-program-detail__intro {
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: clamp(22px, 3vw, 34px);
}

.kr-program-detail__cover {
	width: min(100%, 330px);
	margin-inline: auto;
}

.kr-program-detail__copy {
	width: 100%;
	max-width: 780px;
}

.kr-program-featured-player > .kr-program-detail__cover {
	margin-bottom: 5px;
}

.kr-program-detail__cover--without-player {
	margin-top: 12px;
}

.kr-program-episodes {
	min-width: 0;
	padding-left: 0;
	border-left: 0;
}

.kr-program-episodes.is-loading .kr-program-episodes__list,
.kr-program-episodes.is-loading .kr-program-pagination {
	opacity: 0.42;
	pointer-events: none;
}

.kr-program-episodes.is-loading::after {
	display: block;
	width: 24px;
	height: 24px;
	margin: 4px auto 0;
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-top-color: var(--kr-red);
	border-radius: 50%;
	content: "";
	animation: kr-player-spin 700ms linear infinite;
}

.kr-program-episodes__list.is-ajax-entering .kr-program-episode-row {
	animation: kr-match-page-enter 260ms ease both;
}

.kr-program-episodes__header {
	padding-bottom: 12px;
}

.kr-program-episodes__header h2 {
	font-size: clamp(1.55rem, 2.8vw, 2.15rem);
}

.kr-program-episode-row__select {
	grid-template-columns: 50px minmax(0, 1fr) 34px;
	gap: 9px;
	padding: 10px 2px;
}

.kr-program-episode-row__media {
	width: 50px;
	height: 50px;
	border-radius: 10px;
}

.kr-program-episode-row__media-play {
	width: 25px;
	height: 25px;
}

.kr-program-episode-row__copy {
	gap: 3px;
}

.kr-program-episode-row__copy > strong {
	font-size: clamp(0.75rem, 1.05vw, 0.88rem);
	line-height: 1.25;
}

.kr-program-episode-row__meta {
	font-size: 0.6rem;
}

.kr-program-episode-row__action {
	width: 34px;
	height: 34px;
}

.kr-program-episode-row__action svg,
.kr-program-episode-row__media-play svg {
	width: 15px;
	height: 15px;
}

@media (max-width: 1000px) {
	.kr-program-detail__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(38px, 7vw, 60px);
	}

	.kr-program-episodes {
		padding-top: clamp(24px, 4vw, 34px);
		padding-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-left: 0;
	}

	.kr-program-episode-row__select {
		grid-template-columns: 64px minmax(0, 1fr) 38px;
		gap: 11px;
		padding: 11px 5px;
	}

	.kr-program-episode-row__media {
		width: 64px;
		height: 64px;
		border-radius: 12px;
	}

	.kr-program-episode-row__copy > strong {
		font-size: 0.9rem;
	}

	.kr-program-episode-row__action {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 760px) {
	.kr-program-detail__cover {
		width: min(100%, 250px);
	}

	.kr-program-detail__copy {
		display: grid;
		max-width: none;
	}

	.kr-program-detail__eyebrow {
		order: 1;
	}

	.kr-program-detail__copy > h1 {
		order: 2;
	}

	.kr-program-featured-player {
		grid-template-columns: minmax(0, 1fr);
		order: 3;
		margin-top: 0;
		padding-top: 0;
		padding-bottom: clamp(18px, 5vw, 26px);
		border-top: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.kr-program-detail__description {
		order: 4;
	}

	.kr-program-detail__cover--without-player {
		order: 3;
		margin-top: 0;
		margin-bottom: clamp(10px, 3vw, 18px);
	}

	.kr-program-featured-player > .kr-program-detail__cover {
		grid-column: 1;
		grid-row: auto;
		width: min(100%, 250px);
		margin: 0 auto 5px;
	}

	.kr-program-featured-player__heading,
	.kr-program-featured-player__description,
	.kr-program-featured-player__timeline,
	.kr-program-featured-player__controls {
		grid-column: 1;
	}

	.kr-program-featured-player__heading {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Author and publication details inside ordinary posts
   -------------------------------------------------------------------------- */

@media (min-width: 1001px) {
	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) {
		display: grid;
		grid-template-columns: minmax(0, 640px) minmax(0, 300px);
		align-items: start;
		justify-content: center;
		gap: 30px;
		width: min(100%, 970px);
		margin-top: 30px;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.kr-content-top-banner {
		grid-column: 1 / -1;
	}

	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) > #primary,
	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) > #secondary {
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
	}
}

@media (max-width: 1000px) {
	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) {
		display: flex !important;
		flex-direction: column;
		gap: clamp(28px, 5vw, 44px);
		width: 100%;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) > .kr-content-top-banner {
		order: -1;
	}

	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) > #primary,
	body.ast-right-sidebar .site-content > .ast-container:has(> #primary + #secondary) > #secondary {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
	}
}

.kr-banner-position {
	display: grid;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.kr-content-top-banner {
	width: min(100%, 970px);
	margin: 0 auto 2px;
}

/*
 * Astra lays no-sidebar pages out as a horizontal flex row. The banner hook is
 * a sibling of #primary, so force programme and match screens onto one outer
 * vertical track: spanning banner first, complete custom layout second.
 */
body.kr-single-match-page #content.site-content > .ast-container,
body.kr-single-program-page #content.site-content > .ast-container,
body.kr-matches-page #content.site-content > .ast-container,
body.kr-programs-page #content.site-content > .ast-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	align-items: start;
	gap: clamp(22px, 3vw, 34px);
	width: min(100%, 970px);
	max-width: 970px;
	margin-inline: auto;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.kr-single-match-page #content.site-content > .ast-container > .kr-content-top-banner,
body.kr-single-program-page #content.site-content > .ast-container > .kr-content-top-banner,
body.kr-matches-page #content.site-content > .ast-container > .kr-content-top-banner,
body.kr-programs-page #content.site-content > .ast-container > .kr-content-top-banner {
	grid-column: 1;
	grid-row: 1;
	order: -1;
	width: 100%;
}

body.kr-single-match-page #content.site-content > .ast-container > #primary,
body.kr-single-program-page #content.site-content > .ast-container > #primary,
body.kr-matches-page #content.site-content > .ast-container > #primary,
body.kr-programs-page #content.site-content > .ast-container > #primary {
	grid-column: 1;
	grid-row: 2;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.kr-single-post-content-banner {
	margin-block: clamp(24px, 4vw, 38px);
}

.kr-content-end-banner {
	width: 100%;
	margin-top: clamp(26px, 4vw, 42px);
}

body.single-post #primary .site-main > article.type-post.ast-article-single {
	box-sizing: border-box;
	width: 100%;
	max-width: 640px;
	padding-right: clamp(18px, 3vw, 28px) !important;
	padding-left: clamp(18px, 3vw, 28px) !important;
}

@media (max-width: 1000px) {
	body.single-post #primary .site-main > article.type-post.ast-article-single {
		max-width: none;
	}
}

body.single-post #primary .site-main > article.type-post .entry-header .entry-meta,
body.single-post #primary .site-main > .ast-author-meta,
body.single-post #primary .site-main > .ast-single-author-box {
	display: none !important;
}

body.single-post #primary .site-main > article.type-post > .entry-header {
	margin-bottom: 0 !important;
}

body.single-post #primary .site-main > article.type-post > .entry-header .entry-title {
	margin-bottom: clamp(20px, 3vw, 28px);
}

body.single-post #primary .site-main > article.type-post > .entry-content {
	margin-top: 0 !important;
}

.kr-commercial-disclosure {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 18px;
	padding: 14px 18px;
	border: 1px solid rgba(236, 183, 66, 0.35);
	border-radius: 14px;
	background: linear-gradient(110deg, rgba(98, 60, 13, 0.26), rgba(255, 255, 255, 0.025));
	box-shadow: inset 0 1px 0 rgba(255, 232, 177, 0.06);
}

.kr-commercial-disclosure span {
	color: #f4cf77;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.095em;
	text-transform: uppercase;
}

.kr-commercial-disclosure strong {
	color: #fff;
	font-size: clamp(1rem, 2vw, 1.2rem);
	text-align: right;
}

@media (max-width: 544px) {
	.kr-commercial-disclosure {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		padding: 12px 14px;
	}

	.kr-commercial-disclosure strong {
		text-align: left;
	}
}

body.single-post article.kr-commercial-post--advertisement.ast-article-single {
	border-color: rgba(236, 183, 66, 0.3) !important;
	background:
		linear-gradient(145deg, rgba(91, 55, 12, 0.16), rgba(18, 19, 25, 0.2) 42%, rgba(70, 23, 35, 0.18)),
		var(--kr-glass) !important;
}

.kr-post-featured {
	position: relative;
	width: 100%;
	margin: 0 0 clamp(18px, 3vw, 26px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	background: rgba(11, 12, 18, 0.68);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.kr-post-featured__image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	margin: 0 !important;
	border-radius: 0 !important;
	object-fit: cover;
	object-position: center;
}

.kr-post-details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr);
	grid-template-areas:
		"author categories"
		"author tags";
	align-items: center;
	gap: 11px clamp(22px, 4vw, 48px);
	margin: 0 0 clamp(24px, 4vw, 36px);
	padding: 0 0 20px;
	border-top: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.kr-post-details__terms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	min-width: 0;
}

.kr-post-details__terms--categories {
	grid-area: categories;
}

.kr-post-details__terms--tags {
	grid-area: tags;
}

.kr-post-details__term {
	display: inline-flex;
	min-height: 25px;
	align-items: center;
	padding: 4px 9px;
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.68) !important;
	background: rgba(255, 255, 255, 0.045);
	font-size: 0.66rem;
	font-weight: 750;
	letter-spacing: 0.025em;
	line-height: 1;
	text-decoration: none !important;
	transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.kr-post-details__term--category {
	border-color: rgba(217, 26, 51, 0.32);
	color: #fff !important;
	background: rgba(217, 26, 51, 0.16);
}

.kr-post-details__term:hover,
.kr-post-details__term:focus-visible {
	border-color: rgba(217, 26, 51, 0.68);
	color: #fff !important;
	background: rgba(217, 26, 51, 0.22);
}

.kr-post-details__author {
	display: inline-flex;
	grid-area: author;
	width: fit-content;
	align-items: center;
	gap: 11px;
	color: #fff !important;
	text-decoration: none !important;
}

.kr-post-details__avatar-wrap {
	display: block;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	padding: 2px;
	border: 1px solid rgba(217, 26, 51, 0.58);
	border-radius: 50%;
	background: rgba(217, 26, 51, 0.12);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28), 0 0 20px rgba(217, 26, 51, 0.1);
	overflow: hidden;
}

.kr-post-details__avatar,
.kr-post-details__avatar-wrap img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border-radius: 50%;
	object-fit: cover;
}

.kr-post-details__author-copy {
	display: grid;
	gap: 1px;
}

.kr-post-details__author-copy strong {
	color: #fff;
	font-size: 0.86rem;
	font-weight: 800;
	line-height: 1.2;
}

.kr-post-details__author:hover strong,
.kr-post-details__author:focus-visible strong {
	color: var(--kr-red, #ef233c);
}

.kr-post-details__author:focus-visible {
	border-radius: 999px;
	outline: 2px solid var(--kr-red, #ef233c);
	outline-offset: 4px;
}

.kr-post-details__date {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.7rem;
	font-weight: 650;
	line-height: 1.3;
}

@media (max-width: 640px) {
	.kr-post-featured {
		margin-bottom: 17px;
		border-radius: 14px;
	}

	.kr-post-featured__image {
		width: 100%;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.kr-post-details {
		grid-template-columns: minmax(112px, 0.9fr) minmax(0, 1.1fr);
		grid-template-areas:
			"author categories"
			"author tags";
		align-items: start;
		gap: 8px 12px;
		padding-bottom: 17px;
	}

	.kr-post-details__terms {
		justify-content: flex-end;
	}

	.kr-post-details__author {
		align-self: start;
	}

	.kr-post-details__term {
		min-height: 23px;
		padding: 4px 8px;
		font-size: 0.62rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-post-details__term {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Native audio players inside ordinary articles
   -------------------------------------------------------------------------- */

.kr-article-audio {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 40px;
	align-items: center;
	gap: 12px;
	margin: 11px 0;
	padding: 12px 13px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.035), transparent 58%),
		rgba(12, 13, 18, 0.72);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.kr-article-audio__copy {
	display: grid;
	gap: 2px;
	min-width: 0;
	margin: 0;
}

.kr-article-audio__copy > span {
	color: var(--kr-red, #ef233c);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-article-audio__copy > strong {
	display: block;
	overflow: hidden;
	color: #fff;
	font-size: clamp(0.82rem, 1.25vw, 0.94rem);
	font-weight: 800;
	line-height: 1.22;
	text-overflow: ellipsis;
	overflow-wrap: anywhere;
}

.kr-article-audio__copy > small {
	display: -webkit-box;
	overflow: hidden;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.7rem;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* Embedded article audio uses one clear circular play/pause control. */
.kr-article-audio > button.kr-article-audio__player {
	justify-self: end;
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0;
	gap: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
}

.kr-article-audio > button.kr-article-audio__player > span {
	flex-basis: 40px;
	width: 40px;
	height: 40px;
}

.kr-article-audio > button.kr-article-audio__player strong {
	display: none;
}

.kr-article-audio > button.kr-article-audio__player:hover,
.kr-article-audio > button.kr-article-audio__player:focus-visible,
.kr-article-audio > button.kr-article-audio__player.is-active {
	border: 0;
	background: transparent;
}

.kr-article-audio > button.kr-article-audio__player:hover > span,
.kr-article-audio > button.kr-article-audio__player:focus-visible > span,
.kr-article-audio > button.kr-article-audio__player.is-active > span {
	background: #ef233c;
	box-shadow: 0 7px 22px rgba(217, 26, 51, 0.38);
}

@media (max-width: 560px) {
	.kr-article-audio {
		grid-template-columns: minmax(0, 1fr) 40px;
		gap: 10px;
		padding: 12px;
	}

	.kr-article-audio > button.kr-article-audio__player {
		width: 40px;
		min-width: 40px;
		height: 40px;
	}
}

/* --------------------------------------------------------------------------
   Advertiser-page shortcode

   [kiakkoradio_mainostajalle]
   -------------------------------------------------------------------------- */

.ast-article-single:has(.kr-advertiser-page) {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.ast-article-single:has(.kr-advertiser-page) > .entry-header {
	display: none;
}

.ast-article-single:has(.kr-advertiser-page) .entry-content {
	margin: 0;
}

.kr-advertiser-page {
	display: grid;
	gap: clamp(30px, 4vw, 48px);
	width: min(100%, 1180px);
	margin-inline: auto;
	padding-block: clamp(14px, 2vw, 26px) clamp(38px, 5vw, 68px);
}

.kr-advertiser-page h1,
.kr-advertiser-page h2,
.kr-advertiser-page h3,
.kr-advertiser-page p {
	margin-top: 0;
}

.kr-advertiser-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
	min-height: clamp(320px, 35vw, 410px);
	align-items: center;
	padding: clamp(28px, 4.8vw, 58px);
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: clamp(22px, 3vw, 32px);
	background:
		radial-gradient(circle at 82% 34%, rgba(217, 26, 51, 0.24), transparent 34%),
		radial-gradient(circle at 94% 88%, rgba(27, 63, 154, 0.25), transparent 42%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.028));
	box-shadow:
		0 30px 82px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.07);
	overflow: hidden;
	isolation: isolate;
	-webkit-backdrop-filter: blur(30px) saturate(145%);
	backdrop-filter: blur(30px) saturate(145%);
}

.kr-advertiser-hero::before {
	position: absolute;
	z-index: -1;
	top: -58%;
	right: -12%;
	width: 460px;
	height: 460px;
	border: 1px solid rgba(255, 255, 255, 0.075);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.02);
	content: "";
}

.kr-advertiser-hero__copy {
	position: relative;
	z-index: 2;
	max-width: 760px;
}

.kr-advertiser-hero h1 {
	margin: 9px 0 15px;
	color: #fff;
	font-size: clamp(2.8rem, 6.6vw, 5.35rem);
	font-weight: 900;
	letter-spacing: -0.065em;
	line-height: 0.94;
}

.kr-advertiser-hero__copy > p {
	max-width: 670px;
	margin-bottom: 22px;
	color: rgba(255, 255, 255, 0.7);
	font-size: clamp(0.98rem, 1.7vw, 1.16rem);
	line-height: 1.6;
}

.kr-advertiser-hero__actions,
.kr-advertiser-story__links {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.kr-advertiser-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 999px;
	color: #fff !important;
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: transform 170ms ease, border-color 170ms ease, background-color 170ms ease;
}

.kr-advertiser-button--primary {
	border-color: rgba(217, 26, 51, 0.52);
	background: var(--kr-red);
	box-shadow: 0 12px 28px rgba(217, 26, 51, 0.22);
}

.kr-advertiser-button:hover,
.kr-advertiser-button:focus-visible {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.12);
	transform: translateY(-2px);
}

.kr-advertiser-button--primary:hover,
.kr-advertiser-button--primary:focus-visible {
	border-color: #f24a60;
	background: #ed2941;
}

.kr-advertiser-button svg,
.kr-advertiser-story__links svg,
.kr-advertiser-media-card__arrow svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.kr-advertiser-hero__brand {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kr-advertiser-hero__brand img {
	position: relative;
	display: block;
	width: min(19vw, 220px);
	height: auto;
	filter: drop-shadow(0 20px 28px rgba(0, 0, 0, 0.44));
}

.kr-advertiser-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
}

.kr-advertiser-stats article {
	display: grid;
	gap: 3px;
	margin: 0;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	box-shadow:
		0 18px 46px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
}

.kr-advertiser-stats strong {
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 3rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 1;
}

.kr-advertiser-stats span {
	color: var(--kr-muted);
	font-size: 0.74rem;
	font-weight: 650;
	line-height: 1.35;
}

.kr-advertiser-story {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
	gap: 12px;
}

.kr-advertiser-story__copy,
.kr-advertiser-story__services,
.kr-advertiser-media,
.kr-advertiser-sales {
	border: 1px solid var(--kr-glass-border);
	border-radius: var(--kr-radius-large);
	background: var(--kr-glass);
	box-shadow:
		0 20px 54px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
	-webkit-backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
	backdrop-filter: blur(var(--kr-glass-blur)) saturate(135%);
}

.kr-advertiser-story__copy {
	padding: clamp(26px, 4.3vw, 48px);
}

.kr-advertiser-story__copy h2,
.kr-advertiser-section-heading h2,
.kr-advertiser-cta h2 {
	margin: 7px 0 16px;
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 2.8rem);
	font-weight: 900;
	letter-spacing: -0.05em;
	line-height: 1.04;
}

.kr-advertiser-story__copy p {
	margin-bottom: 11px;
	color: var(--kr-muted);
	font-size: 0.88rem;
	line-height: 1.7;
}

.kr-advertiser-story__copy p strong {
	color: var(--kr-foreground);
}

.kr-advertiser-story__links {
	margin-top: 19px;
}

.kr-advertiser-story__links a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #ff5368;
	font-size: 0.74rem;
	font-weight: 780;
	text-decoration: none !important;
}

.kr-advertiser-story__services {
	display: grid;
	align-content: center;
	padding: clamp(22px, 3.5vw, 34px);
}

.kr-advertiser-story__services > div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 11px;
	padding-block: 17px;
}

.kr-advertiser-story__services > div + div {
	border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.kr-advertiser-story__services > div > span {
	color: var(--kr-red);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.kr-advertiser-story__services p {
	margin: 0;
	color: var(--kr-muted);
	font-size: 0.76rem;
	line-height: 1.5;
}

.kr-advertiser-story__services strong {
	display: block;
	margin-bottom: 3px;
	color: #fff;
	font-size: 0.9rem;
}

.kr-advertiser-media,
.kr-advertiser-sales {
	display: grid;
	gap: 17px;
	padding: clamp(23px, 3.8vw, 40px);
	scroll-margin-top: 120px;
}

.kr-advertiser-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.075);
}

.kr-advertiser-section-heading h2 {
	margin: 0;
	text-align: left;
}

.kr-advertiser-section-heading p {
	max-width: 460px;
	margin: 0;
	color: var(--kr-muted);
	font-size: 0.76rem;
	line-height: 1.5;
	text-align: right;
}

.kr-advertiser-media__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.kr-advertiser-media-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 30px;
	align-items: center;
	gap: 13px;
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, 0.085);
	border-radius: 16px;
	color: inherit !important;
	background: rgba(255, 255, 255, 0.035);
	text-decoration: none !important;
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.kr-advertiser-media-card:hover,
.kr-advertiser-media-card:focus-visible {
	border-color: rgba(217, 26, 51, 0.38);
	background: rgba(217, 26, 51, 0.075);
	transform: translateY(-2px);
}

.kr-advertiser-media-card__icon {
	display: inline-flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(217, 26, 51, 0.25);
	border-radius: 14px;
	color: #ff5368;
	background: rgba(217, 26, 51, 0.1);
}

.kr-advertiser-media-card__icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.kr-advertiser-media-card__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.kr-advertiser-media-card__copy small {
	color: #ff5368;
	font-size: 0.6rem;
	font-weight: 820;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.kr-advertiser-media-card__copy strong {
	color: #fff;
	font-size: 0.96rem;
	font-weight: 840;
	line-height: 1.25;
}

.kr-advertiser-media-card__copy > span {
	color: var(--kr-muted);
	font-size: 0.69rem;
	line-height: 1.45;
}

.kr-advertiser-media-card__arrow {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.68);
}

.kr-advertiser-sales__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
}

.kr-advertiser-person {
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.085);
	border-radius: 17px;
	background: rgba(255, 255, 255, 0.032);
	overflow: hidden;
	transition: transform 190ms ease, border-color 190ms ease;
}

.kr-advertiser-person:hover {
	border-color: var(--kr-glass-border-strong);
	transform: translateY(-3px);
}

.kr-advertiser-person__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #0b0c10;
	overflow: hidden;
}

.kr-advertiser-person__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	filter: brightness(0.58) saturate(0.82) contrast(1.1);
	object-fit: cover;
	object-position: center;
	transition: filter 300ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Kimmo's square portrait needs a top-anchored crop inside the wide card. */
.kr-advertiser-person__media img[src*="KimmoHeinonen_mv"] {
	object-position: center top;
	transform-origin: center top;
}

.kr-advertiser-person__media > span {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, transparent 42%, rgba(8, 9, 13, 0.9) 100%),
		linear-gradient(115deg, rgba(217, 26, 51, 0.13), transparent 52%);
	pointer-events: none;
}

.kr-advertiser-person:hover .kr-advertiser-person__media img {
	filter: brightness(0.7) saturate(0.92) contrast(1.08);
	transform: scale(1.025);
}

.kr-advertiser-person__content {
	display: grid;
	gap: 6px;
	padding: 16px;
}

.kr-advertiser-person__content > span {
	color: #ff5368;
	font-size: 0.62rem;
	font-weight: 820;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.kr-advertiser-person__content h3 {
	margin: 0 0 5px;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.kr-advertiser-person__content a {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 7px;
	color: var(--kr-muted);
	font-size: 0.69rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
	text-decoration: none !important;
}

.kr-advertiser-person__content a:hover {
	color: #fff;
}

.kr-advertiser-person__content a svg {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	fill: none;
	stroke: #ff5368;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.kr-advertiser-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(25px, 4vw, 44px);
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: var(--kr-radius-large);
	background:
		radial-gradient(circle at 78% 45%, rgba(217, 26, 51, 0.2), transparent 36%),
		var(--kr-glass-strong);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.3);
	-webkit-backdrop-filter: blur(28px) saturate(140%);
	backdrop-filter: blur(28px) saturate(140%);
}

.kr-advertiser-cta h2 {
	margin: 7px 0 0;
}

@media (max-width: 920px) {
	.kr-advertiser-story {
		grid-template-columns: 1fr;
	}

	.kr-advertiser-sales__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.kr-advertiser-hero {
		grid-template-columns: 1fr;
		min-height: 370px;
		align-items: flex-end;
	}

	.kr-advertiser-hero__brand {
		position: absolute;
		top: 24px;
		right: 24px;
		opacity: 0.32;
	}

	.kr-advertiser-hero__brand img {
		width: 170px;
	}

	.kr-advertiser-stats,
	.kr-advertiser-media__grid {
		grid-template-columns: 1fr;
	}

	.kr-advertiser-section-heading,
	.kr-advertiser-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.kr-advertiser-section-heading p {
		max-width: none;
		text-align: left;
	}
}

@media (max-width: 520px) {
	.kr-advertiser-page {
		width: calc(100% + 12px);
		gap: 28px;
		margin-left: -6px;
	}

	.kr-advertiser-hero {
		min-height: 350px;
		padding: 23px 19px 26px;
		border-radius: 22px;
	}

	.kr-advertiser-hero h1 {
		font-size: clamp(2.65rem, 15vw, 3.8rem);
	}

	.kr-advertiser-hero__brand {
		top: 13px;
		right: 6px;
	}

	.kr-advertiser-hero__brand img {
		width: 138px;
	}

	.kr-advertiser-stats article,
	.kr-advertiser-story__copy,
	.kr-advertiser-story__services,
	.kr-advertiser-media,
	.kr-advertiser-sales,
	.kr-advertiser-cta {
		padding: 20px 18px;
	}

	.kr-advertiser-sales__grid {
		grid-template-columns: 1fr;
	}

	.kr-advertiser-media-card {
		grid-template-columns: 42px minmax(0, 1fr) 28px;
		gap: 10px;
		padding: 13px;
	}

	.kr-advertiser-media-card__icon {
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-advertiser-button,
	.kr-advertiser-media-card,
	.kr-advertiser-person,
	.kr-advertiser-person__media img {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Reusable participation forms and competitions

   [kiakkoradio_kilpailut count="10"]
   [kiakkoradio_osallistumislomake id="123"]
   -------------------------------------------------------------------------- */

/* Individual competitions use the page itself as their content surface. */
body.single-kilpailu .ast-article-single {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.kr-competition-entry-form {
	margin-top: clamp(30px, 5vw, 58px);
}

.kr-competition-card .kr-program-card__fallback-mark {
	font-size: 2.2rem;
	font-weight: 900;
}

.kr-participation-disclosure {
	--kr-participation-inline-padding: clamp(18px, 3vw, 26px);
	width: 100%;
	min-width: 0;
	margin: clamp(18px, 3vw, 30px) 0;
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: clamp(16px, 2vw, 22px);
	background:
		radial-gradient(circle at 0 50%, rgba(217, 26, 51, 0.13), transparent 42%),
		rgba(12, 13, 18, 0.78);
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22);
	overflow: hidden;
	box-sizing: border-box;
	-webkit-backdrop-filter: blur(20px) saturate(130%);
	backdrop-filter: blur(20px) saturate(130%);
}

.kr-participation-disclosure > summary {
	display: flex;
	min-height: 68px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 10px var(--kr-participation-inline-padding);
	color: var(--kr-foreground);
	background: transparent;
	cursor: pointer;
	list-style: none;
	transition: background-color 160ms ease, box-shadow 160ms ease;
}

.kr-participation-disclosure > summary::-webkit-details-marker {
	display: none;
}

.kr-participation-disclosure > summary:hover,
.kr-participation-disclosure > summary:focus-visible {
	background: rgba(255, 255, 255, 0.035);
	outline: none;
}

.kr-participation-disclosure > summary:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(255, 83, 104, 0.8);
}

.kr-participation-disclosure__title {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.kr-participation-disclosure__title small {
	color: var(--kr-red, #d91a33);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kr-participation-disclosure__title strong {
	overflow: hidden;
	color: var(--kr-foreground);
	font-size: clamp(1.2rem, 2.4vw, 1.55rem);
	font-weight: 850;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kr-participation-disclosure__action {
	display: inline-flex;
	min-height: 40px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 15px;
	border: 1px solid rgba(217, 26, 51, 0.55);
	border-radius: 999px;
	color: #fff;
	background: rgba(217, 26, 51, 0.14);
	font-size: 0.76rem;
	font-weight: 800;
}

.kr-participation-disclosure__action i {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 160ms ease;
}

.kr-participation-disclosure__close {
	display: none;
}

.kr-participation-disclosure[open] > summary {
	border-bottom: 0;
	background: rgba(217, 26, 51, 0.055);
}

.kr-participation-disclosure[open] .kr-participation-disclosure__open {
	display: none;
}

.kr-participation-disclosure[open] .kr-participation-disclosure__close {
	display: inline;
}

.kr-participation-disclosure[open] .kr-participation-disclosure__action i {
	transform: translateY(2px) rotate(225deg);
}

.kr-participation-disclosure__content {
	padding: 0;
}

.kr-participation-disclosure__content > .kr-participation {
	margin: 0;
	padding: clamp(4px, 1vw, 10px) var(--kr-participation-inline-padding) clamp(20px, 3vw, 32px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.kr-participation-disclosure__content > .kr-participation .kr-participation__header:empty {
	display: none;
}

@media (max-width: 600px) {
	.kr-participation-disclosure {
		--kr-participation-inline-padding: 15px;
	}

	.kr-participation-disclosure > summary {
		min-height: 62px;
		gap: 12px;
		padding: 9px var(--kr-participation-inline-padding);
	}

	.kr-participation-disclosure__action {
		width: 40px;
		height: 40px;
		min-height: 40px;
		padding: 0;
	}

	.kr-participation-disclosure__open,
	.kr-participation-disclosure__close {
		display: none !important;
	}
}

.kr-participation {
	position: relative;
	display: grid;
	gap: clamp(18px, 2.5vw, 26px);
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: clamp(18px, 3vw, 34px);
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: clamp(20px, 3vw, 28px);
	background:
		radial-gradient(circle at 0 0, rgba(217, 26, 51, 0.19), transparent 37%),
		radial-gradient(circle at 100% 100%, rgba(27, 63, 154, 0.16), transparent 42%),
		rgba(12, 13, 18, 0.85);
	box-shadow:
		0 26px 72px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.045);
	overflow: hidden;
	box-sizing: border-box;
	container-type: inline-size;
	-webkit-backdrop-filter: blur(24px) saturate(135%);
	backdrop-filter: blur(24px) saturate(135%);
}

.kr-participation *,
.kr-participation *::before,
.kr-participation *::after {
	box-sizing: border-box;
}

.kr-participation__header {
	display: grid;
	gap: 9px;
}

.kr-participation__header h2 {
	margin: 0;
	color: var(--kr-foreground);
	font-size: clamp(1.55rem, 3vw, 2.35rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.02;
}

.kr-participation__header > div,
.kr-participation__header p {
	max-width: 78ch;
	margin: 0;
	color: var(--kr-muted);
	font-size: 0.92rem;
	line-height: 1.65;
}

.kr-participation__form {
	position: relative;
	display: grid;
	gap: 20px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.kr-participation__form > *,
.kr-participation__header,
.kr-participation__answer,
.kr-participation__contacts,
.kr-participation__contacts label,
.kr-participation__consents,
.kr-participation__consents label,
.kr-participation__consents label > span {
	min-width: 0;
	max-width: 100%;
}

.kr-participation__website {
	display: none !important;
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.kr-participation .kr-participation__tabs {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.kr-participation .kr-participation__tabs > button {
	display: inline-flex !important;
	width: 100% !important;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 9px 14px;
	border: 1px solid rgba(217, 26, 51, 0.72) !important;
	border-radius: 11px;
	color: #fff !important;
	background: rgba(217, 26, 51, 0.58) !important;
	box-shadow: none !important;
	font-size: 0.82rem;
	font-weight: 820;
	transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.kr-participation .kr-participation__tabs > button:hover,
.kr-participation .kr-participation__tabs > button:focus-visible {
	color: #fff;
	background: #ec2842 !important;
	box-shadow: 0 10px 25px rgba(217, 26, 51, 0.25) !important;
}

.kr-participation .kr-participation__tabs > button.is-active {
	color: #fff;
	background: var(--kr-red, #d91a33) !important;
	box-shadow: 0 9px 24px rgba(217, 26, 51, 0.28) !important;
}

.kr-participation__tabs button:focus-visible,
.kr-participation__record-actions button:focus-visible,
.kr-participation__submit:focus-visible,
.kr-participation input:focus-visible,
.kr-participation textarea:focus-visible {
	outline: 2px solid #ff5368;
	outline-offset: 2px;
}

.kr-participation__answer {
	display: grid;
	gap: 8px;
}

.kr-participation__answer[hidden] {
	display: none;
}

.kr-participation__answer > label:first-child,
.kr-participation__contacts label > span {
	color: var(--kr-foreground);
	font-size: 0.76rem;
	font-weight: 760;
	line-height: 1.3;
}

.kr-participation__answer label span[aria-hidden="true"],
.kr-participation__contacts b,
.kr-participation__consents b {
	color: #ff5368;
}

.kr-participation textarea,
.kr-participation__contacts input {
	display: block;
	width: 100%;
	max-width: 100% !important;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 11px;
	color: var(--kr-foreground);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.kr-participation textarea {
	min-height: 140px;
	padding: 13px 14px;
	line-height: 1.55;
	resize: vertical;
}

.kr-participation__contacts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.kr-participation__contacts label {
	display: grid;
	gap: 7px;
}

.kr-participation__contacts input {
	min-height: 46px;
	padding: 8px 12px;
}

.kr-participation__audio {
	gap: 13px;
	padding: clamp(15px, 2.5vw, 22px);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.035);
}

.kr-participation__record-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.kr-participation .kr-participation__record-actions button {
	min-height: 42px;
	margin: 0 !important;
	padding: 8px 13px;
	border: 1px solid rgba(217, 26, 51, 0.72) !important;
	border-radius: 10px;
	color: #fff !important;
	background: var(--kr-red, #d91a33) !important;
	box-shadow: none !important;
	font-size: 0.75rem;
	font-weight: 800;
}

.kr-participation .kr-participation__record-actions button:hover {
	background: #ec2842 !important;
}

.kr-participation__record-status {
	margin: 0;
	color: var(--kr-muted);
	font-size: 0.76rem;
}

.kr-participation__audio audio {
	width: 100%;
	height: 42px;
}

.kr-participation__consents {
	display: grid;
	gap: 10px;
}

.kr-participation__consents label {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 9px;
	color: var(--kr-muted);
	font-size: 0.76rem;
	line-height: 1.45;
}

.kr-participation__consents label > span {
	overflow-wrap: anywhere;
}

.kr-participation__consents input {
	width: 17px;
	height: 17px;
	margin: 2px 0 0;
	accent-color: var(--kr-red);
}

.kr-participation__consents a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.kr-participation__footer {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.kr-participation .kr-participation__submit {
	min-width: 150px;
	min-height: 46px;
	padding: 10px 18px;
	border: 1px solid rgba(217, 26, 51, 0.78) !important;
	border-radius: 11px;
	color: #fff !important;
	background: var(--kr-red, #d91a33) !important;
	box-shadow: 0 11px 27px rgba(217, 26, 51, 0.24) !important;
	font-size: 0.8rem;
	font-weight: 850;
	transition: box-shadow 160ms ease, transform 160ms ease;
}

.kr-participation .kr-participation__submit:hover:not(:disabled) {
	background: #ec2842 !important;
	box-shadow: 0 14px 32px rgba(217, 26, 51, 0.34) !important;
	transform: translateY(-1px);
}

.kr-participation__submit:disabled {
	cursor: wait;
	opacity: 0.65;
}

.kr-participation__message {
	min-width: 0;
	margin: 0;
	color: var(--kr-muted);
	font-size: 0.78rem;
	font-weight: 650;
}

.kr-participation__message.is-error {
	color: #ff8998;
}

.kr-participation__message.is-success {
	color: #75d99a;
}

.kr-participation-form__notice {
	margin: clamp(24px, 4vw, 40px) 0 0;
	padding: 16px 18px;
	border: 1px solid var(--kr-glass-border);
	border-radius: 14px;
	color: var(--kr-muted);
	background: var(--kr-glass);
}

@media (max-width: 620px) {
	.kr-participation {
		padding: 18px 15px;
	}

	.kr-participation .kr-participation__tabs,
	.kr-participation__contacts {
		grid-template-columns: minmax(0, 1fr);
	}

	.kr-participation .kr-participation__tabs {
		gap: 8px !important;
	}

	.kr-participation .kr-participation__tabs > button {
		min-height: 42px;
	}

	.kr-participation__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.kr-participation__submit {
		width: 100%;
	}
}

@container (max-width: 540px) {
	.kr-participation__header h2 {
		font-size: clamp(1.5rem, 7cqw, 2.05rem);
	}

	.kr-participation .kr-participation__tabs,
	.kr-participation__contacts {
		grid-template-columns: minmax(0, 1fr);
	}

	.kr-participation .kr-participation__tabs {
		gap: 8px !important;
	}

	.kr-participation__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.kr-participation__submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kr-participation .kr-participation__tabs > button,
	.kr-participation .kr-participation__submit {
		transition: none;
	}
}

/* ========================================================================== */
/* Unified WordPress archives: categories, tags, dates and authors. */

body.archive #content.site-content {
	padding-block: clamp(28px, 5vw, 64px);
}

body.archive #content > .ast-container {
	display: block;
	width: min(100% - 36px, 1040px);
	max-width: 1040px;
	margin-inline: auto;
	padding-inline: 0;
}

body.archive #primary {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

body.archive .ast-archive-description {
	position: relative;
	isolation: isolate;
	min-height: 168px;
	margin: 0 0 22px;
	padding: clamp(28px, 4vw, 48px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	background:
		radial-gradient(circle at 7% 115%, rgba(204, 22, 47, 0.30), transparent 48%),
		radial-gradient(circle at 94% -20%, rgba(52, 83, 179, 0.25), transparent 52%),
		linear-gradient(125deg, rgba(18, 16, 21, 0.82), rgba(12, 18, 34, 0.78));
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.24);
	-webkit-backdrop-filter: blur(18px) saturate(125%);
	backdrop-filter: blur(18px) saturate(125%);
}

body.archive .ast-archive-description::before {
	display: block;
	margin-bottom: 10px;
	color: var(--kr-red, #e51e3a);
	content: "Arkisto";
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

body.category .ast-archive-description::before {
	content: "Osasto";
}

body.tag .ast-archive-description::before {
	content: "Avainsana";
}

body.author .ast-archive-description::before {
	content: "Kirjoittaja";
}

body.kr-search-archive .ast-archive-description::before {
	content: "Haku";
}

body.kr-search-archive .ast-archive-description .ast-breadcrumbs-wrapper {
	display: none;
}

body.kr-search-archive .ast-archive-description .ast-archive-title {
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 0;
	line-height: 0;
}

body.kr-search-archive .ast-archive-description .ast-archive-title::before {
	color: var(--kr-muted, #aaa7b4);
	content: "Hakutulokset";
	font-size: 0.92rem;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.2;
}

body.kr-search-archive .ast-archive-description .ast-archive-title > span {
	color: #fff;
	font-size: clamp(2.25rem, 5vw, 4.4rem);
	font-weight: 950;
	letter-spacing: -0.055em;
	line-height: 0.96;
}

body.archive .ast-archive-description::after {
	position: absolute;
	z-index: -1;
	top: -88px;
	right: -60px;
	width: 250px;
	height: 250px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow:
		0 0 0 38px rgba(255, 255, 255, 0.018),
		0 0 0 78px rgba(229, 30, 58, 0.018);
	content: "";
}

body.archive .ast-archive-title,
body.archive .ast-archive-description .page-title {
	max-width: 820px;
	margin: 0;
	color: #fff;
	font-size: clamp(2.25rem, 5vw, 4.4rem);
	font-weight: 950;
	letter-spacing: -0.055em;
	line-height: 0.96;
	overflow-wrap: anywhere;
}

body.archive .ast-archive-description p,
body.archive .ast-author-bio p {
	max-width: 680px;
	margin: 14px 0 0;
	color: var(--kr-muted, #aaa7b4);
	font-size: 0.96rem;
	line-height: 1.55;
}

body.author .ast-author-box.ast-archive-description {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr;
	align-items: center;
	column-gap: clamp(22px, 5vw, 56px);
}

body.author .ast-author-box.ast-archive-description::before {
	grid-column: 1;
	grid-row: 1;
}

body.author .ast-author-bio {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
}

body.author .ast-author-avatar {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
}

body.author .ast-author-avatar img {
	display: block;
	width: clamp(86px, 10vw, 124px);
	height: clamp(86px, 10vw, 124px);
	margin: 0;
	border: 2px solid rgba(229, 30, 58, 0.74);
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	box-shadow:
		0 0 0 7px rgba(229, 30, 58, 0.09),
		0 16px 40px rgba(0, 0, 0, 0.38);
}

body.archive #main > .ast-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
}

body.archive #main > .ast-row::before,
body.archive #main > .ast-row::after {
	display: none;
}

body.archive #main .ast-article-post {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.archive #main .ast-article-post .ast-article-inner {
	height: 100%;
	min-height: 224px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(19, 19, 24, 0.84), rgba(20, 17, 27, 0.69));
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
	-webkit-backdrop-filter: blur(14px) saturate(120%);
	backdrop-filter: blur(14px) saturate(120%);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.archive #main .ast-article-post .ast-article-inner:hover {
	border-color: rgba(229, 30, 58, 0.42);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.27);
	transform: translateY(-2px);
}

body.archive #main .ast-article-post .post-content {
	display: grid;
	grid-template-columns: minmax(164px, 39%) minmax(0, 1fr);
	grid-template-rows: auto auto auto 1fr;
	grid-template-areas:
		"image taxonomy"
		"image title"
		"image meta"
		"image excerpt";
	align-items: start;
	height: 100%;
	min-height: inherit;
	padding: 0;
}

body.archive #main .post-content:not(:has(.ast-blog-featured-section:not(:empty))) {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"taxonomy"
		"title"
		"meta"
		"excerpt";
}

body.archive #main .ast-blog-featured-section:empty {
	display: none;
}

body.archive #main .ast-blog-featured-section {
	grid-area: image;
	align-self: stretch;
	min-height: 224px;
	margin: 0;
	overflow: hidden;
}

body.archive #main .ast-blog-featured-section .post-thumb,
body.archive #main .ast-blog-featured-section .post-thumb-img-content,
body.archive #main .ast-blog-featured-section a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

body.archive #main .ast-blog-featured-section img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 224px;
	margin: 0;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
	box-shadow: none;
	transition: transform 420ms cubic-bezier(0.2, 0.65, 0.25, 1);
}

body.archive #main .ast-article-inner:hover .ast-blog-featured-section img {
	transform: scale(1.035);
}

body.archive #main .ast-taxonomy-container {
	grid-area: taxonomy;
	margin: 18px 18px 0;
	line-height: 1.2;
}

body.archive #main .ast-taxonomy-container a {
	color: var(--kr-red, #e51e3a);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.075em;
	text-decoration: none;
	text-transform: uppercase;
}

body.archive #main .entry-title {
	grid-area: title;
	margin: 7px 18px 0;
	font-size: clamp(1.03rem, 1.45vw, 1.3rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.12;
}

body.archive #main .entry-title a {
	color: #fff;
	text-decoration: none;
}

body.archive #main .entry-header.ast-blog-meta-container {
	grid-area: meta;
	margin: 9px 18px 0;
}

body.archive #main .entry-meta,
body.archive #main .entry-meta a {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

body.archive #main .ast-excerpt-container {
	grid-area: excerpt;
	margin: 11px 18px 18px;
	align-self: start;
}

body.archive #main .ast-excerpt-container p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--kr-muted, #aaa7b4);
	font-size: 0.86rem;
	line-height: 1.46;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.archive #main .entry-content {
	display: none;
}

body.archive .navigation.pagination,
body.archive .ast-pagination {
	margin: 26px 0 0;
}

body.archive .navigation.pagination .nav-links,
body.archive .ast-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

body.archive .navigation.pagination .page-numbers,
body.archive .ast-pagination .page-numbers {
	display: inline-grid;
	min-width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 13px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	color: #fff;
	background: rgba(18, 18, 24, 0.74);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

body.archive .navigation.pagination .page-numbers.current,
body.archive .navigation.pagination a.page-numbers:hover,
body.archive .ast-pagination .page-numbers.current,
body.archive .ast-pagination a.page-numbers:hover {
	border-color: var(--kr-red, #e51e3a);
	background: var(--kr-red, #e51e3a);
}

body.archive .no-results,
body.archive .ast-no-results {
	margin: 0;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 20px;
	color: var(--kr-muted, #aaa7b4);
	background:
		radial-gradient(circle at 100% 100%, rgba(45, 72, 155, 0.15), transparent 52%),
		linear-gradient(135deg, rgba(18, 17, 23, 0.84), rgba(14, 15, 23, 0.72));
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

body.kr-search-archive .no-results .page-content {
	max-width: 620px;
	margin-inline: auto;
}

body.kr-search-archive .no-results .page-content > p {
	margin: 0 0 18px;
	color: var(--kr-muted, #aaa7b4);
	font-size: 0.94rem;
	line-height: 1.55;
}

body.kr-search-archive .no-results .widget_search,
body.kr-search-archive .no-results .search-form {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.kr-search-archive .no-results .search-form > label {
	position: relative;
	display: block;
}

body.kr-search-archive .no-results .search-field {
	width: 100%;
	height: 48px;
	padding: 0 56px 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 13px;
	color: #fff;
	background: rgba(7, 8, 13, 0.62);
	box-shadow: none;
}

body.kr-search-archive .no-results .search-field:focus {
	border-color: rgba(229, 30, 58, 0.7);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(229, 30, 58, 0.12);
}

body.kr-search-archive .no-results .ast-search-submit {
	position: absolute;
	top: 4px;
	right: 4px;
	display: grid;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 10px;
	color: #fff;
	background: var(--kr-red, #e51e3a);
}

body.kr-search-archive .no-results .ast-search-submit svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}

body.kr-search-archive .no-results .search-form > input[type="submit"] {
	display: none;
}

@media (max-width: 820px) {
	body.archive #main > .ast-row {
		grid-template-columns: minmax(0, 1fr);
	}

	body.archive #main .ast-article-post .ast-article-inner,
	body.archive #main .ast-blog-featured-section,
	body.archive #main .ast-blog-featured-section img {
		min-height: 205px;
	}

	body.archive #main .ast-article-post .post-content {
		grid-template-columns: minmax(150px, 36%) minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	body.archive #content.site-content {
		padding-block: 18px 96px;
	}

	body.archive #content > .ast-container {
		width: min(100% - 22px, 1040px);
	}

	body.archive .ast-archive-description {
		min-height: 126px;
		margin-bottom: 14px;
		padding: 23px 20px;
		border-radius: 17px;
	}

	body.archive .ast-archive-description::before {
		margin-bottom: 8px;
		font-size: 0.64rem;
	}

	body.archive .ast-archive-title,
	body.archive .ast-archive-description .page-title {
		font-size: clamp(2rem, 11vw, 3rem);
	}

	body.author .ast-author-box.ast-archive-description {
		column-gap: 14px;
	}

	body.author .ast-author-avatar img {
		width: 70px;
		height: 70px;
	}

	body.archive #main > .ast-row {
		gap: 10px;
	}

	body.archive #main .ast-article-post .ast-article-inner,
	body.archive #main .ast-blog-featured-section,
	body.archive #main .ast-blog-featured-section img {
		min-height: 154px;
	}

	body.archive #main .ast-article-post .post-content {
		grid-template-columns: minmax(112px, 35%) minmax(0, 1fr);
	}

	body.archive #main .ast-taxonomy-container {
		margin: 13px 13px 0;
	}

	body.archive #main .entry-title {
		margin: 5px 13px 0;
		font-size: clamp(0.95rem, 4.4vw, 1.1rem);
	}

	body.archive #main .entry-header.ast-blog-meta-container {
		margin: 7px 13px 0;
	}

	body.archive #main .entry-meta,
	body.archive #main .entry-meta a {
		font-size: 0.65rem;
	}

	body.archive #main .ast-excerpt-container {
		margin: 8px 13px 13px;
	}

	body.archive #main .ast-excerpt-container p {
		font-size: 0.76rem;
		line-height: 1.38;
		-webkit-line-clamp: 2;
	}
}

@media (max-width: 390px) {
	body.archive #main .ast-excerpt-container {
		display: none;
	}

	body.archive #main .ast-article-post .post-content {
		grid-template-rows: auto auto 1fr;
		grid-template-areas:
			"image taxonomy"
			"image title"
			"image meta";
	}
}

@media (prefers-reduced-motion: reduce) {
	body.archive #main .ast-article-post .ast-article-inner,
	body.archive #main .ast-blog-featured-section img {
		transition: none;
	}
}

/* ========================================================================== */
/* PJAX-safe OmaMainos banner positions. */

.kr-banner-ad {
	width: 100%;
	max-width: 100%;
	margin-inline: auto !important;
	overflow: hidden;
}

.kr-banner-ad:empty {
	display: none;
}

.kr-banner-ad img,
.kr-banner-ad video {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 16px;
}

.kr-banner-ad a {
	display: block;
	text-decoration: none !important;
}

@media (max-width: 600px) {
	[data-kr-paginated-matches]:not([data-kr-responsive-pagination]) .kr-match-list__items > [data-kr-match-page-item]:nth-child(n+6) {
		display: none !important;
	}

	.kr-content-top-banner {
		display: none !important;
	}

	.kr-banner-ad img,
	.kr-banner-ad video {
		border-radius: 12px;
	}
}

/* --------------------------------------------------------------------------
   Privacy statement
   -------------------------------------------------------------------------- */

body.kr-privacy-page-active #content.site-content > .ast-container {
	display: block;
	width: min(100%, 970px);
	max-width: 970px;
	margin-inline: auto;
	padding-inline: 0;
}

body.kr-privacy-page-active #primary {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.kr-privacy-page-active #secondary,
body.kr-privacy-page-active article > .entry-header,
body.kr-privacy-page-active article > .post-thumb {
	display: none !important;
}

body.kr-privacy-page-active .ast-article-single,
body.kr-privacy-page-active .entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.kr-privacy-page {
	width: 100%;
	padding: 34px 0 54px;
	color: var(--kr-foreground);
}

.kr-privacy-page,
.kr-privacy-page * {
	box-sizing: border-box;
}

.kr-privacy-page p,
.kr-privacy-page li,
.kr-privacy-page h1,
.kr-privacy-page h3 {
	margin-top: 0;
}

.kr-privacy-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	gap: 18px;
	padding: clamp(30px, 5vw, 58px);
	margin-bottom: 14px;
	background:
		radial-gradient(circle at 11% 12%, rgba(217, 26, 51, 0.27), transparent 45%),
		radial-gradient(circle at 94% 0%, rgba(27, 63, 154, 0.25), transparent 48%),
		linear-gradient(135deg, rgba(18, 15, 19, 0.92), rgba(10, 12, 20, 0.86));
	border: 1px solid var(--kr-glass-border-strong);
	border-radius: var(--kr-radius-large);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(var(--kr-glass-blur));
	-webkit-backdrop-filter: blur(var(--kr-glass-blur));
}

.kr-privacy-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -130px;
	right: -90px;
	width: 330px;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	box-shadow: 0 0 0 48px rgba(255, 255, 255, 0.018), 0 0 0 96px rgba(255, 255, 255, 0.012);
}

.kr-privacy-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0;
	width: fit-content;
	color: #ff3d55;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.kr-privacy-hero h1 {
	max-width: 760px;
	margin-bottom: 0;
	color: #fff;
	font-family: inherit;
	font-size: clamp(44px, 7vw, 76px);
	font-weight: 900;
	line-height: 0.94;
	letter-spacing: -0.055em;
}

.kr-privacy-intro {
	display: grid;
	gap: 11px;
	max-width: 790px;
}

.kr-privacy-intro p {
	margin-bottom: 0;
	color: rgba(245, 245, 245, 0.72);
	font-size: 16px;
	line-height: 1.65;
}

.kr-privacy-sections {
	display: grid;
	gap: 8px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.kr-privacy-section {
	overflow: hidden;
	margin: 0;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.075);
	border-radius: 13px;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.kr-privacy-section[open] {
	background: rgba(255, 255, 255, 0.055);
	border-color: rgba(217, 26, 51, 0.38);
}

.kr-privacy-section summary {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 32px;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 12px 15px;
	color: #f7f7f8;
	font-size: 17px;
	font-weight: 850;
	line-height: 1.25;
	letter-spacing: -0.015em;
	list-style: none;
	cursor: pointer;
	transition: color 180ms ease, background-color 180ms ease;
}

.kr-privacy-section summary::-webkit-details-marker {
	display: none;
}

.kr-privacy-section summary:hover {
	background: rgba(255, 255, 255, 0.035);
}

.kr-privacy-section summary:focus-visible {
	outline: 2px solid var(--kr-red);
	outline-offset: -3px;
}

.kr-privacy-section summary > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: #ff5368;
	font-size: 12px;
	font-weight: 900;
	background: rgba(217, 26, 51, 0.1);
	border: 1px solid rgba(217, 26, 51, 0.27);
	border-radius: 10px;
}

.kr-privacy-section summary::after {
	content: "+";
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
}

.kr-privacy-section[open] summary::after {
	content: "−";
	color: #ff5368;
	background: rgba(217, 26, 51, 0.1);
	border-color: rgba(217, 26, 51, 0.28);
}

.kr-privacy-section__body {
	display: grid;
	gap: 14px;
	padding: 2px 62px 24px 65px;
}

.kr-privacy-section__body p,
.kr-privacy-section__body li {
	margin-bottom: 0;
	color: rgba(245, 245, 245, 0.69);
	font-size: 15px;
	line-height: 1.7;
}

.kr-privacy-section__body strong {
	color: rgba(255, 255, 255, 0.9);
}

.kr-privacy-section__body a {
	color: #ff5368;
	font-weight: 750;
	text-decoration: none;
	text-underline-offset: 3px;
}

.kr-privacy-section__body a:hover,
.kr-privacy-section__body a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.kr-privacy-section__body ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 22px;
}

.kr-privacy-section__body li::marker {
	color: #e92740;
}

.kr-privacy-subblock {
	display: grid;
	gap: 10px;
	padding: 14px 16px;
	background: rgba(0, 0, 0, 0.15);
	border-left: 2px solid rgba(217, 26, 51, 0.65);
	border-radius: 0 10px 10px 0;
}

.kr-privacy-rights {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

.kr-privacy-rights section {
	padding: 14px;
	background: rgba(0, 0, 0, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 11px;
}

.kr-privacy-rights h3 {
	margin-bottom: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: 850;
	line-height: 1.3;
}

@media (max-width: 1000px) {
	body.kr-privacy-page-active #content.site-content > .ast-container {
		width: 100%;
		padding-inline: var(--kr-mobile-edge, 14px);
	}
}

@media (max-width: 640px) {
	.kr-privacy-page {
		padding: 20px 0 38px;
	}

	.kr-privacy-hero {
		gap: 14px;
		padding: 25px 20px;
		border-radius: 16px;
	}

	.kr-privacy-hero h1 {
		font-size: clamp(30px, 9vw, 44px);
		letter-spacing: -0.045em;
		overflow-wrap: anywhere;
	}

	.kr-privacy-intro p,
	.kr-privacy-section__body p,
	.kr-privacy-section__body li {
		font-size: 14px;
	}

	.kr-privacy-sections {
		padding: 0;
		border-radius: 0;
	}

	.kr-privacy-section summary {
		grid-template-columns: 34px minmax(0, 1fr) 28px;
		gap: 9px;
		min-height: 58px;
		padding: 10px;
		font-size: 15px;
	}

	.kr-privacy-section summary > span {
		width: 34px;
		height: 34px;
	}

	.kr-privacy-section summary::after {
		width: 28px;
		height: 28px;
	}

	.kr-privacy-section__body {
		gap: 12px;
		padding: 3px 14px 19px 53px;
	}

	.kr-privacy-rights {
		grid-template-columns: 1fr;
	}
}
