/* Composed pattern styling: rails, hero copy layouts, program spotlights, reading templates, and section-level compositions. */

:is(.sw-swipe-row, .is-style-sw-swipe-row).is-layout-grid,
.wp-block-post-template:is(.sw-swipe-row, .is-style-sw-swipe-row) {
	--sw-rail-padding-top: 0.45rem;
}

:is(.sw-snapshot-rail, .is-style-sw-snapshot-rail) {
	--sw-snapshot-rail-card-width: clamp(10.625rem, 28vw, 13.75rem);
}

.is-style-sw-button-row.wp-block-buttons {
	align-items: center;
	flex-wrap: wrap;
}

.is-style-sw-split-60-40 {
	align-items: start;
}

.wp-block-columns.is-style-sw-feature-split {
	align-items: stretch;
	gap: var(--wp--preset--spacing--md);
}

.wp-block-columns.is-style-sw-feature-split > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.wp-block-columns.is-style-sw-feature-split > .wp-block-column > * {
	width: 100%;
	height: 100%;
}

.wp-block-columns.sw-journey-grid,
.wp-block-columns.sw-program-spotlight,
.wp-block-columns.is-style-sw-split-60-40 {
	align-items: stretch;
}

.wp-block-columns.sw-program-spotlight > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.wp-block-columns.sw-program-spotlight > .wp-block-column > * {
	width: 100%;
	height: 100%;
}

.wp-block-columns.sw-program-spotlight--reversed > .wp-block-column:first-child {
	order: 2;
}

.wp-block-columns.sw-program-spotlight--reversed > .wp-block-column:last-child {
	order: 1;
}

.wp-block-columns:is(.sw-card-row, .sw-journey-grid) > .wp-block-column,
.wp-block-columns > .wp-block-column:has(> .sw-decision-card) {
	display: flex;
}

.wp-block-columns:is(.sw-card-row, .sw-journey-grid) > .wp-block-column > .wp-block-group,
.wp-block-columns > .wp-block-column > .sw-decision-card {
	width: 100%;
}

.sw-decision-card,
.sw-journey-step {
	height: 100%;
	padding: 1.7rem;
}

.sw-feature-list,
.sw-mini-list {
	padding-left: 1.15rem;
}

.sw-feature-list li,
.sw-mini-list li {
	margin-bottom: 0.5rem;
}

.sw-timeline-label,
.sw-step-number {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--brand-secondary);
}

.sw-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--events-primary);
	color: var(--wp--preset--color--ink);
}

.sw-timeline {
	display: grid;
	gap: 1rem;
}

.sw-timeline-item {
	display: grid;
	grid-template-columns: 9rem 1fr;
	gap: 1rem;
	padding: 1.25rem 1.4rem;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(215, 225, 220, 0.9);
	border-radius: var(--spielwelt-radius-md);
	box-shadow: var(--spielwelt-shadow-soft);
}

:is(.sw-cta-band, .spielwelt-cta-band) {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--sw-theme-accent-soft) 84%, white 16%), color-mix(in srgb, var(--sw-theme-accent-soft) 72%, rgba(255, 255, 255, 0.9) 28%)),
		radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--sw-theme-accent) 18%, transparent), transparent 18%),
		radial-gradient(circle at 12% 88%, color-mix(in srgb, var(--wp--preset--color--events-primary) 18%, transparent), transparent 18%);
	box-shadow: var(--spielwelt-shadow-soft);
	border-radius: var(--spielwelt-radius-lg);
}

:is(.sw-cta-band, .spielwelt-cta-band) :is(.wp-block-heading, .is-style-sw-lead, p) {
	color: var(--sw-theme-ink);
}

.wp-block-post-template.is-style-sw-card-row {
	align-items: stretch;
}

.wp-block-post-template.is-style-sw-card-row > li {
	display: flex;
	height: 100%;
}

.wp-block-post-template.is-style-sw-card-row > li > .wp-block-group,
.wp-block-post-template.is-style-sw-card-row > li > article {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.wp-block-post-template.is-style-sw-card-row .is-style-sw-card,
.wp-block-post-template.is-style-sw-card-row .sw-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.wp-block-post-template.is-style-sw-card-row .wp-block-post-title {
	line-height: 1.05;
	letter-spacing: 0;
	text-wrap: balance;
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-post-template.is-style-sw-card-row .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.wp-block-post-template.is-style-sw-card-row .wp-block-post-title a:hover,
.wp-block-post-template.is-style-sw-card-row .wp-block-post-title a:focus {
	color: var(--wp--preset--color--brand-primary);
}

.wp-block-post-template.is-style-sw-swipe-row > li {
	display: flex;
	height: 100%;
}

.wp-block-post-template.is-style-sw-swipe-row > li > .wp-block-group,
.wp-block-post-template.is-style-sw-swipe-row > li > article {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.wp-block-post-template.is-style-sw-swipe-row .is-style-sw-card,
.wp-block-post-template.is-style-sw-swipe-row .sw-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.wp-block-group.is-style-sw-card-row.is-layout-grid,
.is-style-sw-card-row.is-layout-grid,
.wp-block-post-template.is-style-sw-card-row.wp-block-post-template-is-layout-grid,
.wp-block-columns.is-style-sw-card-row {
	align-items: stretch;
	gap: var(--wp--preset--spacing--sm);
	margin-block-start: var(--wp--preset--spacing--md);
	padding-top: var(--sw-rail-padding-top, 0.45rem);
}

.wp-block-group.is-style-sw-card-row.is-layout-grid > *,
.is-style-sw-card-row.is-layout-grid > *,
.wp-block-post-template.is-style-sw-card-row.wp-block-post-template-is-layout-grid > li,
.wp-block-columns.is-style-sw-card-row > .wp-block-column {
	height: 100%;
}

.wp-block-columns.is-style-sw-card-row > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.wp-block-columns.is-style-sw-card-row > .wp-block-column > * {
	width: 100%;
}

.wp-block-columns.is-style-sw-card-row > .wp-block-column > .is-style-sw-card,
.wp-block-columns.is-style-sw-card-row > .wp-block-column > .sw-card,
.wp-block-columns.is-style-sw-card-row > .wp-block-column > .wp-block-cover,
.wp-block-columns.is-style-sw-card-row > .wp-block-column > blockquote {
	height: 100%;
}

.wp-block-group.is-style-sw-swipe-row.is-layout-grid,
.is-style-sw-swipe-row.is-layout-grid,
.wp-block-post-template.is-style-sw-swipe-row {
	border-radius: 0;
	margin: 0;
	margin-block-start: var(--wp--preset--spacing--md);
	padding-top: var(--sw-rail-padding-top);
	padding-inline-start: 0;
	list-style: none;
}

.wp-block-group.is-style-sw-swipe-row.is-layout-grid > *,
.is-style-sw-swipe-row.is-layout-grid > *,
.wp-block-post-template.is-style-sw-swipe-row > li {
	scroll-snap-align: start;
}

.wp-block-columns.is-style-sw-snapshot-rail {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--wp--preset--spacing--sm);
	margin-block-start: var(--wp--preset--spacing--md);
}

.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column {
	display: flex;
	flex: 1 1 0;
	min-width: 0;
}

.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column > * {
	width: 100%;
}

.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid,
.is-style-sw-snapshot-rail.is-layout-grid {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--wp--preset--spacing--sm);
	margin: 0;
	margin-block-start: var(--wp--preset--spacing--md);
	padding-inline-start: 0;
	list-style: none;
}

.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group,
.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group {
	flex: 1 1 0;
	min-width: 0;
}

.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > *,
.is-style-sw-snapshot-rail.is-layout-grid > *,
.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column {
	scroll-snap-align: start;
}

:is(.sw-rail-indicator, .spielwelt-rail-indicator) {
	--sw-rail-indicator-gap: 0.5rem;
	--sw-rail-indicator-dot-size: 0.6rem;
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--sw-rail-indicator-gap);
	margin-top: -0.35rem;
	margin-bottom: 0.25rem;
}

:is(.sw-rail-indicator, .spielwelt-rail-indicator).is-visible {
	display: flex;
}

:is(.sw-rail-indicator-dot, .spielwelt-rail-indicator-dot) {
	width: var(--sw-rail-indicator-dot-size);
	height: var(--sw-rail-indicator-dot-size);
	border-radius: 999px;
	background: rgba(215, 225, 220, 0.95);
	transition:
		transform 0.18s ease,
		background-color 0.18s ease,
		opacity 0.18s ease;
}

:is(.sw-rail-indicator-dot, .spielwelt-rail-indicator-dot).is-active {
	background: rgba(180, 95, 66, 0.95);
	transform: scale(1.05);
}

@media (max-width: 980px) {
	.wp-block-columns.is-style-sw-snapshot-rail,
	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid,
	.is-style-sw-snapshot-rail.is-layout-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: auto;
		padding-top: 0.55rem;
		padding-bottom: 2.1rem;
		scroll-padding-inline: var(--wp--preset--spacing--2xs);
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column {
		flex: 0 0 var(--sw-snapshot-rail-card-width);
	}

	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group,
	.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group {
		flex: 0 0 var(--sw-snapshot-rail-card-width);
	}
}


.sw-start-anywhere .sw-section-title {
	max-width: 13ch;
	line-height: 0.95;
	letter-spacing: 0;
	text-wrap: balance;
}

.sw-start-anywhere .sw-section-lead {
	max-width: 58rem;
}

.sw-start-anywhere .sw-feature-list {
	margin-top: 0.25rem;
	padding-left: 1.6rem;
}

.sw-start-anywhere .sw-feature-list li {
	margin-bottom: 0.55rem;
	font-size: clamp(1.15rem, 1.7vw, 1.35rem);
	line-height: 1.45;
}

.sw-cta-panel {
	margin-top: 2.5rem;
}

.sw-cta-panel .sw-aside-copy {
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	line-height: 1.5;
}

.sw-cta-panel .wp-block-buttons.is-layout-flex {
	align-items: flex-start;
}

.sw-cta-panel .wp-block-button:first-child .wp-block-button__link {
	padding-inline: 1.45rem;
	padding-block: 1rem;
	background: var(--sw-theme-button) !important;
	border-color: var(--sw-theme-button) !important;
	color: var(--wp--preset--color--brand-light) !important;
}

.sw-cta-panel .wp-block-button:last-child .wp-block-button__link {
	padding-inline: 1.35rem;
	padding-block: 0.9rem;
	background: #fff !important;
	color: var(--sw-theme-primary) !important;
	border-color: var(--sw-theme-primary) !important;
	box-shadow: none;
}

.sw-reading-hero {
	min-height: auto;
	padding-bottom: clamp(2rem, 3vw, 2.5rem);
}

.sw-event-cover-hero {
	position: relative;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	min-height: clamp(24rem, 42vw, 34rem);
	overflow: hidden;
}

.sw-event-cover-media {
	position: absolute;
	inset: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: 100%;
}

.sw-event-cover-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: clamp(24rem, 42vw, 34rem);
	object-fit: cover;
}

.sw-event-cover-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(23, 18, 12, 0.08), rgba(23, 18, 12, 0.38)),
		linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 42%);
	pointer-events: none;
}

.sw-event-cover-shell {
	position: relative;
	z-index: 2;
	min-height: clamp(24rem, 42vw, 34rem);
	display: flex;
	align-items: flex-end;
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.sw-event-cover-card {
	max-width: 34rem;
	padding: clamp(1.3rem, 2vw, 1.8rem);
	margin-bottom: 0;
}

.sw-event-summary-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	width: 100%;
}

.sw-event-summary-item {
	display: grid;
	align-content: start;
	gap: 0.26rem;
	min-height: 4.9rem;
	padding: 0.8rem 0.95rem 0.85rem;
	border-radius: 1.15rem;
	background: rgba(255, 252, 248, 0.9);
	border: 1px solid rgba(255, 245, 233, 0.72);
	box-shadow: 0 8px 20px rgba(88, 50, 40, 0.08);
	backdrop-filter: blur(9px);
	-webkit-backdrop-filter: blur(9px);
}

.sw-event-summary-label {
	color: rgba(143, 72, 49, 0.84);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sw-event-summary-value {
	color: rgba(75, 58, 51, 1);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.22;
	text-wrap: balance;
}

.sw-event-summary-inline {
	display: grid;
	gap: 0.18rem;
	margin: 0;
}

.sw-event-summary-line {
	margin: 0;
	color: rgba(75, 58, 51, 0.96);
	font-size: clamp(0.98rem, 1.4vw, 1.08rem);
	font-weight: 700;
	line-height: 1.55;
	text-wrap: pretty;
}

.sw-event-summary-line-location {
	font-weight: 600;
	color: rgba(75, 58, 51, 0.88);
}

.sw-reading-hero-grid {
	width: 100%;
}

.sw-reading-media {
	overflow: hidden;
}

.sw-reading-media img {
	width: 100%;
	min-height: 18rem;
	object-fit: cover;
}

.sw-reading-layout {
	padding-top: clamp(1rem, 2vw, 1.5rem);
	padding-bottom: clamp(2rem, 3vw, 2.5rem);
}

.sw-reading-content {
	max-width: 46rem;
}

.sw-reading-content > .wp-block-post-featured-image {
	margin-bottom: 1.5rem;
}

.sw-reading-content h2,
.sw-reading-content h3 {
	scroll-margin-top: 5.5rem;
}

.sw-reading-content p,
.sw-reading-content li,
.sw-reading-content blockquote {
	font-size: 1rem;
	line-height: 1.7;
}

.sw-back-link {
	margin: 0 0 0.45rem;
}

.sw-back-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--wp--preset--color--brand-secondary);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.sw-back-link a::before {
	content: "←";
	font-size: 1.05em;
	line-height: 1;
}

.sw-back-link a:hover,
.sw-back-link a:focus {
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.sw-reading-sidebar {
	position: sticky;
	top: 5rem;
}

.sw-related-panel {
	padding: clamp(1.1rem, 1.8vw, 1.4rem);
	border: 1px solid rgba(31, 36, 31, 0.08);
	border-radius: var(--spielwelt-radius-lg);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--spielwelt-shadow-soft);
}

:is(.sw-archive-notice, .spielwelt-archive-notice) {
	margin: clamp(1.25rem, 2.4vw, 1.75rem) 0 clamp(1rem, 2vw, 1.35rem);
	font-weight: 700;
	color: var(--wp--preset--color--brand-secondary);
}

.sw-link-list,
.sw-fact-list {
	margin: 0;
}

.sw-link-list {
	padding-left: 1.1rem;
}

.sw-link-list li + li {
	margin-top: 0.55rem;
}

.sw-link-list a,
.sw-primary-link,
.sw-secondary-link {
	color: var(--wp--preset--color--brand-primary);
	font-weight: 800;
	text-decoration: none;
}

.sw-link-list a:hover,
.sw-primary-link:hover,
.sw-secondary-link:hover {
	text-decoration: underline;
}

.spielwelt-related-resource-list {
	display: grid;
	gap: 1.5rem;
}

.spielwelt-related-resource-item + .spielwelt-related-resource-item {
	padding-top: 1.25rem;
	border-top: 1px solid rgba(31, 36, 31, 0.08);
}

.spielwelt-related-resource-meta {
	margin: 0 0 0.4rem;
	color: var(--wp--preset--color--brand-secondary);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.spielwelt-related-resource-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.3rem, 1.9vw, 1.55rem);
	line-height: 1.05;
}

.spielwelt-related-resource-title a {
	color: inherit;
	text-decoration: none;
}

.spielwelt-related-resource-title a:hover,
.spielwelt-related-resource-title a:focus {
	color: var(--wp--preset--color--brand-primary);
}

.spielwelt-related-resource-excerpt {
	margin: 0.55rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 1rem;
	line-height: 1.6;
}

.spielwelt-related-resource-link {
	margin: 0.35rem 0 0;
}

.spielwelt-related-resource-link a {
	color: var(--wp--preset--color--teal);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.spielwelt-resources-library-shell {
	display: grid;
	gap: 1rem;
}

.spielwelt-resources-library-summary,
.spielwelt-resources-library-empty {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

.spielwelt-resources-library-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.spielwelt-resources-library-card {
	display: grid;
	align-content: start;
	border-radius: var(--spielwelt-radius-lg);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--spielwelt-shadow-soft);
	overflow: hidden;
}

.spielwelt-resources-library-image {
	display: block;
	background: rgba(13, 111, 109, 0.08);
}

.spielwelt-resources-library-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.spielwelt-resources-library-card-body {
	display: grid;
	gap: 0.65rem;
	padding: 1rem;
}

.spielwelt-resources-library-meta {
	margin: 0;
	color: var(--wp--preset--color--brand-secondary);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.spielwelt-resources-library-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.35rem, 1.9vw, 1.7rem);
	line-height: 1.02;
}

.spielwelt-resources-library-title a {
	color: inherit;
	text-decoration: none;
}

.spielwelt-resources-library-title a:hover,
.spielwelt-resources-library-title a:focus {
	color: var(--wp--preset--color--brand-primary);
}

.spielwelt-resources-library-excerpt {
	margin: 0;
	color: var(--wp--preset--color--muted);
	line-height: 1.6;
}

.spielwelt-resources-library-link {
	margin: 0;
}

.spielwelt-resources-library-link a {
	color: var(--wp--preset--color--teal);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

@media (max-width: 920px) {
	.spielwelt-resources-library-grid {
		grid-template-columns: 1fr;
	}
}

.spielwelt-context-list {
	display: grid;
	gap: 1.1rem;
}

.spielwelt-context-item + .spielwelt-context-item {
	padding-top: 1.1rem;
	border-top: 1px solid rgba(31, 36, 31, 0.08);
}

.spielwelt-context-item-meta {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--brand-secondary);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.spielwelt-context-item-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.15rem, 1.55vw, 1.35rem);
	line-height: 1.08;
}

.spielwelt-context-item-title a {
	color: inherit;
	text-decoration: none;
}

.spielwelt-context-item-title a:hover,
.spielwelt-context-item-title a:focus {
	color: var(--wp--preset--color--brand-primary);
}

.spielwelt-context-item-summary {
	margin: 0.45rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.98rem;
	line-height: 1.55;
}

.spielwelt-context-item-link {
	margin: 0.35rem 0 0;
}

.spielwelt-context-item-link a {
	color: var(--wp--preset--color--teal);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.spielwelt-post-overview {
	display: grid;
	gap: 1.2rem;
}

.spielwelt-post-overview-excerpt,
.spielwelt-post-overview-reading-time-value {
	margin: 0.35rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.sw-pill-links a,
.sw-pill-links time {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: fit-content;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.84);
	color: var(--wp--preset--color--brand-secondary);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(88, 50, 40, 0.08);
}

.sw-fact-list {
	display: grid;
	gap: 0.85rem;
}

.sw-fact-list div {
	display: grid;
	gap: 0.2rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba(31, 36, 31, 0.08);
}

.sw-fact-list div:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.sw-fact-list dt {
	color: var(--wp--preset--color--muted);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sw-fact-list dd {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-weight: 700;
}

.spielwelt-event-facts {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 249, 240, 0.92));
}

.spielwelt-cta-panel p + p {
	margin-top: 0.8rem;
}

@media (max-width: 900px) {
	:root {
		--wp--style--root--padding-right: 14px;
		--wp--style--root--padding-left: 14px;
	}

	.is-style-sw-hero-home,
	.sw-hero-home,
	.is-style-sw-hero-home-2 {
		min-height: 620px;
	}

	.is-style-sw-pill,
	.sw-pill {
		padding: 0.4rem 0.65rem;
	}

	:is(.sw-hero-shell, .spielwelt-hero-shell),
	:is(.sw-hero-stage, .spielwelt-hero-stage) {
		min-height: 32rem;
	}

	.sw-reading-sidebar {
		position: static;
		top: auto;
	}

	.sw-event-cover-shell {
		min-height: clamp(22rem, 56vw, 28rem);
		padding-top: 1.5rem;
		padding-bottom: 1rem;
	}

	.sw-event-cover-card {
		max-width: none;
	}

	.sw-event-summary-meta {
		grid-template-columns: 1fr;
	}

	.sw-reading-content {
		max-width: none;
	}

	.sw-timeline-item {
		grid-template-columns: 1fr;
	}

	.wp-block-group.is-style-sw-card-row.is-layout-grid,
	.is-style-sw-card-row.is-layout-grid,
	.wp-block-post-template.is-style-sw-card-row.wp-block-post-template-is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wp-block-group.is-style-sw-card-row.is-layout-grid > *,
	.is-style-sw-card-row.is-layout-grid > *,
	.wp-block-post-template.is-style-sw-card-row.wp-block-post-template-is-layout-grid > li {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.wp-block-columns.is-style-sw-split-60-40 {
		flex-wrap: wrap;
	}

	.wp-block-columns.is-style-sw-split-60-40 > .wp-block-column {
		flex-basis: 100% !important;
	}

	.wp-block-columns.sw-program-spotlight > .wp-block-column:first-child,
	.wp-block-columns.sw-program-spotlight > .wp-block-column:last-child,
	.wp-block-columns.sw-program-spotlight.sw-program-spotlight--reversed > .wp-block-column:first-child,
	.wp-block-columns.sw-program-spotlight.sw-program-spotlight--reversed > .wp-block-column:last-child {
		order: initial;
	}

	.wp-block-columns.sw-program-spotlight > .wp-block-column.sw-program-spotlight__media {
		order: 1;
	}

	.wp-block-columns.sw-program-spotlight > .wp-block-column.sw-program-spotlight__content {
		order: 2;
	}

	.wp-block-group.is-style-sw-swipe-row.is-layout-grid,
	.is-style-sw-swipe-row.is-layout-grid,
	.wp-block-post-template.is-style-sw-swipe-row {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: min(78vw, 20rem);
		grid-template-columns: none !important;
		gap: var(--wp--preset--spacing--sm);
		overflow-x: auto;
		overflow-y: auto;
		padding-top: 0.45rem;
		padding-bottom: 1.35rem;
		scroll-padding-inline: var(--wp--preset--spacing--2xs);
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.wp-block-group.is-style-sw-swipe-row.is-layout-grid > *,
	.is-style-sw-swipe-row.is-layout-grid > *,
	.wp-block-post-template.is-style-sw-swipe-row > li {
		scroll-snap-stop: always;
	}

	.wp-block-columns.is-style-sw-snapshot-rail,
	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid,
	.is-style-sw-snapshot-rail.is-layout-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: var(--wp--preset--spacing--sm);
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 0.35rem;
		scroll-padding-inline: var(--wp--preset--spacing--2xs);
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column {
		display: block;
		flex: 0 0 clamp(10.625rem, 28vw, 13.75rem);
		flex-basis: auto !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group,
	.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group {
		flex: 0 0 clamp(10.625rem, 28vw, 13.75rem);
		min-width: 0;
		margin: 0 !important;
	}

	.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column,
	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > *,
	.is-style-sw-snapshot-rail.is-layout-grid > * {
		scroll-snap-stop: always;
	}
}

@media (max-width: 640px) {
	.wp-block-group.is-style-sw-card-row.is-layout-grid,
	.is-style-sw-card-row.is-layout-grid,
	.wp-block-post-template.is-style-sw-card-row.wp-block-post-template-is-layout-grid {
		grid-template-columns: 1fr !important;
	}

	.sw-event-cover-hero {
		min-height: 34rem;
	}

	.wp-block-columns.is-style-sw-snapshot-rail,
	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid,
	.is-style-sw-snapshot-rail.is-layout-grid {
		gap: var(--wp--preset--spacing--xs);
		padding-bottom: 2.25rem;
	}

	.wp-block-columns.is-style-sw-snapshot-rail > .wp-block-column {
		flex: 0 0 clamp(9.25rem, 44vw, 12.5rem);
		flex-basis: auto !important;
		width: auto !important;
	}

	.wp-block-group.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group,
	.is-style-sw-snapshot-rail.is-layout-grid > .wp-block-group {
		flex: 0 0 clamp(9.25rem, 44vw, 12.5rem);
	}

	.sw-event-cover-media img {
		min-height: 34rem;
	}

	.sw-event-cover-shell {
		min-height: 34rem;
		align-items: flex-end;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.sw-event-cover-card {
		width: min(100%, 29rem);
		padding: 1rem;
		border-bottom-width: 6px;
	}

	.sw-event-cover-card > .wp-block-heading {
		font-size: clamp(2.05rem, 10vw, 2.7rem);
		line-height: 0.96;
	}

	.sw-event-cover-card > .is-style-sw-lead {
		font-size: 0.98rem;
		line-height: 1.55;
	}

	.sw-event-summary-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.sw-event-summary-inline {
		gap: 0.14rem;
	}

	.sw-event-summary-line {
		font-size: 0.98rem;
		line-height: 1.6;
	}

	.sw-event-summary-item {
		min-height: 0;
		padding: 0.7rem 0.82rem 0.75rem;
	}

	.sw-event-summary-label {
		font-size: 0.7rem;
	}

	.sw-event-summary-value {
		font-size: 0.9rem;
		line-height: 1.3;
	}
}

@media (max-width: 420px) {
	.sw-event-summary-meta {
		grid-template-columns: 1fr;
	}

	.sw-event-summary-inline {
		gap: 0.1rem;
	}

	.sw-event-summary-line {
		font-size: 0.94rem;
	}
}
