/* Piikula courses page. */

.pk-courses-hero {
	background-color: var(--pk-color-blush);
}

.pk-courses-hero__inner,
.pk-courses__section-header {
	max-width: var(--pk-width-narrow);
}

.pk-courses-hero h1,
.pk-courses__section-header h2,
.pk-course h3 {
	margin-top: 0;
}

.pk-courses-hero h1 {
	margin-bottom: var(--pk-space-md);
}

.pk-courses-hero__lead {
	margin: 0;
	color: var(--pk-color-text-secondary);
	font-size: var(--pk-font-size-lead);
}

.pk-courses-hero__text {
	max-width: 40rem;
	margin: var(--pk-space-lg) 0 0;
	color: var(--pk-color-text-secondary);
}

.pk-courses__section-header {
	margin-bottom: var(--pk-space-2xl);
}

.pk-courses__section-header h2 {
	margin-bottom: 0;
}

.pk-course-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--pk-space-xl);
}

.pk-course {
	min-width: 0;
	padding: clamp(var(--pk-space-lg), 4vw, var(--pk-space-2xl));
	border: 1px solid var(--pk-color-rose-border);
	border-top: 3px solid var(--pk-color-primary);
	border-radius: var(--pk-radius-lg);
	background-color: var(--pk-color-surface);
	box-shadow: var(--pk-shadow-sm);
}

.pk-course__body {
	min-width: 0;
}

.pk-course__eyebrow {
	margin: 0 0 var(--pk-space-xs);
	color: var(--pk-color-primary);
	font-size: var(--pk-font-size-sm);
	font-weight: var(--pk-font-weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pk-course h3 {
	margin-bottom: var(--pk-space-xl);
	overflow-wrap: anywhere;
}

.pk-course__details {
	display: grid;
	gap: var(--pk-space-md);
	margin: 0 0 var(--pk-space-xl);
}

.pk-course__details div {
	min-width: 0;
	padding-bottom: var(--pk-space-sm);
	border-bottom: 1px solid var(--pk-color-border);
}

.pk-course__details dt {
	color: var(--pk-color-text-muted);
	font-size: var(--pk-font-size-sm);
	font-weight: var(--pk-font-weight-medium);
}

.pk-course__details dd {
	margin: var(--pk-space-2xs) 0 0;
	color: var(--pk-color-text);
	overflow-wrap: anywhere;
}

.pk-course__description {
	max-width: var(--pk-width-narrow);
	margin: 0;
	color: var(--pk-color-text-secondary);
}

.pk-course__registration {
	max-width: var(--pk-width-narrow);
	margin: var(--pk-space-xl) 0 0;
	padding: var(--pk-space-md) var(--pk-space-lg);
	border-left: 3px solid var(--pk-color-primary);
	background-color: var(--pk-color-primary-soft);
	color: var(--pk-color-text-secondary);
}

.pk-course__registration strong {
	color: var(--pk-color-text);
	font-weight: var(--pk-font-weight-medium);
}

.pk-course .pk-actions {
	margin: var(--pk-space-xl) 0 0;
}

.pk-course .pk-button {
	box-sizing: border-box;
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Kadence can apply a more specific colour to visited and interactive links.
 * Keep this external course action aligned with the shared primary button
 * treatment without changing any other button property or component. */
.pk-course .pk-button--primary,
.pk-course .pk-button--primary:visited,
.pk-course .pk-button--primary:hover,
.pk-course .pk-button--primary:focus,
.pk-course .pk-button--primary:active {
	color: var(--pk-color-text-inverse);
}

.pk-course__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--pk-radius-md);
	background-color: var(--pk-color-rose-surface);
}

.pk-course__media img {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 40em) {
	.pk-course__details {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 52em) {
	.pk-course--with-media {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(16rem, 2fr);
		gap: var(--pk-space-2xl);
		align-items: start;
	}
}
