/*
 Theme Name: LNDM
 Theme URI: https://www.figma.com/design/J1SbZjxkg7PE3WNNidmE6Q/LNDM
 Author: LNDM
 Description: Single-page LNDM exhibition theme with pixel-perfect Figma layout using Tailwind CSS.
 Version: 2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: lndm-theme
*/

/* ---------- Fonts ---------- */
@font-face { font-family: 'Borna'; src: url('font/borna/Borna-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; }
@font-face { font-family: 'Borna'; src: url('font/borna/Borna-SemiBold.otf') format('opentype'); font-weight: 600; font-style: normal; }
@font-face { font-family: 'Borna'; src: url('font/borna/Borna-Bold.otf') format('opentype'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'Strawford'; src: url('font/strawford/Strawford-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'Strawford'; src: url('font/strawford/Strawford-Medium.otf') format('opentype'); font-weight: 500; font-style: normal; }
@font-face { font-family: 'Strawford'; src: url('font/strawford/Strawford-RegularItalic.otf') format('opentype'); font-weight: 400; font-style: italic; }

/* ---------- Painting cell compositing ---------- */
.painting-cell { position: relative; }
.painting-cell::before {
	content: ''; position: absolute; inset: 0;
	background: #13172a; z-index: 0;
}

/* Intro corner logo must be in-flow and stay as top header on all breakpoints */
#intro-ema .intro-ema-frame .intro-ema-corner-logo {
	position: sticky !important;
	top: 18px !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	z-index: 220;
	align-self: flex-start;
	margin: 0 0 10px 28px;
}
@media (max-width: 1199px) {
	/* Wider than i (43) for wordmark; same vertical band; no CSS shadow */
	#intro-ema .intro-ema-frame .intro-ema-corner-logo {
		top: max(18px, env(safe-area-inset-top, 0px)) !important;
		width: min(128px, 42vw);
		height: 43px;
		object-fit: contain;
		object-position: left center;
		margin: 0 0 8px max(18px, env(safe-area-inset-left, 0px));
		box-shadow: none;
		filter: none;
		border-radius: 0;
	}
}
.painting-cell::after {
	content: ''; position: absolute; inset: 0;
	background: rgba(255,255,255,0.72);
	z-index: 2; pointer-events: none;
}

.painting-cell-light { position: relative; }
.painting-cell-light::before {
	content: ''; position: absolute; inset: 0;
	background: #13172a; z-index: 0;
}
.painting-cell-light::after {
	content: ''; position: absolute; inset: 0;
	background: rgba(255,255,255,0.4);
	z-index: 2; pointer-events: none;
}

/* ---------- Single post: full viewport height, no overflow (Figma 2225-2390) ---------- */
.single.lndm-single-body { height: 100vh; overflow: hidden; }
.lndm-single-wrap {
	width: 100%;
	height: 100vh;
	min-height: 100vh;
}

/* ---------- Single post: slide-in + fade-in (separate animations on load) ---------- */
/* Explicit initial state so hard refresh never leaves wrap stuck mid-animation */
.single .lndm-single-wrap.lndm-slide-in {
	transform: translateX(100%);
	opacity: 0;
	animation:
		lndm-slide-in 0.75s cubic-bezier(0.22, 1, 0.36, 1) forwards,
		lndm-fade-in 0.75s ease-out forwards;
}
@keyframes lndm-slide-in {
	0% { transform: translateX(100%); }
	100% { transform: translateX(0); }
}
@keyframes lndm-fade-in {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

.lndm-single-frame {
	height: 100vh;
	width: min(100vw, 100vh * 2560 / 1440);
	max-width: 2560px;
}
@supports (height: 100dvh) {
	.single.lndm-single-body { height: 100dvh; }
	.lndm-single-wrap { height: 100dvh; min-height: 100dvh; }
}

/* ---------- Single post: scrollable content only in right column ---------- */
.single .lndm-post-content {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.single .lndm-post-content::-webkit-scrollbar {
	display: none;
}
.single .lndm-post-content {
	overflow-y: auto;
}

/* ---------- Single post: Sužinok + Accordion ---------- */
.lndm-suzinok { margin-bottom: 1.5rem; }
.lndm-suzinok-row { margin-bottom: 0.5rem; }
.lndm-suzinok-row.lndm-suzinok-text { margin-top: 0.75rem; }
.lndm-suzinok-audio,
.lndm-suzinok-video { display: block; margin-top: 0.25rem; max-width: 100%; }
.lndm-suzinok-video { width: 100%; height: auto; }
.lndm-post-content .wp-block[data-type="core/accordion"] { margin-top: 1.5rem; }

/* ---------- Plyr: make captions 1.5x bigger ---------- */
.plyr .plyr__captions { font-size: 150%; }
.plyr .plyr__caption { font-size: inherit; }
@media (max-width: 640px) {
	/* Mobile: 0.5× larger than prior 75% → 112.5% (still below desktop 150%) */
	.plyr .plyr__captions { font-size: 112.5%; }
}

/* ---------- Single post: side info rectangles (Figma 2225-2390) ---------- */
.single .lndm-side-meta .lndm-suzinok-row { margin-bottom: 0.5rem; }
.single .lndm-side-meta .lndm-suzinok-row:last-child { margin-bottom: 0; }
.single .lndm-side-desc .lndm-suzinok-row { margin-bottom: 0.5rem; }
.single .lndm-side-desc .lndm-suzinok-row:last-child { margin-bottom: 0; }

/* Figma 2225-2390: 1.6px borders on right-column shapes */
.single .lndm-shape-box { border: 1.6px solid #000; box-sizing: border-box; }

/* Sužinok title + meta strip: Figma height; JS may drive px height briefly for tab-switch animation */
.single #lndm-suzinok-title-box.lndm-suzinok-title-box {
	height: 25.21%;
	min-height: 120px;
}
.single #lndm-suzinok-title-box.lndm-suzinok-title-box--animating {
	overflow: visible !important;
}
@media (prefers-reduced-motion: reduce) {
	.single #lndm-suzinok-title-box.lndm-suzinok-title-box {
		transition: none;
	}
}

/* Top bar: logo, back (icon-only on desktop per Figma 2225-2342) */
.single .lndm-logo-img { width: clamp(80px, 8.28vw, 212px); height: auto; max-height: 4.79vh; object-fit: contain; }
.single .lndm-back-link { font-size: clamp(14px, 1.2vw, 30px); line-height: 1.2; display: inline-flex; align-items: center; }
.single .lndm-back-link--icon-only { line-height: 0; }
.single .lndm-back-arrow { width: 1.2rem; height: 1.2rem; flex-shrink: 0; }
@media (min-width: 1280px) {
	.single .lndm-back-arrow { width: clamp(14px, 1.1vw, 28px); height: clamp(14px, 1.1vw, 28px); }
}

/* Single: object nav — categories (details) + posts (Figma object_dropdown) */
.single .lndm-object-nav__root-summary::-webkit-details-marker { display: none; }
.single .lndm-object-nav__root-summary { list-style: none; }
.single .lndm-object-nav__root[open] > .lndm-object-nav__root-summary .lndm-object-nav__chev--root {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.single .lndm-object-nav__root-panel::-webkit-scrollbar,
.single .lndm-object-nav__root-panel--dropdown::-webkit-scrollbar { width: 11px; }
.single .lndm-object-nav__root-panel::-webkit-scrollbar-track,
.single .lndm-object-nav__root-panel--dropdown::-webkit-scrollbar-track { background: #fff; border-left: 1px solid #000; }
.single .lndm-object-nav__root-panel::-webkit-scrollbar-thumb,
.single .lndm-object-nav__root-panel--dropdown::-webkit-scrollbar-thumb { background: #000; }
/* Desktop topbar: category dropdown sits in row with logo + back; panel drops below */
.single .lndm-single-desktop-topbar { overflow: visible; }
.single .lndm-single-topbar-left .lndm-object-nav__root--topbar > .lndm-object-nav__root-summary {
	border: 1.6px solid #000;
	box-sizing: border-box;
}
.single .lndm-single-topbar-left .lndm-object-nav__root-panel--dropdown {
	border: 1.6px solid #000;
	border-top: 1px solid #000;
	box-sizing: border-box;
}
/* Desktop topbar: space after back; extra left padding inside dropdown trigger */
.single .lndm-single-topbar-left .lndm-object-nav--desktop-compact {
	margin-left: clamp(10px, 1.25vw, 32px);
}
.single .lndm-single-desktop-topbar .lndm-object-nav--desktop-compact .lndm-object-nav__root-summary {
	padding-left: clamp(1.125rem, 1.72vw, 2rem);
	padding-right: clamp(0.875rem, 1.25vw, 1.25rem);
}
@media (min-width: 1280px) {
	/* Let object dropdown extend below top strip without clipping */
	.single .lndm-single-wrap,
	.single .lndm-single-frame { overflow: visible; }
}
.single .lndm-object-nav__list { display: block; margin: 0; padding: 0; }
.single .lndm-object-nav__panel { padding: 0.35rem 0 0.5rem; }
.single .lndm-object-nav__panel--desktop { padding-top: 0.35rem; }
/* Current skyrius: kūriniai on top (no repeated category row — name is only in <summary>) */
.single .lndm-object-nav__current-block { padding-bottom: 0.15rem; }
.single .lndm-object-nav__posts--current { padding-top: 0.2rem; }
.single .lndm-object-nav__other-categories {
	border-top: 1px solid #000;
	margin-top: 0.2rem;
	padding-top: 0.15rem;
}
.single .lndm-object-nav__details { border-bottom: 1px solid #000; margin: 0; }
.single .lndm-object-nav__details:last-child { border-bottom: none; }
.single .lndm-object-nav__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.55rem 1.125rem 0.55rem 1.125rem;
	cursor: pointer;
	list-style: none;
	font-family: Borna, sans-serif;
	font-weight: 500;
	color: #040404;
	font-size: clamp(16px, 1.17vw, 30px);
	line-height: 1.15;
}
.single .lndm-object-nav__summary::-webkit-details-marker { display: none; }
.single .lndm-object-nav__cat-title { flex: 1; min-width: 0; text-align: left; font-weight: 600; }
.single .lndm-object-nav__chev {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(45deg);
	margin-right: 6px;
	transition: transform 0.2s ease;
}
.single .lndm-object-nav__details[open] > .lndm-object-nav__summary .lndm-object-nav__chev {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.single .lndm-object-nav__posts {
	list-style: none;
	margin: 0;
	padding: 0 0 0.5rem 0;
}
.single .lndm-object-nav__post-item { margin: 0; padding: 0 1.125rem; }
.single .lndm-object-nav__post-link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: Borna, sans-serif;
	font-weight: 400;
	font-size: clamp(14px, 1.09vw, 28px);
	line-height: 1.15;
	color: #040404;
	text-decoration: none;
	padding: 0.35rem 0.6rem;
	margin-bottom: 2px;
	border: 1.6px solid transparent;
	box-sizing: border-box;
	transition: background 0.15s ease;
}
.single .lndm-object-nav__post-thumb-wrap {
	flex-shrink: 0;
	width: clamp(34px, 2.2vw, 56px);
	height: clamp(34px, 2.2vw, 56px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #f2f2f2;
}
.single .lndm-object-nav__post-thumb {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.single .lndm-object-nav__post-title {
	min-width: 0;
	flex: 1;
}
.single .lndm-object-nav__post-link:hover { background: rgba(0, 0, 0, 0.04); }
.single .lndm-object-nav__post-link.is-current {
	border-color: #000;
	border-style: solid;
	font-weight: 500;
}
/* Top bar: tab toggles – dot under active tab only (Figma 2380:6089, 2380:6258) */
.single .lndm-tab-row { align-items: center; }
/* Desktop single: ~85px tab spacing at 2560px, scales down (≈3.32vw) */
.single .lndm-tab-row--desktop-inline {
	gap: clamp(16px, 2vw, 85px);
	padding-left: clamp(12px, 1.72vw, 40px);
}
.single .lndm-tab-wrap {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
}
.single .lndm-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(100px, 7.67vw, 196.56px);
	height: clamp(36px, 3.9vh, 56.16px);
	padding: 0 0.5em;
	border-radius: 0;
	box-sizing: border-box;
	background: #000;
}
/* Active tab and dot use theme accent (from nav/category); fallback green */
.single .lndm-tab-active { background: var(--lndm-accent, #2d7224); }
/* When accent is #f7ff15 (yellow) or #15fff3 (cyan), use black text for contrast */
.single .lndm-single-frame.lndm-accent-light .lndm-tab-active { color: #000; }
.single .lndm-tab-dot {
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translate(-50%, 50%);
	width: clamp(6px, 1.95vw, 50px);
	height: clamp(6px, 1.95vw, 50px);
	background: #000;
	border-radius: 50%;
	pointer-events: none;
	visibility: hidden;
}
.single .lndm-tab-wrap.lndm-tab-wrap-active .lndm-tab-dot { visibility: visible; }

/* Tab panels: one visible at a time */
.single .lndm-tab-panel { pointer-events: auto; }

/* Tyrinėk / Išbandyk panels: same layout as Sužinok – left = iframe in viewer-sized box, right = sidebar */
.single .lndm-tab-panel .lndm-tyrinek-panel,
.single .lndm-tab-panel .lndm-isbandyk-panel {
	position: relative;
	width: 100%;
	height: 100%;
}

/* Same structural lines as Sužinok: top strip (line under tabs) + two left rectangles (horizontal divider) */
.single .lndm-tab-panel .lndm-panel-line {
	position: absolute;
	z-index: 1;
	border: 1px solid #000;
	box-sizing: border-box;
	background: #fff;
	pointer-events: none;
}
.single .lndm-tab-panel .lndm-panel-top-strip {
	left: 0;
	top: 0;
	width: 73.79%;
	height: 10.69%;
}
.single .lndm-tab-panel .lndm-panel-left-rect1 {
	left: 0;
	top: 10.69%;
	width: 73.79%;
	height: 40.21%;
}
.single .lndm-tab-panel .lndm-panel-left-rect2 {
	left: 0;
	top: 50.90%;
	width: 73.79%;
	height: 49.10%;
}

/* Horizontal line above sidebar (Figma 75.47%) – same on Sužinok, Tyrinėk, Išbandyk */
.single .lndm-panel-h-line {
	position: absolute;
	left: 75.47%;
	top: 0;
	width: 25.31%;
	height: 0.76%;
	border-top: 1px solid #000;
	z-index: 2;
	pointer-events: none;
}
/* Iframe viewer box: exact same size/position as Sužinok #lndm-viewer-container */
.single .lndm-tab-panel .lndm-tyrinek-viewer-box,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box {
	position: absolute;
	left: 4.61%;
	top: 15.76%;
	width: 62.89%;
	height: 72.22%;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.single .lndm-tab-panel .lndm-tyrinek-iframe,
.single .lndm-tab-panel .lndm-isbandyk-iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
/* Video (instead of iframe): same size as iframe in Tyrinėk / Išbandyk */
.single .lndm-tab-panel .lndm-tyrinek-viewer-video,
.single .lndm-tab-panel .lndm-isbandyk-viewer-video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Overlay + Pradėti button (50% opacity); button uses theme accent from nav dot / category */
.single .lndm-tab-panel .lndm-viewer-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	pointer-events: auto;
}
.single .lndm-tab-panel .lndm-viewer-overlay.lndm-viewer-overlay-dismissed {
	display: none;
	pointer-events: none;
}
.single .lndm-tab-panel .lndm-viewer-overlay-btn {
	font-family: var(--font-borna, 'Borna', sans-serif);
	font-weight: 600;
	font-size: clamp(16px, 1.37vw, 28px);
	color: #000;
	border: 2px solid #000;
	padding: 0.5em 1.25em;
	cursor: pointer;
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.single .lndm-tab-panel .lndm-viewer-overlay-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25);
}
.single .lndm-tab-panel .lndm-viewer-overlay-btn:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Fullscreen close button – top right, on top of iframe; visible when overlay is dismissed */
.single .lndm-tab-panel .lndm-viewer-fs-close {
	display: none;
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 10;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid #000;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.9);
	color: #000;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	transition: background 0.15s ease;
}
.single .lndm-tab-panel .lndm-viewer-fs-close:hover {
	background: #fff;
}
.single .lndm-tab-panel .lndm-viewer-fs-close:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.single .lndm-tab-panel .lndm-viewer-fs-close .lndm-close-icon {
	width: 28px;
	height: 28px;
	display: block;
}
.single .lndm-tab-panel .lndm-tyrinek-viewer-box .lndm-viewer-overlay.lndm-viewer-overlay-dismissed ~ .lndm-viewer-fs-close,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box .lndm-viewer-overlay.lndm-viewer-overlay-dismissed ~ .lndm-viewer-fs-close {
	display: flex;
}

.single .lndm-tab-panel .lndm-tyrinek-placeholder,
.single .lndm-tab-panel .lndm-isbandyk-placeholder {
	font-family: var(--font-strawford, 'Strawford', serif);
	font-size: clamp(14px, 1.2vw, 28px);
	color: rgba(0, 0, 0, 0.7);
	text-align: center;
	padding: 0 5%;
	margin: 0;
}
.single .lndm-tab-panel .lndm-tyrinek-right,
.single .lndm-tab-panel .lndm-isbandyk-right {
	position: absolute;
	left: 73.79%;
	top: 0;
	width: 26.21%;
	height: 100%;
	display: flex;
	flex-direction: column;
	z-index: 1;
	background: #fff;
	border-left: 1px solid #000;
	box-sizing: border-box;
}
.single .lndm-tab-panel .lndm-tyrinek-title-box,
.single .lndm-tab-panel .lndm-isbandyk-title-box {
	flex-shrink: 0;
	border: 1.6px solid #000;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
	padding: 3%;
	/* height: 25.21%; */
	/* min-height: 120px; */
}
.single .lndm-tab-panel .lndm-tyrinek-heading,
.single .lndm-tab-panel .lndm-isbandyk-heading {
	font-family: var(--font-borna, 'Borna', sans-serif);
	font-weight: 500;
	font-size: clamp(16px, 1.37vw, 35px);
	color: #000;
	text-align: right;
	margin: 0;
}
.single .lndm-tab-panel .lndm-panel-post-title {
	margin: 0;
	font-family: var(--font-borna, 'Borna', sans-serif);
	font-weight: 500;
	color: #000;
	line-height: 1.2;
	text-align: right;
}
.single .lndm-tab-panel .lndm-panel-post-title .block {
	display: block;
}
.single .lndm-tab-panel .lndm-panel-post-title .uppercase {
	text-transform: uppercase;
	font-size: clamp(18px, 1.56vw, 40px);
}
.single .lndm-tab-panel .lndm-panel-post-title .block:last-child {
	font-size: clamp(16px, 1.37vw, 35px);
}
.single .lndm-tab-panel .lndm-tyrinek-sidebar-box,
.single .lndm-tab-panel .lndm-isbandyk-sidebar-box {
	flex: 1;
	min-height: 0;
	border: 1.6px solid #000;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.single .lndm-tab-panel .lndm-tyrinek-sidebar-inner,
.single .lndm-tab-panel .lndm-isbandyk-sidebar-inner {
	flex: 1;
	overflow-y: auto;
	padding: 3%;
	font-family: var(--font-strawford, 'Strawford', serif);
	font-size: 1rem;
	line-height: 1.29;
	color: #000;
}
@media (min-width: 1024px) {
	.single .lndm-tab-panel .lndm-tyrinek-sidebar-inner,
	.single .lndm-tab-panel .lndm-isbandyk-sidebar-inner {
		font-size: clamp(12px, 1.46vw, 21px);
	}
}

/* Sužinok / Tyrinėk: Išbandyk sidebar text emphasis should match brand weight */
.single #lndm-tab-suzinok .lndm-isbandyk-sidebar b,
.single #lndm-tab-suzinok .lndm-isbandyk-sidebar strong,
.single #lndm-tab-suzinok .lndm-isbandyk-sidebar-inner b,
.single #lndm-tab-suzinok .lndm-isbandyk-sidebar-inner strong,
.single #lndm-tab-tyrinek .lndm-isbandyk-sidebar b,
.single #lndm-tab-tyrinek .lndm-isbandyk-sidebar strong,
.single #lndm-tab-tyrinek .lndm-isbandyk-sidebar-inner b,
.single #lndm-tab-tyrinek .lndm-isbandyk-sidebar-inner strong {
	font-weight: 500 !important;
}
/* isbandyk */
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar b,
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar strong,
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar-inner b,
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar-inner strong {
	font-weight: 500 !important;
}
/* add when it`s inside p tag for both tyrinėk and isbandyk*/
.single #lndm-tab-tyrinek .lndm-tyrinek-sidebar-inner p b,
.single #lndm-tab-tyrinek .lndm-tyrinek-sidebar-inner p strong,
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar-inner p b,
.single #lndm-tab-isbandyk .lndm-isbandyk-sidebar-inner p strong {
	font-weight: 500 !important;
}

/* Fallback: if the sidebar is rendered outside those tab wrappers */
.single .lndm-isbandyk-sidebar b,
.single .lndm-isbandyk-sidebar strong,
.single .lndm-isbandyk-sidebar-inner b,
.single .lndm-isbandyk-sidebar-inner strong {
	font-weight: 500 !important;
}
/* the same for suzinok */
.single .lndm-suzinok-sidebar b,
.single .lndm-suzinok-sidebar strong,
.single .lndm-suzinok-sidebar-inner b,
.single .lndm-suzinok-sidebar-inner strong {
	font-weight: 500 !important;
}


.single .lndm-tab-panel .lndm-tyrinek-sidebar-placeholder,
.single .lndm-tab-panel .lndm-isbandyk-sidebar-placeholder {
	color: rgba(0, 0, 0, 0.7);
	text-align: center;
	margin: 0;
}
.single .lndm-tab-panel .lndm-tyrinek-media-row,
.single .lndm-tab-panel .lndm-isbandyk-media-row {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
}
.single .lndm-tab-panel .lndm-tyrinek-media-row strong,
.single .lndm-tab-panel .lndm-isbandyk-media-row strong {
	display: block;
	margin-bottom: 0.25rem;
}
.single .lndm-tab-panel .lndm-tyrinek-audio,
.single .lndm-tab-panel .lndm-isbandyk-audio,
.single .lndm-tab-panel .lndm-tyrinek-video,
.single .lndm-tab-panel .lndm-isbandyk-video {
	display: block;
	max-width: 100%;
	margin-top: 0.25rem;
}
.single .lndm-tab-panel .lndm-tyrinek-video,
.single .lndm-tab-panel .lndm-isbandyk-video {
	width: 100%;
	height: auto;
}
.single .lndm-tab-panel .lndm-tyrinek-sidebar-inner .lndm-tyrinek-sidebar,
.single .lndm-tab-panel .lndm-isbandyk-sidebar-inner .lndm-isbandyk-sidebar,
.single .lndm-tab-panel .lndm-tyrinek-sidebar-inner .wp-block-group,
.single .lndm-tab-panel .lndm-isbandyk-sidebar-inner .wp-block-group {
	padding: 0;
	margin: 0;
	border: none;
}
.single .lndm-toggle-pill { box-sizing: border-box; }
.single .lndm-toggle-dot { flex-shrink: 0; transition: background 0.2s ease; }
/* Toggle ON = simplified (default): dot right, greenish dot like Valdymo pultelis */
.single .lndm-toggle-pill.lndm-toggle-on .lndm-toggle-dot {
	margin-left: auto;
	margin-right: 0.25rem;
	background: #8bc34a;
}
/* Toggle OFF = full text: dot left */
.single .lndm-toggle-pill.lndm-toggle-off .lndm-toggle-dot { margin-left: 0.25rem; margin-right: auto; }

/* Desc panels: short version (250 chars), expand via Daugiau */
.single .lndm-desc-short[data-expanded="false"] {
	display: block;
	overflow: hidden;
}
/* Extra space at end of description (after Daugiau/Mažiau) */
.single .lndm-side-desc {
	padding-bottom: 100px;
}
/* Space directly below Mažiau button so it’s not at the very bottom edge */
.single .lndm-daugiau-wrap {
	margin-bottom: 100px;
}

/* Legacy: Tekstas short/expanded (kept for any other usage) */
.single .lndm-tekstas-short {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.single .lndm-tekstas-short.lndm-tekstas-expanded {
	display: block;
	-webkit-line-clamp: unset;
	line-clamp: unset;
	overflow: visible;
}

/* ---------- Front page: fade-in on load ---------- */
.lndm-front-fade-in {
	opacity: 0;
	animation: lndm-front-fade-in 0.75s ease-out forwards;
}
@keyframes lndm-front-fade-in {
	to {
		opacity: 1;
	}
}

/* ---------- Intro EMA overlay (Figma Section 4 frames 1–4) ---------- */
body.intro-ema-open {
	overflow: hidden;
	touch-action: none;
}
/* Hidden until JS adds .intro-ema--show (avoids full-screen flash on reload when intro already completed). */
#intro-ema {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 200;
	background: #fff;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}
#intro-ema.intro-ema--show {
	display: block;
}
#intro-ema.intro-ema--dismissed {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
#intro-ema .intro-ema-frame {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 2s ease, visibility 2s ease;
}
#intro-ema .intro-ema-frame.intro-ema-frame--active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* ---------- Intro EMA: flow layout overrides (NO absolute/fixed, scrollable) ---------- */
#intro-ema.intro-ema--show {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* Frames become normal flow sections; only active one is displayed. */
#intro-ema .intro-ema-frame {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 2s ease, visibility 2s ease;
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-height: 100vh;
	box-sizing: border-box;
	padding: 10px;
}
#intro-ema .intro-ema-frame.intro-ema-frame--active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Shared top-left logo in-flow */
#intro-ema .intro-ema-corner-logo {
	position: relative;
	left: auto;
	top: auto;
	transform: none;
	width: 284px;
	height: 166px;
	margin: 0 0 10px;
}

/* Frame 1 hero logo in-flow */
#intro-ema .intro-ema-hero-logo-wrap {
	position: relative;
	left: auto;
	top: auto;
	transform: none;
	width: 100%;
	height: auto;
	min-height: 55vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Step 2 text in-flow */
#intro-ema .intro-ema-step2-text {
	position: relative;
	left: auto;
	top: auto;
	transform: none;
	width: 100%;
	max-width: 1732px;
	margin: 0 auto;
}

/* Step 3 grid in-flow */
#intro-ema .intro-ema-step3-cols {
	position: relative;
	left: auto;
	top: auto;
	transform: none;
	width: 100%;
	max-width: 2100px;
	margin: 0 auto;
}

/* Step 4 grid in-flow */
#intro-ema .intro-ema-step4-grid {
	position: relative;
	inset: auto;
	padding: 0;
	width: 100%;
	max-width: 2560px;
	margin: 0 auto;
}

/* Buttons in-flow: push to bottom of screen when space allows */
#intro-ema .intro-ema-btn {
	position: relative;
	left: auto;
	bottom: auto;
	transform: none;
	margin: auto auto 0;
}

/* Footer (audio + info) in-flow at end */
#intro-ema .intro-ema-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 18px 18px;
	box-sizing: border-box;
}
#intro-ema .intro-ema-audio-vedlys-bar {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	width: min(480px, 100%);
}
#intro-ema.intro-ema-audio-locked #intro-ema-audio-bar {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
#intro-ema .intro-ema-info {
	position: relative;
	right: auto;
	bottom: auto;
}

/* Info panel becomes an in-flow scrollable screen; only X uses absolute. */
#intro-ema .intro-ema-info-panel {
	position: relative;
	inset: auto;
	min-height: 100vh;
	overflow: auto;
}
#intro-ema.intro-ema-info--open .intro-ema-info-panel,
#intro-ema.intro-ema-info--open .intro-ema-frame,
#intro-ema.intro-ema-info--open .intro-ema-footer {
	display: block;
}
#intro-ema.intro-ema-info--open .intro-ema-frame,
#intro-ema.intro-ema-info--open .intro-ema-footer {
	display: none !important;
}

/* Frame 1 — centering on wrapper only; logo uses object-fit: contain (no non-uniform scale on img) */
#intro-ema .intro-ema-hero-logo-wrap {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(1024px, 90vw);
	height: min(72vh, 900px);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
#intro-ema [data-intro-ema-step="1"] .intro-ema-hero-logo-wrap {
	flex-direction: column;
}
#intro-ema .intro-ema-hero-logo {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
	opacity: 0;
	animation: intro-ema-fade-in 0.9s ease-out forwards;
}
@keyframes intro-ema-fade-in {
	to { opacity: 1; }
}

/* Shared top-left logo — Figma Group 1000004656/Variant4 frame 284×166 */
#intro-ema .intro-ema-corner-logo {
	position: absolute;
	left: 28px;
	top: 18px;
	width: 284px;
	height: 166px;
	object-fit: contain;
	object-position: left top;
}

/* Buttons — Figma “ŽAISTI buld” / TOLIAU bar ≈ 417×75 */
#intro-ema .intro-ema-btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 100px;
	box-sizing: border-box;
	min-width: 0;
	width: auto;
	max-width: 417px;
	min-height: 0;
	padding: 22px 40px;
	font-family: Borna, sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 1.05vw, 21px);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #000;
	background: #fff;
	border: 2px solid #000;
	box-shadow: 7px 7px 0 #2d7224;
	cursor: pointer;
}
#intro-ema .intro-ema-step1-next {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}
#intro-ema .intro-ema-step1-next.intro-ema-step1-next--visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Step 2 text */
#intro-ema .intro-ema-step2-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(1732px, calc(100vw - 80px));
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(18px, 2.1vw, 40px);
	line-height: 1.35;
	color: #000;
	white-space: pre-wrap;
	text-align: center;
}
/* Keep TOLIAU directly after step-2 content. */
#intro-ema [data-intro-ema-step="2"] .intro-ema-btn {
	position: absolute;
	left: 50%;
	top: calc(50% + 205px);
	bottom: auto;
	transform: translateX(-50%);
	margin: 0;
}

/* TOLIAU + PRADĖTI: fixed to viewport; desktop bottom 100px; mobile bottom 50px */
@media (min-width: 1200px) {
	#intro-ema .intro-ema-btn.intro-ema-next,
	#intro-ema .intro-ema-btn.intro-ema-start {
		position: fixed;
		left: 50%;
		right: auto;
		top: auto;
		bottom: 100px;
		transform: translateX(-50%);
		margin: 0;
		z-index: 215;
		width: max-content;
		max-width: calc(100vw - 48px);
		box-sizing: border-box;
	}
}
@media (max-width: 1199px) {
	#intro-ema .intro-ema-frame {
		padding-bottom: max(72px, calc(52px + env(safe-area-inset-bottom, 0px) + 2rem));
	}
	/* Match .intro-ema-info footprint (43px height, 5px shadow); width fits label */
	#intro-ema .intro-ema-btn {
		width: auto;
		min-width: 0;
		max-width: min(417px, calc(100vw - 32px - env(safe-area-inset-right, 0px) - env(safe-area-inset-left, 0px)));
		height: 43px;
		min-height: 43px;
		max-height: 43px;
		padding: 0 14px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 12px;
		line-height: 1;
		letter-spacing: 0.02em;
		box-shadow: 5px 5px 0 #2d7224;
		white-space: nowrap;
		box-sizing: border-box;
	}
	/* Mobile: TOLIAU + PRADĖTI bottom-right — same inset as .intro-ema-info used (18px + safe areas); i = top-right */
	#intro-ema .intro-ema-btn.intro-ema-next,
	#intro-ema .intro-ema-btn.intro-ema-start {
		position: fixed;
		left: auto;
		right: max(18px, env(safe-area-inset-right, 0px));
		top: auto;
		bottom: max(18px, env(safe-area-inset-bottom, 0px));
		transform: none;
		margin: 0;
		z-index: 215;
	}
	/*
	 * Steps 1–3: desktop uses absolutely positioned blocks (out of flex flow).
	 * On mobile restore in-flow layout for content; CTAs pinned bottom.
	 */
	#intro-ema [data-intro-ema-step="1"] .intro-ema-hero-logo-wrap {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: 100%;
		max-width: min(1024px, 92vw);
		height: auto;
		min-height: min(52vh, 420px);
		margin: 0 auto;
		align-self: stretch;
	}
	#intro-ema [data-intro-ema-step="1"] .intro-ema-hero-logo {
		max-height: min(48vh, 380px);
	}
	#intro-ema [data-intro-ema-step="2"] .intro-ema-step2-text {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 8px;
		box-sizing: border-box;
		text-align: center;
		font-size: clamp(16px, 4.2vw, 22px);
		flex: 0 1 auto;
		align-self: stretch;
	}
	/* Step 3: grid is absolute on desktop — restore flow on mobile */
	#intro-ema [data-intro-ema-step="3"] .intro-ema-step3-cols {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 8px;
		box-sizing: border-box;
		grid-template-columns: 1fr;
		gap: 22px;
		align-self: stretch;
	}
	#intro-ema [data-intro-ema-step="3"] .intro-ema-pill {
		font-size: clamp(15px, 4vw, 20px);
		max-width: none;
	}
	#intro-ema [data-intro-ema-step="3"] .intro-ema-step3-desc {
		font-size: clamp(15px, 4vw, 18px);
	}
}

/* Step 3 — pills centered per column, smaller (Figma ~387×110 label area) */
#intro-ema .intro-ema-step3-cols {
	position: absolute;
	left: 50%;
	top: 54%;
	transform: translate(-50%, -50%);
	width: min(2100px, calc(100vw - 80px));
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 48px);
}
#intro-ema .intro-ema-step3-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
#intro-ema .intro-ema-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 387px;
	min-height: 0;
	padding: 14px 22px;
	background: #000;
	color: #fff;
	font-family: Borna, sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 1.25vw, 28px);
	line-height: 1.15;
}
#intro-ema .intro-ema-step3-desc {
	margin-top: 18px;
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(16px, 2vw, 40px);
	line-height: 1.35;
	text-align: center;
	color: #000;
}

/* Step 4 layout (approximate grid, non-interactive visuals) */
#intro-ema .intro-ema-step4-grid {
	position: absolute;
	inset: 0;
	padding: 120px 36px 140px;
	display: grid;
	grid-template-columns: 1fr 0.9fr 0.9fr;
	gap: 36px;
	box-sizing: border-box;
}
#intro-ema .intro-ema-step4-text {
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(16px, 2vw, 40px);
	line-height: 1.35;
	white-space: pre-wrap;
	color: #000;
}
/* Step 4: Valdymo pultelis dummy = same stack as .lndm-valdymo-pultelis-wrap (fixed bottom-left + panel + bar) */
#intro-ema .intro-ema-pultelis-dummy {
	pointer-events: none;
	margin: 0;
	max-width: none;
}
/* Keep the mockup in-flow so it never blocks taps/clicks (esp. on mobile). */
#intro-ema .intro-ema-pultelis-dummy-wrap {
	position: relative;
	left: auto;
	bottom: auto;
	z-index: auto;
	width: min(407px, 100%);
	max-width: 407px;
	pointer-events: none;
}
/* Decorative black bar: same dimensions as #lndm-valdymo-pultelis-btn (parent is not .lndm-valdymo-pultelis-wrap). */
#intro-ema .intro-ema-pultelis-dummy-wrap .lndm-valdymo-pultelis.intro-ema-pultelis-dummy-bar {
	position: relative;
	left: auto;
	bottom: auto;
	width: 13.59vw;
	height: 5.42vh;
	min-width: 140px;
	min-height: 32px;
	max-width: 348px;
	max-height: 78.111px;
	box-sizing: border-box;
	border-radius: 0;
	pointer-events: none;
	cursor: default;
}
#intro-ema .intro-ema-pultelis-dummy-wrap .lndm-valdymo-pultelis-panel {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	width: 100%;
	min-width: 0;
	max-width: 407px;
	opacity: 1;
	visibility: visible;
	pointer-events: none;
	margin: 0;
}
@media (min-width: 1024px) {
	#intro-ema .intro-ema-pultelis-dummy-wrap .lndm-valdymo-pultelis-panel {
		z-index: 2;
	}
}
#intro-ema .intro-ema-pultelis-dummy .lndm-valdymo-pultelis-panel-header {
	position: relative;
	padding-right: 56px;
}
#intro-ema .intro-ema-pultelis-dummy-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: none;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	z-index: 2;
	pointer-events: none;
}
#intro-ema .intro-ema-pultelis-dummy-close .lndm-valdymo-pultelis-panel-close-x {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
#intro-ema .intro-ema-pultelis-dummy-close .lndm-valdymo-pultelis-panel-close-x::before,
#intro-ema .intro-ema-pultelis-dummy-close .lndm-valdymo-pultelis-panel-close-x::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 22px;
	height: 2px;
	background: #fff;
	transform-origin: center;
}
#intro-ema .intro-ema-pultelis-dummy-close .lndm-valdymo-pultelis-panel-close-x::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
#intro-ema .intro-ema-pultelis-dummy-close .lndm-valdymo-pultelis-panel-close-x::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
#intro-ema .intro-ema-step4-mid-title {
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(18px, 2vw, 40px);
	line-height: 1.35;
	text-align: center;
	color: #000;
	margin-top: 120px;
}
#intro-ema .intro-ema-step4-right-text {
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(18px, 2vw, 40px);
	line-height: 1.35;
	white-space: pre-wrap;
	text-align: center;
	color: #000;
}
#intro-ema .intro-ema-step4-icons {
	margin-top: 22px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	align-items: center;
}
#intro-ema .intro-ema-step4-icons img {
	width: 70px;
	height: 70px;
}

/* Front page step 4 should match Figma frame 2966:2215 on desktop. */
@media (min-width: 1200px) {
	.home #intro-ema .intro-ema-step4-grid {
		position: absolute;
		inset: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}
	.home #intro-ema .intro-ema-step4-center {
		margin-top: 141px;
		width: min(1780px, calc(100vw - 120px));
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.home #intro-ema .intro-ema-step4-line {
		font-size: clamp(22px, 1.56vw, 40px);
		line-height: 1.375;
		text-align: center;
		white-space: pre-wrap;
		margin: 0;
	}
	.home #intro-ema .intro-ema-step4-line + .intro-ema-step4-line {
		margin-top: 18px;
	}
	.home #intro-ema .intro-ema-step4-a11y-row {
		margin-top: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 28px;
	}
	.home #intro-ema .intro-ema-step4-a11y-text {
		font-family: Strawford, sans-serif;
		font-weight: 500;
		font-size: clamp(22px, 1.56vw, 40px);
		line-height: 1.375;
		text-align: right;
		white-space: pre-wrap;
		color: #000;
	}
	.home #intro-ema .intro-ema-step4-icons {
		margin-top: 0;
		flex-direction: row;
		gap: 18px;
	}
	.home #intro-ema .intro-ema-step4-pultelis-demo {
		position: fixed;
		left: 0.9%;
		bottom: 1.8%;
		top: auto;
		z-index: 210;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
	.home #intro-ema .intro-ema-step4-pultelis-demo .intro-ema-pultelis-dummy-wrap,
	.home #intro-ema .intro-ema-step4-pultelis-demo .lndm-valdymo-pultelis-panel,
	.home #intro-ema .intro-ema-step4-pultelis-demo .intro-ema-pultelis-dummy-bar {
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}

@media (max-width: 1199px) {
	.home #intro-ema .intro-ema-step4-pultelis-demo {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		z-index: auto;
		margin-top: 18px;
		align-self: flex-start;
	}
}

/* Intro audio = same chrome as .lndm-audio-vedlys-bar (black bar + speed pill) */
#intro-ema .intro-ema-audio-vedlys-bar {
	position: fixed;
	left: max(10px, env(safe-area-inset-left, 0px));
	bottom: max(10px, env(safe-area-inset-bottom, 0px));
	z-index: 210;
	width: min(417px, calc(100vw - 120px));
	min-width: 0;
	height: 5.42vh;
	min-height: 32px;
	max-height: 78.111px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	background: #000;
	border: none;
	outline: none;
	box-shadow: none;
	border-radius: 0;
	pointer-events: auto;
	padding: 0 10px 0 0;
	margin: 0;
}

/* Step 4 only: same geometry as .lndm-audio-vedlys-bar next to the real pultelis (407px panel + gap). */
#intro-ema.intro-ema-step--4 .intro-ema-audio-vedlys-bar {
	left: calc(0.9% + 407px + 12px);
	right: auto;
	bottom: 1.8%;
	width: min(480px, max(0px, calc(100vw - 0.9% - 407px - 12px - 1.8%)));
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media (max-width: 1199px) {
	#intro-ema.intro-ema-step--4 .intro-ema-audio-vedlys-bar {
		left: max(10px, env(safe-area-inset-left, 0px));
		right: auto;
		bottom: max(10px, env(safe-area-inset-bottom, 0px));
		width: min(417px, calc(100vw - 120px));
		min-width: 0;
		max-width: none;
	}
}
#intro-ema .intro-ema-audio-vedlys-bar:focus {
	outline: none;
}
#intro-ema .intro-ema-audio-vedlys-bar audio {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 44px;
	min-width: 0;
	flex: 1;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
#intro-ema .intro-ema-audio-vedlys-bar audio:focus {
	outline: none !important;
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-enclosure {
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: none !important;
	outline: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-panel {
	background: #000;
	border: none !important;
	outline: none !important;
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-play-button {
	border: none !important;
	outline: none !important;
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-current-time-display,
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-time-remaining-display {
	color: #fff;
	font-family: Borna, sans-serif;
	font-size: clamp(12px, 1vw, 16px);
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-play-button,
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-mute-button,
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-timeline {
	filter: invert(1);
}
#intro-ema .intro-ema-audio-vedlys-bar audio::-webkit-media-controls-overflow-button {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Fixed info button (bottom-right) */
#intro-ema .intro-ema-info {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 210;
	width: 64px;
	height: 64px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	box-shadow: 7px 7px 0 #afafaf;
}
#intro-ema .intro-ema-info img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
#intro-ema .intro-ema-info span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	font-size: 30px;
	color: #000;
}
@media (max-width: 1199px) {
	#intro-ema .intro-ema-info {
		width: 43px;
		height: 43px;
		box-shadow: 5px 5px 0 #afafaf;
		top: max(18px, env(safe-area-inset-top, 0px));
		right: max(18px, env(safe-area-inset-right, 0px));
		bottom: auto;
	}
	#intro-ema .intro-ema-info span {
		font-size: 20px;
	}
}

/* Info panel (Figma 2225:2332 "APIE PROJEKTĄ") */
#intro-ema .intro-ema-info-panel {
	position: absolute;
	inset: 0;
	background: #fff;
	border: 2px solid #000;
	box-sizing: border-box;
	z-index: 300;
	padding: 78px 92px 90px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-direction: column;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}
#intro-ema.intro-ema-info--open .intro-ema-info-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
#intro-ema.intro-ema-info--open .intro-ema-info,
#intro-ema.intro-ema-info--open .intro-ema-audio-vedlys-bar,
#intro-ema.intro-ema-info--open .intro-ema-pultelis-dummy-wrap {
	display: none !important;
}
#intro-ema.intro-ema-info--open .intro-ema-frame {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#intro-ema .intro-ema-info-panel-title {
	font-family: Borna, sans-serif;
	font-weight: 500;
	font-size: clamp(28px, 3.3vw, 50px);
	line-height: 1;
	text-transform: uppercase;
	color: #000;
	margin-bottom: 28px;
}

#intro-ema .intro-ema-info-panel-desc {
	font-family: Strawford, sans-serif;
	font-weight: 500;
	font-size: clamp(16px, 1.8vw, 30px);
	line-height: 1.35;
	color: #000;
	white-space: normal;
}
#intro-ema .intro-ema-info-panel-desc p {
	margin: 0 0 18px;
}
#intro-ema .intro-ema-info-panel-desc p:last-child {
	margin-bottom: 0;
}

#intro-ema .intro-ema-info-panel-logos {
	display: flex;
	align-items: flex-end;
	gap: clamp(22px, 3vw, 64px);
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 22px;
}

/* Top-right close button inside the info panel */
#intro-ema .intro-ema-info-panel-close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background: #000;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
#intro-ema .intro-ema-info-panel-close-x {
	position: relative;
	width: 22px;
	height: 22px;
}
#intro-ema .intro-ema-info-panel-close-x::before,
#intro-ema .intro-ema-info-panel-close-x::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 22px;
	height: 3px;
	background: #fff;
	transform-origin: center;
}
#intro-ema .intro-ema-info-panel-close-x::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
#intro-ema .intro-ema-info-panel-close-x::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

#intro-ema .intro-ema-info-panel-logo {
	height: auto;
	max-height: 18vh;
	width: auto;
	object-fit: contain;
}
#intro-ema .intro-ema-info-panel-logo--eu {
	max-height: 8.3vh; /* ~117px at 1440 height */
}
#intro-ema .intro-ema-info-panel-logo--naujos {
	max-height: 10vh; /* ~145px at 1440 height */
}
#intro-ema .intro-ema-info-panel-logo--lndm {
	max-height: 10vh; /* ~144px at 1440 height */
}
#intro-ema .intro-ema-info-panel-logo--bmk {
	max-height: 6vh; /* ~86px at 1440 height */
}

/* Less side padding on mobile */
@media (max-width: 900px) {
	#intro-ema .intro-ema-info-panel {
		padding: 64px 18px 64px;
	}
}

@media (max-width: 900px) {
	#intro-ema .intro-ema-step3-cols {
		grid-template-columns: 1fr;
		top: 52%;
	}
	#intro-ema .intro-ema-step4-grid {
		grid-template-columns: 1fr;
	}
	#intro-ema .intro-ema-corner-logo {
		width: 220px;
		height: 128px;
	}
}

/* Step 4 (intro): grid in document flow + deep bottom padding so #intro-ema can scroll past fixed PRADĖTI / audio */
@media (max-width: 1199px) {
	#intro-ema [data-intro-ema-step="4"] .intro-ema-step4-grid {
		position: relative !important;
		inset: auto !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100%;
		max-width: 100%;
		gap: 20px;
		padding: 8px 12px;
		padding-bottom: calc(12rem + env(safe-area-inset-bottom, 0px) + min(38vh, 300px));
		box-sizing: border-box;
	}
	/* Step 4 a11y icons: ~0.53× desktop 70px (28px + 1/3) */
	#intro-ema .intro-ema-step4-icons img {
		width: 37px;
		height: 37px;
	}
	#intro-ema .intro-ema-step4-icons {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 17px;
		margin-top: 12px;
	}
}

/* ---------- Front page: mobile (Figma 2225:5413 section, 2225:5144 menu) ---------- */
/* NOTE: desktop nav doesn't fit at ~1024–1199px, so keep hamburger until 1200px. */
/* Desktop: #lndm-mobile-nav only has position:fixed etc. inside max-width below — without this it flows in-page and breaks layout. */
@media (min-width: 1200px) {
	.lndm-mobile-nav,
	#lndm-mobile-pultelis-overlay,
	.lndm-mobile-pultelis-fab {
		display: none !important;
	}
	.lndm-header-mobile {
		display: none !important;
	}
	.lndm-header-desktop {
		display: flex !important;
	}
	.lndm-front-section-canvas > .lndm-m-head {
		display: none !important;
	}
	/* Desktop header: limit height so it doesn’t cover the page (inner uses aspect-ratio 2560/1440) */
	#lndm-header {
		/* Navbar + accent dot are positioned within the 2560/1440 canvas (~20.5% from top).
		   Use a clamped viewport-based height so they don't get clipped on wide screens (4K). */
		height: clamp(220px, 11.5vw, 296px);
		overflow: hidden;
	}
}
@media (max-width: 1199px) {
	.lndm-header-desktop {
		display: none !important;
	}
	.lndm-header-mobile {
		display: flex !important;
	}
	/* Fixed #lndm-header: in-flow content starts at 0 — clear bar (48px + 1px border) */
	body.lndm-front-body {
		--lndm-front-mobile-header-h: 49px;
	}
	body.lndm-front-body #dingusio-vilniaus-legendos {
		padding-top: var(--lndm-front-mobile-header-h);
	}
	body.lndm-front-body .lndm-front-fade-in section[id] {
		scroll-margin-top: var(--lndm-front-mobile-header-h);
	}

	.lndm-desktop-only {
		display: none !important;
	}
	body.lndm-mobile-nav-open,
	body.lndm-mobile-pultelis-open {
		overflow: hidden;
		touch-action: none;
	}
	/* Bottom Valdymo on front / single: hidden on small screens (FAB + card overlay); desktop restored below */
	body.lndm-front-body .lndm-valdymo-pultelis-wrap,
	body.lndm-single-body .lndm-valdymo-pultelis-wrap {
		display: none !important;
	}
	/* Top bar hamburger */
	.lndm-mobile-menu-btn-lines {
		display: block;
		width: 22px;
		height: 2px;
		background: #fff;
		box-shadow: 0 7px 0 #fff, 0 -7px 0 #fff;
	}
	/* Full-screen menu */
	.lndm-mobile-nav {
		position: fixed;
		inset: 0;
		z-index: 60;
		background: rgba(0, 0, 0, 0.35);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.22s ease, visibility 0.22s ease;
	}
	.lndm-mobile-nav.lndm-mobile-nav-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	/* Valdymo FAB — bottom-left (Figma 2225:5381 node 2916:2462, ~10px from edges) */
	.lndm-mobile-pultelis-fab {
		position: fixed;
		left: max(10px, env(safe-area-inset-left, 0px));
		right: auto;
		bottom: max(10px, env(safe-area-inset-bottom, 0px));
		z-index: 65;
		width: 47px;
		height: 48px;
		padding: 0;
		margin: 0;
		border: none;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		background: #000;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		-webkit-tap-highlight-color: transparent;
	}
	.lndm-mobile-pultelis-fab-icon {
		width: 40px;
		height: 40px;
		object-fit: contain;
		display: block;
	}
	body.lndm-mobile-pultelis-open .lndm-mobile-pultelis-fab {
		visibility: hidden;
		pointer-events: none;
	}
	.lndm-mobile-nav-panel {
		position: absolute;
		inset: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 56px 28px max(56px, calc(48px + env(safe-area-inset-bottom, 0px)));
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.lndm-mobile-nav-close {
		position: absolute;
		top: 0;
		right: 0;
		width: 47px;
		height: 47px;
		padding: 0;
		border: none;
		background: #000;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.lndm-mobile-nav-close-x {
		display: block;
		width: 20px;
		height: 20px;
		position: relative;
	}
	.lndm-mobile-nav-close-x::before,
	.lndm-mobile-nav-close-x::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		width: 22px;
		height: 2px;
		background: #fff;
		transform-origin: center;
	}
	.lndm-mobile-nav-close-x::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.lndm-mobile-nav-close-x::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.lndm-mobile-nav-logo {
		margin-bottom: 28px;
		text-align: center;
	}
	.lndm-mobile-nav-logo img {
		height: 36px;
		width: auto;
		max-width: 160px;
		object-fit: contain;
	}
	.lndm-mobile-nav-links {
		width: 100%;
		max-width: 292px;
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	.lndm-mobile-nav-link {
		display: block;
		padding: 18px 0 20px;
		font-size: 20px;
		line-height: 1.2;
		color: #000;
		text-decoration: none;
		border-bottom: 1px solid #000;
		font-weight: 500;
		/* Tablet/mobile hamburger: wrap nicely like Figma (no mid-word breaks) */
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: normal;
		hyphens: none;
		text-wrap: balance;
	}
	.lndm-mobile-nav-link:first-of-type {
		border-top: 1px solid #000;
	}
	.lndm-mobile-nav-link.lndm-mobile-nav-link-active {
		font-weight: 600;
	}

	/* Mobile hamburger menu dropdown (Figma 2225:5144 "Meniu") */
	.lndm-mobile-cat-details {
		width: 100%;
	}
	.lndm-mobile-cat-summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 18px 0 20px;
		cursor: pointer;
		list-style: none;
		font-size: 20px;
		line-height: 1.2;
		color: #000;
		font-weight: 500;
		border-bottom: 1px solid #000;
		user-select: none;
	}
	.lndm-mobile-cat-link {
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0;
		gap: 12px;
		text-decoration: none;
		color: inherit;
	}
	.lndm-mobile-cat-details:first-of-type > .lndm-mobile-cat-summary {
		border-top: 1px solid #000;
	}
	.lndm-mobile-cat-summary::-webkit-details-marker {
		display: none;
	}
	.lndm-mobile-cat-dot {
		width: 26px;
		height: 26px;
		border-radius: 9999px;
		background: transparent;
		flex-shrink: 0;
	}
	.lndm-mobile-cat-details--active .lndm-mobile-cat-dot {
		background: var(--lndm-mobile-cat-accent, #2d7224);
	}
	.lndm-mobile-cat-details--active > .lndm-mobile-cat-summary {
		font-weight: 600;
	}
	.lndm-mobile-cat-title {
		flex: 1;
		min-width: 0;
		text-align: left;
	}
	.lndm-mobile-cat-chev {
		flex-shrink: 0;
		width: 14px;
		height: 14px;
		border-right: 2px solid #000;
		border-bottom: 2px solid #000;
		transform: rotate(45deg);
		margin-right: 6px;
		transition: transform 0.2s ease, margin-top 0.2s ease;
	}
	.lndm-mobile-cat-details[open] > .lndm-mobile-cat-summary .lndm-mobile-cat-chev {
		transform: rotate(-135deg);
		margin-top: 4px;
	}
	.lndm-mobile-cat-panel {
		width: 100%;
	}
	.lndm-mobile-cat-posts {
		list-style: none;
		margin: 0;
		padding: 0 0 0.5rem 0;
	}
	.lndm-mobile-nav .lndm-object-nav__post-item {
		margin: 0;
		padding: 0 1.125rem;
	}
	.lndm-mobile-nav .lndm-object-nav__post-link {
		display: block;
		font-family: Borna, sans-serif;
		font-weight: 400;
		font-size: 16px;
		line-height: 1.15;
		color: #040404;
		text-decoration: none;
		padding: 0.35rem 0.6rem;
		margin-bottom: 2px;
		border: 1.6px solid transparent;
		box-sizing: border-box;
		transition: background 0.15s ease;
	}
	.lndm-mobile-nav .lndm-object-nav__post-thumb-wrap {
		display: none;
	}
	.lndm-mobile-nav .lndm-object-nav__post-link:hover {
		background: rgba(0, 0, 0, 0.04);
	}
	.lndm-mobile-nav .lndm-object-nav__post-link.is-current {
		border-color: #000;
		border-style: solid;
		font-weight: 500;
	}
	/* Valdymo overlay — centered card, full viewport width minus insets (Figma 2225:5525) */
	#lndm-mobile-pultelis-overlay {
		position: fixed;
		inset: 0;
		z-index: 70;
		background: rgba(0, 0, 0, 0.4);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.22s ease, visibility 0.22s ease;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: center;
		padding: max(12px, env(safe-area-inset-top, 0px)) 15px max(12px, env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
	}
	#lndm-mobile-pultelis-overlay.lndm-mobile-pultelis-overlay-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.lndm-mobile-pultelis-overlay-panel {
		position: relative;
		width: 100%;
		max-width: 407px;
		max-height: min(90vh, 620px);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 0 0 20px;
		box-sizing: border-box;
		box-shadow: 7px 7px 0 #269318;
		flex-shrink: 0;
	}
	.lndm-mobile-pultelis-sheet-header {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 47px;
		padding: 10px 56px 10px 18px;
		border-bottom: 1px solid #000;
		box-sizing: border-box;
	}
	.lndm-mobile-pultelis-overlay-brand {
		display: flex;
		align-items: center;
		gap: 10px;
		min-width: 0;
	}
	.lndm-mobile-pultelis-overlay-brand-icon {
		width: 56px;
		height: auto;
		max-height: 58px;
		object-fit: contain;
		object-position: left center;
		flex-shrink: 0;
	}
	.lndm-mobile-pultelis-overlay-close {
		position: absolute;
		top: 0;
		right: 0;
		width: 47px;
		height: 47px;
		padding: 0;
		border: none;
		background: #000;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		z-index: 2;
		-webkit-tap-highlight-color: transparent;
	}
	.lndm-mobile-pultelis-overlay-title {
		margin: 0;
		font-size: 21px;
		font-weight: 500;
		line-height: 1.12;
		text-transform: uppercase;
		color: #000;
		min-width: 0;
	}
	.lndm-mobile-pultelis-rows {
		display: flex;
		flex-direction: column;
		gap: 14px;
		width: 100%;
		max-width: 100%;
		padding: 16px 24px 0 28px;
		box-sizing: border-box;
	}
	.lndm-mobile-pultelis-row {
		display: grid;
		grid-template-columns: 57px minmax(0, 1fr) 60px;
		align-items: center;
		column-gap: 19px;
		min-height: 55px;
		min-width: 0;
	}
	.lndm-mobile-pultelis-row--disabled {
		pointer-events: none;
		opacity: 0.92;
	}
	.lndm-mobile-pultelis-row-label {
		font-size: 21px;
		font-weight: 500;
		line-height: 25px;
		color: #000;
		min-width: 0;
		text-align: left;
		padding-right: 0;
	}
	/* Match desktop .lndm-valdymo-pultelis-toggle ON: white track, #999 border, #8bc34a thumb */
	.lndm-mobile-pultelis-pill {
		width: 60px;
		height: 26px;
		flex-shrink: 0;
		border: 1px solid #000;
		border-radius: 16px;
		padding: 3px 5px;
		box-sizing: border-box;
		background: #fff;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		transition: border-color 0.2s ease, background 0.2s ease;
	}
	.lndm-mobile-pultelis-pill:disabled {
		cursor: default;
	}
	.lndm-mobile-pultelis-pill--on {
		justify-content: flex-end;
		background: #fff;
		border-color: #999;
	}
	.lndm-mobile-pultelis-pill-knob {
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: #000;
		flex-shrink: 0;
		transition: background 0.2s ease;
	}
	.lndm-mobile-pultelis-pill--on .lndm-mobile-pultelis-pill-knob {
		background: #8bc34a;
	}
	/* Section canvas → vertical stack */
	.lndm-front-section-canvas {
		aspect-ratio: unset !important;
		width: 100% !important;
		max-width: 100% !important;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		overflow: visible;
	}
	.lndm-m-head {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		order: 1;
		min-height: 132px;
		border-bottom: 1px solid #000;
		box-sizing: border-box;
		flex-shrink: 0;
	}
	.lndm-m-accent-bar {
		width: 58px;
		min-width: 58px;
		flex-shrink: 0;
		border-right: 1px solid #000;
		box-sizing: border-box;
		min-height: 120px;
	}
	.lndm-m-section-title {
		flex: 1;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		text-align: right;
		padding: 12px 14px 12px 10px;
		font-family: Borna, sans-serif;
		font-weight: 600;
		font-size: clamp(20px, 10.5vw, 45px);
		line-height: 1.12;
		text-transform: uppercase;
		color: #000;
		box-sizing: border-box;
	}
	.lndm-m-thumb-grid {
		order: 2;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: auto !important;
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		gap: 1px;
		background: #000;
		box-sizing: border-box;
	}
	.lndm-m-thumb-grid > .flex {
		display: contents;
	}
	.lndm-m-thumb-grid .lndm-thumb,
	.lndm-m-thumb-grid > .flex > div {
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1;
		min-height: 0;
		border: none;
		box-sizing: border-box;
		margin: 0;
		background: #fff;
	}
	.lndm-m-thumb-grid .lndm-thumb a,
	.lndm-m-thumb-grid .lndm-thumb {
		min-height: 100%;
		height: 100%;
	}
	.lndm-m-thumb-grid .lndm-thumb img {
		aspect-ratio: 1;
		object-fit: cover;
		height: 100%;
		width: 100%;
	}
	.lndm-m-desc {
		order: 3;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0;
		padding: 20px 18px 28px;
		border: none;
		border-top: 1px solid #000;
		box-sizing: border-box;
		justify-content: flex-start !important;
	}
	.lndm-m-desc p {
		font-family: Strawford, sans-serif;
		font-weight: 500;
		font-size: 20px;
		line-height: 1.35;
		text-align: left !important;
		margin: 0;
		max-width: 42rem;
	}
	.lndm-thumb:hover img,
	.lndm-thumb:focus-within img {
		transform: none;
		filter: grayscale(0);
	}
}

/* ---------- Front page: grayscale thumbs → color + zoom on hover (only .lndm-thumb cells) ---------- */
.lndm-thumb {
	overflow: hidden;
}
.lndm-thumb a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}
.lndm-thumb img {
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
	transform: scale(1.2);
	transition: transform 0.35s ease, filter 0.35s ease, -webkit-filter 0.35s ease;
	will-change: transform, filter;
}
.lndm-thumb:hover img,
.lndm-thumb:focus-within img {
	transform: scale(1);
	filter: grayscale(0);
	-webkit-filter: grayscale(0);
}

/* ---------- Draggable Gestų kalba (sign language) video player ---------- */
.lndm-gestu-player {
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
/* When hidden class is present: hide the player */
.lndm-gestu-player.lndm-gestu-player-hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none;
}
/* When hidden class is removed (toggle ON): show the player */
.lndm-gestu-player:not(.lndm-gestu-player-hidden) {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto;
}
.lndm-gestu-player-header:active {
	user-select: none;
}
.lndm-gestu-player-video-wrap {
	width: 100%;
	line-height: 0;
}
.lndm-gestu-player-video-wrap .plyr {
	width: 100%;
	height: 100%;
}
.lndm-gestu-player-video-wrap .plyr__video-wrapper {
	height: 100%;
}

/* Front page: Audiovizualinis vertimas floating player (same show/hide as Gestų) */
.lndm-fp-av-player {
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
.lndm-fp-av-player.lndm-fp-av-player-hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none;
}
.lndm-fp-av-player:not(.lndm-fp-av-player-hidden) {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto;
}

/* ---------- Audiovizualinis vertimas – fixed bar at bottom, same height as Valdymo pultelis ---------- */
/*
 * Align bar to right edge of Valdymo pultelis: same left inset as .lndm-valdymo-pultelis-wrap (0.9%)
 * + .lndm-valdymo-pultelis-panel width (407px border-box) + gap. Not vw % — stays aligned at any resolution.
 * max-width 600px: overrides below (mobile strip).
 */
.lndm-audio-vedlys-bar {
	position: fixed;
	left: calc(0.9% + 407px + 12px);
	bottom: 1.8%;
	z-index: 20;
	width: min(480px, max(0px, calc(100vw - 0.9% - 407px - 12px - 1.8%)));
	min-width: 0;
	height: 5.42vh;
	min-height: 32px;
	max-height: 78.111px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	background: #000;
	border: none;
	outline: none;
	box-shadow: none;
	border-radius: 0;
	pointer-events: auto;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	padding: 0 10px 0 0;
	margin: 0;
}
.lndm-audio-vedlys-bar:focus {
	outline: none;
}
.lndm-audio-vedlys-bar audio {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 44px;
	min-width: 0;
	flex: 1;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
/* Speed as toggle (no icon) – matches Valdymo pultelis toggle style, no extra gap */
.lndm-audio-vedlys-speed-toggle {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	outline: none;
	cursor: pointer;
}
.lndm-audio-vedlys-speed-toggle:focus {
	outline: none;
}
.lndm-audio-vedlys-speed-track {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 28.8px;
	border-radius: 0;
	background: #fff;
	border: 1px solid #000;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.lndm-audio-vedlys-speed-toggle:hover .lndm-audio-vedlys-speed-track {
	border-color: #333;
	background: #f0f0f0;
}
.lndm-audio-vedlys-speed-label {
	font-family: Borna, sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	color: #000;
}
/* Remove outline/border from native audio controls */
.lndm-audio-vedlys-bar audio:focus {
	outline: none !important;
}
.lndm-audio-vedlys-bar audio::-webkit-media-controls-enclosure {
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: none !important;
	outline: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.lndm-audio-vedlys-bar audio::-webkit-media-controls-panel {
	background: #000;
	border: none !important;
	outline: none !important;
}
.lndm-audio-vedlys-bar audio::-webkit-media-controls-play-button {
	border: none !important;
	outline: none !important;
}
.lndm-audio-vedlys-bar audio::-webkit-media-controls-current-time-display,
.lndm-audio-vedlys-bar audio::-webkit-media-controls-time-remaining-display {
	color: #fff;
	font-family: Borna, sans-serif;
	font-size: clamp(12px, 1vw, 16px);
}
.lndm-audio-vedlys-bar audio::-webkit-media-controls-play-button,
.lndm-audio-vedlys-bar audio::-webkit-media-controls-mute-button,
.lndm-audio-vedlys-bar audio::-webkit-media-controls-timeline {
	filter: invert(1);
}
/* Hide native "more options" (three dots) button */
.lndm-audio-vedlys-bar audio::-webkit-media-controls-overflow-button {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.lndm-audio-vedlys-bar.lndm-audio-vedlys-bar-hidden {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none;
}
.lndm-audio-vedlys-bar:not(.lndm-audio-vedlys-bar-hidden) {
	display: flex !important;
	visibility: visible !important;
}
/* Mobile / tablet: clear Valdymo FAB (47×48, left ≈10px) — same breakpoint as .lndm-mobile-pultelis-fab */
@media (max-width: 1199px) {
	.lndm-audio-vedlys-bar {
		left: calc(max(10px, env(safe-area-inset-left, 0px)) + 47px + 12px);
		right: max(10px, env(safe-area-inset-right, 0px));
		width: auto;
		min-width: 0;
		max-width: none;
		padding-right: 0;
	}
	#intro-ema .intro-ema-audio-vedlys-bar {
		padding-right: 0;
	}
	.lndm-audio-vedlys-speed-toggle {
		display: none !important;
	}
}

/* ---------- Valdymo pultelis – EXACT from Figma 2721:4269 (get_design_context + get_metadata) ---------- */
/* Frame 2721:4269: x=23 y=898 width=407 height=396 */
/* Rectangle 2721:4270: bg-white border border-black shadow 7px 7px 0px 0px #269318 */
.lndm-valdymo-pultelis-wrap {
	position: fixed;
	left: 0.9%;
	bottom: 1.8%;
	z-index: 20;
	pointer-events: none;
}
.lndm-valdymo-pultelis-wrap .lndm-valdymo-pultelis {
	position: relative;
	left: auto;
	bottom: auto;
	width: 13.59vw;
	height: 5.42vh;
	min-width: 140px;
	min-height: 32px;
	max-width: 348px;
	max-height: 78.111px;
	box-sizing: border-box;
	border-radius: 0;
	pointer-events: auto;
}
.lndm-valdymo-pultelis-icon {
	width: 21.84%;
	height: 100%;
	flex-shrink: 0;
	object-fit: contain;
	object-position: left center;
}
.lndm-valdymo-pultelis-text {
	font-size: clamp(14px, 1.17vw, 30px);
	line-height: 1.2;
	font-weight: 500;
}

/* Panel: Figma = white + thick green border on all edges; shadow 7px 7px 0 #269318 */
/* Mobile / narrow: panel sits above the bar (no overlap). */
.lndm-valdymo-pultelis-panel {
	position: absolute;
	left: 0;
	bottom: 100%;
	margin-bottom: 0;
	width: 407px;
	min-width: 320px;
	max-width: 407px;
	box-sizing: border-box;
	background: #fff;
	border: 2px solid #269318;
	box-shadow: 7px 7px 0 0 #269318;
	padding: 0;
	pointer-events: auto;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media (max-width: 500px) {
	.lndm-valdymo-pultelis-panel { width: min(407px, calc(100vw - 24px)); }
}
.lndm-valdymo-pultelis-panel-closed {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.lndm-valdymo-pultelis-panel-open {
	opacity: 1;
	visibility: visible;
}
/*
 * Desktop sužinok 2225:2390 + pultelis 2888:1897 (Figma MCP):
 * Panel bottom aligns with bar bottom (overlap). Open panel paints above the bar (z-index).
 */
@media (min-width: 1024px) {
	.lndm-valdymo-pultelis-panel {
		bottom: 0;
		top: auto;
	}
	.lndm-valdymo-pultelis-panel-open {
		z-index: 2;
	}
}

/* Header 2721:4356: gap 10px, gamepad 76×78.111 + text */
.lndm-valdymo-pultelis-panel-header {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	padding: 14px 18px;
	position: relative;
}
/* Desktop (Figma 2888:1897): close top-right; button still opens panel — same breakpoint as fixed bar */
@media (min-width: 1024px) {
	.lndm-valdymo-pultelis-panel-header {
		padding-right: 56px;
	}
	.lndm-valdymo-pultelis-panel-close {
		position: absolute;
		top: 0;
		right: 0;
		width: 40px;
		height: 40px;
		padding: 0;
		margin: 0;
		border: none;
		background: #000;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		z-index: 2;
		-webkit-tap-highlight-color: transparent;
	}
	.lndm-valdymo-pultelis-panel-close-x {
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
	}
	.lndm-valdymo-pultelis-panel-close-x::before,
	.lndm-valdymo-pultelis-panel-close-x::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		width: 22px;
		height: 2px;
		background: #fff;
		transform-origin: center;
	}
	.lndm-valdymo-pultelis-panel-close-x::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.lndm-valdymo-pultelis-panel-close-x::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
}
@media (max-width: 1023px) {
	.lndm-valdymo-pultelis-panel-close {
		display: none !important;
	}
}
.lndm-valdymo-pultelis-panel-header-icon {
	width: 76px;
	height: 78.111px;
	flex-shrink: 0;
	object-fit: contain;
	object-position: left center;
}
.lndm-valdymo-pultelis-panel-title {
	font-family: Borna, sans-serif;
	font-weight: 500;
	font-size: 21px;
	line-height: 18.697px;
	color: #000;
	text-transform: uppercase;
	max-width: 227px;
}

/* Options 2721:4355: left=51 top=995 w=349.369, gap 14px → padding left 28px (51-23), right 24px */
.lndm-valdymo-pultelis-options {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 5px 24px 18px 28px;
}
/* Rows: h=55 gap=19, icon 57×55 (2721:4314), label 194px 21px leading 25px */
.lndm-valdymo-pultelis-row {
	display: flex;
	align-items: center;
	gap: 19px;
	min-height: 55px;
	width: 100%;
	max-width: 349px;
	cursor: pointer;
}
.lndm-valdymo-pultelis-row-disabled {
	pointer-events: none;
	cursor: default;
	opacity: 0.9;
}
/* Icon boxes: 2721:4314 Rectangle 2212 57×55 rounded; 2721:4287 Group 56.3×55.46 */
.lndm-valdymo-pultelis-row-icon {
	width: 57px;
	height: 55px;
	min-width: 57px;
	min-height: 55px;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
	border-radius: 4px;
}
.lndm-valdymo-pultelis-row-icon.lndm-valdymo-pultelis-icon-gestai {
	width: 56.3px;
	height: 55.46px;
	min-width: 56.3px;
	min-height: 55.46px;
}
.lndm-valdymo-pultelis-row-icon img {
	object-fit: contain;
	object-position: center;
}
.lndm-valdymo-pultelis-icon-audio img { width: 43px; height: 14px; }
.lndm-valdymo-pultelis-icon-av img { width: 38px; height: 35px; }
.lndm-valdymo-pultelis-icon-gestai img { max-width: 56.3px; max-height: 55.46px; }
.lndm-valdymo-pultelis-icon-skn {
	font-family: Borna, sans-serif;
	font-weight: 500;
	font-size: 21px;
	line-height: 18.697px;
	color: #fff;
}
.lndm-valdymo-pultelis-row-label {
	font-family: Borna, sans-serif;
	font-weight: 500;
	font-size: 21px;
	line-height: 25px;
	color: #000;
	flex: 1;
	min-width: 0;
	max-width: 194px;
}
/* Toggle 2721:4320: 60×28.8, inner 25.6, thumb ellipse 18.4×18.4 at 4.8,3.6 → left 4.8 off, 36.8 on */
.lndm-valdymo-pultelis-toggle-wrap {
	position: relative;
	width: 60px;
	height: 28.8px;
	flex-shrink: 0;
}
.lndm-valdymo-pultelis-toggle {
	position: absolute;
	inset: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
	z-index: 1;
}
.lndm-valdymo-pultelis-toggle-track {
	position: absolute;
	inset: 0;
	width: 60px;
	height: 28.8px;
	border-radius: 14.4px;
	background: #fff;
	border: 1px solid #000;
	transition: background 0.2s ease;
}
.lndm-valdymo-pultelis-toggle-track::after {
	content: "";
	position: absolute;
	left: 4.8px;
	top: 50%;
	transform: translateY(-50%);
	width: 18.4px;
	height: 18.4px;
	border-radius: 50%;
	background: #000;
	transition: left 0.2s ease, background 0.2s ease;
}
/* ON state: white track, gray border, light lime green thumb on right */
.lndm-valdymo-pultelis-toggle:checked + .lndm-valdymo-pultelis-toggle-track {
	background: #fff;
	border-color: #999;
}
.lndm-valdymo-pultelis-toggle:checked + .lndm-valdymo-pultelis-toggle-track::after {
	left: 36.8px;
	background: #8bc34a;
}

/* ---------- Section description blocks: consistent padding ---------- */
.lndm-desc-block {
	padding: 2%;
}

/* ---------- Single post: OpenSeadragon wrapper must have size so viewer container gets height (avoids canvas height:2px bug) ---------- */
.single .openseadragon-container {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: transparent !important;
}
/* ---------- Single post: OpenSeadragon viewer (position context for controls in fullscreen) ---------- */
#lndm-seadragon-viewer,
.lndm-seadragon-viewer {
	position: relative;
	overflow: hidden;
	contain: layout paint;
	isolation: isolate;
	background: transparent !important;
}
/* No default/placeholder background; clip OSD inner canvas to prevent residue border when panning */
#lndm-seadragon-viewer .openseadragon-container,
#lndm-seadragon-viewer .openseadragon-canvas,
#lndm-seadragon-viewer canvas,
.lndm-seadragon-viewer .openseadragon-container,
.lndm-seadragon-viewer .openseadragon-canvas,
.lndm-seadragon-viewer canvas {
	background: transparent !important;
	border: none !important;
	outline: none !important;
}
#lndm-seadragon-viewer > div,
.lndm-seadragon-viewer > div {
	overflow: hidden !important;
	background: transparent !important;
	backface-visibility: hidden;
	/* Avoid translateZ(0) to prevent subpixel residue line at edges when panning */
}
#lndm-viewer-container,
.lndm-viewer-container {
	overflow: hidden;
	position: relative;
}
/* Sužinok: prev/next anchored to the viewer frame (not % of full OSD row — fixes mobile flex layout) */
#lndm-viewer-container > .lndm-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #000;
	background: #fff;
	z-index: 15;
	pointer-events: auto;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
#lndm-viewer-container > .lndm-slider-arrow:hover {
	background: #f3f4f6;
}
#lndm-viewer-container > .lndm-slider-prev {
	left: 0.5rem;
	right: auto;
}
#lndm-viewer-container > .lndm-slider-next {
	right: 0.5rem;
	left: auto;
}
/* Sužinok video: same size as OpenSeadragon viewer area */
#lndm-viewer-container .lndm-suzinok-viewer-video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
/* 3D model-viewer: same size as video (Sužinok + Tyrinėk/Išbandyk), no Pradėti overlay */
#lndm-viewer-container .lndm-model-viewer,
.single .lndm-tab-panel .lndm-tyrinek-viewer-box .lndm-model-viewer,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box .lndm-model-viewer {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: transparent;
	--poster-color: transparent;
	--progress-bar-height: 0px;
}
/* Use same centered badge loader as 2D; hide model-viewer’s default top progress bar */
.lndm-model-viewer::part(default-progress-bar) {
	display: none;
}
/* Plyr wrapper: fill same container as video (Sužinok + Tyrinėk/Išbandyk) */
#lndm-viewer-container .plyr,
.single .lndm-tab-panel .lndm-tyrinek-viewer-box .plyr,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box .plyr {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#lndm-viewer-container .plyr__video-wrapper,
.single .lndm-tab-panel .lndm-tyrinek-viewer-box .plyr__video-wrapper,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box .plyr__video-wrapper {
	height: 100%;
}
/* Viewer loader: transparent overlay; white rounded badge only on spinner + percentage */
#lndm-viewer-loader.lndm-viewer-loader,
#lndm-viewer-loader-3d.lndm-viewer-loader,
.lndm-viewer-mode-3d > .lndm-viewer-loader.lndm-viewer-loader,
.lndm-viewer-container.lndm-model-slider-scope > .lndm-viewer-loader.lndm-viewer-loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background: transparent;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: opacity 0.4s ease-out;
	pointer-events: none;
}
#lndm-viewer-loader.lndm-viewer-loader.lndm-viewer-loader-hidden,
#lndm-viewer-loader-3d.lndm-viewer-loader.lndm-viewer-loader-hidden,
.lndm-viewer-mode-3d > .lndm-viewer-loader.lndm-viewer-loader.lndm-viewer-loader-hidden,
.lndm-viewer-container.lndm-model-slider-scope > .lndm-viewer-loader.lndm-viewer-loader.lndm-viewer-loader-hidden {
	opacity: 0;
	pointer-events: none;
}
.lndm-viewer-loader-badge {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	background: #fff;
	border-radius: 9999px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
}
.lndm-viewer-loader-spinner {
	position: absolute;
	width: 110px;
	height: 110px;
	border: 4px solid rgba(0, 0, 0, 0.12);
	border-top-color: #000;
	border-radius: 50%;
	animation: lndm-viewer-spin 0.9s linear infinite;
}
.lndm-viewer-loader-percent,
.lndm-viewer-loader-percent-suffix {
	position: relative;
	z-index: 1;
	font-family: var(--lndm-font-borna, 'Borna', sans-serif);
	font-weight: 500;
	font-size: clamp(22px, 2vw, 32px);
	line-height: 1;
	color: #000;
}
.lndm-viewer-loader-percent-suffix {
	margin-left: 2px;
}
/* Viewer: visible only after load; loader covers it until then */
#lndm-viewer-container .lndm-seadragon-viewer-inner,
.lndm-viewer-container .lndm-seadragon-viewer-inner {
	transition: opacity 0.35s ease-out;
}
#lndm-viewer-container.lndm-viewer-loaded .lndm-seadragon-viewer-inner,
.lndm-viewer-container.lndm-viewer-loaded .lndm-seadragon-viewer-inner {
	opacity: 1;
}
#lndm-viewer-container:not(.lndm-viewer-loaded) .lndm-seadragon-viewer-inner,
.lndm-viewer-container:not(.lndm-viewer-loaded) .lndm-seadragon-viewer-inner {
	opacity: 0;
	pointer-events: none;
}
@keyframes lndm-viewer-spin {
	to { transform: rotate(360deg); }
}

/* Viewer mode switching (3D vs OpenSeadragon images) */
#lndm-viewer-container .lndm-viewer-mode {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
#lndm-viewer-container .lndm-viewer-mode-3d,
#lndm-viewer-container .lndm-viewer-mode-images {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease-out;
}
#lndm-viewer-container .lndm-viewer-mode-3d { z-index: 2; }
#lndm-viewer-container .lndm-viewer-mode-images { z-index: 1; }

#lndm-viewer-container[data-viewer-mode="3d"] .lndm-viewer-mode-3d,
#lndm-viewer-container[data-viewer-mode="images"] .lndm-viewer-mode-images {
	opacity: 1;
	pointer-events: auto;
}

/* ---------- Single post: hide OpenSeadragon default controls (we use .lndm-viewer-controls) ---------- */
#lndm-seadragon-viewer > div:has(img[src*="openseadragon/images/zoomin"]),
.lndm-seadragon-viewer > div:has(img[src*="openseadragon/images/zoomin"]) {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* ---------- Single post: tab-controls (Figma) – control buttons outside content-area ---------- */
/* Sužinok viewer: zoom +/- only on desktop (mobile uses pinch; matches theme lg breakpoint 1200px) */
@media (max-width: 1199px) {
	#lndm-zoom-out,
	#lndm-zoom-in,
	.single .lndm-tab-panel .lndm-panel-viewer-stack .lndm-viewer-btn[data-action="zoom-out"],
	.single .lndm-tab-panel .lndm-panel-viewer-stack .lndm-viewer-btn[data-action="zoom-in"] {
		display: none !important;
	}
}

#lndm-tab-controls {
	overflow: visible;
}
#lndm-tab-controls .lndm-viewer-controls {
	position: static;
	right: auto;
	bottom: auto;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: auto;
}
.lndm-tab-controls .lndm-viewer-controls {
	position: static;
	right: auto;
	bottom: auto;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* ---------- Single post: OpenSeadragon viewer controls (non-fullscreen: tab-controls only) ---------- */
.lndm-viewer-controls {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	pointer-events: auto;
}

/* ---------- Tyrinėk / Išbandyk: Sužinok layout — row = 62.89% image + 3.91% gutter; border only on media box ---------- */
.single .lndm-tab-panel .lndm-panel-viewer-stack {
	position: absolute;
	left: 4.61%;
	top: 15.76%;
	width: 66.8%;
	height: 72.22%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	box-sizing: border-box;
	z-index: 2;
}
.single .lndm-tab-panel .lndm-tyrinek-viewer-box--media,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box--media {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	width: auto !important;
	flex: 1 1 0;
	min-width: 0;
	height: 100% !important;
	display: block;
	overflow: hidden;
}
.single .lndm-tab-panel .lndm-tyrinek-viewer-box--media .lndm-viewer-container,
.single .lndm-tab-panel .lndm-isbandyk-viewer-box--media .lndm-viewer-container {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
}
/* 3.91% / 66.8% of panel — gutter column; no frame (matches #lndm-tab-controls) */
.single .lndm-tab-panel .lndm-panel-viewer-stack > .lndm-tab-controls {
	position: relative;
	flex: 0 0 5.854%;
	max-width: 5.854%;
	min-width: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	z-index: 10;
	pointer-events: none;
	box-sizing: border-box;
	background: transparent;
}
.single .lndm-tab-panel .lndm-panel-viewer-stack > .lndm-tab-controls .lndm-viewer-controls {
	pointer-events: auto;
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}
.single .lndm-tab-panel .lndm-model-slider-scope > .lndm-viewer-mode-3d {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.single .lndm-tab-panel .lndm-viewer-container .lndm-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-28%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #000;
	background: #fff;
	z-index: 10;
}
.single .lndm-tab-panel .lndm-viewer-container .lndm-slider-prev { left: 0.5rem; }
.single .lndm-tab-panel .lndm-viewer-container .lndm-slider-next { right: 0.5rem; }

/* ---------- Single post: fullscreen overlay (covers viewport; appended to body when fullpage so always on top) ---------- */
.lndm-fullscreen-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	pointer-events: none;
}
.lndm-fullscreen-overlay .lndm-fullscreen-controls {
	pointer-events: auto;
	position: absolute;
	right: 1rem;
	bottom: 3rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.lndm-fs-esc-hint {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	margin: 0;
	font-size: 0.875rem;
	color: #333;
	pointer-events: none;
}
.lndm-fullscreen-controls {
	flex-direction: column;
	gap: 0.5rem;
}
.lndm-fs-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0.25rem;
	border: 1px solid #000;
	border-radius: 0;
	background: #fff;
	cursor: pointer;
	pointer-events: auto;
	transition: opacity 0.15s ease, background 0.15s ease;
}
.lndm-fs-btn:hover {
	opacity: 0.9;
	background: #f0f0f0;
}
.lndm-fs-btn img {
	width: 2rem;
	height: 2rem;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
	filter: brightness(0);
}
.lndm-viewer-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0.25rem;
	border: none;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	pointer-events: auto;
	transition: opacity 0.15s ease;
}
.lndm-viewer-btn:hover {
	opacity: 0.75;
}
.lndm-viewer-btn img {
	width: 2rem;
	height: 2rem;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
	filter: brightness(0);
}

/* Decorative accessibility badges: same outer box + icon size as .lndm-viewer-btn (no filter; keep badge colors) */
.lndm-viewer-access-icon-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0.25rem;
	box-sizing: border-box;
	pointer-events: none;
}
.lndm-viewer-access-icon-frame img {
	width: 2rem;
	height: 2rem;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
}

/* ---------- Base ---------- */
html {
	scroll-behavior: smooth;
	/* cursor: url('images/icons/cursor.svg') 48 18, auto; */
}
body { margin: 0; padding: 0; overflow-x: hidden; }

/* Valdymo pultelis: always show fixed bar on wide viewports (overrides mobile-only hide on front) */
@media (min-width: 1024px) {
	html body .lndm-valdymo-pultelis-wrap {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		left: 0.9% !important;
		bottom: 1.8% !important;
		z-index: 30 !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		pointer-events: none !important;
	}
	html body .lndm-valdymo-pultelis-wrap .lndm-valdymo-pultelis {
		pointer-events: auto !important;
	}
}

/* ---------- Single post: mobile layout (Figma 2225:5525) — page scroll, stacked content ---------- */
@media (max-width: 1023px) {
	.single.lndm-single-body {
		height: auto;
		min-height: 100dvh;
		min-height: 100vh;
		overflow-x: hidden;
		overflow-y: auto;
	}
	.single .lndm-single-wrap {
		height: auto;
		min-height: 100dvh;
		min-height: 100vh;
		overflow: visible;
		align-items: flex-start;
	}
	.single .lndm-single-frame {
		height: auto;
		min-height: 0;
		width: 100%;
		max-width: none;
		overflow: visible;
		position: relative;
	}
	.single .lndm-panel-h-line.lndm-panel-h-line-desktop {
		display: none;
	}
	.single .lndm-tab-panel {
		position: relative !important;
		inset: auto !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: 100%;
		min-height: 0;
		display: none;
	}
	.single .lndm-tab-panel.lndm-tab-panel-active {
		display: flex;
		flex-direction: column;
	}

	/* Sužinok: order = title → viewer → description; description scrolls with page */
	.single #lndm-tab-suzinok.lndm-tab-panel-active {
		display: flex;
		flex-direction: column;
	}
	.single #lndm-tab-suzinok .lndm-single-suzinok-topstrip {
		display: none;
	}
	.single #lndm-tab-suzinok .lndm-single-right-stack {
		display: contents;
	}
	.single #lndm-tab-suzinok .lndm-single-right-stack > .lndm-shape-box:first-of-type,
	.single #lndm-tab-suzinok #lndm-suzinok-title-box.lndm-suzinok-title-box {
		order: 1;
		width: 100% !important;
		height: auto !important;
		min-height: 100px;
		flex-shrink: 0;
	}
	/* Viewer row: image left + controls in a right gutter (no overlay) */
	.single #lndm-tab-suzinok .openseadragon-container {
		order: 2;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		min-height: min(65vw, 70vh);
		height: min(65vw, 70vh);
		max-height: 75vh;
		flex-shrink: 0;
		display: flex;
		flex-direction: row;
		align-items: stretch;
	}
	.single #lndm-tab-suzinok .openseadragon-container > .absolute {
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}
	.single #lndm-tab-suzinok #lndm-viewer-container {
		position: relative !important;
		left: 0 !important;
		top: 0 !important;
		width: auto !important;
		flex: 1;
		min-width: 0;
		height: 100% !important;
	}
	.single #lndm-tab-suzinok #lndm-tab-controls {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		width: 56px !important;
		min-width: 56px;
		flex: 0 0 56px;
		height: auto !important;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		gap: 0;
		padding: 0.5rem 0;
		border-left: 1px solid #000;
		background: #fff;
		overflow: visible;
	}
	.single #lndm-tab-suzinok #lndm-tab-controls .lndm-viewer-controls {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		margin-top: auto;
	}
	.single #lndm-tab-suzinok .lndm-single-right-stack > .lndm-shape-box:last-of-type {
		order: 3;
		flex: none !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	.single #lndm-tab-suzinok .lndm-single-right-stack > .lndm-shape-box:last-of-type .lndm-post-content,
	.single #lndm-tab-suzinok .lndm-post-content {
		overflow: visible !important;
		max-height: none !important;
	}

	/* Tyrinėk / Išbandyk: stacked title → viewer → sidebar (no inner scroll) */
	.single .lndm-tab-panel .lndm-tyrinek-panel,
	.single .lndm-tab-panel .lndm-isbandyk-panel {
		display: flex !important;
		flex-direction: column;
		height: auto !important;
		min-height: 0;
	}
	.single .lndm-tab-panel .lndm-panel-line {
		display: none !important;
	}
	.single .lndm-tab-panel .lndm-tyrinek-right,
	.single .lndm-tab-panel .lndm-isbandyk-right {
		display: contents;
	}
	.single .lndm-tab-panel .lndm-tyrinek-title-box,
	.single .lndm-tab-panel .lndm-isbandyk-title-box {
		order: 1;
		position: relative !important;
		left: auto !important;
		width: 100% !important;
		height: auto !important;
		flex-shrink: 0;
	}
	.single .lndm-tab-panel .lndm-tyrinek-viewer-box:not(.lndm-tyrinek-viewer-box--media),
	.single .lndm-tab-panel .lndm-isbandyk-viewer-box:not(.lndm-isbandyk-viewer-box--media),
	.single .lndm-tab-panel .lndm-panel-viewer-stack {
		order: 2;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: min(72vw, 70vh) !important;
		min-height: 260px;
		flex-shrink: 0;
	}
	.single .lndm-tab-panel .lndm-panel-viewer-stack {
		flex-direction: column;
	}
	.single .lndm-tab-panel .lndm-tyrinek-viewer-box--media,
	.single .lndm-tab-panel .lndm-isbandyk-viewer-box--media {
		flex: 1 1 auto;
		min-height: 0;
		height: auto !important;
	}
	.single .lndm-tab-panel .lndm-panel-viewer-stack > .lndm-tab-controls {
		flex: 0 0 auto;
		max-width: none;
		width: 100%;
		height: auto;
		min-height: 0;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		padding: 0.5rem 0;
	}
	.single .lndm-tab-panel .lndm-panel-viewer-stack > .lndm-tab-controls .lndm-viewer-controls {
		flex-direction: row;
		margin-top: 0;
		gap: 0.5rem;
	}

	/* Tyrinėk / Išbandyk mobile: match Sužinok “image + right gutter controls” layout */
	.single #lndm-tab-tyrinek .lndm-panel-viewer-stack,
	.single #lndm-tab-isbandyk .lndm-panel-viewer-stack {
		flex-direction: row;
		align-items: stretch;
	}
	.single #lndm-tab-tyrinek .lndm-panel-viewer-stack > .lndm-tab-controls,
	.single #lndm-tab-isbandyk .lndm-panel-viewer-stack > .lndm-tab-controls {
		display: flex !important;
		flex: 0 0 56px !important;
		width: 56px !important;
		min-width: 56px;
		height: auto !important;
		min-height: 0;
		flex-direction: column !important;
		justify-content: flex-start;
		align-items: center;
		align-self: stretch;
		padding: 0.5rem 0;
		border-left: 1px solid #000;
		background: #fff;
	}
	.single #lndm-tab-tyrinek .lndm-panel-viewer-stack > .lndm-tab-controls .lndm-viewer-controls,
	.single #lndm-tab-isbandyk .lndm-panel-viewer-stack > .lndm-tab-controls .lndm-viewer-controls {
		flex-direction: column !important;
		margin-top: auto;
	}
	.single #lndm-tab-tyrinek .lndm-tyrinek-viewer-box--media,
	.single #lndm-tab-isbandyk .lndm-isbandyk-viewer-box--media {
		height: 100% !important;
	}
	.single .lndm-tab-panel .lndm-tyrinek-sidebar-box,
	.single .lndm-tab-panel .lndm-isbandyk-sidebar-box {
		order: 3;
		flex: none !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	.single .lndm-tab-panel .lndm-tyrinek-sidebar-inner,
	.single .lndm-tab-panel .lndm-isbandyk-sidebar-inner {
		overflow: visible !important;
		max-height: none !important;
	}

	/* Empty Tyrinėk / Išbandyk (no block content): stack placeholder + sidebar */
	.single #lndm-tab-tyrinek > div.absolute,
	.single #lndm-tab-isbandyk > div.absolute {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 120px;
	}
	.single #lndm-tab-tyrinek > div.absolute:last-of-type,
	.single #lndm-tab-isbandyk > div.absolute:last-of-type {
		flex: none;
		overflow: visible;
	}
	.single #lndm-tab-tyrinek > div.absolute:last-of-type .lndm-shape-box,
	.single #lndm-tab-isbandyk > div.absolute:last-of-type .lndm-shape-box {
		overflow: visible !important;
	}
}