/** GOOGLE FONTS: Cormorant Garamond (Display-Serif) + Raleway (Fließtext)
 *  Cormorant → elegante Serifenschrift nahe am Logo-Charakter (Trajan/Kapitälchen)
 *  Raleway   → weicher humanistischer Sans, 300-600 Gewichte, sehr gut lesbar
 *  @import MUSS als erste Zeile stehen (CSS-Spezifikation).
 **/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Raleway:wght@300;400;500;600&display=swap');

/** ============================================================
 *  ERNST STEIN — Frontpage & Branding Stylesheet
 *  Geladen nur wenn $CURRSHOP == 2 (siehe header.tpl).
 *  Alle Selektoren werden mit .shop-ernststein gescoped, damit
 *  diese Datei den Ruppenthal-Shop nicht beeinflusst.
 *  ============================================================ */


/** ABSCHNITT: Design-Tokens
 *  Eigene Custom Properties; --color-primary-shop kommt aus style.css.
 *  Werte sind bewusst zurückhaltend — Premium = Ruhe, nicht Kontrast.
 *
 *  TONALITÄT 05/2026: --es-apricot-deep weicher kalibriert.
 *  Der alte Wert (#f4d4b1) hatte sich vor allem unten (Subfooter,
 *  Fachhandel-CTA) als zu satt erwiesen. Neuer Wert nähert sich
 *  einer cremigen Eierschalenfarbe an — Marke bleibt erkennbar,
 *  Drucksättigung nimmt ab.
 **/
.shop-ernststein {
	--es-ink: #343434;                            /* Edles Dunkelgrau für Headlines */
	--es-ink-soft: #5a5a5a;                       /* Sekundärtext */
	--es-ink-mute: #747474;                       /* Eyebrow / Meta-Texte */
	--es-paper: #faecdf;                          /* Seitengrundton (Frontpage, Welcome) — sanfter Apricot-Ton */
	--es-apricot: #fbebd8;                        /* Helles Apricot — ruhige Inhaltsflächen */
	--es-apricot-deep: #f8e2c6;                   /* Cremiges Apricot — Akzentübergänge, deutlich weicher als zuvor */
	--es-apricot-mute: #faeed9;                   /* Allerleichtester Cremeton — für Footer/Subfooter, fast paper-Niveau */
	--es-dark: #1a0d04;                           /* Mahagoni — nur noch für Buttons und Akzente, nicht mehr als Sektionshintergrund */
	--es-line: rgba(52, 52, 52, 0.12);            /* Trennlinien dezent */
	--es-line-orange: rgba(246, 135, 18, 0.32);   /* Orange-Akzentlinie zart, ersetzt 3px-Vollblock */
	--es-shadow-card: 0 14px 32px rgba(120, 60, 10, 0.10), 0 2px 6px rgba(120, 60, 10, 0.05);
	--es-shadow-card-hover: 0 22px 50px rgba(60, 30, 5, 0.16), 0 4px 10px rgba(60, 30, 5, 0.08);
	--es-section-y: clamp(64px, 8vw, 120px);      /* Vertikales Sektionspadding */
	--es-trans: 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
	--es-trans-fast: 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
}


/** ABSCHNITT: Body-Defaults für Ernst Stein **/
.shop-ernststein {
	color: var(--es-ink);
}


/** ABSCHNITT: Wiederverwendbare Section-Header
 *  Eyebrow (orange Mini-Caps) + Headline + optionaler Lead-Text.
 *  Wird in mehreren Sektionen genutzt → einmal zentral definiert.
 **/
.shop-ernststein .es-section-header {
	text-align: center;
	margin-bottom: clamp(40px, 5vw, 72px);
}

.shop-ernststein .es-eyebrow {
	display: inline-block;
	font-size: 0.82rem;
	letter-spacing: 0.23em;       /* etwas mehr Luft — zarter, hochwertiger */
	text-transform: uppercase;
	color: var(--color-primary-shop, #f68712);
	margin-bottom: 18px;
	font-weight: 400;             /* 400 statt 500 — feiner */
}

/* Variante für dunkle Hintergründe: etwas gedämpfter */
.shop-ernststein .es-eyebrow--light {
	color: rgba(246, 135, 18, 0.88);
}

.shop-ernststein .es-section-headline {
	font-size: clamp(1.8rem, 3.4vw, 2.8rem);
	line-height: 1.15;
	letter-spacing: 0.01em;       /* leicht positiver Tracking — eleganter, feminin */
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 18px;
}

.shop-ernststein .es-section-lead {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--es-ink-soft);
	max-width: 640px;
	margin: 0 auto;
}


/** ABSCHNITT: Button-Komponente (es-btn)
 *  Orange ist die führende CTA-Farbe; Outline-Varianten bleiben ebenfalls orange.
 **/
.shop-ernststein .es-btn {
	display: inline-block;
	padding: 17px 48px;
	font-size: 0.86rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 2px;             /* minimale Abrundung — weicher, ohne das Konzept zu brechen */
	transition: background var(--es-trans-fast), color var(--es-trans-fast), border-color var(--es-trans-fast);
	cursor: pointer;
}

/* Orange-Button (Primär-CTA auf dunklem Hintergrund)
 * !important nötig: globales Stylesheet setzt Link-Farbe auf Orange → würde
 * Text auf orangem Hintergrund unsichtbar machen. */
.shop-ernststein .es-btn--orange {
	background: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
	border-color: var(--color-primary-shop, #f68712) !important;
}

.shop-ernststein .es-btn--orange:hover {
	background: transparent !important;
	color: var(--color-primary-shop, #f68712) !important;
}

/* Outline-Button (Sekundär-CTA auf hellem Hintergrund) */
.shop-ernststein .es-btn--outline {
	background: transparent !important;
	color: var(--color-primary-shop, #f68712) !important;
	border-color: var(--color-primary-shop, #f68712) !important;
}

.shop-ernststein .es-btn--outline:hover {
	background: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
	border-color: var(--color-primary-shop, #f68712) !important;
}

/* White-Button (auf sehr dunklem Hintergrund) */
.shop-ernststein .es-btn--white {
	background: transparent !important;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.shop-ernststein .es-btn--white:hover {
	background: #ffffff !important;
	color: var(--es-ink) !important;
	border-color: #ffffff !important;
}


/** ABSCHNITT: Slider — Container
 *  Kein Strip unterhalb — Bars liegen direkt im Slider-Bild.
 **/
.shop-ernststein .MainSliderContainer {
	position: relative;
	background: #ffffff;
}

/* Pfeile müssen über dem Gradient liegen */
.shop-ernststein .es-slider-nav {
	z-index: 2;
}

/** ABSCHNITT: Slider — Hero-Höhe + Gradient
 *  Reduzierte Hero-Höhe, damit Fakten und Einstieg schneller sichtbar werden.
 *  Bars + Pfeil liegen weiterhin innerhalb des Bildes auf dem unteren Gradienten.
 **/
.shop-ernststein .MainSlider {
	position: relative;
	height: 540px; /* Feinabstimmung im Block weiter unten via !important */
	min-height: 0;
}

/* Gradient: endet exakt am Bildrand */
.shop-ernststein .MainSlider::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 30%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
	pointer-events: none;
	z-index: 1;
}

/* UIkit setzt min-height per JS als Inline-Style → !important nötig */
.shop-ernststein .MainSlider .uk-slideshow-items {
	height: 100% !important;
	min-height: 0 !important;
}

.shop-ernststein .MainSlider .uk-slideshow-items > li {
	height: 100%;
	min-height: 0;
}


/** ABSCHNITT: Slider — Scroll-Hinweis-Pfeil
 *  Minimales Design: nur ein animierter Chevron, kein Rahmen, kein Text.
 *  Verschwindet auf kleineren Viewports um Platz zu sparen.
 **/
.shop-ernststein .es-scroll-down {
	position: absolute;
	left: 50%;
	/* Pfeil sitzt ~30px über den Bars (Bars bei 14px + 3px Höhe + 13px Abstand = 30px) */
	bottom: 44px;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color var(--es-trans-fast);
}

.shop-ernststein .es-scroll-down:hover {
	color: rgba(255, 255, 255, 0.9);
}

/* "SCROLL"-Text ausblenden — zu unruhig */
.shop-ernststein .es-scroll-down-text {
	display: none;
}

.shop-ernststein .es-scroll-down svg {
	width: 30px;
	height: 30px;
	stroke-width: 1.4;
	animation: es-scroll-bounce 2.2s ease-in-out infinite;
}

@keyframes es-scroll-bounce {
	0%, 100% { transform: translateY(0); }
	50%       { transform: translateY(6px); }
}

@media (max-width: 640px) {
	.shop-ernststein .es-scroll-down {
		display: none;
	}
}


/** ABSCHNITT: Slider — Custom SVG-Pfeil-Buttons (es-slider-nav)
 *  Ersetzen UIkit uk-slidenav komplett.
 *  Immer sichtbar, glassmorphism-artig, klar verwendbar.
 **/
.shop-ernststein .es-slider-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	color: rgba(255, 255, 255, 0.85);
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	transition: background var(--es-trans-fast), color var(--es-trans-fast), border-color var(--es-trans-fast);
	text-decoration: none;
}

/* clamp() lässt die Pfeile bei breitem Viewport nach außen wandern */
.shop-ernststein .es-slider-prev { left: clamp(14px, 3vw, 64px); }
.shop-ernststein .es-slider-next { right: clamp(14px, 3vw, 64px); }

.shop-ernststein .es-slider-nav svg {
	width: 22px;
	height: 22px;
	display: block;
	flex-shrink: 0;
}

.shop-ernststein .es-slider-nav:hover {
	background: rgba(0, 0, 0, 0.5);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 640px) {
	.shop-ernststein .es-slider-nav {
		width: 38px;
		height: 38px;
	}
	/* Mobile: feste kleine Werte */
	.shop-ernststein .es-slider-prev { left: 10px; }
	.shop-ernststein .es-slider-next { right: 10px; }
	.shop-ernststein .es-slider-nav svg {
		width: 17px;
		height: 17px;
	}
}


/** ABSCHNITT: Slider — Progress-Bar Pagination
 *  Jeder Strich = <a> im .uk-dotnav.
 *  Der aktive Strich füllt sich via ::before-Animation über 7 Sekunden
 *  (muss mit autoplay-interval: 7000 im Template synchron sein).
 *  Bei Folienwechsel entfernt UIkit .uk-active → Animation resettet automatisch.
 **/
.shop-ernststein .MainSlider .uk-dotnav {
	gap: 8px;
}

/* Dotnav: direkt im Slider-Bild, unterhalb des Scroll-Pfeils */
.shop-ernststein .MainSlider .uk-position-bottom-center.uk-position-small {
	bottom: 14px;
	z-index: 10;
}

.shop-ernststein .MainSlider .uk-dotnav > * > * {
	position: relative;
	overflow: hidden;
	width: 36px;
	height: 3px;
	border: none;
	border-radius: 0;
	/* Auf dunklem Gradienten → semitransparentes Weiß */
	background: rgba(255, 255, 255, 0.35);
	padding: 0;
	transition: background var(--es-trans-fast);
}

.shop-ernststein .MainSlider .uk-dotnav > * > *:hover,
.shop-ernststein .MainSlider .uk-dotnav > * > *:focus {
	background: rgba(255, 255, 255, 0.55);
	outline: none;
}

/* Progress-Fill — absolut positioniert, startet bei 0 */
.shop-ernststein .MainSlider .uk-dotnav > * > *::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0%;
	height: 100%;
	background: var(--color-primary-shop, #f68712);
}

/* Aktiver Strich: etwas kräftiger als inaktiv, Fill läuft orange von links */
.shop-ernststein .MainSlider .uk-dotnav > .uk-active > * {
	background: rgba(255, 255, 255, 0.25);
}

.shop-ernststein .MainSlider .uk-dotnav > .uk-active > *::before {
	animation: es-slider-progress 7s linear forwards;
}

/* Dauer muss mit autoplay-interval: 7000ms übereinstimmen */
@keyframes es-slider-progress {
	from { width: 0%; }
	to   { width: 100%; }
}


/** ABSCHNITT: Welcome — Marken-Intro direkt unter dem Slider
 *  Apricot-Fläche mit größerer Typografie und engerem Anschluss an die Kernargumente.
 *  Ruhige zentrierte Sektion mit Eyebrow, Headline, Text und CTA.
 **/
.shop-ernststein .es-welcome {
	padding: clamp(60px, 7vw, 96px) 0 clamp(30px, 4vw, 48px);
	background: var(--es-apricot) !important;
	text-align: center;
}

.shop-ernststein .es-welcome .container {
	max-width: 900px;
}

.shop-ernststein .es-welcome-rule {
	display: block;
	width: 64px;
	height: 1px;
	background: var(--color-primary-shop, #f68712);
	margin: 6px auto 28px;
	border: none;
}

.shop-ernststein .es-welcome-headline {
	font-size: clamp(2.25rem, 4.3vw, 3.45rem);
	line-height: 1.2;
	font-weight: 600;
	color: var(--es-ink);            /* dunkel auf Apricot */
	margin: 0 0 28px;
	letter-spacing: 0;
}

.shop-ernststein .es-welcome-text {
	font-size: clamp(1.15rem, 1.35vw, 1.28rem);
	line-height: 1.78;
	color: var(--es-ink-soft);       /* dunkel auf Apricot */
	margin: 0 0 36px;
}

/* CTA-Button — letztes Element in der Welcome-Sektion */
.shop-ernststein .es-welcome-cta {
	margin-bottom: 0;
}

/* Facts-Strip: drei Säulen mit vertikalen Trennern **/
.shop-ernststein .es-welcome-facts {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	border-top: 1px solid var(--es-line);
	padding-top: clamp(36px, 5vw, 56px);
	max-width: min(1180px, 92vw);
	margin: 0 auto;
}

.shop-ernststein .es-fact {
	flex: 1;
	text-align: center;
	padding: 0 clamp(18px, 3.2vw, 46px);
	min-height: clamp(112px, 9vw, 136px);
	display: grid;
	grid-template-rows: clamp(48px, 4.8vw, 64px) minmax(4.2em, auto);
	align-items: start;
	justify-items: center;
}

.shop-ernststein .es-fact-num {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-size: clamp(1.36rem, 2.05vw, 1.72rem);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--es-ink);
	line-height: 1.18;
	margin: 0;
	white-space: nowrap;
	min-height: clamp(48px, 4.8vw, 64px);
}

.shop-ernststein .es-fact-label {
	display: block;
	font-size: clamp(0.86rem, 0.95vw, 0.98rem);
	letter-spacing: 0.075em;
	text-transform: uppercase;
	color: var(--es-ink-soft);
	line-height: 1.45;
	max-width: 30ch;
	min-height: 4.2em;
}

/* Vertikale Trennlinie zwischen den Facts */
.shop-ernststein .es-fact-sep {
	width: 1px;
	height: clamp(60px, 5vw, 74px);
	background: rgba(26, 26, 26, 0.14);
	flex-shrink: 0;
}

@media (max-width: 640px) {
	.shop-ernststein .es-welcome-facts {
		flex-direction: column;
		gap: 28px;
	}
	.shop-ernststein .es-fact-sep {
		width: 40px;
		height: 1px;
	}
	.shop-ernststein .es-fact {
		padding: 0;
		min-height: 0;
		grid-template-rows: auto auto;
	}
	.shop-ernststein .es-fact-num {
		min-height: 0;
		margin-bottom: 10px;
	}
	.shop-ernststein .es-fact-label {
		min-height: 0;
	}
}


/** ABSCHNITT: Markenwelten — 4 Bild-Text-Kacheln im 2x2-Grid
 *  Editorial-Look: dunkle Bildkarten 4:5, Bottom-Gradient, Text-Overlay.
 **/
.shop-ernststein .es-worlds {
	padding: var(--es-section-y) 0;
	background: #ffffff !important;
}

/** ABSCHNITT: Markenwelten — Sektion-Header mit Ornament **/
.shop-ernststein .es-worlds-header {
	text-align: center;
	margin-bottom: clamp(40px, 5vw, 64px);
}

.shop-ernststein .es-worlds-header-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 6px 0 22px;
}

.shop-ernststein .es-worlds-header-line {
	display: block;
	width: clamp(40px, 6vw, 80px);
	height: 1px;
	background: var(--color-primary-shop, #f68712);
	opacity: 0.6;
}

.shop-ernststein .es-worlds-header-diamond {
	color: var(--color-primary-shop, #f68712);
	font-size: 0.55rem;
	line-height: 1;
}

.shop-ernststein .es-worlds-headline {
	font-size: clamp(2rem, 3.8vw, 3.2rem);
	font-weight: 600;
	letter-spacing: 0;
	color: var(--es-ink);
	margin: 0 0 18px;
	line-height: 1.15;
}

.shop-ernststein .es-worlds-lead {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--es-ink-soft);
	max-width: 56ch;
	margin: 0 auto;
}

/** ABSCHNITT: Markenwelten — Asymmetrisches Mosaik-Grid (6 Tiles)
 *
 *  Desktop-Layout (3 Spalten × 3 Reihen):
 *  ┌──────────┬──────────────────────┐
 *  │  Tile 1  │      Tile 2          │  ← Reihe 1 (hoch)
 *  │  (hoch,  │  (breit, rechts)     │
 *  │  Prio 1) ├───────────┬──────────┤
 *  │          │  Tile 3   │  Tile 4  │  ← Reihe 2 (mittel)
 *  ├──────────┴───────────┼──────────┤
 *  │      Tile 5          │  Tile 6  │  ← Reihe 3 (schmal)
 *  │  (breit, links)      │          │
 *  └──────────────────────┴──────────┘
 *
 *  T1 Gold & Diamanten:    col 1,   row 1–2  → Prio 1 (Hauptanker)
 *  T2 Silber & Edelsteine: col 2–3, row 1    → Prio 2 (Querformat dominant)
 *  T3 Silber & Perlen:     col 2,   row 2    → Prio 3
 *  T4 Männer & Kinder:     col 3,   row 2    → Prio 4
 *  T5 Trauringe:           col 1–2, row 3    → Prio 5 (Querformat)
 *  T6 Gravur:              col 3,   row 3    → Prio 6
 **/
.shop-ernststein .es-worlds-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr 1fr;
	grid-template-rows:
		clamp(280px, 30vw, 460px)
		clamp(210px, 22vw, 340px)
		clamp(180px, 18vw, 280px);
	gap: 8px;
}

/* Tile 1: Hoch — linke Spalte, Reihe 1+2 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(1) {
	grid-column: 1;
	grid-row: 1 / 3;
}

/* Tile 2: Breit — Spalte 2+3, Reihe 1 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(2) {
	grid-column: 2 / 4;
	grid-row: 1;
}

/* Tile 3: Mittel — Spalte 2, Reihe 2 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(3) {
	grid-column: 2;
	grid-row: 2;
}

/* Tile 4: Mittel — Spalte 3, Reihe 2 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(4) {
	grid-column: 3;
	grid-row: 2;
}

/* Tile 5: Querformat — Spalte 1+2, Reihe 3 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(5) {
	grid-column: 1 / 3;
	grid-row: 3;
}

/* Tile 6: Klein — Spalte 3, Reihe 3 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(6) {
	grid-column: 3;
	grid-row: 3;
}

/* Beschreibungstext: nur auf Tile 1+2 anzeigen, Rest ausblenden */
.shop-ernststein .es-worlds-grid .es-world:nth-child(3) .es-world-text,
.shop-ernststein .es-worlds-grid .es-world:nth-child(4) .es-world-text,
.shop-ernststein .es-worlds-grid .es-world:nth-child(5) .es-world-text,
.shop-ernststein .es-worlds-grid .es-world:nth-child(6) .es-world-text {
	display: none;
}

/* Kleineres Padding auf Tiles 3–6 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(3) .es-world-content,
.shop-ernststein .es-worlds-grid .es-world:nth-child(4) .es-world-content,
.shop-ernststein .es-worlds-grid .es-world:nth-child(5) .es-world-content,
.shop-ernststein .es-worlds-grid .es-world:nth-child(6) .es-world-content {
	padding: clamp(16px, 2vw, 24px);
}

/* Kleinere Headline auf Tiles 3–6 */
.shop-ernststein .es-worlds-grid .es-world:nth-child(3) .es-world-title,
.shop-ernststein .es-worlds-grid .es-world:nth-child(4) .es-world-title,
.shop-ernststein .es-worlds-grid .es-world:nth-child(5) .es-world-title,
.shop-ernststein .es-worlds-grid .es-world:nth-child(6) .es-world-title {
	font-size: clamp(1.05rem, 1.7vw, 1.4rem);
	margin-bottom: 8px;
}

@media (max-width: 767px) {
	.shop-ernststein .es-worlds-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}
	/* T1 als Vollbreite-Banner */
	.shop-ernststein .es-worlds-grid .es-world:nth-child(1) {
		grid-column: 1 / 3;
		grid-row: auto;
		aspect-ratio: 16 / 7;
	}
	/* T5 als Vollbreite-Banner */
	.shop-ernststein .es-worlds-grid .es-world:nth-child(5) {
		grid-column: 1 / 3;
		grid-row: auto;
		aspect-ratio: 16 / 7;
	}
	/* Alle anderen: automatisch, Hochformat */
	.shop-ernststein .es-worlds-grid .es-world:nth-child(2),
	.shop-ernststein .es-worlds-grid .es-world:nth-child(3),
	.shop-ernststein .es-worlds-grid .es-world:nth-child(4),
	.shop-ernststein .es-worlds-grid .es-world:nth-child(6) {
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 4 / 5;
	}
}

.shop-ernststein .es-world {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--es-ink);
	text-decoration: none;
	color: #ffffff;
	/* kein aspect-ratio mehr — Grid-Reihen bestimmen die Höhe */
}

.shop-ernststein .es-world-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform var(--es-trans), opacity var(--es-trans-fast);
	opacity: 0.85;
	z-index: 1;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(1) .es-world-image {
	object-position: 50% 25%;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(2) .es-world-image {
	object-position: 58% 52%;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(3) .es-world-image {
	object-position: 70% 56%;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(4) .es-world-image {
	object-position: 58% 54%;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(5) .es-world-image {
	object-position: 50% 55%;
}

.shop-ernststein .es-worlds-grid .es-world:nth-child(6) .es-world-image {
	object-position: 54% 54%;
}

.shop-ernststein .es-world::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.7) 100%);
	pointer-events: none;
	z-index: 2;
}

.shop-ernststein .es-world-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: clamp(24px, 3vw, 40px);
	z-index: 3;
}

.shop-ernststein .es-world-eyebrow {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-primary-shop, #f68712);
	margin-bottom: 10px;
	font-weight: 500;
}

.shop-ernststein .es-world-title {
	font-size: clamp(1.4rem, 2.2vw, 1.8rem);
	font-weight: 400;
	margin: 0 0 12px;
	line-height: 1.25;
	color: #ffffff;
	letter-spacing: 0;
}

.shop-ernststein .es-world-text {
	font-size: 0.98rem;
	line-height: 1.6;
	margin: 0 0 18px;
	color: rgba(255, 255, 255, 0.85);
	max-width: 38ch;
}

.shop-ernststein .es-world-arrow {
	display: inline-block;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #ffffff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	padding-bottom: 4px;
	transition: border-color var(--es-trans-fast), color var(--es-trans-fast);
}

.shop-ernststein .es-world:hover .es-world-image {
	transform: scale(1.04);
	opacity: 0.95;
}

.shop-ernststein .es-world:hover .es-world-arrow {
	border-color: var(--color-primary-shop, #f68712);
	color: var(--color-primary-shop, #f68712);
}


/** ABSCHNITT: Siegelringe — Dunkle Kontrast-Sektion mit Mini-Slider
 *  Split-Layout: Text links (60%), Slideshow rechts (40%) auf Desktop.
 *  Dunkler Hintergrund grenzt klar von Kategorie-Sektion ab.
 **/
.shop-ernststein .es-signet {
	padding: var(--es-section-y) 0;
	background: var(--es-apricot) !important;
	color: var(--es-ink) !important;
}

/* Flex-Container: Text | Bild-Slider */
.shop-ernststein .es-signet-inner {
	display: flex;
	align-items: center;
	gap: clamp(40px, 6vw, 80px);
}

.shop-ernststein .es-signet-text {
	flex: 1 1 55%;
	min-width: 0;
}

.shop-ernststein .es-signet-gallery {
	flex: 0 0 38%;
	min-width: 0;
}

@media (max-width: 900px) {
	/* Mobile: Bild oben, Text darunter */
	.shop-ernststein .es-signet-inner {
		flex-direction: column-reverse;
	}
	.shop-ernststein .es-signet-gallery {
		flex: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}
}

/* Headline */
.shop-ernststein .es-signet-headline {
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--es-ink) !important;
	margin: 14px 0 24px;
}

/* Lead-Text — Blocksatz, keine Breitenbegrenzung */
.shop-ernststein .es-signet-lead {
	font-size: clamp(1.16rem, 1.32vw, 1.28rem);
	line-height: 1.82;
	color: var(--es-ink-soft) !important;
	margin: 0 0 34px;
	text-align: justify;
}

/* Feature-Liste */
.shop-ernststein .es-signet-features {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.shop-ernststein .es-signet-features li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: clamp(1.06rem, 1.12vw, 1.16rem);
	line-height: 1.64;
	color: var(--es-ink-soft) !important;
}

.shop-ernststein .es-signet-feature-icon {
	color: var(--color-primary-shop, #f68712);
	font-size: 0.65rem;
	margin-top: 0.38em;
	flex-shrink: 0;
}

/* Fußnote / Wappenprospekt-Hinweis */
.shop-ernststein .es-signet-note {
	margin: 28px 0 0;
	font-size: 0.92rem;
	line-height: 1.72;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-signet-link {
	color: var(--es-ink-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--es-trans-fast);
}

.shop-ernststein .es-signet-link:hover {
	color: var(--color-primary-shop, #f68712);
}


/** ABSCHNITT: Siegelring-Mini-Slider (UIkit Slideshow) **/

/* Wrapper — Seitenverhältnis wird durch UIkit ratio: 4:5 gesteuert */
.shop-ernststein .es-signet-slideshow {
	position: relative;
	overflow: hidden;
}

/* Sanfte dunkle Vignette unten für Dot-Lesbarkeit */
.shop-ernststein .es-signet-slideshow::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 30%;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	pointer-events: none;
	z-index: 1;
}

.shop-ernststein .es-signet-slideshow .uk-position-bottom-center,
.shop-ernststein .es-signet-nav {
	z-index: 2;
}

/* Mini-Pfeil-Buttons für den Ring-Slider */
.shop-ernststein .es-signet-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: rgba(255, 255, 255, 0.8);
	background: rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	text-decoration: none;
	transition: background var(--es-trans-fast), color var(--es-trans-fast);
}

.shop-ernststein .es-signet-prev { left: 12px; }
.shop-ernststein .es-signet-next { right: 12px; }

.shop-ernststein .es-signet-nav svg {
	width: 17px;
	height: 17px;
	display: block;
}

.shop-ernststein .es-signet-nav:hover {
	background: rgba(0, 0, 0, 0.55);
	color: #ffffff;
}

/* Kleine runde Dots für den Ring-Slider */
.shop-ernststein .es-signet-dotnav {
	gap: 7px;
}

.shop-ernststein .es-signet-dotnav > * > * {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: transparent;
	transition: background var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-signet-dotnav > .uk-active > * {
	background: var(--color-primary-shop, #f68712);
	border-color: var(--color-primary-shop, #f68712);
}

/* Qualitäts-Badge unter dem Slider */
.shop-ernststein .es-signet-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-signet-badge-icon {
	color: var(--color-primary-shop, #f68712);
	font-size: 0.55rem;
}


/** ABSCHNITT: Shop-Eingang — bestehende Kategorie-Übersicht
 *  $CATS-Schleife bleibt unverändert. Kompakte Shop-Kacheln als Einstieg in die Kategorien.
 **/
.shop-ernststein .FrontpageProductCategoryOverview {
	padding: var(--es-section-y) 0;
	background: var(--es-paper) !important;
	border-bottom: 3px solid var(--color-primary-shop, #f68712);
}

.shop-ernststein .FrontpageProductCategoryOverview .es-section-header {
	margin-bottom: clamp(32px, 4vw, 52px);
}

/** ABSCHNITT: Shop-Eingang — kompakte Kategorie-Kacheln
 *  Die CATS-Schleife bleibt unverändert; nur das Raster wird als ruhige Shop-Navigation verfeinert.
 **/
.shop-ernststein .es-shop-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	justify-content: center;
	gap: 24px;
	margin-left: 0;
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
}

.shop-ernststein .es-shop-grid > div {
	width: 100%;
	padding-left: 0;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner {
	position: relative;
	overflow: hidden;
	background: var(--es-ink);
	box-shadow: 0 10px 28px rgba(26, 26, 26, 0.08) !important;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-top: 3px solid var(--color-primary-shop, #f68712);
	border-radius: 2px;
	transition: transform var(--es-trans-fast), border-color var(--es-trans-fast), box-shadow var(--es-trans-fast);
}

.shop-ernststein .FrontpageProductCategoryOverview .inner:hover {
	border-color: var(--color-primary-shop, #f68712);
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(26, 26, 26, 0.13) !important;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner > img,
.shop-ernststein .FrontpageProductCategoryOverview .inner [uk-slideshow] img {
	transition: opacity var(--es-trans-fast);
	opacity: 0.92;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner:hover > img,
.shop-ernststein .FrontpageProductCategoryOverview .inner:hover [uk-slideshow] img {
	opacity: 1;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 30%, rgba(0, 0, 0, 0.62) 100%);
	pointer-events: none;
	z-index: 1;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner h2 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 16px 16px 18px;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff;
	font-size: clamp(0.9rem, 1vw, 1.02rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	z-index: 2;
	text-align: center;
	border: none;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner h2::after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	background: var(--color-primary-shop, #f68712);
	margin: 9px auto 0;
	opacity: 0.75;
	transition: width var(--es-trans-fast);
}

.shop-ernststein .FrontpageProductCategoryOverview .inner:hover h2::after {
	width: 44px;
}

.shop-ernststein .FrontpageProductCategoryOverview .inner > a[uk-cover],
.shop-ernststein .FrontpageProductCategoryOverview .inner > a[data-uk-cover] {
	z-index: 3;
}

@media (max-width: 767px) {
	.shop-ernststein .es-shop-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
	.shop-ernststein .es-shop-grid > div {
		width: 100%;
	}
}

@media (max-width: 420px) {
	.shop-ernststein .es-shop-grid {
		grid-template-columns: 1fr;
	}
	.shop-ernststein .es-shop-grid > div {
		width: 100%;
		max-width: 240px;
	}
}


/** ABSCHNITT: Reduzierte Bewegung respektieren **/
@media (prefers-reduced-motion: reduce) {
	.shop-ernststein .es-world-image,
	.shop-ernststein .FrontpageProductCategoryOverview .inner,
	.shop-ernststein .FrontpageProductCategoryOverview .inner h2::after,
	.shop-ernststein .MainSlider .uk-dotnav > .uk-active > *::before,
	.shop-ernststein .es-scroll-down svg {
		transition: none;
		animation: none;
	}
	.shop-ernststein .es-world:hover .es-world-image {
		transform: none;
	}
	.shop-ernststein .FrontpageProductCategoryOverview .inner:hover {
		transform: none;
	}
	.shop-ernststein .FrontpageProductCategoryOverview .inner:hover h2::after {
		width: 28px;
	}
	/* Fallback: aktiver Strich sofort orange ohne Animation */
	.shop-ernststein .MainSlider .uk-dotnav > .uk-active > *::before {
		width: 100%;
	}
}


/** ABSCHNITT: Markenwelt-Unterseiten (welt-*_ernst.tpl)
 *  Hero-Banner + Intro-Split + Spec-Liste + CTA.
 *  Gleiches Designsystem wie Frontpage.
 **/

/* Hero-Bereich mit Hintergrundbild */
.shop-ernststein .es-welt-hero {
	position: relative;
	min-height: clamp(260px, 36vw, 480px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--es-dark);
}

.shop-ernststein .es-welt-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.55;
	transition: transform var(--es-trans);
}

.shop-ernststein .es-welt-hero:hover .es-welt-hero-bg {
	transform: scale(1.02);
}

.shop-ernststein .es-welt-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.65) 100%);
}

.shop-ernststein .es-welt-hero-content {
	position: relative;
	z-index: 2;
	padding-bottom: clamp(40px, 6vw, 72px);
	padding-top: clamp(32px, 4vw, 56px);
	color: #ffffff;
}

/* Zurück-Link oben im Hero */
.shop-ernststein .es-welt-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	margin-bottom: 28px;
	transition: color var(--es-trans-fast);
}

.shop-ernststein .es-welt-back svg {
	width: 16px;
	height: 16px;
}

.shop-ernststein .es-welt-back:hover {
	color: #ffffff;
}

.shop-ernststein .es-welt-headline {
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0;
	color: #ffffff;
	margin: 14px 0 18px;
}

.shop-ernststein .es-welt-hero-lead {
	font-size: 1.05rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.75);
	max-width: 52ch;
	margin: 0;
}

/* Intro: Text links, Specs rechts */
.shop-ernststein .es-welt-intro {
	padding: var(--es-section-y) 0;
	background: #ffffff;
}

.shop-ernststein .es-welt-intro-inner {
	display: flex;
	gap: clamp(40px, 6vw, 80px);
	align-items: flex-start;
}

.shop-ernststein .es-welt-intro-text {
	flex: 1 1 60%;
}

.shop-ernststein .es-welt-intro-aside {
	flex: 0 0 32%;
}

@media (max-width: 768px) {
	.shop-ernststein .es-welt-intro-inner {
		flex-direction: column;
	}
	.shop-ernststein .es-welt-intro-aside {
		flex: none;
		width: 100%;
	}
}

.shop-ernststein .es-welt-subline {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 400;
	letter-spacing: 0;
	color: var(--es-ink);
	margin: 0 0 20px;
	line-height: 1.2;
}

.shop-ernststein .es-welt-intro-text p {
	font-size: 1.05rem;
	line-height: 1.78;
	color: var(--es-ink-soft);
	margin: 0 0 18px;
}

/* Spec-Tabelle */
.shop-ernststein .es-welt-specs {
	border-top: 1px solid var(--es-line);
}

.shop-ernststein .es-welt-spec {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 0;
	border-bottom: 1px solid var(--es-line);
}

.shop-ernststein .es-welt-spec-label {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-welt-spec-val {
	font-size: 0.98rem;
	color: var(--es-ink);
	font-weight: 400;
}

/* CTA-Sektion */
.shop-ernststein .es-welt-cta {
	padding: clamp(48px, 7vw, 96px) 0;
	background: var(--es-paper);
	text-align: center;
}

.shop-ernststein .es-welt-cta-text {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--es-ink-soft);
	margin: 0 0 32px;
}

.shop-ernststein .es-welt-cta-buttons {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}


/** ABSCHNITT: Container-Breite — dynamischer bei großen Viewports
 *  Das globale .container hat einen festen max-width-Wert.
 *  Für Ernst-Stein-Sektionen schrauben wir es etwas auf, damit
 *  der Inhalt bei sehr breiten Fenstern nicht zu eng wirkt.
 *  Nur für unsere eigenen Sektionen, um globale Styles nicht zu brechen.
 **/
.shop-ernststein .es-welcome .container,
.shop-ernststein .es-worlds .container,
.shop-ernststein .es-signet .container,
.shop-ernststein .es-synthdia .container,
.shop-ernststein .FrontpageProductCategoryOverview .container {
	max-width: min(1480px, 94vw);
	/* Sicherstellen dass der Container immer mittig sitzt */
	margin-left: auto;
	margin-right: auto;
}

/* Welcome-Text-Container: etwas enger für gute Lesbarkeit, aber nicht zu starr */
.shop-ernststein .es-welcome .container {
	max-width: min(960px, 94vw);
}


/** ABSCHNITT: Navigation — dezente Modernisierung für Ernst Stein
 *  Selektoren aus header.tpl abgeleitet:
 *  - .TopBar        = sticky Utility-Leiste (Login, Account, Warenkorb)
 *  - .LogoContainer = Logo-Bereich zwischen TopBar und MainNav
 *  - .MainNav       = zentrierte Haupt-Navigation
 *  Strategie: externe Linien resetten, aktiven Punkt ueber orange Schrift
 *  und eine kurze feine Linie direkt unter dem Wort markieren.
 **/

/* ---- TopBar: Utility-Leiste ---- */
.shop-ernststein .TopBar {
	background: #ffffff;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
	font-size: 0.82rem;
}

/* TopBar-Texte dunkel setzen — global-CSS kann sie auf weiß gesetzt haben */
.shop-ernststein .TopBar,
.shop-ernststein .TopBar a,
.shop-ernststein .TopBar label,
.shop-ernststein .TopBar span:not([uk-icon]) {
	color: var(--es-ink-soft) !important;
}

.shop-ernststein .TopBar input {
	color: var(--es-ink);
}

/* ---- Logo ---- */
.shop-ernststein .LogoContainer .Logo {
	height: clamp(48px, 6vw, 72px);
	width: auto;
	display: block;
	/* Reduzierter Abstand: Logo enger an TopBar und Nav */
	margin: clamp(6px, 0.8vw, 12px) auto;
}

/* ---- Haupt-Navigation ---- */

/* uk-navbar-container + header: ALLE möglichen Rahmen-Quellen entfernen */
.shop-ernststein .uk-navbar-container,
.shop-ernststein header nav {
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
	background: #ffffff !important;
}

/* MainNav selbst: kein Rahmen */
.shop-ernststein .MainNav {
	border: none !important;
	padding: 0;
}

/* ul.uk-navbar-nav: kein Rahmen */
.shop-ernststein .MainNav .uk-navbar-nav {
	border: none !important;
	border-bottom: none !important;
}

/* Alle li-Elemente: kein Rahmen */
.shop-ernststein .MainNav .uk-navbar-nav > li {
	border: none !important;
}

/* Nav-Links: keine Rahmen/Unterstreichungen aus globalem CSS. */
.shop-ernststein .MainNav .uk-navbar-nav > li > a,
.shop-ernststein .MainNav .uk-navbar-nav > li.uk-active > a,
.shop-ernststein .MainNav .uk-navbar-nav > li > a:visited {
	position: relative;
	border: none !important;
	border-bottom: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	outline: none;
	background: none !important;
}

/* Typografie */
.shop-ernststein .MainNav .uk-navbar-nav > li > a {
	font-size: 0.96rem !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	color: var(--es-ink) !important;
	padding: 12px 20px 10px !important;
	transition: color var(--es-trans-fast) !important;
}

/* Hover: kurzer Akzent als Vorschau */
.shop-ernststein .MainNav .uk-navbar-nav > li > a:hover {
	color: var(--color-primary-shop, #f68712) !important;
	border-bottom-color: transparent !important;
}

/* Aktiv: orange Schrift plus kurze Linie direkt unter dem Wort. */
.shop-ernststein .MainNav .uk-navbar-nav > li.uk-active > a {
	color: var(--color-primary-shop, #f68712) !important;
	border-bottom-color: transparent !important;
}

/* Link-::before deaktivieren; ::after ist der aktive Kurzstrich. */
.shop-ernststein .MainNav .uk-navbar-nav > li > a::before,
.shop-ernststein .MainNav .uk-navbar-nav > li::after,
.shop-ernststein .MainNav .uk-navbar-nav > li::before {
	display: none !important;
	content: none !important;
}

.shop-ernststein .MainNav .uk-navbar-nav > li > a::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 50% !important;
	top: calc(50% + 18px) !important;
	bottom: auto !important;
	width: 0;
	height: 2px !important;
	background: var(--color-primary-shop, #f68712) !important;
	border-radius: 999px;
	opacity: 0;
	transform: translateX(-50%) rotate(0deg) scale(1) !important;
	transition: width var(--es-trans-fast), opacity var(--es-trans-fast);
}

.shop-ernststein .MainNav .uk-navbar-nav > li.uk-active > a::after {
	width: 34px;
	opacity: 1;
}

.shop-ernststein .MainNav .uk-navbar-nav > li > a:hover::after {
	width: 26px;
	opacity: 1;
	background: rgba(246, 135, 18, 0.65) !important;
}


/** ABSCHNITT: Synthetische Diamanten — gespiegelte Siegelring-Sektion
 *  Layout: Slider LINKS, Text RECHTS (Kontrast zur Siegelring-Sektion).
 *  Gleicher dunkler Hintergrund, leicht kühler durch anderen Akzent.
 *  Alle class-Namen mit es-synthdia-Präfix um Konflikte zu vermeiden.
 **/
.shop-ernststein .es-synthdia {
	padding: var(--es-section-y) 0;
	/* Helles Design: weißer Hintergrund, abgesetzt von Apricot-Siegelringe */
	background: #ffffff !important;
	color: var(--es-ink) !important;
}

/* Flex-Container: Text | Gallery
 * CMS_TODO: Sobald Synthdia-Bilder in /layout/img/es-static/ vorhanden sind,
 * die order-Regeln (Zeilen direkt darunter) entfernen → dann Gallery links, Text rechts. */
.shop-ernststein .es-synthdia-inner {
	display: flex;
	align-items: center;
	gap: clamp(40px, 6vw, 80px);
	width: 100%;
}

.shop-ernststein .es-synthdia-gallery {
	flex: 0 0 38%;
	min-width: 0;
	/* Gallery bleibt links — gespiegeltes Layout zu Siegelringe (Text links, Gallery rechts) */
}

/* Text rechtsbündig — spiegelt Siegelringe exakt (dort: links + Icon links, hier: rechts + Icon rechts) */
.shop-ernststein .es-synthdia-text {
	flex: 1 1 55%;
	min-width: 0;
	text-align: right;
}

/* Mindesthöhe ohne !important — UIkit setzt via JS die ratio-4:5-Höhe als Inline-Style,
   die würde durch !important gekillt. Kein !important → UIkit gewinnt → Hochformat korrekt. */
.shop-ernststein .es-synthdia-slideshow .uk-slideshow-items {
	min-height: clamp(280px, 34vw, 480px);
}

@media (max-width: 900px) {
	/* Mobile: Bild zuerst (oben), dann Text */
	.shop-ernststein .es-synthdia-inner {
		flex-direction: column;
	}
	.shop-ernststein .es-synthdia-gallery {
		flex: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}
}

/* Headline */
.shop-ernststein .es-synthdia-headline {
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--es-ink) !important;
	margin: 14px 0 24px;
}

/* Lead-Text — Blocksatz, füllt die volle Textspalte */
.shop-ernststein .es-synthdia-lead {
	font-size: clamp(1.16rem, 1.32vw, 1.28rem);
	line-height: 1.82;
	color: var(--es-ink-soft) !important;
	margin: 0 0 34px;
	text-align: justify;
}

/* Feature-Liste */
.shop-ernststein .es-synthdia-features {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.shop-ernststein .es-synthdia-features li {
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse; /* Icon rechts — gespiegelt zu Siegelringe */
	gap: 14px;
	font-size: clamp(1.06rem, 1.12vw, 1.16rem);
	line-height: 1.64;
	color: var(--es-ink-soft) !important;
}

.shop-ernststein .es-synthdia-feature-icon {
	color: var(--color-primary-shop, #f68712);
	font-size: 0.65rem;
	margin-top: 0.38em;
	flex-shrink: 0;
}

/* Fußnote */
.shop-ernststein .es-synthdia-note {
	margin: 28px 0 0;
	font-size: 0.92rem;
	line-height: 1.72;
	color: var(--es-ink-mute);
}

/* Slideshow-Wrapper — kein dunkler Gradient mehr auf hellem Hintergrund */
.shop-ernststein .es-synthdia-slideshow {
	position: relative;
	overflow: hidden;
}

.shop-ernststein .es-synthdia-slideshow::after {
	content: none;  /* Dunkler Gradient entfernt — passt nicht mehr auf weißem BG */
}

.shop-ernststein .es-synthdia-slideshow .uk-position-bottom-center,
.shop-ernststein .es-synthdia-nav {
	z-index: 2;
}

/* Pfeil-Buttons */
.shop-ernststein .es-synthdia-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: rgba(255, 255, 255, 0.8);
	background: rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	text-decoration: none;
	transition: background var(--es-trans-fast), color var(--es-trans-fast);
}

.shop-ernststein .es-synthdia-prev { left: 12px; }
.shop-ernststein .es-synthdia-next { right: 12px; }

.shop-ernststein .es-synthdia-nav svg {
	width: 17px;
	height: 17px;
	display: block;
}

.shop-ernststein .es-synthdia-nav:hover {
	background: rgba(0, 0, 0, 0.55);
	color: #ffffff;
}

/* Dots */
.shop-ernststein .es-synthdia-dotnav {
	gap: 7px;
}

.shop-ernststein .es-synthdia-dotnav > * > * {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	/* Weiß auf weißem Hintergrund war unsichtbar → jetzt dunkel */
	border: 1px solid rgba(26, 26, 26, 0.28);
	background: transparent;
	transition: background var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-synthdia-dotnav > .uk-active > * {
	background: var(--color-primary-shop, #f68712);
	border-color: var(--color-primary-shop, #f68712);
}

/* Badge unter dem Slider — auf weißem BG jetzt dunkel statt weiß */
.shop-ernststein .es-synthdia-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-synthdia-badge-icon {
	color: var(--color-primary-shop, #f68712);
	font-size: 0.55rem;
}


/** ABSCHNITT: Facts-Bridge — frischer Kennzahlen-Trenner
 *  Eigenständiger heller Trenner mit zwei gleichdicken orangenen Linien und sauberem 3-Spalten-Raster.
 **/
.shop-ernststein .es-facts-bridge {
	background: #ffffff !important;
	padding: clamp(32px, 3.8vw, 52px) 0;
	position: relative;
	overflow: hidden;
	border-top: 3px solid var(--color-primary-shop, #f68712);
	border-bottom: 3px solid var(--color-primary-shop, #f68712);
}

/* Eigenes Raster für den oberen Trenner, unabhängig vom zweiten Bridge-Strip. */
.shop-ernststein .es-facts-bridge .es-welcome-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 0;
	max-width: min(1120px, 90vw);
	margin: 0 auto;
	border-top: none;
	padding-top: 0;
	position: relative;
	z-index: 1;
}

.shop-ernststein .es-facts-bridge .es-fact {
	max-width: none;
	min-height: 0;
	padding: clamp(2px, 0.6vw, 6px) clamp(24px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.shop-ernststein .es-facts-bridge .es-fact:not(:first-child) {
	border-left: 1px solid rgba(26, 26, 26, 0.14);
}

.shop-ernststein .es-facts-bridge .es-fact-num {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	font-size: clamp(2.35rem, 3.7vw, 3.25rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	color: var(--es-ink);
	margin: 0 0 10px;
	white-space: nowrap;
}

.shop-ernststein .es-facts-bridge .es-fact-label {
	display: block;
	max-width: 22ch;
	min-height: 2.7em;
	font-size: clamp(0.82rem, 0.9vw, 0.92rem);
	line-height: 1.38;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--es-ink-soft);
	text-align: center;
}

.shop-ernststein .es-facts-bridge .es-fact-sep {
	display: none;
}

@media (max-width: 640px) {
	.shop-ernststein .es-facts-bridge .es-welcome-facts {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.shop-ernststein .es-facts-bridge .es-fact {
		min-height: 0;
		grid-template-rows: auto auto;
	}
	.shop-ernststein .es-facts-bridge .es-fact:not(:first-child) {
		border-left: none;
		border-top: 1px solid rgba(26, 26, 26, 0.12);
		padding-top: 24px;
	}
	.shop-ernststein .es-facts-bridge .es-fact-num,
	.shop-ernststein .es-facts-bridge .es-fact-label {
		min-height: 0;
	}
	.shop-ernststein .es-facts-bridge .es-fact-num {
		margin-bottom: 10px;
	}
}


/** ABSCHNITT: Bridge-Strip — Drei Vertrauensstatements, zwischen Siegelringe + Synthdia
 *  Apricot-deep Hintergrund gibt dem Strip echtes Gewicht zwischen den hellen Sektionen.
 **/
.shop-ernststein .es-bridge {
	background: var(--es-apricot-deep) !important;
	padding: clamp(36px, 4.6vw, 60px) 0;
	position: relative;
	overflow: hidden;
	border-top: 3px solid var(--color-primary-shop, #f68712);
	border-bottom: 3px solid var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-bridge-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	max-width: min(1180px, 92vw);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.shop-ernststein .es-bridge-stat {
	flex: 1;
	text-align: center;
	padding: 0 clamp(18px, 3.2vw, 46px);
	min-height: clamp(112px, 9vw, 136px);
	display: grid;
	grid-template-rows: clamp(48px, 4.8vw, 64px) minmax(4.2em, auto);
	align-items: start;
	justify-items: center;
}

/* Kein Extra-Ornament: Die orange Trennlinie übernimmt die Markenkennung. */
.shop-ernststein .es-bridge-stat::before {
	display: none;
	content: none;
}

.shop-ernststein .es-bridge-stat-main {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-size: clamp(1.36rem, 2.05vw, 1.72rem);
	font-weight: 700;
	color: var(--es-ink);
	margin: 0;
	letter-spacing: 0;
	line-height: 1.18;
	max-width: 22ch;
	min-height: clamp(48px, 4.8vw, 64px);
}

.shop-ernststein .es-bridge-stat-sub {
	display: block;
	font-size: clamp(0.86rem, 0.95vw, 0.98rem);
	color: var(--es-ink-soft);
	letter-spacing: 0.075em;
	line-height: 1.45;
	text-transform: uppercase;
	max-width: 30ch;
	min-height: 4.2em;
}

.shop-ernststein .es-bridge-sep {
	width: 1px;
	height: clamp(60px, 5vw, 74px);
	background: rgba(26, 26, 26, 0.14);
	flex-shrink: 0;
}

@media (max-width: 640px) {
	.shop-ernststein .es-bridge-inner {
		flex-direction: column;
		gap: 36px;
	}
	.shop-ernststein .es-bridge-sep {
		width: 48px;
		height: 1px;
	}
	.shop-ernststein .es-bridge-stat,
	.shop-ernststein .es-bridge-stat-main,
	.shop-ernststein .es-bridge-stat-sub {
		min-height: 0;
	}
	.shop-ernststein .es-bridge-stat {
		grid-template-rows: auto auto;
	}
	.shop-ernststein .es-bridge-stat-main {
		margin-bottom: 10px;
	}
}


/** ABSCHNITT: Kernargumente — Drei Karten auf Apricot-Grund
 *  Apricot-Sektion + weiße Cards mit Schatten = echte Tiefe und Designgewicht.
 *  Großzahl im Hintergrund als dekoratives Element.
 **/
.shop-ernststein .es-pillars {
	padding: clamp(30px, 4vw, 58px) 0 var(--es-section-y);
	background: var(--es-apricot) !important;
}

.shop-ernststein .es-pillars-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2.5vw, 28px);
}

.shop-ernststein .es-pillar {
	position: relative;
	background: #ffffff;
	padding: clamp(32px, 4vw, 52px) clamp(28px, 3.5vw, 44px);
	border-radius: 4px;
	box-shadow: 0 10px 34px rgba(180, 90, 20, 0.1);
	overflow: hidden;
}

/* Große dekorative Zahl im Hintergrund */
.shop-ernststein .es-pillar-num {
	display: block;
	font-size: clamp(5rem, 8vw, 8rem);
	font-weight: 700;
	color: var(--es-apricot);
	line-height: 1;
	margin: 0 0 -1rem;           /* negativer Abstand → Titel überlappt die Zahl leicht */
	letter-spacing: 0;
	user-select: none;
}

.shop-ernststein .es-pillar-title {
	position: relative;
	font-size: clamp(1.15rem, 1.9vw, 1.45rem);
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 18px;
	line-height: 1.25;
	letter-spacing: 0;
}

.shop-ernststein .es-pillar-text {
	font-size: clamp(1rem, 1.02vw, 1.08rem);
	line-height: 1.76;
	color: var(--es-ink-soft);
	margin: 0;
}

/* Schmale Apricot-Linie oben an der Karte */
.shop-ernststein .es-pillar::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--color-primary-shop, #f68712);
}

@media (max-width: 767px) {
	.shop-ernststein .es-pillars-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}


/** ABSCHNITT: Fachhandels-CTA — Abschluss-Sektion
 *  Gesättigter Apricot + Orange-Linie oben + großzügiges Padding = echter Abschluss-Akzent.
 **/
.shop-ernststein .es-fachhandel-cta {
	background: var(--es-apricot-deep) !important;
	padding: clamp(56px, 7vw, 92px) 0;
	text-align: center;
	position: relative;
	border-bottom: 4px solid var(--color-primary-shop, #f68712);
}

/* Dünne orangene Linie als dekorative Grenze nach oben */
.shop-ernststein .es-fachhandel-cta::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-fachhandel-inner {
	max-width: 700px;
	margin: 0 auto;
}

/* Dekoratives Ornament vor der Headline */
.shop-ernststein .es-fachhandel-inner > .es-eyebrow {
	display: block;
	margin-bottom: 20px;
}

.shop-ernststein .es-fachhandel-headline {
	font-size: clamp(2.2rem, 4vw, 3.4rem);
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 28px;
	letter-spacing: 0;
	line-height: 1.15;
}

.shop-ernststein .es-fachhandel-text {
	font-size: 1.1rem;
	line-height: 1.78;
	color: var(--es-ink-soft);
	margin: 0 0 44px;
	max-width: 58ch;
	margin-left: auto;
	margin-right: auto;
}

.shop-ernststein .es-fachhandel-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

/* Gefüllter Orange-Button für Apricot-Hintergrund */
.shop-ernststein .es-btn--dark {
	background: var(--color-primary-shop, #f68712) !important;
	border-color: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
}

.shop-ernststein .es-btn--dark:hover {
	background: transparent !important;
	border-color: var(--color-primary-shop, #f68712) !important;
	color: var(--color-primary-shop, #f68712) !important;
}

/* Outline-Button mit Orange für Apricot-Hintergrund */
.shop-ernststein .es-btn--outline-dark {
	background: transparent !important;
	border: 1px solid var(--color-primary-shop, #f68712) !important;
	color: var(--color-primary-shop, #f68712) !important;
}

.shop-ernststein .es-btn--outline-dark:hover {
	background: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
}


/** ABSCHNITT: Leistungen-Seite
 *  Eigene Seitenmodule, aber bewusst mit den bestehenden ES-Tokens gebaut:
 *  ruhiger Hero, helle Service-Kacheln, dunkle Spezialsektion, klarer Prozess.
 **/
.shop-ernststein .es-services-hero {
	position: relative;
	min-height: clamp(520px, 62vh, 700px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--es-dark);
}

.shop-ernststein .es-services-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.03);
	opacity: 0.9;
}

.shop-ernststein .es-services-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(20, 10, 4, 0.72) 0%, rgba(20, 10, 4, 0.48) 46%, rgba(20, 10, 4, 0.14) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.18));
}

.shop-ernststein .es-services-hero-content {
	position: relative;
	z-index: 1;
	padding: clamp(80px, 10vw, 132px) 0;
	color: #ffffff;
	max-width: 760px;
	margin-left: 0;
}

.shop-ernststein .es-services-headline {
	font-size: clamp(2.45rem, 5vw, 4.9rem);
	line-height: 1.04;
	font-weight: 600;
	color: #ffffff;
	margin: 0 0 26px;
	max-width: 780px;
}

.shop-ernststein .es-services-lead {
	font-size: clamp(1.05rem, 1.45vw, 1.28rem);
	line-height: 1.78;
	color: rgba(255, 255, 255, 0.84);
	max-width: 650px;
	margin: 0 0 38px;
}

.shop-ernststein .es-services-hero-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: center;
}

.shop-ernststein .es-services-scroll-cue {
	position: absolute;
	left: 50%;
	bottom: clamp(18px, 3vw, 34px);
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	width: 46px;
	height: 64px;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	transition: color var(--es-trans-fast), transform var(--es-trans-fast);
	transform: translateX(-50%);
}

.shop-ernststein .es-services-scroll-cue span {
	display: block;
	width: 1px;
	height: 24px;
	background: rgba(255, 255, 255, 0.42);
	transform-origin: top;
	animation: es-services-scroll-line 2.2s ease-in-out infinite;
}

.shop-ernststein .es-services-scroll-cue svg {
	width: 28px;
	height: 28px;
	animation: es-scroll-bounce 2.2s ease-in-out infinite;
}

.shop-ernststein .es-services-scroll-cue:hover {
	color: #ffffff;
	transform: translateX(-50%) translateY(3px);
}

@keyframes es-services-scroll-line {
	0%, 100% { transform: scaleY(0.45); opacity: 0.45; }
	50% { transform: scaleY(1); opacity: 0.9; }
}

.shop-ernststein .es-services-overview {
	background: #ffffff;
	padding: clamp(72px, 8vw, 116px) 0 var(--es-section-y);
}

.shop-ernststein .es-services-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(28px, 4vw, 52px);
}

.shop-ernststein .es-services-card {
	position: relative;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 0;
	padding: clamp(30px, 3.4vw, 44px) 0 0;
	min-height: 0;
	box-shadow: none;
	overflow: hidden;
}

.shop-ernststein .es-services-card::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 58px;
	height: 2px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-services-card-num {
	position: absolute;
	top: 24px;
	right: 0;
	font-size: clamp(2.2rem, 3.8vw, 3.9rem);
	line-height: 1;
	font-weight: 700;
	color: rgba(246, 135, 18, 0.08);
	user-select: none;
}

.shop-ernststein .es-services-card-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	margin-bottom: 22px;
	border: 0;
	color: var(--color-primary-shop, #f68712);
	background: transparent;
	border-radius: 0;
	font-size: 1.32rem;
}

/* Card-Typografie 05/2026: zwei Stufen ruhiger als anfangs (war zu fett), aber
   nicht zu zart — auf großen Screens jetzt klar lesbar.
   Card-Headlines balanced gegen Detail-Panel-Headlines. */
.shop-ernststein .es-services-card h3 {
	position: relative;
	font-size: clamp(1.28rem, 1.7vw, 1.5rem);
	line-height: 1.3;
	font-weight: 600;
	color: var(--es-ink);
	margin: 4px 0 14px;
}

.shop-ernststein .es-services-card p {
	position: relative;
	font-size: clamp(1.05rem, 1.12vw, 1.15rem);
	line-height: 1.68;
	color: var(--es-ink-soft);
	margin: 0;
}

.shop-ernststein .es-services-detail {
	background: linear-gradient(180deg, var(--es-apricot) 0%, #ffffff 100%);
	padding: var(--es-section-y) 0;
}

.shop-ernststein .es-services-detail-header {
	margin-bottom: clamp(38px, 5vw, 64px);
}

.shop-ernststein .es-services-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	align-items: stretch;
	background: #ffffff;
	border-top: 1px solid rgba(246, 135, 18, 0.42);
	border-bottom: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-showcase-media {
	position: relative;
	min-height: clamp(420px, 42vw, 620px);
	overflow: hidden;
	background: #e4ded3;
}

.shop-ernststein .es-services-showcase-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.shop-ernststein .es-services-showcase-media::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background: linear-gradient(180deg, rgba(26, 13, 4, 0) 0%, rgba(26, 13, 4, 0.58) 100%);
}

.shop-ernststein .es-services-showcase-label {
	position: absolute;
	left: clamp(22px, 3vw, 38px);
	right: clamp(22px, 3vw, 38px);
	bottom: clamp(22px, 3vw, 38px);
	z-index: 1;
	color: #ffffff;
}

.shop-ernststein .es-services-showcase-label span,
.shop-ernststein .es-services-kicker,
.shop-ernststein .es-services-spectrum-label,
.shop-ernststein .es-services-working-list span {
	display: block;
	font-family: var(--es-font-din);
	font-size: clamp(0.86rem, 0.9vw, 0.98rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
}

.shop-ernststein .es-services-showcase-label span {
	color: rgba(255, 255, 255, 0.74);
	margin-bottom: 8px;
}

.shop-ernststein .es-services-showcase-label strong {
	display: block;
	font-family: var(--es-font-display);
	font-size: clamp(2rem, 4.2vw, 4rem);
	line-height: 0.98;
	font-weight: 500;
	text-wrap: balance;
}

.shop-ernststein .es-services-showcase-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(42px, 5vw, 72px);
}

.shop-ernststein .es-services-kicker {
	color: var(--color-primary-shop, #f68712);
	margin-bottom: 18px;
}

.shop-ernststein .es-services-showcase-copy h3,
.shop-ernststein .es-services-spectrum-intro h3,
.shop-ernststein .es-services-working-copy h3 {
	font-family: var(--es-font-display);
	font-size: clamp(2.05rem, 3.4vw, 3.35rem);
	line-height: 1.08;
	font-weight: 500;
	color: var(--es-ink);
	margin: 0 0 22px;
	text-wrap: balance;
}

.shop-ernststein .es-services-showcase-copy p,
.shop-ernststein .es-services-spectrum-intro p,
.shop-ernststein .es-services-working-copy p,
.shop-ernststein .es-services-working-list p {
	font-size: clamp(1.08rem, 1.16vw, 1.22rem);
	line-height: 1.74;
	color: var(--es-ink-soft);
	margin: 0;
}

.shop-ernststein .es-services-showcase-facts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	margin: clamp(30px, 3.6vw, 44px) 0 0;
	border-top: 1px solid rgba(26, 26, 26, 0.12);
	border-bottom: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-showcase-facts div {
	padding: 18px 20px 18px 0;
}

.shop-ernststein .es-services-showcase-facts div:nth-child(2n) {
	padding-left: 20px;
	border-left: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-showcase-facts div:nth-child(n+3) {
	border-top: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-showcase-facts dt {
	font-family: var(--es-font-din);
	font-size: 0.84rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-primary-shop, #f68712);
	margin: 0 0 8px;
}

.shop-ernststein .es-services-showcase-facts dd {
	font-size: clamp(1rem, 1.06vw, 1.12rem);
	line-height: 1.58;
	color: var(--es-ink);
	margin: 0;
}

.shop-ernststein .es-services-spectrum {
	position: relative;
	display: grid;
	grid-template-columns: minmax(260px, 0.36fr) minmax(0, 1fr);
	gap: clamp(34px, 5vw, 72px);
	margin-top: clamp(38px, 5vw, 64px);
	padding: clamp(42px, 5.4vw, 76px);
	background: #2c251f;
	color: #ffffff;
	overflow: hidden;
}

.shop-ernststein .es-services-spectrum::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--color-primary-shop, #f68712), rgba(255, 255, 255, 0.28));
}

.shop-ernststein .es-services-spectrum-intro h3,
.shop-ernststein .es-services-spectrum-intro p {
	color: #ffffff;
}

.shop-ernststein .es-services-spectrum-intro p {
	color: rgba(255, 255, 255, 0.74);
}

.shop-ernststein .es-services-spectrum-rows {
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.shop-ernststein .es-services-spectrum-row {
	display: grid;
	grid-template-columns: minmax(150px, 0.26fr) 1fr;
	gap: clamp(18px, 3vw, 34px);
	align-items: start;
	padding: clamp(19px, 2.3vw, 26px) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.shop-ernststein .es-services-spectrum-label {
	position: relative;
	color: rgba(255, 255, 255, 0.72);
	padding-left: 28px;
	line-height: 1.45;
}

.shop-ernststein .es-services-spectrum-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-services-spectrum-row--metal .es-services-spectrum-label::before {
	background: linear-gradient(135deg, #d5a044, #f1d998 48%, #a16f22);
}

.shop-ernststein .es-services-spectrum-row--stone .es-services-spectrum-label::before {
	background: linear-gradient(135deg, #4f8f8a, #86c5c0 48%, #274f65);
}

.shop-ernststein .es-services-spectrum-row--pearl .es-services-spectrum-label::before {
	background: linear-gradient(135deg, #f4e6e2, #ffffff 52%, #d4b4a6);
}

.shop-ernststein .es-services-spectrum-row--shape .es-services-spectrum-label::before {
	background: linear-gradient(135deg, #b55f70, #d5a375 52%, #6f7044);
}

.shop-ernststein .es-services-spectrum-row div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
}

.shop-ernststein .es-services-spectrum-row div span {
	display: inline-block;
	color: rgba(255, 255, 255, 0.93);
	font-size: clamp(1.08rem, 1.2vw, 1.25rem);
	line-height: 1.4;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(246, 135, 18, 0.44);
}

.shop-ernststein .es-services-working {
	display: grid;
	grid-template-columns: minmax(280px, 0.84fr) minmax(0, 1.16fr);
	margin-top: clamp(38px, 5vw, 64px);
	background: #ffffff;
	border-top: 1px solid rgba(26, 26, 26, 0.12);
	border-bottom: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-working-copy {
	padding: clamp(38px, 5vw, 68px);
	background: var(--es-apricot-mute);
}

.shop-ernststein .es-services-working-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 0;
	margin: 0;
}

.shop-ernststein .es-services-working-list li {
	position: relative;
	padding: clamp(30px, 3.4vw, 48px);
	border-left: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-working-list li:nth-child(n+3) {
	border-top: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-services-working-list span {
	color: var(--color-primary-shop, #f68712);
	margin-bottom: 14px;
}

.shop-ernststein .es-services-working-list strong {
	display: block;
	font-family: var(--es-font-display);
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.08;
	font-weight: 500;
	color: var(--es-ink);
	margin: 0 0 12px;
}

@media (max-width: 960px) {
	.shop-ernststein .es-services-showcase,
	.shop-ernststein .es-services-spectrum,
	.shop-ernststein .es-services-working {
		grid-template-columns: 1fr;
	}

	.shop-ernststein .es-services-showcase-media {
		min-height: clamp(320px, 58vw, 520px);
	}

	.shop-ernststein .es-services-working-list li:nth-child(odd) {
		border-left: 0;
	}
}

@media (max-width: 640px) {
	.shop-ernststein .es-services-showcase-copy,
	.shop-ernststein .es-services-spectrum,
	.shop-ernststein .es-services-working-copy,
	.shop-ernststein .es-services-working-list li {
		padding-left: clamp(24px, 7vw, 34px);
		padding-right: clamp(24px, 7vw, 34px);
	}

	.shop-ernststein .es-services-showcase-facts,
	.shop-ernststein .es-services-working-list {
		grid-template-columns: 1fr;
	}

	.shop-ernststein .es-services-showcase-facts div,
	.shop-ernststein .es-services-showcase-facts div:nth-child(2n) {
		padding-left: 0;
		border-left: 0;
	}

	.shop-ernststein .es-services-showcase-facts div:nth-child(n+2),
	.shop-ernststein .es-services-working-list li:nth-child(n+2) {
		border-top: 1px solid rgba(26, 26, 26, 0.12);
	}

	.shop-ernststein .es-services-spectrum-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.shop-ernststein .es-services-working-list li {
		border-left: 0;
	}
}

.shop-ernststein .es-services-specials {
	background: var(--es-apricot-deep);
	padding: var(--es-section-y) 0;
	color: var(--es-ink);
}

.shop-ernststein .es-services-specials-header {
	max-width: 720px;
	margin: 0 auto clamp(38px, 5vw, 64px);
	text-align: center;
}

.shop-ernststein .es-services-specials-header h2 {
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	line-height: 1.12;
	font-weight: 600;
	color: var(--es-ink);
	margin: 12px 0 0;
}

.shop-ernststein .es-services-special-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(22px, 3vw, 36px);
}

.shop-ernststein .es-services-special {
	display: grid;
	grid-template-columns: minmax(180px, 0.9fr) 1.1fr;
	min-height: 380px;
	border: 1px solid rgba(26, 26, 26, 0.08);
	background: #ffffff;
	box-shadow: 0 18px 46px rgba(180, 90, 20, 0.1);
	overflow: hidden;
}

.shop-ernststein .es-services-special-image {
	position: relative;
	min-height: 380px;
	background: var(--es-paper);
}

/* Special-Image-Layout: absolut positioniert, voll ausfüllend, object-fit cover.
   Bildausrichtung pro Karte: erste (Wappenringe) zeigt oben, zweite (Synth-
   Diamanten) leicht herangezoomt. Falls Bilder später final beschnitten sind,
   kann der scale(1.05) raus. */
.shop-ernststein .es-services-special-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.shop-ernststein .es-services-special:first-child .es-services-special-image img {
	object-position: center top;
}

.shop-ernststein .es-services-special:nth-child(2) .es-services-special-image img {
	object-position: center center;
	transform: scale(1.05);
}

.shop-ernststein .es-services-special-content {
	padding: clamp(30px, 3.7vw, 48px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.shop-ernststein .es-services-special-kicker {
	display: block;
	color: rgba(246, 135, 18, 0.9);
	font-size: 0.82rem;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.shop-ernststein .es-services-special h3 {
	font-size: clamp(1.35rem, 2.25vw, 2rem);
	line-height: 1.2;
	color: var(--es-ink);
	font-weight: 600;
	margin: 0 0 18px;
}

.shop-ernststein .es-services-special p {
	font-size: 1.06rem;
	line-height: 1.7;
	color: var(--es-ink-soft);
	margin: 0 0 24px;
}

/* Editorial-Pfeil-Link: rückt beim Hover leicht nach rechts (klassisches
   Magazin-CTA-Verhalten), statt Farbsprung. */
.shop-ernststein .es-services-text-link {
	color: var(--color-primary-shop, #f68712) !important;
	text-transform: uppercase;
	font-size: 0.86rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}

.shop-ernststein .es-services-text-link::after {
	content: " →";
	margin-left: 6px;
	transition: margin-left var(--es-trans-fast);
}

.shop-ernststein .es-services-text-link:hover {
	color: var(--es-ink) !important;
}

.shop-ernststein .es-services-text-link:hover::after {
	margin-left: 10px;
}

.shop-ernststein .es-services-process {
	background: var(--es-paper);
	padding: var(--es-section-y) 0;
}

.shop-ernststein .es-services-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(14px, 2vw, 22px);
}

.shop-ernststein .es-services-process-step {
	position: relative;
	min-height: 228px;
	padding: clamp(28px, 3vw, 42px);
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 4px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(180, 90, 20, 0.09);
}

.shop-ernststein .es-services-process-step::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--color-primary-shop, #f68712);
}

/* Process-Step 05/2026: Schrittnummer als kleiner Eyebrow,
   weniger Marketing-Pomp, mehr Editorial. */
.shop-ernststein .es-services-process-step span {
	display: inline-block;
	color: var(--color-primary-shop, #f68712);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.shop-ernststein .es-services-process-step h3 {
	font-size: clamp(1.28rem, 1.75vw, 1.55rem);
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 12px;
	line-height: 1.25;
}

.shop-ernststein .es-services-process-step p {
	font-size: clamp(1.05rem, 1.12vw, 1.18rem);
	line-height: 1.65;
	color: var(--es-ink-soft);
	margin: 0;
}

@media (max-width: 1180px) {
	.shop-ernststein .es-services-special {
		grid-template-columns: 1fr;
	}

	.shop-ernststein .es-services-special-image {
		min-height: 300px;
	}
}

@media (max-width: 960px) {
	.shop-ernststein .es-services-card-grid,
	.shop-ernststein .es-services-special-grid,
	.shop-ernststein .es-services-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.shop-ernststein .es-services-hero {
		min-height: 560px;
	}

	.shop-ernststein .es-services-hero-overlay {
		background: linear-gradient(180deg, rgba(20, 10, 4, 0.7), rgba(20, 10, 4, 0.46));
	}

	.shop-ernststein .es-services-hero-content {
		padding: 74px 0 64px;
	}

	.shop-ernststein .es-services-hero-actions .es-btn {
		width: 100%;
		text-align: center;
		padding-left: 22px;
		padding-right: 22px;
	}

	.shop-ernststein .es-services-card-grid,
	.shop-ernststein .es-services-special-grid,
	.shop-ernststein .es-services-process-grid {
		grid-template-columns: 1fr;
	}

	.shop-ernststein .es-services-card {
		min-height: 0;
	}

	.shop-ernststein .es-services-special-image {
		min-height: 260px;
	}

	.shop-ernststein .es-services-process-step {
		min-height: 0;
	}
}


/** ABSCHNITT: Footer — Ernst-Stein Modernisierung
 *  Nur Styling: bestehende Smarty-Daten, Links, Shop-Wechsel und ToTop-Verbindung bleiben unverändert.
 **/
.shop-ernststein #Footer {
	background: #ffffff;
	border-top: 3px solid var(--color-primary-shop, #f68712);
	color: var(--es-ink-soft);
}

.shop-ernststein #Footer .inner {
	background: linear-gradient(180deg, #ffffff 0%, var(--es-paper) 100%);
	padding: clamp(56px, 7vw, 92px) 0 clamp(36px, 5vw, 58px);
}

.shop-ernststein #Footer .inner .container {
	max-width: min(1320px, 94vw);
}

/* Bestehendes UIkit-Grid optisch beruhigen und Divider selbst kontrollieren. */
.shop-ernststein #Footer .inner [data-uk-grid],
.shop-ernststein #Footer .inner [uk-grid] {
	row-gap: clamp(28px, 4vw, 42px);
}

.shop-ernststein #Footer .inner .uk-grid-divider > * {
	border-color: rgba(26, 26, 26, 0.1) !important;
}

.shop-ernststein #Footer .head {
	margin-bottom: 18px;
	min-height: 0 !important;
}

.shop-ernststein #Footer h2 {
	color: var(--es-ink);
	font-size: clamp(1.1rem, 1.35vw, 1.35rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.01em;
	margin: 0;
}

.shop-ernststein #Footer .uk-heading-bullet::before {
	border-left-color: var(--color-primary-shop, #f68712) !important;
	height: 1.3em;
	margin-right: 12px;
}

.shop-ernststein #Footer p {
	color: var(--es-ink-soft);
	font-size: clamp(0.98rem, 1vw, 1.06rem);
	line-height: 1.72;
	margin: 0;
}

.shop-ernststein #Footer img {
	max-width: 180px;
	width: auto;
	margin: 18px 0 0;
	display: block;
}

.shop-ernststein #Footer .changeShop {
	background: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
	border: 1px solid var(--color-primary-shop, #f68712) !important;
	border-radius: 2px;
	padding: 0 18px;
	margin-top: 22px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shop-ernststein #Footer .changeShop:hover {
	background: transparent !important;
	color: var(--color-primary-shop, #f68712) !important;
	text-decoration: none;
}

.shop-ernststein #Footer .ToTop {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: clamp(12px, 2vw, 24px);
	border: 1px solid rgba(26, 26, 26, 0.14);
	border-radius: 50%;
	background: #ffffff;
	color: var(--color-primary-shop, #f68712);
	text-decoration: none;
	transition: background var(--es-trans-fast), color var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein #Footer .ToTop:hover {
	background: var(--color-primary-shop, #f68712);
	color: #ffffff;
	border-color: var(--color-primary-shop, #f68712);
}

.shop-ernststein #Footer .ToTop i {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1;
}

.shop-ernststein #Footer .subfooter {
	background: var(--es-apricot-deep);
	border-top: 1px solid rgba(26, 26, 26, 0.1);
	border-bottom: 3px solid var(--color-primary-shop, #f68712);
	padding: 16px 0;
}

.shop-ernststein #Footer .subfooter .container {
	max-width: min(1320px, 94vw);
}

.shop-ernststein #Footer .subfooter,
.shop-ernststein #Footer .subfooter a {
	color: var(--es-ink-soft) !important;
	font-size: 0.88rem;
	line-height: 1.5;
}

.shop-ernststein #Footer .subfooter a {
	text-decoration: none;
	transition: color var(--es-trans-fast);
}

.shop-ernststein #Footer .subfooter a:hover {
	color: var(--color-primary-shop, #f68712) !important;
	text-decoration: none;
}

.shop-ernststein #Footer .subfooter .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
	border-left-color: rgba(26, 26, 26, 0.22);
}

@media (max-width: 767px) {
	.shop-ernststein #Footer .inner {
		padding-top: 44px;
	}
	.shop-ernststein #Footer .subfooter .uk-flex {
		gap: 12px;
		justify-content: center;
		text-align: center;
	}
	.shop-ernststein #Footer .subfooter .uk-navbar-left,
	.shop-ernststein #Footer .subfooter .uk-navbar-right {
		width: 100%;
		justify-content: center;
	}
	.shop-ernststein #Footer .subfooter .uk-subnav {
		justify-content: center;
	}
}


/** ABSCHNITT: Slider-Höhe — reduzierter Hero
 *  Slider bewusst niedriger als voller Viewport, damit die Fakten darunter schneller sichtbar werden.
 **/
.shop-ernststein .MainSlider {
	height: 540px !important;
	min-height: 540px !important;
	max-height: 540px !important;
	overflow: hidden;
}

#MainSlider,
#MainSlider .uk-slideshow-items,
#MainSlider .uk-slideshow-items > li {
	height: 540px !important;
	min-height: 540px !important;
	max-height: 540px !important;
}

#MainSlider {
	overflow: hidden;
}


/** ABSCHNITT: Download & Info
 *  Modernisierte Download-Seite. Datenstruktur, Links und UIkit-Navigation bleiben
 *  unverändert; diese Regeln greifen nur im Ernst-Stein-Shop.
 **/
.shop-ernststein .es-downloads {
	background: #ffffff;
	padding: clamp(34px, 4vw, 62px) 0 0;
}

.shop-ernststein .es-downloads .container {
	max-width: min(1320px, 94vw);
}

.shop-ernststein .es-downloads-hero {
	position: relative;
	display: block;
	padding: clamp(26px, 4vw, 48px) 0 clamp(24px, 3.4vw, 42px);
	margin-bottom: 0;
}

.shop-ernststein .es-downloads-hero::after {
	display: none;
}

.shop-ernststein .es-downloads-hero-copy {
	max-width: 940px;
}

.shop-ernststein .es-downloads-hero h1 {
	color: var(--es-ink);
	font-size: clamp(2.05rem, 3.5vw, 3.45rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin: 0;
}

.shop-ernststein .es-downloads-lead {
	max-width: 900px;
	margin-top: 18px;
}

.shop-ernststein .es-downloads-lead,
.shop-ernststein .es-downloads-lead p {
	color: var(--es-ink-soft);
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	line-height: 1.62;
}

.shop-ernststein .es-downloads-lead p {
	margin: 0 0 12px;
}

.shop-ernststein .es-downloads-lead p:first-child {
	color: var(--es-ink);
	font-size: clamp(1.05rem, 1.25vw, 1.18rem);
	font-weight: 500;
}

.shop-ernststein .es-downloads-lead ul:last-child {
	margin-bottom: 32px;
}

.shop-ernststein .es-downloads-lead p:last-child {
	margin-bottom: 0;
}

.shop-ernststein .es-downloads-lead ul {
	display: grid;
	gap: 7px;
	margin: 16px 0 38px !important;
	padding: 0 !important;
	list-style: none !important;
	color: var(--es-ink-soft);
	font-size: 0.98rem;
	line-height: 1.5;
}

.shop-ernststein .es-downloads-lead li {
	position: relative;
	padding-left: 18px;
	list-style: none !important;
	margin-left: 0 !important;
}

.shop-ernststein .es-downloads-lead li::marker {
	content: "";
}

.shop-ernststein .es-downloads-lead li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 5px;
	height: 5px;
	background: var(--color-primary-shop, #f68712);
	transform: translateY(-50%);
}

.shop-ernststein .es-downloads-alert {
	display: inline-flex;
	align-items: center;
	margin-top: 22px;
	padding: 11px 16px;
	border-left: 3px solid #d94d3a;
	background: rgba(217, 77, 58, 0.08);
	color: #9f2d21;
	font-size: 0.95rem;
	line-height: 1.45;
}

.shop-ernststein .es-downloads-hero-mark {
	display: none;
}

.shop-ernststein .es-downloads-hero-mark i {
	font-size: clamp(2.3rem, 5vw, 4.8rem);
	line-height: 1;
	opacity: 0.9;
}

.shop-ernststein .es-downloads-mobile-nav {
	margin-bottom: 28px;
}

.shop-ernststein .es-downloads-mobile-nav .btn {
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.82rem;
}

.shop-ernststein .es-downloads-mobile-nav .btn i {
	margin: 0;
}

.shop-ernststein .es-downloads-layout {
	position: relative;
	align-items: flex-start;
	background: var(--es-apricot);
	box-shadow: 0 0 0 100vmax var(--es-apricot);
	clip-path: inset(0 -100vmax);
	margin-top: 0;
	padding-top: clamp(30px, 4vw, 48px);
	padding-bottom: clamp(52px, 6vw, 86px);
}

.shop-ernststein .es-downloads-layout::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100vw;
	height: 4px;
	background: var(--color-primary-shop, #f68712);
	transform: translateX(-50%);
}

.shop-ernststein .es-downloads-sidebar {
	position: sticky;
	top: 96px;
}

.shop-ernststein .es-downloads-sidebar-inner {
	border: 1px solid var(--es-line);
	background: rgba(255, 255, 255, 0.9);
	padding: 22px 18px 18px;
	box-shadow: none;
	backdrop-filter: blur(12px);
}

.shop-ernststein .es-downloads-sidebar h3,
.shop-ernststein .es-downloads-offcanvas h3 {
	margin: 0 0 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--es-line);
	color: var(--es-ink);
	font-size: 0.82rem;
	line-height: 1.25;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.shop-ernststein .es-downloads-sidebar h3::before,
.shop-ernststein .es-downloads-offcanvas h3::before {
	display: none;
}

.shop-ernststein .es-downloads-sidebar h3 a,
.shop-ernststein .es-downloads-offcanvas h3 a {
	color: var(--es-ink) !important;
	text-decoration: none;
}

.shop-ernststein .es-downloads-sidebar .uk-nav-default,
.shop-ernststein .es-downloads-offcanvas .uk-nav-default {
	font-size: 0.94rem;
	line-height: 1.35;
	margin: 0;
	padding: 0;
}

.shop-ernststein .es-downloads-sidebar .uk-list-divider > :nth-child(n+2),
.shop-ernststein .es-downloads-offcanvas .uk-list-divider > :nth-child(n+2) {
	margin-top: 0;
	border-top: 0;
}

.shop-ernststein .es-downloads-tree-item {
	position: relative;
	padding: 3px 0;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
}

.shop-ernststein .es-downloads-tree-item:last-child {
	border-bottom: 0;
}

.shop-ernststein .es-downloads-tree-item > a {
	display: block;
	padding: 10px 34px 10px 0 !important;
	color: var(--es-ink) !important;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--es-trans-fast), padding var(--es-trans-fast);
}

.shop-ernststein .es-downloads-tree-item > a:hover {
	color: var(--color-primary-shop, #f68712) !important;
	padding-left: 4px !important;
}

.shop-ernststein .es-downloads-tree-item.uk-active > a {
	color: var(--color-primary-shop, #f68712) !important;
	font-weight: 500;
}

.shop-ernststein .es-downloads-tree-toggle {
	position: absolute;
	top: 1px;
	right: -5px;
	width: 34px;
	height: 42px;
	cursor: pointer;
	color: rgba(26, 26, 26, 0.45);
}

.shop-ernststein .es-downloads-tree-toggle i {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	transform: translate(-50%, -50%);
	transition: transform var(--es-trans-fast), color var(--es-trans-fast);
}

.shop-ernststein .es-downloads-tree-item.uk-open > .es-downloads-tree-toggle i {
	color: var(--color-primary-shop, #f68712);
	transform: translate(-50%, -50%) rotate(-90deg);
}

.shop-ernststein .es-downloads-tree-sub {
	margin: 0;
	padding: 2px 0 10px 16px !important;
	border-left: 1px solid rgba(246, 135, 18, 0.22);
}

.shop-ernststein .es-downloads-section-head {
	margin: 0 0 22px;
}

.shop-ernststein .es-downloads-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--es-ink);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-transform: uppercase;
}

.shop-ernststein .es-downloads-section-kicker::before {
	content: "";
	width: 34px;
	height: 1px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-downloads-grid > div {
	min-width: 0;
}

.shop-ernststein .es-downloads-card {
	height: 100%;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(26, 26, 26, 0.1);
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(26, 26, 26, 0.07);
	transition: transform var(--es-trans-fast), box-shadow var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-downloads-card:hover {
	transform: translateY(-3px);
	border-color: rgba(246, 135, 18, 0.35);
	box-shadow: 0 24px 58px rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-downloads-media {
	background:
		linear-gradient(135deg, rgba(251, 235, 216, 0.52), rgba(255, 255, 255, 0.92));
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
}

.shop-ernststein .es-downloads-media.ratio-productimg::before {
	padding-top: 78%;
}

.shop-ernststein .es-downloads-media .uk-position-cover {
	overflow: hidden;
}

.shop-ernststein .es-downloads-media .uk-slideshow-items > li {
	background: transparent;
}

.shop-ernststein .es-downloads-preview-img {
	position: absolute;
	inset: 6px;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	object-fit: contain;
	object-position: center center;
	transform: scale(1.08);
	transition: transform var(--es-trans);
}

.shop-ernststein .es-downloads-card:hover .es-downloads-preview-img {
	transform: scale(1.12);
}

.shop-ernststein .es-downloads-media .zoom-btn {
	top: 12px !important;
	left: 12px !important;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.9) !important;
	color: var(--es-ink) !important;
	border: 1px solid rgba(26, 26, 26, 0.1);
	box-shadow: 0 10px 24px rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-downloads-media .zoom-btn:hover {
	background: var(--color-primary-shop, #f68712) !important;
	color: #ffffff !important;
}

.shop-ernststein .es-downloads-media .zoom-btn i {
	margin: 0;
}

.shop-ernststein .es-downloads-card-body {
	padding: 24px;
	min-height: 156px;
}

.shop-ernststein .es-downloads-category-card .es-downloads-card-body {
	min-height: 142px;
}

.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle {
	color: var(--es-ink);
	font-size: clamp(1.12rem, 1.5vw, 1.34rem);
	line-height: 1.28;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin: 0 0 18px;
}

.shop-ernststein .es-downloads-card .ItemDescription {
	margin: 12px 0 24px;
}

.shop-ernststein .es-downloads-card .ItemDescription,
.shop-ernststein .es-downloads-card .ItemDescription p {
	color: var(--es-ink-soft);
	font-size: 0.96rem;
	line-height: 1.65;
}

.shop-ernststein .es-downloads-card .ItemDescription p:last-child {
	margin-bottom: 0;
}

.shop-ernststein .es-downloads-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: 44px;
	padding: 0 18px;
	box-sizing: border-box;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.78rem;
	font-weight: 500;
	white-space: normal;
	line-height: 1.35;
}

.shop-ernststein .es-downloads-card-action i {
	margin: 0;
}

.shop-ernststein .es-downloads-card-action .fa-angle-right,
.shop-ernststein .es-downloads-card-action i.fa-angle-right {
	margin-left: 4px;
}

.shop-ernststein .es-downloads-offcanvas .uk-offcanvas-bar {
	background: var(--es-paper);
	color: var(--es-ink);
	padding: 72px 28px 32px;
}

.shop-ernststein .es-downloads-offcanvas .uk-offcanvas-close {
	color: var(--es-ink) !important;
}

@media (max-width: 1199px) {
	.shop-ernststein .es-downloads-card-body {
		padding: 20px;
	}
}

@media (max-width: 959px) {
	.shop-ernststein .es-downloads {
		padding-top: 24px;
	}
	.shop-ernststein .es-downloads-hero {
		grid-template-columns: 1fr;
		align-items: start;
		padding-top: 26px;
	}
	.shop-ernststein .es-downloads-hero-mark {
		display: none;
	}
}

@media (max-width: 639px) {
	.shop-ernststein .es-downloads .container {
		max-width: min(100% - 28px, 1320px);
	}
	.shop-ernststein .es-downloads-hero {
		margin-bottom: 24px;
	}
	.shop-ernststein .es-downloads-card-body {
		min-height: 0;
		padding: 18px;
	}
	.shop-ernststein .es-downloads-card-action {
		font-size: 0.76rem;
		min-height: 46px;
	}
}


/** ============================================================
 *  REFACTOR 05/2026 — Frontpage entschlackt
 *  Drei dedizierte Marketing-Sektionen entfernt (Facts-Bridge,
 *  Pillars, Bridge-Strip). Stats wandern in Welcome.
 *  Die folgenden Blöcke ergänzen / korrigieren das bestehende CSS,
 *  ohne ältere Regeln zu zerstören.
 *  ============================================================ */


/** ABSCHNITT: Welcome — neuer Meta-Anker statt Eyebrow
 *  Subtiler als der Standard-Eyebrow: kleinerer Letterspacing,
 *  weniger Sättigung beim Orange, kein Caps-Tracking-Pomp.
 *  Wirkt wie ein redaktioneller Untertitel, nicht wie ein Marketing-Tag.
 **/
.shop-ernststein .es-welcome-meta {
	display: inline-block;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
	font-weight: 400;
	margin-bottom: 4px;
}


/** ABSCHNITT: Welcome — eingebettete Stat-Leiste
 *  Variante --inline: ersetzt die alte separate Facts-Bridge.
 *  Sitzt am Fuß der Welcome-Sektion, oberhalb der Sektionsgrenze.
 *  Deutlich zarter als die alte Facts-Bridge — keine Orange-Rahmen,
 *  keine fettgedruckte Block-Ästhetik.
 **/
.shop-ernststein .es-welcome-facts--inline {
	margin-top: clamp(48px, 6vw, 80px);
	padding-top: clamp(28px, 3.6vw, 44px);
	max-width: min(1100px, 92vw);
	border-top: 1px solid rgba(26, 26, 26, 0.12);
}

.shop-ernststein .es-welcome-facts--inline .es-fact {
	min-height: clamp(96px, 7vw, 116px);
	grid-template-rows: clamp(40px, 4vw, 52px) minmax(3.6em, auto);
}

.shop-ernststein .es-welcome-facts--inline .es-fact-num {
	font-size: clamp(1.18rem, 1.85vw, 1.55rem);
	font-weight: 600;
	letter-spacing: 0;
	min-height: clamp(40px, 4vw, 52px);
}

.shop-ernststein .es-welcome-facts--inline .es-fact-label {
	font-size: clamp(0.78rem, 0.86vw, 0.88rem);
	letter-spacing: 0.09em;
	min-height: 3.6em;
}

.shop-ernststein .es-welcome-facts--inline .es-fact-sep {
	height: clamp(48px, 4vw, 60px);
}

@media (max-width: 640px) {
	.shop-ernststein .es-welcome-facts--inline {
		margin-top: 36px;
		padding-top: 24px;
	}
}


/** ABSCHNITT: Welcome — leicht engerer Spacing-Rhythmus
 *  Da die Stats jetzt am Fuß integriert sind, darf der Sektions-Bottom
 *  großzügig bleiben — vorher folgte direkt eine Pillars-Sektion.
 **/
.shop-ernststein .es-welcome {
	padding-bottom: clamp(48px, 6vw, 84px);
}

.shop-ernststein .es-welcome-text {
	max-width: 62ch;
	margin-left: auto;
	margin-right: auto;
}


/** ABSCHNITT: Worlds — Header ohne Diamant-Ornament
 *  Das alte CSS für .es-worlds-header-ornament bleibt unten als
 *  deprecated stehen (HTML wurde entfernt — defensiv für andere Pages).
 *  Hier nur ein leichter Spacing-Kalibrierung.
 **/
.shop-ernststein .es-worlds-header {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.shop-ernststein .es-worlds-header .es-eyebrow {
	margin-bottom: 14px;
}

.shop-ernststein .es-worlds-headline {
	margin-top: 4px;
}


/** ABSCHNITT: Worlds — Tile 6 (Feingold & Silber)
 *  Das hatte vorher keinen Beschreibungstext, aber ein
 *  Eyebrow-Tag. Nach Entfernung der Eyebrows muss der Titel
 *  alleine tragen — ein wenig größer.
 **/
.shop-ernststein .es-worlds-grid .es-world:nth-child(6) .es-world-title {
	font-size: clamp(1.18rem, 1.9vw, 1.55rem);
}


/** ABSCHNITT: Siegelringe — Lead-Text Lesbarkeit
 *  Blocksatz-Lead in der Siegelring-Sektion erzeugte
 *  unschöne Wortabstände. Linksbündig wirkt ruhiger und
 *  redaktioneller — Premium-Magazine setzen Fließtext
 *  selten in Blocksatz.
 **/
.shop-ernststein .es-signet-lead {
	text-align: left;
}

.shop-ernststein .es-synthdia-lead {
	text-align: left;
}


/** ABSCHNITT: Siegelringe + Synthdia — Feature-Listen
 *  Diamant-Glyph (◆) auf Premium-Schmuckseiten ist ein Klischee.
 *  Wir ersetzen ihn nicht im HTML (Reichweite zu groß),
 *  reduzieren ihn aber visuell zu einem schmaleren orangenen Punkt.
 *
 *  BUGFIX 05/2026: margin-top war vorher in em — bei font-size: 0 wird
 *  jedes em-Maß zu 0px. Punkte sprangen an die Zeilenspitze.
 *  Lösung: rem (an Root-fontsize gekoppelt) + flex-shrink: 0.
 **/
.shop-ernststein .es-signet-feature-icon,
.shop-ernststein .es-synthdia-feature-icon {
	width: 6px;
	height: 6px;
	display: inline-block;
	background: var(--color-primary-shop, #f68712);
	border-radius: 50%;
	font-size: 0;
	color: transparent;
	flex-shrink: 0;
	flex-grow: 0;
	/* margin-top in rem: ~11px → mittig zur ersten Zeile (line-height 1.64 × ~17px = 28px Zeilenhöhe, Mitte bei 14px, Punktoberkante bei 14-3 = 11px) */
	margin-top: 0.7rem;
}


/** ABSCHNITT: Onlineshop — ruhigerer Header
 *  Vorher: Border-bottom 3px Orange am gesamten Block — wirkte hart.
 *  Jetzt: kein Bottom-Strich, statt dessen wechselt Fachhandel-CTA
 *  weiterhin via Top-Strich.
 **/
.shop-ernststein .FrontpageProductCategoryOverview {
	border-bottom: none;
}


/** ABSCHNITT: Fachhandel-CTA — leichteres Padding
 *  Bei großzügigem Welcome+Onlineshop-Padding wirkte der Schluss-CTA
 *  zu wuchtig. Etwas straffer, ohne die Atmosphäre zu kappen.
 **/
.shop-ernststein .es-fachhandel-cta {
	padding-top: clamp(48px, 6vw, 76px);
	padding-bottom: clamp(48px, 6vw, 76px);
}

.shop-ernststein .es-fachhandel-headline {
	font-weight: 500;       /* von 600 — feiner, ohne an Größe zu verlieren */
}


/** ABSCHNITT: Deprecated-CSS-Hinweis
 *  Die folgenden Klassen werden vom neuen Frontpage-Markup nicht
 *  mehr verwendet, bleiben aber im Stylesheet erhalten:
 *    - .es-facts-bridge  (eigene Sektion entfernt)
 *    - .es-pillars       (eigene Sektion entfernt)
 *    - .es-bridge        (Übergangs-Strip entfernt)
 *    - .es-worlds-header-ornament + Linien/Diamant
 *  Falls eine spätere Page diese Klassen wieder verwendet,
 *  funktionieren sie — sind aber nicht mehr aktiv.
 **/


/** ABSCHNITT: Download & Info — Sidebar-Proportion fixen
 *  Feedback Inhaber: "Navigator links zu klein im Vergleich zu
 *  den Feldern". Die Tree-Items skalieren jetzt proportional zur
 *  Card-Headline (Card: 1.12-1.34rem → Tree: 1.0-1.08rem).
 *  Sidebar-Heading wird kompakter aber sichtbarer.
 **/
.shop-ernststein .es-downloads-sidebar-inner {
	padding: 26px 22px 22px;
}

.shop-ernststein .es-downloads-sidebar h3,
.shop-ernststein .es-downloads-offcanvas h3 {
	font-size: 0.86rem;
	letter-spacing: 0.18em;
	padding-bottom: 18px;
	margin-bottom: 16px;
}

.shop-ernststein .es-downloads-sidebar .uk-nav-default,
.shop-ernststein .es-downloads-offcanvas .uk-nav-default {
	font-size: 1.02rem;
	line-height: 1.45;
}

.shop-ernststein .es-downloads-tree-item > a {
	padding: 13px 34px 13px 0 !important;
	font-size: 1.02rem;
	font-weight: 500;
}

.shop-ernststein .es-downloads-tree-sub > .es-downloads-tree-item > a {
	font-size: 0.96rem;
	font-weight: 400;
	padding: 10px 28px 10px 0 !important;
}

.shop-ernststein .es-downloads-tree-toggle {
	height: 46px;
}

/* Sidebar als Ganzes etwas schwerer wirken lassen — sie fühlt sich
   sonst schmal an gegen das Karten-Grid. Schmaler Akzent-Strich oben. */
.shop-ernststein .es-downloads-sidebar-inner {
	border-top: 3px solid var(--color-primary-shop, #f68712);
}


/** ABSCHNITT: Download & Info — Hero-Bereich
 *  H1 ein Tick verkleinert, dafür mit Eyebrow-Vorlauf, der
 *  als visueller Marken-Anker dient.
 **/
.shop-ernststein .es-downloads-hero h1 {
	font-size: clamp(1.85rem, 3vw, 2.85rem);
	letter-spacing: 0;
	font-weight: 600;
	margin-top: 8px;
}

.shop-ernststein .es-downloads-hero .es-eyebrow {
	margin-bottom: 6px;
}

.shop-ernststein .es-downloads-lead {
	margin-top: 22px;
	max-width: 880px;
	font-size: clamp(1rem, 1.12vw, 1.1rem);
	line-height: 1.7;
}


/* HISTORY: Hier lag bis 05/2026 ein "Refactor"-Block für die Leistungen-Seite,
   der die Card-/Process-/Detail-Panel-Werte aus dem Hauptblock korrigierte.
   Inzwischen sind alle finalen Werte direkt im Hauptblock (~Z. 1973–2510).
   Eine Quelle pro Komponente — kein Override-Layer mehr. */


/** ============================================================
 *  ABSCHNITT: Messen-Seite
 *  Editorial-Hero, Year-Bänder, Card-Liste statt Tabelle.
 *  Datenstruktur ($MESSEN, $i.startT/endT/messe_name/place/stand/
 *  moreInfo/website) bleibt unverändert.
 *  ============================================================ */

.shop-ernststein .es-fairs-hero {
	position: relative;
	display: block;
	overflow: hidden;
	background: #ffffff;
	padding: 0;
}

.shop-ernststein .es-fairs-hero-bg {
	display: none;
}

.shop-ernststein .es-fairs-hero:hover .es-fairs-hero-bg {
	transform: none;
}

.shop-ernststein .es-fairs-hero-overlay {
	display: none;
}

.shop-ernststein .es-fairs-hero-content {
	position: relative;
	z-index: 1;
	padding: clamp(30px, 3.4vw, 46px) 0 clamp(24px, 2.6vw, 36px);
	color: var(--es-ink);
	max-width: min(1060px, 100%);
}

.shop-ernststein .es-fairs-headline {
	font-size: clamp(2.05rem, 3.5vw, 3.45rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--es-ink);
	margin: 12px 0 18px;
}

.shop-ernststein .es-fairs-lead {
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	line-height: 1.62;
	color: var(--es-ink-soft);
	max-width: 900px;
	margin: 0;
}


/* Liste */
.shop-ernststein .es-fairs-list {
	background: var(--es-paper);
	padding: clamp(28px, 4vw, 52px) 0 clamp(56px, 7vw, 96px);
}

.shop-ernststein .es-fairs-list .container {
	max-width: min(1180px, 94vw);
}


/* Year-Header — großes Jahr + dünne orangene Linie als Anker */
.shop-ernststein .es-fairs-year {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 36px);
	margin: clamp(20px, 4vw, 48px) 0 clamp(22px, 3vw, 32px);
}

.shop-ernststein .es-fairs-year:first-child {
	margin-top: 0;
}

.shop-ernststein .es-fairs-year-headline {
	font-size: clamp(2.2rem, 4vw, 3.4rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	color: var(--es-ink);
	margin: 0;
}

.shop-ernststein .es-fairs-year-line {
	flex: 1;
	height: 1px;
	background: rgba(26, 26, 26, 0.14);
	display: block;
}


/* Year-Grid */
.shop-ernststein .es-fairs-year-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 1.8vw, 20px);
	margin-bottom: clamp(20px, 3vw, 36px);
}

@media (min-width: 900px) {
	.shop-ernststein .es-fairs-year-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* Messe-Card */
.shop-ernststein .es-fairs-card {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: clamp(20px, 3vw, 32px);
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	box-shadow: 0 14px 36px rgba(180, 90, 20, 0.08);
	padding: clamp(22px, 2.6vw, 32px);
	transition: transform var(--es-trans-fast), box-shadow var(--es-trans-fast), border-color var(--es-trans-fast);
	position: relative;
	overflow: hidden;
}

.shop-ernststein .es-fairs-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 3px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-fairs-card:hover {
	transform: translateY(-2px);
	border-color: rgba(246, 135, 18, 0.3);
	box-shadow: 0 22px 52px rgba(26, 26, 26, 0.1);
}

@media (max-width: 640px) {
	.shop-ernststein .es-fairs-card {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}


/* Datum-Anker links */
.shop-ernststein .es-fairs-card-date {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: flex-start;
	padding-right: clamp(16px, 2vw, 24px);
	border-right: 1px solid rgba(26, 26, 26, 0.08);
}

@media (max-width: 640px) {
	.shop-ernststein .es-fairs-card-date {
		border-right: none;
		border-bottom: 1px solid rgba(26, 26, 26, 0.08);
		padding-right: 0;
		padding-bottom: 12px;
	}
}

.shop-ernststein .es-fairs-card-date-label {
	font-size: 0.74rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
	font-weight: 500;
}

.shop-ernststein .es-fairs-card-date-range {
	font-size: clamp(1.4rem, 2vw, 1.75rem);
	font-weight: 600;
	color: var(--es-ink);
	letter-spacing: 0;
	line-height: 1.15;
	white-space: nowrap;
}


/* Inhalt rechts */
.shop-ernststein .es-fairs-card-body {
	min-width: 0;
}

.shop-ernststein .es-fairs-card-name {
	font-size: clamp(1.25rem, 1.85vw, 1.65rem);
	font-weight: 600;
	color: var(--es-ink);
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 16px;
}


/* Spec-Liste — Definition-List für Semantik */
.shop-ernststein .es-fairs-card-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 24px;
	margin: 0 0 18px;
	padding: 0;
}

.shop-ernststein .es-fairs-card-specs .es-fairs-card-spec--full {
	grid-column: 1 / -1;
}

.shop-ernststein .es-fairs-card-spec {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.shop-ernststein .es-fairs-card-spec dt {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
	font-weight: 500;
	margin: 0;
}

.shop-ernststein .es-fairs-card-spec dd {
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--es-ink);
	margin: 0;
}

@media (max-width: 480px) {
	.shop-ernststein .es-fairs-card-specs {
		grid-template-columns: 1fr;
	}
}


/* Externe-Link-Indikator — kein klassischer Button, sondern Editorial-Pfeil */
.shop-ernststein .es-fairs-card-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 0.82rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--color-primary-shop, #f68712) !important;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 4px;
	transition: border-color var(--es-trans-fast), color var(--es-trans-fast);
}

.shop-ernststein .es-fairs-card-link svg {
	width: 16px;
	height: 16px;
	transition: transform var(--es-trans-fast);
}

.shop-ernststein .es-fairs-card-link:hover {
	color: var(--es-ink) !important;
	border-bottom-color: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-fairs-card-link:hover svg {
	transform: translateX(3px);
}


/* Empty-State */
.shop-ernststein .es-fairs-empty {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: clamp(48px, 6vw, 80px) clamp(20px, 3vw, 36px);
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
}

.shop-ernststein .es-fairs-empty p {
	font-size: 1.06rem;
	line-height: 1.65;
	color: var(--es-ink-soft);
	margin: 0 0 28px;
}


/** ============================================================
 *  ABSCHNITT: Kontakt-Seite
 *  Editorial-Hero + Map-Frame + Telefon-Cards + Standorte-Akkordeon
 *  + Außendienst-Liste. Alle Smarty-Datenstrukturen (PHONESERVICE,
 *  PLACES, WORKERS) und jVectorMap-Initialisierung unverändert.
 *  ============================================================ */

.shop-ernststein .es-contact-hero {
	position: relative;
	display: block;
	overflow: hidden;
	background: #ffffff;
	padding: 0;
}

.shop-ernststein .es-contact-hero-bg {
	display: none;
}

.shop-ernststein .es-contact-hero:hover .es-contact-hero-bg {
	transform: none;
}

.shop-ernststein .es-contact-hero-overlay {
	display: none;
}

.shop-ernststein .es-contact-hero-content {
	position: relative;
	z-index: 1;
	padding: clamp(24px, 2.8vw, 38px) 0 clamp(14px, 1.8vw, 24px);
	color: var(--es-ink);
	max-width: min(1060px, 100%);
}

.shop-ernststein .es-contact-headline {
	font-size: clamp(2.05rem, 3.5vw, 3.45rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--es-ink);
	margin: 10px 0 14px;
}

.shop-ernststein .es-contact-lead {
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	line-height: 1.62;
	color: var(--es-ink-soft);
	max-width: 900px;
	margin: 0;
}


/* Floating Scroll-Cue (alter #scroll_below_map-Knopf, dezenter Style) */
.shop-ernststein #scroll_below_map.es-contact-scroll-cue {
	position: fixed;
	right: clamp(16px, 2.4vw, 28px);
	bottom: clamp(20px, 3vw, 36px);
	z-index: 50;
	width: 48px;
	height: 48px;
	display: none;       /* Default versteckt — globales JS toggelt .button_active */
	align-items: center;
	justify-content: center;
	background: var(--color-primary-shop, #f68712);
	color: #ffffff;
	border-radius: 50%;
	box-shadow: 0 12px 28px rgba(180, 90, 20, 0.32);
	text-decoration: none;
	transition: background var(--es-trans-fast), transform var(--es-trans-fast);
}

.shop-ernststein #scroll_below_map.es-contact-scroll-cue.button_active {
	display: inline-flex;
}

.shop-ernststein #scroll_below_map.es-contact-scroll-cue:hover {
	background: var(--es-ink);
	transform: translateY(-2px);
}

.shop-ernststein #scroll_below_map.es-contact-scroll-cue svg {
	width: 22px;
	height: 22px;
}


/* MAP-FRAME */
.shop-ernststein .es-contact-map {
	background: #ffffff;
	padding: clamp(10px, 1.6vw, 22px) 0 clamp(36px, 4vw, 56px);
}

.shop-ernststein .es-contact-map .container {
	max-width: min(1280px, 94vw);
}

.shop-ernststein .es-contact-map-frame {
	position: relative;
	background: var(--es-paper);
	border: 1px solid rgba(26, 26, 26, 0.08);
	padding: clamp(20px, 2.5vw, 36px);
	border-top: 3px solid var(--color-primary-shop, #f68712);
	box-shadow: 0 14px 36px rgba(180, 90, 20, 0.06);
}

/* Map-Marker und jVectorMap-Innenleben dezent ans Branding angleichen */
.shop-ernststein .es-contact-map-frame .jvectormap-zoomin,
.shop-ernststein .es-contact-map-frame .jvectormap-zoomout {
	background: var(--es-ink) !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	width: 28px !important;
	height: 28px !important;
	font-size: 14px !important;
	line-height: 28px !important;
	padding: 0 !important;
}


/* CARD-GRID */
.shop-ernststein .es-contact-cards {
	background: var(--es-paper);
	padding: clamp(56px, 7vw, 92px) 0 clamp(56px, 7vw, 92px);
}

.shop-ernststein .es-contact-cards .container {
	max-width: min(1280px, 94vw);
}

.shop-ernststein .es-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(28px, 3.5vw, 48px);
	align-items: stretch;
}

.shop-ernststein .es-contact-block--full {
	grid-column: 1 / -1;
	margin-top: clamp(32px, 4vw, 56px);
}

@media (max-width: 900px) {
	.shop-ernststein .es-contact-grid {
		grid-template-columns: 1fr;
	}
}


.shop-ernststein .es-contact-block-header {
	margin-bottom: clamp(24px, 3vw, 36px);
}

.shop-ernststein .es-contact-block-headline {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	font-weight: 600;
	letter-spacing: 0;
	color: var(--es-ink);
	margin: 6px 0 10px;
	line-height: 1.18;
}

.shop-ernststein .es-contact-block-text {
	font-size: 1rem;
	line-height: 1.62;
	color: var(--es-ink-soft);
	margin: 0;
	max-width: 56ch;
}


/* PHONE-CARDS */
.shop-ernststein .es-contact-phone-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 1.8vw, 20px);
}

.shop-ernststein .es-contact-phone-card {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: clamp(16px, 2vw, 22px);
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	padding: clamp(18px, 2.2vw, 24px);
	box-shadow: 0 12px 28px rgba(180, 90, 20, 0.06);
	transition: border-color var(--es-trans-fast), box-shadow var(--es-trans-fast);
	position: relative;
	overflow: hidden;
}

.shop-ernststein .es-contact-phone-card::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 3px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-contact-phone-card:hover {
	border-color: rgba(246, 135, 18, 0.3);
	box-shadow: 0 18px 40px rgba(26, 26, 26, 0.08);
}

.shop-ernststein .es-contact-phone-image {
	width: 88px;
	height: 88px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--es-paper);
	flex-shrink: 0;
}

.shop-ernststein .es-contact-phone-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.shop-ernststein .es-contact-phone-title {
	font-size: 1.12rem;
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 6px;
	line-height: 1.25;
}

.shop-ernststein .es-contact-phone-desc {
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--es-ink-soft);
	margin: 0 0 12px;
}

.shop-ernststein .es-contact-phone-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.shop-ernststein .es-contact-phone-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--es-ink);
}

.shop-ernststein .es-contact-phone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--color-primary-shop, #f68712);
	flex-shrink: 0;
}

.shop-ernststein .es-contact-phone-icon svg {
	width: 100%;
	height: 100%;
}

.shop-ernststein .es-contact-phone-num {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
}

@media (max-width: 480px) {
	.shop-ernststein .es-contact-phone-card {
		grid-template-columns: 64px 1fr;
		gap: 14px;
	}
	.shop-ernststein .es-contact-phone-image {
		width: 64px;
		height: 64px;
	}
}


/* STANDORTE-AKKORDEON */
.shop-ernststein .es-contact-places {
	background: transparent;
	border: 0;
	padding: 0;
}

.shop-ernststein .es-contact-accordion {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-ernststein .es-contact-accordion > li {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	margin: 0 0 12px;
	box-shadow: 0 8px 22px rgba(180, 90, 20, 0.05);
	overflow: hidden;
}

.shop-ernststein .es-contact-accordion > li:last-child {
	margin-bottom: 0;
}

.shop-ernststein .es-contact-place-title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: clamp(16px, 1.8vw, 22px) clamp(20px, 2.2vw, 28px);
	color: var(--es-ink) !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: clamp(1rem, 1.18vw, 1.12rem);
	line-height: 1.3;
	border-bottom: 1px solid transparent;
	transition: background var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-contact-accordion > li.uk-open .es-contact-place-title {
	background: var(--es-paper);
	border-bottom-color: rgba(26, 26, 26, 0.06);
}

.shop-ernststein .es-contact-place-title::before {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var(--color-primary-shop, #f68712);
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	flex-shrink: 0;
	transition: transform var(--es-trans-fast);
}

.shop-ernststein .es-contact-accordion > li.uk-open .es-contact-place-title::before {
	content: "–";
	transform: rotate(0);
}

.shop-ernststein .es-contact-place-type {
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--es-ink-mute);
	font-weight: 500;
	margin-right: 4px;
}

.shop-ernststein .es-contact-place-name {
	flex: 1;
}

.shop-ernststein .es-contact-place-warn {
	color: #d99c1f !important;
	flex-shrink: 0;
}

.shop-ernststein .es-contact-place-content {
	padding: clamp(18px, 2.4vw, 28px);
}

.shop-ernststein .es-contact-place-image {
	margin: 0 0 16px;
	overflow: hidden;
}

.shop-ernststein .es-contact-place-image img {
	width: 100%;
	max-height: 220px;
	object-fit: cover;
	display: block;
}

.shop-ernststein .es-contact-place-imagedesc {
	display: block;
	margin-top: 6px;
	font-size: 0.86rem;
	color: var(--es-ink-mute);
	line-height: 1.4;
}

.shop-ernststein .es-contact-place-details {
	display: grid;
	gap: 10px;
	margin: 0;
}

.shop-ernststein .es-contact-place-row {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 12px;
	align-items: start;
	padding: 8px 0;
	border-bottom: 1px solid rgba(26, 26, 26, 0.05);
}

.shop-ernststein .es-contact-place-row:last-child {
	border-bottom: 0;
}

.shop-ernststein .es-contact-place-row dt {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary-shop, #f68712);
	margin: 0;
	padding: 0;
	height: 24px;
}

.shop-ernststein .es-contact-place-row dd {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.5;
	color: var(--es-ink);
}

.shop-ernststein .es-contact-place-row dd a {
	color: var(--es-ink) !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(246, 135, 18, 0.4);
	transition: color var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-contact-place-row dd a:hover {
	color: var(--color-primary-shop, #f68712) !important;
	border-bottom-color: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-contact-place-row--warn dd {
	color: #b67704;
}

.shop-ernststein .es-contact-place-row--hours dd {
	padding-top: 2px;
}

.shop-ernststein .es-contact-place-hours {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.shop-ernststein .es-contact-place-hours li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 0.95rem;
	color: var(--es-ink);
	border-bottom: 1px dotted rgba(26, 26, 26, 0.15);
	padding: 3px 0;
}

.shop-ernststein .es-contact-place-hours li:last-child {
	border-bottom: 0;
}

.shop-ernststein .es-contact-hours-day {
	font-weight: 500;
}

.shop-ernststein .es-contact-hours-time {
	font-variant-numeric: tabular-nums;
	color: var(--es-ink-soft);
}


/* AUSSENDIENST-WORKER */
.shop-ernststein .es-contact-workers {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(14px, 1.8vw, 20px);
}

@media (max-width: 720px) {
	.shop-ernststein .es-contact-workers {
		grid-template-columns: 1fr;
	}
}

.shop-ernststein .es-contact-worker {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: clamp(16px, 2vw, 22px);
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	padding: clamp(18px, 2.2vw, 24px);
	box-shadow: 0 10px 24px rgba(180, 90, 20, 0.06);
	align-items: start;
}

.shop-ernststein .es-contact-worker-image {
	width: 84px;
	height: 84px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--es-paper);
	flex-shrink: 0;
}

.shop-ernststein .es-contact-worker-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.shop-ernststein .es-contact-worker-image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(26, 26, 26, 0.25);
}

.shop-ernststein .es-contact-worker-image--placeholder svg {
	width: 38px;
	height: 38px;
}

.shop-ernststein .es-contact-worker-body {
	min-width: 0;
}

.shop-ernststein .es-contact-worker-name {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--es-ink);
	margin: 0 0 12px;
	line-height: 1.25;
}

.shop-ernststein .es-contact-worker-notice {
	display: inline-block;
	margin-bottom: 10px;
}

.shop-ernststein .es-contact-worker-notice .noticeContent {
	min-width: 220px;
	margin-top: 4px;
	z-index: 5;
}

.shop-ernststein .es-contact-worker-details {
	display: grid;
	gap: 6px;
	margin: 0;
}

.shop-ernststein .es-contact-worker-row {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 10px;
	align-items: center;
	font-size: 0.95rem;
}

.shop-ernststein .es-contact-worker-row dt {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary-shop, #f68712);
	margin: 0;
	height: 22px;
}

.shop-ernststein .es-contact-worker-row dd {
	margin: 0;
	color: var(--es-ink);
	line-height: 1.4;
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

.shop-ernststein .es-contact-worker-row dd a {
	color: var(--es-ink) !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(246, 135, 18, 0.4);
	transition: color var(--es-trans-fast), border-color var(--es-trans-fast);
}

.shop-ernststein .es-contact-worker-row dd a:hover {
	color: var(--color-primary-shop, #f68712) !important;
	border-bottom-color: var(--color-primary-shop, #f68712);
}

@media (max-width: 480px) {
	.shop-ernststein .es-contact-worker {
		grid-template-columns: 64px 1fr;
	}
	.shop-ernststein .es-contact-worker-image {
		width: 64px;
		height: 64px;
	}
}


/** ============================================================
 *  ABSCHNITT: Globale Politur — Konsistenz, Detail, Mikro-Korrekturen
 *  Letzte Überarbeitung am Designsystem als Ganzes.
 *  ============================================================ */


/** Buttons: einen Tick straffer.
 *  Vorher 17/48 — recht breit. Premium-CTAs sind oft kompakter.
 *  Außerdem: Letterspacing reduziert (von 0.14em → 0.12em) für
 *  ruhigere Optik bei längeren Beschriftungen.
 **/
.shop-ernststein .es-btn {
	padding: 15px 40px;
	letter-spacing: 0.12em;
	font-weight: 500;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}


/** Tastatur-Fokus für Barrierefreiheit.
 *  Zarter Outline-Ring statt Browser-Default.
 **/
.shop-ernststein .es-btn:focus-visible,
.shop-ernststein a:focus-visible {
	outline: 2px solid rgba(246, 135, 18, 0.55);
	outline-offset: 3px;
}


/** Section-Header — etwas mehr Atemraum zwischen Eyebrow und Headline. */
.shop-ernststein .es-section-header .es-eyebrow {
	margin-bottom: 14px;
}


/** Worlds-Tiles: ruhigere Hover-Animation.
 *  Vorher: scale(1.04) + opacity-Sprung — aufdringlich.
 *  Jetzt: leichte Skalierung + sanfter Helligkeitswechsel.
 **/
.shop-ernststein .es-world:hover .es-world-image {
	transform: scale(1.025);
}


/** Eyebrow auf weißem Hintergrund: leicht weniger gesättigt.
 *  Reines Orange (#f68712) auf Weiß wirkt manchmal "knallig" —
 *  ein Hauch Mahagoni nimmt den Druck raus, ohne Markenfarbe
 *  zu verlassen.
 **/
.shop-ernststein .es-services-overview .es-eyebrow,
.shop-ernststein .es-services-process .es-eyebrow,
.shop-ernststein .es-contact-cards .es-eyebrow,
.shop-ernststein .es-contact-map .es-eyebrow,
.shop-ernststein .FrontpageProductCategoryOverview .es-eyebrow,
.shop-ernststein .es-fairs-list .es-eyebrow {
	color: rgba(225, 115, 12, 1);   /* Mini-Schritt Richtung "tiefer" */
}


/** Onlineshop-Sektion: Headline-Margin etwas mehr Atemluft. */
.shop-ernststein .FrontpageProductCategoryOverview .es-section-header {
	margin-bottom: clamp(40px, 5vw, 60px);
}


/** Welcome — Headline-Whitespace nach unten kalibrieren.
 *  Lead darunter sollte nicht zu eng sitzen.
 **/
.shop-ernststein .es-welcome-headline {
	margin-bottom: 22px;
}


/** Markenwelten — Tile-Title bei nicht-Hauptkacheln (3-6) farblich
 *  ein wenig zarter, damit das Hauptmotiv das Auge zuerst greift.
 **/
.shop-ernststein .es-worlds-grid .es-world:nth-child(n+3) .es-world-title {
	font-weight: 400;
}


/** Allgemein: Smarty-Inline-`p`-Tags innerhalb von es-section-lead
 *  manchmal Margin-Bottom kollidieren — explizit nullen.
 **/
.shop-ernststein .es-section-lead p:last-child,
.shop-ernststein .es-fachhandel-text p:last-child {
	margin-bottom: 0;
}


/** Seitennavi-Links innerhalb von Card-Bodies (Specials etc.)
 *  bekommen einen sichtbaren Pfeil — vorher zu unscheinbar.
 **/
.shop-ernststein .es-services-text-link::after {
	content: " →";
	margin-left: 6px;
	transition: margin-left var(--es-trans-fast);
}

.shop-ernststein .es-services-text-link:hover::after {
	margin-left: 10px;
}


/** Reduzierte Bewegung respektieren (Erweiterung) **/
@media (prefers-reduced-motion: reduce) {
	.shop-ernststein .es-fairs-card,
	.shop-ernststein .es-contact-phone-card,
	.shop-ernststein .es-fairs-hero-bg,
	.shop-ernststein .es-contact-hero-bg,
	.shop-ernststein .es-services-text-link::after {
		transition: none;
	}
	.shop-ernststein .es-fairs-hero:hover .es-fairs-hero-bg,
	.shop-ernststein .es-contact-hero:hover .es-contact-hero-bg {
		transform: none;
	}
}


/** ============================================================
 *  ABSCHNITT: Tonalität-Korrektur 05/2026
 *  "Aggressives Apricot unten" entschärft. Strategie:
 *    a) --es-apricot-deep token wurde global weicher (siehe oben)
 *    b) Footer-Subfooter wechselt von "deep" auf "mute"
 *       (fast paper-Niveau) und tauscht 3px-Orange-Vollstrich
 *       gegen 1px-zart-Linie als Akzent
 *    c) Fachhandel-CTA bekommt sanfteren Verlauf statt Vollfläche
 *    d) Globale Border-Bottom 3-4px-Vollblock-Orangen werden auf
 *       1px-Linien (--es-line-orange) reduziert. Marke bleibt
 *       sichtbar, "Bauschmerz" geht weg.
 *  ============================================================ */


/* Footer-Subfooter — vom satten Apricot in den Cremeton + Akzentlinien dünner */
.shop-ernststein #Footer .subfooter {
	background: var(--es-apricot-mute);
	border-top: 1px solid var(--es-line-orange);
	border-bottom: 1px solid var(--es-line-orange);
}


/* Fachhandel-CTA — keine Vollblockfläche, sondern sanfter Apricot-Verlauf.
   Border-Bottom ist bewusst entfernt: der Footer-Top-Strich nimmt diese
   Aufgabe wahr — sonst kumulierten sich beide Linien zu einem dicken
   Bauchschmerz-Strich. */
.shop-ernststein .es-fachhandel-cta {
	background: linear-gradient(180deg, var(--es-paper) 0%, var(--es-apricot-deep) 100%) !important;
	border-bottom: 0;
}

.shop-ernststein .es-fachhandel-cta::before {
	height: 1px;
	background: var(--es-line-orange);
}


/* Footer-Top-Strich von 3px auf 1px — die Sektionsgrenze
   muss sichtbar sein, aber nicht laut. */
.shop-ernststein #Footer {
	border-top: 1px solid var(--es-line-orange);
}


/* Onlineshop-Sektion — die war noch über border-bottom: 3px solid orange
   geschlossen worden, das spielte mit der Fachhandel-CTA-Top-Linie zu laut. */
.shop-ernststein .FrontpageProductCategoryOverview {
	border-bottom: none;
}


/* Service-Specials (Leistungsseite, Apricot-Deep-Sektion) — auf das
   neue weichere Token wirkt es ohnehin schon ruhiger. Hier nur
   eine zarte Orange-Linie oben und unten als Anker statt der
   bisherigen kompletten Apricot-Sättigung. */
.shop-ernststein .es-services-specials {
	background: var(--es-apricot-deep);
	border-top: 1px solid var(--es-line-orange);
	border-bottom: 1px solid var(--es-line-orange);
}


/* Downloads-Layout — Apricot-Sektion mit Box-Shadow-Trick (für volle
   Browserbreite). 4px-Orange-Strich unten war zu wuchtig. */
.shop-ernststein .es-downloads-layout::after {
	height: 1px;
	background: var(--es-line-orange);
}


/* Downloads-Hero — Trennstrich unten ebenfalls zarter */
.shop-ernststein .es-downloads-hero::after {
	height: 1px;
	background: var(--es-line-orange);
}


/* Facts-Bridge / Bridge-Strip CSS-Definitionen wurden zwar im HTML entfernt,
   aber falls Sektionen jemals zurückkommen — auch dort jetzt 1px-Linien. */
.shop-ernststein .es-facts-bridge {
	border-top: 1px solid var(--es-line-orange);
	border-bottom: 1px solid var(--es-line-orange);
}

.shop-ernststein .es-bridge {
	background: var(--es-apricot-deep);
	border-top: 1px solid var(--es-line-orange);
	border-bottom: 1px solid var(--es-line-orange);
}


/* Markenwelt-Subseiten — Hero-CTA-Sektion */
.shop-ernststein .es-welt-cta {
	background: var(--es-apricot-mute);
}


/** ============================================================
 *  ABSCHNITT: Typografie-Robustheit 05/2026
 *  Schutz gegen ungewollte Zeilenumbrüche und schiefe Bullets.
 *  Browser darf weiterhin am Wortende brechen, aber nicht mitten
 *  durchs Wort. Bei deutschen Texten ist das besonders wichtig
 *  (Komposita wie "Sortimentsschwerpunkte").
 *  Hyphens benötigen technisch `lang="de"` im <html>; falls nicht
 *  gesetzt, fallen Browser auf overflow-wrap zurück.
 *  ============================================================ */


/* Globale Headline-Politur: text-wrap: balance verteilt Worte
   moderner über mehrere Zeilen — sehr leichter Effekt, aber
   verhindert "Witwen" (einzelnes Wort am Ende). Browser-Support
   ist seit 2023 breit; ältere Browser ignorieren stillschweigend. */
.shop-ernststein .es-section-headline,
.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-services-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline,
.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-detail-panel h3,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-fairs-card-name,
.shop-ernststein .es-contact-block-headline,
.shop-ernststein .es-world-title {
	text-wrap: balance;
}


/* Card-Texte: bei langen deutschen Komposita lieber trennen
   als überlaufen. */
.shop-ernststein .es-services-card p,
.shop-ernststein .es-services-detail-panel strong,
.shop-ernststein .es-services-detail-panel span,
.shop-ernststein .es-services-process-step p,
.shop-ernststein .es-pillar-text,
.shop-ernststein .es-world-text,
.shop-ernststein .es-fairs-card-spec dd,
.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-worker-row dd,
.shop-ernststein .es-signet-features li,
.shop-ernststein .es-synthdia-features li {
	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}


/* Lead-Paragraphen sind bewusst breite Texte — hier KEIN hyphens,
   damit das Editorial-Feeling erhalten bleibt. Lange Wörter brechen
   trotzdem nicht über die Spalte hinaus dank overflow-wrap. */
.shop-ernststein .es-section-lead,
.shop-ernststein .es-services-lead,
.shop-ernststein .es-fairs-lead,
.shop-ernststein .es-contact-lead,
.shop-ernststein .es-welcome-text,
.shop-ernststein .es-signet-lead,
.shop-ernststein .es-synthdia-lead,
.shop-ernststein .es-fachhandel-text {
	overflow-wrap: break-word;
}


/* Detail-Panel-Listen-Items: bei sehr knappen Spalten (zwei
   Spalten in einer Card) Komposita kontrolliert trennen. */
@media (max-width: 1080px) {
	.shop-ernststein .es-services-detail-panel li {
		gap: 14px;
	}
}


/** ============================================================
 *  ABSCHNITT: Globale CTA-Buttons — feinerer Letterspace
 *  Bei kürzeren Beschriftungen wie "Kontakt" wirkte 0.12em
 *  immer noch breit. Auf 0.1em — sieht weniger "Marketing"
 *  und mehr "Editorial" aus.
 *  ============================================================ */
.shop-ernststein .es-btn {
	letter-spacing: 0.1em;
}



/** ============================================================
 *  ABSCHNITT: Download & Info — heller Introbereich
 *  Eigenständige Seiteinleitung im Stil der übrigen Inhaltsseiten.
 *  ============================================================ */

.shop-ernststein .es-downloads-hero {
	position: relative;
	display: block;
	overflow: hidden;
	background: #ffffff;
	padding: 0;
	margin: 0;
}

.shop-ernststein .es-downloads-hero::after {
	display: none;
}

.shop-ernststein .es-downloads-hero-bg {
	display: none;
}

.shop-ernststein .es-downloads-hero:hover .es-downloads-hero-bg {
	transform: none;
}

.shop-ernststein .es-downloads-hero-overlay {
	display: none;
}

.shop-ernststein .es-downloads-hero-content {
	position: relative;
	z-index: 1;
	padding: clamp(34px, 4vw, 56px) 0 clamp(30px, 3.2vw, 46px);
	color: var(--es-ink);
	max-width: min(1060px, 100%);
}

.shop-ernststein .es-downloads-hero .es-downloads-headline {
	font-size: clamp(2.05rem, 3.5vw, 3.45rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--es-ink);
	margin: 12px 0 18px;
	text-wrap: balance;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead {
	max-width: 1020px;
	margin: 0;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead,
.shop-ernststein .es-downloads-hero .es-downloads-lead p {
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	line-height: 1.62;
	color: var(--es-ink-soft);
}

.shop-ernststein .es-downloads-hero .es-downloads-lead p,
.shop-ernststein .es-downloads-hero .es-downloads-lead p:last-child {
	color: var(--es-ink-soft);
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	font-weight: 400;
	margin: 0 0 12px;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead p:first-child {
	color: var(--es-ink);
	font-size: clamp(1.05rem, 1.25vw, 1.18rem);
	font-weight: 500;
	margin: 0 0 12px;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead p:last-child {
	margin-bottom: 0;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead ul {
	color: var(--es-ink-soft);
}

.shop-ernststein .es-downloads-hero .es-downloads-alert {
	margin: 0 0 20px;
	background: rgba(217, 77, 58, 0.08);
	border-left-color: var(--color-primary-shop, #f68712);
	color: #9f2d21;
}

.shop-ernststein .es-downloads {
	background: var(--es-apricot);
	padding: 0;
}

.shop-ernststein .es-downloads-mobile-nav {
	padding-top: clamp(20px, 3vw, 32px);
}

.shop-ernststein .es-downloads-layout {
	margin-top: 0;
}

@media (max-width: 639px) {
	.shop-ernststein .es-downloads-hero-content {
		padding: 46px 0;
	}
	.shop-ernststein .es-downloads-hero .es-downloads-headline {
		font-size: clamp(2.1rem, 12vw, 3rem);
	}
}


/** ============================================================
 *  ABSCHNITT: Feedbackrunde 05/2026
 *  Fokus: hellere Heroes, ruhige Introbereiche, groessere und
 *  eigenstaendigere Typografie auf den Ernst-Stein-Inhaltsseiten.
 *  Shop-Komponenten bleiben bewusst unberuehrt.
 *  ============================================================ */

@font-face {
	font-family: "ErnstSteinDIN";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/DINMittelschriftStd.otf") format("opentype");
}

@font-face {
	font-family: "ErnstSteinDIN";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/DINMittelschriftStd.otf") format("opentype");
}

.shop-ernststein {
	/* Cormorant Garamond: elegante Kapitälchen-Serifenschrift nahe am Logo-Charakter */
	--es-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	/* Raleway: weicher humanistischer Sans — besser lesbar als DIN, nicht so generisch wie Roboto */
	--es-font-brand: "Raleway", "ErnstSteinDIN", Arial, sans-serif;
	/* DIN: bleibt als Eyebrow-Font erhalten — funktioniert als Marken-Anker in Caps */
	--es-font-din: "ErnstSteinDIN", Arial, sans-serif;
}

/* Startseite: den abdunkelnden Verlauf unten im Slider komplett entfernen.
   Der Gradient war im UIKit-Standard-Markup eingebaut (height: 30%, opacity 0.4). */
.shop-ernststein .MainSlider::after {
	display: none !important;
	content: none !important;
}

/* Leistungsseite: Overlay auf mittlere Stärke — Bild lesbar, weißer Text bleibt kontraststark. */
.shop-ernststein .es-services-hero-bg {
	opacity: 1;
}

.shop-ernststein .es-services-hero-overlay {
	background:
		linear-gradient(90deg, rgba(20, 10, 4, 0.52) 0%, rgba(20, 10, 4, 0.30) 50%, rgba(20, 10, 4, 0.06) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.12));
}

/* Download, Messen und Kontakt: gleicher heller Seitenanfang, ohne unteren Orange-Strich. */
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-contact-hero {
	position: relative;
	display: block;
	overflow: hidden;
	background: #ffffff;
	padding: 0;
	margin: 0;
	min-height: 0;
}

.shop-ernststein .es-downloads-hero::after,
.shop-ernststein .es-fairs-hero::after,
.shop-ernststein .es-contact-hero::after,
.shop-ernststein .es-downloads-layout::after {
	display: none !important;
}

.shop-ernststein .es-downloads-hero-bg,
.shop-ernststein .es-fairs-hero-bg,
.shop-ernststein .es-contact-hero-bg,
.shop-ernststein .es-downloads-hero-overlay,
.shop-ernststein .es-fairs-hero-overlay,
.shop-ernststein .es-contact-hero-overlay {
	display: none !important;
}

.shop-ernststein .es-downloads-hero-content,
.shop-ernststein .es-fairs-hero-content,
.shop-ernststein .es-contact-hero-content {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	max-width: min(1060px, 100%);
	min-height: clamp(190px, 17vw, 260px);
	padding: clamp(48px, 4.8vw, 72px) 0 clamp(44px, 4.4vw, 68px);
	color: var(--es-ink);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.shop-ernststein .es-downloads-hero .es-downloads-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline {
	font-family: var(--es-font-brand);
	font-size: clamp(2.35rem, 3.75vw, 3.7rem);
	line-height: 1.08;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--es-ink);
	margin: 12px 0 18px;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead,
.shop-ernststein .es-downloads-hero .es-downloads-lead p,
.shop-ernststein .es-fairs-lead,
.shop-ernststein .es-contact-lead {
	font-family: var(--es-font-brand);
	max-width: 980px;
	font-size: clamp(1.1rem, 1.2vw, 1.22rem);
	line-height: 1.72;
	font-weight: 400;
	color: var(--es-ink-soft);
	margin-left: 0;
	margin-right: 0;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead p:first-child {
	font-size: clamp(1.15rem, 1.32vw, 1.3rem);
	font-weight: 400;
}

/* Schriftcharakter und Lesbarkeit fuer die eigentlichen Ernst-Stein-Seitenmodule. */
.shop-ernststein .es-welcome,
.shop-ernststein .es-worlds,
.shop-ernststein .es-signet,
.shop-ernststein .es-synthdia,
.shop-ernststein .es-fachhandel-cta,
.shop-ernststein .es-services-hero,
.shop-ernststein .es-services-overview,
.shop-ernststein .es-services-detail,
.shop-ernststein .es-services-specials,
.shop-ernststein .es-services-process,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-fairs-list,
.shop-ernststein .es-contact-hero,
.shop-ernststein .es-contact-map,
.shop-ernststein .es-contact-cards,
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-downloads {
	font-family: var(--es-font-brand);
	font-size: 17px;
	line-height: 1.68;
	font-weight: 400;
}

.shop-ernststein .es-section-headline,
.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-services-headline,
.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-detail-panel h3,
.shop-ernststein .es-services-special h3,
.shop-ernststein .es-services-specials-header h2,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-fairs-year-headline,
.shop-ernststein .es-fairs-card-name,
.shop-ernststein .es-contact-block-headline,
.shop-ernststein .es-contact-phone-title,
.shop-ernststein .es-contact-worker-name,
.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle,
.shop-ernststein .es-world-title {
	font-family: var(--es-font-brand);
	font-weight: 500;
	letter-spacing: 0.005em;
}

.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta,
.shop-ernststein .es-fact-label,
.shop-ernststein .es-fairs-card-date-label,
.shop-ernststein .es-fairs-card-spec dt,
.shop-ernststein .es-downloads-section-kicker,
.shop-ernststein .es-downloads-sidebar h3,
.shop-ernststein .es-downloads-offcanvas h3,
.shop-ernststein .es-btn {
	font-family: var(--es-font-brand);
	font-weight: 400;
	letter-spacing: 0.12em;
}

/* Startseite unter dem Slider: vorhandenen Raum besser nutzen. */
.shop-ernststein .es-welcome {
	padding-top: clamp(72px, 7.8vw, 112px);
	padding-bottom: clamp(58px, 6.4vw, 92px);
}

.shop-ernststein .es-welcome .container {
	max-width: 1040px;
}

.shop-ernststein .es-welcome-meta {
	font-size: clamp(0.92rem, 0.92vw, 1rem);
}

.shop-ernststein .es-welcome-headline {
	font-size: clamp(2.65rem, 4.6vw, 4rem);
	line-height: 1.12;
	font-weight: 500;
	margin-bottom: 26px;
}

.shop-ernststein .es-welcome-text {
	max-width: 68ch;
	font-size: clamp(1.25rem, 1.45vw, 1.4rem);
	line-height: 1.72;
	color: var(--es-ink-soft);
}

.shop-ernststein .es-welcome-facts--inline {
	max-width: min(1160px, 94vw);
	margin-top: clamp(54px, 6.2vw, 86px);
}

.shop-ernststein .es-welcome-facts--inline .es-fact-num {
	font-size: clamp(1.42rem, 2vw, 1.8rem);
	font-weight: 500;
}

.shop-ernststein .es-welcome-facts--inline .es-fact-label {
	font-size: clamp(0.95rem, 1vw, 1.08rem);
	line-height: 1.45;
	letter-spacing: 0.075em;
}

/* Messen-Karten: die Flaeche darf typografisch kraeftiger arbeiten. */
.shop-ernststein .es-fairs-year-grid {
	gap: clamp(18px, 2.2vw, 28px);
}

.shop-ernststein .es-fairs-card {
	grid-template-columns: minmax(260px, 0.34fr) 1fr;
	padding: clamp(30px, 3.4vw, 46px);
	min-height: clamp(260px, 22vw, 340px);
	align-items: start;
}

.shop-ernststein .es-fairs-card-date-label {
	font-size: clamp(0.92rem, 0.98vw, 1.06rem);
}

.shop-ernststein .es-fairs-card-date-range {
	font-size: clamp(2.15rem, 3vw, 2.9rem);
	font-weight: 500;
	line-height: 1.12;
}

.shop-ernststein .es-fairs-card-name {
	font-size: clamp(2rem, 2.8vw, 2.75rem);
	font-weight: 500;
	margin-bottom: 24px;
}

.shop-ernststein .es-fairs-card-specs {
	gap: 16px 32px;
}

.shop-ernststein .es-fairs-card-spec dt {
	font-size: clamp(0.92rem, 0.98vw, 1.05rem);
}

.shop-ernststein .es-fairs-card-spec dd {
	font-size: clamp(1.25rem, 1.55vw, 1.55rem);
	line-height: 1.48;
}

.shop-ernststein .es-fairs-card-link {
	font-size: clamp(0.95rem, 1vw, 1.05rem);
}

/* Weitere Textmodule: generell etwas groesser und weniger duenn. */
.shop-ernststein .es-section-lead,
.shop-ernststein .es-services-lead,
.shop-ernststein .es-world-text,
.shop-ernststein .es-signet-lead,
.shop-ernststein .es-synthdia-lead,
.shop-ernststein .es-fachhandel-text,
.shop-ernststein .es-services-card p,
.shop-ernststein .es-services-detail-panel strong,
.shop-ernststein .es-services-detail-panel span,
.shop-ernststein .es-services-chip-list--grouped .es-services-chip-group-items,
.shop-ernststein .es-services-special p,
.shop-ernststein .es-services-process-step p,
.shop-ernststein .es-contact-block-text,
.shop-ernststein .es-contact-phone-desc,
.shop-ernststein .es-contact-phone-num,
.shop-ernststein .es-contact-place-name,
.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-hours-day,
.shop-ernststein .es-contact-hours-time,
.shop-ernststein .es-contact-worker-row dd,
.shop-ernststein .es-downloads-tree-item > a,
.shop-ernststein .es-downloads-card .ItemDescription,
.shop-ernststein .es-downloads-card .ItemDescription p {
	font-family: var(--es-font-brand);
	font-size: clamp(1.1rem, 1.18vw, 1.24rem);
	line-height: 1.68;
	font-weight: 400;
}

.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-detail-panel h3,
.shop-ernststein .es-services-process-step h3 {
	font-size: clamp(1.45rem, 2vw, 1.85rem);
}

.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle {
	font-size: clamp(1.3rem, 1.7vw, 1.6rem);
}

@media (max-width: 760px) {
	.shop-ernststein .es-downloads-hero-content,
	.shop-ernststein .es-fairs-hero-content,
	.shop-ernststein .es-contact-hero-content {
		min-height: 0;
		padding: 46px 0;
	}

	.shop-ernststein .es-fairs-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}
}


/** ============================================================
 *  ABSCHNITT: Typografie-Upgrade — Cormorant Garamond + Raleway
 *  Ziel: Schrift nah am Logo-Charakter (Kapitälchen-Serif),
 *  weicher und deutlich besser lesbar für ältere Kundschaft.
 *  Cormorant → Display-Headlines (h1, h2)
 *  Raleway   → Fließtext, Cards, Leads, UI
 *  DIN       → nur noch Eyebrows (Marken-Anker in Caps)
 *  ============================================================ */

/** Basis-Schrift: alle Ernst-Stein-Sektionen auf Raleway umstellen **/
.shop-ernststein .es-welcome,
.shop-ernststein .es-worlds,
.shop-ernststein .es-signet,
.shop-ernststein .es-synthdia,
.shop-ernststein .es-fachhandel-cta,
.shop-ernststein .es-services-hero,
.shop-ernststein .es-services-overview,
.shop-ernststein .es-services-detail,
.shop-ernststein .es-services-specials,
.shop-ernststein .es-services-process,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-fairs-list,
.shop-ernststein .es-contact-hero,
.shop-ernststein .es-contact-map,
.shop-ernststein .es-contact-cards,
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-downloads {
	font-family: var(--es-font-brand);
	font-size: 18px;
	line-height: 1.72;
	font-weight: 400;
}

/** Display-Headlines: Cormorant Garamond — nahe am Logo-Charakter **/
.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-services-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline,
.shop-ernststein .es-section-headline,
.shop-ernststein .es-fairs-year-headline,
.shop-ernststein .es-downloads-hero h1,
.shop-ernststein .es-downloads-headline {
	font-family: var(--es-font-display);
	font-weight: 500;
	letter-spacing: 0.02em;
}

/** Card-Headlines: Cormorant, etwas leichter **/
.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-detail-panel h3,
.shop-ernststein .es-services-special h3,
.shop-ernststein .es-services-specials-header h2,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-fairs-card-name,
.shop-ernststein .es-contact-block-headline,
.shop-ernststein .es-contact-phone-title,
.shop-ernststein .es-contact-worker-name,
.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle,
.shop-ernststein .es-world-title {
	font-family: var(--es-font-display);
	font-weight: 400;
	letter-spacing: 0.01em;
}

/** Eyebrows: DIN bleibt — caps + tracking = Marken-Anker **/
.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta,
.shop-ernststein .es-btn,
.shop-ernststein .es-fairs-card-date-label,
.shop-ernststein .es-downloads-section-kicker,
.shop-ernststein .es-downloads-sidebar h3,
.shop-ernststein .es-downloads-offcanvas h3 {
	font-family: var(--es-font-din);
	letter-spacing: 0.14em;
	font-weight: 400;
}

/** Fließtext-Größen: +12–18% für ältere Kundschaft **/
.shop-ernststein .es-welcome-text {
	font-family: var(--es-font-brand);
	font-size: clamp(1.38rem, 1.6vw, 1.58rem);
	line-height: 1.76;
	font-weight: 400;
}

.shop-ernststein .es-section-lead,
.shop-ernststein .es-services-lead,
.shop-ernststein .es-fachhandel-text,
.shop-ernststein .es-world-text,
.shop-ernststein .es-signet-lead,
.shop-ernststein .es-synthdia-lead,
.shop-ernststein .es-fairs-lead,
.shop-ernststein .es-contact-lead {
	font-family: var(--es-font-brand);
	font-size: clamp(1.22rem, 1.32vw, 1.4rem);
	line-height: 1.74;
	font-weight: 400;
}

.shop-ernststein .es-services-card p,
.shop-ernststein .es-services-detail-panel strong,
.shop-ernststein .es-services-detail-panel span,
.shop-ernststein .es-services-chip-list--grouped .es-services-chip-group-items,
.shop-ernststein .es-services-special p,
.shop-ernststein .es-services-process-step p,
.shop-ernststein .es-contact-block-text,
.shop-ernststein .es-contact-phone-desc,
.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-hours-day,
.shop-ernststein .es-contact-hours-time,
.shop-ernststein .es-contact-worker-row dd,
.shop-ernststein .es-downloads-tree-item > a,
.shop-ernststein .es-downloads-card .ItemDescription,
.shop-ernststein .es-downloads-card .ItemDescription p {
	font-family: var(--es-font-brand);
	font-size: clamp(1.14rem, 1.22vw, 1.28rem);
	line-height: 1.70;
	font-weight: 400;
}

/** Messen-Kacheln: viel Raum — Schrift darf kräftig arbeiten **/
.shop-ernststein .es-fairs-card-date-range {
	font-family: var(--es-font-display);
	font-size: clamp(2.5rem, 3.6vw, 3.4rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.01em;
}

.shop-ernststein .es-fairs-card-name {
	font-family: var(--es-font-display);
	font-size: clamp(2.2rem, 3vw, 3rem);
	font-weight: 400;
	line-height: 1.12;
	margin-bottom: 28px;
}

.shop-ernststein .es-fairs-card-spec dt {
	font-family: var(--es-font-din);
	font-size: clamp(0.95rem, 1vw, 1.08rem);
	letter-spacing: 0.12em;
}

.shop-ernststein .es-fairs-card-spec dd {
	font-family: var(--es-font-brand);
	font-size: clamp(1.3rem, 1.55vw, 1.6rem);
	line-height: 1.5;
	font-weight: 400;
}

.shop-ernststein .es-fairs-card-link {
	font-family: var(--es-font-brand);
	font-size: clamp(1rem, 1.06vw, 1.12rem);
}

/** Service-Karten: großzügiger **/
.shop-ernststein .es-services-card h3 {
	font-size: clamp(1.6rem, 2.2vw, 2.1rem);
}

.shop-ernststein .es-services-process-step h3 {
	font-size: clamp(1.55rem, 2.1vw, 2rem);
}

.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle {
	font-size: clamp(1.4rem, 1.85vw, 1.75rem);
}

/** Kontakt: Telefonnummern + Details gut lesbar **/
.shop-ernststein .es-contact-phone-num {
	font-family: var(--es-font-brand);
	font-size: clamp(1.22rem, 1.4vw, 1.48rem);
	font-weight: 500;
}

/** Welcome: Stat-Zahlen etwas größer **/
.shop-ernststein .es-welcome-facts--inline .es-fact-num {
	font-family: var(--es-font-display);
	font-size: clamp(1.55rem, 2.2vw, 2rem);
	font-weight: 500;
}

.shop-ernststein .es-welcome-facts--inline .es-fact-label {
	font-family: var(--es-font-din);
	font-size: clamp(0.95rem, 1.02vw, 1.1rem);
	letter-spacing: 0.1em;
	line-height: 1.5;
}

/** Headline-Sizes: Cormorant braucht leicht andere Werte als Sans
 *  (der Serif wirkt bei gleicher em-Größe etwas kompakter) **/
.shop-ernststein .es-welcome-headline {
	font-size: clamp(2.9rem, 5vw, 4.4rem);
	font-weight: 400;
	line-height: 1.1;
}

.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-section-headline {
	font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	font-weight: 400;
	line-height: 1.12;
}

.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline {
	font-size: clamp(2.6rem, 5.2vw, 4.4rem);
	font-weight: 300;
	line-height: 1.08;
}

.shop-ernststein .es-fachhandel-headline {
	font-size: clamp(2.3rem, 4.2vw, 3.6rem);
	font-weight: 400;
}

.shop-ernststein .es-services-headline {
	font-size: clamp(2.6rem, 5.2vw, 5.2rem);
	font-weight: 400;
	line-height: 1.08;
}

.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline {
	font-size: clamp(2.5rem, 3.9vw, 4rem);
	font-weight: 400;
	line-height: 1.08;
}

.shop-ernststein .es-downloads-hero h1,
.shop-ernststein .es-downloads-headline {
	font-family: var(--es-font-display);
	font-size: clamp(2.5rem, 3.9vw, 4rem);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: 0.02em;
	margin-top: 10px;
}

.shop-ernststein .es-fairs-year-headline {
	font-size: clamp(2.4rem, 4.2vw, 3.6rem);
	font-weight: 400;
	line-height: 1;
}


/** ============================================================
 *  ABSCHNITT: Messen / Kontakt / Downloads — heller Page-Header
 *  Kein dunkler Balken, kein orange Border, gleiche Höhe.
 *  "Dunkle Balken" können von einem Shop-Breadcrumb-Element kommen;
 *  diese Regeln unterdrücken alle bekannten Kandidaten.
 *  ============================================================ */

/* Definitive Weiß-Behandlung für alle drei Hero-Bereiche */
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-contact-hero {
	background: #ffffff !important;
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Kein Pseudo-Element (weder ::before noch ::after) darf einen Balken erzeugen */
.shop-ernststein .es-downloads-hero::before,
.shop-ernststein .es-fairs-hero::before,
.shop-ernststein .es-contact-hero::before,
.shop-ernststein .es-downloads-hero::after,
.shop-ernststein .es-fairs-hero::after,
.shop-ernststein .es-contact-hero::after {
	display: none !important;
	content: none !important;
}

/* Hintergrundbilder und Overlays: definitiv versteckt */
.shop-ernststein .es-downloads-hero-bg,
.shop-ernststein .es-fairs-hero-bg,
.shop-ernststein .es-contact-hero-bg,
.shop-ernststein .es-downloads-hero-overlay,
.shop-ernststein .es-fairs-hero-overlay,
.shop-ernststein .es-contact-hero-overlay {
	display: none !important;
}

/* Einheitliche Höhe für alle drei Hero-Inhaltsbereiche */
.shop-ernststein .es-downloads-hero-content,
.shop-ernststein .es-fairs-hero-content,
.shop-ernststein .es-contact-hero-content {
	min-height: clamp(210px, 19vw, 290px);
	padding-top: clamp(56px, 6vw, 84px);
	padding-bottom: clamp(52px, 5.6vw, 78px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Potenzielle Shop-Breadcrumbs über unseren Sektionen unterdrücken
   (betrifft nur Messen- und Kontakt-Seite, nicht Downloads) */
.page-messen.shop-ernststein .uk-breadcrumb,
.page-kontakt.shop-ernststein .uk-breadcrumb,
.page-messen.shop-ernststein .breadcrumb,
.page-kontakt.shop-ernststein .breadcrumb,
.page-messen.shop-ernststein [class*="breadcrumb"],
.page-kontakt.shop-ernststein [class*="breadcrumb"] {
	display: none !important;
}

/* Downloads: keinen orangen Strich am unteren Rand der Hero-Sektion */
.shop-ernststein .es-downloads-hero + *,
.shop-ernststein .es-fairs-hero + *,
.shop-ernststein .es-contact-hero + * {
	border-top: none;
}

/* Eyebrows in hellen Hero-Bereichen: dunkel (nicht --light) */
.shop-ernststein .es-fairs-hero-content .es-eyebrow,
.shop-ernststein .es-contact-hero-content .es-eyebrow,
.shop-ernststein .es-downloads-hero-copy .es-eyebrow {
	color: var(--color-primary-shop, #f68712);
}

@media (max-width: 760px) {
	.shop-ernststein .es-downloads-hero-content,
	.shop-ernststein .es-fairs-hero-content,
	.shop-ernststein .es-contact-hero-content {
		min-height: 0;
		padding: 52px 0 44px;
	}
}


/** ============================================================
    ABSCHNITT: Globale Ernst-Stein-Kalibrierung
    - groessere Eyebrows und kraeftigere Headlines
    - Kontakt-Karten und Fakten-Streifen sauber rhythmisiert
    - Header-Nav und Footer auf Markenschrift umgestellt
    ============================================================ **/

/** EYEBROWS: 0.82rem → 0.94rem — besser lesbar, klarer Markenanker **/
.shop-ernststein .es-eyebrow {
    font-size: 0.94rem;
}

/** HEADLINES FETT — systemweite Erhöhung auf 600 **/
.shop-ernststein .es-section-headline,
.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-services-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-downloads-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline,
.shop-ernststein .es-contact-block-headline {
    font-weight: 600;
}

/** KONTAKT-BLÖCKE: Karten gleich hoch (stretch auf grid-items) **/
.shop-ernststein .es-contact-block {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/** KONTAKT-BLOCKÜBERSCHRIFTEN: größer **/
.shop-ernststein .es-contact-block-headline {
    font-size: clamp(1.95rem, 2.8vw, 2.6rem);
}

/** FAKTEN-STREIFEN: Zahl klar von Label trennen **/
.shop-ernststein .es-welcome-facts--inline .es-fact-num {
    margin-bottom: 10px;
}
.shop-ernststein .es-welcome-facts--inline .es-fact {
    row-gap: 8px;
}

/** HEADER-NAV: neue Schriftfamilie **/
.shop-ernststein .MainNav .uk-navbar-nav > li > a,
.shop-ernststein .MainNav .uk-navbar-nav > li > a:visited,
.shop-ernststein .MainNav .uk-navbar-nav > li.uk-active > a {
    font-family: var(--es-font-brand);
}

/** FOOTER: neue Schriftfamilie auf alle Textelemente **/
.shop-ernststein #Footer,
.shop-ernststein #Footer h2,
.shop-ernststein #Footer h3,
.shop-ernststein #Footer p,
.shop-ernststein #Footer a,
.shop-ernststein #Footer li,
.shop-ernststein #Footer span {
    font-family: var(--es-font-brand);
}


/** ============================================================
    ABSCHNITT: Startseite und Footer
    - klare Oberueberschriften und orange Akzentlinien
    - Ruppenthal-Hinweis als schmale Footer-Leiste
    ============================================================ **/

.shop-ernststein {
	--es-line-orange: rgba(246, 135, 18, 0.58);
}

/** Oberueberschriften / Meta-Zeilen **/
.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta {
	font-size: clamp(1.05rem, 1.05vw, 1.16rem);
	letter-spacing: 0.1em;
	font-weight: 500;
	color: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-eyebrow--light {
	color: rgba(246, 135, 18, 0.96);
}

.shop-ernststein .es-welcome-meta {
	margin-bottom: 8px;
}

/** Richtige Headlines deutlicher setzen **/
.shop-ernststein .es-section-headline,
.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-services-headline,
.shop-ernststein .es-downloads-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-headline,
.shop-ernststein .es-contact-block-headline,
.shop-ernststein .es-world-title {
	font-weight: 600 !important;
}

/** Orange Akzentlinien - sichtbar, aber fein **/
.shop-ernststein .es-welcome-rule {
	width: 86px;
	height: 2px;
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-section-header::after,
.shop-ernststein .es-worlds-header::after {
	content: "";
	display: block;
	width: min(132px, 38vw);
	height: 2px;
	margin: 24px auto 0;
	background: linear-gradient(90deg, transparent 0%, var(--color-primary-shop, #f68712) 50%, transparent 100%);
}

.shop-ernststein .es-worlds,
.shop-ernststein .FrontpageProductCategoryOverview,
.shop-ernststein .es-services-overview,
.shop-ernststein .es-contact-cards,
.shop-ernststein .es-downloads {
	position: relative;
}

.shop-ernststein .es-worlds::before,
.shop-ernststein .FrontpageProductCategoryOverview::before,
.shop-ernststein .es-services-overview::before,
.shop-ernststein .es-contact-cards::before,
.shop-ernststein .es-downloads::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(1180px, 92vw);
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--color-primary-shop, #f68712) 50%, transparent 100%);
	opacity: 0.72;
}

.shop-ernststein .es-welcome-facts--inline {
	border-top-color: var(--es-line-orange);
}

.shop-ernststein .es-welcome-facts--inline .es-fact-sep {
	background: var(--es-line-orange);
}

.shop-ernststein #Footer,
.shop-ernststein #Footer .subfooter {
	border-color: var(--es-line-orange);
}

.shop-ernststein .es-fachhandel-cta::before {
	background: var(--es-line-orange);
}

/** Ruppenthal-Leiste im Ernst-Stein-Footer **/
.shop-ernststein #Footer {
	border-top: 0;
}

.shop-ernststein #Footer .inner {
	background: linear-gradient(90deg, #ffffff 0%, var(--es-apricot-mute) 100%);
	padding: 0;
	border-top: 2px solid var(--color-primary-shop, #f68712);
	border-bottom: 1px solid var(--es-line-orange);
}

.shop-ernststein #Footer .inner .container {
	max-width: min(1320px, 94vw);
}

.shop-ernststein #Footer .es-ruppenthal-strip {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: clamp(20px, 3vw, 46px);
	min-height: 112px;
	padding: clamp(18px, 2.6vw, 30px) 0;
}

.shop-ernststein #Footer .es-ruppenthal-strip::before {
	display: none;
}

.shop-ernststein #Footer .es-ruppenthal-strip__media {
	width: clamp(128px, 10vw, 178px);
}

.shop-ernststein #Footer .es-ruppenthal-strip__media img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 18px rgba(52, 52, 52, 0.08));
}

.shop-ernststein #Footer .es-ruppenthal-strip__copy {
	min-width: 0;
	border-left: 3px solid var(--color-primary-shop, #f68712);
	padding-left: clamp(28px, 3vw, 42px);
}

.shop-ernststein #Footer .es-ruppenthal-strip__kicker {
	display: block;
	margin-bottom: 6px;
	color: var(--color-primary-shop, #f68712);
	font-size: 0.78rem;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
}

.shop-ernststein #Footer .es-ruppenthal-strip__copy p {
	color: var(--es-ink);
	font-size: clamp(1.08rem, 1.25vw, 1.28rem);
	line-height: 1.45;
	margin: 0;
}

.shop-ernststein #Footer .es-ruppenthal-strip__link {
	margin-top: 0;
	white-space: nowrap;
	min-width: 150px;
	line-height: 44px;
	padding: 0 24px;
	font-size: 0.88rem;
	letter-spacing: 0.12em;
	font-weight: 600;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(246, 135, 18, 0.18);
}

.shop-ernststein #Footer .es-ruppenthal-strip__link:hover {
	box-shadow: 0 12px 28px rgba(246, 135, 18, 0.24);
}

.shop-ernststein #Footer .es-ruppenthal-strip__link i {
	margin-left: 10px;
	margin-right: 0;
}

@media (max-width: 760px) {
	.shop-ernststein #Footer .es-ruppenthal-strip {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		padding: 28px 0;
		gap: 18px;
	}
	.shop-ernststein #Footer .es-ruppenthal-strip__media {
		width: 142px;
	}
	.shop-ernststein #Footer .es-ruppenthal-strip__copy {
		border-left: 0;
		border-top: 2px solid var(--color-primary-shop, #f68712);
		padding: 18px 0 0;
	}
}


/** ============================================================
    ABSCHNITT: Startseiten-Finale
    - Slider-Bars auf hellen Bildern sichtbar und tief im Bild
    - Welcome/Fakten mit orangefarbener Kapitelkante
    - Sortiment ohne zusaetzliche Top-Linie
    - Fachhandels-CTA farblich klar vom Onlineshop getrennt
    ============================================================ **/

/** Slider-Pagination: dunklere Tracks plus orange Progress-Fill fuer helle Sliderbilder. **/
.shop-ernststein .MainSlider .uk-position-bottom-center.uk-position-small {
	bottom: 1px;
	padding: 8px 10px;
	background: rgba(255, 255, 255, 0.48);
	border: none;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.shop-ernststein .MainSlider .uk-dotnav > * > * {
	height: 4px;
	background: rgba(52, 38, 28, 0.42);
	box-shadow: 0 1px 2px rgba(255, 255, 255, 0.62);
}

.shop-ernststein .MainSlider .uk-dotnav > * > *:hover,
.shop-ernststein .MainSlider .uk-dotnav > * > *:focus {
	background: rgba(52, 38, 28, 0.62);
}

.shop-ernststein .MainSlider .uk-dotnav > .uk-active > * {
	background: rgba(52, 38, 28, 0.5);
}

.shop-ernststein .MainSlider .uk-dotnav > * > *::before {
	background: var(--color-primary-shop, #f68712);
}

.shop-ernststein .es-welcome {
	border-bottom: 3px solid var(--color-primary-shop, #f68712);
}

.shop-ernststein .FrontpageProductCategoryOverview::before {
	display: none;
}

/** Fachhandels-CTA: eigener warmer Schlussbereich statt Fortsetzung des Shopbereichs. **/
.shop-ernststein .es-fachhandel-cta {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 42%),
		linear-gradient(135deg, #f9e1c5 0%, #fff4e8 100%) !important;
	border-top: 1px solid var(--es-line-orange);
	border-bottom: 1px solid var(--es-line-orange);
}

.shop-ernststein .es-fachhandel-cta::before {
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--color-primary-shop, #f68712) 50%, transparent 100%);
}


/** ============================================================
 *  ABSCHNITT: Shop Mega-Menu
 *  Öffnet bei Hover auf "Shop" in der Desktop-Navigation.
 *  Layout: 4-spaltig (Schmuckarten | Kollektionen | Für Wen | Featured Image)
 *  Positionierung: absolut relativ zur .uk-navbar-container,
 *  horizontal zentriert via left:50% + translateX(-50%).
 *  Hover-Logik via jQuery (nav_shop_ernst.tpl) — kein UIkit-Dropdown.
 *  ============================================================ **/

/** Navbar-Container als Positionierungs-Anker für das Dropdown **/
.shop-ernststein .uk-navbar-container {
	position: relative !important;
	overflow: visible !important;  /* verhindert Clipping des Dropdowns */
}

/** Nav-Item: kein eigenes Positioning — Dropdown hängt an uk-navbar-container **/
.shop-ernststein .es-has-megamenu {
	position: static;
}

/** Pfeil-Icon neben "Shop"-Label **/
.shop-ernststein .es-megamenu__arrow {
	font-size: 0.7em;
	margin-left: 4px;
	transition: transform var(--es-trans-fast);
	display: inline-block;
}

/** Dropdown: zunächst unsichtbar, kein Pointer-Events **/
.shop-ernststein .es-megamenu {
	position: absolute;
	top: 100%;                       /* direkt unterhalb der NavBar */
	left: 50%;
	transform: translateX(-50%) translateY(-6px);
	z-index: 1050;
	width: 920px;
	max-width: 96vw;

	background: #ffffff;
	border-top: 2px solid var(--color-primary-shop, #f68712);
	border-radius: 0 0 4px 4px;
	box-shadow: 0 12px 48px rgba(60, 30, 5, 0.13), 0 2px 8px rgba(60, 30, 5, 0.06);
	padding: 36px 40px 24px;

	/* Standardzustand: ausgeblendet */
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
		transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/** Dropdown sichtbar (via jQuery .es-megamenu--open) **/
.shop-ernststein .es-megamenu--open {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

/** 4-Spalten-Grid **/
.shop-ernststein .es-megamenu__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 190px;
	gap: 0 36px;
}

/** Spalten-Überschriften (Eyebrow-Stil) **/
.shop-ernststein .es-megamenu__col-header {
	font-family: var(--es-font-brand, 'Raleway', sans-serif);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--es-ink-mute, #747474);
	padding-bottom: 10px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--es-line, rgba(52, 52, 52, 0.12));
}

/** Zweite Überschrift innerhalb einer Spalte (z.B. "Zubehör" unter "Für Wen") **/
.shop-ernststein .es-megamenu__col-header--gap {
	margin-top: 22px;
}

/** Linklisten **/
.shop-ernststein .es-megamenu__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-ernststein .es-megamenu__list li {
	margin: 0;
	padding: 0;
}

.shop-ernststein .es-megamenu__list li a {
	display: block;
	padding: 6px 0;
	font-family: 'Raleway', sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	color: var(--es-ink, #343434);
	text-decoration: none;
	transition:
		color var(--es-trans-fast),
		padding-left var(--es-trans-fast);
	line-height: 1.4;
}

.shop-ernststein .es-megamenu__list li a:hover {
	color: var(--color-primary-shop, #f68712);
	padding-left: 5px;
}

/** Highlight: "Neu" — orange, leicht fetter **/
.shop-ernststein .es-megamenu__list .es-megamenu__item--new > a {
	color: var(--color-primary-shop, #f68712);
	font-weight: 500;
}

.shop-ernststein .es-megamenu__list .es-megamenu__item--new > a::before {
	content: "✦ ";
	font-size: 0.6em;
	vertical-align: middle;
	margin-right: 2px;
}

/** Highlight: "Ausverkauf" — subtil, nicht aggressiv **/
.shop-ernststein .es-megamenu__list .es-megamenu__item--sale > a {
	color: var(--es-ink-soft, #5a5a5a);
	font-style: italic;
}

.shop-ernststein .es-megamenu__list .es-megamenu__item--sale > a:hover {
	color: var(--color-primary-shop, #f68712);
}

/** Featured Image Spalte **/
.shop-ernststein .es-megamenu__col--featured {
	align-self: start;
}

.shop-ernststein .es-megamenu__feature {
	display: block;
	text-decoration: none;
}

.shop-ernststein .es-megamenu__feature-img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	border-radius: 2px;
	display: block;
	transition: opacity var(--es-trans-fast);
}

.shop-ernststein .es-megamenu__feature:hover .es-megamenu__feature-img {
	opacity: 0.88;
}

.shop-ernststein .es-megamenu__feature-label {
	display: block;
	margin-top: 10px;
	font-family: 'Raleway', sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--es-ink-mute, #747474);
	transition: color var(--es-trans-fast);
}

.shop-ernststein .es-megamenu__feature:hover .es-megamenu__feature-label {
	color: var(--color-primary-shop, #f68712);
}

/** Footer-Zeile: Alle Kategorien Link **/
.shop-ernststein .es-megamenu__footer {
	margin-top: 20px;
	padding-top: 14px;
	border-top: 1px solid var(--es-line, rgba(52, 52, 52, 0.12));
	text-align: right;
}

.shop-ernststein .es-megamenu__all-link {
	font-family: 'Raleway', sans-serif;
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-primary-shop, #f68712);
	text-decoration: none;
	font-weight: 500;
	transition: letter-spacing var(--es-trans-fast);
}

.shop-ernststein .es-megamenu__all-link:hover {
	letter-spacing: 0.22em;
}

.shop-ernststein .es-megamenu__all-link .fa {
	margin-left: 6px;
	font-size: 0.9em;
}

/** Nav-Trigger Link: Pfeil mitanimieren **/
.shop-ernststein .es-has-megamenu > a .fa-angle-up {
	transform: rotate(0deg);
}

/** Sicherheitsnetz: Mega-Menu nie auf mobilen Viewports zeigen
 *  (die ganze .MainNav ist uk-visible@l, das reicht normalerweise —
 *  aber besser doppelt absichern) **/
@media (max-width: 959px) {
	.shop-ernststein .es-megamenu {
		display: none !important;
	}
}


/** ============================================================
    ABSCHNITT: Home-Hero Modifier + Hintergrund-Slideshow
    --home: reduzierte Höhe damit Scroll-Pfeil immer im Viewport sichtbar ist.
    es-home-bg-slider: UIkit-Slider mit derselben Ausstellung-Aufnahme wie
    die Leistungsseite und sichtbaren Pfeilen.
    ============================================================ **/

/** Reduzierte Höhe — Inhalt + Scroll-Pfeil passen bequem in den Viewport **/
.shop-ernststein .es-services-hero--home {
	height: clamp(520px, 62vh, 660px) !important;
	min-height: 0 !important;
}

.shop-ernststein .es-services-hero--home .es-services-hero-content {
	padding: clamp(34px, 4.5vw, 58px) 0 clamp(48px, 6vw, 72px);
}

.shop-ernststein .es-services-hero--home .es-services-headline {
	font-size: clamp(2.2rem, 4.4vw, 4.2rem);
	margin-bottom: 18px;
}

.shop-ernststein .es-services-hero--home .es-services-lead {
	margin-bottom: 28px;
}

/** Hintergrund-Slider: füllt den Hero absolut. **/
.shop-ernststein .es-home-bg-slider {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.shop-ernststein .es-home-bg-fallback {
	z-index: 0;
	opacity: 1;
}

.shop-ernststein .es-home-bg-slider .uk-slideshow-items {
	position: absolute;
	inset: 0;
	height: 100% !important;
	min-height: 0 !important;
	z-index: 0;
}

.shop-ernststein .es-home-bg-slider .uk-slideshow-items > li {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.shop-ernststein .es-home-bg-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.025);
}

.shop-ernststein .es-home-bg-image--left {
	object-position: center 34%;
}

.shop-ernststein .es-home-bg-image--center {
	object-position: center center;
}

.shop-ernststein .es-home-bg-image--right {
	object-position: center 66%;
}

.shop-ernststein .es-home-bg-nav {
	z-index: 4;
	color: var(--color-primary-shop, #f68712);
	background: rgba(250, 236, 223, 0.30);
	border-color: rgba(246, 135, 18, 0.46);
	box-shadow: 0 10px 24px rgba(60, 30, 5, 0.14);
}

.shop-ernststein .es-home-bg-nav:hover {
	background: var(--color-primary-shop, #f68712);
	color: #ffffff;
	border-color: var(--color-primary-shop, #f68712);
}

/** Overlay + Content sicher über dem Hintergrund-Slider **/
.shop-ernststein .es-services-hero--home .es-services-hero-overlay {
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(24, 11, 4, 0.66) 0%, rgba(24, 11, 4, 0.42) 45%, rgba(24, 11, 4, 0.16) 100%),
		linear-gradient(180deg, rgba(24, 11, 4, 0.08) 0%, rgba(24, 11, 4, 0.28) 100%);
}
.shop-ernststein .es-services-hero--home .container {
	position: relative;
	z-index: 2;
}
.shop-ernststein .es-services-hero--home .es-services-scroll-cue {
	z-index: 2;
}


/** ============================================================
    ABSCHNITT: Home-Slider-Sektion — Slider eingebettet als
    eigenständige Sektion nach dem Hero.
    Apricot-Hintergrund schließt warm an den Hero an.
    Eyebrow-Zeile verankert den Block im Seiten-Rhythmus.
    Refactor 05/2026 v2.
    ============================================================ **/

.shop-ernststein .es-home-slider-section {
	background:
		linear-gradient(180deg, rgba(248, 226, 198, 0.72) 0%, var(--es-paper, #faecdf) 42%, var(--es-paper, #faecdf) 100%);
	padding-bottom: clamp(34px, 4.5vw, 58px);
}

/** Eyebrow-Zeile über dem Slider **/
.shop-ernststein .es-home-slider-header {
	padding: clamp(18px, 2.4vw, 30px) 0 clamp(10px, 1.6vw, 18px);
	text-align: center;
	position: relative;
}

/** Dezente horizontale Linie vor und nach dem Eyebrow-Text **/
.shop-ernststein .es-home-slider-header::before,
.shop-ernststein .es-home-slider-header::after {
	content: '';
	position: absolute;
	top: 50%;
	width: clamp(40px, 8vw, 120px);
	height: 1px;
	background: rgba(246, 135, 18, 0.30);
}
.shop-ernststein .es-home-slider-header::before { right: calc(50% + 120px); }
.shop-ernststein .es-home-slider-header::after  { left:  calc(50% + 120px); }

/** Eyebrow im Apricot-Umfeld: Orange bleibt Markenanker. **/
.shop-ernststein .es-home-slider-section .es-eyebrow {
	color: var(--color-primary-shop, #f68712);
	letter-spacing: 0.16em;
}

/** Slider-Container: auf hellem Apricot weich eingebettet **/
.shop-ernststein .es-home-slider-section .MainSliderContainer {
	margin: 0 clamp(16px, 4vw, 64px);
	border: 2px solid rgba(246, 135, 18, 0.64);
	border-bottom-color: rgba(246, 135, 18, 0.86);
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(120, 60, 10, 0.10), 0 1px 6px rgba(246, 135, 18, 0.10);
}

/** Bottom-Fading — weicher Übergang vom Slider zur Welcome-Sektion **/
.shop-ernststein .es-home-slider-section::after {
	content: '';
	display: block;
	height: 0;
}

/** Auf schmalen Viewports: kein seitlicher Einzug **/
@media (max-width: 639px) {
	.shop-ernststein .es-home-slider-section .MainSliderContainer {
		margin: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.shop-ernststein .es-home-slider-section {
		padding-bottom: 32px;
	}
	.shop-ernststein .es-home-slider-header::before,
	.shop-ernststein .es-home-slider-header::after {
		display: none;
	}
}


/** Welcome-Sektion kompakter: Inhalt schneller sichtbar machen. **/
.shop-ernststein .es-welcome {
	padding-top: clamp(34px, 4.2vw, 58px);
	padding-bottom: clamp(34px, 4.2vw, 58px);
}

.shop-ernststein .es-welcome-meta {
	margin-bottom: 4px;
}

.shop-ernststein .es-welcome-rule {
	margin: 4px auto clamp(18px, 2.2vw, 26px);
}

.shop-ernststein .es-welcome-headline {
	margin-bottom: clamp(14px, 1.8vw, 20px);
}

.shop-ernststein .es-welcome-text {
	margin-bottom: clamp(22px, 2.8vw, 32px);
}

.shop-ernststein .es-welcome-cta {
	padding-top: 15px;
	padding-bottom: 15px;
}

.shop-ernststein .es-welcome-facts--inline {
	margin-top: clamp(30px, 3.8vw, 48px);
	padding-top: clamp(24px, 3vw, 36px);
}

.shop-ernststein .es-welcome-facts--inline .es-fact {
	min-height: clamp(76px, 6vw, 96px);
	grid-template-rows: clamp(34px, 3.2vw, 44px) auto;
}

.shop-ernststein .es-welcome-facts--inline .es-fact-num {
	min-height: clamp(34px, 3.2vw, 44px);
}

.shop-ernststein .es-welcome-facts--inline .es-fact-label {
	min-height: 0;
}

.shop-ernststein .es-welcome-facts--inline .es-fact-sep {
	height: clamp(46px, 4vw, 58px);
}


/** Leistungsseite ohne Bild-Hero: ruhiger, heller Einstieg mit wertigeren Karten. **/
.shop-ernststein .es-services-overview--intro {
	background:
		linear-gradient(180deg, var(--es-apricot-mute, #faeed9) 0%, #ffffff 72%);
	padding: clamp(58px, 6.4vw, 92px) 0 clamp(42px, 5vw, 68px);
	border-top: 2px solid rgba(246, 135, 18, 0.72);
}

.shop-ernststein .es-services-overview--intro::before {
	display: none;
}

.shop-ernststein .es-services-overview--intro .es-section-header {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(38px, 4.8vw, 62px);
}

.shop-ernststein .es-services-overview--intro .es-section-headline {
	font-size: clamp(2.55rem, 4.7vw, 4.3rem);
	line-height: 1.08;
	margin-bottom: 18px;
}

.shop-ernststein .es-services-overview--intro .es-section-lead {
	max-width: 720px;
	font-size: clamp(1.14rem, 1.28vw, 1.28rem);
	line-height: 1.72;
}

.shop-ernststein .es-services-overview--intro .es-services-card-grid {
	gap: clamp(18px, 2.4vw, 30px);
}

.shop-ernststein .es-services-overview--intro .es-services-card {
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(246, 135, 18, 0.20);
	border-top: 3px solid rgba(246, 135, 18, 0.72);
	border-radius: 4px;
	padding: clamp(26px, 3vw, 38px);
	box-shadow: 0 14px 32px rgba(120, 60, 10, 0.08), 0 2px 6px rgba(120, 60, 10, 0.05);
}

.shop-ernststein .es-services-overview--intro .es-services-card::before {
	display: none;
}

.shop-ernststein .es-services-overview--intro .es-services-card-num {
	top: 18px;
	right: 22px;
	color: rgba(246, 135, 18, 0.11);
}

.shop-ernststein .es-services-overview--intro .es-services-card-icon {
	width: 42px;
	height: 42px;
	margin-bottom: 18px;
	border: 1px solid rgba(246, 135, 18, 0.32);
	border-radius: 50%;
	background: rgba(250, 236, 223, 0.86);
	font-size: 1.1rem;
}

.shop-ernststein .es-services-overview--intro .es-services-card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: clamp(1.35rem, 1.65vw, 1.58rem);
}

.shop-ernststein .es-services-overview--intro .es-services-card p {
	font-size: clamp(1.02rem, 1.1vw, 1.14rem);
	line-height: 1.64;
}

.shop-ernststein .es-services-detail {
	position: relative;
	background:
		linear-gradient(180deg, #ffffff 0%, var(--es-apricot-mute, #faeed9) 48%, #ffffff 100%);
	padding-top: clamp(46px, 5.4vw, 74px);
}

.shop-ernststein .es-services-detail::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(1180px, 92vw);
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(246, 135, 18, 0.62) 18%, rgba(246, 135, 18, 0.62) 82%, transparent 100%);
}

.shop-ernststein .es-services-showcase,
.shop-ernststein .es-services-working {
	border: 1px solid rgba(246, 135, 18, 0.30);
	box-shadow: 0 18px 46px rgba(120, 60, 10, 0.08);
}

.shop-ernststein .es-services-spectrum {
	grid-template-columns: minmax(240px, 0.30fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 56px);
	padding: clamp(38px, 4.8vw, 66px);
	background:
		linear-gradient(135deg, #2a1508 0%, #3a2418 100%);
	border: 1px solid rgba(246, 135, 18, 0.34);
	box-shadow: 0 16px 40px rgba(42, 21, 8, 0.14);
}

.shop-ernststein .es-services-spectrum-row {
	grid-template-columns: minmax(190px, 0.22fr) minmax(0, 1fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: stretch;
	padding: clamp(20px, 2.4vw, 28px) 0;
}

.shop-ernststein .es-services-spectrum-label {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding-left: 0;
	min-height: 38px;
}

.shop-ernststein .es-services-spectrum-label::before {
	position: static;
	flex: 0 0 13px;
	margin-top: 0.18em;
}

.shop-ernststein .es-services-spectrum-row div {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px 26px;
	align-items: start;
}

.shop-ernststein .es-services-spectrum-row--metal div {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.shop-ernststein .es-services-spectrum-row--shape div {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shop-ernststein .es-services-spectrum-row div span {
	display: block;
	width: 100%;
	padding: 0 0 7px;
	border-bottom-color: rgba(246, 135, 18, 0.50);
}

.shop-ernststein .es-services-specials {
	background:
		linear-gradient(180deg, var(--es-apricot-deep, #f8e2c6) 0%, var(--es-apricot-mute, #faeed9) 100%);
}

.shop-ernststein .es-services-process {
	background:
		linear-gradient(180deg, var(--es-paper, #faecdf) 0%, #ffffff 100%);
}

@media (max-width: 640px) {
	.shop-ernststein .es-services-overview--intro {
		padding-top: 42px;
		padding-bottom: 54px;
	}

	.shop-ernststein .es-services-spectrum-row,
	.shop-ernststein .es-services-spectrum-row--metal div,
	.shop-ernststein .es-services-spectrum-row--shape div,
	.shop-ernststein .es-services-spectrum-row div {
		grid-template-columns: 1fr;
	}
}


/** Messen-Seite: ruhigere Kacheln mit klarer, einspaltiger Informationshierarchie. **/
.shop-ernststein .es-fairs-hero-content {
	min-height: clamp(180px, 15vw, 235px);
	padding-top: clamp(46px, 4.6vw, 68px);
	padding-bottom: clamp(40px, 4.1vw, 60px);
}

.shop-ernststein .es-fairs-list {
	background:
		linear-gradient(180deg, var(--es-apricot-mute, #faeed9) 0%, #ffffff 100%);
	padding: clamp(42px, 5vw, 72px) 0 clamp(64px, 7vw, 104px);
}

.shop-ernststein .es-fairs-list .container {
	max-width: min(1280px, 92vw);
}

.shop-ernststein .es-fairs-year {
	gap: clamp(18px, 2.4vw, 30px);
	margin: 0 0 clamp(20px, 2.6vw, 30px);
}

.shop-ernststein .es-fairs-year:not(:first-child) {
	margin-top: clamp(44px, 5vw, 72px);
}

.shop-ernststein .es-fairs-year-headline {
	font-size: clamp(2.2rem, 3.2vw, 3.05rem);
	letter-spacing: 0.01em;
}

.shop-ernststein .es-fairs-year-line {
	background: linear-gradient(90deg, rgba(246, 135, 18, 0.34), rgba(42, 21, 8, 0.10));
}

.shop-ernststein .es-fairs-year-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 2.6vw, 34px);
	margin-bottom: clamp(28px, 3.6vw, 48px);
}

.shop-ernststein .es-fairs-card {
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: stretch;
	min-height: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(246, 135, 18, 0.26);
	border-top: 4px solid rgba(246, 135, 18, 0.86);
	box-shadow: 0 18px 42px rgba(120, 60, 10, 0.08), 0 2px 8px rgba(120, 60, 10, 0.04);
	overflow: hidden;
}

.shop-ernststein .es-fairs-card::before {
	display: none;
}

.shop-ernststein .es-fairs-card:hover {
	transform: translateY(-2px);
	border-color: rgba(246, 135, 18, 0.42);
	box-shadow: 0 24px 54px rgba(120, 60, 10, 0.12), 0 4px 12px rgba(120, 60, 10, 0.05);
}

.shop-ernststein .es-fairs-card-date {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: clamp(20px, 2.5vw, 30px) clamp(24px, 3vw, 38px) clamp(16px, 2vw, 24px);
	border-right: 0;
	border-bottom: 1px solid rgba(246, 135, 18, 0.18);
	background:
		linear-gradient(180deg, rgba(250, 236, 223, 0.84) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.shop-ernststein .es-fairs-card-date-label {
	flex: 0 0 auto;
	font-family: var(--es-font-din);
	font-size: clamp(0.82rem, 0.88vw, 0.95rem);
	letter-spacing: 0.16em;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-fairs-card-date-range {
	font-family: var(--es-font-display);
	font-size: clamp(2.05rem, 2.7vw, 2.72rem);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0.01em;
	color: var(--es-ink);
	text-align: right;
	white-space: nowrap;
}

.shop-ernststein .es-fairs-card-body {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(24px, 2.8vw, 38px) clamp(24px, 3vw, 38px) clamp(26px, 3vw, 42px);
}

.shop-ernststein .es-fairs-card-name {
	font-family: var(--es-font-display);
	font-size: clamp(2.05rem, 2.85vw, 2.92rem);
	font-weight: 400;
	line-height: 1.08;
	margin: 0 0 clamp(20px, 2.2vw, 28px);
	color: var(--es-ink);
}

.shop-ernststein .es-fairs-card-specs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(42, 21, 8, 0.10);
}

.shop-ernststein .es-fairs-card-specs .es-fairs-card-spec--full {
	grid-column: auto;
}

.shop-ernststein .es-fairs-card-spec {
	display: grid;
	grid-template-columns: minmax(90px, 0.20fr) minmax(0, 1fr);
	gap: clamp(16px, 2vw, 28px);
	align-items: start;
	padding: clamp(13px, 1.4vw, 18px) 0;
	border-bottom: 1px solid rgba(42, 21, 8, 0.08);
}

.shop-ernststein .es-fairs-card-spec:last-child {
	border-bottom: 0;
}

.shop-ernststein .es-fairs-card-spec dt {
	font-family: var(--es-font-din);
	font-size: clamp(0.78rem, 0.84vw, 0.92rem);
	line-height: 1.4;
	letter-spacing: 0.14em;
	color: var(--es-ink-mute);
}

.shop-ernststein .es-fairs-card-spec dd {
	font-family: var(--es-font-brand);
	font-size: clamp(1.08rem, 1.16vw, 1.24rem);
	line-height: 1.55;
	font-weight: 400;
	color: var(--es-ink);
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

.shop-ernststein .es-fairs-card-link {
	margin-top: clamp(18px, 2vw, 26px);
	font-family: var(--es-font-din);
	font-size: clamp(0.82rem, 0.88vw, 0.96rem);
	letter-spacing: 0.14em;
}

@media (max-width: 960px) {
	.shop-ernststein .es-fairs-year-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.shop-ernststein .es-fairs-hero-content {
		padding-top: 42px;
		padding-bottom: 38px;
	}

	.shop-ernststein .es-fairs-card-date {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.shop-ernststein .es-fairs-card-date-range {
		text-align: left;
		white-space: normal;
	}

	.shop-ernststein .es-fairs-card-spec {
		grid-template-columns: 1fr;
		gap: 5px;
	}
}


/** Kontakt-Seite: Weltkarte zurueckholen und Kontaktfelder sauber angleichen. **/
.shop-ernststein .es-contact-hero-content {
	min-height: clamp(150px, 12vw, 190px);
	padding-top: clamp(34px, 3.4vw, 50px);
	padding-bottom: clamp(30px, 3.2vw, 46px);
}

.shop-ernststein .es-contact-headline {
	margin-top: 8px;
	margin-bottom: 14px;
}

.shop-ernststein .es-contact-intro {
	position: relative;
	overflow: hidden;
	background: #ffffff;
	padding: 0;
	border-bottom: 0;
	font-family: var(--es-font-brand);
	font-size: 18px;
	line-height: 1.72;
	font-weight: 400;
}

.shop-ernststein .es-contact-intro-content {
	position: relative;
	z-index: 1;
	max-width: min(1060px, 100%);
	min-height: clamp(210px, 19vw, 290px);
	padding: clamp(56px, 6vw, 84px) 0 clamp(52px, 5.6vw, 78px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: var(--es-ink);
	text-align: left;
}

.shop-ernststein .es-contact-intro-headline {
	font-family: var(--es-font-display);
	font-size: clamp(2.5rem, 3.9vw, 4rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--es-ink);
	margin: 12px 0 18px;
}

.shop-ernststein .es-contact-intro-lead {
	font-family: var(--es-font-brand);
	max-width: 980px;
	font-size: clamp(1.22rem, 1.32vw, 1.4rem);
	line-height: 1.74;
	font-weight: 400;
	color: var(--es-ink-soft);
	margin: 0;
}

.shop-ernststein .es-contact-map {
	background:
		linear-gradient(180deg, rgba(250, 238, 217, 0.42) 0%, rgba(255, 255, 255, 0.34) 100%);
	padding: clamp(30px, 3.8vw, 54px) 0 clamp(34px, 4.4vw, 62px);
}

.shop-ernststein .es-contact-map .container {
	max-width: min(1280px, 92vw);
}

.shop-ernststein .es-contact-map-frame {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(246, 135, 18, 0.28);
	border-top: 4px solid rgba(246, 135, 18, 0.86);
	padding: clamp(14px, 1.8vw, 24px);
	box-shadow: 0 18px 44px rgba(120, 60, 10, 0.08), 0 2px 8px rgba(120, 60, 10, 0.04);
}

.shop-ernststein #VectorWorldMap {
	width: 100%;
	height: clamp(330px, 32vw, 440px) !important;
	min-height: 320px;
	background: #ffffff;
}

.shop-ernststein #VectorWorldMap .jvectormap-container {
	background: #ffffff !important;
}

.shop-ernststein .jvectormap-tip {
	z-index: 1002;
	border: 1px solid rgba(246, 135, 18, 0.26);
	box-shadow: 0 18px 42px rgba(42, 21, 8, 0.16);
	font-family: var(--es-font-brand);
	line-height: 1.5;
}

.shop-ernststein #scroll_below_map.es-contact-scroll-cue {
	top: auto;
	right: clamp(18px, 2.6vw, 34px);
	bottom: clamp(22px, 3vw, 38px);
	width: 54px;
	height: 54px;
	padding: 0;
	opacity: 1;
	border: 0;
	background: var(--color-primary-shop, #f68712);
	color: #ffffff !important;
	box-shadow: 0 14px 32px rgba(120, 60, 10, 0.24);
}

.shop-ernststein #scroll_below_map.es-contact-scroll-cue.uk-hidden {
	display: none !important;
}

.shop-ernststein .es-contact-cards {
	background:
		linear-gradient(180deg, var(--es-apricot-mute, #faeed9) 0%, #ffffff 100%);
	padding-top: clamp(42px, 5vw, 74px);
}

.shop-ernststein .es-contact-grid {
	align-items: stretch;
}

.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-block-header {
	min-height: clamp(180px, 13.5vw, 232px);
	margin-bottom: clamp(18px, 2.4vw, 28px);
}

.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-block-headline {
	font-size: clamp(2.2rem, 3.15vw, 3rem);
	line-height: 1.1;
}

.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-block-text {
	font-size: clamp(1.08rem, 1.18vw, 1.24rem);
	line-height: 1.68;
	max-width: 62ch;
}

.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-phone-grid,
.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-places {
	flex: 1 1 auto;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(246, 135, 18, 0.24);
	border-left: 4px solid rgba(246, 135, 18, 0.88);
	box-shadow: 0 18px 42px rgba(120, 60, 10, 0.08), 0 2px 8px rgba(120, 60, 10, 0.04);
}

.shop-ernststein .es-contact-phone-grid {
	gap: 0;
	padding: clamp(18px, 2.2vw, 28px);
	align-content: start;
}

.shop-ernststein .es-contact-phone-card {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(42, 21, 8, 0.08);
	box-shadow: none;
	padding: clamp(18px, 2vw, 26px) 0;
}

.shop-ernststein .es-contact-phone-card:first-child {
	padding-top: 0;
}

.shop-ernststein .es-contact-phone-card:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.shop-ernststein .es-contact-phone-card::before {
	display: none;
}

.shop-ernststein .es-contact-phone-title {
	font-size: clamp(1.22rem, 1.34vw, 1.42rem);
}

.shop-ernststein .es-contact-phone-desc,
.shop-ernststein .es-contact-phone-list li {
	font-size: clamp(1.02rem, 1.1vw, 1.16rem);
}

.shop-ernststein .es-contact-places {
	padding: 0;
}

.shop-ernststein .es-contact-accordion > li {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(42, 21, 8, 0.08);
	box-shadow: none;
	margin: 0;
}

.shop-ernststein .es-contact-accordion > li:last-child {
	border-bottom: 0;
}

.shop-ernststein .es-contact-place-title {
	padding: clamp(18px, 2.1vw, 28px) clamp(22px, 2.6vw, 34px);
}

.shop-ernststein .es-contact-place-content {
	padding: clamp(20px, 2.4vw, 30px) clamp(22px, 2.6vw, 34px) clamp(24px, 2.8vw, 36px);
}

.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-place-hours li {
	font-size: clamp(1rem, 1.08vw, 1.14rem);
	line-height: 1.55;
}

@media (max-width: 900px) {
	.shop-ernststein .es-contact-grid > .es-contact-block:not(.es-contact-block--full) .es-contact-block-header {
		min-height: 0;
	}
}

@media (max-width: 640px) {
	.shop-ernststein #VectorWorldMap {
		height: 330px !important;
		min-height: 300px;
	}

	.shop-ernststein .es-contact-intro-content {
		min-height: 0;
		padding: 52px 0 44px;
	}

	.shop-ernststein .es-contact-phone-card {
		grid-template-columns: 70px 1fr;
	}

	.shop-ernststein .es-contact-phone-image {
		width: 70px;
		height: 70px;
	}
}


/** Einheitlicher Aprikot-Schimmer fuer Ernst-Stein-Unterseiten. **/
body.shop-ernststein.page-services,
body.shop-ernststein.page-leistungen,
body.shop-ernststein.page-messen,
body.shop-ernststein.page-contact,
body.shop-ernststein.page-kontakt,
body.shop-ernststein.page-downloads,
body.shop-ernststein.page-download,
body.shop-ernststein[class*="page-welt"] {
	position: relative;
	background-color: #fff8f0;
	background-image:
		linear-gradient(118deg, rgba(255, 255, 255, 0.92) 0%, rgba(250, 236, 223, 0.74) 34%, rgba(255, 250, 245, 0.90) 54%, rgba(248, 226, 198, 0.58) 76%, rgba(255, 255, 255, 0.92) 100%);
	background-attachment: fixed;
	background-size: 180% 180%;
}

body.shop-ernststein.page-services::before,
body.shop-ernststein.page-leistungen::before,
body.shop-ernststein.page-messen::before,
body.shop-ernststein.page-contact::before,
body.shop-ernststein.page-kontakt::before,
body.shop-ernststein.page-downloads::before,
body.shop-ernststein.page-download::before,
body.shop-ernststein[class*="page-welt"]::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.76) 0%, rgba(255, 255, 255, 0.18) 34%, rgba(246, 135, 18, 0.035) 58%, rgba(255, 255, 255, 0.68) 100%),
		linear-gradient(105deg, rgba(250, 236, 223, 0.30) 0%, rgba(255, 255, 255, 0) 46%, rgba(248, 226, 198, 0.26) 100%);
}

body.shop-ernststein.page-services header,
body.shop-ernststein.page-services main,
body.shop-ernststein.page-services #Footer,
body.shop-ernststein.page-leistungen header,
body.shop-ernststein.page-leistungen main,
body.shop-ernststein.page-leistungen #Footer,
body.shop-ernststein.page-messen header,
body.shop-ernststein.page-messen main,
body.shop-ernststein.page-messen #Footer,
body.shop-ernststein.page-contact header,
body.shop-ernststein.page-contact main,
body.shop-ernststein.page-contact #Footer,
body.shop-ernststein.page-kontakt header,
body.shop-ernststein.page-kontakt main,
body.shop-ernststein.page-kontakt #Footer,
body.shop-ernststein.page-downloads header,
body.shop-ernststein.page-downloads main,
body.shop-ernststein.page-downloads #Footer,
body.shop-ernststein.page-download header,
body.shop-ernststein.page-download main,
body.shop-ernststein.page-download #Footer,
body.shop-ernststein[class*="page-welt"] header,
body.shop-ernststein[class*="page-welt"] main,
body.shop-ernststein[class*="page-welt"] #Footer {
	position: relative;
	z-index: 1;
}

body.shop-ernststein.page-services .es-services-overview--intro,
body.shop-ernststein.page-services .es-services-detail,
body.shop-ernststein.page-services .es-services-specials,
body.shop-ernststein.page-services .es-services-process,
body.shop-ernststein.page-services .es-fachhandel-cta,
body.shop-ernststein.page-leistungen .es-services-overview--intro,
body.shop-ernststein.page-leistungen .es-services-detail,
body.shop-ernststein.page-leistungen .es-services-specials,
body.shop-ernststein.page-leistungen .es-services-process,
body.shop-ernststein.page-leistungen .es-fachhandel-cta,
body.shop-ernststein.page-messen .es-fairs-hero,
body.shop-ernststein.page-messen .es-fairs-list,
body.shop-ernststein.page-messen .es-fachhandel-cta,
body.shop-ernststein.page-contact .es-contact-map,
body.shop-ernststein.page-contact .es-contact-cards,
body.shop-ernststein.page-contact .es-fachhandel-cta,
body.shop-ernststein.page-kontakt .es-contact-map,
body.shop-ernststein.page-kontakt .es-contact-cards,
body.shop-ernststein.page-kontakt .es-fachhandel-cta,
body.shop-ernststein.page-downloads .es-downloads-hero,
body.shop-ernststein.page-downloads .es-downloads,
body.shop-ernststein.page-download .es-downloads-hero,
body.shop-ernststein.page-download .es-downloads,
body.shop-ernststein[class*="page-welt"] .es-welt-hero,
body.shop-ernststein[class*="page-welt"] .es-welt-section,
body.shop-ernststein[class*="page-welt"] .es-welt-cta {
	background: transparent !important;
}


/** Schlankere Seitenauftakte fuer Download, Kontakt und Messen. **/
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-contact-intro {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 100%) !important;
	border-bottom: 1px solid rgba(246, 135, 18, 0.10);
}

.shop-ernststein .es-downloads-hero-content,
.shop-ernststein .es-fairs-hero-content,
.shop-ernststein .es-contact-intro-content {
	min-height: clamp(145px, 12vw, 190px) !important;
	padding-top: clamp(34px, 3.4vw, 48px) !important;
	padding-bottom: clamp(30px, 3.1vw, 44px) !important;
}

.shop-ernststein .es-downloads-hero .es-downloads-headline,
.shop-ernststein .es-downloads-headline,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-intro-headline {
	font-size: clamp(2.25rem, 3.35vw, 3.45rem);
	line-height: 1.07;
	margin: 8px 0 12px;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead,
.shop-ernststein .es-downloads-hero .es-downloads-lead p,
.shop-ernststein .es-fairs-lead,
.shop-ernststein .es-contact-intro-lead {
	max-width: 940px;
	font-size: clamp(1.08rem, 1.16vw, 1.22rem);
	line-height: 1.62;
	margin-top: 0;
}

.shop-ernststein .es-downloads-hero .es-downloads-lead p {
	margin-bottom: 0;
}

@media (max-width: 760px) {
	.shop-ernststein .es-downloads-hero-content,
	.shop-ernststein .es-fairs-hero-content,
	.shop-ernststein .es-contact-intro-content {
		min-height: 0 !important;
		padding-top: 38px !important;
		padding-bottom: 34px !important;
	}

	.shop-ernststein .es-downloads-hero .es-downloads-headline,
	.shop-ernststein .es-downloads-headline,
	.shop-ernststein .es-fairs-headline,
	.shop-ernststein .es-contact-intro-headline {
		font-size: clamp(2rem, 10vw, 2.75rem);
	}
}


/** ============================================================
 *  Typografie-Konsolidierung 05/2026
 *  Eine finale Skala fuer alle Ernst-Stein-Inhaltsseiten.
 *  - Cormorant: grosse redaktionelle Headlines
 *  - Raleway: Leads, Fliesstext, Karten und Navigation
 *  - DIN: kleine funktionale Labels, aber ohne wechselnde Groessen
 *  Diese Ebene steht bewusst am Dateiende und gewinnt gegen alte Einzelwerte.
 *  ============================================================ */
.shop-ernststein {
	--es-type-hero-home: 4.15rem;
	--es-type-page-title: 3.35rem;
	--es-type-section-title: 2.75rem;
	--es-type-card-title: 1.8rem;
	--es-type-small-title: 1.36rem;
	--es-type-lead: 1.18rem;
	--es-type-body: 1.06rem;
	--es-type-small: 0.92rem;
	--es-type-label: 0.82rem;
}

.shop-ernststein .es-welcome,
.shop-ernststein .es-worlds,
.shop-ernststein .es-signet,
.shop-ernststein .es-synthdia,
.shop-ernststein .es-fachhandel-cta,
.shop-ernststein .es-services-hero,
.shop-ernststein .es-services-overview,
.shop-ernststein .es-services-detail,
.shop-ernststein .es-services-specials,
.shop-ernststein .es-services-process,
.shop-ernststein .es-fairs-hero,
.shop-ernststein .es-fairs-list,
.shop-ernststein .es-contact-intro,
.shop-ernststein .es-contact-map,
.shop-ernststein .es-contact-cards,
.shop-ernststein .es-downloads-hero,
.shop-ernststein .es-downloads,
.shop-ernststein .es-welt-hero,
.shop-ernststein .es-welt-intro,
.shop-ernststein .es-welt-cta,
.shop-ernststein #Footer,
.shop-ernststein .MainNav .uk-navbar-nav > li > a {
	font-family: var(--es-font-brand) !important;
	font-size: var(--es-type-body) !important;
	line-height: 1.66;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-services-headline {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-hero-home) !important;
	line-height: 1.04;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-services-overview--intro .es-section-headline,
.shop-ernststein .es-downloads-headline,
.shop-ernststein .es-downloads-hero h1,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-intro-headline,
.shop-ernststein .es-welt-headline {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-page-title) !important;
	line-height: 1.08;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	margin-top: 8px;
	margin-bottom: 12px;
	text-wrap: balance;
}

.shop-ernststein .es-welcome-headline,
.shop-ernststein .es-worlds-headline,
.shop-ernststein .es-section-headline,
.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline,
.shop-ernststein .es-fachhandel-headline,
.shop-ernststein .es-services-specials-header h2,
.shop-ernststein .es-welt-subline {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-section-title) !important;
	line-height: 1.1;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-showcase-copy h3,
.shop-ernststein .es-services-spectrum-intro h3,
.shop-ernststein .es-services-working-copy h3,
.shop-ernststein .es-services-special h3,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-contact-block-headline,
.shop-ernststein .es-contact-phone-title,
.shop-ernststein .es-contact-worker-name,
.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle,
.shop-ernststein .es-world-title,
.shop-ernststein .es-fairs-card-name {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-card-title) !important;
	line-height: 1.15;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

.shop-ernststein .es-contact-phone-title,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle {
	font-size: var(--es-type-small-title) !important;
}

.shop-ernststein .es-section-lead,
.shop-ernststein .es-services-lead,
.shop-ernststein .es-downloads-lead,
.shop-ernststein .es-downloads-lead p,
.shop-ernststein .es-fairs-lead,
.shop-ernststein .es-contact-intro-lead,
.shop-ernststein .es-welt-hero-lead,
.shop-ernststein .es-welcome-text,
.shop-ernststein .es-worlds-lead,
.shop-ernststein .es-fachhandel-text,
.shop-ernststein .es-signet-lead,
.shop-ernststein .es-synthdia-lead {
	font-family: var(--es-font-brand) !important;
	font-size: var(--es-type-lead) !important;
	line-height: 1.66;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	color: var(--es-ink-soft);
}

.shop-ernststein .es-world-text,
.shop-ernststein .es-services-card p,
.shop-ernststein .es-services-showcase-copy p,
.shop-ernststein .es-services-spectrum-intro p,
.shop-ernststein .es-services-working-copy p,
.shop-ernststein .es-services-working-list p,
.shop-ernststein .es-services-special p,
.shop-ernststein .es-services-process-step p,
.shop-ernststein .es-contact-block-text,
.shop-ernststein .es-contact-phone-desc,
.shop-ernststein .es-contact-phone-list li,
.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-place-hours li,
.shop-ernststein .es-contact-worker-row dd,
.shop-ernststein .es-downloads-tree-item > a,
.shop-ernststein .es-downloads-card .ItemDescription,
.shop-ernststein .es-downloads-card .ItemDescription p,
.shop-ernststein .es-welt-intro-text p,
.shop-ernststein .es-welt-cta-text,
.shop-ernststein #Footer p,
.shop-ernststein #Footer li,
.shop-ernststein #Footer a {
	font-family: var(--es-font-brand) !important;
	font-size: var(--es-type-body) !important;
	line-height: 1.66;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta,
.shop-ernststein .es-services-kicker,
.shop-ernststein .es-services-special-kicker,
.shop-ernststein .es-services-spectrum-label,
.shop-ernststein .es-services-working-list span,
.shop-ernststein .es-services-showcase-facts dt,
.shop-ernststein .es-fairs-card-date-label,
.shop-ernststein .es-fairs-card-spec dt,
.shop-ernststein .es-downloads-section-kicker,
.shop-ernststein .es-downloads-sidebar h3,
.shop-ernststein .es-downloads-offcanvas h3,
.shop-ernststein .es-welt-spec-label,
.shop-ernststein .es-contact-place-type,
.shop-ernststein .es-world-arrow,
.shop-ernststein .es-btn {
	font-family: var(--es-font-din) !important;
	font-size: var(--es-type-label) !important;
	line-height: 1.35;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
}

.shop-ernststein .es-fairs-card-date-range,
.shop-ernststein .es-welcome-facts--inline .es-fact-num,
.shop-ernststein .es-services-showcase-label strong {
	font-family: var(--es-font-display) !important;
	font-size: 2.18rem !important;
	line-height: 1.08;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-welt-spec-val,
.shop-ernststein .es-contact-phone-num,
.shop-ernststein .es-contact-place-name,
.shop-ernststein .es-fairs-card-spec dd,
.shop-ernststein .es-services-showcase-facts dd,
.shop-ernststein .es-services-spectrum-row div span,
.shop-ernststein .es-downloads-card-action,
.shop-ernststein .MainNav .uk-navbar-nav > li > a {
	font-family: var(--es-font-brand) !important;
	font-size: var(--es-type-body) !important;
	line-height: 1.45;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein #Footer h2,
.shop-ernststein #Footer h3,
.shop-ernststein #Footer .head {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-small-title) !important;
	line-height: 1.18;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-services-working-list strong,
.shop-ernststein .es-worlds-grid .es-world:nth-child(n+3) .es-world-title {
	font-size: var(--es-type-small-title) !important;
}

.shop-ernststein .es-signet-features li,
.shop-ernststein .es-synthdia-features li,
.shop-ernststein .es-signet-note,
.shop-ernststein .es-synthdia-note {
	font-family: var(--es-font-brand) !important;
	font-size: var(--es-type-body) !important;
	line-height: 1.66;
	letter-spacing: 0 !important;
}

.shop-ernststein .es-downloads-hero-content,
.shop-ernststein .es-fairs-hero-content,
.shop-ernststein .es-contact-intro-content {
	min-height: 172px !important;
	padding-top: 40px !important;
	padding-bottom: 38px !important;
}

.shop-ernststein .es-section-header,
.shop-ernststein .es-worlds-header,
.shop-ernststein .es-services-specials-header,
.shop-ernststein .es-services-detail-header {
	margin-bottom: 48px;
}

@media (max-width: 900px) {
	.shop-ernststein {
		--es-type-hero-home: 3.2rem;
		--es-type-page-title: 2.55rem;
		--es-type-section-title: 2.2rem;
		--es-type-card-title: 1.58rem;
		--es-type-small-title: 1.28rem;
		--es-type-lead: 1.08rem;
		--es-type-body: 1rem;
	}

	.shop-ernststein .es-downloads-hero-content,
	.shop-ernststein .es-fairs-hero-content,
	.shop-ernststein .es-contact-intro-content {
		min-height: 0 !important;
		padding-top: 36px !important;
		padding-bottom: 34px !important;
	}
}


/** Typografie-Nachschaerfung: Akzente groesser, Inhalte lesbarer. **/
.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta {
	font-size: 1.12rem !important;
	line-height: 1.35;
	font-weight: 600 !important;
	color: var(--color-primary-shop, #f68712) !important;
}

.shop-ernststein .es-services-hero--home .es-eyebrow,
.shop-ernststein .es-home-slider-section .es-eyebrow {
	font-size: 1.18rem !important;
}

.shop-ernststein .es-services-kicker,
.shop-ernststein .es-services-special-kicker,
.shop-ernststein .es-services-showcase-label span,
.shop-ernststein .es-downloads-section-kicker {
	font-size: 1rem !important;
	line-height: 1.35;
	color: var(--color-primary-shop, #f68712) !important;
}

.shop-ernststein .es-services-hero--home .es-services-headline,
.shop-ernststein .es-services-hero--home .es-services-lead {
	color: #ffffff !important;
}

.shop-ernststein .es-services-hero--home .es-services-lead {
	font-size: 1.22rem !important;
	line-height: 1.72;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
}

.shop-ernststein .es-services-page-intro {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 100%);
	border-bottom: 1px solid rgba(246, 135, 18, 0.10);
}

.shop-ernststein .es-services-page-intro .es-section-header {
	box-sizing: border-box;
	max-width: min(1060px, 100%);
	min-height: 172px;
	padding: 40px 0 38px;
	margin: 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.shop-ernststein .es-services-page-intro .es-section-headline,
.shop-ernststein .es-services-overview--intro .es-section-headline,
.shop-ernststein .es-downloads-headline,
.shop-ernststein .es-downloads-hero h1,
.shop-ernststein .es-fairs-headline,
.shop-ernststein .es-contact-intro-headline {
	font-family: var(--es-font-display) !important;
	font-size: var(--es-type-page-title) !important;
	line-height: 1.08;
	font-weight: 500 !important;
	color: var(--es-ink) !important;
	margin: 8px 0 12px;
}

.shop-ernststein .es-services-page-intro .es-section-lead {
	max-width: 940px;
	margin-left: 0;
	margin-right: 0;
	font-size: 1.22rem !important;
	line-height: 1.62;
}

.shop-ernststein .es-services-overview--intro {
	padding-top: clamp(44px, 5vw, 72px) !important;
}

.shop-ernststein .es-services-card h3,
.shop-ernststein .es-services-showcase-copy h3,
.shop-ernststein .es-services-spectrum-intro h3,
.shop-ernststein .es-services-working-copy h3,
.shop-ernststein .es-services-special h3,
.shop-ernststein .es-services-process-step h3,
.shop-ernststein .es-contact-block-headline {
	font-size: 2.05rem !important;
	line-height: 1.14;
}

.shop-ernststein .es-services-card p,
.shop-ernststein .es-services-showcase-copy p,
.shop-ernststein .es-services-spectrum-intro p,
.shop-ernststein .es-services-working-copy p,
.shop-ernststein .es-services-working-list p,
.shop-ernststein .es-services-special p,
.shop-ernststein .es-services-process-step p,
.shop-ernststein .es-services-showcase-facts dd,
.shop-ernststein .es-services-spectrum-row div span {
	font-size: 1.22rem !important;
	line-height: 1.68;
}

.shop-ernststein .es-services-working-list strong {
	font-size: 1.72rem !important;
	line-height: 1.12;
}

.shop-ernststein .es-fairs-card-name {
	font-size: 2.45rem !important;
	line-height: 1.08;
}

.shop-ernststein .es-fairs-card-spec dd {
	font-size: 1.22rem !important;
	line-height: 1.55;
}

.shop-ernststein .es-contact-block-headline {
	font-size: 2.55rem !important;
}

.shop-ernststein .es-contact-block-text,
.shop-ernststein .es-contact-phone-desc,
.shop-ernststein .es-contact-phone-list li,
.shop-ernststein .es-contact-place-row dd,
.shop-ernststein .es-contact-place-hours li,
.shop-ernststein .es-contact-worker-row dd {
	font-size: 1.22rem !important;
	line-height: 1.66;
}

.shop-ernststein .es-contact-phone-num,
.shop-ernststein .es-contact-place-name {
	font-size: 1.32rem !important;
	line-height: 1.42;
}

@media (max-width: 900px) {
	.shop-ernststein .es-eyebrow,
	.shop-ernststein .es-welcome-meta {
		font-size: 1rem !important;
	}

	.shop-ernststein .es-services-page-intro .es-section-header {
		min-height: 0;
		padding-top: 36px;
		padding-bottom: 34px;
	}

	.shop-ernststein .es-services-card h3,
	.shop-ernststein .es-services-showcase-copy h3,
	.shop-ernststein .es-services-spectrum-intro h3,
	.shop-ernststein .es-services-working-copy h3,
	.shop-ernststein .es-services-special h3,
	.shop-ernststein .es-services-process-step h3,
	.shop-ernststein .es-contact-block-headline,
	.shop-ernststein .es-fairs-card-name {
		font-size: 1.65rem !important;
	}
}


/** Feinabstimmung: Akzenttypografie, Startseiten-Spezials, Tabellen und CTA-Abschluss. **/
.shop-ernststein .es-eyebrow,
.shop-ernststein .es-welcome-meta,
.shop-ernststein .es-services-kicker,
.shop-ernststein .es-services-special-kicker,
.shop-ernststein .es-services-showcase-label span,
.shop-ernststein .es-downloads-section-kicker {
	font-family: var(--es-font-brand) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	word-spacing: 0.12em;
}

.shop-ernststein .es-services-hero--home .es-eyebrow,
.shop-ernststein .es-home-slider-section .es-eyebrow {
	font-weight: 400 !important;
}

.shop-ernststein .es-signet-headline,
.shop-ernststein .es-synthdia-headline {
	font-size: 3.35rem !important;
	line-height: 1.06;
}

.shop-ernststein .es-signet-lead,
.shop-ernststein .es-synthdia-lead {
	font-size: 1.28rem !important;
	line-height: 1.72;
}

.shop-ernststein .es-signet-features li,
.shop-ernststein .es-synthdia-features li {
	font-size: 1.16rem !important;
	line-height: 1.64;
}

.shop-ernststein .es-signet-note,
.shop-ernststein .es-synthdia-note {
	font-size: 1.06rem !important;
	line-height: 1.66;
}

.shop-ernststein .es-services-page-intro .es-section-header {
	min-height: 128px;
	padding-top: 26px;
	padding-bottom: 24px;
}

.shop-ernststein .es-services-page-intro .es-section-lead {
	font-size: 1.14rem !important;
	line-height: 1.56;
}

.shop-ernststein .es-services-spectrum {
	grid-template-columns: minmax(280px, 0.32fr) minmax(0, 1fr) !important;
	gap: clamp(30px, 4vw, 56px);
	padding: clamp(40px, 4.8vw, 62px);
}

.shop-ernststein .es-services-spectrum-intro h3 {
	font-size: 2.55rem !important;
	line-height: 1.08;
}

.shop-ernststein .es-services-spectrum-intro p {
	font-size: 1.12rem !important;
	line-height: 1.62;
}

.shop-ernststein .es-services-spectrum-row {
	grid-template-columns: minmax(170px, 0.22fr) minmax(0, 1fr) !important;
	gap: clamp(18px, 2.2vw, 30px);
	padding: clamp(20px, 2.3vw, 28px) 0;
}

.shop-ernststein .es-services-spectrum-row div {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
	gap: 16px 26px;
	min-width: 0;
}

.shop-ernststein .es-services-spectrum-row div span {
	display: block;
	min-width: 0;
	max-width: 100%;
	font-size: 1.1rem !important;
	line-height: 1.35;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

.shop-ernststein .es-downloads-card h2,
.shop-ernststein .es-downloads-card .ItemTitle {
	font-size: 1.72rem !important;
	line-height: 1.16;
}

body.shop-ernststein.page-contact .es-fachhandel-cta,
body.shop-ernststein.page-kontakt .es-fachhandel-cta,
body.shop-ernststein.page-messen .es-fachhandel-cta,
body.shop-ernststein.page-services .es-fachhandel-cta,
body.shop-ernststein.page-leistungen .es-fachhandel-cta {
	position: relative;
	background:
		linear-gradient(135deg, rgba(38, 18, 7, 0.98) 0%, rgba(63, 32, 13, 0.96) 100%) !important;
	color: #ffffff;
	border-top: 2px solid rgba(246, 135, 18, 0.76);
	border-bottom: 1px solid rgba(246, 135, 18, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.shop-ernststein.page-contact .es-fachhandel-cta::before,
body.shop-ernststein.page-kontakt .es-fachhandel-cta::before,
body.shop-ernststein.page-messen .es-fachhandel-cta::before,
body.shop-ernststein.page-services .es-fachhandel-cta::before,
body.shop-ernststein.page-leistungen .es-fachhandel-cta::before {
	opacity: 0.18;
}

body.shop-ernststein.page-contact .es-fachhandel-headline,
body.shop-ernststein.page-kontakt .es-fachhandel-headline,
body.shop-ernststein.page-messen .es-fachhandel-headline,
body.shop-ernststein.page-services .es-fachhandel-headline,
body.shop-ernststein.page-leistungen .es-fachhandel-headline {
	color: #ffffff !important;
}

body.shop-ernststein.page-contact .es-fachhandel-text,
body.shop-ernststein.page-kontakt .es-fachhandel-text,
body.shop-ernststein.page-messen .es-fachhandel-text,
body.shop-ernststein.page-services .es-fachhandel-text,
body.shop-ernststein.page-leistungen .es-fachhandel-text {
	color: rgba(255, 255, 255, 0.82) !important;
}

@media (max-width: 900px) {
	.shop-ernststein .es-signet-headline,
	.shop-ernststein .es-synthdia-headline {
		font-size: 2.45rem !important;
	}

	.shop-ernststein .es-services-page-intro .es-section-header {
		min-height: 0;
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.shop-ernststein .es-services-spectrum,
	.shop-ernststein .es-services-spectrum-row {
		grid-template-columns: 1fr !important;
	}
}
