/*
 * Schicht 40: Patterns. Regeln, die nur für eine bestimmte Sektion gelten.
 */

/* Brand Statement Band */
.lg-statement {
	position: relative;
}

.lg-statement__inner {
	display: grid;
	gap: var(--lg-space-6);
	align-items: center;
}

@media (min-width: 960px) {
	.lg-statement__inner {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		gap: var(--lg-space-8);
	}
}

.lg-statement__claim {
	font-family: var(--lg-font-display);
	font-size: clamp(2.8rem, 1.6rem + 5vw, 6rem);
	font-weight: 900;
	line-height: 0.86;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 0;
	color: var(--lg-ctx-ink);
}

.lg-statement__claim em {
	font-style: normal;
	display: block;
	color: var(--lg-ctx-accent);
}

.lg-context-light .lg-statement__claim em,
.lg-context-gray .lg-statement__claim em {
	color: var(--lg-color-bordeaux);
}

.lg-statement__text > p {
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
	color: var(--lg-ctx-ink-muted);
	max-width: 48ch;
}

/* Ergebnisabschnitt auf schwarzem Grund */
.lg-results-band {
	position: relative;
}

.lg-results-band .lg-section-header__title {
	color: var(--lg-color-white);
}

/* Vereinsfinder CTA Band */
.lg-finder {
	position: relative;
	isolation: isolate;
}

.lg-finder__inner {
	display: grid;
	gap: var(--lg-space-6);
	align-items: center;
}

@media (min-width: 900px) {
	.lg-finder__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--lg-space-8);
	}
}

.lg-finder__title {
	font-family: var(--lg-font-display);
	font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem);
	font-weight: 900;
	line-height: 0.95;
	text-transform: uppercase;
	margin: 0;
	color: var(--lg-color-white);
}

.lg-finder__text {
	margin: var(--lg-space-4) 0 0;
	color: rgba(255, 255, 255, 0.86);
	max-width: 52ch;
}

/* Nürnberg Sektion */
.lg-city__inner {
	display: grid;
	gap: var(--lg-space-6);
}

@media (min-width: 960px) {
	.lg-city__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
		gap: var(--lg-space-8);
		align-items: center;
	}
}

.lg-city__title {
	font-family: var(--lg-font-display);
	font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem);
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
	margin: 0 0 var(--lg-space-5);
	color: var(--lg-ctx-ink);
}

.lg-city__visual {
	position: relative;
	border-radius: var(--lg-radius-card);
	overflow: hidden;
	border: 1px solid var(--lg-ctx-line);
	background-color: var(--lg-color-warm-gray);
}

.lg-city__visual .lg-svg {
	inline-size: 100%;
}

/* Sandstein Materialreferenz, rein per CSS erzeugt. */
.lg-sandstone {
	background-color: #e8e2da;
	background-image:
		repeating-linear-gradient(
			0deg,
			rgba(150, 120, 92, 0.09) 0 2px,
			transparent 2px 9px
		),
		repeating-linear-gradient(
			90deg,
			rgba(150, 120, 92, 0.07) 0 1px,
			transparent 1px 26px
		);
}

/* Athletenabschnitt */
.lg-athletes__note {
	margin-top: var(--lg-space-6);
}

/* News Abschnitt */
.lg-news-grid > .lg-card:first-child {
	grid-column: auto;
}

@media (min-width: 960px) {
	.lg-news-grid--feature {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Wettkampfabschnitt: Karte plus Nebenspalte */
.lg-next-event__aside {
	display: grid;
	gap: var(--lg-space-5);
	align-content: start;
}

.lg-fact {
	padding: var(--lg-space-5);
	border: 1px solid var(--lg-ctx-line);
	border-radius: var(--lg-radius-card);
	background-color: var(--lg-ctx-surface);
	display: grid;
	gap: var(--lg-space-2);
}

.lg-context-light .lg-fact {
	background-color: var(--lg-color-warm-gray);
	border-color: transparent;
}

.lg-fact__title {
	font-family: var(--lg-font-display);
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0;
	line-height: 1.05;
	color: var(--lg-ctx-ink);
}

.lg-fact__text {
	margin: 0;
	font-size: 0.95rem;
	color: var(--lg-ctx-ink-muted);
}
