/* =========================================================================
   GO26 – German Street Racket Open 2026
   Alle Regeln sind auf .go26 gescoped und beeinflussen das Theme nicht.

   Palette aus dem Elementor-Kit:
     583f6c5                    -> #FCD404  (Hauptgelb: Flaechen + Text auf Violett)
     setup_wizard_cutom_color_0 -> #260048  (dunkelviolett)
     80e0d33                    -> #300052  (nur H1)
     Zitattext laut Export       #F8F812  (helleres Zitronengelb)
   ====================================================================== */

/* --- Webfonts (lokal, kein Google-Request) ----------------------------- */

@font-face {
	font-family: "GO26 Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/montserrat-v31-latin-regular.woff2") format("woff2");
}

@font-face {
	font-family: "GO26 Montserrat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/montserrat-v31-latin-700.woff2") format("woff2");
}

@font-face {
	font-family: "GO26 Montserrat";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/montserrat-v31-latin-800.woff2") format("woff2");
}

/* --- Design-Token ------------------------------------------------------ */

.go26 {
	--go26-yellow: #fcd404;
	--go26-yellow-lemon: #f8f812;
	--go26-yellow-veil: #f9e43cbf;
	--go26-purple: #260048;
	--go26-purple-deep: #300052;
	--go26-purple-veil: #26004885;
	--go26-ink: #1b252f;
	--go26-white: #fff;
	--go26-grey: #645757;

	--go26-font: "GO26 Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--go26-shell: 1200px;
	--go26-pad-x: clamp(1.25rem, 5vw, 3.5rem);
	--go26-pad-y: clamp(2.5rem, 6vw, 5.5rem);
}

/* --- Basis ------------------------------------------------------------- */

.go26,
.go26 p,
.go26 li,
.go26 cite,
.go26 h1,
.go26 h2,
.go26 h3,
.go26 h4,
.go26 button,
.go26 .wp-element-button {
	font-family: var(--go26-font);
}

.go26 {
	background: var(--go26-yellow);
	color: var(--go26-purple);
	line-height: 1.6;
}

html:has(.go26) {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html:has(.go26) {
		scroll-behavior: auto;
	}
}

.go26 :focus-visible {
	outline: 3px solid var(--go26-purple);
	outline-offset: 3px;
}

.go26-section--dark :focus-visible,
.go26-signups :focus-visible,
.go26-header :focus-visible,
.go26-footer :focus-visible,
.go26-quote__body :focus-visible {
	outline-color: var(--go26-yellow);
}

.go26 img {
	max-width: 100%;
	height: auto;
}

/* Das Theme rundet Cover-Bloecke und Bilder mit 16px ab. Die Sektionen
   sollen randlos ineinander laufen. */
.go26 .wp-block-cover,
.go26 .wp-block-cover img,
.go26 .wp-block-cover video,
.go26 .go26-quote img {
	border-radius: 0;
}

/* Ohne das setzt der Block-Gap 24px zwischen die Sektionen – dort blitzt
   der Seitenhintergrund durch und die Shape Divider wirken abgeloest. */
.go26 > * {
	margin-block: 0;
}

/* --- Sektionen --------------------------------------------------------- */

.go26-section {
	position: relative;
	padding: var(--go26-pad-y) var(--go26-pad-x);
	overflow: hidden;
}

.go26-section--light {
	color: var(--go26-purple);
	background: var(--go26-yellow);
}

.go26-section--dark {
	color: var(--go26-yellow);
	background: var(--go26-purple);
}

/* Links: auf gelbem Grund violett, auf violettem Grund gelb. */
.go26-section--light a {
	color: var(--go26-purple);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.go26-section--light a:hover,
.go26-section--light a:focus-visible {
	color: var(--go26-purple-deep);
	text-decoration-thickness: 2px;
}

.go26-section--dark a,
.go26-signups a {
	color: var(--go26-yellow);
	text-underline-offset: 0.2em;
}

/* --- Shape Divider ------------------------------------------------------
   Höhen 1:1 aus dem Elementor-Export. Die Kante bekommt jeweils die Farbe
   der ANGRENZENDEN Sektion, damit der Schnitt sauber wirkt.
   ---------------------------------------------------------------------- */

.go26-hero::before,
.go26-hero::after,
.go26-counter::before,
.go26-event::before,
.go26-signups::before,
.go26-signups::after,
.go26-sponsors::before,
.go26-sponsors::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	z-index: 3;
	pointer-events: none;
}

/* Hero: Dreieck oben (halbtransparent), flache Tilt-Kante unten. */
.go26-hero::before {
	top: 0;
	height: 132px;
	background: var(--go26-purple-veil);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.go26-hero::after {
	bottom: 0;
	height: 31px;
	background: var(--go26-yellow);
	clip-path: polygon(0 0, 0 100%, 100% 100%);
}

/* Counter: Tilt oben, 60px, negativ gespiegelt, Farbe der Sektion darüber. */
.go26-counter::before {
	top: 0;
	height: 60px;
	background: var(--go26-yellow);
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

/* Event: Tilt oben, 88px, Farbe der Counter-Sektion darüber. */
.go26-event::before {
	top: 0;
	height: 88px;
	background: var(--go26-purple);
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

/* Anmeldung: Tilt oben 73px und unten 65px, beide horizontal gespiegelt. */
.go26-signups::before {
	top: 0;
	height: 73px;
	background: var(--go26-yellow);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

.go26-signups::after {
	bottom: 0;
	height: 65px;
	background: var(--go26-yellow);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* Sponsoren: Tilt oben 75px und unten 70px, jeweils gelb. */
.go26-sponsors::before {
	top: 0;
	height: 75px;
	background: var(--go26-yellow);
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.go26-sponsors::after {
	bottom: 0;
	height: 70px;
	background: var(--go26-yellow);
	clip-path: polygon(0 0, 0 100%, 100% 100%);
}

/* Der Inhalt muss unter den Kanten wegbleiben. */
.go26-counter {
	padding-top: calc(var(--go26-pad-y) + 60px);
}

.go26-event {
	padding-top: calc(var(--go26-pad-y) + 88px);
}

.go26-sponsors {
	padding-top: calc(var(--go26-pad-y) + 75px);
	padding-bottom: calc(var(--go26-pad-y) + 70px);
}

@media (max-width: 781px) {
	.go26-hero::before {
		height: 65px;
	}

	.go26-counter::before,
	.go26-event::before,
	.go26-signups::before,
	.go26-signups::after,
	.go26-sponsors::before,
	.go26-sponsors::after {
		height: 34px;
	}

	.go26-counter,
	.go26-event {
		padding-top: calc(var(--go26-pad-y) + 34px);
	}

	.go26-sponsors {
		padding-top: calc(var(--go26-pad-y) + 34px);
		padding-bottom: calc(var(--go26-pad-y) + 34px);
	}
}

/* --- Überschriften ----------------------------------------------------- */

.go26 .go26-h1 {
	margin: 0 0 clamp(2rem, 5vw, 3.5rem);
	color: var(--go26-purple-deep);
	font-size: clamp(2.1rem, 6.5vw, 4.6rem);
	font-weight: 800;
	line-height: 1.04;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.go26 .go26-h2 {
	margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
	color: inherit;
	font-size: clamp(1.7rem, 4.2vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
	text-wrap: balance;
}

.go26 .go26-h3 {
	margin: 0 0 1.25rem;
	color: inherit;
	font-size: clamp(1.15rem, 2.4vw, 1.6rem);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.go26 .go26-lead {
	margin-inline: 0;
}

.go26 .go26-lead p {
	font-size: clamp(1rem, 1.3vw, 1.08rem);
}

/* --- Hero -------------------------------------------------------------- */

.go26-hero {
	/* Der Trailer ist 16:9 (1920x1080). Bei fester Hoehe schneidet
	   object-fit: cover oben und unten ab – bei 600px waren das rund 220px.
	   56.25vw ist genau 9/16 der Fensterbreite, also die Hoehe, bei der das
	   Video vollstaendig ins Bild passt. Der Deckel auf 100vh verhindert,
	   dass der Hero auf breiten Monitoren ueber den Bildschirm hinauswaechst.
	   !important, weil der Cover-Block seine min-height inline setzt. */
	min-height: min(56.25vw, 100vh) !important;
	/* Der Cover-Block bringt 32px Innenabstand mit – das Logo soll aber bei
	   20px sitzen, wie im Original. */
	padding: 0;
	/* Das Cover-Element ist flex-direction: row – die Vertikale laeuft also
	   ueber align-items, nicht ueber justify-content. */
	align-items: flex-start;
}

@media (max-width: 781px) {
	/* Hochkant waere 56.25vw nur gut 200px hoch – dort ist ein Beschnitt das
	   kleinere Uebel. Muss nach der Regel oben stehen: gleiche Spezifitaet,
	   also entscheidet die Reihenfolge. */
	.go26-hero {
		min-height: 420px !important;
	}
}

.go26-hero > .wp-block-cover__inner-container {
	width: 100%;
	/* Muss ueber der Dreiecksflaeche liegen (z-index 3). */
	z-index: 5;
}

.go26-signups > .wp-block-cover__inner-container {
	position: relative;
	z-index: 6;
}

.go26-hero .wp-block-cover__video-background {
	object-fit: cover;
}

.go26-hero .go26-hero__logo {
	position: relative;
	z-index: 4;
	margin: 20px auto 0;
}

.go26-hero .go26-hero__logo img {
	width: 100px;
	height: auto;
}

/* --- Eckdaten ---------------------------------------------------------- */

.go26 .go26-facts {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.go26-fact {
	position: relative;
	padding-top: 5.5rem;
	text-align: center;
}

.go26-fact::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 4rem;
	height: 4rem;
	background-color: var(--go26-purple);
	transform: translateX(-50%);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.go26-fact--date::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E");
}

.go26-fact--place::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6.2 7-11.4A7 7 0 0 0 5 10.1c0 5.2 7 11.4 7 11.4Z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6.2 7-11.4A7 7 0 0 0 5 10.1c0 5.2 7 11.4 7 11.4Z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
}

.go26-fact--time::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.8V12l3.4 2.1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.8V12l3.4 2.1'/%3E%3C/svg%3E");
}

.go26 .go26-fact__title {
	margin: 0 0 0.4rem;
	font-size: 1.25rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.go26 .go26-fact__text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}

/* --- Counter ----------------------------------------------------------- */

.go26 .go26-counters {
	gap: clamp(1.5rem, 4vw, 3rem);
	text-align: center;
}

.go26 .go26-count {
	margin: 0;
	color: var(--go26-yellow);
	font-size: clamp(2.6rem, 7vw, 5rem);
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.go26 .go26-count__label {
	margin: 0.4rem 0 0;
	color: var(--go26-yellow);
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

/* --- Ornament zwischen Text und Toggles -------------------------------- */

.go26 .go26-ornament {
	width: 41%;
	height: 10px;
	margin: clamp(2.5rem, 5vw, 4rem) auto;
	border: 0;
	background-image: repeating-linear-gradient(
		115deg,
		var(--go26-purple) 0,
		var(--go26-purple) 9px,
		transparent 9px,
		transparent 21px
	);
	opacity: 1;
}

/* --- Accordion (Core-Block) -------------------------------------------- */

.go26 .wp-block-accordion {
	--wp--style--block-gap: 0;
}

.go26 .wp-block-accordion-item {
	margin-top: 0;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 0;
	box-shadow: none;
}

.go26 .wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: 0.75rem;
}

.go26 .wp-block-accordion-heading {
	margin: 0;
	color: inherit;
	font-size: clamp(0.98rem, 1.5vw, 1.1rem);
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
}

.go26 .wp-block-accordion-heading__toggle {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	padding: 0.95rem 1.1rem;
	text-transform: uppercase;
	color: inherit;
	font: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: opacity 0.18s ease;
}

.go26 .wp-block-accordion-heading__toggle:hover,
.go26 .wp-block-accordion-heading__toggle:focus-visible {
	background: transparent;
	opacity: 0.68;
}

.go26 .wp-block-accordion-heading__toggle-icon {
	order: -1;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	font-size: 1.35rem;
	border: 0;
	font-weight: 700;
	line-height: 1;
	transition: transform 0.2s ease;
}

.go26 .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
	transform: rotate(45deg);
}

/* Der Core-Block blendet geschlossene Panels per display:none aus – das ist
   nicht animierbar. Stattdessen bleibt das Panel im Fluss und wird ueber die
   Hoehe auf- und zugefahren (Pixelwerte setzt assets/js/go26.js).
   Der Innenabstand liegt auf den Kindern, sonst haette das geschlossene
   Panel wegen box-sizing: border-box weiterhin die Padding-Hoehe. */
.go26 .wp-block-accordion-panel {
	display: block;
	height: 0;
	padding: 0;
	overflow: hidden;
	transition: height 0.32s ease;
}

.go26 .wp-block-accordion-item.is-open > .wp-block-accordion-panel {
	height: auto;
}

.go26 .wp-block-accordion-panel > * {
	margin-inline: 3.3rem 1.1rem;
}

.go26 .wp-block-accordion-panel > *:last-child {
	padding-bottom: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.go26 .wp-block-accordion-panel {
		transition: none;
	}
}

.go26 .wp-block-accordion-panel ul {
	margin-block: 0;
	padding-left: 1.15rem;
}

.go26 .wp-block-accordion-panel li + li {
	margin-top: 0.7rem;
}

/* --- Toggles "Schul-Workshops" / "Das Turnier" ------------------------- */

.go26 .go26-toggle-cols {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.go26 .go26-toggle .wp-block-accordion-item {
	border: 0;
}

.go26 .go26-toggle .wp-block-accordion-heading {
	font-size: clamp(1.2rem, 2.6vw, 1.7rem);
	font-weight: 800;
	letter-spacing: 0.02em;
}

.go26 .go26-toggle .wp-block-accordion-heading__toggle {
	justify-content: space-between;
	padding-inline: 0;
}

.go26 .go26-toggle .wp-block-accordion-heading__toggle-icon {
	order: 0;
	width: 2rem;
	height: 2rem;
}

.go26 .go26-toggle .wp-block-accordion-panel {
	padding: 0;
}

.go26 .go26-toggle .wp-block-accordion-panel > * {
	margin-inline: 0;
}

.go26 .go26-toggle .wp-block-accordion-panel > *:last-child {
	padding-bottom: 1.5rem;
}

/* --- Anmeldung --------------------------------------------------------- */

.go26-signups {
	color: var(--go26-yellow);
}

.go26 .go26-cta__kicker {
	margin: 0 0 0.4rem;
	color: var(--go26-yellow);
	font-size: clamp(1.05rem, 2.2vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.go26 .go26-signups .go26-h2 {
	color: var(--go26-white);
}

.go26 .go26-signup-cols {
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-top: clamp(2rem, 4vw, 3rem);
}

.go26 .go26-signup {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.go26 .go26-signup::before {
	content: "";
	order: 1;
	box-sizing: content-box;
	width: 80px;
	height: 80px;
	padding: 30px;
	margin-bottom: 1.5rem;
	background-color: var(--go26-yellow-veil);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23260048' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2.5H6.5A1.5 1.5 0 0 0 5 4v10'/%3E%3Cpath d='M14 2.5 19 7.5V12'/%3E%3Cpath d='M14 2.5V7a.5.5 0 0 0 .5.5H19'/%3E%3Cpath d='M3 20c1.6 0 1.6-2 3.2-2s1.6 2 3.2 2 1.6-2 3.2-2 1.6 2 3.2 2 1.6-2 3.2-2'/%3E%3Cpath d='M8.5 15.5c1.8-1.2 3.4-3 3.4-4.6 0-1-.6-1.6-1.3-1.4-1 .3-1.2 2.2-.6 4.4.4 1.5 1.3 2.6 2.3 2.6.9 0 1.5-.8 1.9-1.7'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 80px 80px;
	border-radius: 12px;
}

.go26 .go26-signup__title {
	order: 0;
	margin: 0 0 1.25rem;
	color: var(--go26-yellow);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.go26 .go26-signup .wp-block-buttons {
	order: 2;
}

@media (max-width: 781px) {
	.go26 .go26-signup::before {
		width: 70px;
		height: 70px;
		padding: 22px;
		background-size: 70px 70px;
	}
}

/* --- Buttons ----------------------------------------------------------- */

.go26 .wp-block-button.go26-button .wp-block-button__link {
	padding: 0.85em 2em;
	color: var(--go26-purple);
	font-weight: 800;
	font-size: 0.9rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	background: var(--go26-yellow);
	border: 2px solid var(--go26-yellow);
	border-radius: 999px;
}

.go26 .wp-block-button.go26-button .wp-block-button__link:hover,
.go26 .wp-block-button.go26-button .wp-block-button__link:focus-visible {
	color: var(--go26-yellow);
	background: var(--go26-purple);
	border-color: var(--go26-purple);
}

/* Auf gelber Flaeche waere ein gelber Button unsichtbar. */
.go26-section--light .wp-block-button.go26-button .wp-block-button__link {
	color: var(--go26-yellow);
	background: var(--go26-purple);
	border-color: var(--go26-purple);
}

.go26-section--light .wp-block-button.go26-button .wp-block-button__link:hover,
.go26-section--light .wp-block-button.go26-button .wp-block-button__link:focus-visible {
	color: var(--go26-purple);
	background: var(--go26-white);
	border-color: var(--go26-purple);
}

.go26 .wp-block-button.go26-button--ghost .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 0.75em 1em;
	color: var(--go26-purple);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	background: var(--go26-yellow);
	border: 0;
	border-radius: 0;
}

.go26 .wp-block-button.go26-button--ghost .wp-block-button__link:hover,
.go26 .wp-block-button.go26-button--ghost .wp-block-button__link:focus-visible {
	color: var(--go26-yellow);
	background: var(--go26-purple);
}

/* --- FAQ --------------------------------------------------------------- */

.go26 .go26-faq-cols {
	gap: clamp(2rem, 5vw, 4rem);
}

/* --- Zitat ------------------------------------------------------------- */

.go26 .go26-quote {
	gap: 0;
	margin-block: 0;
	background: var(--go26-ink);
}

.go26 .go26-quote > .wp-block-column {
	margin: 0;
}

.go26 .go26-quote__media {
	position: relative;
	min-height: 400px;
	overflow: hidden;
}

.go26 .go26-quote__img {
	position: absolute;
	inset: 0;
	margin: 0;
}

.go26 .go26-quote__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.go26 .go26-quote__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4rem);
	color: var(--go26-white);
	background: var(--go26-ink);
}

/* Theme-Styles des Zitat-Blocks zurücksetzen. */
.go26 .go26-quote__text {
	margin: 0;
	padding: 0;
	color: var(--go26-yellow-lemon);
	background: none;
	border: 0;
	box-shadow: none;
}

/* Das Theme setzt ::before und ::after als absolut positionierte 32px-Kaesten
   mit eigenem Hintergrund. Beide muessen vollstaendig zurueckgesetzt werden,
   sonst wird das Anfuehrungszeichen in die Box gequetscht und umgebrochen.
   Die vier Klassen sind noetig, um die Theme-Spezifitaet zu schlagen. */
.go26 .go26-quote .go26-quote__body .go26-quote__text::before {
	content: "\201C";
	position: static;
	display: block;
	width: auto;
	height: auto;
	inset: auto;
	padding: 0;
	margin: 0 0 -0.5rem;
	color: var(--go26-yellow);
	font-size: clamp(3.5rem, 8vw, 5.5rem);
	font-weight: 800;
	line-height: 1;
	background: none;
	border: 0;
	border-radius: 0;
	opacity: 1;
	transform: none;
}

.go26 .go26-quote .go26-quote__body .go26-quote__text::after {
	content: none;
	display: none;
}

.go26 .go26-quote__text p {
	margin: 0;
	font-size: clamp(1.5rem, 3.2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.14;
	text-transform: uppercase;
}

.go26 .go26-quote .go26-quote__body .go26-quote__text cite {
	display: block;
	margin-top: 1.5rem;
	color: var(--go26-white);
	font-size: 0.85rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

@media (max-width: 781px) {
	.go26 .go26-quote__media {
		min-height: 260px;
	}
}

/* --- Sponsoren --------------------------------------------------------- */

/* Violette Lasur ueber dem Hintergrundbild. background-blend-mode: multiply
   verdunkelte die Sektion fast auf Schwarz, deshalb ein Farbverlauf als
   zweite Ebene statt eines Blend-Modes. */
.go26-sponsors {
	background-image:
		linear-gradient(rgb(38 0 72 / 80%), rgb(38 0 72 / 80%)),
		url("https://3deutig.com/wp-content/uploads/2026/08/BG2_Quer-scaled.png");
	background-position: center;
	background-size: cover;
}

.go26 .go26-sponsors__main,
.go26 .go26-sponsors__row {
	gap: clamp(1.5rem, 3vw, 2rem);
	align-items: stretch;
}

.go26 .go26-sponsors__row {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.go26 .go26-sponsor {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 0;
	padding: 0;
	overflow: hidden;
	border: 3px solid var(--go26-yellow);
	text-align: center;
}

.go26 .go26-sponsor--main {
	max-width: 520px;
	margin-inline: auto;
}

.go26 .go26-sponsor__label {
	margin: 0;
	padding: 0.9rem 1rem 0.3rem;
	color: var(--go26-yellow);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.go26 .go26-sponsor__logo {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.go26 .go26-sponsor .wp-block-buttons {
	width: 100%;
}

.go26 .go26-sponsor .wp-block-button {
	width: 100%;
}

.go26 .go26-sponsor__logo img {
	width: auto;
	max-width: 100%;
	max-height: 90px;
	object-fit: contain;
	/* Das Theme rundet Bilder ab – Logos sollen kantig bleiben. */
	border-radius: 0;
}

.go26 .go26-sponsor--main .go26-sponsor__logo img {
	max-height: 130px;
}

/* --- Header ------------------------------------------------------------ */

.go26-header {
	position: sticky;
	top: 0;
	z-index: 30;
	padding: 0.7rem var(--go26-pad-x);
	color: var(--go26-white);
	background: rgb(38 0 72 / 94%);
	backdrop-filter: blur(8px);
}

.go26-header__inner {
	max-width: var(--go26-shell);
	margin-inline: auto;
	gap: 1rem;
}

.go26-header__logo {
	margin: 0;
}

.go26-header__logo img {
	display: block;
}

.go26 .go26-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(0.7rem, 2.2vw, 1.8rem);
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.go26 .go26-nav a {
	color: var(--go26-white);
	text-decoration: none;
}

.go26 .go26-nav a:hover,
.go26 .go26-nav a:focus-visible {
	color: var(--go26-yellow);
}

.go26 .go26-nav__cta {
	padding: 0.5em 1.15em;
	color: var(--go26-purple) !important;
	background: var(--go26-yellow);
	border-radius: 999px;
}

.go26 .go26-nav__cta:hover,
.go26 .go26-nav__cta:focus-visible {
	background: var(--go26-white);
}

@media (max-width: 781px) {
	.go26-header {
		position: static;
	}

	.go26 .go26-nav {
		font-size: 0.75rem;
	}
}

/* --- Footer ------------------------------------------------------------ */

.go26-footer {
	padding: clamp(2.5rem, 6vw, 4rem) var(--go26-pad-x) 2rem;
	color: var(--go26-white);
	font-size: 0.92rem;
	background: var(--go26-ink);
	border-top: 4px solid var(--go26-yellow);
}

.go26-footer__cols {
	max-width: var(--go26-shell);
	margin-inline: auto;
}

.go26 .go26-footer a {
	color: var(--go26-yellow);
}

.go26 .go26-footer__head {
	margin: 0 0 0.7rem;
	color: var(--go26-yellow);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.go26 .go26-footer__legal {
	max-width: var(--go26-shell);
	margin: 2.5rem auto 0;
	padding-top: 1.5rem;
	font-size: 0.82rem;
	color: rgb(255 255 255 / 60%);
	border-top: 1px solid rgb(252 212 4 / 30%);
}
