/* ==========================================================================
   Caesars Palace Online Casino — Stylesheet
   Aufbau: Tokens -> Schriften -> Reset -> Layout -> Komponenten -> Utilities
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design-Tokens (Basis = schmale Ansicht, mobile-first)
   -------------------------------------------------------------------------- */
:root {
	/* Farben */
	--root: #f68c33;
	--zest: #0e0f19;
	--press: #000000;
	--field: #020305;
	--surface-2: #12131d;
	--script: #ffffff;
	--faint: #bebcbc;
	--divider: #23242f;
	--rule-bold: #3c3e4d;
	--grad-1: #3a436b;
	--blend-b: #20233a;
	--warn-band: #96281b;

	/* Abstände */
	--s-1: 8px;
	--s-2: 12px;
	--s-3: 16px;
	--s-4: 24px;
	--s-5: 32px;
	--s-6: 48px;
	--s-7: 72px;
	--s-8: 112px;

	/* Radien */
	--stadium: 9999px;
	--dot: 50%;
	--r-1: 2px;
	--r-2: 4px;
	--r-3: 6px;
	--r-4: 8px;
	--r-5: 14px;
	--r-6: 18px;
	--r-7: 22px;
	--r-8: 28px;

	/* Schriftfamilien */
	--head: "Montserrat", "Trebuchet MS", sans-serif;
	--base: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;

	/* Schriftgrößen */
	--xxl: clamp(26px, 8vw, 40px);
	--display-2: clamp(23px, 6.2vw, 30px);
	--sub: 22px;
	--md-2: 18px;
	--h5: 14px;
	--micro-head: 12px;
	--body: 17px;
	--sm: 14px;
	--mini: 11px;

	/* Zeilen, Sperrung, Gewichte */
	--close: 1.08;
	--default: 1.5;
	--roomy: 1.7;
	--normal: 400;
	--medium: 600;
	--bold: 800;
	--snug: -0.03em;
	--e-base: 0;
	--airy: 0.05em;

	/* Schatten */
	--d-1: 0 1px 1px rgba(0, 0, 0, 0.04);
	--d-2: 0 1px 2px rgba(0, 0, 0, 0.05);
	--d-3: 0 2px 4px rgba(0, 0, 0, 0.08);
	--d-4: 0 4px 10px rgba(0, 0, 0, 0.1);
	--d-5: 0 8px 20px rgba(0, 0, 0, 0.14);
	--d-6: 0 14px 30px rgba(0, 0, 0, 0.2);
	--d-7: 0 20px 44px rgba(0, 0, 0, 0.26);
	--d-8: 0 28px 60px rgba(0, 0, 0, 0.32);

	/* Bewegung */
	--swift: 146ms;
	--t-normal: 270ms;
	--calm: 443ms;
	--out: cubic-bezier(0.19, 0.76, 0.46, 0.99);
	--take-off: cubic-bezier(0.55, 0.05, 0.86, 0.32);
	--even: cubic-bezier(0.64, 0.01, 0.41, 0.95);
	--spring: cubic-bezier(0.34, 1.7, 0.68, 1.3);

	/* Container */
	--max: 1400px;
	--prose: 1400px;
	--short: 640px;
	--edge-wide: 56px;
	--inset-tablet: 24px;
	--edge-narrow: 16px;

	/* Linien */
	--hair: 1px;
	--b-base: 2px;
	--b-bold: 3px;

	/* Kopfzeile */
	--h-lg: 86px;
	--size-mobile: 64px;

	/* Eigene Maße dieser Ausgabe */
	--sec-y: 44px;
	--shell-h: 64px;
}

@media (min-width: 900px) {
	:root {
		--xxl: clamp(40px, 4.6vw, 72px);
		--display-2: clamp(30px, 3vw, 44px);
		--sub: 28px;
		--md-2: 20px;
		--h5: 16px;
		--micro-head: 14px;
		--body: 18px;
		--sm: 15px;
		--mini: 12px;
		--sec-y: 48px;
	}
}

/* --------------------------------------------------------------------------
   2. Schriften (eigener Host, keine Fremddomains)
   -------------------------------------------------------------------------- */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("/typeset/montserrat-latin-600-normal.woff2") format("woff2");
}

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

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/typeset/roboto-condensed-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 600 700;
	font-display: swap;
	src: url("/typeset/roboto-condensed-latin-700-normal.woff2") format("woff2");
}

/* --------------------------------------------------------------------------
   3. Reset und Grundlagen
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	overflow-x: clip;
}

html {
	scroll-behavior: auto;
}

body {
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--field);
	color: var(--script);
	font-family: var(--base);
	font-size: var(--body);
	font-weight: var(--normal);
	line-height: var(--default);
	-webkit-font-smoothing: antialiased;
}

.site-main {
	flex: 1 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: anywhere;
	margin: 0;
}

h1 {
	font-family: var(--head);
	font-weight: var(--bold);
	font-size: var(--xxl);
	line-height: var(--close);
	letter-spacing: var(--snug);
}

h2 {
	font-family: var(--head);
	font-weight: var(--medium);
	font-size: var(--display-2);
	line-height: var(--close);
	letter-spacing: var(--snug);
}

h3 {
	font-family: var(--base);
	font-weight: var(--medium);
	font-size: var(--sub);
	line-height: var(--default);
}

h4 {
	font-family: var(--base);
	font-weight: var(--medium);
	font-size: var(--md-2);
	line-height: var(--default);
}

h5 {
	font-family: var(--base);
	font-weight: var(--medium);
	font-size: var(--h5);
	line-height: var(--default);
}

h6 {
	font-family: var(--base);
	font-weight: var(--medium);
	font-size: var(--micro-head);
	line-height: var(--default);
}

p {
	margin: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

ul.b49-set,
ol.b49-order {
	padding-inline-start: var(--s-4);
}

img {
	max-width: 100%;
}

figure {
	margin: 0;
}

a {
	color: var(--root);
	background-color: transparent;
	text-decoration: none;
}

.b49-block a,
.b81-block a,
.i54-line a,
.u68-lead a {
	background-image: linear-gradient(var(--root), var(--root));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 100% 1px;
	transition: background-size var(--swift) var(--out);
}

.b49-block a:hover,
.b81-block a:hover,
.i54-line a:hover,
.u68-lead a:hover {
	background-size: 100% 3px;
	color: var(--root);
}

/* Sprungmarke bleibt außerhalb des Bildes, bis sie Fokus bekommt */
.skip-route {
	position: absolute;
	inset-inline-start: var(--s-3);
	z-index: 300;
	padding: var(--s-2) var(--s-4);
	border-radius: var(--r-4);
	background: var(--root);
	color: var(--press);
	font-family: var(--head);
	font-weight: var(--bold);
	font-size: var(--sm);
}

.skip-route:not(:focus) {
	top: -200px !important;
}

.skip-route:focus {
	top: var(--s-3);
}

:focus-visible {
	outline: 3px solid var(--root);
	outline-offset: 2px;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Gemeinsame Sektionsbreite aller Blöcke */
.k16-deck,
.u68-inner,
.v60-inner,
.t53-inner,
.p83-inner,
.v53-inner,
.t73-inner,
.c10-inner,
.b49-inner,
.n57-inner,
.b81-inner,
.j38-inner,
.o29-inner,
.v14-inner,
.l93-inner,
.f04-inner,
.i54-hold,
.rg-hold {
	width: 100%;
	max-width: calc(var(--max) + var(--edge-wide) + var(--inset-tablet));
	margin-inline: 0 auto;
	padding-inline: var(--edge-narrow);
}

@media (min-width: 900px) {
	.k16-deck,
	.u68-inner,
	.v60-inner,
	.t53-inner,
	.p83-inner,
	.v53-inner,
	.t73-inner,
	.c10-inner,
	.b49-inner,
	.n57-inner,
	.b81-inner,
	.j38-inner,
	.o29-inner,
	.v14-inner,
	.l93-inner,
	.f04-inner,
	.i54-hold,
	.rg-hold {
		margin-inline: clamp(0px, calc((100vw - var(--max)) * 0.22), 150px) auto;
		padding-inline: var(--edge-wide) var(--inset-tablet);
	}
}

/* --------------------------------------------------------------------------
   4. Hinweisband 18+ (RG-05)
   -------------------------------------------------------------------------- */
.rg-band {
	display: block;
	text-align: center;
	background: var(--zest);
	color: var(--faint);
	border-block-end: var(--hair) solid var(--divider);
	padding-block: var(--s-1);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	opacity: 1;
	transition: opacity var(--t-normal) var(--out);
}

.rg-hold {
	display: block;
}

.rg-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	min-height: 24px;
	margin-inline-end: var(--s-1);
	padding-inline: 6px;
	border-radius: var(--r-3);
	background: var(--warn-band);
	color: var(--script);
	font-family: var(--head);
	font-weight: var(--bold);
	font-size: var(--mini);
	vertical-align: middle;
}

.rg-band a {
	color: var(--root);
	background-color: transparent;
	text-decoration: underline;
}

.rg-say {
	display: inline;
}

@media (max-width: 619px) {
	.rg-say {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   5. Kopfzeile — HEAD-MIRROR (Menü links, Signet rechts)
   -------------------------------------------------------------------------- */
.k16 {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--field);
	color: var(--script);
	border-block-end: var(--hair) solid var(--divider);
	transition: box-shadow var(--t-normal) var(--out);
}

.k16.is-stuck {
	box-shadow: var(--d-5);
}

.k16-deck {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 86px;
	transition: height var(--t-normal) var(--out);
}

.k16.is-shrunk .k16-deck {
	height: 64px;
}

/* Menütaste (dots) */
.k16-menu-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	padding: 0;
	border: var(--hair) solid var(--divider);
	border-radius: var(--r-4);
	background: var(--surface-2);
	color: var(--script);
	cursor: pointer;
}

.k16-lines,
.k16-lines::before,
.k16-lines::after {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: var(--dot);
	background: var(--root);
}

.k16-lines {
	position: relative;
}

.k16-lines::before,
.k16-lines::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
}

.k16-lines::before {
	top: -9px;
}

.k16-lines::after {
	top: 9px;
}

/* Menüzeile */
.k16-map {
	display: none;
	align-items: center;
	flex: 0 1 auto;
	margin-inline-end: auto;
	min-width: auto;
}

.k16-set {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	list-style: none;
	overflow: hidden;
}

.k16-node {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.k16-node[hidden] {
	display: none;
}

.k16-node + .k16-node::before {
	content: "|";
	margin-inline-end: 12px;
	color: var(--rule-bold);
	font-size: var(--h5);
}

.k16-route {
	display: inline-flex;
	align-items: center;
	padding-block: 12px;
	white-space: nowrap;
	font-family: var(--base);
	font-size: 13px;
	font-weight: 400;
	font-variant: small-caps;
	letter-spacing: var(--airy);
	color: var(--script);
	background-color: var(--field);
	transition: transform var(--swift) var(--out), color var(--swift) var(--out);
}

.k16-route:hover {
	transform: translateY(-2px);
	color: var(--root);
	background-color: var(--field);
}

.k16-route[aria-current="page"] {
	border-inline-start: var(--b-bold) solid var(--root);
	padding-inline-start: 9px;
	color: var(--root);
	background-color: var(--field);
}

/* Überlauf: Taste „Mehr“ */
.k16-more {
	position: relative;
	flex: 0 0 auto;
	margin-inline-start: 12px;
}

.k16-more-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 44px;
	min-height: 44px;
	padding-inline: var(--s-2);
	border: var(--hair) solid var(--divider);
	border-radius: var(--r-4);
	background: var(--surface-2);
	color: var(--script);
	font-family: var(--head);
	font-size: var(--mini);
	font-weight: var(--medium);
	letter-spacing: var(--airy);
	cursor: pointer;
}

.k16-more-handle:hover {
	color: var(--root);
	background: var(--surface-2);
}

.k16-more-sheet {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	inset-inline-start: 0;
	z-index: 120;
	min-width: 220px;
	max-height: 70vh;
	overflow-y: auto;
	padding: var(--s-2);
	border: var(--hair) solid var(--divider);
	border-radius: var(--r-5);
	background: var(--surface-2);
	box-shadow: var(--d-6);
}

.k16-more-sheet.is-open {
	display: block;
}

.k16-more-set {
	display: block;
	list-style: none;
}

.k16-more-sheet .k16-node {
	display: block;
}

.k16-more-sheet .k16-node + .k16-node::before {
	content: none;
}

.k16-more-sheet .k16-route {
	display: block;
	padding: 10px var(--s-2);
	border-radius: var(--r-3);
	background-color: var(--surface-2);
	color: var(--script);
}

.k16-more-sheet .k16-route:hover {
	transform: none;
	color: var(--root);
	background-color: var(--surface-2);
}

/* Tasten rechts */
.k16-tools {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	margin-inline-start: auto;
	flex-shrink: 0;
}

.k16-soft {
	display: none;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding-inline: var(--s-4);
	border: var(--b-base) solid var(--rule-bold);
	border-radius: var(--r-4);
	background: var(--field);
	color: var(--script);
	font-family: var(--head);
	font-size: 13px;
	font-weight: var(--medium);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	white-space: nowrap;
}

.k16-soft:hover {
	background: var(--surface-2);
	color: var(--root);
}

/* Signet rechts */
.k16-emblem {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	background-color: transparent;
	color: var(--script);
}

.k16-emblem-media {
	display: block;
	height: 36px;
	width: auto;
	flex-shrink: 0;
	transition: height var(--t-normal) var(--out);
}

.k16.is-shrunk .k16-emblem-media {
	height: 30px;
}

.k16-emblem-copy {
	display: none;
	flex-direction: column;
	line-height: 1.05;
	font-family: var(--head);
	color: var(--script);
	background-color: var(--field);
}

.k16-emblem-byname {
	font-size: 17px;
	font-weight: var(--bold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--script);
}

.k16-emblem-credit {
	font-size: 10px;
	font-weight: var(--medium);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--root);
}

/* Auszugsfach für schmale Ansicht */
.k16-sheet {
	display: none;
	position: absolute;
	top: 100%;
	inset-inline: 0;
	z-index: 110;
	max-height: calc(100vh - var(--shell-h));
	overflow-y: auto;
	padding: var(--s-3) var(--edge-narrow) var(--s-5);
	background: var(--surface-2);
	border-block-end: var(--hair) solid var(--divider);
	box-shadow: var(--d-6);
}

.k16-sheet.is-open {
	display: block;
}

.k16-band {
	display: block;
	list-style: none;
}

.k16-band .k16-node {
	display: block;
}

.k16-band .k16-node + .k16-node::before {
	content: none;
}

.k16-band .k16-route {
	display: block;
	padding-block: 13px;
	border-block-end: var(--hair) solid var(--divider);
	background-color: var(--surface-2);
	color: var(--script);
	font-size: var(--sm);
}

.k16-band .k16-route:hover {
	transform: none;
	color: var(--root);
	background-color: var(--surface-2);
}

.k16-band .k16-route[aria-current="page"] {
	color: var(--root);
	background-color: var(--surface-2);
}

.k16-sheet .k16-soft {
	display: inline-flex;
	width: 100%;
	margin-block-start: var(--s-4);
}

@media (min-width: 480px) {
	.k16-emblem-copy {
		display: flex;
	}

	.k16-emblem-media {
		height: 44px;
	}
}

@media (min-width: 900px) {
	.k16-menu-handle {
		display: none;
	}

	.k16-sheet,
	.k16-sheet.is-open {
		display: none;
	}

	.k16-map {
		display: flex;
	}

	.k16-emblem-media {
		height: 58px;
	}

	.k16.is-shrunk .k16-emblem-media {
		height: 46px;
	}

	.k16-emblem-byname {
		font-size: 20px;
	}
}

@media (min-width: 900px) and (max-width: 1199px) {
	.k16-emblem-copy {
		display: none;
	}
}

@media (min-width: 1200px) {
	.k16-soft {
		display: inline-flex;
	}
}

/* --------------------------------------------------------------------------
   6. Angebotstaste — Grundmaße (Farbe und Bewegung siehe Abschnitt 18)
   -------------------------------------------------------------------------- */
.pal-act {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-1);
	min-height: 50px;
	padding: 14px 30px;
	border: 0;
	border-radius: var(--r-4);
	font-family: var(--head);
	font-size: 15px;
	font-weight: var(--bold);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
}

.k16-tools .pal-act {
	min-height: 44px;
	padding: 10px 18px;
	font-size: 13px;
}

@media (min-width: 1200px) {
	.k16-tools .pal-act {
		padding: 12px 26px;
		font-size: 14px;
	}
}

/* --------------------------------------------------------------------------
   7. Brotkrumen — BREAD-05 (Schrägstrich-Anzeige)
   -------------------------------------------------------------------------- */
.f04 {
	padding-block: var(--s-4);
	background: var(--field);
}

.f04-set {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	font-family: var(--head);
	font-weight: var(--bold);
	font-size: var(--h5);
	letter-spacing: var(--snug);
	text-transform: uppercase;
}

.f04-node + .f04-node::before {
	content: "/";
	margin-inline: var(--s-2);
	color: var(--root);
	font-family: var(--head);
	font-weight: var(--bold);
}

.f04-route {
	color: var(--faint);
	background-color: var(--field);
}

.f04-route:hover {
	color: var(--root);
	background-color: var(--field);
}

.f04-node[aria-current="page"] {
	color: var(--script);
	background-color: var(--field);
}

/* --------------------------------------------------------------------------
   8. Aufmacher — HERO-12 (Editorial Long-Read)
   -------------------------------------------------------------------------- */
.v60 {
	padding-block: var(--sec-y);
	background: var(--field);
	color: var(--script);
}

.v60-content {
	text-align: center;
}

.v60-tag {
	display: block;
	margin-block-end: var(--s-3);
	font-family: var(--base);
	font-style: italic;
	font-size: var(--sm);
	letter-spacing: var(--airy);
	color: var(--root);
	background-color: var(--field);
}

.v60-lead {
	max-width: var(--short);
	margin-block-start: var(--s-4);
	margin-inline: auto;
	font-size: var(--h5);
	font-style: italic;
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--field);
}

.v60-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-1);
	margin-block-start: var(--s-4);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--field);
}

.v60-date {
	color: var(--faint);
	background-color: var(--field);
}

.v60-figure {
	margin-block-start: var(--s-6);
}

.v60-media {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	border-radius: var(--r-5);
}

.v60-figure figcaption {
	padding-block-start: var(--s-2);
	font-size: var(--mini);
	font-style: italic;
	text-align: center;
	color: var(--faint);
	background-color: var(--field);
}

@media (min-width: 900px) {
	.v60 {
		padding-block: var(--s-7) var(--sec-y);
	}

	.v60-figure {
		margin-block-start: var(--s-7);
	}
}

/* --------------------------------------------------------------------------
   9. Seitenkopf — PHEAD-04 (zwei Spalten)
   -------------------------------------------------------------------------- */
.t53 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.t53-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-5);
}

.t53-tag {
	display: block;
	margin-block-end: var(--s-2);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--root);
	background-color: var(--field);
}

.t53-copy {
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--field);
}

.t53-date {
	display: block;
	margin-block-start: var(--s-3);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--field);
}

@media (min-width: 900px) {
	.t53-grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: var(--s-7);
		align-items: end;
	}
}

/* --------------------------------------------------------------------------
   10. Fließtext — PROSE-20 (luftiger Satz)
   -------------------------------------------------------------------------- */
.b49 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.b49-block {
	margin-block-start: var(--s-6);
}

.b49-block:first-child {
	margin-block-start: 0;
}

.b49-block h2 {
	margin-block: 0 var(--s-4);
	font-weight: var(--medium);
	letter-spacing: var(--snug);
}

.b49-copy {
	margin-block-end: var(--s-4);
	font-size: var(--body);
	line-height: 1.79;
	color: var(--script);
	background-color: var(--field);
}

.b49-copy:last-child {
	margin-block-end: 0;
}

.b49-set,
.b49-order {
	margin-block-end: var(--s-4);
	line-height: 1.79;
}

.b49-set li,
.b49-order li {
	margin-block-end: var(--s-2);
}

.b49-block strong {
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--field);
}

/* Bilder im Text */
.pic-frame {
	width: 100%;
	margin-block: var(--s-5);
	text-align: center;
}

.pic-shot {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: var(--r-5);
}

.pic-wide .pic-shot {
	max-width: 720px;
}

.pic-square .pic-shot {
	max-width: 470px;
}

.pic-tall .pic-shot {
	max-width: 360px;
}

.pic-frame figcaption {
	padding-block-start: var(--s-2);
	font-size: var(--mini);
	font-style: italic;
	color: var(--faint);
	background-color: var(--field);
}

/* --------------------------------------------------------------------------
   11. Kartenraster — GRID-13 (Karten mit passenden Zeichen)
   -------------------------------------------------------------------------- */
.p83 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.p83-head {
	margin-block-end: var(--s-5);
}

.p83-set {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-5);
	list-style: none;
}

.p83-node {
	display: flex;
}

.p83-panel {
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	width: 100%;
	padding: var(--s-5);
	border: var(--hair) solid var(--divider);
	border-radius: var(--r-4);
	background: var(--surface-2);
	color: var(--script);
}

.p83-media {
	display: block;
	width: 32px;
	height: 32px;
	fill: currentColor;
	color: var(--root);
	background-color: var(--surface-2);
}

.p83-panel h3 {
	margin-block-start: var(--s-1);
	font-family: var(--head);
	font-size: var(--h5);
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--surface-2);
}

.p83-copy {
	font-size: var(--sm);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--surface-2);
}

@media (min-width: 600px) {
	.p83-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1240px) {
	.p83-set {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* --------------------------------------------------------------------------
   12. Stimmen — REV-09 (Magazin-Zitat)
   -------------------------------------------------------------------------- */
.t73 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.t73-head {
	margin-block-end: var(--s-5);
	text-align: center;
}

.t73-set {
	list-style: none;
}

.t73-node {
	padding-block: var(--s-6);
	text-align: center;
}

.t73-quote {
	margin: 0;
}

.t73-copy {
	max-width: var(--short);
	margin-inline: auto;
	font-family: var(--head);
	font-size: var(--sub);
	font-style: italic;
	font-weight: var(--medium);
	line-height: var(--close);
	letter-spacing: var(--snug);
	color: var(--script);
	background-color: var(--field);
}

.t73-tag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	margin-block-start: var(--s-4);
	font-size: var(--sm);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--field);
}

.t73-credit {
	color: var(--root);
	background-color: var(--field);
	font-weight: var(--medium);
	letter-spacing: var(--airy);
}

.t73-rule {
	width: 80px;
	height: 0;
	margin-inline: auto;
	margin-block: 0;
	border: 0;
	border-block-start: var(--hair) solid var(--divider);
}

/* --------------------------------------------------------------------------
   13. Fragen — FAQ-05 (natives details/summary)
   -------------------------------------------------------------------------- */
.v53 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.v53-head {
	margin-block-end: var(--s-5);
}

.v53-set {
	list-style: none;
}

.v53-node {
	border-block-end: var(--hair) solid var(--divider);
}

.v53-block {
	padding-block: var(--s-4);
}

.v53-question {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--s-4);
	cursor: pointer;
	list-style: none;
	color: var(--script);
	background-color: var(--field);
}

.v53-question::-webkit-details-marker {
	display: none;
}

.v53-question h3 {
	font-family: var(--head);
	font-size: var(--h5);
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--field);
}

.v53-question:hover h3 {
	color: var(--root);
	background-color: var(--field);
}

.v53-question::after {
	content: "";
	flex-shrink: 0;
	width: 11px;
	height: 11px;
	margin-block-start: 6px;
	border-inline-end: var(--b-base) solid var(--root);
	border-block-end: var(--b-base) solid var(--root);
	transform: rotate(45deg);
	transition: transform var(--t-normal) var(--out);
}

.v53-block[open] .v53-question::after {
	transform: rotate(-135deg);
}

.v53-content {
	padding-block-start: var(--s-3);
	overflow: hidden;
}

.v53-block[open] .v53-content {
	animation: v53-unfold var(--t-normal) var(--out) both;
}

.v53-copy {
	font-size: var(--body);
	line-height: 1.79;
	color: var(--faint);
	background-color: var(--field);
}

@keyframes v53-unfold {
	from {
		opacity: 0;
		max-height: 0;
	}

	to {
		opacity: 1;
		max-height: 1200px;
	}
}

/* --------------------------------------------------------------------------
   14. Tabelle — TABLE-04 (erste Spalte betont)
   -------------------------------------------------------------------------- */
.n57 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.n57-head {
	margin-block-end: var(--s-5);
}

.n57-scroll {
	width: 100%;
	overflow-x: auto;
	border-radius: var(--r-4);
	border: var(--hair) solid var(--divider);
}

.n57-grid {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	font-size: var(--sm);
}

.n57-grid thead th {
	padding: var(--s-3) var(--s-4);
	text-align: start;
	font-family: var(--head);
	font-size: var(--micro-head);
	font-weight: var(--bold);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	background: var(--root);
	color: var(--press);
}

.n57-grid thead th + th {
	background: #b4641f;
	color: var(--script);
}

.n57-grid tbody td {
	padding: var(--s-3) var(--s-4);
	border-block-start: var(--hair) solid var(--divider);
	color: var(--faint);
	background: var(--surface-2);
	vertical-align: top;
}

.n57-grid tbody td:first-child {
	border-inline-end: 4px solid var(--zest);
	font-weight: var(--medium);
	background: var(--root);
	color: var(--press);
}

.n57-tag {
	display: block;
	margin-block-start: var(--s-2);
	font-size: var(--mini);
	color: var(--faint);
	background-color: var(--field);
}

/* --------------------------------------------------------------------------
   15. Aufruf — CTA-07 (Karte mit Zierzahl)
   -------------------------------------------------------------------------- */
.c10 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.c10-panel {
	max-width: 860px;
	margin-inline: auto;
	padding: var(--s-6) var(--s-5);
	border: var(--b-base) solid var(--root);
	border-radius: var(--r-5);
	background: var(--surface-2);
	color: var(--script);
	text-align: center;
}

.c10-figure {
	display: block;
	margin-block-end: var(--s-3);
	font-family: var(--head);
	font-size: var(--xxl);
	font-weight: var(--bold);
	line-height: var(--close);
	letter-spacing: var(--snug);
	color: var(--root);
	background-color: var(--surface-2);
}

.c10-panel h2 {
	color: var(--script);
	background-color: var(--surface-2);
}

.c10-copy {
	max-width: var(--short);
	margin-block: var(--s-4);
	margin-inline: auto;
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--surface-2);
}

.c10-note {
	display: block;
	margin-block-start: var(--s-3);
	font-size: var(--mini);
	color: var(--faint);
	background-color: var(--surface-2);
}

/* --------------------------------------------------------------------------
   16. Textanker — INLINE-CTA-03
   -------------------------------------------------------------------------- */
.i54 {
	padding-block: var(--s-4);
}

.i54-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-3);
	text-align: center;
	font-size: var(--md-2);
	line-height: var(--default);
	color: var(--script);
	background-color: var(--field);
}

.i54-line strong {
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--field);
}

/* --------------------------------------------------------------------------
   17. Rechtstexte — LEGAL-02 (nummerierte Abschnitte)
   -------------------------------------------------------------------------- */
.b81 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.b81-content {
	counter-reset: legal-section;
}

.b81-lead {
	margin-block-end: var(--s-6);
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--field);
}

.b81-block {
	counter-increment: legal-section;
	margin-block-start: var(--s-6);
}

.b81-block h3 {
	margin-block-end: var(--s-3);
	font-family: var(--head);
	font-size: var(--md-2);
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--field);
}

.b81-block h3::before {
	content: counter(legal-section) ". ";
	margin-inline-end: var(--s-1);
	color: var(--root);
	font-family: var(--head);
	font-weight: var(--bold);
}

.b81-copy {
	margin-block-end: var(--s-4);
	font-size: var(--body);
	line-height: 1.79;
	color: var(--script);
	background-color: var(--field);
}

.b81-set {
	margin-block: var(--s-4);
	padding-inline-start: var(--s-4);
	line-height: 1.79;
	color: var(--faint);
}

.b81-set li {
	margin-block-end: var(--s-2);
}

.b81-note {
	margin-block-start: var(--s-6);
	padding: var(--s-4);
	border-inline-start: var(--b-bold) solid var(--root);
	border-radius: var(--r-3);
	background: var(--surface-2);
	color: var(--faint);
	font-size: var(--sm);
	line-height: var(--roomy);
}

.b81-date {
	display: block;
	margin-block-start: var(--s-4);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--field);
}

@media (min-width: 900px) {
	.b81-copy,
	.b81-set {
		padding-inline-start: var(--s-4);
	}
}

/* --------------------------------------------------------------------------
   18. Formular — FORM-08 (breite Absendetaste)
   -------------------------------------------------------------------------- */
.j38 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.j38-panel {
	padding: var(--s-5);
	border: var(--hair) solid var(--divider);
	border-radius: var(--r-4);
	background: var(--surface-2);
	color: var(--script);
}

.j38-copy {
	margin-block-end: var(--s-5);
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--surface-2);
}

.j38-control {
	display: flex;
	flex-direction: column;
	gap: var(--s-1);
	margin-block-end: var(--s-4);
}

.j38-note {
	font-size: var(--sm);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--surface-2);
}

.j38-control input,
.j38-control textarea {
	width: 100%;
	padding: var(--s-2) var(--s-3);
	border: var(--hair) solid var(--rule-bold);
	border-radius: var(--r-3);
	background: var(--field);
	color: var(--script);
	font-family: var(--base);
	font-size: var(--body);
}

.j38-control textarea {
	min-height: 160px;
	resize: vertical;
}

.j38-go {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 72px;
	border: 0;
	border-radius: var(--r-4);
	background: var(--root);
	color: var(--press);
	font-family: var(--head);
	font-size: var(--md-2);
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform var(--swift) var(--out);
}

.j38-go:hover {
	transform: translateY(-3px);
	background: var(--root);
	color: var(--press);
}

.j38-message {
	display: none;
	margin-block-start: var(--s-4);
	padding: var(--s-4);
	border-radius: var(--r-3);
	background: var(--zest);
	color: var(--script);
	font-size: var(--body);
}

.j38-message.is-open {
	display: block;
}

/* --------------------------------------------------------------------------
   19. Autorin — AUTH-01 (Karte) und BYLINE-01 (Zeile)
   -------------------------------------------------------------------------- */
.o29 {
	padding-block: var(--sec-y);
	background: var(--field);
}

.o29-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-5);
	padding: var(--s-5);
	border-radius: var(--r-5);
	background: var(--surface-2);
	color: var(--script);
	box-shadow: var(--d-3);
}

.o29-pic {
	width: 120px;
	height: 120px;
	overflow: hidden;
	border-radius: var(--dot);
	justify-self: center;
	background: var(--zest);
}

.o29-pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.o29-content {
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
}

.o29-job {
	font-family: var(--base);
	font-weight: var(--medium);
	font-size: var(--sm);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--root);
	background-color: var(--surface-2);
}

.o29-panel h2 {
	color: var(--script);
	background-color: var(--surface-2);
}

.o29-copy {
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--surface-2);
}

.o29-set {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-2);
	list-style: none;
}

.o29-node {
	padding: var(--s-1) var(--s-3);
	border-radius: var(--stadium);
	background: var(--root);
	color: var(--press);
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
}

.o29-shelf {
	margin-block-start: var(--s-6);
}

.o29-shelf h2 {
	margin-block-end: var(--s-4);
}

.o29-links {
	list-style: none;
}

.o29-links li {
	padding-block: var(--s-2);
	border-block-end: var(--hair) solid var(--divider);
}

.o29-links a {
	color: var(--script);
	background-color: var(--field);
	font-size: var(--body);
}

.o29-links a:hover {
	color: var(--root);
	background-color: var(--field);
}

.o29-links li.is-lead a {
	color: var(--root);
	background-color: var(--field);
	font-weight: var(--medium);
}

@media (min-width: 900px) {
	.o29-panel {
		grid-template-columns: 160px minmax(0, 1fr);
		gap: var(--s-6);
		padding: var(--s-6) var(--s-5);
		align-items: start;
	}

	.o29-pic {
		width: 160px;
		height: 160px;
		justify-self: start;
	}
}

.v14 {
	padding-block: var(--s-4);
}

.v14-strip {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding-block: var(--s-3);
	border-block-start: var(--hair) solid var(--divider);
}

.v14-pic {
	display: block;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: var(--dot);
	background: var(--zest);
}

.v14-pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.v14-copy {
	font-size: var(--sm);
	color: var(--faint);
	background-color: var(--field);
}

.v14-copy a {
	color: var(--root);
	background-color: var(--field);
	text-decoration: underline;
}

.v14-credit {
	margin-block-start: 4px;
	font-size: var(--mini);
	font-style: italic;
	color: var(--faint);
	background-color: var(--field);
}

.v14-date {
	margin-inline-start: var(--s-1);
	color: var(--faint);
	background-color: var(--field);
}

/* --------------------------------------------------------------------------
   20. Fehlerseite — ERR-07 (geometrischer Grund)
   -------------------------------------------------------------------------- */
.l93 {
	display: flex;
	flex: 1 0 auto;
	align-items: center;
	padding-block: var(--s-7);
	background-color: var(--field);
	background-image:
		linear-gradient(rgba(246, 140, 51, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(246, 140, 51, 0.08) 1px, transparent 1px);
	background-size: 40px 40px;
}

.l93-content {
	max-width: var(--short);
	margin-inline: auto;
	text-align: center;
}

.l93-figure {
	display: block;
	margin-block-end: var(--s-3);
	font-family: var(--head);
	font-size: clamp(64px, 16vw, 132px);
	font-weight: var(--bold);
	line-height: var(--close);
	color: var(--root);
	background-color: transparent;
}

.l93-copy {
	margin-block: var(--s-4) var(--s-5);
	font-size: var(--body);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: transparent;
}

.l93-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 14px 30px;
	border-radius: var(--r-4);
	background: var(--root);
	color: var(--press);
	font-family: var(--head);
	font-size: var(--h5);
	font-weight: var(--bold);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	transition: transform var(--swift) var(--out);
}

.l93-go:hover {
	transform: translateY(-3px);
	background: var(--root);
	color: var(--press);
}

.site-main:has(> .l93) {
	display: flex;
	flex-direction: column;
}

/* --------------------------------------------------------------------------
   21. Fußzeile — FOOT-03 (massiv zentriert)
   -------------------------------------------------------------------------- */
.u68 {
	padding-block: var(--s-7);
	background: var(--zest);
	border-block-start: var(--hair) solid var(--divider);
}

.u68-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-5);
	text-align: center;
}

.u68-emblem {
	display: inline-flex;
	background-color: transparent;
}

.u68-emblem img {
	display: block;
	width: auto;
	height: 72px;
}

.u68-map {
	width: 100%;
}

.u68-set {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-2) var(--s-5);
	list-style: none;
}

.u68-route {
	font-family: var(--head);
	font-size: var(--sm);
	font-weight: var(--medium);
	color: var(--script);
	background-color: var(--zest);
}

.u68-route:hover {
	color: var(--root);
	background-color: var(--zest);
}

.u68-lead {
	max-width: 480px;
	font-size: var(--sm);
	line-height: var(--roomy);
	color: var(--faint);
	background-color: var(--zest);
}

.u68-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-3);
	list-style: none;
}

.u68-strip li + li::before {
	content: "·";
	margin-inline-end: var(--s-3);
	color: var(--rule-bold);
}

.u68-strip a {
	font-size: var(--mini);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	color: var(--faint);
	background-color: var(--zest);
}

.u68-strip a:hover {
	color: var(--root);
	background-color: var(--zest);
}

.u68-tag {
	font-size: var(--mini);
	color: var(--faint);
	background-color: var(--zest);
}

.u68-hook {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-2);
}

@media (min-width: 900px) {
	.u68-emblem img {
		height: 88px;
	}
}

/* --------------------------------------------------------------------------
   22. Hinweiskarte Cookies — COOK-09 (linke Platte)
   -------------------------------------------------------------------------- */
.g39 {
	position: fixed;
	inset-block-end: var(--s-5);
	inset-inline-start: var(--s-5);
	inset-inline-end: auto;
	z-index: 90;
	max-width: min(420px, calc(100vw - 2 * var(--s-5)));
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
	padding: var(--s-4);
	border-inline-start: 4px solid var(--root);
	border-start-end-radius: var(--r-3);
	border-end-end-radius: var(--r-3);
	background: var(--field);
	color: var(--script);
	box-shadow: var(--d-5);
	opacity: 1;
	clip-path: inset(0 0 0 0);
	transition: opacity var(--t-normal) var(--out), clip-path var(--t-normal) var(--out), visibility 0s linear 0s;
}

.g39.is-gone {
	opacity: 0;
	visibility: hidden;
	clip-path: inset(0 0 100% 0);
	pointer-events: none;
	transition: opacity var(--t-normal) var(--out), clip-path var(--t-normal) var(--out), visibility 0s linear var(--t-normal);
}

.g39[hidden] {
	display: none;
}

.g39-message {
	font-size: var(--sm);
	line-height: var(--default);
	color: var(--script);
	background-color: var(--field);
}

.g39-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--s-3);
}

.g39-confirm,
.g39-skip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: var(--s-1) var(--s-3);
	border-radius: var(--r-4);
	font-family: var(--head);
	font-size: var(--micro-head);
	font-weight: var(--bold);
	letter-spacing: var(--airy);
	text-transform: uppercase;
	cursor: pointer;
}

.g39-confirm {
	border: 0;
	background: var(--root);
	color: var(--press);
}

.g39-confirm:hover {
	background: var(--root);
	color: var(--press);
}

.g39-skip {
	border: var(--hair) solid var(--rule-bold);
	background: var(--surface-2);
	color: var(--script);
}

.g39-skip:hover {
	background: var(--surface-2);
	color: var(--root);
}

@media (max-width: 700px) {
	.g39 {
		inset-inline: var(--s-3);
		inset-block-end: var(--s-3);
		max-width: none;
		padding: 12px 14px;
		gap: 8px;
		font-size: 13px;
		line-height: 1.35;
	}

	.g39-message {
		font-size: 13px;
		line-height: 1.35;
	}

	.g39-confirm,
	.g39-skip {
		flex: 1 1 auto;
		padding: 8px 14px;
		font-size: 12px;
		min-height: 36px;
	}
}

/* --------------------------------------------------------------------------
   23. Auftritt der Blöcke (Bewegung: blur-in)
   -------------------------------------------------------------------------- */
[data-onview] {
	opacity: 0;
	filter: blur(10px);
	transform: translateY(30px);
	transition: opacity var(--calm) var(--out), filter var(--calm) var(--out), transform var(--calm) var(--out);
}

[data-onview].is-live {
	opacity: 1;
	filter: blur(0);
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}

	[data-onview] {
		opacity: 1;
		filter: none;
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   24. Ankerabstand unter der Kopfzeile
   -------------------------------------------------------------------------- */
[id] {
	scroll-margin-block-start: calc(var(--shell-h) + 16px);
}

/* --------------------------------------------------------------------------
   25. Angebotstaste — Farbe und Dauerbewegung (scripts/cta-style.mjs)
   -------------------------------------------------------------------------- */
.pal-act {
	background: #16A34A;
	color: #000000;
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--swift) linear, transform var(--swift) linear;
}

.pal-act.pal-act {
	color: #000000;
	text-decoration: none;
}

.pal-act:hover {
	background: #15803D;
	color: #FFFFFF;
	animation: none;
}

.pal-act.pal-act:hover {
	color: #FFFFFF;
	text-decoration: none;
}

.pal-act:hover::after {
	animation: none;
}

.pal-act:active {
	background: #166534;
	color: #FFFFFF;
}

.pal-act:focus-visible {
	outline: 3px solid #000000;
	outline-offset: 3px;
}

.pal-act {
	animation: pal-stamp 1.09s var(--even) infinite;
}

@keyframes pal-stamp {
	0% {
		transform: translate(0, 0);
	}

	14.679% {
		transform: translate(2px, 2px);
	}

	49.541%,
	100% {
		transform: translate(0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pal-act,
	.pal-act::after {
		animation: none !important;
		transition: none !important;
	}
}

.i54-hook {
	flex-shrink: 1;
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 925px) {
  .k16-map,
  .k16-set,
  .k16-more { display: none !important; }
  .k16-menu-handle { display: flex !important; }
}

/* nojs guard 28.09.2026: без JS контент виден */
html.no-js [data-onview]{opacity:1!important;transform:none!important;visibility:visible!important;clip-path:none!important}
