/* =========================================================================
	Metralight – styly šablony
	Barvy/písma = theme.json presety (var(--wp--preset--…)).
	========================================================================= */

:root {
	--ml-ink: var(--wp--preset--color--ink, #1a1c20);
	--ml-ink-soft: var(--wp--preset--color--ink-soft, #4d5057);
	--ml-muted: var(--wp--preset--color--muted, #85868c);
	--ml-brand: var(--wp--preset--color--brand, #0083c9);
	--ml-laser: var(--wp--preset--color--laser, #e4002b);
	--ml-laser-dark: var(--wp--preset--color--laser-dark, #b8001f);
	--ml-paper: var(--wp--preset--color--paper, #f7f7f7);
	--ml-scene: var(--wp--preset--color--scene, #e2e2e3);
	--ml-line: var(--wp--preset--color--line, #e1e1e3);
	/* laser a záře hero (RGB trojice kvůli průhlednosti) */
	--ml-laser-rgb: 228, 0, 43;
	--ml-laser-hot: #ff5a6a;
	--ml-glow-a: 0, 131, 201;
	--ml-glow-a-alpha: .22;
	--ml-glow-b: 35, 170, 221;
	--ml-glow-b-alpha: .14;
	--ml-glow-c: 228, 0, 43;
	--ml-glow-c-alpha: .13;
	--ml-logo-b: #23aadd;
	/* podklad hero scény a mřížka */
	--ml-scene-base: radial-gradient(circle at 68% 52%, #ffffff 0%, #efefef 38%, #d7d8d9 78%, #c6c7c9 100%);
	--ml-grid-rgb: 26, 28, 32;
	--ml-display: var(--wp--preset--font-family--display);
	--ml-mono: var(--wp--preset--font-family--mono);
	--ml-header-h: 76px;
	--ml-max: 1216px;
	--ml-gutter: clamp(20px, 3vw, 32px);
	--ml-ease: cubic-bezier(.65, 0, .35, 1);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--ml-header-h) + 72px);
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3,
.wp-block-post-title {
	font-stretch: 115%;
	text-wrap: balance;
}
h1, .wp-block-post-title { font-stretch: 118%; }
:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--ml-brand);
	outline-offset: 3px;
}
.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* ---------- drobné prvky ---------- */
.ml-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font: 500 12px/1.2 var(--ml-mono);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ml-ink-soft);
}
.ml-eyebrow::before {
	content: "";
	flex: none;
	width: 28px;
	height: 2px;
	background: var(--ml-laser);
	box-shadow: 0 0 8px rgba(var(--ml-laser-rgb), .7);
}
.ml-eyebrow:empty { display: none; }
.ml-mono {
	font-family: var(--ml-mono);
	letter-spacing: .08em;
}
.ml-lead {
	max-width: 46ch;
	font-size: clamp(16px, 1.35vw, 19px);
	color: var(--ml-ink-soft);
}
.ml-empty {
	padding: 16px;
	border: 1px dashed var(--ml-muted);
	border-radius: 8px;
	font-size: 14px;
	color: var(--ml-ink-soft);
}
.ml-lift {
	transition: transform .25s ease, box-shadow .25s ease;
}
.ml-lift:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -24px rgba(26, 28, 32, .35);
}

/* tlačítka */
.wp-block-button.is-style-ml-ghost .wp-block-button__link {
	background: rgba(255, 255, 255, .4);
	color: var(--ml-ink);
	border: 1px solid rgba(26, 28, 32, .25);
}
.wp-block-button.is-style-ml-ghost .wp-block-button__link:hover {
	background: var(--ml-ink);
	color: #fff;
}
.wp-block-button__link {
	transition: background-color .25s ease, transform .25s ease;
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.ml-dark .wp-block-button.is-style-ml-ghost .wp-block-button__link,
.is-style-ml-dark .wp-block-button.is-style-ml-ghost .wp-block-button__link {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .35);
}
.is-style-ml-dark .wp-block-button:not(.is-style-ml-ghost) .wp-block-button__link {
	background: #fff;
	color: var(--ml-ink);
}

/* ---------- hlavička ---------- */
.ml-header-part {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}
body.admin-bar .ml-header-part { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .ml-header-part { top: 46px; }
}
.ml-header {
	border-bottom: 1px solid rgba(26, 28, 32, .1);
	transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ml-header.is-scrolled,
.ml-header.is-open {
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-color: var(--ml-line);
	box-shadow: 0 8px 24px -18px rgba(26, 28, 32, .5);
}
.ml-header__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 var(--ml-gutter);
	height: var(--ml-header-h);
	display: flex;
	align-items: center;
	gap: 40px;
}
.ml-header__tools {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
}
.ml-header__toggle {
	display: none;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgba(26, 28, 32, .14);
	border-radius: 50%;
	background: rgba(255, 255, 255, .5);
	color: var(--ml-ink);
	cursor: pointer;
}
.ml-header__toggle svg { display: block; }

.ml-logo {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--ml-display);
	font-size: 26px;
	line-height: 1;
	letter-spacing: -.02em;
	text-decoration: none;
}
.ml-logo__img {
	display: block;
	height: 32px;
	width: auto;
	max-width: 220px;
}
.ml-footer .ml-logo__img { height: 30px; }
.ml-logo__img--invert { filter: brightness(0) invert(1); }
.ml-logo__a { font-weight: 800; color: var(--ml-ink); }
.ml-logo__b { font-weight: 300; color: var(--ml-brand); }
.ml-footer .ml-logo__a { color: #fff; }
.ml-footer .ml-logo__b { color: var(--ml-logo-b); }

/* hlavní menu */
.ml-nav--primary { flex: 1; }
.ml-menu {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ml-menu a {
	color: var(--ml-ink);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
}
.ml-menu a:hover,
.ml-menu .current-menu-item > a,
.ml-menu .current-menu-ancestor > a,
.ml-menu .current-menu-parent > a,
.ml-menu .current-page-ancestor > a {
	color: var(--ml-brand);
}
.ml-menu li { position: relative; }
.ml-menu .sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: -16px;
	min-width: 240px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 12px;
	box-shadow: 0 24px 48px -24px rgba(26, 28, 32, .35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.ml-menu li:hover > .sub-menu,
.ml-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.ml-menu .sub-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
}
.ml-menu .sub-menu a:hover { background: var(--ml-paper); }
.ml-menu .ml-cta { margin-left: auto; }
.ml-menu .ml-cta > a {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--ml-ink);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
}
.ml-menu .ml-cta > a:hover { background: #33363c; color: #fff; }

.ml-lang {
	font: 500 12px/1 var(--ml-mono);
	letter-spacing: .1em;
	white-space: nowrap;
}
.ml-lang a { color: var(--ml-ink-soft); text-decoration: none; }
.ml-lang a:hover { color: var(--ml-brand); }
.ml-lang span { font-weight: 600; color: var(--ml-ink); }
.ml-lang i { font-style: normal; color: #8a919c; }

@media (max-width: 960px) {
	.ml-header__toggle { display: grid; }
	.ml-header__inner { gap: 16px; }
	.ml-nav--primary {
		position: fixed;
		top: var(--ml-header-h);
		left: 0;
		right: 0;
		bottom: 0;
		padding: 24px var(--ml-gutter) 48px;
		background: #fff;
		overflow-y: auto;
		display: none;
	}
	body.admin-bar .ml-nav--primary { top: calc(var(--ml-header-h) + 46px); }
	.ml-header.is-open .ml-nav--primary { display: block; }
	.ml-nav--primary .ml-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.ml-nav--primary .ml-menu > li { border-bottom: 1px solid var(--ml-line); }
	.ml-nav--primary .ml-menu a { display: block; padding: 16px 0; font-size: 18px; }
	.ml-nav--primary .ml-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 12px 12px;
	}
	.ml-nav--primary .ml-menu .sub-menu a { padding: 8px 0; font-size: 16px; }
	.ml-nav--primary .ml-menu .ml-cta { margin: 24px 0 0; border: 0 !important; }
	.ml-nav--primary .ml-menu .ml-cta > a { justify-content: center; height: 52px; }
	html.ml-menu-open { overflow: hidden; }
	/* backdrop-filter by z hlavičky udělal containing block pro position: fixed – menu by mělo výšku hlavičky */
	.ml-header.is-open {
		background: #fff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}
.ml-header__toggle-close,
.ml-header.is-open .ml-header__toggle-open { display: none !important; }
.ml-header.is-open .ml-header__toggle-close { display: block !important; }

.ml-nav--primary .ml-menu { width: 100%; }
.ml-footer .ml-menu .ml-cta { margin: 0; }
.ml-footer .ml-menu .ml-cta > a { display: inline; height: auto; padding: 0; background: none; color: #a9abb0; font-weight: 400; }

/* gridové kontejnery: zrušit vertikální okraje z flow layoutu (jinak "schody") */
.ml-main > *,
:is(.ml-stats, .ml-modes, .ml-features, .ml-apps, .ml-downloads, .ml-steps, .ml-cta-band, .ml-sensor-grid) > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}
/* hlavička je mimo tok – žádná mezera nad obsahem, ani nad patičkou */
.wp-site-blocks > .ml-main,
.wp-site-blocks > .ml-footer-part { margin-block-start: 0; }
.ml-main > .wp-block-post-content > .alignfull:first-child { margin-block-start: 0; }

/* stránky bez scény: odsazení pod pevnou hlavičkou */
.ml-main--plain {
	padding-top: calc(var(--ml-header-h) + var(--wp--preset--spacing--40));
	padding-bottom: clamp(64px, 8vw, 112px);
}
/* rytmus jednoduché stránky: drobečky → nadpis → obsah (přebíjí nulování okrajů výše) */
.ml-main--plain > .wp-block-post-title,
.ml-main--plain > .wp-block-query-title { margin-block-start: 16px !important; }
.ml-main--plain > .wp-block-post-content,
.ml-main--plain > .wp-block-query { margin-block-start: clamp(32px, 4vw, 48px) !important; }

/* ---------- sekce detailu senzoru převedené z WPBakery ---------- */
.ml-sec + .ml-sec { padding-top: 0; margin-block-start: 0; }
/* sekce v obsahu stránky ve stejné šířce jako Software / poptávka pod nimi (wideSize) */
.wp-block-post-content > .ml-sec { max-width: var(--wp--style--global--wide-size); }
.ml-sec__inner > * { margin-block: 0; }
.ml-sec__inner > * + * { margin-block-start: 20px; }
.ml-sec__title { font-size: clamp(30px, 3.2vw, 40px); margin-block-end: 28px !important; }
.ml-sec__sub { font-size: 18px; margin-block-start: 32px !important; }
.ml-sec__title + .ml-sec__sub { margin-block-start: 0 !important; }
.ml-sec__sub + * { margin-block-start: 18px !important; }
.ml-lead-text { max-width: 70ch; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; color: var(--ml-ink-soft); }
.ml-ticks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 40px;
}
.ml-ticks li {
	position: relative;
	margin: 0;
	padding: 0 0 12px 28px;
	border-bottom: 1px solid #edf0f3;
	line-height: 1.5;
}
.ml-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .45em;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--ml-laser);
	border-bottom: 2px solid var(--ml-laser);
	transform: rotate(-45deg);
}
.ml-videos { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px !important; }
.ml-videos > * { margin: 0 !important; }
.ml-videos .wp-block-embed__wrapper { border-radius: 12px; overflow: hidden; background: var(--ml-ink); }
@media (max-width: 760px) {
	.ml-ticks, .ml-videos { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- stránka Aplikace (obrázek + popis) ---------- */
.ml-applist { display: grid; }
.ml-applist > * { margin: 0 !important; }
.ml-applist__row {
	gap: clamp(24px, 4vw, 56px) !important;
	padding-block: clamp(28px, 4vw, 44px);
	border-top: 1px solid var(--ml-line);
}
.ml-applist__row:first-child { border-top: 0; padding-top: 0; }
.ml-applist__row .wp-block-column > * { margin-block: 0; }
.ml-applist__row .wp-block-column > * + * { margin-block-start: 10px; }
.ml-applist__row h3 { font-size: clamp(20px, 2vw, 24px); }
.ml-applist__row p:not(.ml-num) { max-width: 62ch; color: var(--ml-ink-soft); }
.ml-applist__img { margin: 0; }
.ml-applist__img img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--ml-line);
	border-radius: 10px;
	background: #fff;
}

/* ---------- stránka O nás: úvod vlevo, text vpravo ---------- */
.ml-about__cols { gap: clamp(32px, 6vw, 96px) !important; align-items: flex-start; }
.ml-about__cols .wp-block-column > * { margin-block: 0; }
.ml-about__cols .wp-block-column > * + * { margin-block-start: 1.1em; }
.ml-about__lead {
	position: relative;
	padding-top: 28px;
	font-size: clamp(21px, 2.1vw, 27px);
	line-height: 1.42;
	font-weight: 500;
	color: var(--ml-ink);
}
.ml-about__lead::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: var(--ml-laser);
}
.ml-about__cols .wp-block-column:last-child p {
	max-width: 64ch;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ml-ink-soft);
}
@media (min-width: 782px) {
	.ml-about__cols .wp-block-column:last-child { padding-top: 34px; }
}

/* ---------- software ---------- */
.ml-sw-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.ml-sw-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 16px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.ml-sw-card:hover { border-color: #c9ced6; box-shadow: 0 10px 28px rgba(26, 28, 32, .08); transform: translateY(-2px); }
.ml-sw-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: radial-gradient(circle at 50% 55%, #fdfdfe 0%, #eceef1 65%, #dfe3e8 100%);
	overflow: hidden;
}
.ml-sw-card__img {
	position: absolute;
	left: 9%;
	right: 9%;
	top: 12%;
	width: 82% !important;
	height: auto !important;
	max-width: none;
	border-radius: 8px 8px 0 0;
	box-shadow: 0 14px 34px rgba(26, 28, 32, .18);
}
.ml-sw-card__body { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 24px; }
.ml-sw-card__body > * { margin: 0; }
.ml-sw-card__title { font-size: 22px; font-stretch: 110%; font-weight: 700; }
.ml-sw-card__title a { color: var(--ml-ink); text-decoration: none; }
.ml-sw-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ml-sw-card__desc { font-size: 15px; color: var(--ml-ink-soft); }
.ml-sw-card__more {
	margin-top: auto;
	padding-top: 4px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--ml-brand);
}
.ml-sw-for__label {
	display: block;
	margin-bottom: 8px;
	font: 500 11px/1.4 var(--ml-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ml-muted);
}
.ml-sw-for { margin-top: 8px !important; }
.ml-chips--sm { gap: 6px !important; }
.ml-chips--sm .ml-chip { padding: 5px 10px; font-size: 12px; }
.ml-chip--plain { border-style: dashed; }
span.ml-chip:hover { border-color: rgba(26, 28, 32, .2); }
@media (max-width: 1100px) { .ml-sw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .ml-sw-grid { grid-template-columns: minmax(0, 1fr); } }

/* detail softwaru: snímek obrazovky v hero */
.ml-screen { margin: 0 !important; }
.ml-screen img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	border: 1px solid rgba(26, 28, 32, .08);
	box-shadow: 0 30px 70px rgba(26, 28, 32, .22);
	background: #fff;
}
.ml-section--sw .wp-block-post-content > * + * { margin-block-start: 24px; }
.ml-sw-h { margin-block-start: 56px !important; margin-block-end: 20px !important; }
.ml-sw-note { padding: 16px 20px; border-left: 3px solid var(--ml-brand); background: var(--ml-paper); border-radius: 0 10px 10px 0; }

/* galerie snímků obrazovky */
.ml-shots.wp-block-gallery { gap: 16px !important; }
.ml-shots.wp-block-gallery .wp-block-image img {
	border-radius: 10px;
	border: 1px solid var(--ml-line);
	background: #fff;
}

/* verze ke stažení */
.ml-releases { display: grid; gap: 12px; }
.ml-releases > * { margin: 0 !important; }
.ml-release {
	display: grid !important;
	grid-template-columns: 140px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 24px;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
}
.ml-release > * { margin: 0 !important; }
.ml-release__ver { font: 600 20px/1.2 var(--ml-mono); color: var(--ml-ink); }
.ml-release__for { font-size: 15px; color: var(--ml-ink-soft); }
.ml-release__actions { flex-wrap: nowrap; gap: 8px; justify-content: flex-end; }
.ml-release__actions .wp-block-button__link { padding: 10px 18px; font-size: 14px; white-space: nowrap; }
@media (max-width: 760px) {
	.ml-release { grid-template-columns: minmax(0, 1fr); }
	.ml-release__actions { flex-wrap: wrap; justify-content: flex-start; }
}

/* detail senzoru: sekce Software */
.ml-section--software:not(:has(.ml-sensor-sw)) { display: none; }
.ml-section.ml-section--software { padding-top: 0; }
.ml-sensor-sw { scroll-margin-top: 140px; }
.ml-sensor-sw__title { font-size: clamp(30px, 3.2vw, 40px); margin: 0 0 28px; }
.ml-sensor-sw__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ml-sensor-sw__item {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
	color: var(--ml-ink);
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.ml-sensor-sw__item:hover { color: var(--ml-ink); border-color: #c9ced6; box-shadow: 0 10px 28px rgba(26, 28, 32, .08); }
.ml-sensor-sw__media { display: block; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--ml-paper); }
.ml-sensor-sw__media img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.ml-sensor-sw__text { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--ml-ink-soft); }
.ml-sensor-sw__text b { font-size: 18px; color: var(--ml-ink); }
.ml-sensor-sw__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-weight: 600; color: var(--ml-brand); }
@media (max-width: 900px) {
	.ml-sensor-sw__grid { grid-template-columns: minmax(0, 1fr); }
	.ml-sensor-sw__item { grid-template-columns: 120px minmax(0, 1fr); }
}

/* kontakty: popisky + vložená mapa (Google Maps embed v bloku Vlastní HTML) */
.ml-contact { gap: clamp(24px, 4vw, 56px); margin-block-end: clamp(48px, 6vw, 80px); }
.ml-contact .wp-block-column > * { margin-block: 0; }
.ml-contact .wp-block-column > * + * { margin-block-start: 6px; }
.ml-contact .wp-block-column > .ml-contact__label:not(:first-child) { margin-block-start: 24px; }
.ml-contact__label {
	font: 500 11px/1.4 var(--ml-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ml-muted);
}
.ml-contact a { color: var(--ml-brand); text-decoration: none; }
.ml-contact a:hover { text-decoration: underline; }
.ml-map {
	position: relative;
	height: 100%;
	min-height: 360px;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
	overflow: hidden;
	background: var(--ml-paper);
}
.ml-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- scéna (společné vrstvy pro slider i podstránky) ---------- */
.ml-scene,
.ml-slide {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--ml-scene);
	color: var(--ml-ink);
}
.ml-scene__bg {
	position: absolute;
	inset: -10%;
	z-index: -3;
	background:
		radial-gradient(ellipse 46% 52% at 92% 96%, rgba(var(--ml-glow-c), var(--ml-glow-c-alpha)), rgba(var(--ml-glow-c), calc(var(--ml-glow-c-alpha) * .3)) 50%, transparent 78%),
		var(--ml-scene-base);
}
.ml-scene__bg::before,
.ml-scene__bg::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.ml-scene__bg::before {
	width: 62vmax;
	height: 62vmax;
	left: 40%;
	top: -28%;
	background: radial-gradient(closest-side, rgba(var(--ml-glow-a), var(--ml-glow-a-alpha)), rgba(var(--ml-glow-a), calc(var(--ml-glow-a-alpha) * .32)) 55%, transparent);
	animation: ml-drift-a 22s ease-in-out infinite alternate;
}
.ml-scene__bg::after {
	width: 48vmax;
	height: 48vmax;
	left: 62%;
	top: 38%;
	background: radial-gradient(closest-side, rgba(var(--ml-glow-b), var(--ml-glow-b-alpha)), rgba(var(--ml-glow-b), calc(var(--ml-glow-b-alpha) * .33)) 55%, transparent);
	animation: ml-drift-b 18s ease-in-out infinite alternate;
}
@keyframes ml-drift-a { to { transform: translate3d(-12%, 16%, 0) scale(1.15); } }
@keyframes ml-drift-b { to { transform: translate3d(-22%, -14%, 0) scale(.9); } }

.ml-scene__grid {
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image:
		linear-gradient(rgba(var(--ml-grid-rgb), .085) 1px, transparent 1px),
		linear-gradient(90deg, rgba(var(--ml-grid-rgb), .085) 1px, transparent 1px),
		linear-gradient(rgba(var(--ml-grid-rgb), .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(var(--ml-grid-rgb), .04) 1px, transparent 1px);
	background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
	-webkit-mask-image: radial-gradient(ellipse 55% 65% at 66% 50%, #000 15%, transparent 72%);
	mask-image: radial-gradient(ellipse 55% 65% at 66% 50%, #000 15%, transparent 72%);
	pointer-events: none;
}
.ml-scene__giant {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 2vw;
	font-family: var(--ml-display);
	font-weight: 800;
	font-stretch: 125%;
	font-size: clamp(150px, 27vw, 420px);
	line-height: .8;
	letter-spacing: -.04em;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(var(--ml-grid-rgb), .12);
	pointer-events: none;
	user-select: none;
}

.ml-scene__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: calc(var(--ml-header-h) + 40px) clamp(20px, 5vw, 64px) 80px;
	box-sizing: border-box;
}
.ml-scene--product .ml-scene__inner { min-height: min(820px, 100svh); display: grid; align-items: center; }
.ml-scene--compact .ml-scene__inner { padding-bottom: 64px; }
.ml-scene--compact .ml-scene__giant {
	font-size: clamp(140px, 20vw, 300px);
	align-items: center;
	padding-right: 3vw;
}
.ml-scene--compact .ml-scene__grid {
	-webkit-mask-image: radial-gradient(ellipse 60% 90% at 75% 50%, #000 10%, transparent 75%);
	mask-image: radial-gradient(ellipse 60% 90% at 75% 50%, #000 10%, transparent 75%);
}
.ml-scene .wp-block-post-title {
	margin: 0;
	font-size: clamp(48px, 7vw, 88px);
	font-weight: 800;
	line-height: .9;
	letter-spacing: -.035em;
}
/* hero senzoru: nejdelší slovo názvu se vždy vejde do sloupce (--ml-word nastavuje PHP) */
.ml-scene__copy { container-type: inline-size; }
.ml-scene__copy .wp-block-post-title {
	font-size: clamp(32px, min(7vw, calc(100cqi / (var(--ml-word, 8) * .82))), 88px);
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}
.ml-scene--compact .wp-block-query-title,
.ml-scene--compact h1 {
	font-size: clamp(40px, 5vw, 64px);
	line-height: .98;
}
.ml-scene .wp-block-post-excerpt__excerpt,
.ml-scene .wp-block-term-description {
	max-width: 46ch;
	font-size: clamp(16px, 1.35vw, 19px);
	color: var(--ml-ink-soft);
}
.ml-scene .wp-block-term-description { max-width: 60ch; }

/* ---------- produkt na pódiu ---------- */
.ml-product {
	position: relative;
	width: min(100%, 620px);
	margin-inline: auto;
	aspect-ratio: 900 / 829;
}
.ml-product__img,
.ml-product img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ml-product__shadow {
	position: absolute;
	left: 12%;
	right: 12%;
	bottom: -3%;
	aspect-ratio: 8 / 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(26, 28, 32, .32), rgba(26, 28, 32, .08) 60%, transparent);
	filter: blur(6px);
}
.ml-product__scan {
	position: absolute;
	left: -8%;
	right: -8%;
	top: 50%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ml-laser) 18%, var(--ml-laser-hot) 50%, var(--ml-laser) 82%, transparent);
	box-shadow: 0 0 14px 1px rgba(var(--ml-laser-rgb), .55), 0 0 40px 4px rgba(var(--ml-laser-rgb), .18);
	opacity: .75;
	animation: ml-scan 4.6s var(--ml-ease) infinite alternate;
	pointer-events: none;
}
@keyframes ml-scan {
	from { top: 10%; }
	to { top: 88%; }
}
.ml-product__placeholder {
	position: absolute;
	inset: 8%;
	display: grid;
	place-items: center;
	padding: 24px;
	text-align: center;
	border: 1.5px dashed rgba(26, 28, 32, .3);
	border-radius: 12px;
	background: rgba(255, 255, 255, .3);
	font: 500 13px/1.5 var(--ml-mono);
	color: var(--ml-ink-soft);
}

/* ---------- hero slider ---------- */
.ml-hero {
	position: relative;
	height: clamp(640px, 100svh, 980px);
	overflow: hidden;
	background: var(--ml-scene);
	touch-action: pan-y;
}
.ml-hero.alignfull { margin-top: 0 !important; }
.ml-hero__track { position: absolute; inset: 0; }
.ml-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
}
.ml-slide.is-active { visibility: visible; z-index: 2; }
.ml-slide.is-leaving { visibility: visible; z-index: 1; }
.ml-hero:not(.is-ready) .ml-slide:first-child { visibility: visible; }

.ml-slide__inner {
	height: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: var(--ml-header-h) clamp(72px, 7vw, 112px) 88px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	align-items: center;
	gap: 32px;
}
.ml-slide__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}
.ml-slide__copy > * { margin: 0 !important; }
.ml-slide__copy h1,
.ml-slide__copy h2 {
	font-size: clamp(36px, 4.3vw, 64px);
	line-height: .98;
	text-wrap: balance;
}
.ml-slide__copy p:not(.ml-eyebrow) {
	max-width: 44ch;
	font-size: clamp(15px, 1.35vw, 18px);
	color: var(--ml-ink-soft);
}
.ml-slide__copy .wp-block-buttons { margin-top: 10px !important; }
/* obrázek ve slideru menší než na detailu senzoru (aktuální fotky nemají vysoké rozlišení) */
.ml-slide .ml-product,
.ml-scene--product .ml-product { width: min(100%, 480px); margin-inline: auto 4%; }   /* odsazené od textu doprava */
.ml-slide__visual {
	height: 100%;
	display: grid;
	place-items: center;
}

/* přechod snímků: text vyjede, produkt přiletí, laser přejede */
.ml-hero.is-ready .ml-slide.is-active .ml-slide__copy > * {
	animation: ml-rise .8s var(--ml-ease) both;
}
.ml-hero.is-ready .ml-slide.is-active .ml-slide__copy > *:nth-child(2) { animation-delay: .06s; }
.ml-hero.is-ready .ml-slide.is-active .ml-slide__copy > *:nth-child(3) { animation-delay: .12s; }
.ml-hero.is-ready .ml-slide.is-active .ml-slide__copy > *:nth-child(4) { animation-delay: .18s; }
.ml-hero.is-ready .ml-slide.is-active .ml-product {
	animation: ml-fly .9s var(--ml-ease) both;
}
.ml-hero.is-ready .ml-slide.is-leaving {
	animation: ml-fade .7s ease both;
}
@keyframes ml-rise { from { opacity: 0; transform: translateY(24px); } }
@keyframes ml-fly { from { opacity: 0; transform: translateX(60px) scale(.96); } }
@keyframes ml-fade { to { opacity: 0; } }
/* laser: jednou přejede shora dolů a zmizí – ve slideru na každém snímku, na detailu senzoru po načtení */
.ml-slide .ml-product__scan { opacity: 0; animation: none; }
.ml-slide.is-active .ml-product__scan,
.ml-scene .ml-product__scan { animation: ml-scan-once 3.6s ease-in-out .6s both; }
/* laser lze vypnout atributem bloku „laser“ (hero slider i produkt v hlavičce senzoru, výchozí vypnuto) */
.ml-hero--no-laser .ml-product__scan,
.ml-product-visual--no-laser .ml-product__scan { display: none !important; }
@keyframes ml-scan-once {
	0% { top: 6%; opacity: 0; }
	10% { opacity: .8; }
	85% { opacity: .8; }
	100% { top: 92%; opacity: 0; }
}

.ml-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 6;
	width: 54px;
	height: 54px;
	margin-top: -27px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid rgba(26, 28, 32, .14);
	background: rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--ml-ink);
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.ml-hero__arrow:hover { background: var(--ml-ink); color: #fff; }
.ml-hero__arrow--prev { left: clamp(12px, 2vw, 32px); }
.ml-hero__arrow--next { right: clamp(12px, 2vw, 32px); }

.ml-hero__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 28px;
	z-index: 6;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
.ml-hero__count,
.ml-hero__scroll {
	position: absolute;
	font: 500 12px/1 var(--ml-mono);
	letter-spacing: .12em;
	color: var(--ml-ink-soft);
	font-variant-numeric: tabular-nums;
}
.ml-hero__count { left: max(var(--ml-gutter), calc(50% - 608px)); }
.ml-hero__count b { font-weight: 500; color: var(--ml-ink); }
.ml-hero__scroll {
	right: max(var(--ml-gutter), calc(50% - 608px));
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ml-hero__scroll svg { width: 14px; height: 14px; }
.ml-hero__dots {
	display: flex;
	gap: 10px;
	pointer-events: auto;
}
.ml-hero__dot {
	position: relative;
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(26, 28, 32, .22);
	overflow: hidden;
	cursor: pointer;
	transition: width .45s var(--ml-ease), background-color .3s ease;
}
.ml-hero__dot::after { content: ""; position: absolute; inset: -12px; }
.ml-hero__dot.is-active { width: 44px; background: rgba(26, 28, 32, .18); }
.ml-hero__dot span {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--ml-ink);
	transform-origin: left center;
	transform: scaleX(0);
}
.ml-hero__dot.is-active span { transform: scaleX(1); }
.ml-hero.is-auto .ml-hero__dot.is-active span {
	background: linear-gradient(90deg, var(--ml-ink), var(--ml-laser));
	animation: ml-progress var(--ml-interval, 6s) linear forwards;
}
.ml-hero.is-paused .ml-hero__dot.is-active span { animation-play-state: paused; }
@keyframes ml-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

@media (max-width: 820px) {
	.ml-hero { height: clamp(720px, 100svh, 880px); }
	.ml-slide__inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto minmax(0, 1fr);
		align-items: start;
		padding: calc(var(--ml-header-h) + 24px) 20px 96px;
		gap: 12px;
	}
	.ml-slide .ml-product,
	.ml-scene--product .ml-product { width: min(100%, 420px); margin-inline: auto; }
	.ml-slide .ml-scene__giant,
	.ml-scene--product .ml-scene__giant {
		align-items: flex-end;
		justify-content: center;
		padding: 0 0 14%;
		font-size: 42vw;
	}
	.ml-slide .ml-scene__grid {
		-webkit-mask-image: radial-gradient(ellipse 80% 45% at 50% 68%, #000 15%, transparent 75%);
		mask-image: radial-gradient(ellipse 80% 45% at 50% 68%, #000 15%, transparent 75%);
	}
	.ml-hero__arrow { top: auto; bottom: 14px; margin-top: 0; width: 46px; height: 46px; }
	.ml-hero__bar { bottom: 32px; }
	.ml-hero__count, .ml-hero__scroll { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ml-scene__bg::before,
	.ml-scene__bg::after,
	.ml-product__scan,
	.ml-slide.is-active .ml-product__scan,
	.ml-scene .ml-product__scan,
	.ml-hero.is-ready .ml-slide.is-active .ml-slide__copy > *,
	.ml-hero.is-ready .ml-slide.is-active .ml-product,
	.ml-hero.is-ready .ml-slide.is-leaving {
		animation: none;
	}
	.ml-scene .ml-product__scan { opacity: 0; }
}

/* ---------- drobečková navigace ---------- */
.ml-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font: 500 12px/1.4 var(--ml-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ml-ink-soft);
}
.ml-breadcrumbs li + li::before { content: "/"; margin-right: 10px; color: #8a919c; }
.ml-breadcrumbs a { color: var(--ml-ink-soft); text-decoration: none; }
.ml-breadcrumbs a:hover { color: var(--ml-brand); }
.ml-breadcrumbs [aria-current] { color: var(--ml-ink); }

/* ---------- lišta sekcí produktu ---------- */
.ml-subnav {
	position: sticky;
	top: var(--ml-header-h);
	z-index: 50;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--ml-line);
}
body.admin-bar .ml-subnav { top: calc(var(--ml-header-h) + 32px); }
.ml-subnav__inner {
	max-width: var(--ml-max);
	margin: 0 auto;
	padding: 0 var(--ml-gutter);
	min-height: 64px;
	display: flex;
	align-items: center;
	gap: 32px;
}
.ml-subnav__title {
	font-family: var(--ml-display);
	font-weight: 750;
	font-stretch: 112%;
	font-size: 18px;
	white-space: nowrap;
}
.ml-subnav__links {
	flex: 1;
	display: flex;
	gap: 26px;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
}
.ml-subnav__links a {
	padding: 22px 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--ml-ink-soft);
	text-decoration: none;
}
.ml-subnav__links a:hover,
.ml-subnav__links a.is-current {
	color: var(--ml-ink);
	box-shadow: inset 0 -2px 0 var(--ml-laser);
}
.ml-subnav__cta {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--ml-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.ml-subnav__cta:hover { background: #33363c; color: #fff; }
@media (max-width: 700px) {
	.ml-subnav__title { display: none; }
	.ml-subnav__inner { gap: 16px; }
}

/* ---------- sekce ---------- */
.ml-section {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}
.ml-section-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 48px;
}
.ml-section-head h2 { max-width: 18ch; margin: 0; }
.ml-section-head p { max-width: 46ch; margin: 0; color: var(--ml-ink-soft); }
.is-style-ml-dark {
	position: relative;
	background: var(--ml-ink);
	color: #fff;
}
.is-style-ml-dark .ml-eyebrow,
.is-style-ml-dark p { color: #a9abb0; }
.is-style-ml-dark h2,
.is-style-ml-dark h3,
.is-style-ml-dark h4 { color: #fff; }
.is-style-ml-dark a:not(.wp-block-button__link) { color: #fff; }
.is-style-ml-card {
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 16px;
}

/* klíčová čísla */
.ml-stats {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px !important;
}
.ml-stats.is-style-ml-dark,
.is-style-ml-dark .ml-stats { gap: 1px !important; }
.ml-stat {
	padding: 28px 24px;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
}
.is-style-ml-dark .ml-stat {
	background: var(--ml-ink);
	border: 0;
	border-radius: 0;
	padding: 36px 24px 32px;
}
.ml-stat > * { margin: 0 !important; }
.ml-stat__value {
	font: 700 clamp(32px, 3.4vw, 44px)/1 var(--ml-display);
	font-stretch: 112%;
	letter-spacing: -.02em;
	color: var(--ml-ink);
}
.is-style-ml-dark .ml-stat__value { color: #fff; }
.ml-stat__value em {
	font-style: normal;
	font-size: .45em;
	font-weight: 600;
	color: var(--ml-muted);
}
.is-style-ml-dark .ml-stat__value em { color: #9aa3b1; }
.ml-stat__label {
	margin-top: 10px !important;
	font-size: 14px;
	color: var(--ml-ink-soft);
}
@media (max-width: 900px) {
	.ml-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* produktové řady */
.ml-families {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.ml-family {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: var(--ml-ink);
}
.ml-family:hover { color: var(--ml-ink); }
.ml-family__media {
	position: relative;
	height: 280px;
	display: grid;
	place-items: center;
	margin: 12px 12px 0;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--ml-line);
}
.ml-family__img {
	width: 62%;
	height: 80%;
	object-fit: contain;
}
.ml-family__media .ml-product__placeholder { inset: 18%; font-size: 12px; }
.ml-family__label {
	position: absolute;
	top: 18px;
	left: 18px;
	font: 500 11px/1 var(--ml-mono);
	letter-spacing: .12em;
	color: var(--ml-ink-soft);
}
.ml-family__body {
	flex: 1;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ml-family__body > * { margin: 0; }
.ml-family__title {
	font-size: 26px;
	font-stretch: 110%;
	font-weight: 700;
}
.ml-family__desc { font-size: 15px; color: var(--ml-ink-soft); }
.ml-family__models { font: 400 12px/1.7 var(--ml-mono); color: var(--ml-muted); }
.ml-family__more {
	margin-top: auto;
	padding-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--ml-brand);
}
@media (max-width: 900px) {
	.ml-families { grid-template-columns: minmax(0, 1fr); }
}

/* produktové řady – katalog (přehled produktů) */
.ml-catalog { display: grid; gap: 72px; }
.ml-catalog__family { scroll-margin-top: 110px; }
.ml-catalog__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 20px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--ml-line);
}
.ml-catalog__intro { max-width: 680px; }
.ml-catalog__intro > * { margin: 0; }
.ml-catalog__label { font: 500 11px/1 var(--ml-mono); letter-spacing: .12em; color: var(--ml-muted); margin-bottom: 12px; }
.ml-catalog__title { font-size: clamp(26px, 3vw, 34px); font-stretch: 110%; font-weight: 700; line-height: 1.1; }
.ml-catalog__title a { color: var(--ml-ink); text-decoration: none; }
.ml-catalog__title a:hover { color: var(--ml-brand); }
.ml-catalog__desc { margin-top: 10px !important; font-size: 15px; color: var(--ml-ink-soft); }
.ml-catalog__all {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--ml-brand);
	text-decoration: none;
	white-space: nowrap;
}
.ml-catalog__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	row-gap: 16px;
	align-items: stretch;
}
.ml-catalog__grid > li { margin: 0 !important; display: flex; min-width: 0; }
.ml-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	padding: 12px 12px 16px;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
	color: var(--ml-ink);
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.ml-tile:hover {
	color: var(--ml-ink);
	border-color: #c9ced6;
	box-shadow: 0 10px 28px rgba(26, 28, 32, .08);
	transform: translateY(-2px);
}
.ml-tile__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 10px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--ml-line);
}
.ml-tile__img {
	position: absolute;
	inset: 11%;
	width: 78% !important;
	height: 78% !important;
	max-width: none;
	object-fit: contain;
}
.ml-tile__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 4px 7px;
	border-radius: 999px;
	background: var(--ml-laser);
	color: #fff;
	font: 600 10px/1 var(--ml-mono);
	letter-spacing: .08em;
}
.ml-tile__name { padding: 0 4px; font-weight: 600; font-size: 16px; }
.ml-tile__desc { padding: 0 4px; font-size: 14px; line-height: 1.45; color: var(--ml-ink-soft); }
.ml-tile__meta { margin-top: auto; padding: 6px 4px 0; font: 400 12px/1.5 var(--ml-mono); color: var(--ml-muted); }
.ml-tile__specs {
	display: grid;
	gap: 6px;
	margin-top: auto;
	padding: 12px 4px 0;
	border-top: 1px solid var(--ml-line);
}
.ml-tile__name:has(+ .ml-tile__specs),
.ml-tile__desc { padding-bottom: 10px; }
.ml-tile__spec { display: grid; gap: 1px; }
.ml-tile__spec-k { font: 500 10px/1.3 var(--ml-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ml-muted); }
.ml-tile__spec-v { font-size: 13px; line-height: 1.4; color: var(--ml-ink); }
@media (max-width: 1100px) {
	.ml-catalog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.ml-catalog { gap: 56px; }
	.ml-catalog__head { flex-direction: column; align-items: flex-start; }
	.ml-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; row-gap: 12px; }
}

/* vlastnosti (číslované) */
.ml-features {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 32px !important;
}
.ml-feature > * { margin: 0 !important; }
.ml-feature { display: flex; flex-direction: column; gap: 5px; }
.ml-num {
	font: 500 12px/1 var(--ml-mono) !important;
	color: var(--ml-laser-dark);
	letter-spacing: .04em;
}
.ml-feature p:not(.ml-num) { font-size: 15px; color: var(--ml-ink-soft); }
@media (max-width: 700px) {
	.ml-features { grid-template-columns: minmax(0, 1fr); }
}

/* módy měření */
.ml-modes {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px !important;
}
.ml-mode {
	padding: 20px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .03);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ml-mode > * { margin: 0 !important; }
.ml-mode::before {
	content: "";
	height: 64px;
	border-radius: 8px;
	background:
		linear-gradient(var(--ml-laser), var(--ml-laser)) center / 100% 2px no-repeat,
		var(--ml-mode-shape, none),
		rgba(255, 255, 255, .05);
	box-shadow: inset 0 0 0 0 transparent;
}
.ml-mode--edge1 { --ml-mode-shape: linear-gradient(#fff, #fff) 100% 50% / 55% 26px no-repeat; }
.ml-mode--edge2 { --ml-mode-shape: linear-gradient(#fff, #fff) 0 50% / 55% 26px no-repeat; }
.ml-mode--diameter { --ml-mode-shape: radial-gradient(circle at 50% 50%, #fff 16px, transparent 17px); }
.ml-mode--gap { --ml-mode-shape: linear-gradient(90deg, transparent 18%, #fff 18%, #fff 36%, transparent 36%, transparent 64%, #fff 64%, #fff 82%, transparent 82%) center / 100% 60% no-repeat; }
.ml-mode--center { --ml-mode-shape: radial-gradient(circle at 50% 50%, #fff 14px, transparent 15px, transparent 21px, #23aadd 22px, transparent 23px); }
.ml-mode--solid { --ml-mode-shape: linear-gradient(#fff, #fff) center / 70% 22px no-repeat; }
.ml-mode__code {
	font: 600 13px/1 var(--ml-mono) !important;
	letter-spacing: .1em;
	color: #fff !important;
}
.ml-mode p:not(.ml-mode__code) { font-size: 14px; line-height: 1.5; }
@media (max-width: 1100px) {
	.ml-modes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.ml-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* tabulka parametrů (styl bloku Tabulka „Parametry“) */
.wp-block-table.is-style-ml-specs {
	overflow-x: auto;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
}
.wp-block-table.is-style-ml-specs table {
	width: 100%;
	border-collapse: collapse;
}
.wp-block-table.is-style-ml-specs td,
.wp-block-table.is-style-ml-specs th {
	padding: 9px 18px;
	border: 0;
	border-bottom: 1px solid #edf0f3;
	text-align: left;
	vertical-align: top;
}
.wp-block-table.is-style-ml-specs td:first-child {
	width: 40%;
	color: var(--ml-ink-soft);
}
.wp-block-table.is-style-ml-specs td:nth-child(2) {
	font: 500 14px/1.5 var(--ml-mono);
}
/* řádek s prázdnou druhou buňkou = mezititulek skupiny */
.wp-block-table.is-style-ml-specs tr:has(td:nth-child(2):empty) td {
	padding-top: 14px;
	padding-bottom: 7px;
	background: #f8f9fb;
	border-bottom-color: var(--ml-line);
	font: 500 11px/1 var(--ml-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ml-laser-dark);
}
.wp-block-table.is-style-ml-specs tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-ml-specs figcaption {
	padding: 10px 18px;
	font-size: 13px;
	color: var(--ml-muted);
}

/* vícesloupcová tabulka (varianty modelu v záhlaví) */
.wp-block-table.is-style-ml-specs thead th {
	padding-top: 11px;
	padding-bottom: 11px;
	background: #f8f9fb;
	border-bottom: 1px solid var(--ml-line);
	font: 600 13px/1.3 var(--ml-mono);
	color: var(--ml-ink);
}
.wp-block-table.is-style-ml-specs td:not(:first-child) { font: 500 14px/1.5 var(--ml-mono); }
.wp-block-table.is-style-ml-specs table:has(thead) td:first-child { width: 28%; }
.wp-block-table.is-style-ml-specs figcaption { margin: 0; border-top: 1px solid #edf0f3; }

/* aplikace bez fotek */
.ml-apps {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 !important;
	border-top: 2px solid var(--ml-ink);
}
.ml-app {
	padding: 24px 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-right: 1px solid #d3d8df;
}
.ml-app:first-child { padding-left: 0; }
.ml-app:last-child { border-right: 0; padding-right: 0; }
.ml-app > * { margin: 0 !important; }
.ml-app h3 { font-size: 22px; font-stretch: 110%; font-weight: 700; }
.ml-app p:not(.ml-num):not(.ml-app__modes) { font-size: 15px; color: var(--ml-ink-soft); }
.ml-app__modes {
	margin-top: 6px !important;
	font: 400 12px/1.5 var(--ml-mono);
	color: var(--ml-muted);
}
@media (max-width: 900px) {
	.ml-apps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-app { border-right: 0; border-bottom: 1px solid #d3d8df; padding-left: 0 !important; padding-right: 16px; }
}

/* ke stažení */
.ml-downloads {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px !important;
}
.ml-download {
	position: relative;
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 16px;
	row-gap: 2px !important;
	align-items: center;
	padding: 18px 20px;
	border: 1px solid #d3d8df;
	border-radius: 12px;
	background: #fff;
	transition: border-color .2s ease;
}
.ml-download:hover { border-color: var(--ml-ink); }
.ml-download > * { margin: 0 !important; }
.ml-download__type {
	grid-row: 1 / span 2;
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: #f1f3f6;
	font: 600 11px/1 var(--ml-mono);
	color: var(--ml-ink-soft);
}
.ml-download__name { font-size: 15px; font-weight: 600; }
.ml-download__name a { color: var(--ml-ink); text-decoration: none; }
.ml-download__name a::after { content: ""; position: absolute; inset: 0; }
.ml-download__meta { font-size: 13px; color: var(--ml-muted); }
@media (max-width: 900px) {
	.ml-downloads { grid-template-columns: minmax(0, 1fr); }
}

/* CTA pás */
.ml-cta-band {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 !important;
	border-radius: 24px;
	overflow: hidden;
	background: var(--ml-brand);
	color: #fff;
}
.ml-cta-band > * {
	margin: 0 !important;
	padding: clamp(32px, 5vw, 56px);
}
.ml-cta-band h2 { color: #fff; font-size: clamp(30px, 3.2vw, 40px); line-height: 1.02; }
.ml-cta-band p { color: #e3eef8; }
.ml-cta-band > div > * { margin: 0 0 16px; }
.ml-cta-band__actions {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
}
.ml-cta-band__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 999px;
	background: #fff;
	color: var(--ml-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: transform .25s ease, background-color .25s ease;
}
.ml-cta-band__btn:hover { color: var(--ml-ink); transform: translateY(-1px); }
.ml-cta-band__btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .5); }
.ml-cta-band__btn--ghost:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.ml-cta-band__btn--phone { gap: 10px; font-variant-numeric: tabular-nums; }
.ml-cta-band__btn--phone small { font: 500 11px/1 var(--ml-mono); letter-spacing: .1em; text-transform: uppercase; opacity: .7; }

/* ---------- formulář poptávky (Contact Form 7, kontaktní stránka #inquiry-form) ---------- */
#inquiry-form { scroll-margin-top: calc(var(--ml-header-h) + 24px); }
.ml-inquiry {
	margin-block-start: clamp(48px, 6vw, 80px);
	margin-block-end: clamp(48px, 6vw, 80px);
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--ml-line);
	border-radius: 24px;
	background: #fff;
}
.ml-inquiry:last-child { margin-block-end: 0; }
.ml-inquiry > * { margin-block: 0; }
.ml-inquiry > * + * { margin-block-start: 12px; }
.ml-inquiry .wpcf7 { max-width: 860px; margin-block-start: 28px; }
.ml-inquiry > p { max-width: 70ch; color: var(--ml-ink-soft); }
.ml-form { display: grid; gap: 18px; }
.ml-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.ml-form__field { display: grid; gap: 6px; font-size: 14px; font-weight: 500; color: var(--ml-ink); }
.ml-form__field > span:first-child { font: 500 11px/1.3 var(--ml-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ml-ink-soft); }
.ml-form .wpcf7-form-control-wrap { display: block; }
.ml-form input:not([type="submit"]),
.ml-form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #cfd1d5;
	border-radius: 10px;
	background: var(--ml-paper);
	font: inherit;
	font-weight: 400;
	font-size: 16px;   /* 16px – iOS při fokusu nezoomuje */
	color: var(--ml-ink);
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.ml-form textarea { min-height: 150px; resize: vertical; }
.ml-form input:not([type="submit"]):focus,
.ml-form textarea:focus {
	outline: none;
	border-color: var(--ml-brand);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 131, 201, .15);
}
.ml-form .wpcf7-not-valid { border-color: var(--ml-laser) !important; }
.ml-form .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; font-weight: 400; color: var(--ml-laser-dark); }
.ml-form__actions { display: flex; align-items: center; gap: 12px; }
.ml-form input[type="submit"] {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ml-ink);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color .25s ease, transform .25s ease;
}
.ml-form input[type="submit"]:hover { background: #33363c; transform: translateY(-1px); }
.ml-form input[type="submit"]:disabled { opacity: .6; cursor: progress; }
.ml-form .wpcf7-spinner { margin: 0; }
.ml-inquiry .wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
}
@media (max-width: 640px) {
	.ml-form__grid { grid-template-columns: minmax(0, 1fr); }
	.ml-form input[type="submit"] { width: 100%; }
}
.ml-section--cta { padding-top: 0; }
.ml-footer a[href^="tel:"] { color: #a9abb0; }
.ml-cta-band .wp-block-buttons { width: 100%; }
.ml-cta-band .wp-block-button { width: 100%; }
.ml-cta-band .wp-block-button__link { width: 100%; background: #fff; color: var(--ml-ink); }
.ml-cta-band .is-style-ml-ghost .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
@media (max-width: 800px) {
	.ml-cta-band { grid-template-columns: minmax(0, 1fr); }
}

/* související */
.ml-section--related { padding-top: 0; }
.ml-section--related:not(:has(.ml-related)) { display: none; }
.ml-related__title {
	margin: 0 0 24px;
	font-size: var(--wp--preset--font-size--xl);
}
.ml-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.ml-related__item {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
	text-decoration: none;
	color: var(--ml-ink);
}
.ml-related__item:hover { color: var(--ml-ink); }
.ml-related__media {
	flex: none;
	width: 88px;
	height: 72px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--ml-line);
}
.ml-related__media img { max-width: 80%; max-height: 80%; width: auto; height: auto; object-fit: contain; }
.ml-related__text { display: flex; flex-direction: column; gap: 2px; }
.ml-related__text b { font-size: 17px; font-weight: 600; }
.ml-related__text span { font-size: 14px; color: var(--ml-ink-soft); }
@media (max-width: 900px) {
	.ml-related__grid { grid-template-columns: minmax(0, 1fr); }
}

/* rozvržení uvnitř scény */
.ml-scene__cols { gap: 32px !important; margin: 0 !important; }
.ml-scene__copy,
.ml-scene__stack {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start !important;
	gap: 18px !important;
}
.ml-scene__copy > *,
.ml-scene__stack > * { margin: 0 !important; }
.ml-scene__copy .ml-breadcrumbs { margin-bottom: 12px !important; }
.ml-scene .wp-block-post-excerpt__more-text { display: none; }
.ml-scene__stack .ml-chips { margin-top: 10px !important; }

/* ---------- kategorie: pilulky + karty senzorů ---------- */
.ml-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ml-chip {
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(26, 28, 32, .2);
	background: rgba(255, 255, 255, .5);
	color: var(--ml-ink);
	font-size: 14px;
	text-decoration: none;
}
.ml-chip:hover { border-color: var(--ml-ink); color: var(--ml-ink); }
.ml-chip.is-current { background: var(--ml-ink); border-color: var(--ml-ink); color: #fff; }

.ml-sensor-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.ml-sensor-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 14px;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.ml-sensor-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -24px rgba(26, 28, 32, .35);
}
.ml-sensor-card__media {
	height: 200px;
	display: grid;
	place-items: center;
	margin: 12px 12px 0;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--ml-line);
}
.ml-sensor-card__media img {
	width: 60%;
	height: 80%;
	object-fit: contain;
}
.ml-sensor-card__body {
	flex: 1;
	padding: 20px 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ml-sensor-card__body > * { margin: 0; }
.ml-sensor-card__title {
	font-size: 22px;
	font-weight: 700;
	font-stretch: 110%;
}
.ml-sensor-card__title a { color: var(--ml-ink); text-decoration: none; }
.ml-sensor-card__title a::after { content: ""; position: absolute; inset: 0; }
.ml-sensor-card__excerpt { font-size: 14px; color: var(--ml-ink-soft); }
.ml-sensor-card .ml-card-meta__list { margin-top: auto; }
.ml-card-meta__list {
	margin: 0;
	padding-top: 14px;
	border-top: 1px solid #e6e9ee;
	display: grid;
	gap: 6px;
	font: 400 12px/1.4 var(--ml-mono);
}
.ml-card-meta__list > div { display: flex; justify-content: space-between; gap: 14px; }
.ml-card-meta__list dt { color: var(--ml-muted); }
.ml-card-meta__list dd { margin: 0; text-align: right; }
.ml-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 1;
	margin: 0 !important;
	padding: 6px 9px;
	border-radius: 999px;
	background: #ffe1e5;
	color: var(--ml-laser-dark);
	font: 500 10px/1 var(--ml-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.ml-badge:empty { display: none; }
@media (max-width: 1000px) {
	.ml-sensor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.ml-sensor-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- patička ---------- */
.ml-footer {
	background: var(--ml-ink);
	color: #a9abb0;
	font-size: 14px;
}
.ml-footer a { color: #a9abb0; text-decoration: none; }
.ml-footer a:hover { color: #fff; }
.ml-footer h4, .ml-footer .ml-footer__h { color: #fff; font-family: var(--wp--preset--font-family--body); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.ml-footer .ml-menu { flex-direction: column; align-items: flex-start; gap: 10px; }
.ml-footer .ml-menu a { color: #a9abb0; font-size: 14px; font-weight: 400; }
.ml-footer .ml-menu a:hover { color: #fff; }
.ml-footer .ml-lang a { color: #a9abb0; }
.ml-footer .ml-lang a:hover { color: #fff; }
.ml-footer .ml-lang span { color: #fff; }
.ml-footer .ml-lang i { color: #5c6573; }
.ml-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: 13px;
	color: #8a929e;
}

/* ---------- úvod: připravujeme, split, okno, kroky ---------- */
.is-style-ml-dark .ml-stats { background: rgba(255, 255, 255, .08); }
.ml-soon {
	margin-top: 20px !important;
	padding: 22px 28px;
	border: 1px dashed #b9c0ca;
	border-radius: 16px;
	gap: 14px !important;
	align-items: center;
}
.ml-soon > * { margin: 0 !important; }
.ml-soon__tag {
	padding: 6px 10px;
	border-radius: 999px;
	background: #ffe1e5;
	color: var(--ml-laser-dark);
	font: 500 11px/1 var(--ml-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ml-soon__text { color: var(--ml-ink-soft); }
.ml-soon__text strong { color: var(--ml-ink); font-weight: 600; margin-right: 6px; }

.ml-split {
	gap: 0 !important;
	background: #fff;
	border: 1px solid var(--ml-line);
	border-radius: 24px;
	overflow: hidden;
}
.ml-split__media {
	min-height: 420px;
	display: grid;
	place-items: center;
	margin: 16px 0 16px 16px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--ml-line);
}
.ml-split__media img { max-width: 80%; height: auto; }
.ml-split__body {
	padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}
.ml-split__body > * { margin: 0 !important; }
.ml-dots {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	padding: 0;
	list-style: none;
	font-size: 15px;
}
.ml-dots li { display: flex; align-items: center; gap: 10px; }
.ml-dots li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ml-laser); }
.ml-placeholder {
	margin: 0;
	padding: 48px 24px;
	width: min(100%, 420px);
	text-align: center;
	border: 1.5px dashed rgba(26, 28, 32, .28);
	border-radius: 12px;
	font: 500 12px/1.5 var(--ml-mono);
	color: var(--ml-ink-soft);
}
.is-style-ml-dark .ml-placeholder { border-color: rgba(255, 255, 255, .25); color: #9aa3b1; width: auto; }
.ml-gridbg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity: .6;
	pointer-events: none;
}
.ml-gridbg > * { position: relative; }
.ml-window {
	padding: 20px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: #1a2029;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
}
.ml-window img { display: block; border-radius: 10px; }
.ml-steps > .ml-step {
	display: grid !important;
	grid-template-columns: 16px minmax(0, 1fr);
	column-gap: 14px;
	padding: 22px 0;
	border-top: 1px solid #d3d8df;
	margin: 0 !important;
}
.ml-steps > .ml-step:last-child { border-bottom: 1px solid #d3d8df; }
.ml-step > * { margin: 0 !important; grid-column: 2; }
.ml-step > .ml-num { grid-column: 1; grid-row: 1 / span 2; align-self: center; padding-top: 0; }
/* místo čísla fajfka (text v bloku se skryje, platí i pro už vložený obsah) */
.ml-step > .ml-num { font-size: 0 !important; line-height: 0 !important; }
.ml-step > .ml-num { position: relative; width: 16px; height: 16px; }
/* fajfka – stejná jako u seznamu .ml-ticks */
.ml-step > .ml-num::after {
	content: "";
	position: absolute;
	left: 2px;
	top: 3px;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--ml-laser);
	border-bottom: 2px solid var(--ml-laser);
	transform: rotate(-45deg);
}
.ml-step h4 { margin-bottom: 6px !important; }
.ml-step p:not(.ml-num) { font-size: 15px; color: var(--ml-ink-soft); }
@media (max-width: 781px) {
	.ml-split__media { min-height: 280px; margin: 16px 16px 0; }
}

/* ---------- 3D parallaxa + hledáček ----------
	--mx, --my: poloha myši ve scéně (-1…1), --sy: odscrollování scény (0…1).
	Nastavuje assets/js/site.js; bez JS / s reduced-motion zůstávají 0. */
.ml-hero,
.ml-scene {
	--mx: 0;
	--my: 0;
	--sy: 0;
}
.ml-scene__grid {
	inset: -60px;
	transform: translate3d(calc(var(--mx) * -12px), calc(var(--my) * -12px + var(--sy) * -60px), 0);
}
.ml-scene__giant {
	transform: translate3d(calc(var(--mx) * -40px), calc(var(--my) * -18px + var(--sy) * -220px), 0);
}
.ml-slide__copy,
.ml-scene__copy {
	transform: translate3d(0, calc(var(--sy) * 90px), 0);
	opacity: calc(1 - var(--sy) * 1.3);
}
.ml-product__img,
.ml-product img,
.ml-product__placeholder {
	transform:
		perspective(1400px)
		translate3d(calc(var(--mx) * 24px), calc(var(--my) * 14px + var(--sy) * 200px), 0)
		rotateY(calc(var(--mx) * 9deg))
		rotateX(calc(var(--my) * -6deg));
	will-change: transform;
}
.ml-product__shadow {
	transform: translate3d(calc(var(--mx) * 14px), calc(var(--sy) * 200px), 0) scaleX(calc(1 - var(--my) * .05));
}
.ml-product__scan {
	transform: translate3d(calc(var(--mx) * 24px), calc(var(--sy) * 200px), 0);
}

/* hledáček: rohové značky kolem produktu */
.ml-product__frame {
	position: absolute;
	inset: -6% -5%;
	--c: rgba(26, 28, 32, .45);
	--l: 22px;
	background:
		linear-gradient(var(--c), var(--c)) top left / var(--l) 1.5px,
		linear-gradient(var(--c), var(--c)) top left / 1.5px var(--l),
		linear-gradient(var(--c), var(--c)) top right / var(--l) 1.5px,
		linear-gradient(var(--c), var(--c)) top right / 1.5px var(--l),
		linear-gradient(var(--c), var(--c)) bottom left / var(--l) 1.5px,
		linear-gradient(var(--c), var(--c)) bottom left / 1.5px var(--l),
		linear-gradient(var(--c), var(--c)) bottom right / var(--l) 1.5px,
		linear-gradient(var(--c), var(--c)) bottom right / 1.5px var(--l);
	background-repeat: no-repeat;
	transform: translate3d(calc(var(--mx) * 10px), calc(var(--my) * 6px + var(--sy) * 140px), 0);
	pointer-events: none;
}
@media (max-width: 820px) {
	.ml-product__frame { inset: -4% -3%; --l: 16px; }
}

/* ---------- editor ---------- */
.editor-styles-wrapper .ml-header-part { position: relative; top: 0; }
.ml-editor-slider { display: grid; gap: 16px; }
.ml-editor-slide {
	position: relative;
	padding: 32px;
	border-radius: 12px;
	background: radial-gradient(circle at 68% 52%, #fdfdfe 0%, #eceef2 38%, #d3d8df 100%);
}
.ml-editor-slide__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.ml-editor-slide__img { width: 100%; max-height: 320px; object-fit: contain; }
.ml-editor-slide__ph { padding: 48px 16px; text-align: center; border: 1.5px dashed #8a919c; border-radius: 8px; font: 500 12px/1.4 var(--ml-mono); }
.ml-editor-scene .ml-scene__inner { padding-top: 40px; }
.ml-cta-band__actions > * { margin: 0 !important; }
