/*
 * Marketing-Sections (Layout-treu nach additional/layout/index.html, about.html etc.)
 *
 * Cats / Cat-Grid / Partner-Strip / Rel-Grid / Pillar-Grid (HWW) /
 * Stats-Band / Timeline / Newsletter-Section.
 */

/* ─── CATEGORIES (Front-Page) ─── */

.cats {
	padding: var(--ln-section-pad) 0;
	background: var(--ln-white);
}

.cats-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	margin-bottom: 48px;
}

.cats-intro-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.ci-desc {
	font-size: 16px;
	color: var(--ln-mid);
	line-height: 1.7;
}

/* Subheadline unter der Intro-Überschrift (linke Spalte). */
.ci-sub {
	font-size: 15px;
	color: var(--ln-mid);
	line-height: 1.6;
	margin: 10px 0 0;
	max-width: 560px;
}

.cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--ln-border);
}

.cat-cell {
	position: relative;
	overflow: hidden;
	height: 280px;
	border: 1px solid var(--ln-border);
	margin: -1px 0 0 -1px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transition: all 0.3s;
	cursor: pointer;
	text-decoration: none;
}

.cat-cell:hover {
	transform: scale(1.02);
	z-index: 2;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

.cat-cell-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s;
}

.cat-cell:hover .cat-cell-bg {
	transform: scale(1.06);
}

.cat-cell-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.1) 100%);
}

.cat-cell-content {
	position: relative;
	z-index: 1;
	padding: 24px;
}

.cat-cell-name {
	font-size: 22px;
	font-weight: 800;
	color: var(--ln-white);
	margin-bottom: 12px;
	line-height: 1.2;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* Optionale Subheadline pro Cell (unter dem Namen). 2-Zeilen-Clamp gegen Überlänge. */
.cat-cell-sub {
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.45;
	margin-bottom: 12px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Toggle „Pfeil-Button hinter dem Namen": CTA-Kasten inline am Cell-Namen. */
.cat-cell-name--arrow {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cat-cell-name--arrow .cat-lm-btn {
	margin-left: 0;
	flex: 0 0 auto;
}

.cat-lm {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.85);
}

.cat-lm-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--ln-primary);
	color: var(--ln-white);
	margin-left: 10px;
	transition: background 0.2s;
}

.cat-cell:hover .cat-lm-btn {
	background: var(--ln-primary-dark);
}

@media (max-width: 768px) {
	.cats-intro {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.cat-grid {
		grid-template-columns: 1fr;
	}
}

/* ─── PARTNERS (Endless-Scroll) ─── */

.partners {
	padding: 44px 0;
	background: var(--ln-white);
	border-top: 1px solid var(--ln-border);
	border-bottom: 1px solid var(--ln-border);
	overflow: hidden;
}

.p-label {
	max-width: var(--ln-container-max);
	margin: 0 auto 24px;
	padding: 0 var(--ln-container-pad);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--ln-mid);
	text-align: center;
}

.p-track {
	overflow: hidden;
}

.p-scroll {
	display: flex;
	gap: 72px;
	animation: ln-scrollx 30s linear infinite;
	min-width: max-content;
	align-items: center;
}

.p-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 54px;
	flex-shrink: 0;
}

.p-logo img {
	height: 100%;
	width: auto;
	object-fit: contain;
	filter: grayscale(1) opacity(0.6);
	transition: filter 0.2s;
}

.p-logo:hover img {
	filter: none;
}

@keyframes ln-scrollx {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ─── REL-GRID ─── */

.rel-sec {
	padding: var(--ln-section-pad) 0;
	background: var(--ln-white);
}

.rel-head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	margin-bottom: 48px;
}

.rel-head h2 {
	font-size: clamp(28px, 4vw, 42px);
	letter-spacing: -1px;
	color: var(--ln-dark);
}

.rel-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid var(--ln-border);
}

.rel-col {
	padding: 40px 36px;
	border-right: 1px solid var(--ln-border);
	position: relative;
}

.rel-col:last-child {
	border-right: none;
}

.rel-col::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--ln-primary);
	opacity: 0;
	transition: opacity 0.2s;
}

.rel-col:hover::before {
	opacity: 1;
}

.rel-col-num {
	font-size: 48px;
	font-weight: 900;
	color: rgba(255, 134, 0, 0.15);
	line-height: 1;
	margin-bottom: 20px;
	letter-spacing: -2px;
}

.rel-col-h {
	font-size: 17px;
	font-weight: 800;
	color: var(--ln-dark);
	margin-bottom: 12px;
}

.rel-col-p {
	font-size: 13px;
	color: var(--ln-mid);
	line-height: 1.75;
}

.rel-cta {
	margin-top: 40px;
	text-align: center;
}

@media (max-width: 768px) {
	.rel-head {
		grid-template-columns: 1fr;
	}
	.rel-grid {
		grid-template-columns: 1fr;
	}
	.rel-col {
		border-right: none;
		border-bottom: 1px solid var(--ln-border);
	}
	.rel-col:last-child {
		border-bottom: none;
	}
}

/* ─── PILLAR-GRID (HWW Dark) ─── */

.hww {
	background: var(--ln-dark);
	color: var(--ln-white);
	padding: var(--ln-section-pad) 0;
}

.hww-inner {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 60px;
	align-items: center;
}

.hww-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--ln-primary);
	margin-bottom: 16px;
}

.hww-h {
	font-size: clamp(32px, 4vw, 42px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -1px;
	color: var(--ln-white);
	margin-bottom: 16px;
}

.hww-h span {
	color: var(--ln-primary);
}

.hww-sub {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.7;
}

.pillars {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: rgba(255, 255, 255, 0.08);
}

.pillar {
	background: var(--ln-dark);
	padding: 36px 32px;
	transition: background 0.25s;
}

.pillar:hover {
	background: #282828;
}

.p-num {
	font-size: 56px;
	font-weight: 900;
	color: var(--ln-primary);
	line-height: 1;
	margin-bottom: 16px;
	letter-spacing: -2px;
	opacity: 0.8;
}

.p-ttl {
	font-size: 18px;
	font-weight: 800;
	margin-bottom: 12px;
	color: var(--ln-white);
}

.p-txt {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.7;
}

@media (max-width: 1024px) {
	.hww-inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.pillars {
		grid-template-columns: 1fr;
	}
}

/* ─── STATS-BAND ─── */

.stats-band {
	padding: 60px 0;
}

.stats-band--dark {
	background: var(--ln-dark);
	color: var(--ln-white);
}

.stats-band--light {
	background: var(--ln-light);
}

.stats-band__grid {
	display: grid;
	/* Spaltenzahl = Item-Anzahl (vom Widget via --ln-sb-cols gesetzt). */
	grid-template-columns: repeat(var(--ln-sb-cols, 4), 1fr);
	gap: 24px;
	text-align: center;
}

.stats-band .stat-item {
	min-width: 0;
}

.stat-num {
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 900;
	line-height: 1;
	color: var(--ln-primary);
	letter-spacing: -1.5px;
	margin-bottom: 8px;
}

.stat-lbl {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ln-mid);
}

.stats-band--dark .stat-lbl {
	color: rgba(255, 255, 255, 0.5);
}

/* ── Variante »Orange« (Layout-treu zu additional/layout/catalogue.html) ──
   Self-contained: das Widget rendert den .stats-band--orange-Wrapper selbst,
   das CSS liegt global hier — funktioniert auf jeder Seite ohne page-*.css. */
.stats-band--orange {
	background: var(--ln-primary);
	padding: 0;
}
.stats-band--orange .stats-band__grid {
	gap: 0;
	text-align: center;
}
.stats-band--orange .stat-item {
	padding: 64px 40px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.stats-band--orange .stat-item:last-child {
	border-right: none;
}
.stats-band--orange .stat-num {
	font-size: 72px;
	color: var(--ln-white);
	letter-spacing: -2px;
	margin-bottom: 10px;
}
.stats-band--orange .stat-lbl {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75);
	letter-spacing: 2px;
}

@media (max-width: 768px) {
	.stats-band__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.stats-band--orange .stats-band__grid {
		grid-template-columns: 1fr;
	}
	.stats-band--orange .stat-item {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		padding: 40px 24px;
	}
	.stats-band--orange .stat-item:last-child {
		border-bottom: none;
	}
	.stats-band--orange .stat-num {
		font-size: 56px;
	}
}

/* ─── TIMELINE — moved to Plugin-Widget CSS-Bundle (v2.16.6).
   Siehe: plugins/ln-tweaks/assets/css/widgets/timeline.css ─── */

/* ─── NEWSLETTER-INLINE-SECTION (Layout-treu zu additional/layout/index.html) ─── */

.nl-section { background: var(--ln-dark); padding: 80px 0; }
.nl-sec-wrap { max-width: 1600px; margin: 0 auto; padding: 0 80px; }
.nl-sec-inner { max-width: 720px; margin: 0 auto; text-align: center; }
.nl-sec-label { font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--ln-primary); margin-bottom: 10px; }
.nl-sec-title { font-size: 36px; font-weight: 700; color: var(--ln-white); line-height: 1.2; margin-bottom: 12px; }
.nl-sec-title span { color: var(--ln-primary); }
.nl-sec-sub { font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.6; margin-bottom: 28px; }
.nl-sec-field-lbl { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 8px; }
.nl-sec-email-row { display: flex; max-width: 480px; margin: 0 auto; }
.nl-sec-email { flex: 1; height: 50px; padding: 0 16px; border: 1.5px solid rgba(255,255,255,.15); border-right: none; border-radius: 2px 0 0 2px; font-family: inherit; font-size: 14px; color: var(--ln-white); background: rgba(255,255,255,.07); outline: none; transition: border-color .18s; }
.nl-sec-email::placeholder { color: rgba(255,255,255,.3); }
.nl-sec-email:focus { border-color: var(--ln-primary); }
.nl-sec-btn { height: 50px; padding: 0 22px; background: var(--ln-primary); border: none; border-radius: 0 2px 2px 0; font-family: inherit; font-size: 13px; font-weight: 700; color: var(--ln-white); cursor: pointer; display: flex; align-items: center; gap: 8px; white-space: nowrap; transition: background .18s; }
.nl-sec-btn:hover { background: var(--ln-primary-dark); }
.nl-sec-privacy { font-size: 12px; color: rgba(255,255,255,.4); text-align: center; margin-top: 12px; line-height: 1.5; }
.nl-sec-privacy a { color: rgba(255,255,255,.55); text-decoration: underline; }
.nl-sec-warn { display: none; align-items: center; gap: 8px; max-width: 480px; margin: 8px auto 0; font-size: 12px; color: var(--ln-primary); font-weight: 600; }
.nl-sec-cat-label { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255,255,255,.45); margin: 28px 0 12px; }
.nl-sec-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.nl-sec-cat { position: relative; height: 120px; border-radius: 2px; overflow: hidden; cursor: pointer; user-select: none; border: 2px solid transparent; transition: border-color .18s, transform .2s; }
.nl-sec-cat:hover { border-color: rgba(255,255,255,.3); transform: translateY(-1px); }
.nl-sec-cat.selected, .nl-sec-cat.is-selected { border-color: var(--ln-primary); }
.nl-sec-cat-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .4s; }
.nl-sec-cat:hover .nl-sec-cat-bg { transform: scale(1.06); }
.nl-sec-cat-ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.22) 100%); }
.nl-sec-cat.selected .nl-sec-cat-ov, .nl-sec-cat.is-selected .nl-sec-cat-ov { background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(255,134,0,.18) 100%); }
.nl-sec-chk { position: absolute; top: 8px; right: 8px; width: 18px; height: 18px; border-radius: 2px; border: 1.5px solid rgba(255,255,255,.5); background: rgba(0,0,0,.3); display: flex; align-items: center; justify-content: center; transition: border-color .18s, background .18s; z-index: 1; }
.nl-sec-cat.selected .nl-sec-chk, .nl-sec-cat.is-selected .nl-sec-chk { border-color: var(--ln-primary); background: var(--ln-primary); }
.nl-sec-chk svg { display: none; }
.nl-sec-cat.selected .nl-sec-chk svg, .nl-sec-cat.is-selected .nl-sec-chk svg { display: block; }
.nl-sec-cat-txt { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 12px; z-index: 1; text-align: left; }
.nl-sec-cat-name { font-size: 13px; font-weight: 700; color: var(--ln-white); line-height: 1.2; }
.nl-sec-cat-desc { font-size: 11px; color: rgba(255,255,255,.65); margin-top: 2px; }

.nl-sec-status { min-height: 16px; font-size: 12px; margin-top: 8px; text-align: center; }
.nl-sec-status.is-success { color: #16a34a; }
.nl-sec-status.is-error { color: #dc2626; }

@media (max-width: 900px) { .nl-sec-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .nl-sec-wrap { padding: 0 24px; } .nl-section { padding: 52px 0; } .nl-sec-title { font-size: 26px; } }

/* ─── LANGUAGE-SWITCHER ─── */

.ln-langswitch__list {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ln-langswitch__item a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: inherit;
	text-decoration: none;
	border-radius: var(--ln-radius-sm);
	transition: all 0.18s;
}

.ln-langswitch__item a:hover {
	background: rgba(127, 127, 127, 0.12);
}

.ln-langswitch__item.is-current a {
	background: var(--ln-primary);
	color: var(--ln-white);
}

.ln-langswitch__sep {
	font-size: 11px;
	opacity: 0.4;
	pointer-events: none;
}

.ln-langswitch__flag {
	width: 16px;
	height: auto;
	display: block;
}

.ln-langswitch__select {
	padding: 6px 10px;
	border: 1px solid var(--ln-border);
	border-radius: var(--ln-radius-sm);
	font-size: 12px;
	background: var(--ln-white);
	color: var(--ln-dark);
}

/* Header-Variante (dunkler BG) */
.hdr-lang .ln-langswitch__item a {
	color: rgba(255, 255, 255, 0.75);
}

.hdr-lang .ln-langswitch__item a:hover {
	background: rgba(255, 255, 255, 0.12);
	color: var(--ln-white);
}

.hdr-lang .ln-langswitch__item.is-current a {
	background: rgba(255, 255, 255, 0.18);
	color: var(--ln-white);
}

/* ═══════════════════════════════════════════════════════════════
   CONTACT-PAGE — migriert aus page-contact.css (Phase 1b).
   Section-Wrapper + Layout + widget-interne page-exklusive Styles.
   (.page-hero/.ph-* ausgelassen: vom Plugin-Widget ln-page-hero abgedeckt.)
   ═══════════════════════════════════════════════════════════════ */
/* Contact Section */
.contact-section { background: var(--ln-white); padding: 80px 0; }
.contact-section .contact-grid { display: grid; grid-template-columns: 1fr 420px; gap: 80px; align-items: start; max-width: 1600px; margin: 0 auto; padding: 0 80px; }
.contact-section .form-h { font-size: 28px; font-weight: 900; letter-spacing: -.5px; margin-bottom: 8px; color: var(--ln-dark); }
.contact-section .form-sub { font-size: 14px; color: var(--ln-mid); line-height: 1.65; margin-bottom: 36px; }
.contact-section .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.contact-section .form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.contact-section .form-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--ln-dark); }
.contact-section .form-input,
.contact-section .form-select,
.contact-section .form-textarea {
	padding: 12px 14px; border: 1px solid var(--ln-border); background: var(--ln-white);
	font-family: inherit; font-size: 13px; color: var(--ln-dark); outline: none; transition: border-color .18s; border-radius: 0;
}
.contact-section .form-input:focus,
.contact-section .form-select:focus,
.contact-section .form-textarea:focus { border-color: var(--ln-primary); }
.contact-section .form-input::placeholder,
.contact-section .form-textarea::placeholder { color: #bbb; }
.contact-section .form-textarea { resize: vertical; min-height: 120px; }
.contact-section .form-select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.contact-section .form-check { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 24px; }
.contact-section .form-check input { margin-top: 2px; accent-color: var(--ln-primary); flex-shrink: 0; }
.contact-section .form-check label { font-size: 12px; color: var(--ln-mid); line-height: 1.55; }
.contact-section .form-check label a { color: var(--ln-primary); text-decoration: underline; }
.contact-section .btn-submit { width: 100%; padding: 16px; background: var(--ln-primary); color: var(--ln-white); font-family: inherit; font-size: 15px; font-weight: 700; border: none; cursor: pointer; transition: background .2s; display: flex; align-items: center; justify-content: center; gap: 8px; }
.contact-section .btn-submit:hover { background: var(--ln-primary-dark); }

.contact-section .contact-sidebar { display: flex; flex-direction: column; gap: 24px; }
.contact-section .contact-card { background: var(--ln-light); border: 1px solid var(--ln-border); border-left: 3px solid var(--ln-primary); padding: 28px; }
.contact-section .card-h { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: var(--ln-dark); margin-bottom: 20px; }
.contact-section .contact-item { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.contact-section .contact-item:last-child { margin-bottom: 0; }
.contact-section .contact-icon { width: 38px; height: 38px; background: rgba(255,134,0,.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-section .contact-icon svg { color: var(--ln-primary); }
.contact-section .contact-detail-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: #808080; margin-bottom: 3px; }
.contact-section .contact-detail-val { font-size: 13px; font-weight: 600; color: var(--ln-dark); line-height: 1.5; }
.contact-section .contact-detail-val a { color: var(--ln-primary); }
.contact-section .contact-detail-val a:hover { text-decoration: underline; }
.contact-section .social-row { display: flex; gap: 8px; margin-top: 4px; }
.contact-section .soc-link { width: 36px; height: 36px; border-radius: 2px; background: var(--ln-white); border: 1px solid var(--ln-border); display: flex; align-items: center; justify-content: center; color: var(--ln-mid); transition: all .2s; }
.contact-section .soc-link:hover { background: var(--ln-primary); border-color: var(--ln-primary); color: var(--ln-white); }
@media (max-width: 768px) {
	.contact-section .contact-grid { grid-template-columns: 1fr; gap: 40px; padding: 0 20px; }
	.contact-section .form-row { grid-template-columns: 1fr; }
}

/* Team Image */
.contact-team-wrap { line-height: 0; max-width: 1600px; margin: 0 auto; padding: 0 80px; }
.contact-team-wrap img { width: 100%; height: auto; display: block; }
@media (max-width: 768px) { .contact-team-wrap { padding: 0 20px; } }

/* Map */
.map-section { background: var(--ln-light); padding: 0; }
.map-section .map-frame { width: 100%; height: 360px; background: #e8e8e8; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; border-top: 1px solid var(--ln-border); border-bottom: 1px solid var(--ln-border); }
.map-section .map-icon { opacity: .3; }
.map-section .map-note { font-size: 13px; color: #808080; }
.map-section .map-addr { font-size: 15px; font-weight: 700; color: var(--ln-dark); }

/* FAQ (mirror of page-service FAQ) */
.faq { background: var(--ln-white); padding: 80px 0; }
.faq .wrap { max-width: 1600px; margin: 0 auto; padding: 0 80px; }
.faq .faq-hd { margin-bottom: 48px; }
.faq .s-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 3px; color: var(--ln-primary); margin-bottom: 10px; }
.faq .s-h { font-size: 38px; font-weight: 900; letter-spacing: -1px; line-height: 1.05; color: var(--ln-dark); }
.faq .faq-cats { display: flex; gap: 0; border-bottom: 2px solid var(--ln-border); margin-bottom: 40px; overflow-x: auto; }
.faq .faq-tab { padding: 12px 24px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; color: #808080; transition: all .2s; background: none; font-family: inherit; white-space: nowrap; flex-shrink: 0; }
.faq .faq-tab.active { color: var(--ln-primary); border-bottom-color: var(--ln-primary); }
.faq .faq-tab:hover { color: var(--ln-dark); }
.faq .faq-panel { display: none; }
.faq .faq-panel.active { display: block; }
.faq .faq-list { display: flex; flex-direction: column; }
.faq .faq-item { border-bottom: 1px solid var(--ln-border); }
.faq .faq-q { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; cursor: pointer; font-size: 15px; font-weight: 700; color: var(--ln-dark); gap: 20px; transition: color .2s; user-select: none; }
.faq .faq-q:hover { color: var(--ln-primary); }
.faq .faq-icon { width: 30px; height: 30px; background: var(--ln-light); border: 1px solid var(--ln-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 1px; transition: all .25s; }
.faq .faq-item.open .faq-icon { background: var(--ln-primary); border-color: var(--ln-primary); transform: rotate(45deg); }
.faq .faq-item.open .faq-icon svg { stroke: var(--ln-white); }
.faq .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq .faq-item.open .faq-a { max-height: 800px; }
.faq .faq-a-inner { font-size: 14px; color: var(--ln-mid); line-height: 1.8; border-left: 3px solid var(--ln-primary); padding: 0 0 24px 18px; }
.faq .faq-a-inner a { color: var(--ln-primary); }
@media (max-width: 768px) {
	.faq .faq-tab { padding: 10px 16px; font-size: 10px; }
	.faq .faq-q { font-size: 14px; padding: 18px 0; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME-PAGE — migriert aus page-home.css (Phase 1b).
   Theme-Widget-CSS (.cats-partner-img / .feat-* / .pc-* / .rel-*),
   alle page-namespaced/scoped → kollisionsfrei global (Stats-Band-Muster).
   ═══════════════════════════════════════════════════════════════ */
/* CATS-Partner-Image */
.cats-partner-img {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.cats-partner-img img {
	max-width: 260px;
	width: 100%;
	height: auto;
}
@media (max-width: 768px) {
	.cats-partner-img img { max-width: 190px; }
}

/* Trending Products (.feat-hd) */
.feat-hd {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 36px;
}
.feat-hd .s-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--ln-primary);
	margin-bottom: 10px;
}
.feat-hd .s-h {
	font-size: 38px;
	font-weight: 900;
	letter-spacing: -1px;
	line-height: 1.05;
	color: var(--ln-dark);
}
.feat-hd .view-all {
	font-size: 13px;
	font-weight: 700;
	color: var(--ln-mid);
	transition: color 0.2s;
}
.feat-hd .view-all:hover { color: var(--ln-primary); }
@media (max-width: 768px) {
	.feat-hd { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* Trending Products Grid + Cards */
.feat .prod-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.feat .pc {
	display: flex;
	flex-direction: column;
	background: var(--ln-white);
	border: 1px solid var(--ln-border);
	transition: all 0.2s;
	text-decoration: none;
	color: inherit;
}
.feat .pc:hover {
	border-color: var(--ln-primary);
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.feat .pc-img {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ln-white);
	position: relative;
}
.feat .pc-img > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.3s;
}
.feat .pc-img-hover {
	position: absolute;
	inset: 0;
	opacity: 0;
}
.feat .pc:hover .pc-img-hover { opacity: 1; }
.feat .pc-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	background: var(--ln-primary);
	color: var(--ln-white);
	z-index: 2;
}
.feat .pc-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.feat .pc-brand {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ln-primary);
}
.feat .pc-name {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--ln-dark);
	min-height: 39px;
}
.feat .pc-lm {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	border-top: 1px solid var(--ln-border);
	font-size: 13px;
	font-weight: 700;
	color: var(--ln-mid);
}
.feat .pc-lm-btn {
	width: 24px;
	height: 24px;
	background: rgba(255, 134, 0, 0.1);
	color: var(--ln-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}
.feat .pc:hover .pc-lm-btn {
	background: var(--ln-primary);
	color: var(--ln-white);
}
.feat .pc-inquiry-btn {
	margin-top: 8px;
	padding: 9px 14px;
	background: transparent;
	border: 1.5px solid var(--ln-dark);
	color: var(--ln-dark);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: all 0.2s;
	font-family: inherit;
}
.feat .pc-inquiry-btn:hover {
	background: var(--ln-dark);
	color: var(--ln-white);
}
.feat .pc-inquiry-btn.added {
	background: var(--ln-primary);
	border-color: var(--ln-primary);
	color: var(--ln-white);
}
@media (max-width: 1024px) {
	.feat .prod-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.feat .prod-grid { grid-template-columns: 1fr; }
}

/* REL-Section (3-Col Numbered) */
.rel-sec .rel-head {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 60px;
	align-items: end;
	margin-bottom: 48px;
}
.rel-sec .rel-head-right {
	font-size: 15px;
	color: var(--ln-mid);
	line-height: 1.75;
	padding-bottom: 4px;
}
.rel-sec .rel-cta {
	margin-top: 40px;
	display: flex;
	justify-content: flex-end;
}
@media (max-width: 768px) {
	.rel-sec .rel-head { grid-template-columns: 1fr; gap: 16px; }
	.rel-sec .rel-cta { justify-content: flex-start; }
}

/* Achievements 3-Big-Numbers: Styling jetzt global in sections.css (.stats-band--orange) — Stats-Band-Widget rendert die Klasse selbst. */

/* ═══════════════════════════════════════════════════════════════
   TRAINING-SYSTEMS-PAGE — migriert aus page-training-systems.css (Phase 1b).
   Section-Wrapper (.ts-hero/.systems-section/.compare-banner/
   .compare-table-section/.ts-cta-section) + section-scoped Widget-Overrides.
   Alle Regeln unter eindeutiger Section-Klasse → kollisionsfrei global.
   ═══════════════════════════════════════════════════════════════ */
/* Page Hero */
.ts-hero { background: var(--ln-dark); color: var(--ln-white); padding: 64px 0 56px; position: relative; overflow: hidden; }
.ts-hero::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 45%; background: linear-gradient(135deg, transparent 0%, rgba(255,134,0,.06) 100%); pointer-events: none; }
.ts-hero .ph-inner { max-width: 1600px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
.ts-hero .ph-chip { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; color: var(--ln-primary); margin-bottom: 14px; display: inline-flex; align-items: center; gap: 8px; }
.ts-hero .ph-chip::before { content: ''; display: inline-block; width: 24px; height: 2px; background: var(--ln-primary); }
.ts-hero .ph-title { font-size: 44px; font-weight: 900; margin-bottom: 18px; line-height: 1.05; letter-spacing: -1.5px; color: var(--ln-white); }
.ts-hero .ph-title span { color: var(--ln-primary); }
.ts-hero .ph-sub { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.75; max-width: 480px; }
.ts-hero .ph-stats { display: flex; gap: 40px; }
.ts-hero .ph-stat-num { font-size: 36px; font-weight: 900; color: var(--ln-white); letter-spacing: -1px; line-height: 1; }
.ts-hero .ph-stat-num span { color: var(--ln-primary); }
.ts-hero .ph-stat-lbl { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 5px; }
.ts-hero .ph-stat-divider { width: 1px; background: rgba(255,255,255,.1); align-self: stretch; }
@media (max-width: 1024px) { .ts-hero .ph-inner { padding: 0 32px; gap: 48px; } }
@media (max-width: 768px) { .ts-hero .ph-inner { padding: 0 20px; grid-template-columns: 1fr; gap: 32px; } .ts-hero .ph-title { font-size: 32px; } }

/* Systems Grid */
.systems-section { padding: 80px 0; background: var(--ln-white); }
.systems-section .systems-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--ln-border); border: 1px solid var(--ln-border); max-width: 1600px; margin: 0 auto; }
.systems-section .sys-card { background: var(--ln-white); display: flex; flex-direction: column; transition: all .25s; cursor: pointer; position: relative; overflow: hidden; }
.systems-section .sys-card:hover { z-index: 2; box-shadow: 0 8px 40px rgba(0,0,0,.14); }
.systems-section .sys-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--ln-primary); transform: scaleX(0); transform-origin: left; transition: transform .3s; z-index: 1; }
.systems-section .sys-card:hover::before { transform: scaleX(1); }
.systems-section .sys-img { aspect-ratio: 4/3; background: #f0f0f0; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; flex-shrink: 0; }
.systems-section model-viewer.sys-model-viewer { width: 100%; height: 100%; position: absolute; inset: 0; --progress-bar-color: #FF8600; --progress-mask: none; }
.systems-section .sys-img-badge { position: absolute; top: 16px; left: 16px; background: var(--ln-dark); color: var(--ln-white); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; padding: 4px 10px; border-radius: 1px; z-index: 2; }
.systems-section .sys-body { padding: 28px 28px 24px; display: flex; flex-direction: column; flex: 1; }
.systems-section .sys-tagline { font-size: 12px; color: var(--ln-primary); font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 14px; }
.systems-section .sys-name { font-size: 20px; font-weight: 800; color: var(--ln-dark); margin-bottom: 8px; line-height: 1.2; }
.systems-section .sys-desc { font-size: 13.5px; color: var(--ln-mid); line-height: 1.7; margin-bottom: 20px; }
.systems-section .sys-features { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; flex: 1; }
.systems-section .sys-features li { display: flex; align-items: flex-start; gap: 10px; font-size: 12.5px; color: var(--ln-mid); line-height: 1.5; }
.systems-section .sys-features li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ln-primary); flex-shrink: 0; margin-top: 5px; }
.systems-section .sys-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--ln-border); }
.systems-section .sys-cta { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; background: var(--ln-primary); color: var(--ln-white); font-size: 12.5px; font-weight: 800; border-radius: 2px; transition: background .2s; border: none; cursor: pointer; font-family: inherit; text-decoration: none; }
.systems-section .sys-cta:hover { background: var(--ln-primary-dark); }
@media (max-width: 1024px) { .systems-section .systems-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .systems-section .systems-grid { grid-template-columns: 1fr; } }

/* Compare Banner */
.compare-banner { background: var(--ln-light); border-top: 1px solid var(--ln-border); border-bottom: 1px solid var(--ln-border); padding: 48px 0; }
.compare-banner .compare-inner,
.compare-banner .cta-inner,
.compare-banner .ln-tweaks-cta__inner { max-width: 1600px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.compare-banner .compare-label,
.compare-banner .cta-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; color: var(--ln-primary); margin-bottom: 10px; }
.compare-banner .compare-h,
.compare-banner .cta-h { font-size: 28px; font-weight: 900; color: var(--ln-dark); margin-bottom: 10px; letter-spacing: -.5px; }
.compare-banner .compare-sub,
.compare-banner .cta-p { font-size: 14px; color: var(--ln-mid); line-height: 1.7; max-width: 520px; }
.compare-banner .compare-ctas,
.compare-banner .ln-tweaks-cta__btns { display: flex; gap: 12px; flex-shrink: 0; }
.compare-banner .btn-red { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; background: var(--ln-primary); color: var(--ln-white); font-weight: 800; font-size: 13.5px; border-radius: 2px; transition: all .2s; border: 2px solid var(--ln-primary); white-space: nowrap; text-decoration: none; }
.compare-banner .btn-red:hover { background: var(--ln-primary-dark); border-color: var(--ln-primary-dark); }
.compare-banner .btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; background: transparent; color: var(--ln-dark); font-weight: 700; font-size: 13.5px; border-radius: 2px; border: 2px solid var(--ln-border); transition: all .2s; white-space: nowrap; text-decoration: none; }
.compare-banner .btn-ghost:hover { border-color: var(--ln-dark); }
@media (max-width: 768px) {
	.compare-banner .compare-inner,
	.compare-banner .cta-inner,
	.compare-banner .ln-tweaks-cta__inner { grid-template-columns: 1fr; gap: 24px; padding: 0 20px; }
}

/* Compare Table */
.compare-table-section { padding: 80px 0; background: var(--ln-white); }
.compare-table-section .wrap { max-width: 1600px; margin: 0 auto; padding: 0 80px; }
.compare-table-section .s-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; color: var(--ln-primary); margin-bottom: 10px; }
.compare-table-section .s-h { font-size: 34px; font-weight: 900; color: var(--ln-dark); letter-spacing: -1px; margin-bottom: 40px; }
.compare-table-section .ctable-wrap { overflow-x: auto; }
.compare-table-section .ctable { width: 100%; border-collapse: collapse; font-size: 13px; }
.compare-table-section .ctable th { background: var(--ln-dark); color: var(--ln-white); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; padding: 14px 20px; text-align: left; white-space: nowrap; }
.compare-table-section .ctable th:first-child { width: 200px; }
.compare-table-section .ctable td { padding: 14px 20px; border-bottom: 1px solid var(--ln-border); vertical-align: middle; color: var(--ln-mid); }
.compare-table-section .ctable tr:hover td { background: var(--ln-light); }
.compare-table-section .ctable td:first-child { font-weight: 700; color: var(--ln-dark); font-size: 12px; }
.compare-table-section .ctable td .chk { color: #22a052; font-size: 16px; font-weight: 800; }
.compare-table-section .ctable td .dash { color: var(--ln-border); font-size: 16px; }
.compare-table-section .ctable td .part { color: var(--ln-primary); font-size: 11px; font-weight: 700; }
.compare-table-section .ctable tr:last-child td { border-bottom: none; }
.compare-table-section .ctable thead tr th:not(:first-child) { text-align: center; }
.compare-table-section .ctable tbody tr td:not(:first-child) { text-align: center; }

/* CTA Section */
.ts-cta-section { background: var(--ln-dark); padding: 80px 0; }
.ts-cta-section .cta-inner { max-width: 1600px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.ts-cta-section .cta-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; color: var(--ln-primary); margin-bottom: 14px; }
.ts-cta-section .cta-h { font-size: 36px; font-weight: 900; color: var(--ln-white); line-height: 1.1; letter-spacing: -1px; margin-bottom: 14px; }
.ts-cta-section .cta-h span { color: var(--ln-primary); }
.ts-cta-section .cta-sub { font-size: 14px; color: rgba(255,255,255,.55); line-height: 1.7; max-width: 480px; }
.ts-cta-section .cta-btn-white { display: inline-flex; align-items: center; gap: 8px; padding: 16px 32px; background: var(--ln-white); color: var(--ln-dark); font-weight: 800; font-size: 14px; border-radius: 2px; transition: all .2s; white-space: nowrap; text-decoration: none; }
.ts-cta-section .cta-btn-white:hover { background: var(--ln-light); }
@media (max-width: 768px) { .ts-cta-section .cta-inner { grid-template-columns: 1fr; gap: 24px; padding: 0 20px; } .ts-cta-section .cta-h { font-size: 28px; } }

/* ═══════════════════════════════════════════════════════════════
   RXLEA-PAGE — migriert aus page-rxlea.css (Phase 2).
   Section-scoped :where()-Overrides der Plugin-Widgets (Specificity 0,
   nur auf .rxlea-* wirksam → kollisionsfrei global; Style-Tab gewinnt weiter).
   Layout-Vorlage: additional/layout/rxlea_2.html.
   ═══════════════════════════════════════════════════════════════ */
/* ───── Section-Wrapper Backgrounds (Default-Defaults, via :where() overridable) ───── */
:where(.rxlea-hero)        { background: var(--ln-dark); }
:where(.rxlea-intro)       { background: var(--ln-white); }
:where(.rxlea-statements)  { background: var(--ln-light); }
:where(.rxlea-usecases)    { background: var(--ln-white); }
:where(.rxlea-values)      { background: var(--ln-dark); }
:where(.rxlea-pillars)     { background: var(--ln-white); border-top: 1px solid var(--ln-border); }
:where(.rxlea-showcase)    { background: var(--ln-light); }
:where(.rxlea-forwho)      { background: var(--ln-white); border-top: 1px solid var(--ln-border); }
:where(.rxlea-systems)     { background: #0f0f10; }
:where(.rxlea-benefits)    { background: var(--ln-white); border-top: 1px solid var(--ln-border); }
:where(.rxlea-stats)       { background: var(--ln-primary); }
:where(.rxlea-faq)         { background: var(--ln-light); }

/* ───── Hero: Overflow für Video-Overlap ───── */
.rxlea-hero { overflow: visible; }
:where(.rxlea-hero) { padding-bottom: 0; }
:where(.rxlea-hero .ln-tweaks-bh__media) {
	box-shadow: 0 -20px 80px rgba(255,134,0,.12), 0 60px 120px rgba(0,0,0,.35);
}

/* ───── INTRO ───── */
:where(.rxlea-intro) { padding-top: 0; padding-bottom: 140px; }

:where(.rxlea-intro .vid-caption),
:where(.rxlea-intro .vid-caption p) {
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	color: rgba(0,0,0,.35);
	letter-spacing: 2px;
	text-transform: uppercase;
	margin: 0;
	padding: 116px 64px 60px;
}
:where(.rxlea-intro .s-label .elementor-heading-title) {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--ln-primary);
	margin-bottom: 12px;
}
:where(.rxlea-intro .intro-h .elementor-heading-title) {
	font-size: 52px;
	font-weight: 900;
	line-height: 1.06;
	letter-spacing: -2.5px;
	margin-bottom: 24px;
	color: var(--ln-dark);
}
:where(.rxlea-intro .intro-h .elementor-heading-title em) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-intro .intro-p) {
	max-width: 640px;
	margin: 0 auto 32px;
}
:where(.rxlea-intro .intro-p p) {
	font-size: 16px;
	color: var(--ln-mid);
	line-height: 1.85;
	margin: 0;
}
:where(.rxlea-intro .btn-outline a.elementor-button) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 30px;
	background: transparent;
	color: var(--ln-dark);
	font-weight: 700;
	font-size: 14px;
	border-radius: 2px;
	border: 2px solid var(--ln-border);
	transition: all .2s;
}
:where(.rxlea-intro .btn-outline a.elementor-button:hover) {
	border-color: var(--ln-primary);
	color: var(--ln-primary);
}
:where(.rxlea-intro .intro-footnote p) {
	font-size: 13px;
	color: #aaa;
	margin-top: 12px;
	text-align: center;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

/* ───── STATEMENTS ───── */
:where(.rxlea-statements .ln-tweaks-ns) {
	padding: 100px 0;
}
:where(.rxlea-statements .ln-tweaks-ns__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	align-items: start;
}
:where(.rxlea-statements .ln-tweaks-ns__item) {
	padding: 0 56px 0 0;
	border-right: 1px solid var(--ln-border);
}
:where(.rxlea-statements .ln-tweaks-ns__item:last-child) {
	border-right: none;
	padding-right: 0;
}
:where(.rxlea-statements .ln-tweaks-ns__item + .ln-tweaks-ns__item) {
	padding-left: 56px;
}
:where(.rxlea-statements .ln-tweaks-ns__num) {
	font-size: 13px;
	font-weight: 900;
	color: var(--ln-primary);
	letter-spacing: 2px;
	margin-bottom: 24px;
	display: block;
	background: none;
	width: auto;
	height: auto;
	border-radius: 0;
	padding: 0;
}
:where(.rxlea-statements .ln-tweaks-ns__heading) {
	font-size: 28px;
	font-weight: 900;
	color: var(--ln-dark);
	line-height: 1.15;
	letter-spacing: -.8px;
	margin-bottom: 20px;
}
:where(.rxlea-statements .ln-tweaks-ns__heading em) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-statements .ln-tweaks-ns__text) {
	font-size: 15px;
	color: var(--ln-mid);
	line-height: 1.8;
}
@media (max-width: 900px) {
	:where(.rxlea-statements .ln-tweaks-ns__grid) {
		padding: 0 40px;
		grid-template-columns: 1fr;
		gap: 48px;
	}
	:where(.rxlea-statements .ln-tweaks-ns__item) {
		border-right: none;
		padding: 0 0 48px 0;
		border-bottom: 1px solid var(--ln-border);
	}
	:where(.rxlea-statements .ln-tweaks-ns__item + .ln-tweaks-ns__item) { padding-left: 0; }
	:where(.rxlea-statements .ln-tweaks-ns__item:last-child) {
		border-bottom: none;
		padding-bottom: 0;
	}
}

/* ───── USE-CASES ───── */
.rxlea-usecases > .e-con-inner > .elementor-widget-ln-image-text-block,
.rxlea-usecases > .elementor-widget-ln-image-text-block {
	margin-bottom: 0;
}
:where(.rxlea-usecases .ln-tweaks-itb) {
	padding: 60px 0;
}
:where(.rxlea-usecases .ln-tweaks-itb__inner) {
	grid-template-columns: 40% 60%;
	max-width: 1600px;
	padding: 0 64px;
	gap: 0;
}
:where(.rxlea-usecases .ln-tweaks-itb--media-right .ln-tweaks-itb__inner) {
	grid-template-columns: 60% 40%;
}
:where(.rxlea-usecases .ln-tweaks-itb__text) {
	padding: 0 72px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
:where(.rxlea-usecases .ln-tweaks-itb__heading) {
	font-size: 32px;
	font-weight: 900;
	color: var(--ln-dark);
	margin-bottom: 16px;
	letter-spacing: -1px;
	line-height: 1.1;
}
:where(.rxlea-usecases .ln-tweaks-itb__heading em),
:where(.rxlea-usecases .ln-tweaks-itb__heading span) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-usecases .ln-tweaks-itb__body) {
	font-size: 15px;
	color: var(--ln-mid);
	line-height: 1.8;
}
:where(.rxlea-usecases .ln-tweaks-itb__btn) {
	background: transparent;
	color: var(--ln-primary);
	font-weight: 700;
	font-size: 14px;
	padding: 0;
	margin-top: 28px;
	gap: 6px;
	border: 0 none transparent;
}
:where(.rxlea-usecases .ln-tweaks-itb__media) {
	border-radius: 0;
	background: var(--ln-light);
}
:where(.rxlea-usecases .ln-tweaks-itb__media img) {
	aspect-ratio: 16/9;
	object-fit: cover;
	object-position: top left;
}

/* ───── VALUE-STRIP (5-Col dark) ───── */
:where(.rxlea-values .ln-tweaks-icg) {
	padding: 72px 0;
}
:where(.rxlea-values .ln-tweaks-icg__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	grid-template-columns: repeat(5, 1fr);
	gap: 40px;
}
:where(.rxlea-values .ln-tweaks-icg__card) {
	background: transparent;
	border: none;
	padding: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
:where(.rxlea-values .ln-tweaks-icg__icon) {
	margin: 0 auto;
	color: var(--ln-primary);
	width: 48px;
	height: 48px;
	background: transparent;
}
:where(.rxlea-values .ln-tweaks-icg__icon svg) {
	color: var(--ln-primary);
	stroke-width: 1.8;
}
:where(.rxlea-values .ln-tweaks-icg__title) {
	font-size: 16px;
	font-weight: 600;
	color: rgba(255,255,255,.85);
	line-height: 1.55;
	margin: 0;
}
:where(.rxlea-values .ln-tweaks-icg__title em),
:where(.rxlea-values .ln-tweaks-icg__title span) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-values .ln-tweaks-icg__text) { display: none; }
@media (max-width: 1024px) {
	:where(.rxlea-values .ln-tweaks-icg__grid) { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	:where(.rxlea-values .ln-tweaks-icg__grid) { grid-template-columns: 1fr 1fr; gap: 28px; }
}

/* ───── PILLARS-CORE ───── */
:where(.rxlea-pillars .ln-tweaks-pc) {
	padding: 120px 0;
}
:where(.rxlea-pillars .ln-tweaks-pc__wrap) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
}
:where(.rxlea-pillars .ln-tweaks-pc__head) {
	text-align: center;
	margin-bottom: 80px;
}
:where(.rxlea-pillars .ln-tweaks-pc__heading) {
	font-size: 52px;
	font-weight: 900;
	color: var(--ln-dark);
	letter-spacing: -2.5px;
	line-height: 1;
	margin-bottom: 20px;
}
:where(.rxlea-pillars .ln-tweaks-pc__sub) {
	font-size: 17px;
	color: var(--ln-mid);
	max-width: 520px;
	margin: 0 auto;
	line-height: 1.7;
}
:where(.rxlea-pillars .ln-tweaks-pc__grid) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	margin: 0;
	padding: 0;
	width: 100%;
}
:where(.rxlea-pillars .ln-tweaks-pc__col) {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
:where(.rxlea-pillars .ln-tweaks-pc__pillar) {
	padding: 40px;
	background: var(--ln-light);
	border: 1px solid var(--ln-border);
	transition: background .2s;
}
:where(.rxlea-pillars .ln-tweaks-pc__pillar:hover) {
	background: #efefef;
}
:where(.rxlea-pillars .ln-tweaks-pc__pillar-ico) {
	margin-bottom: 20px;
	color: var(--ln-primary);
	background: transparent;
	width: auto;
	height: auto;
}
:where(.rxlea-pillars .ln-tweaks-pc__pillar-name) {
	font-size: 22px;
	font-weight: 900;
	color: var(--ln-dark);
	margin-bottom: 10px;
	letter-spacing: -0.5px;
}
:where(.rxlea-pillars .ln-tweaks-pc__pillar-desc) {
	font-size: 14px;
	color: var(--ln-mid);
	line-height: 1.7;
}
:where(.rxlea-pillars .ln-tweaks-pc__eq) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 32px;
	gap: 12px;
}
:where(.rxlea-pillars .ln-tweaks-pc__eq-line) {
	width: 1px;
	height: 60px;
	background: linear-gradient(to bottom, transparent, rgba(255,134,0,.5), transparent);
	display: block;
}
:where(.rxlea-pillars .ln-tweaks-pc__core) {
	width: 200px;
	height: 200px;
	background: var(--ln-primary);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 20px rgba(255,134,0,.07), 0 0 0 40px rgba(255,134,0,.03);
	flex-shrink: 0;
	padding: 24px;
	color: #fff;
	font-size: 17px;
	font-weight: 900;
	text-align: center;
	letter-spacing: .2px;
	line-height: 1.4;
}
@media (max-width: 1200px) {
	:where(.rxlea-pillars .ln-tweaks-pc__grid) {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	:where(.rxlea-pillars .ln-tweaks-pc__eq) { flex-direction: row; }
	:where(.rxlea-pillars .ln-tweaks-pc__eq-line) {
		width: 60px;
		height: 1px;
		background: linear-gradient(to right, transparent, rgba(255,134,0,.5), transparent);
	}
}

/* ───── SHOWCASE ───── */
:where(.rxlea-showcase) { padding: 120px 0; }
:where(.rxlea-showcase .s-label .elementor-heading-title) {
	display: block;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--ln-primary);
	margin-bottom: 12px;
}
:where(.rxlea-showcase .showcase-h .elementor-heading-title) {
	font-size: 52px;
	font-weight: 900;
	letter-spacing: -2.5px;
	line-height: 1;
	margin-bottom: 16px;
	color: var(--ln-dark);
	text-align: center;
}
:where(.rxlea-showcase .showcase-h .elementor-heading-title em),
:where(.rxlea-showcase .showcase-h .elementor-heading-title span) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-showcase .e-con-inner > .elementor-widget-text-editor p) {
	font-size: 17px;
	color: var(--ln-mid);
	margin-top: 8px;
	text-align: center;
}
:where(.rxlea-showcase .e-con-inner > .elementor-widget-image) {
	max-width: 1000px;
	margin: 48px auto 64px;
}
:where(.rxlea-showcase .e-con-inner > .elementor-widget-image img) {
	width: 100%;
	display: block;
	border-radius: 6px;
}
:where(.rxlea-showcase .ln-tweaks-icg) { padding: 0; }
:where(.rxlea-showcase .ln-tweaks-icg__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
}
:where(.rxlea-showcase .ln-tweaks-icg__card) {
	text-align: center;
	padding: 36px 32px;
	background: var(--ln-white);
	border: 1px solid var(--ln-border);
	transition: box-shadow .2s;
}
:where(.rxlea-showcase .ln-tweaks-icg__card:hover) {
	box-shadow: 0 8px 32px rgba(0,0,0,.08);
}
:where(.rxlea-showcase .ln-tweaks-icg__icon) {
	margin: 0 auto 14px;
	color: var(--ln-primary);
	font-size: 32px;
	background: transparent;
	width: auto;
	height: auto;
}
:where(.rxlea-showcase .ln-tweaks-icg__title) {
	font-size: 16px;
	font-weight: 800;
	color: var(--ln-dark);
	margin-bottom: 6px;
}
:where(.rxlea-showcase .ln-tweaks-icg__title em),
:where(.rxlea-showcase .ln-tweaks-icg__title span) {
	color: var(--ln-primary);
	font-style: normal;
}
:where(.rxlea-showcase .ln-tweaks-icg__text) {
	font-size: 13px;
	color: var(--ln-mid);
	line-height: 1.6;
}
:where(.rxlea-showcase .ln-tweaks-cta) {
	padding: 56px 0 0;
	background: transparent;
}
:where(.rxlea-showcase .ln-tweaks-cta__inner) {
	max-width: 1600px;
	padding: 0 64px;
}

/* ───── FOR-WHOM (Persona-Cards) ───── */
:where(.rxlea-forwho .ln-tweaks-personas),
:where(.rxlea-forwho .ln-tweaks-pcards) {
	padding: 120px 0;
}
:where(.rxlea-forwho .ln-tweaks-personas__head),
:where(.rxlea-forwho .ln-tweaks-pcards__head) {
	text-align: center;
	margin-bottom: 80px;
}
:where(.rxlea-forwho .ln-tweaks-personas__heading),
:where(.rxlea-forwho .ln-tweaks-pcards__heading) {
	font-size: 52px;
	font-weight: 900;
	letter-spacing: -2.5px;
	line-height: 1;
	margin-bottom: 16px;
	color: var(--ln-dark);
}
:where(.rxlea-forwho .ln-tweaks-personas__grid),
:where(.rxlea-forwho .ln-tweaks-pcards__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3px;
}
:where(.rxlea-forwho .ln-tweaks-personas__card),
:where(.rxlea-forwho .ln-tweaks-pcards__card) {
	padding: 72px 60px;
	position: relative;
	overflow: hidden;
}
:where(.rxlea-forwho .ln-tweaks-personas__card--dark),
:where(.rxlea-forwho .ln-tweaks-pcards__card--dark) {
	background: var(--ln-dark);
}
:where(.rxlea-forwho .ln-tweaks-personas__card--orange),
:where(.rxlea-forwho .ln-tweaks-pcards__card--orange) {
	background: var(--ln-primary);
}
:where(.rxlea-forwho .ln-tweaks-personas__bg-letter),
:where(.rxlea-forwho .ln-tweaks-pcards__bg-letter),
:where(.rxlea-forwho .fw-bg-letter) {
	position: absolute;
	right: -20px;
	bottom: -40px;
	font-size: 240px;
	font-weight: 900;
	color: rgba(255,255,255,.03);
	line-height: 1;
	pointer-events: none;
	user-select: none;
	letter-spacing: -10px;
}
:where(.rxlea-forwho .ln-tweaks-personas__label),
:where(.rxlea-forwho .ln-tweaks-pcards__label),
:where(.rxlea-forwho .fw-label) {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 16px;
	color: var(--ln-primary);
}
:where(.rxlea-forwho .ln-tweaks-personas__card--orange .ln-tweaks-personas__label),
:where(.rxlea-forwho .ln-tweaks-pcards__card--orange .ln-tweaks-pcards__label) {
	color: rgba(255,255,255,.6);
}
:where(.rxlea-forwho .ln-tweaks-personas__card-heading),
:where(.rxlea-forwho .ln-tweaks-pcards__card-heading),
:where(.rxlea-forwho .fw-h) {
	font-size: 38px;
	font-weight: 900;
	color: #fff;
	line-height: 1.0;
	letter-spacing: -1.5px;
	margin-bottom: 40px;
}
:where(.rxlea-forwho .ln-tweaks-personas__points),
:where(.rxlea-forwho .ln-tweaks-pcards__points) {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
:where(.rxlea-forwho .ln-tweaks-personas__point),
:where(.rxlea-forwho .ln-tweaks-pcards__point) {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
:where(.rxlea-forwho .ln-tweaks-personas__point-ico),
:where(.rxlea-forwho .ln-tweaks-personas__point-icon),
:where(.rxlea-forwho .ln-tweaks-pcards__point-icon) {
	width: 40px;
	height: 40px;
	border-radius: 2px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}
:where(.rxlea-forwho .ln-tweaks-personas__card--dark .ln-tweaks-personas__point-ico),
:where(.rxlea-forwho .ln-tweaks-personas__card--dark .ln-tweaks-personas__point-icon),
:where(.rxlea-forwho .ln-tweaks-pcards__card--dark .ln-tweaks-pcards__point-icon) {
	background: rgba(255,134,0,.15);
	color: var(--ln-primary);
}
:where(.rxlea-forwho .ln-tweaks-personas__card--orange .ln-tweaks-personas__point-ico),
:where(.rxlea-forwho .ln-tweaks-personas__card--orange .ln-tweaks-personas__point-icon),
:where(.rxlea-forwho .ln-tweaks-pcards__card--orange .ln-tweaks-pcards__point-icon) {
	background: rgba(0,0,0,.15);
	color: rgba(255,255,255,.85);
}
:where(.rxlea-forwho .ln-tweaks-personas__point-name),
:where(.rxlea-forwho .ln-tweaks-pcards__point-name) {
	font-size: 15px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 3px;
}
:where(.rxlea-forwho .ln-tweaks-personas__point-desc),
:where(.rxlea-forwho .ln-tweaks-pcards__point-desc) {
	font-size: 13px;
	line-height: 1.6;
}
:where(.rxlea-forwho .ln-tweaks-personas__card--dark .ln-tweaks-personas__point-desc),
:where(.rxlea-forwho .ln-tweaks-pcards__card--dark .ln-tweaks-pcards__point-desc) {
	color: rgba(255,255,255,.5);
}
:where(.rxlea-forwho .ln-tweaks-personas__card--orange .ln-tweaks-personas__point-desc),
:where(.rxlea-forwho .ln-tweaks-pcards__card--orange .ln-tweaks-pcards__point-desc) {
	color: rgba(255,255,255,.8);
}

/* ───── SYSTEMS ───── */
/* Grid läuft bündig zur __wrap-Innenkante (kein doppeltes Padding).
   Widget-Wrap setzt bereits max-width 1600px + padding 0 64px.
   Cards starten an gleicher x-Position wie das Head-Heading. */
:where(.rxlea-systems .ln-tweaks-icgrid) {
	background: transparent;
	padding: 120px 0;
}
:where(.rxlea-systems .ln-tweaks-icgrid__grid) {
	margin: 0;
	padding: 0;
	grid-template-columns: repeat(4, 1fr);
	gap: 3px;
}

/* ───── BENEFITS ───── */
:where(.rxlea-benefits .ln-tweaks-icg) {
	padding: 100px 0;
}
:where(.rxlea-benefits .ln-tweaks-icg__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}
:where(.rxlea-benefits .ln-tweaks-icg__card) {
	padding: 48px 40px;
	background: var(--ln-light);
	border: 1px solid var(--ln-border);
}
:where(.rxlea-benefits .ln-tweaks-icg__icon) {
	color: var(--ln-primary);
	margin-bottom: 20px;
	background: transparent;
}
:where(.rxlea-benefits .ln-tweaks-icg__title) {
	font-size: 20px;
	font-weight: 900;
	color: var(--ln-dark);
	margin-bottom: 10px;
	letter-spacing: -0.3px;
}
:where(.rxlea-benefits .ln-tweaks-icg__text) {
	font-size: 14px;
	color: var(--ln-mid);
	line-height: 1.7;
}

/* ───── STATS ───── */
:where(.rxlea-stats) { padding: 0; }
:where(.rxlea-stats .ln-stats-band) { background: transparent; }
:where(.rxlea-stats .ln-stats-band__inner),
:where(.rxlea-stats .ln-stats-band__grid) {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 64px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
:where(.rxlea-stats .ln-stats-band__item),
:where(.rxlea-stats .ln-stats-band__stat) {
	padding: 60px 32px;
	border-right: 1px solid rgba(255,255,255,.2);
	text-align: center;
}
:where(.rxlea-stats .ln-stats-band__item:last-child),
:where(.rxlea-stats .ln-stats-band__stat:last-child) {
	border-right: none;
}
:where(.rxlea-stats .ln-stats-band__value),
:where(.rxlea-stats .ln-stats-band__num) {
	font-size: 56px;
	font-weight: 900;
	color: var(--ln-white);
	line-height: 1;
	letter-spacing: -2px;
	margin-bottom: 8px;
}
:where(.rxlea-stats .ln-stats-band__label) {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: rgba(255,255,255,.7);
}
@media (max-width: 768px) {
	:where(.rxlea-stats .ln-stats-band__inner),
	:where(.rxlea-stats .ln-stats-band__grid) {
		grid-template-columns: repeat(2, 1fr);
	}
	:where(.rxlea-stats .ln-stats-band__value),
	:where(.rxlea-stats .ln-stats-band__num) {
		font-size: 38px;
	}
}

/* ───── FAQ ───── */
:where(.rxlea-faq .ln-tweaks-faq) {
	padding: 100px 0;
}

/* ───── NEWSLETTER ───── */
:where(.nl-section) {
	background: var(--ln-dark);
	padding: 80px 0;
}
:where(.nl-section .ln-tweaks-newsletter) {
	padding: 0;
}



/* ═══════════════════════════════════════════════════════════════
   RXL-PAGE — migriert aus page-rxl.css (Phase 3, via Globalisieren).
   Alle Regeln rxl-gescopt (.rxl-*/.concept-/.why-/.model-/.principles-/
   .rxlea-section) → kollisionsfrei global. (:root-Zeile war redundant zu
   _tokens.css, weggelassen.) Layout-Vorlage: additional/layout/rxl.html.
   Hinweis: rohe HTML-Sektionen (concept/why/method) bleiben unverändert;
   Umbau zu Widgets wäre separate spätere Erweiterung.
   ═══════════════════════════════════════════════════════════════ */
/* ════ Section-Backgrounds + paddings (full-width sections) ════ */
.concept-section.rxl-shared {
	background: var(--ln-white) !important;
	padding: 96px 0 !important;
}
.why-section.rxl-shared {
	background: var(--ln-white) !important;
	padding: 96px 0 !important;
}
.principles-section.rxl-shared {
	background: var(--ln-dark) !important;
	padding: 96px 0 !important;
}
.model-section.rxl-shared {
	background: var(--ln-white) !important;
	padding: 96px 0 !important;
}

/* ════ Shared (alle .rxl-shared Sections) ════ */
.rxl-shared { font-family: var(--ln-font-body); }
.rxl-shared .rxl-section-head,
.rxl-shared .rxl-section-grid {
	max-width: var(--ln-container-max);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Header widgets — labels / headings / lead */
.rxl-shared .elementor-element.s-label .elementor-heading-title {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.5px;
	color: var(--ln-primary);
	margin: 0 0 12px 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
}
.rxl-shared .elementor-element.s-label .elementor-heading-title::before {
	content: '';
	display: inline-block;
	width: 20px; height: 2px;
	background: var(--ln-primary);
	flex-shrink: 0;
}
.rxl-shared .elementor-element.s-h .elementor-heading-title {
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 1.05;
	margin: 0 0 18px 0;
	color: var(--ln-dark);
}
.rxl-shared .elementor-element.s-h .elementor-heading-title span {
	color: var(--ln-primary);
}
.rxl-shared .elementor-element.lead .elementor-widget-container > div,
.rxl-shared .elementor-element.lead p {
	font-size: 16px;
	color: var(--ln-mid);
	line-height: 1.7;
	max-width: 600px;
	margin: 0;
}

/* Dark-Section header-color overrides */
.principles-section .elementor-element.s-h .elementor-heading-title {
	color: var(--ln-white);
}

/* Header-Einrückung (wie .concept-/.why-/.model-section) — die principles-section
   hatte diese Regel als einzige nicht, daher klebte ihr Header am Rand. */
.principles-section .rxl-section-head {
	padding: 0 80px !important;
	max-width: var(--ln-container-max, 1600px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Hide empty plugin-widget headers (when widget's eyebrow/heading is intentionally blank) */
.rxl-shared .ln-tweaks-prsteps__eyebrow:empty,
.rxl-shared .ln-tweaks-prsteps__heading:empty,
.rxl-shared .ln-tweaks-icg__eyebrow:empty,
.rxl-shared .ln-tweaks-icg__heading:empty {
	display: none !important;
}
.rxl-shared .ln-tweaks-prsteps__header:has(.ln-tweaks-prsteps__eyebrow:empty + .ln-tweaks-prsteps__heading:empty),
.rxl-shared .ln-tweaks-icg__header:has(.ln-tweaks-icg__eyebrow:empty + .ln-tweaks-icg__heading:empty) {
	display: none !important;
}

/* ════ 1. HERO ════ */
.rxl-hero {
	background: var(--ln-dark) !important;
	color: var(--ln-white);
	padding: 100px 0 90px !important;
	position: relative;
	overflow: hidden;
}
.rxl-hero::after {
	content: '';
	position: absolute;
	right: 0; top: 0; bottom: 0;
	width: 40%;
	background: linear-gradient(135deg, transparent, rgba(255,134,0,.06));
	pointer-events: none;
	z-index: 0;
}
.rxl-hero::before {
	content: 'RXL';
	position: absolute;
	right: 40px; bottom: -30px;
	font-size: 300px; font-weight: 900;
	color: rgba(255,255,255,.025);
	letter-spacing: -15px; line-height: 1;
	pointer-events: none; user-select: none;
	z-index: 0;
	font-family: var(--ln-font-body);
}

/* Hero — ln-page-hero widget overrides */
.rxl-hero .ln-tweaks-page-hero {
	background: transparent !important;
	padding: 0 !important;
	position: static;
}
.rxl-hero .ln-tweaks-page-hero__inner {
	max-width: 1600px;
	margin: 0 auto !important;
	padding: 0 80px !important;
	position: relative;
	z-index: 1;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100%;
	text-align: left !important;
}
.rxl-hero .ln-tweaks-page-hero__text {
	width: 100%;
	max-width: 860px;
	text-align: left !important;
}
.rxl-hero .ln-tweaks-page-hero__heading,
.rxl-hero .ln-tweaks-page-hero__subline,
.rxl-hero .ln-tweaks-page-hero__eyebrow {
	text-align: left !important;
}
.rxl-hero .ln-tweaks-page-hero__eyebrow,
.rxl-hero .ph-chip {
	font-size: 10px !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.5px !important;
	color: var(--ln-primary) !important;
	margin: 0 0 20px 0 !important;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}
.rxl-hero .ln-tweaks-page-hero__eyebrow::before,
.rxl-hero .ph-chip::before {
	content: '';
	display: inline-block;
	width: 24px; height: 2px;
	background: var(--ln-primary);
	flex-shrink: 0;
}
.rxl-hero .ln-tweaks-page-hero__heading,
.rxl-hero .ph-title {
	font-size: 60px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: -2.5px !important;
	margin: 0 0 24px 0 !important;
	color: var(--ln-white) !important;
}
.rxl-hero .ln-tweaks-page-hero__heading span,
.rxl-hero .ph-title span { color: var(--ln-primary) !important; }
.rxl-hero .ln-tweaks-page-hero__subline,
.rxl-hero .ph-sub {
	font-size: 18px !important;
	color: rgba(255,255,255,.6) !important;
	line-height: 1.65;
	max-width: 560px;
	margin: 0 0 40px 0 !important;
	font-weight: 300;
}

/* Hero-Tags via Stats-Widget */
.rxl-hero .ln-tweaks-page-hero__stats,
.rxl-hero .ph-stats {
	display: flex !important;
	gap: 28px !important;
	flex-wrap: wrap;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.rxl-hero .ln-tweaks-page-hero__stat-divider,
.rxl-hero .ph-stat-divider { display: none !important; }

.rxl-hero .ln-tweaks-page-hero__stat,
.rxl-hero .ph-stat-item {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 0 !important;
	border: none !important;
}
.rxl-hero .ln-tweaks-page-hero__stat::before,
.rxl-hero .ph-stat-item::before {
	content: '';
	width: 8px; height: 8px;
	background: var(--ln-primary);
	flex-shrink: 0;
}
.rxl-hero .ln-tweaks-page-hero__stat-num,
.rxl-hero .ph-stat-num {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: rgba(255,255,255,.45) !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	margin: 0 !important;
	line-height: 1 !important;
}
.rxl-hero .ln-tweaks-page-hero__stat-lbl,
.rxl-hero .ph-stat-lbl { display: none !important; }

/* ════ 2. CONCEPT — white BG, 2-col grid via ln-content-grid (cards left + video right) ════ */
/* Das 2-Spalten-Grid liefert das ln-content-grid-Widget. Die Karten-Liste links rendert
   das marker-list-Feature (Buchstaben-Variante, Styling in content-grid.css). Hier nur
   der rxl-section-head-Wrap + die Video-Spalte. */

.concept-section .rxl-section-head {
	padding: 0 80px !important;
	max-width: var(--ln-container-max, 1600px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Concept-Liste (R/X/L-Buchstaben-Cards) jetzt via ln-content-grid marker-list
   → ln-tweaks/assets/css/widgets/content-grid.css (.ln-tweaks-cg__mlist--letter). */

/* Concept Video-Spalte: cover-fill mit 16:9 */
.concept-section .ln-tweaks-cg__col.concept-video-col .ln-tweaks-cg__media,
.concept-section .ln-tweaks-cg__col.concept-video-col video {
	width: 100%;
	display: block;
}

/* ════ 3. WHY IT WORKS — 2-col grid via ln-content-grid (video left + numbered points right) ════ */
.why-section .rxl-section-head {
	padding: 0 80px !important;
	max-width: var(--ln-container-max, 1600px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Why-Liste (01/02/03 nummeriert) jetzt via ln-content-grid marker-list
   → ln-tweaks/assets/css/widgets/content-grid.css (.ln-tweaks-cg__mlist--number). */

/* ════ 4. PRINCIPLES — dark BG, 4-col grid ════ */
/* heading-color override already in shared block */

/* Wrapper full-width (vertikales Padding liefert die .principles-section selbst);
   der innere .__wrap behält seine Standard-Einrückung (max-width + 0 80px) aus
   icon-card-grid.css → Grid bündig mit dem .rxl-section-head-Header (kein Doppel-Padding). */
.principles-section .ln-tweaks-icg {
	padding: 0 !important;
	background: transparent !important;
	max-width: none !important;
}
.principles-section .ln-tweaks-icg__wrap {
	background: transparent !important;
}
.principles-section .ln-tweaks-icg__header { display: none !important; }
.principles-section .ln-tweaks-icg__grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 2px !important;
	background: rgba(255,255,255,.08) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	counter-reset: principle-counter;
}
.principles-section .ln-tweaks-icg__card {
	background: var(--ln-dark) !important;
	padding: 32px 24px !important;
	position: relative;
	overflow: hidden;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	transition: border-color .25s, background .2s;
	border-radius: 0 !important;
	counter-increment: principle-counter;
}
.principles-section .ln-tweaks-icg__card::before {
	content: counter(principle-counter, decimal-leading-zero);
	font-size: 72px;
	font-weight: 900;
	color: rgba(255,255,255,.04);
	line-height: 1;
	position: absolute;
	bottom: 8px; right: 12px;
	pointer-events: none;
}
.principles-section .ln-tweaks-icg__card:hover {
	background: rgba(255,255,255,.04) !important;
	border-bottom-color: var(--ln-primary) !important;
}
.principles-section .ln-tweaks-icg__icon {
	width: 40px !important;
	height: 40px !important;
	background: var(--ln-primary) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 0 18px 0 !important;
	border-radius: 0 !important;
}
.principles-section .ln-tweaks-icg__icon .material-icons-round {
	font-size: 20px !important;
	color: var(--ln-white) !important;
}
.principles-section .ln-tweaks-icg__title {
	font-size: 16px !important;
	font-weight: 900 !important;
	color: var(--ln-white) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.25;
}
.principles-section .ln-tweaks-icg__text {
	font-size: 13px !important;
	color: rgba(255,255,255,.5) !important;
	line-height: 1.65;
	margin: 0;
}

@media (max-width: 900px) { .principles-section .ln-tweaks-icg__grid { grid-template-columns: repeat(2,1fr) !important; } }
@media (max-width: 600px) { .principles-section .ln-tweaks-icg__grid { grid-template-columns: 1fr !important; } }

/* ════ 5. ACTION MODEL — 2-col grid via ln-content-grid (video left + dot-list right) ════ */
.model-section .rxl-section-head {
	padding: 0 80px !important;
	max-width: var(--ln-container-max, 1600px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Model-Liste (Dot-Marker, „Complete Action Model") jetzt via ln-content-grid marker-list
   → ln-tweaks/assets/css/widgets/content-grid.css (.ln-tweaks-cg__mlist--dot). */

/* ════ 6. RXL vs RXLEA — light BG, ln-comparison-cards ════ */
.rxlea-section.rxl-shared {
	background: var(--ln-light) !important;
	border-top: 1px solid var(--ln-border);
	border-bottom: 1px solid var(--ln-border);
	padding: 0 !important;
}
.rxlea-section .ln-tweaks-cc {
	background: transparent !important;
	border: none !important;
}

@media (max-width: 900px) {
	.rxlea-section .ln-tweaks-cc__cards { grid-template-columns: 1fr; }
}

/* ════ Video-Widget aspect-ratio inside RXL pages ════ */
.rxl-shared .elementor-widget-video .elementor-wrapper,
.rxl-shared .elementor-widget-video .elementor-video {
	aspect-ratio: 16 / 9;
	width: 100%;
	overflow: hidden;
}
.rxl-shared .elementor-widget-video video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* ════ Responsive — mobile padding ════ */
@media (max-width: 768px) {
	.rxl-hero { padding: 60px 0 70px !important; }
	.rxl-hero::before { font-size: 180px; right: -20px; }
	.rxl-hero .ln-tweaks-page-hero__inner,
	.rxl-hero .ph-inner { padding: 0 24px !important; }
	.rxl-hero .ln-tweaks-page-hero__heading,
	.rxl-hero .ph-title { font-size: 40px !important; letter-spacing: -1.5px !important; }
	.rxl-hero .ln-tweaks-page-hero__subline,
	.rxl-hero .ph-sub { font-size: 16px !important; }
	.rxl-shared .rxl-section-head,
	.rxl-shared .rxl-section-grid { padding-left: 24px !important; padding-right: 24px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT BREADCRUMB — ln-breadcrumb-Widget in den Theme-Builder-Templates
   (»LN — Single Product« 42183 / »LN — Archive Product« 42184) auf die globale
   Container-Spalte ausrichten. Der Outer-Container .breadcrumb bleibt full-width
   (hellgrauer bg-Balken); nur der Inner-Container, der das Widget hält, wird auf
   max 1600 + 80px geboxt — identisch zu .wrap. --ln-container-pad fällt responsiv
   automatisch auf 32/20/16px. Selektor doppelt abgesichert: über die Outer-Klasse
   .breadcrumb UND über :has() am Widget (greift auch ohne die Klasse).
   ═══════════════════════════════════════════════════════════════ */
.breadcrumb > .e-con,
.e-con:has(> .elementor-widget-ln-breadcrumb) {
	max-width: var(--ln-container-max);
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--ln-container-pad);
}

/* ============================================================
   404 Produkt-Suche Widget (ln-404-search)
   Grid self-contained (Plugin-Archive-CSS lädt auf 404 nicht).
   Die Karten sind seit Theme 2.6.0 `.ln-search-card` — dieselben wie auf der
   Suchergebnisseite; ihr CSS liefert das Plugin-Widget »Suchergebnisse« mit.
   (Bis 2.5.2 waren es `.ln-tweaks-archive-card`; die Klasse kommt im Theme-CSS
   nirgends mehr vor.)
   ============================================================ */
/* Optik 1:1 zum Suchfeld der Suchergebnisseite (Elementor-Pro-`search`-Widget,
   dort gemessen): Input 1px #cdcdcd, Radius 0, 14px, Text #515962, Padding 16px;
   Submit orange, Radius 0, Padding 24px. Kein Gap — Feld und Button schließen
   bündig an wie beim Pro-Widget. */
.ln-404-search__form {
	display: flex;
	gap: 0;
	max-width: 780px;
	margin: 22px auto 8px;
}
.ln-404-search__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 16px;
	border: 1px solid #cdcdcd;
	border-radius: 0;
	font-size: 14px;
	line-height: 1.5;
	background: var(--ln-white, #fff);
	color: #515962;
}
.ln-404-search__input:focus {
	outline: none;
	border-color: var(--ln-primary, #ff8600);
}
.ln-404-search__submit {
	flex: 0 0 auto;
	white-space: nowrap;
	padding: 24px;
	border: 0;
	border-radius: 0;
	font-size: 14px;
	font-weight: 400;
	/* 24px Padding + 25.6px Zeilenhöhe = 73.6px — exakt die Höhe des
	   Pro-Suchfelds auf der Suchergebnisseite (dort gemessen). */
	line-height: 25.6px;
	background: var(--ln-primary, #ff8600);
	color: #fff;
	cursor: pointer;
}
.ln-404-search__lead {
	margin: 34px 0 18px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	color: var(--ln-dark, #111);
}
/* Stehen Produktvorschläge im Widget, ist die 640-px-Textspalte aus archive.css
   zu eng für die Karten — dann auf Inhaltsbreite gehen. Gleiche Spezifität wie
   die Elementor-Regel (0,2,0), Elementor lädt später und gewinnt: Der Wert im
   Control »Max-Breite Inhalt« sticht diesen Default. */
.ln-404-search__inner:has(.ln-search-results) {
	max-width: 1200px;
}

/* Seit Theme 2.6.0 rendert der Suchergebnis-Renderer des Plugins die Karten —
   das eigene Raster liegt in `.ln-search-results`, der Wrapper ist nur noch
   Container (linksbündiger Textfluss innerhalb der zentrierten 404-Sektion). */
.ln-404-search__grid {
	text-align: left;
}
.ln-404-search__empty {
	margin-top: 26px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
@media (max-width: 560px) {
	.ln-404-search__form { flex-direction: column; }
}

/* ============================================================
   Stellenausschreibungen — Fallback-Seitenwrapper (single/archive
   ln_karriere ohne Elementor-Vorlage). Karten-Optik kommt aus dem
   Plugin-Karriere-Renderer.
   ============================================================ */
.ln-jobs-page {
	max-width: var(--ln-container-max);
	margin: 0 auto;
	padding: 60px var(--ln-container-pad) 80px;
}
.ln-jobs-archive__title {
	margin: 0 0 28px;
	font-size: 34px;
	font-weight: 800;
	color: var(--ln-dark);
}
