/* =============================================================================
   GRIMM — komponentai
   Reikalauja style.css (žetonai, atstatymas, primityvai).
   ========================================================================== */

/* -----------------------------------------------------------------------------
   8. Skelbimų juosta (Announcement Bar)
   Deep Cobalt paviršius, baltas 12px tekstas, ~36px aukštis, be rėmelio.
   -------------------------------------------------------------------------- */

.grimm-announcement {
	background: var(--surface-brand-accent);
	color: var(--color-paper-white);
	min-height: var(--announcement-height);
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.grimm-announcement__inner {
	display: grid;
	grid-template-columns: 28px 1fr 28px;
	align-items: center;
	gap: var(--spacing-8);
	width: 100%;
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding-inline: var(--page-gutter);
}

.grimm-announcement__viewport {
	overflow: hidden;
	text-align: center;
}

.grimm-announcement__track {
	display: flex;
	transition: transform 320ms ease;
}

.grimm-announcement__slide {
	flex: 0 0 100%;
	font-size: var(--text-micro);
	line-height: var(--leading-caption);
	font-weight: var(--font-weight-regular);
	padding-block: var(--spacing-10);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.grimm-announcement__slide a {
	color: var(--color-paper-white);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.grimm-announcement__nav {
	background: transparent;
	border: 0;
	padding: var(--spacing-6);
	color: var(--color-paper-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.75;
	transition: opacity var(--transition-fast);
}

.grimm-announcement__nav:hover { opacity: 1; }
.grimm-announcement__nav--prev { justify-self: start; }
.grimm-announcement__nav--next { justify-self: end; }

.grimm-announcement--single .grimm-announcement__nav { visibility: hidden; }

/* -----------------------------------------------------------------------------
   9. Viršutinė navigacija
   Paper White fonas, be šešėlio, kairėje nuorodos, centre logotipas,
   dešinėje pagalbinių elementų grupė.
   -------------------------------------------------------------------------- */

.grimm-header {
	position: relative;
	z-index: 200;
	background: var(--c-surface);
}

.grimm-header--sticky {
	position: sticky;
	top: 0;
}

.grimm-nav {
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-nav__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--spacing-16);
	min-height: var(--nav-height);
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding-inline: var(--page-gutter);
}

.grimm-nav__left {
	display: flex;
	align-items: center;
	gap: var(--spacing-14);
	min-width: 0;
}

/* Logotipas ------------------------------------------------------------- */

.grimm-brand {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-8);
	justify-self: center;
	color: var(--c-ink);
}

.grimm-brand:hover { color: var(--c-ink); }

.grimm-brand__mark {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

.grimm-brand__word {
	font-family: var(--font-display);
	font-weight: var(--font-weight-black);
	font-size: var(--text-subheading);
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
}

.grimm-brand__tag {
	display: block;
	font-size: 9px;
	line-height: 1.2;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-text-muted);
	margin-top: 2px;
}

.grimm-brand img {
	max-height: 40px;
	width: auto;
}

/* Pirminis meniu -------------------------------------------------------- */

.grimm-menu {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
	list-style: none;
	margin: 0;
	padding: 0;
}

.grimm-menu > li { position: relative; }

.grimm-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-6);
	font-size: var(--text-small);
	line-height: 1.2;
	font-weight: var(--font-weight-medium);
	color: var(--c-ink);
	padding-block: var(--spacing-8);
}

.grimm-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: var(--c-ink);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition-fast);
}

.grimm-menu > li:hover > a::after,
.grimm-menu > li.current-menu-item > a::after,
.grimm-menu > li.current-menu-parent > a::after,
.grimm-menu > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.grimm-menu__chevron {
	transition: transform var(--transition-fast);
	margin-top: 1px;
}

.grimm-menu > li:hover > a .grimm-menu__chevron,
.grimm-menu > li:focus-within > a .grimm-menu__chevron {
	transform: rotate(180deg);
}

/* Išskleidžiamas skydelis: baltas paviršius, plaukelio rėmelis,
   be šešėlio ir be apvalinimo — pagal sistemą. */

.grimm-nav__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--c-surface);
	border-top: var(--hairline) solid var(--c-line);
	border-bottom: var(--hairline) solid var(--c-line);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);
	z-index: 210;
}

/* Mega skydelis turi driektis per visą antgalvio plotį, todėl punktas
   paliekamas be pozicionavimo — taip skydelio bazė tampa `.grimm-header`.
   Selektorius turi būti bent tokio pat specifiškumo kaip `.grimm-menu > li`. */
.grimm-menu > li.grimm-nav__item--mega { position: static; }

/* Paprastas išskleidimas remiasi į patį punktą. */
.grimm-menu > li.grimm-nav__item--drop { position: relative; }

.grimm-menu > li:hover > .grimm-nav__panel,
.grimm-menu > li:focus-within > .grimm-nav__panel,
.grimm-nav__panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.grimm-nav__panel-inner {
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding: var(--spacing-32) var(--page-gutter) var(--spacing-40);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: var(--spacing-40);
}

.grimm-nav__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--spacing-32) var(--spacing-24);
}

.grimm-nav__side {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-16);
	padding-left: var(--spacing-32);
	border-left: var(--hairline) solid var(--c-line);
}

/* Paprastas išskleidimas (be kategorijų tinklelio) */
.grimm-nav__panel-inner--simple {
	grid-template-columns: minmax(0, 1fr);
	max-width: 280px;
	margin-inline: 0;
	padding: var(--spacing-20) 0 var(--spacing-20) 0;
}

.grimm-nav__panel--simple {
	left: calc(var(--spacing-14) * -1);
	right: auto;
	width: auto;
	min-width: 240px;
	border-inline: var(--hairline) solid var(--c-line);
	padding-inline: var(--spacing-20);
}

.grimm-nav__panel--simple .grimm-nav__sublist a { font-size: var(--text-small); }
.grimm-nav__panel--simple .grimm-nav__sublist--deep { padding-left: var(--spacing-14); margin-top: var(--spacing-8); }

@media (max-width: 1100px) {
	.grimm-nav__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.grimm-nav__col > .g-eyebrow { margin-bottom: var(--spacing-14); }

.grimm-nav__col-title {
	display: block;
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	color: var(--color-midcurrent-navy);
	padding-bottom: var(--spacing-10);
	margin-bottom: var(--spacing-10);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-nav__sublist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-8);
}

.grimm-nav__sublist a {
	font-size: var(--text-small);
	color: var(--c-text-muted);
	display: inline-flex;
	align-items: baseline;
	gap: var(--spacing-6);
}

.grimm-nav__sublist a:hover { color: var(--color-midcurrent-navy); }

.grimm-nav__count {
	font-size: var(--text-caption);
	color: var(--c-line-strong);
}

.grimm-nav__promo {
	background: var(--c-canvas);
	padding: var(--spacing-20);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-10);
	align-items: flex-start;
}

.grimm-nav__promo p {
	font-size: var(--text-small);
	color: var(--c-text-muted);
	margin: 0;
}

/* Pagalbinių elementų grupė -------------------------------------------- */

.grimm-utils {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--spacing-14);
	justify-self: end;
}

.grimm-utils__text {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-4);
	font-size: var(--text-micro);
	font-weight: var(--font-weight-medium);
	color: var(--c-ink);
	background: transparent;
	border: 0;
	padding: var(--spacing-6) 0;
}

.grimm-iconbtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	background: transparent;
	color: var(--c-ink);
	border-radius: var(--radius-buttons);
	transition: color var(--transition-fast), background-color var(--transition-fast);
}

.grimm-iconbtn:hover,
.grimm-iconbtn:focus-visible {
	color: var(--c-accent);
	background: var(--c-canvas);
}

.grimm-iconbtn__count {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: var(--radius-tags);
	background: var(--c-accent);
	color: var(--color-paper-white);
	font-size: 10px;
	line-height: 17px;
	font-weight: var(--font-weight-bold);
	text-align: center;
}

.grimm-iconbtn__count:empty { display: none; }

/* Krepšelis tuščias — ženkliuko nerodome. */
.grimm-iconbtn__count:has(.grimm-cart-count[data-count="0"]) { display: none; }

/* Kalbos / valiutos parinkiklis ---------------------------------------- */

.grimm-picker { position: relative; }

.grimm-picker__list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 168px;
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
	list-style: none;
	margin: 0;
	padding: var(--spacing-6);
	display: none;
	z-index: 220;
}

.grimm-picker.is-open .grimm-picker__list { display: block; }

.grimm-picker__list a {
	display: block;
	padding: var(--spacing-8) var(--spacing-10);
	font-size: var(--text-small);
	color: var(--color-twilight-slate);
}

.grimm-picker__list a:hover { background: var(--c-canvas); }

/* Mobilus perjungiklis -------------------------------------------------- */

.grimm-burger { display: none; }

@media (max-width: 1280px) {
	.grimm-utils__phone { display: none; }
}

@media (max-width: 1024px) {
	.grimm-nav__inner { grid-template-columns: auto 1fr auto; }
	.grimm-menu,
	.grimm-utils__text,
	.grimm-picker { display: none; }
	.grimm-burger { display: inline-flex; }
	.grimm-brand { justify-self: center; }
	.grimm-utils { gap: var(--spacing-4); }
}

/* -----------------------------------------------------------------------------
   9b. Antgalvio stilius „overlay“
   Viršutinė eilutė (paieška + krepšelis) ir tamsi kategorijų juosta.
   -------------------------------------------------------------------------- */

:root {
	--headtop-height: 54px;
	--navbar-height: 48px;
	--headbar-height: calc(var(--headtop-height) + var(--navbar-height));
}

.grimm-header--bar {
	position: relative;
	z-index: 300;
	background: var(--c-surface);
}

/* Pradiniame puslapyje eilutė skaidri — pro ją matoma herojaus nuotrauka. */
.grimm-header--transparent {
	background: transparent;
}

/* --- Viršutinė eilutė --- */

.grimm-headtop {
	min-height: var(--headtop-height);
	display: flex;
	align-items: center;
	background: transparent;
}

/* Viršutinė eilutė driekiasi per visą plotį — paieška ir krepšelis
   sulygiuojami prie dešiniojo ekrano krašto, kaip pavyzdyje. */
.grimm-headtop > .grimm-container {
	max-width: none;
	padding-inline: var(--edge-gutter);
}

.grimm-header--bar:not(.grimm-header--transparent) .grimm-headtop {
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-headtop__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	min-height: var(--headtop-height);
}

.grimm-headtop__left {
	display: flex;
	align-items: center;
	gap: var(--spacing-12);
	min-width: 0;
}

.grimm-headtop__right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--spacing-10);
	margin-left: auto;
	min-width: 0;
}

.grimm-headtop__phone {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-6);
	font-size: var(--text-micro);
	font-weight: var(--font-weight-medium);
	color: var(--c-ink);
	white-space: nowrap;
}

/* Skaidrus antgalvis — tekstas ir piktogramos baltos. */
.grimm-header--transparent .grimm-headtop__phone,
.grimm-header--transparent .grimm-headtop .grimm-iconbtn {
	color: var(--color-paper-white);
}

.grimm-header--transparent .grimm-headtop__phone:hover,
.grimm-header--transparent .grimm-headtop .grimm-iconbtn:hover {
	color: var(--color-paper-white);
	background: rgba(255, 255, 255, 0.16);
}

/* --- Antgalvio paieška --- */

.grimm-headsearch {
	position: relative;
	display: flex;
	align-items: center;
	width: clamp(180px, 26vw, 320px);
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
	border-radius: var(--radius-navbar);
	height: 38px;
}

.grimm-headsearch input[type="search"] {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0 var(--spacing-14);
	font-size: var(--text-small);
}

.grimm-headsearch input[type="search"]:focus { outline: none; }

.grimm-headsearch__submit {
	flex: 0 0 auto;
	width: 44px;
	height: 100%;
	border: 0;
	border-radius: 0 var(--radius-navbar) var(--radius-navbar) 0;
	background: var(--c-navbar);
	color: var(--color-paper-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color var(--transition-fast);
}

.grimm-headsearch__submit:hover { background: var(--c-navbar-active); }

.grimm-headtop__searchtoggle { display: none; }

/* Momentinės paieškos rezultatai po antgalvio lauku */
.grimm-headsearch { overflow: visible; }

.grimm-headsearch__results {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
	padding: var(--spacing-10) var(--spacing-14);
	max-height: 60vh;
	overflow-y: auto;
	display: none;
	z-index: 320;
}

.grimm-headsearch__results.is-open { display: block; }
.grimm-headsearch__results .grimm-suggest__all { margin-top: var(--spacing-10); }

/* --- Krepšelio mygtukas --- */

.grimm-cartbtn {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-8);
	height: 38px;
	padding: 0 var(--spacing-18);
	border: 0;
	border-radius: var(--radius-navbar);
	background: var(--c-navbar);
	color: var(--color-paper-white);
	font-family: var(--font-body);
	font-size: var(--text-small);
	font-weight: var(--font-weight-medium);
	line-height: 1;
	white-space: nowrap;
	transition: background-color var(--transition-fast);
}

.grimm-cartbtn:hover { background: var(--c-navbar-active); }
.grimm-cartbtn__count { font-variant-numeric: tabular-nums; }

/* --- Kategorijų juosta ---------------------------------------------------
   Juosta nėra per visą ekraną: ji prasideda ten, kur baigiasi punktai
   (kairėje lieka vieta logotipui) ir nubėga iki dešiniojo ekrano krašto.
   Apvalinti tik kairieji kampai — dešinysis kraštas išeina už ekrano.
   -------------------------------------------------------------------- */

.grimm-navbar {
	display: flex;
	align-items: stretch;
	background: transparent;
	min-height: var(--navbar-height);
}

.grimm-navbar > .grimm-container {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	max-width: none;
	padding-inline: 0;
}

.grimm-navbar__nav {
	background: var(--c-navbar);
	border-radius: var(--radius-navbar) 0 0 var(--radius-navbar);
	padding-left: 0;
	padding-right: var(--edge-gutter);
	max-width: 100%;
	min-width: 0;
}

/* Pirmas punktas prasideda ties juostos kraštu — jo kairieji kampai
   apvalinami taip pat, kaip pačios juostos. */
.grimm-navbar__list > li:first-child > a {
	border-radius: var(--radius-navbar) 0 0 var(--radius-navbar);
}

.grimm-navbar__list {
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	/* Svarbu: jokio overflow — slenkantis konteineris nukirptų
	   išskleidžiamus subkategorijų skydelius. Horizontalus slydimas
	   įjungiamas tik siauruose ekranuose, kur skydeliai nerodomi. */
	overflow: visible;
	scrollbar-width: none;
}

.grimm-navbar__list::-webkit-scrollbar { display: none; }

.grimm-navbar__list > li { position: relative; flex: 0 0 auto; display: flex; }

/* Punktas užima visą juostos aukštį — aplink aktyvų punktą neturi likti
   šviesesnės juostos spalvos rėmelio. */
.grimm-navbar__list > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-4);
	min-height: var(--navbar-height);
	margin-block: 0;
	padding: var(--spacing-8) var(--spacing-14);
	border-radius: 0;
	max-width: 136px;
	font-size: var(--text-micro);
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
	color: var(--color-paper-white);
	transition: background-color var(--transition-fast);
}

/* Ilgi pavadinimai laužomi į dvi eilutes — juostos aukštis nesikeičia. */
.grimm-navbar__list > li > a > span:first-child {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.grimm-navbar__list > li > a:hover,
.grimm-navbar__list > li:focus-within > a,
.grimm-navbar__list > li.is-current > a {
	background: var(--c-navbar-active);
	color: var(--color-paper-white);
}

.grimm-navbar__chevron { opacity: 0.7; transition: transform var(--transition-fast); }
.grimm-navbar__list > li:hover .grimm-navbar__chevron { transform: rotate(180deg); }

/* Išskleidimas po kategorija */
.grimm-navbar__panel {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
	padding: var(--spacing-10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);
	z-index: 310;
}

.grimm-navbar__list > li:hover > .grimm-navbar__panel,
.grimm-navbar__list > li:focus-within > .grimm-navbar__panel,
.grimm-navbar__panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Paskutiniai punktai — skydelis lygiuojamas į dešinę, kad neišeitų už ekrano. */
.grimm-navbar__list > li:nth-last-child(-n + 3) > .grimm-navbar__panel {
	left: auto;
	right: 0;
}

.grimm-navbar__panel ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.grimm-navbar__panel a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-12);
	padding: var(--spacing-8) var(--spacing-12);
	font-size: var(--text-small);
	color: var(--color-twilight-slate);
	white-space: nowrap;
}

.grimm-navbar__panel a:hover { background: var(--c-canvas); color: var(--color-midcurrent-navy); }
.grimm-navbar__count { font-size: var(--text-caption); color: var(--c-line-strong); }

.grimm-navbar__panel-all { border-top: var(--hairline) solid var(--c-line); margin-top: var(--spacing-6); padding-top: var(--spacing-6); }
.grimm-navbar__panel-all a { font-weight: var(--font-weight-medium); color: var(--color-midcurrent-navy); }

/* Siauresniuose kompiuterių ekranuose punktai suspaudžiami, kad tilptų
   be slydimo — kitaip tektų įjungti overflow ir skydeliai vėl būtų nukirpti. */
@media (max-width: 1320px) {
	.grimm-navbar__list > li > a {
		padding-inline: var(--spacing-10);
		max-width: 118px;
		letter-spacing: 0;
	}
}

@media (max-width: 1024px) {
	/* Siauruose ekranuose juosta užima visą plotį ir slenka horizontaliai.
	   Skydeliai čia nerodomi, todėl nukirpimas nebeaktualus. */
	.grimm-navbar__nav {
		width: 100%;
		border-radius: 0;
		padding-left: var(--edge-gutter);
	}

	.grimm-navbar__list > li:first-child > a { border-radius: 0; }

	.grimm-navbar__list {
		justify-content: flex-start;
		overflow-x: auto;
	}
	.grimm-navbar__list > li > a { max-width: none; }
	.grimm-navbar__list > li > a > span:first-child { -webkit-line-clamp: 1; }
	.grimm-navbar__panel { display: none; }
	.grimm-navbar__chevron { display: none; }
	.grimm-headtop__phone { display: none; }
}

@media (max-width: 640px) {
	:root { --headtop-height: 52px; }
	.grimm-headsearch { display: none; }
	.grimm-headtop__searchtoggle { display: inline-flex; }
	.grimm-cartbtn__label { display: none; }
	.grimm-cartbtn { padding: 0 var(--spacing-12); }
}

/* --- Logotipas --- */

.grimm-logo {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-8);
	color: var(--c-ink);
	min-width: 0;
}

.grimm-logo:hover { color: var(--c-ink); }

.grimm-logo__mark { flex: 0 0 auto; width: 22px; height: 22px; }
.grimm-logo__mark svg { width: 100%; height: 100%; display: block; }

.grimm-logo__word {
	display: block;
	font-family: var(--font-display);
	font-weight: var(--font-weight-black);
	font-size: var(--text-subheading);
	line-height: 1;
	text-transform: uppercase;
}

.grimm-logo__tag {
	display: block;
	margin-top: 2px;
	font-size: 9px;
	line-height: 1.2;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-text-muted);
}

.grimm-logo__img { max-height: 40px; width: auto; }

/* Didysis variantas — baltame herojaus langelyje */
.grimm-logo--lg { gap: var(--spacing-16); }
.grimm-logo--lg .grimm-logo__mark { width: 58px; height: 58px; }
.grimm-logo--lg .grimm-logo__word { font-size: 52px; }
.grimm-logo--lg .grimm-logo__tag { font-size: 13px; letter-spacing: 0.16em; margin-top: 6px; }

.grimm-logo--lg .grimm-logo__img {
	max-height: 112px;
	max-width: 100%;
	width: auto;
}

@media (max-width: 900px) {
	.grimm-logo--lg .grimm-logo__mark { width: 44px; height: 44px; }
	.grimm-logo--lg .grimm-logo__word { font-size: 38px; }
	.grimm-logo--lg .grimm-logo__img { max-height: 84px; }
}

@media (max-width: 640px) {
	.grimm-logo--lg .grimm-logo__mark { width: 32px; height: 32px; }
	.grimm-logo--lg .grimm-logo__word { font-size: 28px; }
	.grimm-logo--lg .grimm-logo__tag { font-size: 10px; }
	.grimm-logo--lg .grimm-logo__img { max-height: 60px; }
}

/* -----------------------------------------------------------------------------
   10. Paieškos perdanga
   -------------------------------------------------------------------------- */

.grimm-searchpanel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
	padding: var(--spacing-32) 0 var(--spacing-40);
	display: none;
	z-index: 205;
}

.grimm-searchpanel.is-open { display: block; }

.grimm-searchform {
	display: flex;
	gap: var(--spacing-10);
	align-items: center;
}

.grimm-searchform__field {
	position: relative;
	flex: 1 1 auto;
}

.grimm-searchform__field svg {
	position: absolute;
	left: var(--spacing-18);
	top: 50%;
	transform: translateY(-50%);
	color: var(--c-text-muted);
	pointer-events: none;
}

.grimm-searchform input[type="search"] {
	height: 44px;
	padding-left: var(--spacing-48);
	border-radius: var(--radius-inputs);
}

.grimm-searchpanel__hints {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-8);
	margin-top: var(--spacing-20);
	align-items: center;
}

.grimm-searchpanel__label {
	font-size: var(--text-caption);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--c-text-muted);
	margin-right: var(--spacing-4);
}

/* Momentinės paieškos pasiūlymai */

.grimm-searchpanel__results:not(:empty) {
	margin-top: var(--spacing-20);
	padding-top: var(--spacing-16);
	border-top: var(--hairline) solid var(--c-line);
}

.grimm-suggest {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.grimm-suggest__item + .grimm-suggest__item { border-top: var(--hairline) solid var(--c-line); }

.grimm-suggest__item a {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--spacing-12);
	padding: var(--spacing-10) 0;
}

.grimm-suggest__item a:hover .grimm-suggest__text strong { color: var(--c-accent); }

.grimm-suggest__thumb {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-canvas);
	color: var(--color-twilight-slate);
}

.grimm-suggest__text { min-width: 0; }

.grimm-suggest__text strong {
	display: block;
	font-size: var(--text-small);
	font-weight: var(--font-weight-medium);
	color: var(--color-midcurrent-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.grimm-suggest__sku {
	font-family: var(--font-mono);
	font-size: 10px;
	color: var(--c-text-muted);
}

.grimm-suggest__price {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	color: var(--color-midcurrent-navy);
	white-space: nowrap;
}

.grimm-suggest__price del { display: none; }

.grimm-suggest__all {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-6);
	margin-top: var(--spacing-14);
	font-size: var(--text-small);
	font-weight: var(--font-weight-medium);
	border-bottom: var(--hairline) solid currentColor;
}

.grimm-suggest__empty { font-size: var(--text-small); color: var(--c-text-muted); margin: 0; }

/* -----------------------------------------------------------------------------
   11. Krepšelio šoninis skydelis
   -------------------------------------------------------------------------- */

.grimm-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 14, 31, 0.42);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition), visibility var(--transition);
	z-index: 900;
}

.grimm-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.grimm-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	width: min(400px, 100%);
	background: var(--c-surface);
	display: flex;
	flex-direction: column;
	z-index: 950;
	transition: transform var(--transition);
}

.grimm-drawer--right {
	right: 0;
	border-left: var(--hairline) solid var(--c-line);
	transform: translateX(100%);
}

.grimm-drawer--left {
	left: 0;
	border-right: var(--hairline) solid var(--c-line);
	transform: translateX(-100%);
	width: min(360px, 92%);
}

.grimm-drawer.is-open { transform: translateX(0); }

.grimm-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	padding: var(--spacing-18) var(--spacing-20);
	border-bottom: var(--hairline) solid var(--c-line);
	flex: 0 0 auto;
}

.grimm-drawer__title {
	font-size: var(--text-body);
	font-weight: var(--font-weight-bold);
	margin: 0;
}

.grimm-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: var(--spacing-20);
}

.grimm-drawer__foot {
	flex: 0 0 auto;
	border-top: var(--hairline) solid var(--c-line);
	padding: var(--spacing-20);
	background: var(--c-surface);
}

.grimm-drawer__loading {
	font-size: var(--text-small);
	color: var(--c-text-muted);
}

/* -----------------------------------------------------------------------------
   12. Mobilus meniu
   -------------------------------------------------------------------------- */

.grimm-mobilemenu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grimm-mobilemenu li { border-bottom: var(--hairline) solid var(--c-line); }

.grimm-mobilemenu a {
	display: block;
	padding: var(--spacing-14) 0;
	font-size: 15px;
	font-weight: var(--font-weight-medium);
	color: var(--color-midcurrent-navy);
}

.grimm-mobilemenu .sub-menu {
	list-style: none;
	margin: 0 0 var(--spacing-10);
	padding: 0 0 0 var(--spacing-14);
	display: none;
}

.grimm-mobilemenu .sub-menu li { border: 0; }

.grimm-mobilemenu .sub-menu a {
	padding: var(--spacing-8) 0;
	font-size: var(--text-small);
	font-weight: var(--font-weight-regular);
	color: var(--c-text-muted);
}

.grimm-mobilemenu li.is-open > .sub-menu { display: block; }

.grimm-mobilemenu__toggle {
	float: right;
	background: transparent;
	border: 0;
	padding: var(--spacing-14) 0;
	color: var(--color-midcurrent-navy);
}

.grimm-mobilemenu li.is-open > .grimm-mobilemenu__toggle svg { transform: rotate(180deg); }

/* -----------------------------------------------------------------------------
   13. Herojaus reklama (Hero Banner)
   Kraštas į kraštą, tekstas apačioje kairėje tiesiai ant nuotraukos.
   -------------------------------------------------------------------------- */

.grimm-hero {
	position: relative;
	width: 100%;
	min-height: min(78vh, 720px);
	display: flex;
	align-items: flex-end;
	background: var(--color-midcurrent-navy);
	overflow: hidden;
	isolation: isolate;
}

.grimm-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.grimm-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Kai nuotraukos nėra — geometrinis, be gradiento, tinklinis paviršius. */
.grimm-hero__media--generated {
	background-color: var(--color-midcurrent-navy);
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
}

.grimm-hero__inner {
	width: 100%;
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding: var(--spacing-48) var(--page-gutter);
}

.grimm-hero__content { max-width: 720px; }

.grimm-hero__label {
	display: block;
	font-size: var(--text-caption);
	line-height: var(--leading-caption);
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-paper-white);
	margin-bottom: var(--spacing-14);
}

.grimm-hero__title {
	font-size: var(--text-heading-lg);
	line-height: var(--leading-heading-lg);
	font-weight: var(--font-weight-bold);
	color: var(--color-paper-white);
	margin: 0 0 var(--spacing-16);
}

.grimm-hero__text {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	color: rgba(255, 255, 255, 0.86);
	max-width: 560px;
	margin: 0 0 var(--spacing-24);
}

.grimm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-10);
}

/* --- Herojus stiliuje „overlay“ ------------------------------------------ */

.grimm-hero--overlay {
	display: grid;
	grid-template-rows: auto 1fr auto;
	align-items: start;
	min-height: min(86vh, 760px);
	padding-block: 0 var(--spacing-48);
}

/* Herojus pakeliamas po skaidria antgalvio eilute. */
.grimm-header--transparent + .grimm-hero--overlay,
.grimm-header--transparent ~ .grimm-hero--overlay {
	margin-top: calc(-1 * var(--headbar-height));
	padding-top: var(--headbar-height);
}

.grimm-hero--overlay > * { grid-column: 1; }

/* Akcijų eilutė po kategorijų juosta.
   Be gradiento — tekstas sėdi tiesiai ant nuotraukos (pagal specifikaciją).
   Driekiasi per visą plotį, kad nuoroda atsidurtų toje pačioje dešinėje
   linijoje kaip krepšelio mygtukas ir paskutinis navigacijos punktas. */
.grimm-hero__promo {
	grid-row: 1;
	width: 100%;
}

.grimm-hero__promo > .grimm-container {
	max-width: none;
	padding-inline: var(--edge-gutter);
}

.grimm-hero__promorow {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--spacing-20);
	flex-wrap: wrap;
	padding-block: var(--spacing-10);
}

.grimm-hero__promotext {
	margin: 0;
	font-size: var(--text-micro);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-paper-white);
}

.grimm-hero__promolink {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-6);
	font-size: var(--text-micro);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--c-star);
	white-space: nowrap;
}

.grimm-hero__promolink:hover { color: var(--color-paper-white); }

/* Baltas logotipo langelis, išeinantis į kairįjį kraštą */
.grimm-hero__logorow {
	grid-row: 2;
	align-self: center;
	display: flex;
	align-items: center;
	width: 100%;
}

.grimm-hero__logocard {
	background: var(--surface-product-card);
	border-radius: 0 var(--radius-3xl) var(--radius-3xl) 0;
	padding-block: var(--spacing-32);
	padding-right: var(--spacing-48);
	padding-left: clamp(var(--spacing-24), calc((100% - var(--page-max-width)) / 2 + var(--page-gutter)), 200px);
	max-width: min(94%, 620px);
}

.grimm-hero--overlay .grimm-hero__inner { grid-row: 3; align-self: end; padding-block: 0; }

/* Herojaus turinio atitraukimas nuo kairės. */
.grimm-hero__inner { padding-left: var(--hero-inner-pad-left); }

.grimm-hero--overlay .grimm-hero__title { font-size: var(--text-heading); }
.grimm-hero--overlay .grimm-hero__text { font-size: var(--text-small); margin-bottom: var(--spacing-20); }

@media (max-width: 640px) {
	/* Telefone 75px kairėje suvalgytų per daug vietos. */
	:root { --hero-inner-pad-left: var(--page-gutter); }

	.grimm-hero--overlay { min-height: min(80vh, 620px); }
	.grimm-hero__logocard { padding-block: var(--spacing-18); padding-right: var(--spacing-24); }
	.grimm-hero__promorow { justify-content: flex-start; }
	.grimm-hero__promotext { font-size: var(--text-caption); }
}

/* Herojaus statistika — plonos linijos, be kortelių */
.grimm-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-40);
	margin-top: var(--spacing-40);
	padding-top: var(--spacing-24);
	border-top: var(--hairline) solid rgba(255, 255, 255, 0.24);
}

.grimm-hero__stat strong {
	display: block;
	font-size: var(--text-heading-sm);
	line-height: 1;
	font-weight: var(--font-weight-black);
	color: var(--color-paper-white);
}

.grimm-hero__stat span {
	font-size: var(--text-caption);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.66);
}

/* -----------------------------------------------------------------------------
   14. Pasitikėjimo juosta (USP)
   -------------------------------------------------------------------------- */

.grimm-usp {
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-usp__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.grimm-usp__item {
	display: flex;
	align-items: center;
	gap: var(--spacing-12);
	padding: var(--spacing-18) var(--spacing-20);
	border-left: var(--hairline) solid var(--c-line);
}

.grimm-usp__item:first-child { border-left: 0; }

.grimm-usp__item svg {
	flex: 0 0 auto;
	color: var(--color-midcurrent-navy);
}

.grimm-usp__item strong {
	display: block;
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
}

.grimm-usp__item span {
	font-size: var(--text-caption);
	color: var(--c-text-muted);
}

@media (max-width: 900px) {
	.grimm-usp__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grimm-usp__item:nth-child(3) { border-left: 0; }
	.grimm-usp__item:nth-child(n + 3) { border-top: var(--hairline) solid var(--c-line); }
}

@media (max-width: 520px) {
	.grimm-usp__list { grid-template-columns: minmax(0, 1fr); }
	.grimm-usp__item { border-left: 0; }
	.grimm-usp__item + .grimm-usp__item { border-top: var(--hairline) solid var(--c-line); }
}

/* -----------------------------------------------------------------------------
   15. Kategorijų langeliai (Category Card)
   -------------------------------------------------------------------------- */

.grimm-cattile {
	display: flex;
	flex-direction: column;
	background: var(--surface-product-card);
	border-radius: var(--radius-cards);
	padding: var(--spacing-24) var(--card-padding);
	text-align: center;
	align-items: center;
	gap: var(--spacing-14);
	transition: background-color var(--transition-fast);
	min-height: 100%;
}

.grimm-cattile:hover { background: #fbfbfb; }

.grimm-cattile__media {
	width: 100%;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.grimm-cattile__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.grimm-cattile__glyph { color: var(--color-midcurrent-navy); }

.grimm-cattile__name {
	font-size: var(--text-subheading);
	line-height: var(--leading-subheading);
	font-weight: var(--font-weight-bold);
	color: var(--color-midcurrent-navy);
	margin: 0;
}

.grimm-cattile__count {
	font-size: var(--text-caption);
	color: var(--c-text-muted);
}

/* Kompaktiškas kategorijų sąrašas piliulėmis */
.grimm-catpills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-8);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* -----------------------------------------------------------------------------
   16. Prekės langelis (Product Card)
   Plokščias baltas paviršius, be rėmelio, be šešėlio, be apvalinimo.
   -------------------------------------------------------------------------- */

.grimm-pcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--surface-product-card);
	border-radius: var(--radius-producttiles);
	position: relative;
}

.grimm-pcard__media {
	position: relative;
	display: block;
	padding: var(--card-padding);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.grimm-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform var(--transition);
}

.grimm-pcard:hover .grimm-pcard__media img { transform: scale(1.03); }

.grimm-pcard__body {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-6);
	padding: 0 var(--card-padding) var(--card-padding);
	flex: 1 1 auto;
}

.grimm-pcard__brand {
	font-size: var(--text-caption);
	line-height: var(--leading-caption);
	color: var(--c-ink);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.grimm-pcard__brand a { color: inherit; }

.grimm-pcard__title {
	font-size: 15px;
	line-height: 1.3;
	font-weight: var(--font-weight-medium);
	color: var(--color-midcurrent-navy);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.grimm-pcard__title a { color: inherit; }
.grimm-pcard__title a:hover { color: var(--c-accent); }

.grimm-pcard__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-8);
	font-size: var(--text-caption);
	color: var(--c-text-muted);
	margin-top: auto;
	padding-top: var(--spacing-6);
}

.grimm-pcard__sku { font-family: var(--font-mono); }

.grimm-pcard__stock {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.grimm-pcard__stock::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.grimm-pcard__stock--in { color: #1e7a4b; }
.grimm-pcard__stock--low { color: #8a6100; }
.grimm-pcard__stock--out { color: var(--c-text-muted); }

/* Ženkliukai ant nuotraukos */
.grimm-pcard__flags {
	position: absolute;
	top: var(--card-padding);
	left: var(--card-padding);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-4);
	z-index: 2;
	pointer-events: none;
}

/* Vietos rezervas vaizdui, kai prekė be nuotraukos. */
.grimm-ph {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-10);
	width: 100%;
	height: 100%;
	background: var(--c-canvas);
	color: var(--color-twilight-slate);
	text-align: center;
	padding: var(--spacing-16);
}

.grimm-ph svg { opacity: 0.55; }

.grimm-ph__code {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	color: var(--c-text-muted);
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* -----------------------------------------------------------------------------
   17. Žvaigždučių reitingas — Sunbeam tik reitingams
   -------------------------------------------------------------------------- */

.grimm-rating {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-6);
	font-size: var(--text-caption);
	color: var(--c-text-muted);
}

.grimm-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--c-star);
}

.grimm-stars svg { display: block; }
.grimm-stars__empty { color: var(--c-line-strong); }

/* -----------------------------------------------------------------------------
   18. Prekių ženklų siena
   -------------------------------------------------------------------------- */

/* Lėtai slenkanti gamintojų juosta.
   Takelį sudaro dvi vienodos aibės, todėl postūmis per -50 % kartojasi
   be matomo šuolio. */

.grimm-marquee {
	position: relative;
	overflow: hidden;
	background: transparent;
	cursor: grab;
	/* Vertikalus puslapio slinkimas lieka naršyklei, horizontalų tempimą
	   perima mūsų skriptas. */
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

.grimm-marquee.is-dragging { cursor: grabbing; }
.grimm-marquee.is-dragging .grimm-marquee__track { animation-play-state: paused; }

.grimm-marquee__track {
	display: flex;
	width: max-content;
	animation: grimm-marquee var(--grimm-marquee-duration, 90s) linear infinite;
	will-change: transform;
}

.grimm-marquee__set { display: flex; }

/* Sustabdome, kai pelė virš juostos arba kai fokusas viduje —
   kitaip nuorodos „bėgtų“ nuo naudotojo. */
.grimm-marquee:hover .grimm-marquee__track,
.grimm-marquee:focus-within .grimm-marquee__track {
	animation-play-state: paused;
}

@keyframes grimm-marquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}

/* Švelnus išnykimas juostos kraštuose. */
.grimm-marquee::before,
.grimm-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 64px;
	z-index: 2;
	pointer-events: none;
}

.grimm-marquee::before {
	left: 0;
	background: linear-gradient(to right, var(--c-canvas), transparent);
}

.grimm-marquee::after {
	right: 0;
	background: linear-gradient(to left, var(--c-canvas), transparent);
}

/* Ant balto paviršiaus (pvz. „Apie mus“) kraštai išnyksta į baltą. */
.grimm-section--surface .grimm-marquee::before { background: linear-gradient(to right, var(--c-surface), transparent); }
.grimm-section--surface .grimm-marquee::after { background: linear-gradient(to left, var(--c-surface), transparent); }

/* Langeliai be rėmelių ir be fono — papilkinti, spalva atsiranda
   užvedus pelę. */
.grimm-brandwall__item {
	flex: 0 0 auto;
	width: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	padding: var(--spacing-24) var(--spacing-16);
	min-height: 96px;
	text-align: center;
	opacity: 0.45;
	filter: grayscale(1);
	transition: opacity var(--transition), filter var(--transition);
}

.grimm-brandwall__item:hover,
.grimm-brandwall__item:focus-visible {
	opacity: 1;
	filter: grayscale(0);
}

.grimm-brandwall__name {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-midcurrent-navy);
	line-height: 1.3;
}

.grimm-brandwall__logo,
.grimm-brandwall__item img {
	max-height: 52px;
	max-width: 100%;
	width: auto;
	object-fit: contain;
	/* Kad tempiant nebūtų nutempiamas pats paveikslėlis. */
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

@media (max-width: 640px) {
	.grimm-brandwall__item { width: 150px; min-height: 84px; }
	.grimm-marquee::before,
	.grimm-marquee::after { width: 32px; }
}

/* Sumažinto judesio režimu juosta nejuda — ją galima slinkti ranka. */
@media (prefers-reduced-motion: reduce) {
	.grimm-marquee { overflow-x: auto; }
	.grimm-marquee__track { animation: none; }
	.grimm-marquee__set:last-child { display: none; }
	.grimm-marquee::before,
	.grimm-marquee::after { display: none; }
}

/* -----------------------------------------------------------------------------
   19. Asimetriškas dvipusis skyrius (Sustainability Split)
   -------------------------------------------------------------------------- */

.grimm-split {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: var(--spacing-48);
}

.grimm-split--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.grimm-split--flip .grimm-split__text { order: 2; }
.grimm-split--flip .grimm-split__media { order: 1; }

.grimm-split__text h2 { font-size: var(--text-heading-sm); line-height: var(--leading-heading-sm); }
.grimm-split__text p { color: var(--c-text-muted); }

.grimm-split__list {
	list-style: none;
	margin: var(--spacing-20) 0 var(--spacing-24);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-10);
}

.grimm-split__list li {
	display: flex;
	gap: var(--spacing-10);
	font-size: var(--text-small);
	padding-bottom: var(--spacing-10);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-split__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.grimm-split__list svg { flex: 0 0 auto; color: var(--color-midcurrent-navy); margin-top: 2px; }

.grimm-split__media {
	background: var(--surface-product-card);
	aspect-ratio: 16 / 10;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.grimm-split__media img { width: 100%; height: 100%; object-fit: cover; }

/* Plokščiai išdėstytų komponentų vietos rezervas */
.grimm-flatlay {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--hairline);
	background: var(--c-line);
	width: 100%;
	height: 100%;
}

.grimm-flatlay__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--c-surface);
	color: var(--color-twilight-slate);
	opacity: 0.6;
	min-height: 96px;
}

/* Vaizdas išeina į dešinį kraštą */
.grimm-split--bleed-right { gap: var(--spacing-72); }

@media (min-width: 1201px) {
	.grimm-split--bleed-right .grimm-split__media {
		margin-right: calc(50% - 50vw + (100vw - var(--page-max-width)) / 2 * -1);
		width: calc(100% + (100vw - var(--page-max-width)) / 2);
	}
}

@media (max-width: 900px) {
	.grimm-split,
	.grimm-split--flip {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--spacing-24);
	}

	.grimm-split--flip .grimm-split__text { order: 1; }
	.grimm-split--flip .grimm-split__media { order: 2; }
}

/* -----------------------------------------------------------------------------
   19b. Skyrius per visą plotį su tekstu ant nuotraukos
   -------------------------------------------------------------------------- */

.grimm-showcase {
	position: relative;
	width: 100%;
	/* Perėjimų spalvos turi sutapti su gretimų skyrių fonu — kitaip
	   nuotraukos krašte lieka matoma linija. Numatyta: puslapio fonas. */
	--fade-top: 244, 244, 244;
	--fade-bottom: 244, 244, 244;
}

/* Jei gretimas skyrius baltas, į baltą nyksta ir perėjimas. */
.grimm-showcase:has( + .grimm-section--surface ) { --fade-bottom: 255, 255, 255; }
.grimm-section--surface + .grimm-showcase { --fade-top: 255, 255, 255; }

.grimm-showcase__media { position: relative; }

/* Nuotrauka srauto viduje — originalios proporcijos, be apkarpymo
   ir be tempimo. Skyriaus aukštis lygus nuotraukos aukščiui. */
.grimm-showcase__img {
	display: block;
	width: 100%;
	height: auto;
}

/* Švelnūs perėjimai viršuje ir apačioje — nuotrauka nenusikerpa staigiai,
   o susilieja su puslapio fonu. */
.grimm-showcase__media::before,
.grimm-showcase__media::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: clamp(80px, 22%, 210px);
	z-index: 1;
	pointer-events: none;
}

/* Daugiapakopis perėjimas — tiesinis alfa kitimas palieka matomą juostos
   kraštą, todėl kreivė sušvelninama papildomais taškais. */
.grimm-showcase__media::before {
	top: 0;
	background: linear-gradient(
		to bottom,
		rgba(var(--fade-top), 1) 0%,
		rgba(var(--fade-top), 0.96) 12%,
		rgba(var(--fade-top), 0.84) 26%,
		rgba(var(--fade-top), 0.62) 44%,
		rgba(var(--fade-top), 0.36) 63%,
		rgba(var(--fade-top), 0.14) 82%,
		rgba(var(--fade-top), 0) 100%
	);
}

.grimm-showcase__media::after {
	bottom: 0;
	background: linear-gradient(
		to top,
		rgba(var(--fade-bottom), 1) 0%,
		rgba(var(--fade-bottom), 0.96) 12%,
		rgba(var(--fade-bottom), 0.84) 26%,
		rgba(var(--fade-bottom), 0.62) 44%,
		rgba(var(--fade-bottom), 0.36) 63%,
		rgba(var(--fade-bottom), 0.14) 82%,
		rgba(var(--fade-bottom), 0) 100%
	);
}

/* Tekstas uždedamas ant nuotraukos. */
.grimm-showcase__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
}

/* Tekstas traukiamas arčiau kairiojo ekrano krašto, o ne į 1200px tinklelį. */
.grimm-showcase__inner {
	width: 100%;
	padding-inline: var(--showcase-pad-left) var(--page-gutter);
}

.grimm-showcase__content { max-width: 540px; }

.grimm-showcase__text {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	color: var(--c-text-muted);
	margin: 0 0 var(--spacing-24);
}

.grimm-showcase__list {
	list-style: none;
	margin: 0 0 var(--spacing-32);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-12);
}

.grimm-showcase__list li {
	display: flex;
	gap: var(--spacing-12);
	align-items: flex-start;
	font-size: var(--text-small);
	padding-bottom: var(--spacing-12);
	border-bottom: var(--hairline) solid rgba(0, 14, 31, 0.12);
}

.grimm-showcase__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.grimm-showcase__list svg { flex: 0 0 auto; color: var(--color-midcurrent-navy); margin-top: 2px; }

/* Be nuotraukos — tamsus paviršius su tinkleliu ir baltu tekstu. */
.grimm-showcase--plain {
	background-color: var(--surface-elevated-brand);
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
}

/* Nesant nuotraukos tekstas yra srauto viduje ir laikosi puslapio tinklelio. */
.grimm-showcase--plain .grimm-showcase__overlay {
	position: static;
	padding-block: var(--section-gap);
}

.grimm-showcase--plain .grimm-showcase__inner {
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding-inline: var(--page-gutter);
}

.grimm-showcase--plain .g-eyebrow { color: rgba(255, 255, 255, 0.62); }
.grimm-showcase--plain h2 { color: var(--color-paper-white); }
.grimm-showcase--plain .grimm-showcase__text { color: rgba(255, 255, 255, 0.82); }
.grimm-showcase--plain .grimm-showcase__list li { color: var(--color-paper-white); border-bottom-color: rgba(255, 255, 255, 0.2); }
.grimm-showcase--plain .grimm-showcase__list svg { color: var(--color-paper-white); }

@media (max-width: 900px) {
	/* Siaurame ekrane tekstas ant nuotraukos nebetilptų — jis nusileidžia
	   po ja. Nuotrauka lieka pilna, be apkarpymo. */
	.grimm-showcase__overlay {
		position: static;
		padding-block: var(--section-gap-sm);
	}

	.grimm-showcase__inner { padding-inline: var(--page-gutter); }
	.grimm-showcase__content { max-width: none; }

	/* Perėjimai lieka tik ant nuotraukos, žemiau esančio teksto neliečia.
	   Telefone tekstas guli ant puslapio fono, todėl apatinis perėjimas
	   visada nyksta į jį. */
	.grimm-showcase__media::before,
	.grimm-showcase__media::after { height: clamp(36px, 22%, 90px); }

	.grimm-showcase,
	.grimm-showcase:has( + .grimm-section--surface ) { --fade-bottom: 244, 244, 244; }
}

/* -----------------------------------------------------------------------------
   20. Centrinis redakcinis skyrius
   -------------------------------------------------------------------------- */

.grimm-editorial {
	text-align: center;
	max-width: 720px;
	margin-inline: auto;
}

.grimm-editorial h2 {
	font-size: var(--text-heading);
	line-height: var(--leading-heading);
	font-weight: var(--font-weight-bold);
	margin-bottom: var(--spacing-16);
}

.grimm-editorial p {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	color: var(--c-text-muted);
	max-width: 640px;
	margin-inline: auto;
}

.grimm-editorial__actions {
	margin-top: var(--spacing-24);
	display: flex;
	justify-content: center;
	gap: var(--spacing-10);
	flex-wrap: wrap;
}

/* Didžioji plakatinė antraštė — 70px / 1.00 / 900 */
.grimm-poster {
	text-align: center;
	padding-block: var(--spacing-24);
}

.grimm-poster__title {
	font-size: var(--text-display);
	line-height: var(--leading-display);
	font-weight: var(--font-weight-black);
	margin: 0;
	text-transform: uppercase;
}

.grimm-poster__sub {
	margin-top: var(--spacing-16);
	font-size: var(--text-body);
	color: var(--c-text-muted);
	max-width: 640px;
	margin-inline: auto;
}

/* -----------------------------------------------------------------------------
   21. Įrašų kortelės
   -------------------------------------------------------------------------- */

.grimm-postcard {
	display: flex;
	flex-direction: column;
	background: var(--surface-product-card);
	height: 100%;
}

.grimm-postcard__media {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--c-canvas);
}

.grimm-postcard__media img { width: 100%; height: 100%; object-fit: cover; }

.grimm-postcard__body {
	padding: var(--spacing-20);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-10);
	flex: 1 1 auto;
}

.grimm-postcard__title {
	font-size: var(--text-subheading);
	line-height: var(--leading-subheading);
	font-weight: var(--font-weight-bold);
	margin: 0;
}

.grimm-postcard__excerpt {
	font-size: var(--text-small);
	color: var(--c-text-muted);
	margin: 0;
}

.grimm-postcard__foot {
	margin-top: auto;
	padding-top: var(--spacing-10);
	font-size: var(--text-caption);
	color: var(--c-text-muted);
	display: flex;
	gap: var(--spacing-10);
	flex-wrap: wrap;
}

/* Išskirtas įrašas */
.grimm-feature {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	background: var(--surface-product-card);
	border: var(--hairline) solid var(--c-line);
	align-items: stretch;
}

.grimm-feature__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--c-canvas);
}

.grimm-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.grimm-feature__media .grimm-ph { height: 100%; }

.grimm-feature__body {
	padding: var(--spacing-32);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-12);
	align-items: flex-start;
	justify-content: center;
}

.grimm-feature__body h2 { margin: 0; }
.grimm-feature__body p { margin: 0; }

@media (max-width: 900px) {
	.grimm-feature { grid-template-columns: minmax(0, 1fr); }
	.grimm-feature__body { padding: var(--spacing-24); }
}

/* Sąrašo variantas (blogo pagrindinis) */
.grimm-postlist { display: flex; flex-direction: column; gap: var(--hairline); background: var(--c-line); }

.grimm-postrow {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: var(--spacing-24);
	background: var(--surface-product-card);
	padding: var(--spacing-20);
	align-items: start;
}

.grimm-postrow__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-canvas); }
.grimm-postrow__media img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 640px) {
	.grimm-postrow { grid-template-columns: minmax(0, 1fr); }
}

/* -----------------------------------------------------------------------------
   22. Naujienlaiškis
   -------------------------------------------------------------------------- */

.grimm-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--spacing-48);
	align-items: center;
}

.grimm-newsletter__form {
	display: flex;
	gap: var(--spacing-10);
	flex-wrap: wrap;
}

.grimm-newsletter__form input[type="email"] { flex: 1 1 240px; width: auto; }

.grimm-newsletter__fine {
	font-size: var(--text-caption);
	color: var(--c-text-muted);
	margin-top: var(--spacing-10);
}

.grimm-section--dark .grimm-newsletter__fine { color: rgba(255, 255, 255, 0.6); }

@media (max-width: 900px) {
	.grimm-newsletter { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-24); }
}

/* -----------------------------------------------------------------------------
   23. Puslapio poraštė
   -------------------------------------------------------------------------- */

.grimm-footer {
	background: var(--c-surface);
	border-top: var(--hairline) solid var(--c-line);
	color: var(--c-ink);
}

.grimm-footer__top {
	display: grid;
	grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr));
	gap: var(--spacing-40);
	padding-block: var(--spacing-48);
}

.grimm-footer__about p {
	font-size: var(--text-small);
	color: var(--c-text-muted);
	max-width: 320px;
}

.grimm-footer__title {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 var(--spacing-14);
	color: var(--color-midcurrent-navy);
}

.grimm-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-8);
}

.grimm-footer li a {
	font-size: var(--text-small);
	color: var(--c-text-muted);
}

.grimm-footer li a:hover { color: var(--color-midcurrent-navy); }

.grimm-footer__contact {
	list-style: none;
	margin: var(--spacing-16) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-8);
	font-size: var(--text-small);
}

.grimm-footer__contact li {
	display: flex;
	gap: var(--spacing-8);
	align-items: center;
	color: var(--color-midcurrent-navy);
}

.grimm-footer__social {
	flex-direction: row !important;
	gap: var(--spacing-8) !important;
	margin-top: var(--spacing-20);
}

.grimm-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: var(--hairline) solid var(--c-line);
	border-radius: var(--radius-links);
	color: var(--color-midcurrent-navy);
}

.grimm-footer__social a:hover {
	border-color: var(--color-midcurrent-navy);
	color: var(--c-accent);
}

.grimm-footer__legal {
	flex-direction: row !important;
	gap: var(--spacing-16) !important;
	flex-wrap: wrap;
}

.grimm-footer__legal a { font-size: var(--text-caption); }

.grimm-footer__bottom {
	border-top: var(--hairline) solid var(--c-line);
	padding-block: var(--spacing-20);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	flex-wrap: wrap;
	font-size: var(--text-caption);
	color: var(--c-text-muted);
}

.grimm-footer__payments {
	display: flex;
	gap: var(--spacing-8);
	flex-wrap: wrap;
	align-items: center;
}

.grimm-footer__payment {
	border: var(--hairline) solid var(--c-line);
	border-radius: var(--radius-tags);
	padding: 4px var(--spacing-10);
	font-size: 10px;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-twilight-slate);
	background: var(--c-surface);
}

@media (max-width: 900px) {
	.grimm-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-32); }
}

@media (max-width: 520px) {
	.grimm-footer__top { grid-template-columns: minmax(0, 1fr); }
}

/* -----------------------------------------------------------------------------
   24. Pasitikėjimo valdiklis (plaukiojantis)
   -------------------------------------------------------------------------- */

.grimm-trust {
	position: fixed;
	left: var(--spacing-20);
	bottom: var(--spacing-20);
	z-index: 500;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--surface-elevated-brand);
	color: var(--color-paper-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	text-align: center;
	line-height: 1;
}

.grimm-trust:hover { color: var(--color-paper-white); }
.grimm-trust svg { color: var(--c-star); }
.grimm-trust strong { font-size: var(--text-small); font-weight: var(--font-weight-bold); }
.grimm-trust span { font-size: 9px; opacity: 0.75; }

@media (max-width: 900px) { .grimm-trust { display: none; } }

/* -----------------------------------------------------------------------------
   25. Naršymo kelias (breadcrumbs)
   -------------------------------------------------------------------------- */

.grimm-breadcrumb {
	font-size: var(--text-caption);
	color: var(--c-text-muted);
	padding-block: var(--spacing-14);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-6);
}

.grimm-breadcrumb a { color: var(--c-text-muted); }
.grimm-breadcrumb a:hover { color: var(--color-midcurrent-navy); }
.grimm-breadcrumb__sep { color: var(--c-line-strong); }
.grimm-breadcrumb__current { color: var(--color-midcurrent-navy); }

.grimm-breadcrumb-bar {
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
}

/* -----------------------------------------------------------------------------
   26. Puslapiavimas
   -------------------------------------------------------------------------- */

.grimm-pagination {
	display: flex;
	justify-content: center;
	margin-top: var(--spacing-40);
}

.grimm-pagination .nav-links,
.grimm-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-6);
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

.grimm-pagination a.page-numbers,
.grimm-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 var(--spacing-12);
	border: var(--hairline) solid var(--c-line);
	border-radius: var(--radius-links);
	background: var(--c-surface);
	font-size: var(--text-small);
	font-weight: var(--font-weight-medium);
	color: var(--color-twilight-slate);
}

.grimm-pagination a.page-numbers:hover {
	border-color: var(--color-midcurrent-navy);
	color: var(--color-midcurrent-navy);
}

.grimm-pagination .page-numbers.current {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: var(--color-paper-white);
}

.grimm-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* Įrašo navigacija */
.grimm-postnav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--hairline);
	background: var(--c-line);
	border: var(--hairline) solid var(--c-line);
	margin-top: var(--spacing-48);
}

.grimm-postnav a {
	background: var(--c-surface);
	padding: var(--spacing-20);
	display: block;
}

.grimm-postnav a:hover { background: #fbfbfb; }
.grimm-postnav .g-eyebrow { margin-bottom: var(--spacing-6); }
.grimm-postnav strong { font-size: var(--text-small); font-weight: var(--font-weight-bold); color: var(--color-midcurrent-navy); }
.grimm-postnav__next { text-align: right; }

@media (max-width: 640px) {
	.grimm-postnav { grid-template-columns: minmax(0, 1fr); }
	.grimm-postnav__next { text-align: left; }
}

/* -----------------------------------------------------------------------------
   27. Puslapio antgalvis
   -------------------------------------------------------------------------- */

.grimm-pagehead {
	background: var(--c-surface);
	border-bottom: var(--hairline) solid var(--c-line);
	padding-block: var(--spacing-48);
}

.grimm-pagehead__inner { max-width: 720px; }
.grimm-pagehead--center .grimm-pagehead__inner { max-width: 720px; margin-inline: auto; text-align: center; }

.grimm-pagehead__title {
	font-size: var(--text-heading-lg);
	line-height: var(--leading-heading-lg);
	font-weight: var(--font-weight-bold);
	margin: 0;
}

.grimm-pagehead__text {
	margin: var(--spacing-16) 0 0;
	color: var(--c-text-muted);
	font-size: var(--text-body);
}

.grimm-pagehead__meta {
	margin-top: var(--spacing-16);
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-14);
	font-size: var(--text-caption);
	color: var(--c-text-muted);
}

/* Herojaus variantas su nuotrauka */
.grimm-pagehead--media {
	position: relative;
	background: var(--color-midcurrent-navy);
	border-bottom: 0;
	padding-block: var(--spacing-72);
	color: var(--color-paper-white);
	overflow: hidden;
	isolation: isolate;
}

.grimm-pagehead--media .grimm-pagehead__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.grimm-pagehead--media .grimm-pagehead__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.72; }
.grimm-pagehead--media .grimm-pagehead__title { color: var(--color-paper-white); }
.grimm-pagehead--media .grimm-pagehead__text,
.grimm-pagehead--media .grimm-pagehead__meta { color: rgba(255, 255, 255, 0.84); }
.grimm-pagehead--media .g-eyebrow { color: rgba(255, 255, 255, 0.7); }

/* -----------------------------------------------------------------------------
   28. Turinio tipografija (įrašai / puslapiai)
   -------------------------------------------------------------------------- */

.grimm-entry-content > * + * { margin-top: var(--spacing-20); }

.grimm-entry-content h2 { font-size: var(--text-heading-sm); margin-top: var(--spacing-40); }
.grimm-entry-content h3 { font-size: var(--text-subheading); margin-top: var(--spacing-32); }
.grimm-entry-content h4 { font-size: var(--text-body); margin-top: var(--spacing-24); }
.grimm-entry-content li + li { margin-top: var(--spacing-6); }
.grimm-entry-content img { width: 100%; }

.grimm-entry-content .wp-block-image,
.grimm-entry-content figure { margin-block: var(--spacing-32); }

.grimm-entry-content figcaption {
	font-size: var(--text-caption);
	color: var(--c-text-muted);
	margin-top: var(--spacing-8);
	text-align: center;
}

.alignleft { float: left; margin: 0 var(--spacing-24) var(--spacing-16) 0; }
.alignright { float: right; margin: 0 0 var(--spacing-16) var(--spacing-24); }
.aligncenter { margin-inline: auto; }
.wp-caption { max-width: 100%; }
.sticky .grimm-postcard__title::after { content: " ★"; color: var(--c-star); }

/* Turinio maketas su šoniniu stulpeliu */
.grimm-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: var(--spacing-48);
	align-items: start;
}

.grimm-layout--reverse { grid-template-columns: 260px minmax(0, 1fr); }
.grimm-layout--reverse .grimm-layout__main { order: 2; }
.grimm-layout--reverse .grimm-layout__aside { order: 1; }

@media (max-width: 900px) {
	.grimm-layout,
	.grimm-layout--reverse { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-32); }
	.grimm-layout--reverse .grimm-layout__main { order: 1; }
	.grimm-layout--reverse .grimm-layout__aside { order: 2; }
}

/* Šoninis stulpelis / valdikliai */

.grimm-widget {
	background: var(--c-surface);
	padding: var(--spacing-20);
	margin-bottom: var(--spacing-20);
}

.grimm-widget__title,
.grimm-widget .widget-title,
.grimm-widget .wp-block-heading {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 var(--spacing-14);
	padding-bottom: var(--spacing-10);
	border-bottom: var(--hairline) solid var(--c-line);
}

.grimm-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-8);
}

.grimm-widget li a { font-size: var(--text-small); color: var(--c-text-muted); }
.grimm-widget li a:hover { color: var(--color-midcurrent-navy); }
.grimm-widget .children { padding-left: var(--spacing-14); margin-top: var(--spacing-8); }

/* -----------------------------------------------------------------------------
   29. Komentarai
   -------------------------------------------------------------------------- */

.grimm-comments { margin-top: var(--spacing-48); }

.grimm-comments__title {
	font-size: var(--text-subheading);
	font-weight: var(--font-weight-bold);
	margin-bottom: var(--spacing-24);
}

.grimm-comments .comment-list {
	list-style: none;
	margin: 0 0 var(--spacing-40);
	padding: 0;
}

.grimm-comments .comment-list ol { list-style: none; padding-left: var(--spacing-24); }

.grimm-comments .comment-body {
	background: var(--c-surface);
	padding: var(--spacing-20);
	margin-bottom: var(--spacing-14);
}

.grimm-comments .comment-author {
	display: flex;
	align-items: center;
	gap: var(--spacing-10);
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	margin-bottom: var(--spacing-6);
}

.grimm-comments .comment-author img { border-radius: 50%; }
.grimm-comments .comment-metadata { font-size: var(--text-caption); color: var(--c-text-muted); margin-bottom: var(--spacing-10); }
.grimm-comments .reply { margin-top: var(--spacing-10); font-size: var(--text-caption); }

.comment-respond {
	background: var(--c-surface);
	padding: var(--spacing-24);
}

.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--spacing-8); }
.comment-form-cookies-consent label { margin: 0; font-weight: var(--font-weight-regular); font-size: var(--text-caption); }

.comment-form input[type="submit"] {
	border: 0;
	border-radius: var(--radius-buttons);
	background: var(--c-accent);
	color: var(--color-paper-white);
	padding: 11px var(--spacing-24);
	font-size: 15px;
	font-weight: var(--font-weight-medium);
	width: auto;
	height: auto;
	cursor: pointer;
}

/* -----------------------------------------------------------------------------
   30. Tuščios būsenos, 404, paieška
   -------------------------------------------------------------------------- */

.grimm-empty {
	background: var(--c-surface);
	padding: var(--spacing-72) var(--spacing-24);
	text-align: center;
}

.grimm-empty__code {
	font-size: var(--text-display);
	line-height: var(--leading-display);
	font-weight: var(--font-weight-black);
	margin: 0 0 var(--spacing-16);
}

.grimm-empty p { color: var(--c-text-muted); max-width: 480px; margin-inline: auto; }

.grimm-empty__actions {
	margin-top: var(--spacing-24);
	display: flex;
	justify-content: center;
	gap: var(--spacing-10);
	flex-wrap: wrap;
}

.grimm-searchbig {
	max-width: 520px;
	margin: var(--spacing-24) auto 0;
}

/* -----------------------------------------------------------------------------
   31. Akordeonas (DUK)
   -------------------------------------------------------------------------- */

.grimm-accordion {
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
}

.grimm-accordion__item + .grimm-accordion__item { border-top: var(--hairline) solid var(--c-line); }

.grimm-accordion__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	background: transparent;
	border: 0;
	padding: var(--spacing-18) var(--spacing-20);
	text-align: left;
	font-size: var(--text-body);
	font-weight: var(--font-weight-medium);
	color: var(--color-midcurrent-navy);
}

.grimm-accordion__head svg { flex: 0 0 auto; transition: transform var(--transition-fast); }
.grimm-accordion__item.is-open .grimm-accordion__head svg { transform: rotate(45deg); }

.grimm-accordion__panel {
	padding: 0 var(--spacing-20) var(--spacing-20);
	font-size: var(--text-small);
	color: var(--c-text-muted);
	display: none;
}

.grimm-accordion__item.is-open .grimm-accordion__panel { display: block; }

/* -----------------------------------------------------------------------------
   32. Žingsniai, funkcijų sąrašai, kontaktai
   -------------------------------------------------------------------------- */

.grimm-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--hairline);
	background: var(--c-line);
	border: var(--hairline) solid var(--c-line);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: grimm-step;
}

.grimm-steps li {
	background: var(--c-surface);
	padding: var(--spacing-24) var(--spacing-20);
	counter-increment: grimm-step;
}

.grimm-steps li::before {
	content: counter(grimm-step, decimal-leading-zero);
	display: block;
	font-size: var(--text-heading-sm);
	line-height: 1;
	font-weight: var(--font-weight-black);
	color: var(--c-line-strong);
	margin-bottom: var(--spacing-14);
}

.grimm-steps strong { display: block; font-size: var(--text-body); margin-bottom: var(--spacing-6); }
.grimm-steps span { font-size: var(--text-small); color: var(--c-text-muted); }

@media (max-width: 900px) { .grimm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .grimm-steps { grid-template-columns: minmax(0, 1fr); } }

/* Konfigūratoriaus žingsnio plytelė */
.grimm-buildstep {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-10);
	background: var(--surface-product-card);
	padding: var(--spacing-24) var(--spacing-20);
	min-height: 100%;
	transition: background-color var(--transition-fast);
}

.grimm-buildstep:hover { background: #fbfbfb; }

.grimm-buildstep__num {
	font-size: var(--text-caption);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.1em;
	color: var(--c-line-strong);
}

.grimm-buildstep__icon { color: var(--color-midcurrent-navy); }
.grimm-buildstep strong { font-size: var(--text-body); color: var(--color-midcurrent-navy); }

.grimm-buildstep__text {
	font-size: var(--text-small);
	color: var(--c-text-muted);
	flex: 1 1 auto;
}

.grimm-buildstep .g-link { align-self: flex-start; }

.grimm-featurelist {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--spacing-24);
	list-style: none;
	margin: 0;
	padding: 0;
}

.grimm-featurelist li {
	background: var(--c-surface);
	padding: var(--spacing-24);
}

.grimm-featurelist svg { color: var(--color-midcurrent-navy); margin-bottom: var(--spacing-14); }
.grimm-featurelist strong { display: block; font-size: var(--text-body); margin-bottom: var(--spacing-6); }
.grimm-featurelist p { font-size: var(--text-small); color: var(--c-text-muted); margin: 0; }

@media (max-width: 900px) { .grimm-featurelist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .grimm-featurelist { grid-template-columns: minmax(0, 1fr); } }

.grimm-contactgrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: var(--spacing-48);
	align-items: start;
}

.grimm-contactcard {
	background: var(--c-surface);
	padding: var(--spacing-24);
}

.grimm-contactcard + .grimm-contactcard { margin-top: var(--spacing-20); }

.grimm-contactcard dl { margin: 0; display: grid; gap: var(--spacing-10); }
.grimm-contactcard dt { font-size: var(--text-caption); text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-text-muted); }
.grimm-contactcard dd { margin: 0; font-size: var(--text-small); font-weight: var(--font-weight-medium); }

.grimm-formgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-16); }
.grimm-formgrid--full { grid-template-columns: minmax(0, 1fr); }
.grimm-formgrid > .grimm-field--wide { grid-column: 1 / -1; }

@media (max-width: 900px) {
	.grimm-contactgrid { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-32); }
	.grimm-formgrid { grid-template-columns: minmax(0, 1fr); }
}

/* Specifikacijų lentelė */
.grimm-spectable {
	width: 100%;
	background: var(--c-surface);
	border: var(--hairline) solid var(--c-line);
	border-collapse: collapse;
}

.grimm-spectable th,
.grimm-spectable td {
	padding: var(--spacing-12) var(--spacing-16);
	border-bottom: var(--hairline) solid var(--c-line);
	font-size: var(--text-small);
	vertical-align: top;
}

.grimm-spectable tr:last-child th,
.grimm-spectable tr:last-child td { border-bottom: 0; }

.grimm-spectable th {
	width: 38%;
	font-weight: var(--font-weight-medium);
	color: var(--c-text-muted);
	background: #fbfbfb;
}

/* -----------------------------------------------------------------------------
   33. Horizontali prekių lentyna su slydimu
   -------------------------------------------------------------------------- */

.grimm-shelf { position: relative; }

.grimm-shelf__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 1fr);
	gap: var(--hairline);
	background: var(--c-line);
	border: var(--hairline) solid var(--c-line);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.grimm-shelf__track > * { scroll-snap-align: start; }

.grimm-shelf__nav {
	display: flex;
	gap: var(--spacing-6);
}

.grimm-shelf__btn {
	width: 34px;
	height: 34px;
	border: var(--hairline) solid var(--c-line);
	border-radius: var(--radius-buttons);
	background: var(--c-surface);
	color: var(--color-midcurrent-navy);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.grimm-shelf__btn:hover { border-color: var(--color-midcurrent-navy); }
.grimm-shelf__btn[disabled] { opacity: 0.35; cursor: default; }

/* -----------------------------------------------------------------------------
   34. Blokų redaktoriaus turinys priekinėje dalyje
   -------------------------------------------------------------------------- */

.grimm-main--wide > .grimm-entry-content > *:not(.alignfull):not(.alignwide) {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--page-gutter);
}

.grimm-main--wide > .grimm-entry-content > .alignwide {
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding-inline: var(--page-gutter);
}

.grimm-main--wide > .grimm-entry-content > .alignfull {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}

.grimm-main--wide > .grimm-entry-content { padding-block: var(--section-gap); }

.grimm-entry-content .alignwide { max-width: var(--page-max-width); }
.grimm-entry-content .alignfull { max-width: none; }

.grimm-entry-content .wp-block-separator {
	border-top: var(--hairline) solid var(--c-line);
	border-bottom: 0;
	opacity: 1;
}

.grimm-entry-content .wp-block-table table { background: var(--c-surface); border: var(--hairline) solid var(--c-line); }
.grimm-entry-content .wp-block-pullquote { border-block: var(--hairline) solid var(--c-line); padding-block: var(--spacing-24); }

.grimm-entry-content .wp-block-group.has-background { padding: var(--spacing-32); }

/* Šoninis stulpelis prilimpa slenkant */
@media (min-width: 901px) {
	.grimm-sidebar {
		position: sticky;
		top: calc(var(--nav-height) + var(--spacing-24));
	}
}

/* -----------------------------------------------------------------------------
   35. Spausdinimas
   -------------------------------------------------------------------------- */

@media print {
	.grimm-announcement,
	.grimm-header,
	.grimm-footer,
	.grimm-trust,
	.grimm-drawer,
	.grimm-overlay { display: none !important; }

	body { background: #fff; }
}

/* -----------------------------------------------------------------------------
   Konfigūratorius — lizdai, suvestinės juosta ir prekės pasirinkimo modalas
   -------------------------------------------------------------------------- */

/* `display` taisyklės žemiau nugalėtų naršyklės `[hidden]` — grąžiname jam galią. */
.grimm-buildslot__product[hidden],
.grimm-buildslot__actions [hidden],
.grimm-buildbar[hidden],
.grimm-buildmodal[hidden],
.grimm-buildmodal__status[hidden],
.grimm-buildmodal__loading[hidden],
[data-build-attrs][hidden],
[data-build-brand-wrap][hidden] { display: none !important; }

.grimm-buildslot__product {
	display: flex;
	align-items: center;
	gap: var(--spacing-12);
	padding: var(--spacing-10);
	background: var(--c-canvas);
	border: 1px solid var(--c-line, #e5e7eb);
	border-radius: 8px;
}

.grimm-buildslot.is-filled { outline: 2px solid var(--color-midcurrent-navy); outline-offset: -2px; }
.grimm-buildslot.is-filled .grimm-buildstep__text { display: none; }

.grimm-buildslot__thumb {
	width: 56px;
	height: 56px;
	object-fit: contain;
	background: #fff;
	border-radius: 6px;
	flex: 0 0 auto;
}

.grimm-buildslot__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.grimm-buildslot__name {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	color: var(--color-midcurrent-navy);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.grimm-buildslot__price { font-size: var(--text-small); color: var(--c-text-muted); }
.grimm-buildslot__actions { display: flex; gap: var(--spacing-8); }

/* Fiksuota, ne sticky — protėvių `overflow` sugadina sticky pozicionavimą. */
.grimm-buildbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	background: var(--color-midcurrent-navy);
	color: var(--color-paper-white);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
}

/* Kad juosta neuždengtų puslapio apačios. */
body.grimm-has-buildbar #main { padding-bottom: 96px; }

.grimm-buildbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	padding-top: var(--spacing-12);
	padding-bottom: var(--spacing-12);
	flex-wrap: wrap;
}

.grimm-buildbar__total { display: flex; align-items: baseline; gap: var(--spacing-8); }
.grimm-buildbar__total strong { font-size: var(--text-h4, 1.25rem); }
.grimm-buildbar__actions { display: flex; gap: var(--spacing-8); }
.grimm-buildbar .g-btn--ghost { color: var(--color-paper-white); }

.grimm-buildmodal { position: fixed; inset: 0; z-index: 130; display: flex; align-items: center; justify-content: center; }
.grimm-buildmodal[hidden] { display: none; }

.grimm-buildmodal__mask {
	position: absolute;
	inset: 0;
	background: rgba(13, 27, 51, 0.55);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.grimm-buildmodal.is-open .grimm-buildmodal__mask { opacity: 1; }
.grimm-buildmodal.is-open .grimm-buildmodal__panel { opacity: 1; transform: none; }

.grimm-buildmodal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(100vw - 48px);
	height: calc(100vh - 48px);
	background: var(--c-surface, #fff);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
	opacity: 0;
	transform: translateY(20px) scale(0.97);
	transition: opacity 0.22s ease, transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.grimm-buildmodal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-16);
	padding: var(--spacing-16) var(--spacing-24);
	border-bottom: 1px solid var(--c-line, #e5e7eb);
}

.grimm-buildmodal__head h2 { margin: 0; font-size: var(--text-h4, 1.25rem); }

.grimm-buildmodal__x {
	background: none;
	border: 0;
	cursor: pointer;
	padding: var(--spacing-8);
	color: inherit;
}

.grimm-buildmodal__layout {
	display: flex;
	flex: 1 1 auto;
	min-height: 0;
}

.grimm-buildmodal__aside {
	flex: 0 0 320px;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-20);
	padding: var(--spacing-20);
	border-right: 1px solid var(--c-line, #e5e7eb);
	background: var(--c-canvas);
	overflow-y: auto;
}

.grimm-buildmodal__aside input[type="search"] {
	width: 100%;
	padding: var(--spacing-8) var(--spacing-10);
	border: 1px solid var(--c-line, #e5e7eb);
	border-radius: 6px;
	font-size: var(--text-small);
	background: #fff;
}

.grimm-buildfilter h3 {
	margin: 0 0 var(--spacing-8);
	font-size: var(--text-caption);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-text-muted);
}

.grimm-buildfilter__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.grimm-buildfilter__list--scroll { max-height: 240px; overflow-y: auto; }

.grimm-buildfilter__list button {
	display: block;
	width: 100%;
	text-align: left;
	padding: var(--spacing-8) var(--spacing-10);
	border: 0;
	border-radius: 6px;
	background: none;
	cursor: pointer;
	font-size: var(--text-small);
	color: inherit;
	transition: background-color var(--transition-fast, 0.15s);
}

.grimm-buildfilter__list button:hover { background: rgba(13, 27, 51, 0.06); }

.grimm-buildfilter__list button.is-active {
	background: var(--color-midcurrent-navy);
	color: var(--color-paper-white);
	font-weight: var(--font-weight-bold);
}

.grimm-buildmodal__all { display: flex; align-items: center; gap: var(--spacing-8); font-size: var(--text-small); }

.grimm-buildmodal__body { flex: 1 1 auto; overflow-y: auto; padding: var(--spacing-16) var(--spacing-24) var(--spacing-24); }

.grimm-buildmodal__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--spacing-12);
	margin-bottom: var(--spacing-16);
}

.grimm-buildmodal__status { color: var(--c-text-muted); text-align: center; padding: var(--spacing-24) 0; }

/* Kraunamo turinio suktukas. */
.grimm-buildmodal__loading { display: flex; justify-content: center; padding: var(--spacing-32, 32px) 0; }

.grimm-spin {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 3px solid rgba(13, 27, 51, 0.15);
	border-top-color: var(--color-midcurrent-navy);
	animation: grimm-spin 0.7s linear infinite;
}

@keyframes grimm-spin {
	to { transform: rotate(360deg); }
}

.grimm-buildfilter__count { float: right; color: inherit; opacity: 0.6; font-size: var(--text-caption); }

.grimm-buildcard {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-8);
	padding: var(--spacing-12);
	border: 1px solid var(--c-line, #e5e7eb);
	border-radius: 8px;
	background: var(--surface-product-card, #fff);
	animation: grimm-card-in 0.28s ease backwards;
}

@keyframes grimm-card-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.grimm-buildmodal__mask,
	.grimm-buildmodal__panel { transition: none; }
	.grimm-buildcard { animation: none; }
	.grimm-spin { animation-duration: 1.6s; }
}

.grimm-buildcard.is-unavailable { opacity: 0.65; }
.grimm-buildcard__img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }

.grimm-buildcard__name {
	font-size: var(--text-small);
	font-weight: var(--font-weight-bold);
	color: var(--color-midcurrent-navy);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1 1 auto;
}

.grimm-buildcard__sku { font-size: var(--text-caption); color: var(--c-text-muted); }
.grimm-buildcard__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-8); }
.grimm-buildcard__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-8); }

@media (max-width: 768px) {
	.grimm-buildmodal { align-items: stretch; }

	.grimm-buildmodal__panel {
		width: 100vw;
		max-height: none;
		height: 100dvh;
		border-radius: 0;
	}

	/* Mobiliajame filtrai — kompaktiškas blokas virš prekių. */
	.grimm-buildmodal__layout { flex-direction: column; }

	.grimm-buildmodal__aside {
		flex: 0 0 auto;
		max-height: 38vh;
		border-right: 0;
		border-bottom: 1px solid var(--c-line, #e5e7eb);
	}
}

