/* Reusable primitives: text treatments, surfaces, section shells, and other low-level building blocks. */

.is-style-sw-lead,
.sw-lead {
	font-size: clamp(1rem, 1.4vw, 1.1rem);
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}

/* Primitive text styles */
.is-style-sw-eyebrow,
.sw-eyebrow {
	display: inline-flex;
	width: fit-content;
	color: var(--wp--preset--color--brand-secondary);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.is-style-sw-pill,
.sw-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: fit-content;
	padding: 0.45rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 251, 247, 0.82);
	color: rgba(143, 72, 49, 0.98);
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(0.8rem, 1vw, 0.92rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid rgba(255, 246, 236, 0.5);
	box-shadow: 0 6px 16px rgba(88, 50, 40, 0.07);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

/* Primitive surfaces */
.is-style-sw-card,
.sw-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--spielwelt-radius-md);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--spielwelt-shadow-soft);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		filter 0.22s ease;
}

.is-style-sw-card {
	padding: clamp(1.6rem, 2.2vw, 1.85rem);
}

.is-style-sw-section-panel,
.is-style-sw-surface-soft,
.sw-aside-panel {
	border-radius: var(--spielwelt-radius-lg);
	box-shadow: var(--spielwelt-shadow-soft);
}

.is-style-sw-section-panel {
	background: var(--wp--preset--color--surface);
	padding: clamp(1.6rem, 2.2vw, 1.85rem);
}

.is-style-sw-surface-soft {
	background: var(--wp--preset--color--surface-soft);
}

.sw-aside-panel {
	background: var(--sw-glass-neutral-bg);
	border: 1px solid var(--sw-glass-neutral-border);
	backdrop-filter: blur(var(--sw-glass-neutral-blur));
	-webkit-backdrop-filter: blur(var(--sw-glass-neutral-blur));
}

.is-style-sw-cover-panel.has-glass-warm-background-color,
:is(.is-style-sw-hero-home, .sw-hero-home, .is-style-sw-hero-home-2) :is(.sw-hero-home-2-card, .is-style-sw-cover-panel) {
	background-color: var(--sw-glass-warm-bg) !important;
	border: 1px solid var(--sw-glass-warm-border);
	backdrop-filter: blur(var(--sw-glass-warm-blur));
	-webkit-backdrop-filter: blur(var(--sw-glass-warm-blur));
}

.sw-aside-panel {
	padding: clamp(1.25rem, 2vw, 1.5rem);
}

@media (hover: hover) and (pointer: fine) {
	.is-style-sw-card:hover,
	.is-style-sw-card:focus-within,
	.sw-card:hover,
	.sw-card:focus-within {
		transform: translateY(-6px);
		box-shadow: var(--spielwelt-shadow-lifted);
		filter: saturate(1.02);
	}
}

/* Primitive bands and section shells */
.is-style-sw-band {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-top: var(--wp--preset--spacing--xl);
	padding-bottom: var(--wp--preset--spacing--xl);
	background: var(--sw-band-background, transparent);
}

.is-style-sw-section-shell {
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
}

.is-style-sw-card.sw-surface-accent-bottom,
.is-style-sw-card.sw-surface-accent-left,
.is-style-sw-section-panel.sw-surface-accent-bottom,
.is-style-sw-section-panel.sw-surface-accent-left,
.is-style-sw-section-shell.sw-surface-accent-bottom,
.is-style-sw-section-shell.sw-surface-accent-left {
	position: relative;
	overflow: hidden;
	--sw-surface-accent-color: var(--wp--preset--color--brand-secondary);
}

.is-style-sw-card.sw-surface-accent-bottom::after,
.is-style-sw-section-panel.sw-surface-accent-bottom::after,
.is-style-sw-section-shell.sw-surface-accent-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	background: var(--sw-surface-accent-color);
}

.is-style-sw-card.sw-surface-accent-left::before,
.is-style-sw-section-panel.sw-surface-accent-left::before,
.is-style-sw-section-shell.sw-surface-accent-left::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 10px;
	background: var(--sw-surface-accent-color);
}

.is-style-sw-card.sw-surface-accent-bottom::after,
.is-style-sw-section-panel.sw-surface-accent-bottom::after {
	border-radius: 0 0 var(--spielwelt-radius-lg) var(--spielwelt-radius-lg);
}

.is-style-sw-cover-panel {
	width: min(31rem, 100%);
	padding: clamp(0.9rem, 2vw, 1.08rem) clamp(1.15rem, 2.7vw, 1.42rem) clamp(0.96rem, 2.1vw, 1.12rem);
	border-radius: var(--spielwelt-radius-lg);
	box-shadow: var(--sw-glass-warm-shadow);
}

.is-style-sw-cover-panel > h1 mark,
.is-style-sw-cover-panel > .wp-block-heading mark {
	display: inline-block;
	padding: 0 0.05em 0.015em;
	margin-inline: 0.02em 0.035em;
	border-radius: 0.18em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	vertical-align: baseline;
	box-shadow: none;
}

.sw-text-stack > * + * {
	margin-block-start: clamp(0.75rem, 1.6vw, 1.25rem);
}


@media (max-width: 781px) {
	.is-style-sw-band {
		padding-top: var(--wp--preset--spacing--lg);
		padding-bottom: var(--wp--preset--spacing--lg);
	}

	.is-style-sw-section-shell {
		padding-top: var(--wp--preset--spacing--lg) !important;
		padding-bottom: var(--wp--preset--spacing--lg) !important;
		padding-left: var(--wp--preset--spacing--xs) !important;
		padding-right: var(--wp--preset--spacing--xs) !important;
	}
}
