/* Genereeritud failist assets/src/lameo.css — ära muuda siin, muuda src-faili ja käivita tools/build-css.py */
/* =====================================================================
   HELIX — Lameo (kodu) tooteleht
   ===================================================================== */

.hx-lm:not(#hx_),
.hx-lm-bar:not(#hx_),
.hx-lm-sheet:not(#hx_) {
	--l-accent:   var( --hx-accent, var( --helix-plum, #764452 ) );
	--l-accent-d: var( --helix-plum-dark, #5E3541 );
	--l-ink:      var( --helix-ink, #1C1C1C );
	--l-dark:     var( --helix-dark, #2B211E );
	--l-muted:    #6E6862;
	--l-line:     #E8E1D6;
	--l-tint:     var( --hx-tint, var( --helix-cream, #F6F1EA ) );
	--l-soft:     #FAF7F3; /* iOS 15 ei tunne color-mix()-i — kõik siinsed segud on fikseeritud värvid */
	--l-wood:     #C49A6C;
	--l-ease:     cubic-bezier( .2, .8, .2, 1 );
	--l-r:        26px;
	font-family: inherit;
	color: var( --l-ink );
}

.hx-lm:not(#hx_) {
	width: 100%;
	max-width: 1640px;
	margin: 0 auto;
	padding: 14px clamp( 14px, 2.6vw, 40px ) 80px;
}

.hx-lm:not(#hx_) *,
.hx-lm-bar:not(#hx_) *,
.hx-lm-sheet:not(#hx_) * { box-sizing: border-box; }

.hx-lm:not(#hx_) button,
.hx-lm-bar:not(#hx_) button,
.hx-lm-sheet:not(#hx_) button {
	margin: 0;
	min-width: 0;
	min-height: 0;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	font-family: inherit;
	line-height: 1.2;
	-webkit-tap-highlight-color: transparent;
}

.hx-lm:not(#hx_) a,
.hx-lm-bar:not(#hx_) a,
.hx-lm-sheet:not(#hx_) a { text-decoration: none; }

.hx-lm-ico:not(#hx_) { width: 18px; height: 18px; flex: 0 0 auto; }

.hx-lm:not(#hx_) :focus-visible,
.hx-lm-bar:not(#hx_) :focus-visible,
.hx-lm-sheet:not(#hx_) :focus-visible { outline: 2px solid var( --l-accent ); outline-offset: 3px; }

/* =====================================================================
   ÜLAOSA
   ===================================================================== */

.hx-lm-hero:not(#hx_) {
	display: grid;
	grid-template-columns: minmax( 0, 1.7fr ) minmax( 380px, 1fr );
	gap: clamp( 22px, 3vw, 48px );
	align-items: start;
}

/* Vasakul kaks pilti (seinal + mõõdud), keskel suur paneel */
.hx-lm-shots:not(#hx_) {
	position: sticky;
	top: 96px;
	display: grid;
	grid-template-columns: minmax( 0, .62fr ) minmax( 0, 1.38fr );
	gap: 12px;
	align-items: stretch;
}

.hx-lm-shots__side:not(#hx_) {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 0;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var( --l-line );
}

.hx-lm:not(#hx_) .hx-lm-shots__side .hx-lm-shot { border-radius: 0; }

.hx-lm:not(#hx_) .hx-lm-shot {
	position: relative;
	display: block;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 22px;
	background: var( --l-tint );
	cursor: zoom-in;
}

.hx-lm:not(#hx_) .hx-lm-shot img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s var( --l-ease ); }
.hx-lm:not(#hx_) .hx-lm-shot:hover img { transform: scale( 1.04 ); }

.hx-lm:not(#hx_) .hx-lm-shot.is-side { aspect-ratio: 4 / 5; }

/* Mõõdud: terve pilt näha, valgel */
.hx-lm:not(#hx_) .hx-lm-shot.is-side.is-1 { background: #fff; }
.hx-lm:not(#hx_) .hx-lm-shot.is-side.is-1 img { padding: 4% 6% 6%; object-fit: contain; }

/* Paneel: suur, valgel, tervikuna */
.hx-lm:not(#hx_) .hx-lm-shot.is-main {
	min-height: 100%;
	border-radius: var( --l-r );
	background: #fff;
	box-shadow: none;
}

.hx-lm:not(#hx_) .hx-lm-shot.is-main img { position: absolute; inset: 0; padding: 6%; object-fit: contain; }
.hx-lm:not(#hx_) .hx-lm-shot.is-main:hover img { transform: scale( 1.03 ); }

.hx-lm-shot__tag:not(#hx_) {
	position: absolute;
	left: 10px;
	top: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .92 );
	color: var( --l-ink );
	font-size: 11.5px;
	font-weight: 700;
}

.hx-lm-shots.is-in:not(#hx_) .hx-lm-shot { animation: hx-lm-fadein .45s ease both; }
.hx-lm-shots.is-in:not(#hx_) .hx-lm-shot.is-1 { animation-delay: .06s; }
.hx-lm-shots.is-in:not(#hx_) .hx-lm-shot.is-main { animation-delay: .1s; }

@keyframes hx-lm-fadein { from { opacity: 0; transform: translateY( 6px ); } }

/* Info */
.hx-lm-info:not(#hx_) { display: grid; gap: 16px; padding-top: 4px; }

.hx-lm-crumbs:not(#hx_) { display: flex; flex-wrap: wrap; gap: 6px; color: var( --l-muted ); font-size: 13px; }
.hx-lm:not(#hx_) .hx-lm-crumbs a { color: var( --l-muted ); }
.hx-lm:not(#hx_) .hx-lm-crumbs a:hover { color: var( --l-accent ); }
.hx-lm-crumbs:not(#hx_) span { opacity: .5; }

.hx-lm:not(#hx_) .hx-lm-title { margin: 0; color: var( --l-ink ); font-size: clamp( 26px, 2.4vw, 36px ); font-weight: 700; line-height: 1.05; letter-spacing: -.02em; }
.hx-lm:not(#hx_) .hx-lm-desc { max-width: 62ch; margin: 0; color: var( --l-muted ); font-size: 15.5px; line-height: 1.6; }

.hx-lm-descwrap:not(#hx_) { position: relative; }
.hx-lm-descwrap.is-clamped:not( .is-open ):not(#hx_) .hx-lm-desc { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }

.hx-lm:not(#hx_) .hx-lm-readmore {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var( --l-accent );
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.hx-lm:not(#hx_) .hx-lm-readmore[hidden] { display: none; }
.hx-lm:not(#hx_) .hx-lm-readmore:hover { background: none; color: var( --l-accent-d ); }
.hx-lm-readmore:not(#hx_) .hx-lm-ico { width: 16px; height: 16px; transform: rotate( 180deg ); transition: transform .3s var( --l-ease ); }
.hx-lm-descwrap.is-open:not(#hx_) .hx-lm-readmore .hx-lm-ico { transform: none; }

/* Variandid */
.hx-lm-pick:not(#hx_) { display: grid; gap: 16px; }

.hx-lm:not(#hx_) .hx-lm-attr__head { margin: 0 0 9px; font-size: 14px; }
.hx-lm-attr__head:not(#hx_) span { color: var( --l-muted ); }
.hx-lm-attr__head:not(#hx_) b, .hx-lm-attr__head:not(#hx_) .hx-b { font-weight: 700; }

.hx-lm-attr--color:not(#hx_) .hx-lm-attr__opts { display: grid; grid-template-columns: repeat( auto-fill, minmax( 64px, 1fr ) ); gap: 8px; }
.hx-lm-attr--chip:not(#hx_) .hx-lm-attr__opts { display: flex; flex-wrap: wrap; gap: 6px; }

.hx-lm-pick:not(#hx_) .hx-lm-sw {
	position: relative;
	display: grid;
	gap: 5px;
	justify-items: center;
	padding: 4px 2px 6px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	color: var( --l-ink );
	cursor: pointer;
	transition: background-color .2s;
}

.hx-lm-pick:not(#hx_) .hx-lm-sw span {
	display: block;
	width: 100%;
	max-width: 56px;
	aspect-ratio: 1;
	border-radius: 14px;
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, .1 );
	transition: transform .25s var( --l-ease ), box-shadow .2s;
}

.hx-lm-pick:not(#hx_) .hx-lm-sw.has-photo span { background-size: 190%; background-position: 50% 50%; background-color: var( --l-tint ); }
.hx-lm-pick:not(#hx_) .hx-lm-sw em { max-width: 100%; overflow: hidden; color: var( --l-muted ); font-size: 11px; font-style: normal; line-height: 1.2; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.hx-lm-pick:not(#hx_) .hx-lm-sw:hover { background: var( --l-soft ); }
.hx-lm-pick:not(#hx_) .hx-lm-sw:hover span { transform: translateY( -2px ); }
.hx-lm-pick:not(#hx_) .hx-lm-sw.is-on span { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var( --l-accent ); }
.hx-lm-pick:not(#hx_) .hx-lm-sw.is-on em { color: var( --l-ink ); font-weight: 700; }
.hx-lm-pick:not(#hx_) .hx-lm-sw.is-off span { opacity: .4; }
.hx-lm-pick:not(#hx_) .hx-lm-sw.is-off span::after { content: ""; position: absolute; }

.hx-lm-pick:not(#hx_) .hx-lm-chip {
	height: 44px;
	padding: 0 18px;
	border: 1.5px solid var( --l-line );
	border-radius: 999px;
	background: #fff;
	color: var( --l-ink );
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .2s, background-color .2s, color .2s;
}

.hx-lm-pick:not(#hx_) .hx-lm-chip:hover { border-color: var( --l-ink ); background: #fff; color: var( --l-ink ); }
.hx-lm-pick:not(#hx_) .hx-lm-chip.is-on { border-color: var( --l-ink ); background: var( --l-ink ); color: #fff; }
.hx-lm-pick:not(#hx_) .hx-lm-chip.is-off { color: #B5ADA3; text-decoration: line-through; }

/* Kiirnumbrid */
.hx-lm:not(#hx_) .hx-lm-keys {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 110px, 1fr ) );
	margin: 0;
	overflow: hidden;
	border: 1px solid var( --l-line );
	border-radius: 18px;
	background: #fff;
}

.hx-lm:not(#hx_) .hx-lm-keys[hidden] { display: none; }
.hx-lm-keys:not(#hx_) > div { padding: 13px 15px; border-left: 1px solid var( --l-line ); }
.hx-lm-keys:not(#hx_) > div:first-child { border-left: 0; }
.hx-lm:not(#hx_) .hx-lm-keys dt { margin: 0 0 3px; color: var( --l-accent ); font-size: 21px; font-weight: 700; line-height: 1.1; }
.hx-lm:not(#hx_) .hx-lm-keys dd { margin: 0; color: var( --l-muted ); font-size: 12px; line-height: 1.35; }

/* Ostukast */
.hx-lm-buy:not(#hx_) { display: grid; gap: 12px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 14px 40px rgba( 40, 28, 22, .07 ); }

.hx-lm-price:not(#hx_) { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; }
.hx-lm-price:not(#hx_) strong, .hx-lm-price:not(#hx_) .hx-t { font-size: clamp( 28px, 2.6vw, 36px ); font-weight: 700; letter-spacing: -.02em; }
.hx-lm-price:not(#hx_) del { margin-left: 8px; color: var( --l-muted ); font-size: 16px; }
.hx-lm-price:not(#hx_) small { margin-left: 6px; color: var( --l-muted ); font-size: 14px; }
.hx-lm-price__m2:not(#hx_) { padding: 6px 12px; border-radius: 999px; background: var( --l-tint ); color: var( --l-muted ); font-size: 13px; }
.hx-lm-price__m2:not(#hx_) b, .hx-lm-price__m2:not(#hx_) .hx-b { color: var( --l-accent ); }
.hx-lm:not(#hx_) .hx-lm-size { margin: -4px 0 0; color: var( --l-muted ); font-size: 13.5px; }

/* Kalkulaator */
.hx-lm-calc:not(#hx_) { border-radius: 16px; background: var( --l-soft ); }
.hx-lm-calc:not(#hx_) summary { display: flex; align-items: center; gap: 10px; padding: 13px 14px; font-size: 14px; font-weight: 700; list-style: none; cursor: pointer; }
.hx-lm-calc:not(#hx_) summary::-webkit-details-marker { display: none; }
.hx-lm-calc:not(#hx_) summary .hx-lm-ico { color: var( --l-accent ); }
.hx-lm-calc:not(#hx_) summary span { flex: 1 1 auto; }
.hx-lm-calc:not(#hx_) summary i { position: relative; width: 12px; height: 12px; }
.hx-lm-calc:not(#hx_) summary i::before,
.hx-lm-calc:not(#hx_) summary i::after { content: ""; position: absolute; top: 5px; left: 0; width: 12px; height: 2px; border-radius: 2px; background: var( --l-ink ); transition: transform .3s var( --l-ease ); }
.hx-lm-calc:not(#hx_) summary i::after { transform: rotate( 90deg ); }
.hx-lm-calc[open]:not(#hx_) summary i::after { transform: none; }

.hx-lm-calc__in:not(#hx_) { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 8px; padding: 0 14px; }
.hx-lm-calc__in:not(#hx_) b, .hx-lm-calc__in:not(#hx_) .hx-b { padding-bottom: 13px; color: var( --l-muted ); }
.hx-lm-calc__in:not(#hx_) label { position: relative; display: grid; gap: 4px; margin: 0; }
.hx-lm-calc__in:not(#hx_) span:not(.hx-b) { color: var( --l-muted ); font-size: 12px; font-weight: 600; }

.hx-lm:not(#hx_) .hx-lm-calc__in input {
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 34px 0 14px;
	border: 1px solid var( --l-line );
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: var( --l-ink );
	font: inherit;
	font-size: 16px;
	font-weight: 600;
}

.hx-lm:not(#hx_) .hx-lm-calc__in input:focus { border-color: var( --l-accent ); outline: 0; box-shadow: 0 0 0 3px rgba( 118, 68, 82, .14 ); }
.hx-lm-calc__in:not(#hx_) em { position: absolute; right: 12px; bottom: 13px; color: var( --l-muted ); font-size: 14px; font-style: normal; }
.hx-lm:not(#hx_) .hx-lm-calc__waste { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 12px 14px 0; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.hx-lm:not(#hx_) .hx-lm-calc__waste input { width: 18px; height: 18px; margin: 0; accent-color: var( --l-accent ); }
.hx-lm:not(#hx_) .hx-lm-calc__waste small { flex-basis: 100%; padding-left: 26px; color: var( --l-muted ); font-size: 12px; font-weight: 400; }
.hx-lm:not(#hx_) .hx-lm-calc__out { margin: 0; padding: 10px 14px 14px; color: var( --l-muted ); font-size: 13px; line-height: 1.5; }
.hx-lm-calc.has-result:not(#hx_) .hx-lm-calc__out { color: var( --l-ink ); font-size: 14.5px; }
.hx-lm-calc__out:not(#hx_) b, .hx-lm-calc__out:not(#hx_) .hx-b { color: var( --l-accent ); }
.hx-lm-calc__out:not(#hx_) small { display: block; color: var( --l-muted ); font-size: 12.5px; }

/* Kogus + nupp */
.hx-lm-cta:not(#hx_) { display: flex; gap: 10px; }

.hx-lm-qty:not(#hx_) { display: inline-flex; flex: 0 0 auto; align-items: center; height: 56px; padding: 4px; border: 1px solid var( --l-line ); border-radius: 999px; background: #fff; }

.hx-lm-qty:not(#hx_) button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var( --l-tint );
	color: var( --l-ink );
	cursor: pointer;
	transition: background-color .2s, color .2s;
}

.hx-lm-qty:not(#hx_) button:hover { background: var( --l-ink ); color: #fff; }
.hx-lm-qty:not(#hx_) .hx-lm-ico { width: 16px; height: 16px; }

.hx-lm-qty:not(#hx_) input {
	width: 48px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var( --l-ink );
	font: inherit;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.hx-lm-qty:not(#hx_) input::-webkit-inner-spin-button,
.hx-lm-qty:not(#hx_) input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.hx-lm-add:not(#hx_) {
	position: relative;
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 56px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var( --l-accent );
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s, transform .2s;
}

.hx-lm-add:hover:not(#hx_) { background: var( --l-accent-d ); color: #fff; transform: translateY( -1px ); }
.hx-lm-add:disabled:not(#hx_) { background: #B8AFA6; cursor: not-allowed; transform: none; }
.hx-lm-add:not(#hx_) b, .hx-lm-add:not(#hx_) .hx-b { padding: 3px 9px; border-radius: 999px; background: rgba( 255, 255, 255, .18 ); font-size: 13px; }
.hx-lm-add:not(#hx_) b:empty, .hx-lm-add:not(#hx_) .hx-b:empty { display: none; }
.hx-lm-add.is-busy:not(#hx_) { pointer-events: none; opacity: .75; }
.hx-lm-add.is-done:not(#hx_) { background: #2F7D4F; }

.hx-lm-msg:not(#hx_) { margin: 0; color: #2F7D4F; font-size: 13.5px; }
.hx-lm-msg:empty:not(#hx_) { display: none; }
.hx-lm-msg.is-error:not(#hx_) { color: #C4321F; }
.hx-lm-msg:not(#hx_) a { color: inherit; font-weight: 700; text-decoration: underline !important; }

.hx-lm-perkrow:not(#hx_) { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 2px 0 0; padding: 12px 0 0; border-top: 1px solid var( --l-line ); }
.hx-lm:not(#hx_) .hx-lm-perks { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }

.hx-lm:not(#hx_) .hx-lm-esto {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 150px;
	padding: 12px 16px;
	border: 1px solid var( --l-line );
	border-radius: 16px;
	background: #fff;
	color: var( --l-muted );
	transition: border-color .2s, transform .2s;
}

.hx-lm:not(#hx_) .hx-lm-esto:hover { border-color: var( --l-accent ); transform: translateY( -1px ); }
.hx-lm-esto:not(#hx_) img.hx-esto { height: 26px; width: auto; }
.hx-lm-esto:not(#hx_) small { font-size: 11.5px; line-height: 1.2; white-space: nowrap; }

@media ( max-width: 520px ) {
	.hx-lm-perkrow:not(#hx_) { flex-direction: column; align-items: stretch; }
	.hx-lm:not(#hx_) .hx-lm-esto { flex-direction: row; justify-content: space-between; }
}
.hx-lm-perks:not(#hx_) li { display: flex; align-items: center; gap: 10px; margin: 0; color: var( --l-muted ); font-size: 13.5px; }
.hx-lm-perks:not(#hx_) li a { display: flex; align-items: center; gap: 10px; color: var( --l-muted ); }
.hx-lm-perks:not(#hx_) li a:hover { color: var( --l-accent ); }
.hx-lm-perks:not(#hx_) .hx-lm-ico { width: 17px; height: 17px; color: var( --l-accent ); }

/* =====================================================================
   GALERII: äärest ääreni (50 px servast), tume taust, mosaiik
   ===================================================================== */

.hx-lm.has-gallery:not(#hx_) { padding-bottom: 50px; }

.hx-lm-masonry:not(#hx_) {
	--gap: 50px;
	width: calc( 100vw - var( --hx-sbw, 0px ) - var( --gap ) * 2 );
	margin-left: calc( 50% - ( 100vw - var( --hx-sbw, 0px ) ) / 2 + var( --gap ) );
	margin-top: clamp( 40px, 5vw, 70px );
	border-radius: 34px;
	background-color: #2B211E;
	background:
		radial-gradient( circle at 0% 0%, rgba( 196, 154, 108, .22 ), transparent 40% ),
		radial-gradient( circle at 100% 100%, rgba( 118, 68, 82, .3 ), transparent 45% ),
		var( --l-dark );
	color: #fff;
}

/* .hx-lm-sec seab padding'u hiljem — seepärast kõrgem kaal */
.hx-lm:not(#hx_) .hx-lm-masonry { padding: clamp( 34px, 4vw, 60px ) clamp( 18px, 3vw, 48px ) clamp( 34px, 4vw, 56px ); }

.hx-lm-masonry__in:not(#hx_) { max-width: 1760px; margin: 0 auto; }

.hx-lm-masonry__head:not(#hx_) { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 30px; margin: 0 0 24px; }
.hx-lm:not(#hx_) .hx-lm-masonry .hx-lm-masonry__head h2 { margin: 0; color: #fff; font-size: clamp( 30px, 3.4vw, 52px ); }
.hx-lm:not(#hx_) .hx-lm-masonry__head p { max-width: 42ch; margin: 0; color: rgba( 255, 255, 255, .65 ); font-size: 14.5px; line-height: 1.5; }
.hx-lm-masonry__head:not(#hx_) b, .hx-lm-masonry__head:not(#hx_) .hx-b { color: #fff; }

/* Mosaiik: korduv muster suurtest ja väikestest piltidest */
.hx-lm-mas:not(#hx_) {
	display: grid;
	grid-template-columns: repeat( 6, minmax( 0, 1fr ) );
	grid-auto-rows: clamp( 120px, 11vw, 200px );
	grid-auto-flow: dense;
	gap: 10px;
}

.hx-lm:not(#hx_) .hx-lm-mas__item {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 18px;
	background: rgba( 255, 255, 255, .06 );
	cursor: zoom-in;
	animation: hx-lm-up .5s var( --l-ease ) both;
}

/* 12 pilti = 4 täis rida (lae juurde lisab samuti 12) */
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n + 1 ),
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n + 10 ),
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n + 11 ) { grid-column: span 2; grid-row: span 2; }
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n + 4 ) { grid-row: span 2; }
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n + 6 ),
.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 12n ) { grid-column: span 2; }

.hx-lm:not(#hx_) .hx-lm-mas__item[hidden] { display: none; }
.hx-lm:not(#hx_) .hx-lm-mas__item img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s var( --l-ease ), filter .4s; }
.hx-lm:not(#hx_) .hx-lm-mas__item::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba( 255, 255, 255, .08 ); pointer-events: none; }
.hx-lm:not(#hx_) .hx-lm-mas__item:hover img { transform: scale( 1.06 ); filter: brightness( .82 ); }

.hx-lm-mas__item:not(#hx_) > span {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	color: var( --l-ink );
	opacity: 0;
	transform: translate( -50%, -50% ) scale( .6 );
	transition: opacity .25s, transform .35s var( --l-ease );
}

.hx-lm-mas__item:hover:not(#hx_) > span { opacity: 1; transform: translate( -50%, -50% ); }

@keyframes hx-lm-up { from { opacity: 0; transform: translateY( 12px ); } }

.hx-lm-mas__more:not(#hx_) { display: flex; justify-content: center; margin: 26px 0 0; }

.hx-lm:not(#hx_) .hx-lm-mas__more button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 54px;
	padding: 0 26px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var( --l-ink );
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .2s, background-color .2s;
}

.hx-lm:not(#hx_) .hx-lm-mas__more button:hover { background: var( --l-tint ); color: var( --l-ink ); transform: translateY( -2px ); }
.hx-lm-mas__more:not(#hx_) span { padding: 2px 9px; border-radius: 999px; background: var( --l-accent ); color: #fff; font-size: 12.5px; }

/* =====================================================================
   NÄIDISED: sama kujundus mis avalehel, selle toote toonidega
   ===================================================================== */

.hx-lm-sx:not(#hx_) {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr );
	gap: clamp( 24px, 4vw, 64px );
	align-items: center;
	padding: clamp( 28px, 4vw, 64px );
	overflow: hidden;
	border-radius: 34px;
	background: var( --l-tint );
}

.hx-lm-sx.no-fan:not(#hx_) { grid-template-columns: 1fr; }
.hx-lm-sx.no-fan:not(#hx_) .hx-lm-sx__visual { display: none; }

.hx-lm-sx__visual:not(#hx_) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }

.hx-lm:not(#hx_) .hx-lm-sx h2 { margin: 0; color: var( --l-ink ); font-size: clamp( 28px, 3vw, 44px ); font-weight: 700; line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.hx-lm:not(#hx_) .hx-lm-sx__lead { max-width: 58ch; margin: 12px 0 0; color: var( --l-muted ); font-size: 16px; line-height: 1.6; }

.hx-lm:not(#hx_) .hx-lm-sx__steps { position: relative; display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 10px; margin: 26px 0; padding: 0; list-style: none; }
.hx-lm:not(#hx_) .hx-lm-sx__steps::before { content: ""; position: absolute; top: 40px; left: 16%; right: 16%; border-top: 2px dashed rgba( 118, 68, 82, .3 ); }

.hx-lm-sx__steps:not(#hx_) li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 16px 10px 18px;
	border-radius: 20px;
	background: #fff;
	text-align: center;
	transition: transform .3s var( --l-ease );
}

.hx-lm-sx__steps:not(#hx_) li:hover { transform: translateY( -4px ); }
.hx-lm-sx__ico:not(#hx_) { position: relative; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin-bottom: 8px; border-radius: 16px; background: var( --l-tint ); color: var( --l-accent ); }
.hx-lm-sx__ico:not(#hx_) .hx-lm-ico { width: 24px; height: 24px; }
.hx-lm-sx__ico:not(#hx_) b, .hx-lm-sx__ico:not(#hx_) .hx-b { position: absolute; top: -7px; right: -9px; display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 2px solid #fff; border-radius: 50%; background: var( --l-accent ); color: #fff; font-size: 11px; }
.hx-lm-sx__steps:not(#hx_) strong, .hx-lm-sx__steps:not(#hx_) .hx-t { font-size: 14.5px; line-height: 1.25; }
.hx-lm-sx__steps:not(#hx_) small { color: var( --l-muted ); font-size: 12.5px; line-height: 1.35; }

.hx-lm-sx__cta:not(#hx_) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }

.hx-lm:not(#hx_) .hx-lm-sx__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 54px;
	padding: 0 26px;
	border-radius: 999px;
	background: var( --l-accent );
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	transition: background-color .2s, transform .2s;
}

.hx-lm:not(#hx_) .hx-lm-sx__btn:hover { background: var( --l-accent-d ); color: #fff; transform: translateY( -2px ); }
.hx-lm-sx__note:not(#hx_) { display: inline-flex; align-items: center; gap: 6px; color: var( --l-muted ); font-size: 13px; }
.hx-lm-sx__note:not(#hx_) .hx-lm-ico { width: 16px; height: 16px; color: var( --l-accent ); }

/* Lehvik: selle toote päris toonid, keskel */
.hx-lm-fan:not(#hx_) { --cw: 132px; --ch: 196px; position: relative; width: 100%; height: calc( var( --ch ) + 60px ); }

.hx-lm:not(#hx_) .hx-lm-fan__card {
	--a: calc( ( var( --n ) - ( var( --c ) - 1 ) / 2 ) * 9deg );
	position: absolute;
	left: 50%;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	width: var( --cw );
	height: var( --ch );
	margin-left: calc( var( --cw ) / -2 );
	padding: 8px 8px 0;
	border: 0;
	border-radius: 18px;
	background: #fff;
	color: var( --l-ink );
	box-shadow: 0 12px 28px rgba( 0, 0, 0, .14 );
	cursor: pointer;
	transform: rotate( var( --a ) );
	transform-origin: 50% 160%;
	transition: transform .45s var( --l-ease ), box-shadow .3s;
	animation: hx-lm-deal .8s var( --l-ease ) both;
	animation-delay: calc( var( --n ) * .05s );
}

@keyframes hx-lm-deal { from { transform: rotate( 0 ) translateY( 30px ); opacity: 0; } }

.hx-lm-fan:hover:not(#hx_) .hx-lm-fan__card { --a: calc( ( var( --n ) - ( var( --c ) - 1 ) / 2 ) * 12deg ); }
.hx-lm:not(#hx_) .hx-lm-fan__card:hover { z-index: 5; background: #fff; color: var( --l-ink ); transform: rotate( var( --a ) ) translateY( -24px ); box-shadow: 0 20px 40px rgba( 0, 0, 0, .2 ); }
.hx-lm-fan__card:not(#hx_) span { display: block; flex: 1 1 auto; border-radius: 12px; background-size: 190%; background-position: center; box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, .06 ); }
.hx-lm-fan__card:not(#hx_) em { padding: 9px 2px 10px; overflow: hidden; font-size: 12px; font-style: normal; font-weight: 600; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

.hx-lm:not(#hx_) .hx-lm-sx__count { margin: 0; padding: 6px 14px; border-radius: 999px; background: #fff; color: var( --l-muted ); font-size: 13px; white-space: nowrap; }
.hx-lm-sx__count:not(#hx_) b, .hx-lm-sx__count:not(#hx_) .hx-b { color: var( --l-accent ); }

/* Pildivaade */
.hx-lm-lb:not(#hx_) { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; padding: 50px 70px; background: rgba( 14, 10, 8, .92 ); opacity: 0; transition: opacity .25s; }
.hx-lm-lb[hidden]:not(#hx_) { display: none; }
.hx-lm-lb.is-open:not(#hx_) { opacity: 1; }
.hx-lm-lb:not(#hx_) img { max-width: 100%; max-height: 100%; border-radius: 14px; object-fit: contain; box-shadow: 0 30px 80px rgba( 0, 0, 0, .5 ); }

.hx-lm-lb:not(#hx_) button {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba( 255, 255, 255, .12 );
	color: #fff;
	cursor: pointer;
}

.hx-lm-lb:not(#hx_) button:hover { background: #fff; color: #1C1C1C; }
.hx-lm-lb:not(#hx_) .hx-lm-ico { width: 20px; height: 20px; }
.hx-lm-lb__close:not(#hx_) { top: 16px; right: 16px; }
.hx-lm-lb__nav:not(#hx_) { top: 50%; margin-top: -24px !important; }
.hx-lm-lb__nav.is-prev:not(#hx_) { left: 14px; }
.hx-lm-lb__nav.is-prev:not(#hx_) .hx-lm-ico { transform: rotate( -90deg ); }
.hx-lm-lb__nav.is-next:not(#hx_) { right: 14px; }
.hx-lm-lb__nav.is-next:not(#hx_) .hx-lm-ico { transform: rotate( 90deg ); }
.hx-lm-lb__count:not(#hx_) { position: absolute; bottom: 18px; left: 50%; padding: 6px 12px; border-radius: 999px; background: rgba( 255, 255, 255, .12 ); color: #fff; font-size: 13px; font-weight: 600; transform: translateX( -50% ); }

/* =====================================================================
   JAOTISED
   ===================================================================== */

.hx-lm-nav:not(#hx_) {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 4px;
	width: max-content;
	max-width: 100%;
	margin: clamp( 40px, 5vw, 70px ) auto 4px;
	padding: 5px;
	overflow-x: auto;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .94 );
	backdrop-filter: blur( 14px );
	-webkit-backdrop-filter: blur( 14px );
	box-shadow: 0 10px 30px rgba( 40, 28, 22, .08 );
	scrollbar-width: none;
}

.hx-lm-nav:not(#hx_)::-webkit-scrollbar { display: none; }
.hx-lm:not(#hx_) .hx-lm-nav a { flex: 0 0 auto; padding: 10px 18px; border-radius: 999px; color: var( --l-muted ); font-size: 14px; font-weight: 600; transition: background-color .2s, color .2s; }
.hx-lm:not(#hx_) .hx-lm-nav a:hover { color: var( --l-ink ); }
.hx-lm:not(#hx_) .hx-lm-nav a.is-on { background: var( --l-ink ); color: #fff; }

.hx-lm-sec:not(#hx_) { padding: clamp( 30px, 4vw, 56px ) 0 0; scroll-margin-top: 160px; }
.hx-lm:not(#hx_) .hx-lm-sec h2 { margin: 0; color: var( --l-ink ); font-size: clamp( 26px, 2.6vw, 38px ); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.hx-lm-sec__head:not(#hx_) { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin: 0 0 18px; }
.hx-lm:not(#hx_) .hx-lm-sec__head p { margin: 0; color: var( --l-muted ); font-size: 14px; }

/* =====================================================================
   AKUSTIKA: graafik + kaja demo
   ===================================================================== */

.hx-lm-ac:not(#hx_) { padding: clamp( 20px, 2.6vw, 34px ); border-radius: var( --l-r ); background: var( --l-tint ); }

.hx-lm-ac__head:not(#hx_) { display: grid; grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1.1fr ); gap: 20px 40px; align-items: end; margin: 0 0 22px; }
.hx-lm:not(#hx_) .hx-lm-ac__head p { max-width: 54ch; margin: 10px 0 0; color: var( --l-muted ); font-size: 15px; line-height: 1.6; }

.hx-lm:not(#hx_) .hx-lm-ac__stats { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 10px; margin: 0; }
.hx-lm-ac__stats:not(#hx_) > div { padding: 14px 16px; border-radius: 18px; background: #fff; }
.hx-lm:not(#hx_) .hx-lm-ac__stats dt { color: var( --l-accent ); font-size: clamp( 20px, 1.8vw, 26px ); font-weight: 700; line-height: 1.1; }
.hx-lm:not(#hx_) .hx-lm-ac__stats dd { margin: 4px 0 0; color: var( --l-muted ); font-size: 12.5px; }

.hx-lm-ac__body:not(#hx_) { display: grid; grid-template-columns: minmax( 0, 1.7fr ) minmax( 260px, 1fr ); gap: 14px; }

.hx-lm-chart:not(#hx_) { position: relative; margin: 0; padding: 16px 16px 8px; border-radius: 22px; background: #fff; color: var( --l-accent ); }
.hx-lm-chart__cap:not(#hx_) { margin: 0 0 4px 6px; color: var( --l-muted ); font-size: 12px; }
.hx-lm-chart__cap:not(#hx_) b, .hx-lm-chart__cap:not(#hx_) .hx-b { color: var( --l-ink ); font-size: 14px; }
.hx-lm-chart:not(#hx_) svg { display: block; width: 100%; height: auto; overflow: visible; }

.hx-lm-chart__band:not(#hx_) { fill: rgba( 196, 154, 108, .18 ); }
.hx-lm-chart__bandtxt:not(#hx_) { fill: #9D7B56; font-size: 13px; font-weight: 700; }
.hx-lm-chart__grid:not(#hx_) line { stroke: var( --l-line ); stroke-width: 1; }
.hx-lm-chart__grid:not(#hx_) text,
.hx-lm-chart__ticks:not(#hx_) text { fill: var( --l-muted ); font-size: 12px; }

.hx-lm-chart__line:not(#hx_) { fill: none; stroke: currentColor; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.hx-lm-chart__area:not(#hx_) { opacity: 0; }
.hx-lm-chart__peak:not(#hx_) circle { fill: currentColor; }
.hx-lm-chart__peak:not(#hx_) .is-ring { fill: none; stroke: currentColor; stroke-width: 2; opacity: 0; }
.hx-lm-chart__peak:not(#hx_) { opacity: 0; }

.hx-lm-chart.is-drawn:not(#hx_) .hx-lm-chart__line { transition: stroke-dashoffset 1.8s var( --l-ease ); stroke-dashoffset: 0; }
.hx-lm-chart.is-drawn:not(#hx_) .hx-lm-chart__area { opacity: 1; transition: opacity 1s 1s; }
.hx-lm-chart.is-drawn:not(#hx_) .hx-lm-chart__peak { opacity: 1; transition: opacity .4s 1.6s; }
.hx-lm-chart.is-drawn:not(#hx_) .hx-lm-chart__peak .is-ring { animation: hx-lm-ring 2s 2s ease-out infinite; }

@keyframes hx-lm-ring { from { opacity: .7; transform: scale( .4 ); } to { opacity: 0; transform: scale( 1.4 ); } }

.hx-lm-chart__cursor:not(#hx_) { stroke: var( --l-ink ); stroke-width: 1; stroke-dasharray: 3 4; opacity: 0; }
.hx-lm-chart__dot:not(#hx_) { fill: #fff; stroke: currentColor; stroke-width: 3; opacity: 0; }
.hx-lm-chart.is-hover:not(#hx_) .hx-lm-chart__cursor,
.hx-lm-chart.is-hover:not(#hx_) .hx-lm-chart__dot { opacity: 1; }

.hx-lm-chart__tip:not(#hx_) {
	position: absolute;
	z-index: 2;
	padding: 8px 12px;
	border-radius: 12px;
	background: var( --l-ink );
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
	pointer-events: none;
	transform: translate( -50%, calc( -100% - 30px ) );
}

.hx-lm-chart__tip[hidden]:not(#hx_) { display: none; }
.hx-lm-chart__tip:not(#hx_) b, .hx-lm-chart__tip:not(#hx_) .hx-b { font-size: 16px; }
.hx-lm-chart__tip:not(#hx_) small { display: block; opacity: .7; font-size: 11.5px; }

/* Kaja demo */
.hx-lm-echo:not(#hx_) { display: grid; align-content: start; gap: 12px; padding: 18px; border-radius: 22px; background: var( --l-dark ); color: #fff; }
.hx-lm:not(#hx_) .hx-lm-echo__q { margin: 0; font-size: 16px; font-weight: 700; }
.hx-lm-echo__tabs:not(#hx_) { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba( 255, 255, 255, .08 ); }
.hx-lm:not(#hx_) .hx-lm-echo__tabs button { flex: 1 1 0; height: 38px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; color: rgba( 255, 255, 255, .7 ); font-size: 13px; font-weight: 600; cursor: pointer; }
.hx-lm:not(#hx_) .hx-lm-echo__tabs button:hover { background: rgba( 255, 255, 255, .06 ); color: #fff; }
.hx-lm:not(#hx_) .hx-lm-echo__tabs button.is-on { background: #fff; color: var( --l-ink ); }

.hx-lm-echo__stage:not(#hx_) { position: relative; height: 170px; overflow: hidden; border-radius: 16px; background: rgba( 255, 255, 255, .04 ); }

.hx-lm-echo__src:not(#hx_) { position: absolute; left: 22px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; background: #fff; }
.hx-lm-echo__src:not(#hx_) i { position: absolute; inset: -6px; border: 2px solid rgba( 255, 255, 255, .4 ); border-radius: 50%; animation: hx-lm-ring 1.6s ease-out infinite; }

/* Lained seina poole */
.hx-lm-echo__out:not(#hx_) i,
.hx-lm-echo__back:not(#hx_) i {
	position: absolute;
	top: 50%;
	width: 60px;
	height: 120px;
	margin-top: -60px;
	border: 3px solid transparent;
	border-right-color: rgba( 255, 255, 255, .85 );
	border-radius: 50%;
	opacity: 0;
}

.hx-lm-echo__out:not(#hx_) i { left: 30px; animation: hx-lm-out 2.4s linear infinite; }
.hx-lm-echo__out:not(#hx_) i:nth-child( 2 ) { animation-delay: .8s; }
.hx-lm-echo__out:not(#hx_) i:nth-child( 3 ) { animation-delay: 1.6s; }

@keyframes hx-lm-out {
	0%   { opacity: 0; transform: translateX( 0 ) scale( .5 ); }
	15%  { opacity: 1; }
	70%  { opacity: 1; }
	80%  { opacity: 0; transform: translateX( calc( var( --wall-x, 210px ) - 60px ) ) scale( 1 ); }
	100% { opacity: 0; }
}

/* Tagasipõrge: paljas sein tugev, paneeliga nõrk */
.hx-lm-echo__back:not(#hx_) i { right: 40px; border-right-color: transparent; border-left-color: #AD8F97; animation: hx-lm-back 2.4s linear infinite; animation-delay: 1.9s; }
.hx-lm-echo__back:not(#hx_) i:nth-child( 2 ) { animation-delay: 2.7s; }
.hx-lm-echo__back:not(#hx_) i:nth-child( 3 ) { animation-delay: 3.5s; }

@keyframes hx-lm-back {
	0%   { opacity: 0; transform: translateX( 0 ) scale( 1 ); }
	10%  { opacity: var( --echo, 1 ); }
	70%  { opacity: var( --echo, 1 ); }
	100% { opacity: 0; transform: translateX( -180px ) scale( .6 ); }
}

.hx-lm-echo__stage.is-panel:not(#hx_) { --echo: .12; }
.hx-lm-echo__stage.is-bare:not(#hx_) { --echo: .95; }

.hx-lm-echo__wall:not(#hx_) { position: absolute; top: 10px; right: 14px; bottom: 10px; display: flex; gap: 3px; width: 26px; padding-left: 2px; border-left: 4px solid rgba( 255, 255, 255, .5 ); }
.hx-lm-echo__wall:not(#hx_) i { flex: 1 1 0; border-radius: 2px; background: var( --l-wood ); transform-origin: right; transition: transform .45s var( --l-ease ), opacity .3s; }
.hx-lm-echo__stage.is-bare:not(#hx_) .hx-lm-echo__wall i { opacity: 0; transform: scaleX( 0 ); }
.hx-lm-echo__wall:not(#hx_) { flex-direction: column; }
.hx-lm-echo__wall:not(#hx_) i:nth-child( odd ) { background: #A7835C; }

.hx-lm:not(#hx_) .hx-lm-echo__txt { margin: 0; color: rgba( 255, 255, 255, .72 ); font-size: 13.5px; line-height: 1.5; min-height: 3em; }

.hx-lm:not(#hx_) .hx-lm-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var( --l-accent ); font-size: 14px; font-weight: 700; }

/* =====================================================================
   EHITUS (kihid) + OMADUSED
   ===================================================================== */

.hx-lm-build:not(#hx_) { display: grid; grid-template-columns: minmax( 0, 1.3fr ) minmax( 0, 1fr ); gap: 14px; }

.hx-lm-layers:not(#hx_) { padding: clamp( 20px, 2.4vw, 30px ); border-radius: var( --l-r ); background: #fff; box-shadow: 0 12px 36px rgba( 40, 28, 22, .05 ); }
.hx-lm-layers:not(#hx_) h2 { margin-bottom: 18px !important; }

.hx-lm-cut:not(#hx_) { position: relative; display: grid; grid-template-columns: minmax( 0, 1.2fr ) minmax( 0, 1fr ); gap: 18px; align-items: center; }

.hx-lm-cut__model:not(#hx_) { position: relative; height: 200px; perspective: 700px; }
.hx-lm-cut__model:not(#hx_) > * { position: absolute; left: 0; right: 0; }

.hx-lm-cut__felt:not(#hx_) {
	bottom: 30px;
	height: 26px;
	border-radius: 6px;
	background: repeating-linear-gradient( 45deg, rgba( 255, 255, 255, .05 ) 0 3px, transparent 3px 6px ), #2E2A28;
}

.hx-lm-cut__slats:not(#hx_) { bottom: 56px; display: flex; justify-content: space-between; height: 92px; padding: 0 4%; }

.hx-lm-cut__slats:not(#hx_) i {
	position: relative;
	display: block;
	width: 9%;
	height: 100%;
	border-radius: 3px 3px 0 0;
	background: linear-gradient( 90deg, #1E1B1A, #33302E );
	transform-origin: bottom;
	transform: scaleY( 0 );
	transition: transform .7s var( --l-ease );
}

.hx-lm-cut__slats:not(#hx_) i b, .hx-lm-cut__slats:not(#hx_) i .hx-b { position: absolute; left: 0; right: 0; top: 0; height: 9px; border-radius: 3px 3px 0 0; background: linear-gradient( 90deg, #B88A5C, #D9AE7E 50%, #A87A4E ); }

.hx-lm-cut.is-in:not(#hx_) .hx-lm-cut__slats i { transform: none; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 2 ) { transition-delay: .05s; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 3 ) { transition-delay: .1s; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 4 ) { transition-delay: .15s; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 5 ) { transition-delay: .2s; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 6 ) { transition-delay: .25s; }
.hx-lm-cut__slats:not(#hx_) i:nth-child( 7 ) { transition-delay: .3s; }

/* Soonpaneel: ümarad sooned */
.hx-lm-cut--grooves:not(#hx_) .hx-lm-cut__slats { gap: 0; padding: 0; }
.hx-lm-cut--grooves:not(#hx_) .hx-lm-cut__slats i { width: auto; flex: 1 1 0; height: 60px; margin-top: auto; border-radius: 30px 30px 0 0; background: linear-gradient( 90deg, #D7C9B6, #EDE2D3 50%, #C9B8A2 ); }
.hx-lm-cut--grooves:not(#hx_) .hx-lm-cut__slats i b, .hx-lm-cut--grooves:not(#hx_) .hx-lm-cut__slats i .hx-b { display: none; }
.hx-lm-cut--grooves:not(#hx_) .hx-lm-cut__felt { background: #CDBFAE; height: 14px; bottom: 42px; }

/* 3D: plaadid */
.hx-lm-cut--tiles:not(#hx_) .hx-lm-cut__slats i { width: 17%; height: 70px; margin-top: auto; border-radius: 4px; background: linear-gradient( 90deg, #B88A5C, #D9AE7E 50%, #A87A4E ); }
.hx-lm-cut--tiles:not(#hx_) .hx-lm-cut__slats i:nth-child( even ) { height: 50px; }
.hx-lm-cut--tiles:not(#hx_) .hx-lm-cut__slats i b, .hx-lm-cut--tiles:not(#hx_) .hx-lm-cut__slats i .hx-b { display: none; }

.hx-lm:not(#hx_) .hx-lm-cut__labels { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: lay; }

.hx-lm-cut__labels:not(#hx_) li {
	position: relative;
	display: grid;
	gap: 2px;
	padding: 10px 12px 10px 44px;
	border-radius: 14px;
	background: var( --l-soft );
	counter-increment: lay;
	opacity: 0;
	transform: translateX( 10px );
	transition: opacity .5s, transform .5s var( --l-ease );
	transition-delay: calc( .4s + var( --n, 0 ) * .12s );
}

.hx-lm-cut.is-in:not(#hx_) .hx-lm-cut__labels li { opacity: 1; transform: none; }

.hx-lm-cut__labels:not(#hx_) li::before {
	content: counter( lay );
	position: absolute;
	left: 10px;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	border-radius: 50%;
	background: var( --l-accent );
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.hx-lm-cut__labels:not(#hx_) strong, .hx-lm-cut__labels:not(#hx_) .hx-t { font-size: 14.5px; }
.hx-lm-cut__labels:not(#hx_) span:not(.hx-t) { color: var( --l-muted ); font-size: 12.5px; line-height: 1.4; }

/* Numbrid joonisel */
.hx-lm-cut__model:not(#hx_)::before,
.hx-lm-cut__model:not(#hx_)::after {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var( --l-accent );
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	z-index: 2;
}

.hx-lm-cut__model:not(#hx_)::before { content: "1"; left: 22%; bottom: 140px; }
.hx-lm-cut__model:not(#hx_)::after { content: "3"; right: 8%; bottom: 32px; }

.hx-lm:not(#hx_) .hx-lm-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }

.hx-lm-feats:not(#hx_) li {
	display: grid;
	align-content: start;
	gap: 6px;
	margin: 0;
	padding: 18px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 30px rgba( 40, 28, 22, .04 );
	transition: transform .3s var( --l-ease ), box-shadow .3s;
}

.hx-lm-feats:not(#hx_) li:hover { transform: translateY( -3px ); box-shadow: 0 16px 36px rgba( 40, 28, 22, .09 ); }
.hx-lm-feats:not(#hx_) li > span:not(.hx-t) { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 4px; border-radius: 14px; background: var( --l-tint ); color: var( --l-accent ); }
.hx-lm-feats:not(#hx_) li > span .hx-lm-ico { width: 22px; height: 22px; }
.hx-lm-feats:not(#hx_) strong, .hx-lm-feats:not(#hx_) .hx-t { font-size: 15px; line-height: 1.3; }
.hx-lm-feats:not(#hx_) small { color: var( --l-muted ); font-size: 13px; line-height: 1.45; }

/* =====================================================================
   ANDMED: mõõtkava + jooksvad ribad
   ===================================================================== */

.hx-lm-tech:not(#hx_) {
	display: grid;
	grid-template-columns: minmax( 200px, .55fr ) minmax( 0, 2fr );
	gap: 12px;
	margin-bottom: 12px;
}

.hx-lm-scale:not(#hx_) { display: grid; align-content: center; margin: 0; padding: 16px; border-radius: 22px; background: #fff; }
.hx-lm-scale__svg:not(#hx_) svg { display: block; width: 100%; max-height: 260px; }
.hx-lm-scale:not(#hx_) figcaption { margin-top: 6px; color: var( --l-muted ); font-size: 12px; text-align: center; }

.hx-lm-scale:not(#hx_) .is-floor { stroke: var( --l-line ); stroke-width: 2; }
.hx-lm-scale:not(#hx_) .is-panel { fill: var( --l-tint ); stroke: var( --l-wood ); stroke-width: 1.5; }
.hx-lm-scale:not(#hx_) .is-slat { stroke: var( --l-wood ); stroke-width: 2.5; stroke-linecap: round; }
.hx-lm-scale:not(#hx_) .is-dim { stroke: var( --l-muted ); stroke-width: 1; stroke-dasharray: 3 3; }
.hx-lm-scale:not(#hx_) .is-lab { fill: var( --l-ink ); font-size: 12px; font-weight: 700; }
.hx-lm-scale:not(#hx_) .is-muted { fill: var( --l-muted ); }
.hx-lm-scale:not(#hx_) .is-man { fill: #D9D1C5; }

/* Andmekastid */
.hx-lm:not(#hx_) .hx-lm-tdata { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 12px; margin: 0; }
.hx-lm:not(#hx_) .hx-lm-tdata > div:last-child:nth-child( 4n + 3 ) { grid-column: span 2; }
.hx-lm:not(#hx_) .hx-lm-tdata > div:last-child:nth-child( 4n + 2 ) { grid-column: span 3; }
.hx-lm-tdata:not(#hx_) > div { display: grid; align-content: space-between; gap: 10px; min-height: 104px; padding: 18px 20px; border-radius: 20px; background: #fff; }
.hx-lm:not(#hx_) .hx-lm-tdata dt { color: var( --l-muted ); font-size: 13px; }
.hx-lm:not(#hx_) .hx-lm-tdata dd { margin: 0; color: var( --l-ink ); font-size: 22px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
.hx-lm:not(#hx_) .hx-lm-tdata .is-sku dd { font-size: 15px; letter-spacing: .02em; word-break: break-all; }

.hx-lm-specs:not(#hx_) { display: grid; grid-template-columns: repeat( auto-fit, minmax( 280px, 1fr ) ); gap: 14px; }
.hx-lm-spec:not(#hx_) { padding: 20px 22px; border-radius: 22px; background: #fff; box-shadow: 0 10px 30px rgba( 40, 28, 22, .04 ); }
.hx-lm:not(#hx_) .hx-lm-spec h3 { margin: 0 0 10px; color: var( --l-accent ); font-size: 15px; font-weight: 700; }
.hx-lm:not(#hx_) .hx-lm-spec dl { margin: 0; }
.hx-lm-spec:not(#hx_) dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-top: 1px solid var( --l-line ); }
.hx-lm-spec:not(#hx_) dl > div:first-child { border-top: 0; }
.hx-lm:not(#hx_) .hx-lm-spec dt { color: var( --l-muted ); font-size: 13.5px; }
.hx-lm:not(#hx_) .hx-lm-spec dd { margin: 0; font-size: 13.5px; font-weight: 700; text-align: right; }

/* =====================================================================
   PAIGALDUS: 4 sammu + tööriistad + video
   ===================================================================== */

.hx-lm-inst:not(#hx_) { padding: clamp( 20px, 2.6vw, 34px ); border-radius: var( --l-r ); background: var( --l-tint ); }
.hx-lm-inst__head:not(#hx_) { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.hx-lm-inst__head:not(#hx_) span { color: var( --l-accent ); font-size: 14px; font-weight: 700; }

.hx-lm:not(#hx_) .hx-lm-steps { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 10px; margin: 20px 0 16px; padding: 0; list-style: none; counter-reset: none; }

.hx-lm-steps:not(#hx_) li { display: grid; align-content: start; gap: 4px; margin: 0; padding: 18px; border-radius: 20px; background: #fff; transition: transform .3s var( --l-ease ); }
.hx-lm-steps:not(#hx_) li:hover { transform: translateY( -3px ); }
.hx-lm-steps:not(#hx_) b, .hx-lm-steps:not(#hx_) .hx-b { margin-bottom: 6px; color: var( --l-accent ); font-size: 34px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.hx-lm-steps:not(#hx_) strong, .hx-lm-steps:not(#hx_) .hx-t { font-size: 15px; }
.hx-lm-steps:not(#hx_) small { display: block; color: var( --l-muted ); font-size: 13px; line-height: 1.45; }

.hx-lm-tools:not(#hx_) { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; }
.hx-lm-tools:not(#hx_) b, .hx-lm-tools:not(#hx_) .hx-b { margin-right: 4px; font-size: 14px; }
.hx-lm-tools:not(#hx_) span:not(.hx-b) { padding: 6px 13px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; }

.hx-lm-inst__row:not(#hx_) { display: grid; grid-template-columns: minmax( 0, 1.3fr ) minmax( 300px, 1fr ); gap: 12px; align-items: stretch; }

.hx-lm-video:not(#hx_) { min-height: 360px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 22px; background: #000; }

.hx-lm-help:not(#hx_) { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 28px 30px; border-radius: 22px; background: #fff; }
.hx-lm-help__ico:not(#hx_) { flex: 0 0 auto; }
.hx-lm-help__ico:not(#hx_) { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: var( --l-tint ); color: var( --l-accent ); }
.hx-lm:not(#hx_) .hx-lm-help h3 { margin: 4px 0 0; font-size: 20px; font-weight: 700; }
.hx-lm:not(#hx_) .hx-lm-help p { margin: 0; color: var( --l-muted ); font-size: 14px; line-height: 1.55; }
.hx-lm:not(#hx_) .hx-lm-help ul { display: grid; gap: 6px; margin: 4px 0; padding: 0; list-style: none; }
.hx-lm-help:not(#hx_) li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 600; }
.hx-lm-help:not(#hx_) li .hx-lm-ico { width: 16px; height: 16px; color: #2F7D4F; }
.hx-lm:not(#hx_) .hx-lm-help__btn { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; margin-top: 8px; height: 50px; border-radius: 999px; background: var( --l-ink ); color: #fff; font-size: 15px; font-weight: 700; }
.hx-lm:not(#hx_) .hx-lm-help__btn:hover { background: var( --l-accent ); color: #fff; }
.hx-lm:not(#hx_) .hx-lm-video video,
.hx-lm:not(#hx_) .hx-lm-video iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }

.hx-lm:not(#hx_) .hx-lm-video__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background-color: #8C6A47;
	background-size: cover;
	background-position: center;
	color: #fff;
	cursor: pointer;
}

/* Liistumuster, kui pilti pole */
.hx-lm:not(#hx_) .hx-lm-video__btn:not( [style] ) {
	background-image: repeating-linear-gradient( 90deg, #C49A6C 0 22px, #A47B50 22px 26px, #1E1B1A 26px 34px );
}

.hx-lm:not(#hx_) .hx-lm-video__btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient( to top, rgba( 0, 0, 0, .55 ), rgba( 0, 0, 0, .05 ) 60% ); }
.hx-lm-video__btn:not(#hx_) span { position: relative; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #fff; color: var( --l-accent ); box-shadow: 0 14px 34px rgba( 0, 0, 0, .3 ); transition: transform .3s var( --l-ease ); }
.hx-lm-video__btn:not(#hx_) span .hx-lm-ico { width: 28px; height: 28px; margin-left: 4px; }
.hx-lm-video__btn:hover:not(#hx_) span { transform: scale( 1.08 ); }
.hx-lm-video__btn:not(#hx_) em { position: absolute; left: 20px; bottom: 16px; font-size: 15px; font-style: normal; font-weight: 700; }
.hx-lm:not(#hx_) .hx-lm-video__btn.is-none { cursor: default; }

/* Helixi paigaldusvideo pilt (tekst ja nupp on pildil endal) */
.hx-lm:not(#hx_) .hx-lm-video__btn.is-branded { background-position: left center; transition: filter .3s; }
.hx-lm:not(#hx_) .hx-lm-video__btn.is-branded::before { display: none; }
.hx-lm:not(#hx_) .hx-lm-video__btn.is-branded span,
.hx-lm:not(#hx_) .hx-lm-video__btn.is-branded em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect( 0 0 0 0 ); }
.hx-lm:not(#hx_) .hx-lm-video__btn.is-branded:hover { filter: brightness( 1.08 ); }
.hx-lm-video__btn.is-none:not(#hx_) span { opacity: .6; }

/* =====================================================================
   NÄIDISED + KKK
   ===================================================================== */

.hx-lm-end:not(#hx_) { display: grid; grid-template-columns: minmax( 0, 1.6fr ) minmax( 300px, 1fr ); gap: clamp( 24px, 4vw, 64px ); align-items: start; }

/* Kontaktikaart KKK kõrval */
.hx-lm-ask:not(#hx_) { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 12px; padding: 26px; border-radius: var( --l-r ); background: var( --l-tint ); }
.hx-lm-ask__ico:not(#hx_) { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: #fff; color: var( --l-accent ); }
.hx-lm:not(#hx_) .hx-lm-ask h3 { margin: 4px 0 0; font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.hx-lm:not(#hx_) .hx-lm-ask p { margin: 0; color: var( --l-muted ); font-size: 14.5px; line-height: 1.55; }
.hx-lm-ask__person:not(#hx_) { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 16px; background: #fff; }
.hx-lm-ask__person:not(#hx_) img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.hx-lm-ask__person:not(#hx_) span:not(.hx-t) { display: grid; }
.hx-lm-ask__person:not(#hx_) strong, .hx-lm-ask__person:not(#hx_) .hx-t { font-size: 15px; }
.hx-lm-ask__person:not(#hx_) small { color: var( --l-muted ); font-size: 13px; }
.hx-lm-ask__links:not(#hx_) { display: grid; gap: 8px; margin-top: 4px; }
.hx-lm:not(#hx_) .hx-lm-ask__links a { display: flex; align-items: center; justify-content: center; height: 50px; padding: 0 18px; overflow: hidden; border-radius: 999px; background: #fff; color: var( --l-ink ); font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; transition: background-color .2s, color .2s; }
.hx-lm:not(#hx_) .hx-lm-ask__links a.is-dark { background: var( --l-ink ); color: #fff; }
.hx-lm:not(#hx_) .hx-lm-ask__links a:hover { background: var( --l-accent ); color: #fff; }

.hx-lm:not(#hx_) .hx-lm-samples {
	position: sticky;
	top: 160px;
	display: grid;
	gap: 8px;
	padding: 26px;
	border-radius: var( --l-r );
	background: var( --l-accent );
	color: #fff;
	transition: transform .3s var( --l-ease );
}

.hx-lm:not(#hx_) .hx-lm-samples:hover { color: #fff; transform: translateY( -3px ); }
.hx-lm-samples__ico:not(#hx_) { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 16px; background: rgba( 255, 255, 255, .15 ); }
.hx-lm-samples__ico:not(#hx_) .hx-lm-ico { width: 26px; height: 26px; }
.hx-lm-samples:not(#hx_) strong, .hx-lm-samples:not(#hx_) .hx-t { font-size: 24px; font-weight: 700; }
.hx-lm-samples:not(#hx_) small { color: rgba( 255, 255, 255, .85 ); font-size: 14.5px; line-height: 1.5; }
.hx-lm-samples:not(#hx_) em { display: inline-flex; align-items: center; justify-self: start; gap: 8px; margin-top: 8px; padding: 12px 18px; border-radius: 999px; background: #fff; color: var( --l-ink ); font-size: 14.5px; font-style: normal; font-weight: 700; }

.hx-lm-faq:not(#hx_) details { border-bottom: 1px solid var( --l-line ); }
.hx-lm-faq:not(#hx_) h2 { margin-bottom: 8px !important; }
.hx-lm-faq:not(#hx_) summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 0; font-size: 16px; font-weight: 600; list-style: none; cursor: pointer; }
.hx-lm-faq:not(#hx_) summary::-webkit-details-marker { display: none; }
.hx-lm-faq:not(#hx_) summary i { position: relative; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var( --l-tint ); transition: background-color .25s; }
.hx-lm-faq:not(#hx_) summary i::before,
.hx-lm-faq:not(#hx_) summary i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 2px; margin: -1px 0 0 -5.5px; border-radius: 2px; background: var( --l-ink ); transition: transform .3s var( --l-ease ); }
.hx-lm-faq:not(#hx_) summary i::after { transform: rotate( 90deg ); }
.hx-lm-faq:not(#hx_) details[open] summary i { background: var( --l-accent ); }
.hx-lm-faq:not(#hx_) details[open] summary i::before,
.hx-lm-faq:not(#hx_) details[open] summary i::after { background: #fff; }
.hx-lm-faq:not(#hx_) details[open] summary i::after { transform: none; }
.hx-lm:not(#hx_) .hx-lm-faq details p { margin: -6px 0 18px; color: var( --l-muted ); font-size: 15px; line-height: 1.6; }

/* =====================================================================
   KAASAS KÄIV OSTURIBA + VALIKUAKEN
   ===================================================================== */

.hx-lm-bar:not(#hx_) {
	position: fixed;
	left: 50%;
	bottom: 16px;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	width: min( 760px, calc( 100vw - 24px ) );
	padding: 8px;
	border-radius: 34px;
	background: rgba( 255, 255, 255, .96 );
	backdrop-filter: blur( 16px );
	-webkit-backdrop-filter: blur( 16px );
	box-shadow: 0 18px 50px rgba( 30, 20, 16, .22 );
	opacity: 0;
	pointer-events: none;
	transform: translate( -50%, 140% );
	transition: transform .5s var( --l-ease ), opacity .3s;
}

.hx-lm-bar.is-on:not(#hx_) { opacity: 1; pointer-events: auto; transform: translate( -50%, 0 ); }

/* Jaotiste menüü libiseb riba küljest üles, kui lehe menüüst on mööda keritud */
.hx-lm-bar__navwrap:not(#hx_) { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .45s var( --l-ease ), opacity .3s; }
.hx-lm-bar.has-nav:not(#hx_) .hx-lm-bar__navwrap { grid-template-rows: 1fr; opacity: 1; }

.hx-lm-bar__nav:not(#hx_) {
	display: flex;
	gap: 2px;
	min-height: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

.hx-lm-bar.has-nav:not(#hx_) .hx-lm-bar__nav { margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var( --l-line ); }
.hx-lm-bar__nav:not(#hx_)::-webkit-scrollbar { display: none; }
.hx-lm-bar:not(#hx_) .hx-lm-bar__nav a { flex: 1 0 auto; padding: 8px 14px; border-radius: 999px; color: var( --l-muted ); font-size: 13.5px; font-weight: 600; text-align: center; white-space: nowrap; transition: background-color .2s, color .2s; }
.hx-lm-bar:not(#hx_) .hx-lm-bar__nav a:hover { color: var( --l-ink ); }
.hx-lm-bar:not(#hx_) .hx-lm-bar__nav a.is-on { background: var( --l-ink ); color: #fff; }

.hx-lm-bar__row:not(#hx_) { display: flex; align-items: center; gap: 12px; }

.hx-lm-bar__img:not(#hx_) { display: block; flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; border-radius: 50%; background: var( --l-tint ); }
.hx-lm-bar__img:not(#hx_) img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }

.hx-lm-bar__txt:not(#hx_) { display: grid; flex: 1 1 auto; min-width: 0; }
.hx-lm-bar__txt:not(#hx_) strong, .hx-lm-bar__txt:not(#hx_) .hx-t { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.hx-lm-bar__txt:not(#hx_) small { overflow: hidden; color: var( --l-muted ); font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.hx-lm-bar__price:not(#hx_) { flex: 0 0 auto; font-size: 17px; font-weight: 700; }
.hx-lm-bar:not(#hx_) .hx-lm-bar__btn { flex: 0 0 auto; height: 50px; padding: 0 22px; font-size: 15px; }

/* Aken */
.hx-lm-sheet:not(#hx_) { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: flex-end; justify-content: center; padding: 0 12px 12px; }
.hx-lm-sheet[hidden]:not(#hx_) { display: none; }
.hx-lm-sheet__scrim:not(#hx_) { position: absolute; inset: 0; background: rgba( 20, 14, 12, .45 ); opacity: 0; transition: opacity .25s; }
.hx-lm-sheet.is-open:not(#hx_) .hx-lm-sheet__scrim { opacity: 1; }

.hx-lm-sheet__box:not(#hx_) {
	position: relative;
	display: grid;
	gap: 16px;
	width: min( 640px, 100% );
	max-height: calc( 100vh - 40px );
	max-height: calc( 100dvh - 40px );
	padding: 18px;
	overflow-y: auto;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 30px 80px rgba( 0, 0, 0, .3 );
	transform: translateY( 110% );
	transition: transform .45s var( --l-ease );
	overscroll-behavior: contain;
}

.hx-lm-sheet.is-open:not(#hx_) .hx-lm-sheet__box { transform: none; }

.hx-lm-sheet__head:not(#hx_) { display: flex; align-items: center; gap: 12px; }
.hx-lm-sheet__head:not(#hx_) > span:nth-child( 2 ) { display: grid; flex: 1 1 auto; min-width: 0; }
.hx-lm-sheet__head:not(#hx_) strong, .hx-lm-sheet__head:not(#hx_) .hx-t { font-size: 16px; }
.hx-lm-sheet__head:not(#hx_) small { color: var( --l-muted ); font-size: 13px; }

.hx-lm-sheet:not(#hx_) .hx-lm-sheet__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var( --l-tint );
	color: var( --l-ink );
	cursor: pointer;
}

.hx-lm-sheet:not(#hx_) .hx-lm-sheet__close:hover { background: var( --l-ink ); color: #fff; }

html.hx-lm-sheet-open:not(#hx_),
html.hx-lm-sheet-open:not(#hx_) body { overflow: hidden; }

/* Riba ajal peidame hõljuva päringunupu (sama koht) */
html.hx-lm-bar-on:not(#hx_) .hx-inq-fab { display: none; }

/* =====================================================================
   TAHVEL JA TELEFON
   ===================================================================== */

@media ( max-width: 1024px ) {
	.hx-lm-hero:not(#hx_),
	.hx-lm-build:not(#hx_),
	.hx-lm-end:not(#hx_),
	.hx-lm-ac__head:not(#hx_),
	.hx-lm-ac__body:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm-shots:not(#hx_),
	.hx-lm:not(#hx_) .hx-lm-samples,
	.hx-lm-ask:not(#hx_) { position: static; }
	.hx-lm-sx:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm-mas:not(#hx_) { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }
	.hx-lm-masonry:not(#hx_) { --gap: 20px; }
	.hx-lm-inst__row:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm-video:not(#hx_) { min-height: 0; aspect-ratio: 16 / 9; }
	.hx-lm:not(#hx_) .hx-lm-steps { grid-template-columns: 1fr 1fr; }
}

@media ( max-width: 767px ) {

	.hx-lm:not(#hx_) { padding-top: 6px; }
	.hx-lm-shots:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm-shots__side:not(#hx_) { order: 2; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.hx-lm:not(#hx_) .hx-lm-shot.is-main { aspect-ratio: 1; border-radius: 22px; }
	.hx-lm-shots__side:not(#hx_) { grid-template-rows: auto; }
	.hx-lm-sx:not(#hx_) { border-radius: 24px; }
	.hx-lm-masonry:not(#hx_) { --gap: 8px; border-radius: 24px; }
	.hx-lm.has-gallery:not(#hx_) { padding-bottom: 8px; }
	.hx-lm-mas:not(#hx_) { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); grid-auto-rows: 150px; gap: 8px; }
	.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( n ) { grid-column: auto; grid-row: auto; }
	.hx-lm:not(#hx_) .hx-lm-mas__item:nth-child( 3n + 1 ) { grid-column: span 2; grid-row: span 2; }
	.hx-lm-scale__svg:not(#hx_) svg { max-height: 170px; }
	.hx-lm-fan:not(#hx_) { --cw: 108px; --ch: 160px; }
	.hx-lm-sx:not(#hx_) { padding: 24px 18px; border-radius: 26px; }
	.hx-lm:not(#hx_) .hx-lm-sx__steps { grid-template-columns: 1fr; }
	.hx-lm:not(#hx_) .hx-lm-sx__steps::before { display: none; }
	.hx-lm-sx__steps:not(#hx_) li { display: grid; grid-template-columns: auto minmax( 0, 1fr ); align-items: center; gap: 0 14px; padding: 12px 14px; text-align: left; }
	.hx-lm-sx__ico:not(#hx_) { grid-row: span 2; margin: 0; }
	.hx-lm:not(#hx_) .hx-lm-mas__item { border-radius: 14px; }

	/* Ostunupp on alumises ribas */
	.hx-lm-buy:not(#hx_) [data-lm-cta] { display: none; }
	.hx-lm-tech:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm:not(#hx_) .hx-lm-tdata { grid-template-columns: 1fr 1fr; }
	.hx-lm-tdata:not(#hx_) > div { min-height: 0; padding: 14px 16px; }
	.hx-lm:not(#hx_) .hx-lm-tdata dd { font-size: 18px; }
	.hx-lm-video:not(#hx_) { min-height: 0; aspect-ratio: 16 / 9; }
	.hx-lm-lb:not(#hx_) { padding: 60px 8px; }
	.hx-lm-lb__nav:not(#hx_) { display: none !important; }
	.hx-lm-attr--color:not(#hx_) .hx-lm-attr__opts { grid-template-columns: repeat( auto-fill, minmax( 58px, 1fr ) ); }

	.hx-lm-buy:not(#hx_) { padding: 14px; }
	.hx-lm-qty:not(#hx_) { height: 52px; }
	.hx-lm-qty:not(#hx_) button { width: 42px; height: 42px; }
	.hx-lm-add:not(#hx_) { height: 52px; font-size: 15px; }


	.hx-lm:not(#hx_) .hx-lm-ac__stats { grid-template-columns: 1fr; }
	.hx-lm-cut:not(#hx_) { grid-template-columns: 1fr; }
	.hx-lm-cut__model:not(#hx_) { height: 170px; }
	.hx-lm:not(#hx_) .hx-lm-feats { grid-template-columns: 1fr; }
	.hx-lm:not(#hx_) .hx-lm-steps { grid-template-columns: 1fr 1fr; }
	.hx-lm:not(#hx_) .hx-lm-keys { grid-template-columns: 1fr 1fr; }
	.hx-lm-keys:not(#hx_) > div { border-left: 0; border-top: 1px solid var( --l-line ); }

	/* Telefonis riba täislaiuses, alumise menüü kohal */
	.hx-lm-bar:not(#hx_) { bottom: calc( 10px + env( safe-area-inset-bottom, 0px ) ); width: calc( 100vw - 16px ); padding: 6px; border-radius: 22px; }
	.hx-lm-bar__row:not(#hx_) { gap: 10px; }
	.hx-lm-bar:not(#hx_) .hx-lm-bar__nav a { flex: 0 0 auto; padding: 7px 12px; font-size: 13px; }
	body.hx-has-tabbar:not(#hx_) .hx-lm-bar { bottom: calc( 102px + env( safe-area-inset-bottom, 0px ) ); }
	.hx-lm-bar__price:not(#hx_) { display: none; }
	.hx-lm-bar__img:not(#hx_) { flex-basis: 42px; width: 42px; height: 42px; }
	.hx-lm-bar:not(#hx_) .hx-lm-bar__btn { height: 46px; padding: 0 16px; border-radius: 16px; }

	.hx-lm-sheet:not(#hx_) { padding: 0; }
	.hx-lm-sheet__box:not(#hx_) { width: 100%; border-radius: 24px 24px 0 0; padding-bottom: calc( 18px + env( safe-area-inset-bottom, 0px ) ); }
}

@media ( prefers-reduced-motion: reduce ) {
	.hx-lm:not(#hx_) *,
	.hx-lm-bar:not(#hx_),
	.hx-lm-sheet:not(#hx_) * { animation: none !important; transition-duration: .01ms !important; }
	.hx-lm-cut__slats:not(#hx_) i,
	.hx-lm-cut__labels:not(#hx_) li { opacity: 1; transform: none; }
}


/* =====================================================================
   v2.21 — tehnilised andmed kompaktselt: üks kaart, read nagu tabel
   ===================================================================== */

.hx-lm-tech:not(#hx_) {
	grid-template-columns: 150px minmax( 0, 1fr );
	gap: clamp( 16px, 3vw, 40px );
	align-items: center;
	padding: 18px clamp( 18px, 2.4vw, 32px );
	border-radius: 22px;
	background: #fff;
}

.hx-lm-scale:not(#hx_) { padding: 0; background: transparent; }
.hx-lm-scale__svg:not(#hx_) svg { max-height: 170px; }
.hx-lm-scale:not(#hx_) figcaption { font-size: 11px; }

.hx-lm:not(#hx_) .hx-lm-tdata { grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) ); gap: 0 28px; }
.hx-lm:not(#hx_) .hx-lm-tdata > div:last-child:nth-child( 4n + 3 ),
.hx-lm:not(#hx_) .hx-lm-tdata > div:last-child:nth-child( 4n + 2 ) { grid-column: auto; }

.hx-lm-tdata:not(#hx_) > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	min-height: 0;
	padding: 11px 0;
	border-bottom: 1px solid var( --l-line );
	border-radius: 0;
	background: transparent;
}

.hx-lm:not(#hx_) .hx-lm-tdata dt { font-size: 13.5px; }
.hx-lm:not(#hx_) .hx-lm-tdata dd { font-size: 15.5px; text-align: right; }
.hx-lm:not(#hx_) .hx-lm-tdata .is-sku dd { font-size: 13px; }

@media ( max-width: 767px ) {
	.hx-lm-tech:not(#hx_) { grid-template-columns: 90px minmax( 0, 1fr ); padding: 14px 16px; }
	.hx-lm-scale__svg:not(#hx_) svg { max-height: 130px; }
	.hx-lm:not(#hx_) .hx-lm-tdata { grid-template-columns: 1fr; }
}


/* =====================================================================
   v2.25 — uued illustratsioonid, "Mis seinal juhtub", tehnilised andmed
   ===================================================================== */

/* Kihid: joonis vasakul, sildid paremal */
.hx-lm-cut--illu:not(#hx_) { grid-template-columns: minmax( 0, 1.25fr ) minmax( 0, 1fr ); gap: clamp( 16px, 2.4vw, 30px ); }
.hx-lm-cut__illu:not(#hx_) { min-width: 0; opacity: 0; transform: translateY( 8px ); transition: opacity .6s, transform .6s var( --l-ease ); }
.hx-lm-cut.is-in:not(#hx_) .hx-lm-cut__illu { opacity: 1; transform: none; }
.hx-lm-cut__illu:not(#hx_) .hxil { max-width: none; }

/* Mis seinal juhtub: graafiku kõrval */
.hx-lm-mis:not(#hx_) { min-width: 0; }
.hx-lm-mis:not(#hx_) .hxil-mis { height: 100%; border-radius: 22px; }

/* Tehnilised andmed: ikoonidega kaardid (sama keel mis omaduste kaardid) */
.hx-lm:not(#hx_) .hx-lm-tcards { display: grid; grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) ); gap: 10px; margin: 0 0 14px; }

.hx-lm-tcards:not(#hx_) > div {
	display: grid;
	grid-template-columns: 44px minmax( 0, 1fr );
	grid-template-rows: auto auto;
	align-items: center;
	gap: 2px 14px;
	padding: 16px 18px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 30px rgba( 40, 28, 22, .04 );
}

.hx-lm-tcards:not(#hx_) > div > span { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: var( --l-tint ); color: var( --l-accent ); }
.hx-lm-tcards:not(#hx_) > div > span .hx-lm-ico { width: 22px; height: 22px; }
.hx-lm:not(#hx_) .hx-lm-tcards dt { align-self: end; color: var( --l-muted ); font-size: 13px; line-height: 1.3; }
.hx-lm:not(#hx_) .hx-lm-tcards dd { align-self: start; margin: 0; overflow: hidden; color: var( --l-ink ); font-size: 17px; font-weight: 700; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.hx-lm:not(#hx_) .hx-lm-tcards dd small { display: block; margin: 1px 0 0; color: var( --l-muted ); font-size: 12.5px; font-weight: 600; }
.hx-lm:not(#hx_) .hx-lm-tcards .is-sku dd { font-size: 14px; letter-spacing: .02em; }

@media ( max-width: 1024px ) {
	.hx-lm-cut--illu:not(#hx_) { grid-template-columns: 1fr; }
}

@media ( max-width: 767px ) {
	.hx-lm:not(#hx_) .hx-lm-tcards { grid-template-columns: 1fr 1fr; gap: 8px; }
	.hx-lm-tcards:not(#hx_) > div { grid-template-columns: 1fr; padding: 14px; gap: 2px; }
	.hx-lm-tcards:not(#hx_) > div > span { grid-row: auto; width: 36px; height: 36px; margin-bottom: 6px; border-radius: 12px; }
	.hx-lm:not(#hx_) .hx-lm-tcards dd { font-size: 15.5px; white-space: normal; }
	.hx-lm-mis:not(#hx_) .hxil-mis { padding: 16px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.hx-lm-cut__illu:not(#hx_) { opacity: 1; transform: none; }
}

.hx-lm:not(#hx_) .hx-lm-minq { margin: 8px 0 0; color: var( --l-muted, #6B6762 ); font-size: 13px; font-weight: 600; }


/* =====================================================================
   v2.27 — telefon: ülaosas ainult paneel + lüliti "Paneel / Vaata seinal"
   ===================================================================== */

.hx-lm-view:not(#hx_) { display: none; }

.hx-lm:not(#hx_) .hx-lm-shot.is-main img { transition: opacity .16s ease, transform .8s var( --l-ease ); }
.hx-lm:not(#hx_) .hx-lm-shot.is-main.is-swap img { opacity: 0; }
.hx-lm:not(#hx_) .hx-lm-shot.is-main.is-wall img { padding: 0; object-fit: cover; }

@media ( max-width: 767px ) {

	.hx-lm-shots__side:not(#hx_) { display: none !important; }

	.hx-lm-view:not(#hx_) {
		position: relative;
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-self: center;
		width: min( 100%, 300px );
		margin: 2px auto 0;
		padding: 4px;
		border-radius: 999px;
		background: var( --l-tint );
	}

	.hx-lm-view:not(#hx_) button {
		position: relative;
		z-index: 1;
		height: 40px;
		margin: 0;
		padding: 0 12px;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var( --l-muted );
		font: inherit;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
		transition: color .25s;
	}

	.hx-lm-view:not(#hx_) button[aria-pressed="true"] { color: var( --l-ink ); }

	.hx-lm-view__pill:not(#hx_) {
		position: absolute;
		top: 4px;
		bottom: 4px;
		left: 4px;
		width: calc( 50% - 4px );
		border-radius: 999px;
		background: #fff;
		box-shadow: 0 2px 8px rgba( 0, 0, 0, .08 );
		transition: transform .3s cubic-bezier( .2, .8, .2, 1 );
	}

	.hx-lm-view.is-wall:not(#hx_) .hx-lm-view__pill { transform: translateX( 100% ); }
}

/* Näidiste lehvik: iOS 15 Safari ei venita flex-elementi <button>-i sees -> pilt 0 px kõrge, kaart valge.
   Kõrgus otse välja arvutatud. */
.hx-lm-fan__card:not(#hx_) span { flex: 0 0 auto; height: calc( var( --ch ) - 8px - 35px ); min-height: 0; }
.hx-lm-fan__card:not(#hx_) em { display: block; flex: 0 0 auto; height: 35px; box-sizing: border-box; line-height: 16px; }

/* Galerii puutetelefonis: :hover jääb puudutusel/kerimisel külge -> pildid tumenesid/suurenesid vaheldumisi (vilkumine) */
@media ( hover: none ) {
	.hx-lm:not(#hx_) .hx-lm-mas__item:hover img { transform: none; filter: none; }
	.hx-lm:not(#hx_) .hx-lm-mas__item img { transition: none; }
	.hx-lm-mas__item:hover:not(#hx_) > span { opacity: 0; }
	.hx-lm:not(#hx_) .hx-lm-shot:hover img,
	.hx-lm:not(#hx_) .hx-lm-shot.is-main:hover img { transform: none; }
}


/* =====================================================================
   v2.31 — Lameo telefonis
   ===================================================================== */

@media ( max-width: 767px ) {

	/* Paigaldus: iga samm oma real */
	.hx-lm:not(#hx_) .hx-lm-steps { grid-template-columns: 1fr; gap: 8px; }
	.hx-lm:not(#hx_) .hx-lm-steps li { grid-template-columns: auto minmax( 0, 1fr ); column-gap: 14px; align-items: center; padding: 14px 16px; background: var( --l-tint ); }
	.hx-lm:not(#hx_) .hx-lm-steps li b, .hx-lm:not(#hx_) .hx-lm-steps li .hx-b { grid-row: span 2; }

	/* Paigaldusvideo kõrgem */
	.hx-lm-video:not(#hx_) { aspect-ratio: 4 / 3; }

	/* "Vali õige toon": toonikaardid (lehvik) ära */
	.hx-lm-sx__visual:not(#hx_) { display: none; }

	/* "Mõõdetud, mitte lubatud" ja "Paigaldus" ilma kasti ja paddinguta (lehe servani) */
	.hx-lm:not(#hx_) .hx-lm-ac,
	.hx-lm:not(#hx_) .hx-lm-inst { padding: 0; border-radius: 0; background: transparent; }
	.hx-lm:not(#hx_) .hx-lm-ac__stats > div,
	.hx-lm:not(#hx_) .hx-lm-help,
	.hx-lm:not(#hx_) .hx-lm-tools span:not(.hx-b) { background: var( --l-tint ); }
}
