/* Projektspezifisches CSS – wird von YOOtheme Pro automatisch geladen. */

/* === ic-yoo-mcp:start — verwaltet, NICHT manuell editieren === */
/* Elementspezifisches CSS. Strukturell 1:1 aus dem Gersthof-Child-Theme
   (Live-Stand), damit ein Abgleich mit Gersthof ein sauberer Diff bleibt.
   GEAENDERT sind ausschliesslich die Farben: sie liegen als Custom Properties
   in :root und spiegeln die Palette aus YOOtheme > STIL. Klassennamen wurden
   bewusst NICHT umbenannt - das Markup der Seiten haengt daran. */

:root {
	--wmp-primary: #4A7FA9;         /* @global-primary-background   (Gersthof: #6E9356) */
	--wmp-ink: #1E2E3C;             /* @global-secondary-background (Gersthof: #1B2B20) */
	--wmp-surface: #CFDAE2;         /* @global-muted-background     (Gersthof: #F3EEE3) */
	--wmp-surface-light: #EAF0F5;   /* @inverse-base-heading-color  (Gersthof: #F8F2E5) */
	--wmp-accent: #9DB9D6;          /* Footer-/Hero-Akzent          (Gersthof: #A3BF85) */
}

/* ===================================================================
* FONTS
* =================================================================== */

/* satisfy-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Satisfy';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/satisfy-v22-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ===================================================================
* NAVBAR
* =================================================================== */

.uk-icon.uk-navbar-toggle-icon svg {
    width: 30px; /* Standardwert ist meist kleiner, z.B. 20px */
}

/* ===================================================================
* BILDER
* =================================================================== */

img.uk-border-rounded {
	border-radius: 10px;
}

/* ===================================================================
* HERO
* =================================================================== */

.hero--written-typo {
	font-family: 'Satisfy', serif;
	font-size: 4.6rem;
	color: var(--wmp-surface-light);
}

/* ===================================================================
* Teaser-Zeilen
* =================================================================== */

/* 04.09.2026 entsperrt: die Regel galt nur innerhalb .numbered-verticale-tile.
   Der Schranken-Ablauf auf Wohnmobile nutzt dieselbe Klasse, seine Zeile hat
   aber kein .numbered-verticale-tile - dort standen 01-04 als schlichter
   Fliesstext. */
.primary-lead-number {
	font-family: 'Fraunces';
	font-size: 46px;
	font-weight: 300;
	color: var(--wmp-primary);
}

@media (min-width: 1200px) {
	.numbered-verticale-tile .uk-first-column {
		max-width: 160px !important;
	}
}


/* ===================================================================
* Overlay Bildergalerie
* =================================================================== */

.overlay-primary--number-left-col {
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.overlay-primary--number {
	display: flex;
	flex-direction: column;
	font-weight: 800;
}

/* -------- Abrundung der Bilder -------- */

.overlay-primary--number .uk-transition-toggle.uk-inline-clip {
	border-radius: 10px;
}

/* -------- Nummern -------- */

.overlay-primary--number.-number-bottom-left,
.overlay-primary--number.-number-bottom-right {
	align-items: flex-start;
}

.overlay-primary--number.-number-top-right {
	align-items: flex-end;
	gap: 10px;
}

/* -------- Linien -------- */

.overlay-primary--number.-number-bottom-left::before,
.overlay-primary--number.-number-bottom-right::before,
.overlay-primary--number.-number-top-right::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin-bottom: 10px;
	background: var(--wmp-ink);
}

/* -------- Mobil -------- */

@media (max-width: 959px) {
	.overlay-primary--number {
		width: 100%;
	}
	.overlay-primary--number.-number-bottom-left,
	.overlay-primary--number.-number-bottom-right,
	.overlay-primary--number.-number-top-right {
		margin-bottom: 40px !important;
	}
}

/* -------- Desktop (@m) -------- */

@media (min-width: 960px) {
	.overlay-primary--number.-number-bottom-left {
		position: absolute;
	}

	.overlay-primary--number.-number-bottom-right {
		align-items: flex-end;
	}

	.overlay-primary--number.-number-top-right {
		margin-bottom: 10px !important;
	}
}

/* -------- Höhe & Breite für die Overlay-Bilder -------- */

:root {
	--gersthof-width-large: 420px;
	--gersthof-width-xlarge: 450px;

	--gersthof-height-reference: 230px;
	--gersthof-height-mobile: 380px;
}

/* -------- Breite für die Bilder -------- */

@media (min-width: 960px) {
	.overlay-primary--number.-image-width-large {
		width: var(--gersthof-width-large);
	}

	.overlay-primary--number.-image-width-xlarge {
		width: var(--gersthof-width-xlarge);
	}

	.overlay-primary--number.-image-width-2xlarge {
		width: 100%;
	}
}


/* -------- Höhe für die Bilder -------- */

.overlay-primary--number.-image-height-small img,
	.overlay-primary--number.-image-height-medium img,
	.overlay-primary--number.-image-height-large img,
	.overlay-primary--number.-image-height-xlarge img {
		height: var(--gersthof-height-mobile);
		object-fit: cover;
}

@media (min-width: 960px) {
	.overlay-primary--number.-image-height-small img {
		height: var(--gersthof-height-reference);
	}

	.overlay-primary--number.-image-height-medium img {
		height: calc(var(--gersthof-height-reference) * 1.6);
	}

	.overlay-primary--number.-image-height-large img {
		height: calc(var(--gersthof-height-reference) * 2);
	}

	.overlay-primary--number.-image-height-xlarge img {
		height: calc(var(--gersthof-height-reference) * 2.4);
	}
}


/* ===================================================================
* Divider
* =================================================================== */

.divider--small-bold::after {
	border: 1px solid var(--wmp-surface) !important;
}


/* ===================================================================
* Logo (Kreis)
* =================================================================== */

@media (min-width: 1200px) {
	.kreis-logo {
		position: absolute !important;
		top: -310px;
	}
}

/* ===================================================================
* FLEX
* =================================================================== */

@media (min-width: 1200px) {
	.gersthof-flex {
		display: flex;
		flex-direction: row;
		gap: 20px;
	}

	.gersthof-flex.-right-aligned {
		justify-content: flex-end;
	}
}

/* ===================================================================
* SLIDER
* =================================================================== */

.gh-slider .el-meta {
	display: flex;
    flex-direction: column;
    align-items: flex-end;
	gap: 10px;
}

.gh-slider .el-meta::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	background: white; /* var(--wmp-ink) = #1E2E3C */
}

/* ===================================================================
* PANEL DEFAULT
* =================================================================== */

.gh-panel-default .el-title::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin-top: 10px;
	background: var(--wmp-ink);
}


.gh-panel-default.-absolute {
	position: relative;
}


.gh-panel-default.-with-image .uk-grid {
	display: flex;
}

@media (max-width: 1200px) {
	.gh-panel-default.-with-image .uk-grid {
		flex-direction: column;
	}

	.gh-panel-default.-with-image .el-title::after {
		margin-left: auto;
		margin-right: auto;
	}
}

@media (min-width: 1200px) {
	.gh-panel-default.-absolute {
		position: absolute;
		left: -220px;
		top: -220px;
	}
}


/* ===================================================================
* PANEL PRIMARY
* =================================================================== */

.gh-panel-primary .el-title::after,
.gh-panel-secondary .el-title::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin-top: 10px;
	background: var(--wmp-surface);
}

@media (max-width: 1200px) {
	.gh-panel-primary.-with-image .el-title::after,
	.gh-panel-secondary.-with-image .el-title::after {
		margin-left: auto;
		margin-right: auto;
	}
}


/* ===================================================================
* COLUMN
* =================================================================== */

.gh-col-fixed-height-800 {
	height: 800px;
}

/* ===================================================================
* FOOTER
* =================================================================== */

.footer--written-typo {
	font-family: 'Satisfy', serif;
	font-size: 2.4rem;
	color: var(--wmp-accent);
}

.footer--headline {
	font-family: 'Mulish', sans-serif;
	color: var(--wmp-accent) !important;
	text-transform: uppercase;
	font-size: 1rem;
}

/* ===================================================================
* HEADER – Hintergrund in Primaerblau (03.09.2026)
* =================================================================== */

.tm-header .uk-navbar-container,
.tm-header-mobile .uk-navbar-container,
.tm-header > .uk-sticky-placeholder,
.tm-header-mobile > .uk-sticky-placeholder {
	background: var(--wmp-primary) !important;
}

.tm-header .uk-navbar-toggle,
.tm-header-mobile .uk-navbar-toggle,
.tm-header .uk-navbar-nav > li > a,
.tm-header-mobile .uk-navbar-nav > li > a {
	color: #FFFFFF !important;
}

/* Header-Buttons auf Primaerblau: weiss statt blau */
.tm-header .uk-button-default,
.tm-header-mobile .uk-button-default {
	color: #FFFFFF !important;
	border-color: #FFFFFF !important;
	background: transparent !important;
}

.tm-header .uk-button-default:hover,
.tm-header-mobile .uk-button-default:hover {
	background: rgba(255, 255, 255, 0.2) !important;
}

.tm-header .uk-button-primary,
.tm-header-mobile .uk-button-primary {
	background: var(--wmp-surface) !important;
	color: var(--wmp-ink) !important;
	border-color: var(--wmp-surface) !important;
}

/* ===================================================================
* MOBILE-KORREKTUREN (04.09.2026)
* =================================================================== */

/* -------- Handschrift-Typo skaliert jetzt mit der Viewportbreite --------
   Vorher fix 4.6rem = 92px. Auf dem Handy liefen "Wohnmobilpark Erding"
   (Home) und "Ferienwohnungen" (FeWo-Hero) rechts aus dem Bild und wurden
   abgeschnitten. Der Maximalwert 4.6rem greift ab ca. 681px Breite,
   der Desktop-Auftritt bleibt damit unveraendert. */

.hero--written-typo {
	font-size: clamp(2.4rem, 13.5vw, 4.6rem);
}

.footer--written-typo {
	font-size: clamp(1.6rem, 8vw, 2.4rem);
}

/* -------- Teaser-Bilder ("Drei gute Gruende") --------
   Die Bilder liegen im Layout jetzt in 800x480 statt 250x150, damit sie auf
   dem Handy die Spalte scharf fuellen. Ab @m bleibt es optisch beim alten
   Stand: 250px breit in der 385px-Spalte. */

@media (min-width: 960px) {
	.numbered-verticale-tile .el-image {
		max-width: 250px;
	}
}

/* -------- Tap-Ziele auf dem Handy --------
   Textlinks ("Mehr erfahren") waren nur 24px hoch, Slider-Punkte 10x10px.
   Das ::after ist unsichtbar und vergroessert nur die Trefferflaeche;
   der Unterstrich von .uk-button-text liegt auf ::before und bleibt. */

@media (max-width: 959px) {
	.uk-button-text {
		position: relative;
	}

	.uk-button-text::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		height: 44px;
		transform: translateY(-50%);
	}

	.uk-dotnav {
		margin-left: -16px;
	}

	.uk-dotnav > * {
		padding-left: 16px;
	}

	.uk-dotnav > * > * {
		width: 14px;
		height: 14px;
	}
}

/* ===================================================================
* KENNZAHLEN / PREISE (04.09.2026)
* Grid-Element mit der Klasse "wmp-facts". Zusatzklasse "-caps" macht die
* Beschriftung zur Versalzeile - nur bei kurzen Labels sinnvoll.
* Im Einsatz: Home "Die Stellplaetze" (-caps), Wohnmobile "Preise".
* =================================================================== */

:root {
	--wmp-muted: #55606A;           /* @global-muted-color */
}

/* Scoping-Korrektur: die 160px waren fuer die grosse Ziffernspalte ("01")
   gedacht, trafen ueber den Nachfahren-Selektor aber auch die erste Spalte
   des verschachtelten Preis-Grids. Dadurch war Spalte 1 nur 160px statt
   228px breit und "pro Tag = 24 Std." brach unsauber um. */

@media (min-width: 1200px) {
	.numbered-verticale-tile .uk-first-column {
		max-width: none !important;
	}

	.numbered-verticale-tile > .uk-first-column {
		max-width: 160px !important;
	}
}

/* Die Zahl: leichtes Fraunces in Primaerblau - nimmt die Optik der
   Abschnittsziffer "01" auf und liest sich als Kennzahl, nicht als
   Zwischenueberschrift. */

.wmp-facts .el-title,
.wmp-facts .el-content h4,
.wmp-number {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	font-size: 2.2rem;
	line-height: 1.05;
	color: var(--wmp-primary);
	margin: 0 0 10px 0;
}

.wmp-facts .el-title strong,
.wmp-facts .el-content h4 strong {
	font-weight: inherit;
}

/* Die Beschriftung: klein und gedaempft, direkt unter der Zahl statt
   20px darunter - Zahl und Label lesen sich als eine Einheit. */

.wmp-facts .el-content {
	margin-top: 0 !important;
}

.wmp-facts .el-content,
.wmp-facts .el-content p {
	margin-bottom: 0;
	font-size: .8rem;
	line-height: 1.5;
	color: var(--wmp-muted);
}

.wmp-facts .el-content p {
	margin-top: 0;
}

.wmp-facts.-caps .el-content,
.wmp-facts.-caps .el-content p {
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* Auf dunklem Grund (Wohnmobile liegt in einer uk-section-primary) kippen
   Zahl und Beschriftung ins Helle - sonst verschwindet das gedaempfte
   Label im Blau. */

.uk-light .wmp-facts .el-title,
.uk-light .wmp-facts .el-content h4,
.uk-section-primary .wmp-facts .el-title,
.uk-section-primary .wmp-facts .el-content h4,
.uk-section-secondary .wmp-facts .el-title,
.uk-section-secondary .wmp-facts .el-content h4,
.uk-light .wmp-number,
.uk-section-primary .wmp-number,
.uk-section-secondary .wmp-number {
	color: #FFFFFF;
}

.uk-light .wmp-facts .el-content,
.uk-light .wmp-facts .el-content p,
.uk-section-primary .wmp-facts .el-content,
.uk-section-primary .wmp-facts .el-content p,
.uk-section-secondary .wmp-facts .el-content,
.uk-section-secondary .wmp-facts .el-content p {
	color: var(--wmp-surface);
}

/* Einzelne Kennzahl ausserhalb eines wmp-facts-Grids (Ferienwohnungen "3"/"1").
   Groesser als im Grid, weil sie dort neben einer Ueberschrift steht. */

.wmp-number {
	font-size: clamp(2.4rem, 6vw, 3.4rem) !important;
}

/* ===================================================================
* PRIMARY-BUTTONS AUF DUNKLEM GRUND: WEISS STATT GRAUBLAU (04.09.2026)
*
* Die LESS-Variablen @inverse-button-primary-* stehen bereits auf Weiss
* (YOOtheme > STIL). YOOtheme kompiliert theme.1.css auf dieser Dev-Seite
* aber nicht neu, weil der Recompile-Request im Passwortschutz haengen
* bleibt. Dieser Block spiegelt die Variablen 1:1, damit die Aenderung
* jetzt schon greift. Die Selektoren sind 1:1 die des Themes (inkl.
* :not(.uk-preserve-color)), sonst gewinnt theme.css ueber die Spezifitaet.
* -> Nach dem naechsten Speichern im Customizer bzw. nach dem Livegang
*    ohne Passwortschutz kompiliert das Theme neu; dann kann dieser Block
*    ersatzlos geloescht werden.
*
* Nicht betroffen: Primary-Buttons auf hellen Sections. Die bleiben
* primaerblau mit weisser Schrift ("Absenden", "Kontakt aufnehmen").
* =================================================================== */

.tm-toolbar-default .uk-button-primary,
.uk-card-primary.uk-card-body .uk-button-primary,
.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary,
.uk-card-secondary.uk-card-body .uk-button-primary,
.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary,
.uk-light .uk-button-primary,
.uk-notification-message-danger .uk-button-primary,
.uk-notification-message-primary .uk-button-primary,
.uk-notification-message-success .uk-button-primary,
.uk-notification-message-warning .uk-button-primary,
.uk-offcanvas-bar .uk-button-primary,
.uk-overlay-primary .uk-button-primary,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary {
	background-color: #FFFFFF;
	color: var(--wmp-ink);
	border-color: transparent;
}

.tm-toolbar-default .uk-button-primary:hover,
.uk-card-primary.uk-card-body .uk-button-primary:hover,
.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary:hover,
.uk-card-secondary.uk-card-body .uk-button-primary:hover,
.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary:hover,
.uk-light .uk-button-primary:hover,
.uk-notification-message-danger .uk-button-primary:hover,
.uk-notification-message-primary .uk-button-primary:hover,
.uk-notification-message-success .uk-button-primary:hover,
.uk-notification-message-warning .uk-button-primary:hover,
.uk-offcanvas-bar .uk-button-primary:hover,
.uk-overlay-primary .uk-button-primary:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover {
	background-color: var(--wmp-surface-light);
	color: var(--wmp-ink);
	border-color: transparent;
}

/* ===================================================================
* GALERIE-HOVER (04.09.2026)
* Beim Ueberfahren eines Bildes treten die uebrigen zurueck, das
* angefasste bleibt voll da und zoomt minimal an.
*
* Warum als Klasse und nicht als Element-CSS: auf Ferienwohnungen
* schreibt YOOtheme ".el-element .el-item" zu "#page\#0 .el-item > *"
* um - eine Ebene zu tief, der Effekt greift dann nicht. Die Galerie-Seite
* nutzt dafuer noch die Element-CSS-Variante; auf Wunsch ziehe ich sie
* auch auf diese Klasse um, dann gibt es nur noch einen Mechanismus.
* =================================================================== */

.wmp-gallery .el-item {
	opacity: 1;
	transition: opacity .4s ease;
}

.wmp-gallery .el-item img {
	transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

@media (hover: hover) and (pointer: fine) {
	.wmp-gallery:has(.el-item:hover) .el-item {
		opacity: .18;
	}

	.wmp-gallery:has(.el-item:hover) .el-item:hover {
		opacity: 1;
	}

	.wmp-gallery .el-item:hover img {
		transform: scale(1.02);
	}
}

/* ===================================================================
* MARKIERFARBE (04.09.2026)
*
* Vorher: Textauswahl lag auf #4A7FA9 und <mark>/<ins> auf #CFDAE2 -
* beides sind zugleich Section-Hintergruende. Auf der jeweiligen Section
* war die Markierung damit farblich identisch mit dem Untergrund und
* praktisch unsichtbar (Farbabstand dE = 0).
*
* Jetzt Bernstein #F0B429: kommt als Flaeche nirgends vor und hat zu
* allen vier Untergruenden (weiss, #CFDAE2, #4A7FA9, #1E2E3C) einen
* Farbabstand von mindestens dE 76 - also ueberall klar sichtbar.
* Dunkler Text darauf liest sich mit 7,5:1.
*
* Wie beim Button-Block: die LESS-Variablen sind gesetzt, aber
* theme.1.css kompiliert wegen des Passwortschutzes nicht neu. Nach dem
* Livegang bzw. dem naechsten Customizer-Save kann das hier weg.
* =================================================================== */

::selection {
	background: #F0B429;
	color: var(--wmp-ink);
	text-shadow: none;
}

::-moz-selection {
	background: #F0B429;
	color: var(--wmp-ink);
	text-shadow: none;
}

mark,
ins {
	background: #F0B429;
	color: var(--wmp-ink);
}

/* ===================================================================
* HEADER: LOGO HAENGT AUS DEM HEADER, KONTAKT LINKS (07.09.2026)
*
* Ausgangslage: Logo mittig, Kontakt-Button + Toggle rechts, Header sticky
* mit "Show on up". Ziel: Kontakt links, Logo groesser und nach unten aus
* dem Header hinaus (ueberlappt den Hero). Sobald der Header beim
* Hochscrollen fixiert ist (UIkit setzt .uk-active auf das Sticky-Element),
* faehrt das Logo zurueck in den Header und wird kleiner - sonst haengt es
* ueber Fliesstext.
*
* .uk-navbar-center ist in UIkit ohnehin absolut positioniert (translate
* -50%/-50%), die Logogroesse aendert die Headerhoehe deshalb nicht.
* Der Umzug des Kontakt-Buttons nach links passiert in js/custom.js.
* =================================================================== */

@media (min-width: 960px) {
	.tm-header .uk-navbar-container {
		position: relative;
		z-index: 981;
	}

	.tm-header .uk-navbar-center {
		top: 22px !important;
		transform: translateX(-50%) !important;
		transition: top .3s ease;
	}

	.tm-header .uk-navbar-center .uk-logo img,
	.tm-header .uk-navbar-center .uk-logo svg {
		height: 180px;
		width: auto;
		max-height: none;
		transition: height .3s ease;
	}

	/* Fixiert (beim Hochscrollen): Logo wieder komplett im Header */
	.tm-header .uk-active .uk-navbar-center {
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
	}

	.tm-header .uk-active .uk-navbar-center .uk-logo img,
	.tm-header .uk-active .uk-navbar-center .uk-logo svg {
		height: 80px;
	}
}

/* Feinjustierung 07.09.2026: Logo etwas kleiner (180 -> 150px), sitzt hoeher */
@media (min-width: 960px) {
	.tm-header .uk-navbar-center {
		top: 18px !important;
	}

	.tm-header .uk-navbar-center .uk-logo img,
	.tm-header .uk-navbar-center .uk-logo svg {
		height: 150px;
	}

	.tm-header .uk-active .uk-navbar-center {
		top: 50% !important;
	}

	.tm-header .uk-active .uk-navbar-center .uk-logo img,
	.tm-header .uk-active .uk-navbar-center .uk-logo svg {
		height: 80px;
	}
}

/* 07.09.2026: Logo mittig auf der Unterkante des Headers (haelftig drin/draussen) */
@media (min-width: 960px) {
	.tm-header .uk-navbar-center {
		top: calc(100% - 75px) !important; /* halbe Logohoehe (150px) */
	}

	.tm-header .uk-active .uk-navbar-center {
		top: 50% !important;
	}
}

/* 07.09.2026: Position ueber die UIkit-Mitte (50% + translate) statt ueber
   die Unterkante des Containers - der Bezug fuer 100% war nicht der Header. */
@media (min-width: 960px) {
	.tm-header .uk-navbar-center {
		top: calc(50% + 60px) !important; /* Headerhoehe ~120px: Logomitte auf der Unterkante */
		transform: translate(-50%, -50%) !important;
	}

	.tm-header .uk-active .uk-navbar-center {
		top: 50% !important;
	}
}

/* 08.09.2026: Sticky-Zustand robust erkennen. UIkit setzt .uk-active /
   .uk-sticky-fixed auf das Sticky-Element - je nach Header-Layout ist das
   .tm-header selbst oder ein Kind davon. Beide Varianten abdecken. */
@media (min-width: 960px) {
	.tm-header.uk-active .uk-navbar-center,
	.tm-header.uk-sticky-fixed .uk-navbar-center,
	.tm-header .uk-active .uk-navbar-center,
	.tm-header .uk-sticky-fixed .uk-navbar-center {
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
	}

	.tm-header.uk-active .uk-logo img,
	.tm-header.uk-sticky-fixed .uk-logo img,
	.tm-header .uk-active .uk-logo img,
	.tm-header .uk-sticky-fixed .uk-logo img,
	.tm-header.uk-active .uk-logo svg,
	.tm-header.uk-sticky-fixed .uk-logo svg,
	.tm-header .uk-active .uk-logo svg,
	.tm-header .uk-sticky-fixed .uk-logo svg {
		height: 80px;
	}
}

/* 08.09.2026: Sticky-Logo mit Luft nach oben/unten (80 -> 60px) */
@media (min-width: 960px) {
	.tm-header.uk-active .uk-logo img,
	.tm-header.uk-sticky-fixed .uk-logo img,
	.tm-header .uk-active .uk-logo img,
	.tm-header .uk-sticky-fixed .uk-logo img,
	.tm-header.uk-active .uk-logo svg,
	.tm-header.uk-sticky-fixed .uk-logo svg,
	.tm-header .uk-active .uk-logo svg,
	.tm-header .uk-sticky-fixed .uk-logo svg {
		height: 60px;
	}
}

/* 08.09.2026: weicher Uebergang zwischen gross (oben) und klein (sticky) */
@media (min-width: 960px) {
	.tm-header .uk-navbar-center,
	.tm-header.uk-active .uk-navbar-center,
	.tm-header.uk-sticky-fixed .uk-navbar-center,
	.tm-header .uk-active .uk-navbar-center,
	.tm-header .uk-sticky-fixed .uk-navbar-center {
		transition: top .5s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.22, .61, .36, 1) !important;
	}

	.tm-header .uk-navbar-center .uk-logo img,
	.tm-header .uk-navbar-center .uk-logo svg,
	.tm-header.uk-active .uk-logo img,
	.tm-header.uk-sticky-fixed .uk-logo img,
	.tm-header .uk-active .uk-logo img,
	.tm-header .uk-sticky-fixed .uk-logo img,
	.tm-header.uk-active .uk-logo svg,
	.tm-header.uk-sticky-fixed .uk-logo svg,
	.tm-header .uk-active .uk-logo svg,
	.tm-header .uk-sticky-fixed .uk-logo svg {
		transition: height .5s cubic-bezier(.22, .61, .36, 1) !important;
		will-change: height;
	}
}

/* 08.09.2026: Nur das Groesserwerden (zurueck am Seitenanfang) animieren.
   Das Verkleinern beim Fixieren passiert ohne Uebergang - sonst sieht man
   das Schrumpfen jedes Mal, wenn der Header beim Hochscrollen einfaehrt. */
@media (min-width: 960px) {
	.tm-header.uk-active .uk-navbar-center,
	.tm-header.uk-sticky-fixed .uk-navbar-center,
	.tm-header .uk-active .uk-navbar-center,
	.tm-header .uk-sticky-fixed .uk-navbar-center,
	.tm-header.uk-active .uk-logo img,
	.tm-header.uk-sticky-fixed .uk-logo img,
	.tm-header .uk-active .uk-logo img,
	.tm-header .uk-sticky-fixed .uk-logo img,
	.tm-header.uk-active .uk-logo svg,
	.tm-header.uk-sticky-fixed .uk-logo svg,
	.tm-header .uk-active .uk-logo svg,
	.tm-header .uk-sticky-fixed .uk-logo svg {
		transition: none !important;
	}
}


/* Home alternative, 2026-09-08. Scoped to native builder sections .wa.
   Native settings provide rows, breakpoints, spacing, buttons and accordion.
   CSS supplies page-specific palette, fluid editorial type and image compositions.
   Global theme tokens are intentionally not changed for this separate design. */
.wa { --wa-ink:#173649; --wa-blue:#316787; --wa-sky:#e6f0f4; --wa-yellow:#f4cf73; font-size:18px; line-height:1.65; }

.wa > .uk-container { max-width:1360px; }

.wa .wa-kicker { font-size:15px; font-weight:700; line-height:1.5; }

.wa .wa-kicker { margin-bottom:24px; }

.wa .wa-body { font-size:18px; line-height:1.7; max-width:590px; }

.wa .wa-lead { font-size:23px; line-height:1.55; max-width:750px; margin-top:32px; }

.wa p:last-child { margin-bottom:0; }

.wa .uk-button { font-size:15px; line-height:54px; text-transform:none; letter-spacing:0; padding:0 28px; }

.wa .uk-button-primary { background:var(--wa-ink); border-color:var(--wa-ink); color:#fff; }

.wa .uk-button-primary:hover { background:var(--wa-blue); border-color:var(--wa-blue); color:#fff; }

.wa .uk-button-secondary { color:var(--wa-ink); border-color:var(--wa-ink); background:transparent; }

.wa .uk-button-secondary:hover { color:#fff; background:var(--wa-ink); }

.wa .uk-button-text { padding:0; line-height:44px; color:var(--wa-ink); }

.wa a:focus-visible { outline:3px solid #ac6600; outline-offset:6px; }

.wa .wa-quietlink { font-size:14px; margin-top:22px; }

.wa .wa-quietlink a { color:inherit; text-underline-offset:5px; }

.wa-facts { background:var(--wa-sky); }

.wa .wa-fact { font-size:15px; white-space:nowrap; margin:0; }

.wa .wa-fact strong { font-size:23px; font-weight:800; padding-right:10px; }

.wa-stay,.wa-discover { background:#fff; padding-top:112px; padding-bottom:112px; }

.wa .wa-stay-image img { width:100%; aspect-ratio:1.05; }

.wa .wa-amenities .el-content { font-size:14px; color:#526470; margin-top:0; }

.wa .wa-amenities .el-image { color:var(--wa-blue); }

.wa .wa-price { display:flex; align-items:center; gap:22px; margin-top:35px; padding-top:26px; border-top:1px solid #cfdae0; }

.wa .wa-price strong { font-family:'Fraunces',Georgia,serif; font-size:62px; font-weight:400; line-height:1; letter-spacing:-.045em; }

.wa .wa-price span { font-size:14px; line-height:1.6; }

.wa-therme { background:var(--wa-sky); padding-top:100px; padding-bottom:100px; }

.wa .wa-therme-image img { width:100%; aspect-ratio:.88; }

.wa .wa-caption { font-size:12px; line-height:1.4; margin-top:14px; color:#526470; }

.wa .wa-discover-image img { width:100%; aspect-ratio:1.39; }

.wa .wa-offset { padding-top:100px; }

.wa .wa-accordion .uk-accordion-content { font-size:17px; line-height:1.65; }

.wa-faq { background:#f2f6f7; padding-top:90px; padding-bottom:90px; }

.wa-cta { background:var(--wa-ink); padding-top:112px; padding-bottom:112px; }

.wa-cta .wa-kicker,.wa-cta .wa-cta-copy,.wa-cta .wa-note,.wa-cta .wa-quietlink { color:#eef5f7; }

.wa-cta .wa-cta-copy { font-size:19px; margin-top:30px; }

.wa-cta .uk-button-primary { background:var(--wa-yellow); border-color:var(--wa-yellow); color:var(--wa-ink); }

.wa-cta .uk-button-primary:hover { background:#ffdd8e; border-color:#ffdd8e; color:var(--wa-ink); }

.wa .wa-note { font-size:13px; margin-top:20px; }
@media (max-width:959px) {

.wa .wa-offset { padding-top:0; }

.wa .wa-therme-image img { aspect-ratio:1.35; }

.wa-stay,.wa-discover,.wa-therme,.wa-faq,.wa-cta { padding-top:70px; padding-bottom:70px; }
}
@media (max-width:639px) {

.wa { font-size:17px; }

.wa > .uk-container { padding-left:24px; padding-right:24px; }

.wa .wa-fact { font-size:14px; }

.wa .wa-fact strong { font-size:20px; }

.wa-facts .uk-grid { row-gap:10px; }

.wa-facts .uk-grid > * { margin-top:0; }

.wa .wa-lead { font-size:20px; margin-top:24px; }

.wa .wa-body { font-size:17px; }

.wa .wa-note { max-width:270px; margin-left:auto; margin-right:auto; }

.wa .uk-button { padding-left:24px; padding-right:24px; }
}
@media (prefers-reduced-motion:reduce) {

.wa *,.wa *::before,.wa *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* ===================================================================
* HOME – ALTERNATIVE B "Der Weg zur Therme" (09.09.2026)
* Seite home-alternative-b. Alles auf den Section-Praefix .wb gescopt.
* Nativ geloest: Spalten, Abstaende, Section-Toene (secondary/primary),
* Buttons, Hero-Hintergrund + Verlauf. Hier nur der Rest: fluide
* Display-Typo, Bildformate, die Pfad-Buehne, Farbflaechen jenseits
* der Palette (Aqua, Wiese).
* =================================================================== */

.wb {
	--wb-ink: #1E2E3C;
	--wb-blue: #4A7FA9;
	--wb-sun: #F0B429;
	--wb-aqua: #E3F1F5;
	--wb-wiese: #E8EEDF;
	--wb-muted: #55606A;
	font-size: 18px;
	line-height: 1.65;
}

/* -------- Typografie -------- */

.wb .wb-h1,
.wb .wb-h2,
.wb .wb-h3,
.wb .wb-quote,
.wb .wb-price-num,
.wb .wb-stop .el-title {
	font-family: 'Fraunces', Georgia, serif;
}

.wb .wb-h1 {
	font-weight: 400;
	font-size: clamp(2.7rem, 6.6vw, 6.4rem);
	line-height: .98;
	letter-spacing: -.025em;
	color: #FFFFFF;
	margin: 0;
	text-wrap: balance;
}

.wb .wb-h2 {
	font-weight: 300;
	font-size: clamp(2.1rem, 4.2vw, 4rem);
	line-height: 1.06;
	letter-spacing: -.02em;
	margin: 0 0 .5em;
	text-wrap: balance;
}

.wb .wb-h3 {
	font-weight: 600;
	font-size: 1.55rem;
	line-height: 1.2;
	margin-bottom: .4em;
}

.wb .wb-copy {
	max-width: 62ch;
}

.wb .wb-copy p:last-child {
	margin-bottom: 0;
}

.wb .wb-lead {
	font-size: 1.15rem;
	line-height: 1.5;
	max-width: 30ch;
}

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

.wb-hero {
	overflow: hidden;
}

.wb-hero .uk-background-cover {
	animation: wb-zoom 6s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes wb-zoom {
	from { transform: scale(1.07); }
	to   { transform: scale(1); }
}

/* -------- Der Weg (Buehne) -------- */

.wb-weg {
	background: var(--wb-aqua);
}

.wb .wb-stop .el-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.wb .wb-stop .el-title {
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 16px 0 6px;
}

.wb .wb-stop .el-content {
	font-size: 15px;
	line-height: 1.5;
	color: var(--wb-muted);
	margin-top: 0;
}

.wb .wb-path-svg text {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 300;
	font-size: 42px;
	letter-spacing: -.02em;
	fill: var(--wb-ink);
}

/* Mobil/Tablet: Stationen untereinander, Pfad weg */
.wb .wb-path {
	display: none;
}

.wb .wb-stop + .wb-stop {
	margin-top: 40px;
}

@media (min-width: 960px) {
	/* Grid-Negativrand der Row und Spalten-Padding neutralisieren, damit
	   left/top der Stationen sich auf die Container-Breite beziehen */
	.wb .wb-stage-row {
		margin-left: 0;
	}

	.wb .wb-stage {
		position: relative;
		padding-left: 0;
		aspect-ratio: 1400 / 1190;
	}

	.wb .wb-stage > * {
		position: absolute;
		margin: 0;
	}

	.wb .wb-path,
	.wb .wb-stage > .wb-path-svg {
		display: block;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.wb .wb-path-svg {
		width: 100%;
		height: 100%;
		display: block;
	}

	.wb .wb-stop {
		z-index: 1;
	}

	/* Bezug: Buehne 1360 x 1156 px bei 1440er Viewport */
	.wb .wb-stop-1 { left: 0;    top: 0;     width: 34%; }
	.wb .wb-stop-2 { left: 44%;  top: 12%;   width: 26%; }
	.wb .wb-stop-3 { left: 12%;  top: 47.5%; width: 30%; }
	.wb .wb-stop-4 { left: 54%;  top: 49.5%; width: 46%; }
}

/* -------- Stellplaetze (dunkle Section) -------- */

.wb .wb-photo img {
	width: 100%;
	object-fit: cover;
	display: block;
}

.wb .wb-photo-tall img {
	aspect-ratio: 4 / 5;
}

.wb .wb-photo-wide img {
	aspect-ratio: 3 / 2;
}

.wb .wb-facts .el-item {
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.wb .wb-facts .el-item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.wb .wb-facts .el-title {
	font-weight: 700;
	font-size: 15px;
	min-width: 170px;
}

.wb .wb-facts .el-content {
	font-size: 15px;
	color: #CFDAE2;
}

.wb .wb-price {
	display: flex;
	align-items: baseline;
	gap: 18px;
	flex-wrap: wrap;
}

.wb .wb-price-num {
	font-weight: 300;
	font-size: clamp(3rem, 5.5vw, 5rem);
	line-height: 1;
	letter-spacing: -.03em;
	color: #FFFFFF;
}

.wb .wb-price-unit {
	font-size: 14px;
	line-height: 1.4;
	color: #CFDAE2;
}

/* -------- Stimme der Gastgeber -------- */

.wb-stimme {
	background: var(--wb-wiese);
}

.wb .wb-quote {
	font-weight: 300;
	font-size: clamp(1.8rem, 3.6vw, 3.3rem);
	line-height: 1.2;
	letter-spacing: -.015em;
	max-width: 24ch;
	text-wrap: balance;
}

.wb .wb-quote-by {
	font-size: 15px;
	font-weight: 700;
}

/* -------- Reservierung -------- */

.wb-cta .wb-h2 {
	color: #FFFFFF;
}

.wb .wb-address {
	font-size: 15px;
	line-height: 1.6;
}

/* -------- Mobil -------- */

@media (max-width: 959px) {
	.wb.uk-section-xlarge {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

@media (max-width: 639px) {
	.wb .wb-h2 {
		font-size: 1.9rem;
	}

	.wb .wb-quote {
		font-size: 1.7rem;
	}
}

/* -------- Bewegung reduzieren -------- */

@media (prefers-reduced-motion: reduce) {
	.wb-hero .uk-background-cover {
		animation: none;
	}
}

/* >>> therme-erding */
/* Therme Erding (10.09.2026): Wegelinie, Kennzahlen, Thermentag + Hero-Badge der Home.
   Struktur 1:1 vom Gersthof (gersthof-quelle-*.css); geaendert sind nur die Farben,
   als Tokens aus :root oben in dieser Datei:
   Gruen #6E9356 -> --wmp-primary, Ink #1B2B20 -> --wmp-ink,
   Creme #F3EEE3 / #F8F2E5 -> --wmp-surface-light, Muted #6B6457 -> --wmp-muted. */
/* >>> therme-erding */
/* ===================================================================
* THERME ERDING – Der Weg (Panoramaweg-Linie Hof → Therme)
* Eigenes Element (html): animierte Wegelinie mit Läufer + 300-m-Badge.
* =================================================================== */

.gh-weg {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
	padding: 24px 0;
}

.gh-weg__end {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	min-width: 120px;
}

.gh-weg__dot {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--wmp-primary);
	box-shadow: 0 0 0 6px rgba(74, 127, 169, 0.18);
}

.gh-weg__end--therme .gh-weg__dot {
	background: var(--wmp-ink);
	box-shadow: 0 0 0 6px rgba(30, 46, 60, 0.12);
}

.gh-weg__label {
	font-family: 'Fraunces', serif;
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.2;
	color: var(--wmp-ink);
	margin-top: 6px;
}

.gh-weg__sub {
	font-family: 'Mulish', sans-serif;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wmp-muted);
}

.gh-weg__track {
	position: relative;
	height: 120px;
}

.gh-weg__track svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.gh-weg__path-bg,
.gh-weg__path {
	fill: none;
	stroke-width: 2.5;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}

.gh-weg__path-bg {
	stroke: rgba(30, 46, 60, 0.14);
	stroke-dasharray: 2 10;
}

.gh-weg__path {
	stroke: var(--wmp-primary);
}

.gh-weg__badge {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 14px 26px 12px;
	background: var(--wmp-surface-light);
	border-radius: 100px;
	box-shadow: 0 14px 40px rgba(30, 46, 60, 0.12);
	white-space: nowrap;
	will-change: left, top;
}

.gh-weg__badge-num {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	font-size: 2.6rem;
	line-height: 1;
	color: var(--wmp-primary);
}

.gh-weg__badge-unit {
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wmp-ink);
	margin-top: 4px;
}

.gh-weg__badge-txt {
	font-family: 'Mulish', sans-serif;
	font-size: 0.75rem;
	color: var(--wmp-muted);
	margin-top: 2px;
}

/* Gezeichneter Anteil der Linie wird in custom.js per SVG-Clip an der Plakette abgeschnitten. */

/* Ankunft an der Therme (custom.js setzt .is-arrived): Punkt wird grün und sendet
   zwei Wellenringe aus, das Label hüpft kurz, die Plakette macht einen kleinen Bump. */
.gh-weg__end--therme .gh-weg__dot {
	position: relative;
	transition: background .4s ease, box-shadow .4s ease;
}

.gh-weg__end--therme .gh-weg__dot::before,
.gh-weg__end--therme .gh-weg__dot::after {
	content: "";
	position: absolute;
	inset: -3px;
	border-radius: 50%;
	border: 2px solid var(--wmp-primary);
	opacity: 0;
	pointer-events: none;
}

.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__dot {
	background: var(--wmp-primary);
	box-shadow: 0 0 0 6px rgba(74, 127, 169, 0.22);
}

.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__dot::before {
	animation: gh-weg-ripple 1.4s ease-out 0s 2;
}

.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__dot::after {
	animation: gh-weg-ripple 1.4s ease-out .45s 2;
}

.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__label {
	animation: gh-weg-hop .6s cubic-bezier(.3, 1.4, .5, 1) .1s 1;
}

.gh-weg.is-arrived .gh-weg__badge {
	animation: gh-weg-bump .55s cubic-bezier(.3, 1.4, .5, 1) 0s 1;
}

@keyframes gh-weg-ripple {
	0%   { transform: scale(1);   opacity: .8; }
	100% { transform: scale(3.2); opacity: 0; }
}

@keyframes gh-weg-hop {
	0%   { transform: translateY(0); }
	40%  { transform: translateY(-8px); }
	100% { transform: translateY(0); }
}

@keyframes gh-weg-bump {
	0%   { transform: translate(-50%, -50%) scale(1); }
	45%  { transform: translate(-50%, -50%) scale(1.08); }
	100% { transform: translate(-50%, -50%) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__dot::before,
	.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__dot::after,
	.gh-weg.is-arrived .gh-weg__end--therme .gh-weg__label,
	.gh-weg.is-arrived .gh-weg__badge { animation: none; }
}

@media (max-width: 959px) {
	.gh-weg {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.gh-weg__track {
		height: 120px;
	}
	.gh-weg__end {
		flex-direction: row;
		gap: 12px;
		min-width: 0;
	}
	.gh-weg__label { margin-top: 0; }
	.gh-weg__sub { display: none; }
	.gh-weg__badge { padding: 10px 18px 8px; }
	.gh-weg__badge-num { font-size: 2rem; }
}

/* ===================================================================
* THERME ERDING – Kennzahlen (300 / 5 / 0)
* =================================================================== */

.gh-stats .gh-stat__num {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	font-size: 4.2rem;
	line-height: 1;
	color: var(--wmp-primary);
	margin: 0;
}

.gh-stats .gh-stat__unit {
	margin-top: 8px;
	color: var(--wmp-ink);
}

.gh-stats .gh-stat__txt {
	color: var(--wmp-muted);
	max-width: 32ch;
}

/* ===================================================================
* THERME ERDING – Thermentag (Uhrzeit-Spalten)
* =================================================================== */

.gh-tag .gh-tag__time::before {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin-bottom: 18px;
	background: var(--wmp-ink);
}

.gh-tag .gh-tag__time {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	font-size: 2.4rem;
	line-height: 1;
	color: var(--wmp-primary);
	margin: 0;
}

.gh-hero-badge-wrap {
	position: absolute;
	right: 4vw;
	bottom: 38vh; /* Wohnmobilpark: ueber der Headline, Gersthof hat 11vh */
	z-index: 3;
	width: auto !important;
	margin: 0 !important;
}

.gh-hero-badge {
	position: relative;
	display: block;
	width: 240px;
	height: 240px;
	text-decoration: none;
	transition: transform .5s cubic-bezier(.2, .8, .2, 1);
}

.gh-hero-badge:hover,
.gh-hero-badge:focus-visible {
	transform: scale(1.06) rotate(-4deg);
	text-decoration: none;
}

.gh-hero-badge__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	animation: gh-badge-spin 24s linear infinite;
}

.gh-hero-badge__ring text {
	font-family: 'Mulish', sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	fill: var(--wmp-surface-light);
}

.gh-hero-badge__core {
	position: absolute;
	inset: 40px;
	padding: 18px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wmp-surface-light);
	color: var(--wmp-ink);
	box-shadow: 0 18px 50px rgba(30, 46, 60, 0.35);
	transform: rotate(-8deg);
	transition: transform .5s cubic-bezier(.2, .8, .2, 1);
}

.gh-hero-badge:hover .gh-hero-badge__core {
	transform: rotate(0deg);
}

.gh-hero-badge__num {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	font-size: 2.4rem;
	line-height: 1;
	color: var(--wmp-primary);
}

.gh-hero-badge__unit {
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-top: 3px;
}

.gh-hero-badge__txt {
	font-family: 'Mulish', sans-serif;
	font-size: 0.74rem;
	color: var(--wmp-muted);
	margin-top: 2px;
}

.gh-hero-badge__arrow {
	font-size: 0.9rem;
	line-height: 1;
	margin-top: 4px;
	color: var(--wmp-primary);
	transition: transform .4s ease;
}

.gh-hero-badge:hover .gh-hero-badge__arrow {
	transform: translateX(4px);
}

@keyframes gh-badge-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.gh-hero-badge__ring { animation: none; }
}

@media (max-width: 959px) {
	.gh-hero-badge-wrap {
		right: 16px;
		bottom: auto;
		top: 12vh;
	}
	.gh-hero-badge {
		width: 170px;
		height: 170px;
	}
	.gh-hero-badge__ring text { font-size: 13px; letter-spacing: 0.08em; }
	.gh-hero-badge__core { inset: 29px; padding: 10px; }
	.gh-hero-badge__num { font-size: 1.5rem; }
	.gh-hero-badge__unit { font-size: 0.5rem; margin-top: 2px; }
	.gh-hero-badge__txt { font-size: 0.5rem; }
	.gh-hero-badge__arrow { display: none; }
}
/* <<< therme-erding */
/* === ic-yoo-mcp:end === */
