/* ==========================================================================
   Spin Better CZ — základní styly
   Škála: TYPO-07 / SPACE-05 / CONT-07 / BP-01 / GEO-04
   Strategie: mobile-first, min-width dotazy
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokeny
   -------------------------------------------------------------------------- */
:root {
	/* barvy */
	--lft-pillar: #040e27;
	--lft-focus: #f98143;
	--lft-spot-deep: #f8691a;
	--lft-bg: #0e0f0f;
	--lft-panel: #17191a;
	--lft-letters: #ffffff;
	--lft-dim: #bdbdbd;
	--lft-edge: #2b2d2e;
	--lft-line-strong: #404344;
	--lft-gradient-light: #fcd4b8;
	--lft-ramp-end: #f99e6d;
	--lft-rg-banner: #a71e34;

	/* rozestupy */
	--lft-1: 3px;
	--lft-2: 10px;
	--lft-3: 18px;
	--lft-4: 28px;
	--lft-5: 44px;
	--lft-6: 60px;
	--lft-7: 88px;
	--lft-8: 128px;

	/* zaoblení */
	--r-1: 2px;
	--r-2: 4px;
	--r-3: 6px;
	--r-4: 8px;
	--r-5: 14px;
	--r-6: 20px;
	--r-7: 26px;
	--r-8: 32px;
	--lft-lozenge: 9999px;
	--lft-dot: 50%;

	/* stíny */
	--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 12px 28px rgba(0, 0, 0, 0.18);
	--d-7: 0 18px 40px rgba(0, 0, 0, 0.22);
	--d-8: 0 26px 60px rgba(0, 0, 0, 0.28);

	/* písma */
	--lft-lead: "Righteous", "Trebuchet MS", sans-serif;
	--lft-copy: "Inter", "Segoe UI", system-ui, sans-serif;

	/* velikosti — mobilní stupnice TYPO-07 */
	--lft-display-1: 32px;
	--lft-display-2: 26px;
	--lft-display-3: 22px;
	--lft-md-2: 19px;
	--lft-minor: 17px;
	--lft-micro-head: 15px;
	--lft-reading: 18px;
	--lft-fine: 15px;
	--lft-tiny: 13px;

	/* prokládání a řezy */
	--lft-close: 1.2;
	--lft-base: 1.7;
	--lft-airy: 2;
	--w-base: 400;
	--lft-semi: 500;
	--lft-thick: 600;
	--lft-packed: -0.01em;
	--lft-default: 0;
	--lft-wide: 0.02em;

	/* kontejnery */
	--lft-main: 1060px;
	--lft-narrow: 440px;
	--lft-pad-lg: 48px;
	--lft-edge-mid: 24px;
	--lft-pad-sm: 16px;
	--lft-wrap: calc(var(--lft-main) + 2 * var(--lft-pad-lg));

	/* linky */
	--lft-hair: 1px;
	--lft-medium: 2px;
	--lft-bold: 3px;

	/* výška hlavičky */
	--lft-h-lg: 56px;
	--lft-h-sm: 52px;
	--lft-shell: 138px;

	/* pohyb */
	--lft-fast: 197ms;
	--lft-normal: 390ms;
	--lft-easy: 620ms;
	--lft-land: cubic-bezier(0.25, 0.74, 0.54, 0.96);
	--lft-both: cubic-bezier(0.44, 0, 0.32, 0.98);
	--lft-spring: cubic-bezier(0.34, 1.7, 0.66, 1.25);

	/* svislý rytmus sekcí */
	--lft-sec-y: 44px;
}

@media (min-width: 760px) {
	:root {
		--lft-display-1: 48px;
		--lft-display-2: 36px;
		--lft-display-3: 26px;
		--lft-md-2: 21px;
		--lft-minor: 18px;
		--lft-micro-head: 16px;
		--lft-reading: 19px;
		--lft-fine: 16px;
		--lft-tiny: 14px;
	}
}

/* --------------------------------------------------------------------------
   2. Písma na vlastním serveru
   -------------------------------------------------------------------------- */
@font-face {
	font-display: swap;
	font-family: "Righteous";
	font-style: normal;
	font-weight: 400;
	src: url("/typeset/righteous-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-display: swap;
	font-family: "Righteous";
	font-style: normal;
	font-weight: 400;
	src: url("/typeset/righteous-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	src: url("/typeset/inter-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	src: url("/typeset/inter-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	src: url("/typeset/inter-latin-ext-500-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	src: url("/typeset/inter-latin-500-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 600;
	src: url("/typeset/inter-latin-ext-600-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-display: swap;
	font-family: "Inter";
	font-style: normal;
	font-weight: 600;
	src: url("/typeset/inter-latin-600-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
   3. Reset a základ
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	overflow-x: clip;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	background: var(--lft-bg);
	color: var(--lft-letters);
	display: flex;
	flex-direction: column;
	font-family: var(--lft-copy);
	font-size: var(--lft-reading);
	font-weight: var(--w-base);
	letter-spacing: var(--lft-default);
	line-height: var(--lft-airy);
	margin: 0;
	margin-block-start: var(--lft-shell);
	min-height: 100vh;
}

main {
	display: block;
	flex: 1 0 auto;
}

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

h1,
h2 {
	color: var(--lft-letters);
	font-family: var(--lft-lead);
	font-weight: var(--lft-thick);
	letter-spacing: var(--lft-packed);
	line-height: var(--lft-close);
	margin: 0;
}

h3,
h4 {
	color: var(--lft-letters);
	font-family: var(--lft-copy);
	font-weight: var(--lft-thick);
	line-height: var(--lft-close);
	margin: 0;
}

h5,
h6 {
	color: var(--lft-letters);
	font-family: var(--lft-copy);
	font-weight: var(--lft-semi);
	line-height: var(--lft-close);
	margin: 0;
}

h1 {
	font-size: var(--lft-display-1);
}

h2 {
	font-size: var(--lft-display-2);
}

h3 {
	font-size: var(--lft-display-3);
}

h4 {
	font-size: var(--lft-md-2);
}

p {
	margin: 0;
}

img {
	max-width: 100%;
}

svg {
	fill: currentColor;
}

table {
	border-collapse: collapse;
}

button {
	font: inherit;
}

/* --------------------------------------------------------------------------
   4. Přístupnost a pohyb
   -------------------------------------------------------------------------- */
.skip-link {
	background: var(--lft-focus);
	border-radius: 0 0 var(--r-4) 0;
	color: var(--lft-pillar);
	font-weight: var(--lft-thick);
	inset-inline-start: 0;
	padding: var(--lft-2) var(--lft-3);
	position: fixed;
	text-decoration: none;
	top: 0;
	z-index: 300;
}

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

.sr-only {
	block-size: 1px;
	clip-path: inset(50%);
	inline-size: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
}

[data-reveal] > * {
	clip-path: inset(0 0 100% 0);
	opacity: 0;
	transform: translateY(22px);
	transition: clip-path var(--lft-easy) var(--lft-land), opacity var(--lft-easy) var(--lft-land), transform var(--lft-easy) var(--lft-land);
}

[data-reveal].in-view > * {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transform: translateY(0);
}

@keyframes lft-enter {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

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

	[data-reveal] > * {
		clip-path: none;
		opacity: 1;
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   5. Sdílené obaly sekcí a odkazy v textu
   -------------------------------------------------------------------------- */
.arabesque-pure-body,
.arch-edge-body,
.barrow-fine-body,
.catwalk-fresh-body,
.court-clean-body,
.crown-clean-body,
.gallery-dark-body,
.gangway-zone-body,
.grotto-fast-body,
.grove-apex-body,
.mast-grave-body,
.mullion-neat-body,
.parquet-cool-body,
.pilier-deep-body,
.pic-body,
.salon-alt-body,
.tablette-fluid-body,
.tribune-deep-body {
	display: block;
	margin-inline: auto;
	max-width: var(--lft-wrap);
	padding-inline: var(--lft-pad-sm);
	width: 100%;
}

@media (min-width: 760px) {
	.arabesque-pure-body,
	.arch-edge-body,
	.barrow-fine-body,
	.catwalk-fresh-body,
	.court-clean-body,
	.crown-clean-body,
	.gallery-dark-body,
	.gangway-zone-body,
	.grotto-fast-body,
	.grove-apex-body,
	.mast-grave-body,
	.mullion-neat-body,
	.parquet-cool-body,
	.pilier-deep-body,
	.pic-body,
	.salon-alt-body,
	.tablette-fluid-body,
	.tribune-deep-body {
		padding-inline: var(--lft-edge-mid);
	}
}

@media (min-width: 1080px) {
	.arabesque-pure-body,
	.arch-edge-body,
	.barrow-fine-body,
	.catwalk-fresh-body,
	.court-clean-body,
	.crown-clean-body,
	.gallery-dark-body,
	.gangway-zone-body,
	.grotto-fast-body,
	.grove-apex-body,
	.mast-grave-body,
	.mullion-neat-body,
	.parquet-cool-body,
	.pilier-deep-body,
	.pic-body,
	.salon-alt-body,
	.tablette-fluid-body,
	.tribune-deep-body {
		padding-inline: var(--lft-pad-lg);
	}
}

.arabesque-pure,
.court-clean,
.gallery-dark,
.grove-apex,
.mast-grave,
.mullion-neat,
.parquet-cool,
.pic-frame,
.pilier-deep,
.salon-alt {
	background: var(--lft-bg);
	color: var(--lft-letters);
	padding-block: var(--lft-sec-y);
}

/* --------------------------------------------------------------------------
   6. Značka 18+ nad hlavičkou
   -------------------------------------------------------------------------- */
.rg-band {
	align-items: center;
	background: var(--lft-panel);
	border-block-end: var(--lft-hair) solid var(--lft-edge);
	color: var(--lft-letters);
	display: flex;
	font-size: var(--lft-tiny);
	gap: var(--lft-2);
	justify-content: center;
	line-height: var(--lft-close);
	min-height: 30px;
	padding: var(--lft-1) var(--lft-3);
	text-align: center;
}

.rg-mark {
	align-items: center;
	background: var(--lft-rg-banner);
	border-radius: var(--lft-dot);
	color: var(--lft-letters);
	display: inline-flex;
	flex-shrink: 0;
	font-size: 12px;
	font-weight: var(--lft-thick);
	height: 26px;
	justify-content: center;
	letter-spacing: var(--lft-default);
	width: 26px;
}

.rg-say {
	color: var(--lft-dim);
}

.rg-link {
	color: var(--lft-focus);
	flex-shrink: 0;
	text-decoration: underline;
	text-decoration-thickness: var(--lft-hair);
	text-underline-offset: 2px;
}

.rg-link:hover {
	color: var(--lft-gradient-light);
	text-decoration-thickness: var(--lft-medium);
}

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

/* --------------------------------------------------------------------------
   7. arabesque-pure — mřížka karet (GRID-11, smíšené velikosti bloků)
   -------------------------------------------------------------------------- */
.arabesque-pure-head {
	margin-block-end: var(--lft-4);
}

.arabesque-pure-set {
	align-items: stretch;
	display: grid;
	gap: var(--lft-3);
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}

.arabesque-pure-item {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-5);
	color: var(--lft-letters);
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	padding: var(--lft-4);
	transition: border-color var(--lft-normal) var(--lft-land);
}

.arabesque-pure-item:hover {
	border-color: var(--lft-focus);
}

.arabesque-pure-glow {
	align-items: center;
	background: var(--lft-bg);
	border: var(--lft-hair) solid var(--lft-line-strong);
	border-radius: var(--lft-dot);
	color: var(--lft-focus);
	display: inline-flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.arabesque-pure-glow svg {
	height: 21px;
	width: 21px;
}

.arabesque-pure-item h3 {
	font-size: var(--lft-md-2);
}

.arabesque-pure-note {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
}

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

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

	.arabesque-pure-item-lead {
		grid-column: span 2;
		padding: var(--lft-5);
	}

	.arabesque-pure-item-wide {
		grid-column: span 3;
		padding: var(--lft-5);
	}

	.arabesque-pure-item-lead h3,
	.arabesque-pure-item-wide h3 {
		font-size: var(--lft-display-3);
	}

	.arabesque-pure-item-lead .arabesque-pure-note,
	.arabesque-pure-item-wide .arabesque-pure-note {
		font-size: var(--lft-reading);
	}
}

@media (min-width: 760px) and (max-width: 1079px) {
	.arabesque-pure-item-wide {
		grid-column: span 2;
	}
}

/* --------------------------------------------------------------------------
   8. arch-edge — blok chyby (ERR-01, vystředěný hero styl)
   -------------------------------------------------------------------------- */
.arch-edge {
	background: var(--lft-bg);
	color: var(--lft-letters);
	display: flex;
	flex: 1 0 auto;
	padding-block: var(--lft-6);
}

.arch-edge-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--lft-4);
	text-align: center;
}

.arch-edge-digits {
	color: var(--lft-focus);
	font-family: var(--lft-lead);
	font-size: clamp(80px, 16vw, 200px);
	font-weight: var(--lft-thick);
	line-height: var(--lft-close);
}

.arch-edge-head {
	max-width: var(--lft-narrow);
}

.arch-edge-note {
	color: var(--lft-dim);
	font-size: var(--lft-minor);
	line-height: var(--lft-base);
	max-width: var(--lft-narrow);
}

.arch-edge-btn {
	align-items: center;
	background: var(--lft-focus);
	border-radius: var(--r-4);
	color: var(--lft-pillar);
	display: inline-flex;
	font-family: var(--lft-lead);
	font-weight: var(--lft-thick);
	justify-content: center;
	letter-spacing: var(--lft-wide);
	min-height: 52px;
	padding-inline: var(--lft-6);
	text-decoration: none;
	transition: background var(--lft-fast) var(--lft-land), transform var(--lft-fast) var(--lft-land);
}

.arch-edge-btn:hover {
	background: var(--lft-spot-deep);
	color: var(--lft-pillar);
	transform: translateY(-4px);
}

/* --------------------------------------------------------------------------
   9. barrow-fine — cookie lišta (COOK-04, vyjíždí zdola s podkladem)
   -------------------------------------------------------------------------- */
.barrow-fine-veil {
	background: #000000;
	display: none;
	inset: 0;
	opacity: 0.4;
	pointer-events: none;
	position: fixed;
	z-index: 89;
}

.barrow-fine-veil.is-visible {
	display: block;
}

.barrow-fine {
	background: var(--lft-bg);
	border-block-start: var(--lft-bold) solid var(--lft-focus);
	bottom: 0;
	color: var(--lft-letters);
	display: none;
	inset-inline: 0;
	opacity: 0;
	position: fixed;
	transition: opacity var(--lft-easy) var(--lft-land), transform var(--lft-easy) var(--lft-land);
	z-index: 90;
}

.barrow-fine.is-visible {
	display: block;
	opacity: 1;
}

.barrow-fine.is-gone {
	opacity: 0;
	transform: translateX(120vw);
}

.barrow-fine-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	padding-block: var(--lft-4);
	text-align: center;
}

.barrow-fine-head {
	font-family: var(--lft-lead);
	font-size: var(--lft-md-2);
	font-weight: var(--lft-thick);
}

.barrow-fine-message {
	color: var(--lft-dim);
	line-height: var(--lft-base);
	max-width: var(--lft-narrow);
}

.barrow-fine-bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lft-3);
	justify-content: center;
}

.barrow-fine-agree,
.barrow-fine-later {
	align-items: center;
	border-radius: var(--lft-lozenge);
	display: inline-flex;
	font-weight: var(--lft-thick);
	justify-content: center;
	min-height: 48px;
	padding-inline: var(--lft-5);
}

.barrow-fine-agree {
	background: var(--lft-focus);
	border: var(--lft-hair) solid var(--lft-focus);
	color: var(--lft-pillar);
	cursor: pointer;
}

.barrow-fine-agree:hover {
	background: var(--lft-spot-deep);
	color: var(--lft-pillar);
}

.barrow-fine-later {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-line-strong);
	color: var(--lft-letters);
	cursor: pointer;
}

.barrow-fine-later:hover {
	background: var(--lft-line-strong);
	color: var(--lft-letters);
}

@media (max-width: 720px) {
	.barrow-fine-head {
		display: none;
	}

	.barrow-fine-body {
		font-size: var(--lft-tiny);
		gap: var(--lft-2);
		line-height: 1.35;
		padding-block: var(--lft-3);
	}

	.barrow-fine-message {
		font-size: var(--lft-tiny);
		line-height: 1.35;
	}

	.barrow-fine-agree,
	.barrow-fine-later {
		font-size: 12px;
		min-height: 40px;
		padding-inline: var(--lft-4);
	}
}

@media (max-width: 430px) {
	.barrow-fine-bar {
		flex-direction: column;
		width: 100%;
	}

	.barrow-fine-agree,
	.barrow-fine-later {
		white-space: normal;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   10. catwalk-fresh — hlavička stránky (PHEAD-01)
   -------------------------------------------------------------------------- */
.catwalk-fresh {
	background: var(--lft-bg);
	border-block-end: var(--lft-hair) solid var(--lft-edge);
	color: var(--lft-letters);
	padding-block: var(--lft-6) var(--lft-5);
}

.catwalk-fresh-body {
	display: flex;
	flex-direction: column;
	gap: var(--lft-4);
}

.catwalk-fresh-flag {
	color: var(--lft-focus);
	font-family: var(--lft-copy);
	font-size: var(--lft-fine);
	font-weight: var(--lft-semi);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

.catwalk-fresh-rule {
	border-block-end: var(--lft-medium) solid var(--lft-focus);
	height: 0;
	width: 60px;
}

.catwalk-fresh-note {
	color: var(--lft-dim);
	font-family: var(--lft-copy);
	font-size: var(--lft-minor);
	line-height: var(--lft-base);
}

.catwalk-fresh-when {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   11. court-clean — recenze (REV-08, karty s iniciálou)
   -------------------------------------------------------------------------- */
.court-clean-head {
	margin-block-end: var(--lft-4);
}

.court-clean-set {
	display: grid;
	gap: var(--lft-3);
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}

.court-clean-item {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-5);
	color: var(--lft-letters);
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	padding: var(--lft-4);
	transition: border-color var(--lft-normal) var(--lft-land);
}

.court-clean-item:hover {
	border-color: var(--lft-focus);
}

.court-clean-row {
	align-items: center;
	display: flex;
	gap: var(--lft-2);
}

.court-clean-brand {
	align-items: center;
	background: var(--lft-focus);
	border-radius: var(--lft-dot);
	color: var(--lft-pillar);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--lft-lead);
	font-size: var(--lft-minor);
	font-weight: var(--lft-thick);
	height: 48px;
	justify-content: center;
	width: 48px;
}

.court-clean-who {
	color: var(--lft-letters);
	display: block;
	font-size: var(--lft-fine);
	font-weight: var(--lft-thick);
	line-height: var(--lft-close);
}

.court-clean-when {
	color: var(--lft-dim);
	display: block;
	font-size: var(--lft-tiny);
}

.court-clean-star {
	color: var(--lft-focus);
	font-size: var(--lft-fine);
	letter-spacing: var(--lft-wide);
}

.court-clean-note {
	border: 0;
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
	margin: 0;
	quotes: none;
}

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

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

/* --------------------------------------------------------------------------
   12. crown-clean — první obrazovka (HERO-08, obálka časopisu)
   -------------------------------------------------------------------------- */
.crown-clean {
	align-items: center;
	background-color: var(--lft-pillar);
	background-image: linear-gradient(0deg, rgba(4, 14, 39, 0.9), rgba(4, 14, 39, 0.45)), url("/assets/view.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--lft-letters);
	display: flex;
	min-height: clamp(520px, calc(100vh - var(--lft-shell)), 760px);
	position: relative;
}

.crown-clean-body {
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	padding-block: var(--lft-6);
}

.crown-clean-flag,
.crown-clean-meta,
.crown-clean-deck,
.crown-clean-head {
	animation: lft-enter var(--lft-normal) var(--lft-land) backwards;
}

.crown-clean-flag {
	animation-delay: 0ms;
	color: var(--lft-gradient-light);
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

.crown-clean-head {
	animation-delay: 98ms;
	color: var(--lft-letters);
	font-size: clamp(32px, 7vw, 60px);
	max-width: 900px;
}

.crown-clean-deck {
	animation-delay: 197ms;
	color: var(--lft-gradient-light);
	font-size: var(--lft-minor);
	line-height: var(--lft-base);
	max-width: var(--lft-narrow);
}

.crown-clean-meta {
	animation-delay: 295ms;
	color: var(--lft-gradient-light);
	display: flex;
	flex-direction: column;
	font-size: var(--lft-fine);
	gap: var(--lft-1);
}

.crown-clean-meta span {
	color: var(--lft-gradient-light);
}

.crown-clean-hint {
	color: var(--lft-gradient-light);
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

@media (min-width: 560px) {
	.crown-clean-meta {
		align-items: center;
		flex-direction: row;
		gap: var(--lft-3);
	}

	.crown-clean-meta span + span::before {
		content: "|";
		margin-inline-end: var(--lft-3);
	}
}

@media (min-width: 760px) {
	.crown-clean-body {
		gap: var(--lft-4);
	}
}

/* --------------------------------------------------------------------------
   13. gallery-dark — kontaktní formulář (FORM-03)
   -------------------------------------------------------------------------- */
.gallery-dark-head {
	margin-block-end: var(--lft-3);
}

.gallery-dark-note {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
	margin-block-end: var(--lft-4);
	max-width: 540px;
}

.gallery-dark-form {
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
}

.gallery-dark-part {
	display: flex;
	flex-direction: column;
	gap: var(--lft-1);
}

.gallery-dark-cap {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	font-weight: var(--lft-semi);
}

.gallery-dark-entry {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-line-strong);
	border-radius: var(--r-4);
	color: var(--lft-letters);
	font-family: var(--lft-copy);
	font-size: var(--lft-reading);
	min-height: 48px;
	padding: var(--lft-2) var(--lft-3);
	width: 100%;
}

.gallery-dark-entry:focus-visible {
	border-color: var(--lft-focus);
	outline: var(--lft-medium) solid var(--lft-focus);
	outline-offset: 2px;
}

textarea.gallery-dark-entry {
	line-height: var(--lft-base);
	min-height: 140px;
	resize: vertical;
}

.gallery-dark-btn {
	background: var(--lft-focus);
	border: 0;
	border-radius: var(--r-4);
	color: var(--lft-pillar);
	cursor: pointer;
	font-family: var(--lft-lead);
	font-weight: var(--lft-thick);
	letter-spacing: var(--lft-wide);
	min-height: 52px;
	width: 100%;
}

.gallery-dark-btn:hover {
	background: var(--lft-spot-deep);
	color: var(--lft-pillar);
}

.gallery-dark-done {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-focus);
	border-radius: var(--r-4);
	color: var(--lft-letters);
	display: none;
	margin-block-start: var(--lft-3);
	padding: var(--lft-3);
}

.gallery-dark-done.is-visible {
	display: block;
}

/* --------------------------------------------------------------------------
   14. gangway-zone — vsuvka s nabídkou (INLINE-CTA-06, dvojice tlačítek)
   -------------------------------------------------------------------------- */
.gangway-zone {
	background: var(--lft-bg);
	color: var(--lft-letters);
	display: block;
	padding-block: var(--lft-4);
}

.gangway-zone-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	text-align: center;
}

.gangway-zone-note {
	color: var(--lft-dim);
	font-size: var(--lft-reading);
	line-height: var(--lft-base);
	max-width: 600px;
}

.gangway-zone-bar {
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	justify-content: center;
	width: 100%;
}

.gangway-zone-btn-ghost {
	align-items: center;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-line-strong);
	border-radius: var(--lft-lozenge);
	color: var(--lft-letters);
	display: inline-flex;
	font-weight: var(--lft-semi);
	justify-content: center;
	min-height: 48px;
	padding-inline: var(--lft-5);
	text-decoration: none;
	transition: background var(--lft-fast) var(--lft-land), border-color var(--lft-fast) var(--lft-land);
}

.gangway-zone-btn-ghost:hover {
	background: var(--lft-line-strong);
	border-color: var(--lft-letters);
	color: var(--lft-letters);
}

.gangway-zone-flag {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
	line-height: var(--lft-base);
}

@media (min-width: 560px) {
	.gangway-zone-bar {
		flex-direction: row;
		flex-wrap: wrap;
		width: auto;
	}
}

/* --------------------------------------------------------------------------
   15. grotto-fast — drobečky (BREAD-04, číslované kroky)
   -------------------------------------------------------------------------- */
.grotto-fast {
	background: var(--lft-bg);
	color: var(--lft-letters);
	padding-block: var(--lft-4);
}

.grotto-fast-set {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--lft-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.grotto-fast-item {
	align-items: baseline;
	display: flex;
	font-size: var(--lft-fine);
	gap: var(--lft-1);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

.grotto-fast-item + .grotto-fast-item::before {
	color: var(--lft-line-strong);
	content: "—";
	margin-inline-end: var(--lft-3);
}

.grotto-fast-step {
	color: var(--lft-focus);
	font-family: var(--lft-lead);
	font-size: var(--lft-micro-head);
	font-weight: var(--lft-thick);
	margin-inline-end: var(--lft-1);
}

.grotto-fast-link {
	color: var(--lft-dim);
	text-decoration: none;
}

.grotto-fast-link:hover {
	color: var(--lft-letters);
	text-decoration: underline;
}

.grotto-fast-here {
	color: var(--lft-letters);
}

/* --------------------------------------------------------------------------
   16. grove-apex — tabulka (TABLE-06, redakční s popiskem)
   -------------------------------------------------------------------------- */
.grove-apex-cap {
	color: var(--lft-dim);
	display: block;
	font-family: var(--lft-lead);
	font-size: var(--lft-md-2);
	font-style: italic;
	margin-inline: auto;
	padding-block-end: var(--lft-3);
	text-align: center;
}

.grove-apex-cap::before {
	border-block-end: var(--lft-medium) solid var(--lft-focus);
	content: "";
	display: block;
	margin-block-end: var(--lft-2);
	margin-inline: auto;
	width: 40px;
}

.grove-apex-rail {
	overflow-x: auto;
	width: 100%;
}

.grove-apex-table {
	font-size: var(--lft-fine);
	width: 100%;
}

.grove-apex-table th,
.grove-apex-table td {
	background: var(--lft-bg);
	border-block-end: var(--lft-hair) solid var(--lft-edge);
	color: var(--lft-letters);
	padding: var(--lft-2) var(--lft-3);
	text-align: start;
	vertical-align: top;
}

.grove-apex-table thead th {
	background: var(--lft-panel);
	color: var(--lft-focus);
	font-size: var(--lft-tiny);
	font-weight: var(--lft-thick);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
	white-space: nowrap;
}

.grove-apex-table tbody td:first-child {
	color: var(--lft-letters);
	font-weight: var(--lft-thick);
}

.grove-apex-table tbody tr:last-child td {
	border-block-end: 0;
}

@media (max-width: 640px) {
	.grove-apex-table thead th {
		white-space: normal;
	}

	.grove-apex-table th,
	.grove-apex-table td {
		padding: var(--lft-2) 6px;
	}
}

@media (max-width: 460px) {
	.grove-apex-table {
		font-size: 12px;
	}

	.grove-apex-table th,
	.grove-apex-table td {
		padding: 6px 4px;
	}

	.grove-apex-table td {
		overflow-wrap: anywhere;
	}

	.grove-apex-table thead th {
		font-size: 11px;
		letter-spacing: var(--lft-default);
	}
}

/* --------------------------------------------------------------------------
   17. mast-grave — časté dotazy (FAQ-10, dvousloupcová sazba)
   -------------------------------------------------------------------------- */
.mast-grave-body {
	display: grid;
	gap: var(--lft-4);
	grid-template-columns: minmax(0, 1fr);
}

.mast-grave-side {
	align-self: start;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-5);
	color: var(--lft-letters);
	padding: var(--lft-4);
}

.mast-grave-note {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
	margin-block-start: var(--lft-2);
}

.mast-grave-set {
	display: flex;
	flex-direction: column;
	gap: var(--lft-4);
}

.mast-grave-item {
	border-block-end: var(--lft-hair) solid var(--lft-edge);
	padding-block-end: var(--lft-3);
}

.mast-grave-item summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: var(--lft-3);
	grid-template-columns: minmax(0, 1fr) auto;
	list-style: none;
}

.mast-grave-item summary::-webkit-details-marker {
	display: none;
}

.mast-grave-item h3 {
	font-size: var(--lft-md-2);
}

.mast-grave-sign {
	align-items: center;
	background: var(--lft-bg);
	border: var(--lft-hair) solid var(--lft-line-strong);
	border-radius: var(--lft-dot);
	color: var(--lft-focus);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--lft-md-2);
	height: 32px;
	justify-content: center;
	line-height: 1;
	width: 32px;
}

.mast-grave-sign::before {
	content: "+";
}

.mast-grave-item[open] .mast-grave-sign::before {
	content: "−";
}

.mast-grave-stuff {
	display: grid;
	grid-template-rows: 1fr;
	transition: grid-template-rows var(--lft-normal) var(--lft-both);
}

.mast-grave-item:not([open]) .mast-grave-stuff {
	grid-template-rows: 0fr;
}

.mast-grave-stuff > div {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
	overflow: hidden;
	padding-block-start: var(--lft-2);
}

@media (min-width: 1080px) {
	.mast-grave-body {
		gap: var(--lft-6);
		grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
	}

	.mast-grave-side {
		position: sticky;
		top: calc(var(--lft-shell) + 16px);
	}
}

/* --------------------------------------------------------------------------
   18. mullion-neat — podpis autorky (BYLINE-02, ohraničená karta)
   -------------------------------------------------------------------------- */
.mullion-neat {
	background: var(--lft-bg);
	color: var(--lft-letters);
	display: block;
	padding-block: var(--lft-5);
}

.mullion-neat-slab {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-4);
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	margin-inline: auto;
	max-width: var(--lft-narrow);
	padding: var(--lft-5);
}

.mullion-neat-shot {
	display: block;
	flex-shrink: 0;
}

.mullion-neat-shot img {
	border-radius: var(--lft-dot);
	display: block;
	height: 64px;
	object-fit: cover;
	object-position: center top;
	width: 64px;
}

.mullion-neat-stuff {
	display: flex;
	flex-direction: column;
	gap: var(--lft-1);
}

.mullion-neat-cap {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	text-transform: uppercase;
}

.mullion-neat-who {
	font-family: var(--lft-lead);
	font-size: var(--lft-md-2);
	font-weight: var(--lft-thick);
}

.mullion-neat-who a {
	color: var(--lft-letters);
	text-decoration: none;
}

.mullion-neat-who a:hover {
	color: var(--lft-focus);
	text-decoration: underline;
}

.mullion-neat-role {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
}

.mullion-neat-note {
	color: var(--lft-dim);
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
}

.mullion-neat-link {
	color: var(--lft-focus);
	font-size: var(--lft-fine);
	letter-spacing: var(--lft-wide);
	text-decoration: none;
	text-transform: uppercase;
}

.mullion-neat-link:hover {
	color: var(--lft-gradient-light);
	text-decoration: underline;
}

.mullion-neat-when {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
}

@media (min-width: 560px) {
	.mullion-neat-slab {
		flex-direction: row;
	}
}

/* --------------------------------------------------------------------------
   19. parquet-cool — text článku (PROSE-20, vzdušná sazba)
   -------------------------------------------------------------------------- */
.parquet-cool-body > *:first-child {
	margin-block-start: 0;
}

.parquet-cool h2 {
	margin-block: var(--lft-5) var(--lft-3);
}

.parquet-cool-body > h2:first-child {
	margin-block-start: 0;
}

.parquet-cool h3 {
	margin-block: var(--lft-4) var(--lft-2);
}

.parquet-cool p {
	color: var(--lft-dim);
	line-height: var(--lft-airy);
	margin-block-end: var(--lft-4);
}

.parquet-cool-lead {
	color: var(--lft-letters);
	font-size: calc(var(--lft-reading) * 1.15);
}

.parquet-cool p a,
.parquet-cool li a {
	background-color: transparent;
	color: var(--lft-focus);
	text-decoration: underline;
	text-decoration-thickness: var(--lft-hair);
	text-underline-offset: 3px;
	transition: text-decoration-thickness var(--lft-fast) var(--lft-land);
}

.parquet-cool p a:hover,
.parquet-cool li a:hover {
	background-color: transparent;
	color: var(--lft-gradient-light);
	text-decoration-thickness: var(--lft-bold);
}

.parquet-cool-set {
	color: var(--lft-dim);
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	line-height: var(--lft-base);
	list-style: none;
	margin: 0 0 var(--lft-4) 0;
	padding: 0;
}

.parquet-cool-set li {
	padding-inline-start: var(--lft-4);
	position: relative;
}

.parquet-cool-set li::before {
	color: var(--lft-focus);
	content: "▸";
	inset-inline-start: 0;
	position: absolute;
}

.parquet-cool-steps {
	color: var(--lft-dim);
	counter-reset: parquet-step;
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	line-height: var(--lft-base);
	list-style: none;
	margin: 0 0 var(--lft-4) 0;
	padding: 0;
}

.parquet-cool-steps li {
	counter-increment: parquet-step;
	padding-inline-start: var(--lft-5);
	position: relative;
}

.parquet-cool-steps li::before {
	color: var(--lft-focus);
	content: counter(parquet-step) ".";
	font-family: var(--lft-lead);
	font-weight: var(--lft-thick);
	inset-inline-start: 0;
	position: absolute;
}

.parquet-cool strong {
	color: var(--lft-letters);
	font-weight: var(--lft-thick);
}

/* --------------------------------------------------------------------------
   20. pic — obrázky uvnitř stránky
   -------------------------------------------------------------------------- */
.pic-frame {
	display: block;
}

.pic-figure {
	display: block;
	margin: 0;
}

.pic-figure img {
	border-radius: var(--r-5);
	display: block;
	height: auto;
	max-height: 440px;
	object-fit: cover;
	width: 100%;
}

.pic-figure-tall {
	margin-inline: auto;
	width: fit-content;
}

.pic-figure-tall img {
	height: auto;
	max-height: 460px;
	object-fit: contain;
	width: auto;
}

/* --------------------------------------------------------------------------
   21. pilier-deep — karta autorky (AUTH-08, minimální)
   -------------------------------------------------------------------------- */
.pilier-deep-slab {
	align-items: center;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-5);
	color: var(--lft-letters);
	display: inline-flex;
	gap: var(--lft-3);
	padding: var(--lft-3) var(--lft-4);
}

.pilier-deep-shot img {
	border-radius: var(--lft-dot);
	display: block;
	height: 40px;
	object-fit: cover;
	object-position: center top;
	width: 40px;
}

.pilier-deep-who {
	color: var(--lft-letters);
	display: block;
	font-size: var(--lft-reading);
	font-weight: var(--lft-thick);
	line-height: var(--lft-close);
}

.pilier-deep-role {
	color: var(--lft-dim);
	display: block;
	font-size: var(--lft-tiny);
}

.pilier-deep-head {
	margin-block: var(--lft-5) var(--lft-3);
}

.pilier-deep-set {
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pilier-deep-item {
	border-block-end: var(--lft-hair) solid var(--lft-edge);
	padding-block-end: var(--lft-2);
}

.pilier-deep-link {
	color: var(--lft-letters);
	font-size: var(--lft-fine);
	text-decoration: none;
}

.pilier-deep-link:hover {
	color: var(--lft-focus);
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   22. salon-alt — právní texty (LEGAL-02, číslované oddíly)
   -------------------------------------------------------------------------- */
.salon-alt-body {
	counter-reset: legal-section;
}

.salon-alt-note {
	color: var(--lft-dim);
	line-height: var(--lft-airy);
	margin-block-end: var(--lft-5);
}

.salon-alt-part {
	counter-increment: legal-section;
	margin-block-end: var(--lft-5);
}

.salon-alt-part h3 {
	font-size: var(--lft-display-3);
	margin-block-end: var(--lft-3);
}

.salon-alt-part h3::before {
	color: var(--lft-focus);
	content: counter(legal-section) ". ";
	font-family: var(--lft-lead);
	font-weight: var(--lft-thick);
	margin-inline-end: var(--lft-2);
}

.salon-alt-part p {
	color: var(--lft-dim);
	line-height: var(--lft-airy);
	margin-block-end: var(--lft-3);
	padding-inline-start: 0;
}

.salon-alt-head {
	margin-block: var(--lft-5) var(--lft-3);
}

.salon-alt-set {
	color: var(--lft-dim);
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	line-height: var(--lft-base);
	list-style: none;
	margin: 0 0 var(--lft-5) 0;
	padding: 0;
}

.salon-alt-set li {
	padding-inline-start: var(--lft-4);
	position: relative;
}

.salon-alt-set li::before {
	color: var(--lft-focus);
	content: "▸";
	inset-inline-start: 0;
	position: absolute;
}

.salon-alt-flag {
	background: var(--lft-panel);
	border-inline-start: var(--lft-bold) solid var(--lft-focus);
	border-radius: var(--r-4);
	color: var(--lft-dim);
	display: block;
	font-size: var(--lft-fine);
	line-height: var(--lft-base);
	padding: var(--lft-3) var(--lft-4);
}

.salon-alt-when {
	color: var(--lft-dim);
	display: block;
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	margin-block-end: var(--lft-4);
	text-transform: uppercase;
}

@media (min-width: 760px) {
	.salon-alt-part p {
		padding-inline-start: var(--lft-4);
	}
}

/* --------------------------------------------------------------------------
   23. secteur-noble — hlavička (HEAD-RIGHT, menu u pravého okraje)
   -------------------------------------------------------------------------- */
.secteur-noble {
	background: var(--lft-bg);
	color: var(--lft-letters);
	inset-inline: 0;
	position: fixed;
	top: 0;
	transition: transform var(--lft-normal) var(--lft-land), box-shadow var(--lft-normal) var(--lft-land);
	z-index: 100;
}

.secteur-noble.is-hidden {
	transform: translateY(-100%);
}

.secteur-noble.is-deep {
	box-shadow: var(--d-5);
}

.secteur-noble-rank {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--lft-3);
	height: auto;
	margin-inline: auto;
	max-width: var(--lft-wrap);
	min-height: 56px;
	padding-block: var(--lft-2);
	padding-inline: var(--lft-pad-sm);
	width: 100%;
}

.secteur-noble-brand {
	display: inline-flex;
	flex-shrink: 0;
	order: 1;
}

.secteur-noble-brand img {
	display: block;
	flex-shrink: 0;
	height: 30px;
	width: auto;
}

.secteur-noble-menu-tap {
	align-items: center;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-4);
	color: var(--lft-letters);
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 5px;
	justify-content: center;
	margin-inline-start: auto;
	min-height: 44px;
	order: 2;
	padding: var(--lft-2);
	width: 44px;
}

.secteur-noble-lines {
	background: var(--lft-letters);
	display: block;
	height: 2px;
	transition: transform var(--lft-normal) var(--lft-land);
	width: 20px;
}

.secteur-noble-menu-tap[aria-expanded="true"] .secteur-noble-lines:nth-child(1) {
	transform: translateY(3px) rotate(45deg);
}

.secteur-noble-menu-tap[aria-expanded="true"] .secteur-noble-lines:nth-child(2) {
	transform: translateY(-4px) rotate(-45deg);
}

.secteur-noble-routes {
	display: none;
	order: 3;
}

.secteur-noble-set {
	align-items: center;
	display: flex;
	gap: var(--lft-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.secteur-noble-node {
	align-items: center;
	display: flex;
}

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

.secteur-noble-node + .secteur-noble-node::before,
.secteur-noble-node + .secteur-noble-node-more::before {
	color: var(--lft-line-strong);
	content: "/";
	margin-inline-end: var(--lft-2);
}

.secteur-noble-link {
	color: var(--lft-letters);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: var(--lft-wide);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.secteur-noble-link:hover {
	color: var(--lft-letters);
	text-decoration: underline;
	text-decoration-thickness: var(--lft-medium);
	text-underline-offset: 6px;
}

.secteur-noble-link[aria-current="page"] {
	color: var(--lft-focus);
}

.secteur-noble-node-more {
	align-items: center;
	display: flex;
	position: relative;
}

.secteur-noble-node-more[hidden] {
	display: none;
}

.secteur-noble-more-opener {
	align-items: center;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-4);
	color: var(--lft-letters);
	cursor: pointer;
	display: inline-flex;
	gap: 3px;
	justify-content: center;
	min-height: 44px;
	padding-inline: var(--lft-2);
}

.secteur-noble-dots {
	background: var(--lft-letters);
	border-radius: var(--lft-dot);
	display: block;
	height: 4px;
	width: 4px;
}

.secteur-noble-more-pane {
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-line-strong);
	border-radius: var(--r-5);
	box-shadow: var(--d-6);
	display: none;
	inset-inline-end: 0;
	list-style: none;
	margin: 0;
	max-height: 60vh;
	min-width: 220px;
	overflow-y: auto;
	padding: var(--lft-2);
	pointer-events: none;
	position: absolute;
	top: calc(100% + 8px);
	visibility: hidden;
	z-index: 30;
}

.secteur-noble-more-pane.is-open {
	display: block;
	pointer-events: auto;
	visibility: visible;
}

.secteur-noble-more-pane .secteur-noble-node {
	display: block;
}

.secteur-noble-more-pane .secteur-noble-node::before {
	content: none;
}

.secteur-noble-more-pane .secteur-noble-link {
	display: block;
	padding: var(--lft-2) var(--lft-3);
}

.secteur-noble-bar {
	display: flex;
	flex-basis: 100%;
	gap: var(--lft-3);
	order: 4;
}

.secteur-noble-btn {
	align-items: center;
	background: var(--lft-bg);
	border: var(--lft-medium) solid var(--lft-focus);
	border-radius: var(--lft-lozenge);
	color: var(--lft-focus);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--lft-lead);
	font-size: var(--lft-fine);
	font-weight: var(--lft-thick);
	justify-content: center;
	min-height: 44px;
	padding-inline: var(--lft-4);
	text-decoration: none;
	transition: background var(--lft-fast) var(--lft-land), color var(--lft-fast) var(--lft-land), transform var(--lft-fast) var(--lft-land);
	white-space: nowrap;
	width: 100%;
}

.secteur-noble-btn:hover {
	background: var(--lft-focus);
	color: var(--lft-pillar);
	transform: translateY(-4px);
}

.secteur-noble-dock {
	background: var(--lft-panel);
	border-block-start: var(--lft-hair) solid var(--lft-edge);
	color: var(--lft-letters);
	display: none;
	max-height: 64vh;
	overflow-y: auto;
	padding: var(--lft-3) var(--lft-pad-sm);
}

.secteur-noble-dock.is-open {
	display: block;
}

.secteur-noble-dock-set {
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.secteur-noble-dock-set .secteur-noble-link {
	display: block;
	white-space: normal;
}

@media (min-width: 620px) {
	.secteur-noble-bar {
		flex-basis: auto;
		margin-inline-start: 0;
	}

	.secteur-noble-btn {
		padding-inline: var(--lft-5);
		width: auto;
	}
}

@media (min-width: 900px) {
	.secteur-noble-rank {
		flex-wrap: nowrap;
		padding-block: var(--lft-2);
		padding-inline: var(--lft-edge-mid);
	}

	.secteur-noble-brand img {
		height: 38px;
	}

	.secteur-noble-menu-tap {
		display: none;
	}

	.secteur-noble-routes {
		display: block;
		margin-inline-start: auto;
	}

	.secteur-noble-dock,
	.secteur-noble-dock.is-open {
		display: none;
	}
}

@media (min-width: 1080px) {
	.secteur-noble-rank {
		padding-inline: var(--lft-pad-lg);
	}
}

/* --------------------------------------------------------------------------
   24. tablette-fluid — patička (FOOT-04, kompaktní pás)
   -------------------------------------------------------------------------- */
.tablette-fluid {
	background: var(--lft-panel);
	border-block-start: var(--lft-hair) solid var(--lft-edge);
	color: var(--lft-dim);
	position: relative;
}

.tablette-fluid-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--lft-2);
	justify-content: space-between;
	min-height: 80px;
	padding-block: var(--lft-3);
	text-align: center;
}

.tablette-fluid-meta {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
}

.tablette-fluid-routes {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lft-3);
	justify-content: center;
}

.tablette-fluid-link {
	color: var(--lft-dim);
	font-size: var(--lft-tiny);
	letter-spacing: var(--lft-wide);
	text-decoration: none;
	text-transform: uppercase;
}

.tablette-fluid-link + .tablette-fluid-link {
	border-inline-start: var(--lft-hair) solid var(--lft-line-strong);
	padding-inline-start: var(--lft-3);
}

.tablette-fluid-link:hover {
	color: var(--lft-letters);
	text-decoration: underline;
}

@media (min-width: 760px) {
	.tablette-fluid-body {
		flex-direction: row;
		min-height: 64px;
		text-align: start;
	}
}

/* --------------------------------------------------------------------------
   25. tribune-deep — výzva k akci (CTA-08, tmavý inverzní blok)
   -------------------------------------------------------------------------- */
.tribune-deep {
	background: var(--lft-pillar);
	color: var(--lft-letters);
	padding-block: var(--lft-6);
	width: 100%;
}

.tribune-deep-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	text-align: center;
}

.tribune-deep-head {
	color: var(--lft-letters);
	font-size: var(--lft-display-1);
	letter-spacing: var(--lft-packed);
	text-transform: uppercase;
}

.tribune-deep-note {
	color: var(--lft-gradient-light);
	font-size: var(--lft-minor);
	line-height: var(--lft-base);
}

.tribune-deep-flag {
	color: var(--lft-gradient-light);
	font-size: var(--lft-tiny);
	line-height: var(--lft-base);
}

/* --------------------------------------------------------------------------
   26. Vsuvky s nabídkou uvnitř dlouhých bloků
   -------------------------------------------------------------------------- */
.gangway-zone-slot {
	padding-block: var(--lft-4);
}

.gangway-zone-stuff {
	align-items: center;
	background: var(--lft-panel);
	border: var(--lft-hair) solid var(--lft-edge);
	border-radius: var(--r-5);
	color: var(--lft-letters);
	display: flex;
	flex-direction: column;
	gap: var(--lft-3);
	padding: var(--lft-4);
	text-align: center;
}

.gangway-zone-stuff .gangway-zone-note {
	color: var(--lft-letters);
	font-weight: var(--lft-semi);
}

.arabesque-pure-plug,
.court-clean-plug,
.mast-grave-plug {
	display: block;
	grid-column: 1 / -1;
	list-style: none;
}

.mast-grave-plug {
	display: block;
}

.arch-edge-hold {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

.lobby-act {
	align-items: center;
	border-radius: var(--lft-lozenge);
	display: inline-flex;
	font-family: var(--lft-lead);
	font-size: 15px;
	font-weight: var(--lft-thick);
	justify-content: center;
	letter-spacing: var(--lft-wide);
	min-height: 52px;
	padding: 14px 30px;
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   27. Utility
   -------------------------------------------------------------------------- */
.pic-frame + .parquet-cool {
	padding-block-start: 0;
}

.catwalk-fresh + .salon-alt {
	padding-block-start: var(--lft-5);
}

.catwalk-fresh + .gangway-zone {
	padding-block-start: var(--lft-5);
}

/* --------------------------------------------------------------------------
   28. Nabídkové tlačítko — barva a pohyb ze scripts/cta-style.mjs
   (emerald #059669, technika "underline", jméno třídy přepsáno na .lobby-act)
   -------------------------------------------------------------------------- */
.lobby-act {
	background: #059669;
	color: #0e0f0f;
	position: relative;
	text-decoration: none;
	transition: background var(--lft-fast) var(--lft-land), color var(--lft-fast) var(--lft-land);
}

.lobby-act.lobby-act {
	color: #0e0f0f;
	text-decoration: none;
}

.lobby-act:hover {
	animation: none;
	background: #047857;
	color: #ffffff;
}

.lobby-act.lobby-act:hover {
	color: #ffffff;
	text-decoration: none;
}

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

.lobby-act:active {
	background: #065f46;
	color: #ffffff;
}

.lobby-act:focus-visible {
	outline: var(--lft-bold) solid #ffffff;
	outline-offset: 3px;
}

@keyframes lobby-sweep {
	0%,
	100% {
		transform: scaleX(0);
	}

	40%,
	60% {
		transform: scaleX(1);
	}
}

.lobby-act::after {
	animation: lobby-sweep calc(var(--lft-easy) * 2) var(--lft-land) infinite;
	background: currentColor;
	bottom: 6px;
	content: "";
	height: 2px;
	left: 12%;
	opacity: 0.5;
	position: absolute;
	right: 12%;
	transform-origin: left;
}

.gangway-zone-btn-main::after {
	animation-delay: -394ms;
}

.tribune-deep-push::after {
	animation-delay: -197ms;
}

.gangway-zone-btn-main,
.tribune-deep-push {
	flex-shrink: 0;
	max-width: 100%;
}

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

@media (max-width: 936px) {
  .secteur-noble-routes,
  .secteur-noble-set { display: none !important; }
  .secteur-noble-menu-tap { display: flex !important; }
}
