/* =====================================================
   Aštunkė — design system v4
   Bold technical sport. Black + red, professional, character.
   ===================================================== */

/* ---------- TOKENS ---------- */
:root {
	/* Palette — true neutrals + brand red, no warm tints */
	--c-bg:           #ffffff;
	--c-bg-2:         #f7f7f7;
	--c-bg-3:         #ededed;
	--c-surface:      #ffffff;
	--c-ink:          #0a0a0a;        /* near-black */
	--c-ink-2:        #171717;        /* slightly lighter black for hovers */
	--c-ink-soft:     #525252;
	--c-ink-mute:     #a3a3a3;
	--c-line:         #e5e5e5;
	--c-line-strong:  #d4d4d4;

	/* Brand */
	--c-red:          #dc2626;        /* primary brand red */
	--c-red-hover:    #b91c1c;
	--c-red-dim:      #7f1d1d;

	/* Semantic */
	--c-stock-in:     #15803d;
	--c-stock-low:    #b45309;
	--c-stock-out:    #737373;

	/* Typography */
	--f-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;
	--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

	/* Type scale */
	--fs-xs:   .6875rem;
	--fs-sm:   .8125rem;
	--fs-base: .9375rem;
	--fs-md:   1.0625rem;
	--fs-lg:   1.25rem;
	--fs-xl:   1.5rem;
	--fs-2xl:  2rem;
	--fs-3xl:  3rem;
	--fs-hero: clamp(3rem, 8vw, 6.5rem);

	/* Spacing */
	--sp-1: .25rem;  --sp-2: .5rem;   --sp-3: .75rem;  --sp-4: 1rem;
	--sp-5: 1.5rem;  --sp-6: 2rem;    --sp-7: 3rem;    --sp-8: 4.5rem;
	--sp-9: 7rem;    --sp-10: 10rem;

	/* Radius — sport / industrial feel, mostly sharp */
	--radius-sm: 0;
	--radius:    2px;
	--radius-lg: 4px;
	--radius-pill: 999px;

	/* Layout */
	--content-w: 1400px;
	--gutter:    clamp(1.25rem, 4vw, 2.5rem);
	--header-h:  68px;

	/* Motion */
	--easing: cubic-bezier(.4, 0, .2, 1);
	--dur:    180ms;
}

/* ---------- RESET ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }
button, input, select, textarea { color: inherit; font-family: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { padding-left: 1.25em; }
h1, h2, h3, h4, h5 { margin: 0; line-height: 1; letter-spacing: -.025em; font-weight: 500; }
p { margin: 0; }
.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap;
}

/* ---------- BASE ---------- */
body {
	font-family: var(--f-sans);
	font-size: var(--fs-base);
	line-height: 1.55;
	color: var(--c-ink);
	background: var(--c-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga", "ss01", "cv11";
}
h1 { font-size: var(--fs-hero); letter-spacing: -.045em; line-height: .92; font-weight: 800; }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.038em; font-weight: 700; line-height: 1; }
h3 { font-size: var(--fs-xl); letter-spacing: -.022em; font-weight: 600; line-height: 1.1; }
small { font-size: var(--fs-sm); color: var(--c-ink-soft); }
::selection { background: var(--c-red); color: #fff; }

.label {
	display: inline-block;
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-family: var(--f-mono);
}
.label--red { color: var(--c-red); }
.label--mute { color: var(--c-ink-mute); }

/* ---------- LAYOUT PRIMITIVES ---------- */
.container, .astunke-container {
	width: 100%;
	max-width: var(--content-w);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.section { padding-block: clamp(4rem, 7vw, 6.5rem); }
.section--tight { padding-block: clamp(2.5rem, 4vw, 3.5rem); }
.section--ink { background: var(--c-ink); color: var(--c-bg); }
.section--ink h2, .section--ink h3, .section--ink h4 { color: var(--c-bg); }
.section--gray { background: var(--c-bg-2); }

/* ---------- BUTTONS ---------- */
.astunke-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .9rem 1.6rem;
	font-family: var(--f-sans);
	font-weight: 600;
	font-size: var(--fs-sm);
	letter-spacing: .02em;
	text-transform: uppercase;
	border: 1px solid var(--c-ink);
	border-radius: var(--radius);
	background: var(--c-ink);
	color: var(--c-bg);
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing), border-color var(--dur) var(--easing);
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
}
.astunke-btn:hover  { background: var(--c-red); border-color: var(--c-red); color: #fff; }
.astunke-btn--red { background: var(--c-red); border-color: var(--c-red); color: #fff; }
.astunke-btn--red:hover { background: var(--c-red-hover); border-color: var(--c-red-hover); color: #fff; }
.astunke-btn--ghost { background: transparent; color: var(--c-ink); border-color: var(--c-line-strong); }
.astunke-btn--ghost:hover { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-bg); }
.astunke-btn--ghost-light { background: transparent; color: var(--c-bg); border-color: rgba(255,255,255,.25); }
.astunke-btn--ghost-light:hover { border-color: var(--c-bg); background: var(--c-bg); color: var(--c-ink); }
.astunke-btn--invert { background: var(--c-bg); color: var(--c-ink); border-color: var(--c-bg); }
.astunke-btn--invert:hover { background: var(--c-red); border-color: var(--c-red); color: #fff; }
.astunke-btn--sm  { padding: .55rem 1rem; font-size: var(--fs-xs); }
.astunke-btn--lg  { padding: 1.1rem 1.9rem; font-size: var(--fs-sm); }
.astunke-btn--full{ width: 100%; }
.astunke-btn:disabled { opacity: .45; cursor: not-allowed; }

/* ---------- TOPBAR ---------- */
.astunke-topbar {
	background: var(--c-red);
	color: #fff;
	font-size: var(--fs-xs);
	letter-spacing: .08em;
	font-weight: 500;
	text-transform: uppercase;
}
.astunke-topbar__inner {
	display: flex; justify-content: space-between; align-items: center;
	gap: var(--sp-5);
	padding-block: .55rem;
}
.astunke-topbar__messages {
	display: flex; gap: var(--sp-5); list-style: none; margin: 0; padding: 0; flex: 1;
}
.astunke-topbar__messages li {
	display: inline-flex; align-items: center; gap: .45rem;
	color: rgba(255, 255, 255, .9);
}
.astunke-topbar__messages svg { display: none; }
.astunke-topbar__contact { display: flex; gap: var(--sp-5); }
.astunke-topbar__contact a {
	color: rgba(255, 255, 255, .9);
	transition: color var(--dur) var(--easing);
}
.astunke-topbar__contact a:hover { color: #fff; }

/* ---------- HEADER ---------- */
.astunke-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--c-ink);
	color: var(--c-bg);
	border-bottom: 1px solid var(--c-ink-2);
}
.astunke-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--sp-6);
	min-height: var(--header-h);
}
.astunke-logo {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--f-sans);
	font-weight: 800;
	font-size: 1.35rem;
	letter-spacing: -.035em;
	color: var(--c-bg);
	text-transform: uppercase;
}
.astunke-logo__mark { color: var(--c-red); margin-left: 1px; }

.astunke-mainnav {
	display: flex; gap: var(--sp-6);
	align-items: center;
	margin: 0; padding: 0; list-style: none;
	font-weight: 500;
	font-size: var(--fs-sm);
	letter-spacing: .02em;
	text-transform: uppercase;
	justify-content: center;
}
.astunke-mainnav__item { position: static; }
.astunke-mainnav__link,
.astunke-mainnav a {
	position: relative; padding: .4rem 0;
	color: rgba(255, 255, 255, .7);
	transition: color var(--dur) var(--easing);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}
.astunke-mainnav__link:hover,
.astunke-mainnav a:hover { color: var(--c-bg); }
.astunke-mainnav__chev { opacity: .6; transition: transform var(--dur) var(--easing), opacity var(--dur) var(--easing); }
.astunke-mainnav__item.is-open .astunke-mainnav__chev { transform: rotate(180deg); opacity: 1; }
.astunke-mainnav__item.is-open > .astunke-mainnav__link { color: var(--c-bg); }
.astunke-mainnav a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0;
	height: 2px; background: var(--c-red);
	transform: scaleX(0); transform-origin: left;
	transition: transform var(--dur) var(--easing);
}
.astunke-mainnav a:hover::after { transform: scaleX(1); }

.astunke-header__actions { display: flex; gap: var(--sp-2); align-items: center; }
.astunke-search {
	display: flex; align-items: center; gap: .55rem;
	background: rgba(255, 255, 255, .07);
	border: 1px solid transparent;
	border-radius: var(--radius);
	padding: .55rem .9rem;
	min-width: 320px;
	transition: background var(--dur) var(--easing), border-color var(--dur) var(--easing);
}
.astunke-search:focus-within { background: rgba(255, 255, 255, .12); border-color: var(--c-red); }
.astunke-search input {
	flex: 1; border: none; background: transparent; outline: none;
	font-size: var(--fs-sm);
	color: var(--c-bg);
}
.astunke-search input::placeholder { color: rgba(255, 255, 255, .45); }
.astunke-search svg { color: rgba(255, 255, 255, .55); width: 16px; height: 16px; }

.astunke-iconbtn, .astunke-cart-link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	background: transparent; border: none; border-radius: var(--radius);
	color: var(--c-bg);
	transition: background var(--dur) var(--easing);
	position: relative;
}
.astunke-iconbtn:hover, .astunke-cart-link:hover { background: rgba(255, 255, 255, .08); }
.astunke-cart-count {
	position: absolute; top: 4px; right: 4px;
	min-width: 16px; height: 16px; padding: 0 4px;
	border-radius: 999px;
	background: var(--c-red);
	color: #fff;
	font-size: 10px; font-weight: 700; line-height: 16px;
	text-align: center;
}
.astunke-cart-count[data-count="0"] { display: none; }

/* ---------- HERO (FULL-BLEED IMAGE) ---------- */
.astunke-hero--image {
	position: relative;
	min-height: clamp(520px, 78vh, 760px);
	background: var(--c-ink);
	color: var(--c-bg);
	overflow: hidden;
	display: flex;
	align-items: stretch;
	isolation: isolate;
}
.astunke-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.astunke-hero__bg img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 28%;
	display: block;
	will-change: transform;
}
/* Dark shade with red mood + bottom feather so the lower trust strip
   visually merges with the hero. */
.astunke-hero__shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		/* main directional fade — heavy ink on the left, clear on the right */
		linear-gradient(95deg,
			rgba(10,10,10,0.94) 0%,
			rgba(10,10,10,0.78) 30%,
			rgba(10,10,10,0.42) 60%,
			rgba(10,10,10,0.10) 100%),
		/* bottom feather into the trust strip below */
		linear-gradient(180deg,
			rgba(10,10,10,0.05) 0%,
			rgba(10,10,10,0.10) 55%,
			rgba(10,10,10,0.65) 100%),
		/* warm red mood from the top-right corner */
		radial-gradient(120% 70% at 90% 10%, rgba(220,38,38,0.18), transparent 60%);
	pointer-events: none;
}
.astunke-hero__content {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	padding-block: clamp(5rem, 14vw, 10rem);
	width: 100%;
}
.astunke-hero__copy {
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 2.4vw, 2.25rem);
}
.astunke-hero h1 {
	margin: 0;
	color: var(--c-bg);           /* white — heroes sit on a dark bg (black or photo) */
	font-weight: 800;
	text-wrap: balance;
	line-height: .96;
	letter-spacing: -.04em;
	font-size: clamp(2.25rem, 5.5vw, 4rem);
}
.astunke-hero h1 .accent {
	color: var(--c-red);
	font-style: normal;
	font-weight: 800;
	display: block;
}
.astunke-hero__lead {
	font-size: clamp(1.0625rem, 1.35vw, 1.25rem);
	color: rgba(255, 255, 255, .78);
	max-width: 48ch;
	margin: 0;
	line-height: 1.55;
}

/* ---- Inner-page hero (rent, servisas, etc.): dramatic black + red glow ----
   These use plain .astunke-hero (no --image). My v3.0 full-bleed rewrite
   dropped the base black background; restore it so the brand's black+red
   treatment carries across the inner pages instead of plain text on white. */
.astunke-hero:not(.astunke-hero--image) {
	background: var(--c-ink);
	color: var(--c-bg);
	position: relative;
	overflow: hidden;
}
.astunke-hero:not(.astunke-hero--image)::before {
	content: "";
	position: absolute;
	top: -35%; right: -8%;
	width: 620px; height: 620px;
	background: radial-gradient(circle, rgba(220,38,38,.20), transparent 65%);
	pointer-events: none;
	z-index: 0;
}
.astunke-hero:not(.astunke-hero--image)::after {
	content: "";
	position: absolute;
	bottom: 0; left: 0; right: 0; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.astunke-hero:not(.astunke-hero--image) .astunke-hero__inner {
	position: relative;
	z-index: 1;
}
.astunke-hero:not(.astunke-hero--image) .astunke-hero__eyebrow {
	display: inline-flex; align-items: center; gap: .6rem;
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-red);
	margin-bottom: var(--sp-4);
}

/* The full-bleed IMAGE hero (homepage) overlays text on photography, so the
   title is larger + shadowed for legibility over a photo. */
.astunke-hero--image h1 {
	line-height: .94;
	letter-spacing: -.05em;
	font-size: clamp(2.75rem, 7vw, 5.25rem);
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.astunke-hero--image .astunke-hero__lead {
	color: rgba(255, 255, 255, .82);
	text-shadow: 0 1px 16px rgba(0, 0, 0, 0.4);
}
.astunke-hero__ctas {
	display: flex;
	gap: var(--sp-3);
	flex-wrap: wrap;
	margin-top: clamp(.5rem, 1vw, 1rem);
}

/* Subtle zoom over the lifetime of a page view — keeps the still image
   feeling alive without distracting. Respects reduced motion. */
@media (prefers-reduced-motion: no-preference) {
	.astunke-hero__bg img {
		animation: astunkeHeroPan 24s ease-out forwards;
	}
	@keyframes astunkeHeroPan {
		from { transform: scale(1.04); }
		to   { transform: scale(1); }
	}
}

/* Mobile: reduce hero height, recenter image focus, drop the rail */
@media (max-width: 768px) {
	.astunke-hero--image {
		min-height: clamp(420px, 70vh, 560px);
	}
	.astunke-hero__bg img { object-position: center 38%; }
	.astunke-hero__shade {
		background:
			linear-gradient(180deg,
				rgba(10,10,10,0.75) 0%,
				rgba(10,10,10,0.65) 55%,
				rgba(10,10,10,0.85) 100%);
	}
}

/* === Legacy split-grid hero (no longer used by front-page.php, kept in
       case a child template or A/B variant still references it) === */
.astunke-hero__inner {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	position: relative;
	z-index: 1;
}
.astunke-hero__visual { display: none; }
.astunke-hero__stats { display: none; }
.astunke-hero__stat dt {
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 800;
	color: var(--c-bg);
	letter-spacing: -.035em;
	line-height: 1;
}
.astunke-hero__stat dd {
	margin: .45rem 0 0;
	font-size: var(--fs-xs);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	font-weight: 500;
	font-family: var(--f-mono);
}

/* ---------- TRUST STRIP ---------- */
.astunke-trust {
	background: var(--c-ink);
	border-top: 1px solid rgba(255, 255, 255, .08);
	color: var(--c-bg);
}
.astunke-trust__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
.astunke-trust__item {
	padding: var(--sp-5) var(--sp-4);
	display: flex; flex-direction: column; gap: .25rem;
	border-right: 1px solid rgba(255, 255, 255, .08);
}
.astunke-trust__item:last-child { border-right: none; }
.astunke-trust__num {
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	font-weight: 700;
	color: var(--c-bg);
	letter-spacing: -.025em;
	line-height: 1;
	font-family: var(--f-sans);
}
.astunke-trust__num .star { color: var(--c-red); margin-right: .2rem; }
.astunke-trust__label {
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

/* ---------- USP STRIP ---------- */
.astunke-usp {
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-line);
}
.astunke-usp__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
.astunke-usp__item {
	display: flex; gap: var(--sp-3); align-items: center;
	padding: var(--sp-5) var(--sp-4);
	border-right: 1px solid var(--c-line);
}
.astunke-usp__item:last-child { border-right: none; }
.astunke-usp__icon {
	flex-shrink: 0;
	width: 32px; height: 32px;
	display: grid; place-items: center;
	color: var(--c-red);
}
.astunke-usp__icon svg { width: 22px; height: 22px; stroke-width: 1.7; }
.astunke-usp__item strong {
	display: block;
	font-weight: 600;
	font-size: var(--fs-sm);
	letter-spacing: -.005em;
	margin-bottom: 1px;
}
.astunke-usp__item span { color: var(--c-ink-soft); font-size: var(--fs-xs); }

/* ---------- SECTION HEADS ---------- */
.astunke-section-head {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: var(--sp-5); flex-wrap: wrap;
	margin-bottom: var(--sp-6);
	padding-bottom: var(--sp-4);
	border-bottom: 2px solid var(--c-ink);
}
.astunke-section-head__title h2 { margin: 0; }
.astunke-section-head__eyebrow {
	display: block;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-red);
	margin-bottom: var(--sp-3);
}
.astunke-section-head__link {
	display: inline-flex; align-items: center; gap: .35rem;
	font-weight: 600;
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--c-ink);
	border-bottom: 1px solid var(--c-ink);
	padding-bottom: 2px;
	transition: color var(--dur) var(--easing), border-color var(--dur) var(--easing);
}
.astunke-section-head__link:hover { color: var(--c-red); border-color: var(--c-red); }
.astunke-section-head__link::after { content: "→"; transition: transform var(--dur) var(--easing); }
.astunke-section-head__link:hover::after { transform: translateX(3px); }

/* On dark sections */
.section--ink .astunke-section-head { border-bottom-color: rgba(255, 255, 255, .25); }
.section--ink .astunke-section-head__eyebrow { color: var(--c-red); }
.section--ink .astunke-section-head__link { color: var(--c-bg); border-bottom-color: var(--c-bg); }
.section--ink .astunke-section-head__link:hover { color: var(--c-red); border-bottom-color: var(--c-red); }

/* ---------- CATEGORY GRID ---------- */
.astunke-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--c-line);
	border: 1px solid var(--c-line);
}
.astunke-cat-card {
	position: relative;
	display: block;
	background: var(--c-surface);
	overflow: hidden;
	transition: background var(--dur) var(--easing);
}
.astunke-cat-card:hover { background: var(--c-bg-2); }
.astunke-cat-card__media {
	aspect-ratio: 4 / 5;
	background: var(--c-bg-2);
	display: grid; place-items: center;
	overflow: hidden;
	position: relative;
}
.astunke-cat-card__media::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(10, 10, 10, .6));
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--dur) var(--easing);
}
.astunke-cat-card:hover .astunke-cat-card__media::after { opacity: 1; }
.astunke-cat-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 500ms var(--easing);
}
.astunke-cat-card:hover .astunke-cat-card__media img { transform: scale(1.05); }
.astunke-cat-card__placeholder { opacity: .15; color: var(--c-ink); }
.astunke-cat-card__body {
	padding: var(--sp-4);
	display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3);
	border-top: 1px solid var(--c-line);
}
.astunke-cat-card__title {
	font-size: var(--fs-md);
	font-weight: 600;
	letter-spacing: -.012em;
	margin: 0;
}
.astunke-cat-card__meta {
	color: var(--c-ink-mute);
	font-size: var(--fs-xs);
	font-family: var(--f-mono);
	letter-spacing: .04em;
}

/* ---------- PRODUCT GRID ---------- */
.astunke-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1px;
	background: var(--c-line);
	border: 1px solid var(--c-line);
}
.astunke-card {
	display: flex; flex-direction: column;
	background: var(--c-surface);
	overflow: hidden;
	position: relative;
	transition: background var(--dur) var(--easing);
}
.astunke-card:hover { background: var(--c-bg-2); }
.astunke-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	background: var(--c-surface);
	overflow: hidden;
}
/* No inner padding — supplier JPGs already ship with generous whitespace
   around the product, so adding more makes the bike look tiny inside the
   card. object-fit:contain still prevents cropping. */
.astunke-card__img {
	width: 100%; height: 100%; object-fit: contain;
	padding: 0;
	transition: transform 500ms var(--easing);
	mix-blend-mode: multiply;
}
.astunke-card:hover .astunke-card__img { transform: scale(1.06); }
.astunke-card__noimg {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	color: var(--c-ink-mute);
	opacity: .2;
}
.astunke-card__noimg svg { width: 48px; height: 48px; stroke-width: 1.4; }

.astunke-badge {
	position: absolute; top: var(--sp-3); left: var(--sp-3);
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .3rem .55rem;
	border-radius: var(--radius-sm);
	z-index: 2;
}
.astunke-badge--sale { background: var(--c-red); color: #fff; }
.astunke-badge--new  { background: var(--c-ink); color: var(--c-bg); }

.astunke-card__body { display: flex; flex-direction: column; gap: .4rem; padding: var(--sp-3) var(--sp-4) var(--sp-5); border-top: 1px solid var(--c-line); }
.astunke-card__brand {
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--c-ink-mute);
}
.astunke-card__title {
	font-size: var(--fs-sm);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -.005em;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	color: var(--c-ink);
}
.astunke-card__title a { transition: color var(--dur) var(--easing); }
.astunke-card__title a:hover { color: var(--c-red); }
.astunke-card__price {
	font-weight: 700;
	font-size: var(--fs-md);
	color: var(--c-ink);
	letter-spacing: -.018em;
	margin-top: .15rem;
}
.astunke-card__price del { color: var(--c-ink-mute); font-weight: 400; font-size: var(--fs-xs); margin-right: .35rem; }
.astunke-card__price ins { background: none; text-decoration: none; color: var(--c-red); font-weight: 700; }
.astunke-card__cta {
	margin-top: var(--sp-3);
}
.astunke-card__cta.astunke-btn {
	background: transparent;
	color: var(--c-ink);
	border: 1px solid var(--c-line-strong);
	padding: .55rem .85rem;
	font-size: var(--fs-xs);
	width: 100%;
	border-radius: var(--radius);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.astunke-card__cta.astunke-btn:hover { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-bg); }

/* ---------- STOCK PILL ---------- */
.astunke-stock {
	display: inline-flex; align-items: center; gap: .35rem;
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	width: fit-content;
}
.astunke-stock::before {
	content: ""; width: 6px; height: 6px; border-radius: 50%;
	background: currentColor;
}
.astunke-stock--good { color: var(--c-stock-in); }
.astunke-stock--low  { color: var(--c-stock-low); }
.astunke-stock--out  { color: var(--c-stock-out); }

/* ---------- WHY-US / TEAM CREDIBILITY BLOCK ---------- */
.astunke-why {
	background: var(--c-ink);
	color: var(--c-bg);
}
.astunke-why__head {
	max-width: 720px;
	margin-bottom: var(--sp-8);
}
.astunke-why__head h2 {
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	letter-spacing: -.04em;
	font-weight: 800;
}
.astunke-why__head h2 .accent { color: var(--c-red); }
.astunke-why__head p {
	color: rgba(255, 255, 255, .65);
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	margin-top: var(--sp-4);
	max-width: 56ch;
	line-height: 1.6;
}
.astunke-why__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-6);
}
.astunke-why__col {
	padding-top: var(--sp-5);
	border-top: 2px solid var(--c-red);
}
.astunke-why__col-num {
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .12em;
	color: var(--c-red);
	margin-bottom: var(--sp-3);
}
.astunke-why__col h3 {
	font-size: var(--fs-lg);
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--c-bg);
	margin-bottom: var(--sp-3);
}
.astunke-why__col p {
	color: rgba(255, 255, 255, .65);
	font-size: var(--fs-base);
	line-height: 1.6;
}

/* ---------- BRANDS STRIP — full-width sliding marquee ---------- */
.astunke-brands-wrap {
	background: var(--c-bg);
	border-block: 1px solid var(--c-line);
	padding-block: clamp(var(--sp-3), 2.2vw, var(--sp-5));
	/* No inner .astunke-container, the marquee owns the full viewport
	   width and clips itself via overflow:hidden. */
}

/* The marquee viewport — clips the track, fades the edges so logos
   appear/disappear instead of snapping at the container edge. */
.astunke-brands-marquee {
	position: relative;
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(to right,
		transparent 0,
		#000 clamp(48px, 7vw, 140px),
		#000 calc(100% - clamp(48px, 7vw, 140px)),
		transparent 100%);
	        mask-image: linear-gradient(to right,
		transparent 0,
		#000 clamp(48px, 7vw, 140px),
		#000 calc(100% - clamp(48px, 7vw, 140px)),
		transparent 100%);
}

/* The flex track is twice as wide as needed (PHP renders the brand list
   twice). The keyframe shifts it from 0 → -50% which lands on the start
   of the second copy, identical to the start of the first — seamless. */
.astunke-brands {
	display: flex;
	flex-wrap: nowrap;
	list-style: none;
	margin: 0; padding: 0;
	width: max-content;
	animation: astunke-brand-marquee 60s linear infinite;
	will-change: transform;
}
.astunke-brands-marquee:hover .astunke-brands,
.astunke-brands-marquee:focus-within .astunke-brands {
	animation-play-state: paused;
}
@keyframes astunke-brand-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.astunke-brands { animation: none; }
}

/* Each cell — same row height + same horizontal breathing space, so the
   strip reads as one calm baseline regardless of individual logo
   proportions. */
.astunke-brands li {
	flex: 0 0 auto;
	height: 88px;
	display: flex; align-items: center; justify-content: center;
	padding-inline: clamp(1.75rem, 3vw, 3rem);
}
.astunke-brands a {
	display: flex; align-items: center; justify-content: center;
	height: 100%;
	text-decoration: none;
	transition: opacity .35s ease, filter .35s ease, color .2s ease;
}

/* Logo cells: grayscale + slightly muted at rest, full color on hover.
   Bumped opacity from .55 → .65 — the previous default felt too faded. */
.astunke-brands li.has-logo a {
	opacity: .65;
	filter: grayscale(100%) contrast(.95);
}
.astunke-brands li.has-logo a:hover {
	opacity: 1;
	filter: none;
}

/* Every logo renders at the same pixel height by default. Width is auto
   so each keeps its native aspect ratio. */
.astunke-brands__logo {
	display: block;
	height: 38px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
}

/* Per-brand size compensation, source files with internal framing,
   subtitles, or emblems leave the actual wordmark much smaller than the
   raw image height suggests. */
.astunke-brands__logo[alt="Ortlieb" i]          { height: 60px; }
.astunke-brands__logo[alt="SKS" i]              { height: 64px; }
.astunke-brands__logo[alt="Enduro Bearings" i]  { height: 52px; }
.astunke-brands__logo[alt="KMC" i]              { height: 54px; }
.astunke-brands__logo[alt="CST" i]              { height: 48px; }
.astunke-brands__logo[alt="GripGrab" i]         { height: 42px; }
.astunke-brands__logo[alt="Corratec" i]         { height: 46px; }
.astunke-brands__logo[alt="Novatec" i]          { height: 44px; }

/* Very wide wordmarks dial down so they don't dominate horizontally. */
.astunke-brands__logo[alt="Schwalbe" i]         { height: 28px; max-width: 220px; }
.astunke-brands__logo[alt="Unior" i]            { height: 30px; max-width: 200px; }
.astunke-brands__logo[alt="Shimano" i]          { height: 36px; }
.astunke-brands__logo[alt="Jagwire" i]          { height: 34px; }
.astunke-brands__logo[alt="SunRace" i]          { height: 42px; }

/* Text fallback — visually weighted to sit cleanly next to logo cells. */
.astunke-brands li.is-text a {
	font: 700 15px/1 var(--f-sans, inherit);
	letter-spacing: .04em;
	color: var(--c-ink-mute);
	text-transform: uppercase;
	padding: 0 1.5rem;
}
.astunke-brands li.is-text a:hover { color: var(--c-red); }

@media (max-width: 640px) {
	.astunke-brands li { height: 56px; padding-inline: 1.25rem; }
	.astunke-brands__logo { height: 26px; max-width: 120px; }
	.astunke-brands__logo[alt="Ortlieb" i]         { height: 38px; }
	.astunke-brands__logo[alt="SKS" i]             { height: 40px; }
	.astunke-brands__logo[alt="Enduro Bearings" i] { height: 34px; }
	.astunke-brands__logo[alt="KMC" i]             { height: 34px; }
	.astunke-brands__logo[alt="CST" i]             { height: 32px; }
	.astunke-brands__logo[alt="Schwalbe" i]        { height: 22px; max-width: 170px; }
	.astunke-brands__logo[alt="Unior" i]           { height: 22px; max-width: 150px; }
	.astunke-brands { animation-duration: 42s; }
}

/* ---------- NEWSLETTER ---------- */
.astunke-newsletter {
	background: var(--c-ink);
	color: var(--c-bg);
	padding: clamp(2.5rem, 5vw, 4.5rem);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-7);
	align-items: center;
	border: 1px solid var(--c-ink-2);
}
.astunke-newsletter h2 {
	color: var(--c-bg);
	letter-spacing: -.035em;
	font-weight: 800;
}
.astunke-newsletter h2 .accent { color: var(--c-red); }
.astunke-newsletter p {
	color: rgba(255, 255, 255, .65);
	margin-top: var(--sp-3);
	max-width: 40ch;
}
.astunke-newsletter form {
	display: flex; gap: 0;
	border: 1px solid rgba(255, 255, 255, .2);
}
.astunke-newsletter input {
	flex: 1; border: none; background: transparent; outline: none;
	padding: 1rem 1.2rem;
	font-size: var(--fs-base);
	color: var(--c-bg);
}
.astunke-newsletter input::placeholder { color: rgba(255, 255, 255, .35); }
.astunke-newsletter .astunke-btn {
	border-radius: 0; border: none;
	border-left: 1px solid rgba(255, 255, 255, .2);
	background: var(--c-red);
	color: #fff;
}
.astunke-newsletter .astunke-btn:hover { background: var(--c-red-hover); color: #fff; }

/* ---------- BREADCRUMB ---------- */
.astunke-breadcrumb {
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	color: var(--c-ink-mute);
	margin-block: var(--sp-5);
	display: flex; gap: .35rem; flex-wrap: wrap;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.astunke-breadcrumb a { color: var(--c-ink-soft); }
.astunke-breadcrumb a:hover { color: var(--c-red); }
.astunke-breadcrumb .sep { color: var(--c-line-strong); }

/* ---------- SHOP LAYOUT ---------- */
.astunke-shop {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);   /* minmax(0,1fr) prevents column blow-out */
	gap: var(--sp-8);
	padding-block: var(--sp-6);
}
.astunke-shop > * { min-width: 0; }                 /* explicit fix for grid item overflow */
.astunke-shop__sidebar { min-width: 0; overflow: hidden; }
.astunke-shop__content { min-width: 0; }
/* Obsolete sidebar h4/ul/a rules removed in v1.4.0 — replaced by filter cards.
   Critical bug: the old `.astunke-shop__sidebar ul { display: grid }` had
   higher specificity than `.astunke-cat-node__children { display: none }`
   and forced every nested <ul hidden> to render visible. */
.astunke-shop__bar {
	display: flex; justify-content: space-between; align-items: center;
	gap: var(--sp-4);
	margin-bottom: var(--sp-5);
	padding-bottom: var(--sp-4);
	border-bottom: 2px solid var(--c-ink);
}
.astunke-shop__count { color: var(--c-ink-soft); font-size: var(--fs-sm); font-family: var(--f-mono); }

/* ---------- SINGLE PRODUCT ---------- */
.astunke-pdp {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: var(--sp-6);
	align-items: start;
}
.astunke-pdp__gallery {
	position: sticky; top: calc(var(--header-h) + var(--sp-3));
}
.astunke-pdp__gallery img { border-radius: 0; }
.astunke-pdp__brand {
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--c-red);
	font-weight: 600;
	margin-bottom: var(--sp-3);
}
.astunke-pdp h1 {
	font-size: clamp(1.875rem, 3.5vw, 2.75rem);
	margin-bottom: var(--sp-5);
	letter-spacing: -.035em;
	font-weight: 700;
}
.astunke-pdp__price {
	font-size: clamp(2rem, 3vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -.03em;
	margin-bottom: var(--sp-3);
	color: var(--c-ink);
}
.astunke-pdp__price del { color: var(--c-ink-mute); font-size: var(--fs-md); font-weight: 400; margin-right: var(--sp-3); }
.astunke-pdp__price ins { background: none; text-decoration: none; color: var(--c-red); }
.astunke-pdp__short {
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.65;
	margin-block: var(--sp-5);
}
.astunke-pdp__meta {
	display: grid; gap: .55rem;
	margin-block: var(--sp-5);
	padding-block: var(--sp-5);
	border-block: 1px solid var(--c-line);
	font-size: var(--fs-sm);
}
.astunke-pdp__meta dt {
	color: var(--c-ink-mute);
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 500;
}
.astunke-pdp__meta dd { margin: 0; font-weight: 500; }
.astunke-pdp__row { display: grid; grid-template-columns: 140px 1fr; gap: var(--sp-3); }

.astunke-pdp__form .quantity {
	display: inline-flex; align-items: stretch;
	border: 1px solid var(--c-ink);
	border-radius: var(--radius);
	overflow: hidden;
}
.astunke-pdp__form .quantity input.qty {
	width: 60px; text-align: center;
	border: none; outline: none; background: transparent;
	font: 700 var(--fs-base) var(--f-sans);
}
.astunke-pdp__buy {
	display: flex; gap: var(--sp-3);
	margin-block: var(--sp-5);
	align-items: stretch;
}
.astunke-pdp__buy .astunke-btn { flex: 1; min-height: 56px; border-radius: var(--radius); background: var(--c-red); border-color: var(--c-red); color: #fff; font-size: var(--fs-base); }
.astunke-pdp__buy .astunke-btn:hover { background: var(--c-red-hover); border-color: var(--c-red-hover); }

.astunke-pdp-trust {
	display: grid; gap: var(--sp-4);
	padding: var(--sp-5);
	background: var(--c-bg-2);
	border-left: 3px solid var(--c-red);
	margin-top: var(--sp-5);
}
.astunke-pdp-trust__row { display: flex; gap: var(--sp-3); align-items: flex-start; }
.astunke-pdp-trust__row svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--c-red); margin-top: 2px; stroke-width: 1.7; }
.astunke-pdp-trust__row strong { display: block; font-size: var(--fs-sm); font-weight: 600; }
.astunke-pdp-trust__row small { color: var(--c-ink-soft); font-size: var(--fs-xs); }

.astunke-sticky-buy {
	position: fixed; bottom: 0; left: 0; right: 0;
	background: var(--c-ink);
	color: var(--c-bg);
	padding: .75rem var(--gutter);
	display: none;
	z-index: 40;
	gap: var(--sp-3);
	align-items: center;
}
.astunke-sticky-buy__name { font-weight: 500; font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; }
.astunke-sticky-buy__price { font-weight: 700; font-size: var(--fs-base); }
.astunke-sticky-buy .astunke-btn { margin-left: auto; background: var(--c-red); border-color: var(--c-red); color: #fff; }

/* ---------- TABS ---------- */
.astunke-tabs {
	margin-block: var(--sp-7);
	padding-top: var(--sp-6);
	border-top: 2px solid var(--c-ink);
}
.woocommerce-tabs ul.tabs {
	display: flex; gap: var(--sp-6);
	border-bottom: 1px solid var(--c-line);
	margin: 0 0 var(--sp-6); padding: 0;
	list-style: none;
}
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: var(--sp-3) 0;
	font-family: var(--f-mono);
	font-weight: 600;
	font-size: var(--fs-xs);
	color: var(--c-ink-mute);
	border-bottom: 2px solid transparent;
	transition: color var(--dur) var(--easing), border-color var(--dur) var(--easing);
	text-transform: uppercase;
	letter-spacing: .1em;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--c-ink);
	border-bottom-color: var(--c-red);
}

/* ---------- FOOTER ---------- */
.astunke-footer {
	background: var(--c-ink);
	color: rgba(255, 255, 255, .65);
	padding-block: var(--sp-9) var(--sp-5);
	margin-top: 0;
	border-top: 4px solid var(--c-red);
}
.astunke-footer h4, .footer-widget__title {
	color: var(--c-bg);
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: var(--sp-4);
}
.astunke-footer a { color: rgba(255, 255, 255, .65); transition: color var(--dur) var(--easing); }
.astunke-footer a:hover { color: var(--c-red); }
.astunke-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr repeat(4, 1fr);
	gap: var(--sp-7);
	padding-bottom: var(--sp-8);
}
.astunke-footer__brand .astunke-logo { color: var(--c-bg); }
.astunke-footer__brand .astunke-logo__mark { color: var(--c-red); }
.astunke-footer__about { color: rgba(255, 255, 255, .55); font-size: var(--fs-sm); max-width: 36ch; margin-top: var(--sp-3); line-height: 1.65; }
.astunke-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; font-size: var(--fs-sm); }
.astunke-footer__payment { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-5); }
.astunke-footer__payment span {
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .35rem .7rem;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: var(--radius-sm);
	color: rgba(255, 255, 255, .55);
}
.astunke-footer__bottom {
	display: flex; justify-content: space-between; gap: var(--sp-4);
	padding-top: var(--sp-5);
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: var(--fs-xs);
	color: rgba(255, 255, 255, .4);
	flex-wrap: wrap;
	font-family: var(--f-mono);
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Agency credit — quieter than the main footer copy */
.astunke-footer__credit {
	display: inline-block;
	margin-left: .65rem;
	padding-left: .65rem;
	border-left: 1px solid rgba(255, 255, 255, .15);
	color: rgba(255, 255, 255, .35);
	text-transform: none;
	letter-spacing: 0;
}
.astunke-footer__credit a {
	color: rgba(255, 255, 255, .6);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	padding-bottom: 1px;
	transition: color .15s ease, border-color .15s ease;
}
.astunke-footer__credit a:hover {
	color: #fff;
	border-bottom-color: #fff;
}
@media (max-width: 600px) {
	.astunke-footer__credit {
		display: block;
		margin-left: 0;
		margin-top: .4rem;
		padding-left: 0;
		border-left: 0;
	}
}

/* ---------- MOBILE MENU ---------- */
.astunke-menu-toggle { display: none; }
.astunke-mobile-menu {
	display: none;
	position: fixed; inset: 0; z-index: 100;
	background: var(--c-ink);
	color: var(--c-bg);
	transform: translateX(-100%);
	transition: transform var(--dur) var(--easing);
	overflow-y: auto;
	overscroll-behavior: contain;
	display: flex;
	flex-direction: column;
}
.astunke-mobile-menu.is-open { transform: translateX(0); }

/* ---- Head: close, here-indicator, search ---- */
.astunke-mobile-menu__head {
	position: sticky; top: 0; z-index: 2;
	background: var(--c-ink);
	padding: var(--sp-5) var(--gutter) var(--sp-4);
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.astunke-mobile-menu__close {
	position: absolute; top: var(--sp-3); right: var(--sp-3);
	width: 44px; height: 44px;
	background: rgba(255,255,255,.08); border: none;
	color: var(--c-bg);
	border-radius: 999px;
	cursor: pointer;
	transition: background var(--dur) var(--easing);
}
.astunke-mobile-menu__close:hover { background: rgba(255,255,255,.16); }
.astunke-mobile-menu__here {
	display: flex; flex-direction: column; gap: 4px;
	margin-right: 56px; /* clear of the close button */
	margin-bottom: var(--sp-4);
}
.astunke-mobile-menu__here-label {
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
}
.astunke-mobile-menu__here-value {
	font: 700 var(--fs-md)/1.2 var(--f-sans);
	color: var(--c-bg);
	letter-spacing: -.015em;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.astunke-mobile-menu__search input,
.astunke-mobile-menu__search { width: 100%; }
.astunke-mobile-menu__search .astunke-search {
	background: rgba(255,255,255,.08);
	border-color: transparent;
	min-width: 0;
}

/* ---- Nav body ---- */
.astunke-mobile-menu__nav {
	flex: 1;
	padding: var(--sp-3) var(--gutter) var(--sp-6);
}
.astunke-mm-section + .astunke-mm-section {
	margin-top: var(--sp-5);
	padding-top: var(--sp-5);
	border-top: 1px solid rgba(255,255,255,.08);
}
.astunke-mm-section__title {
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin: 0 0 var(--sp-3);
}
.astunke-mm-list {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ---- Top-level items with chevron + expandable child list ---- */
.astunke-mm-item__row {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.astunke-mm-link {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	padding: var(--sp-4) 0;
	color: var(--c-bg);
	font: 600 var(--fs-md)/1.25 var(--f-sans);
	letter-spacing: -.01em;
	text-transform: none;
	min-height: 48px;
}
.astunke-mm-link:hover,
.astunke-mm-link:focus { color: var(--c-red); }
.astunke-mm-count {
	font: 500 11px/1 var(--f-mono);
	color: rgba(255,255,255,.45);
	background: rgba(255,255,255,.06);
	padding: 4px 8px;
	border-radius: 999px;
	flex-shrink: 0;
}
.astunke-mm-link--ghost {
	color: rgba(255,255,255,.7);
	font-weight: 500;
	font-size: var(--fs-sm);
	gap: var(--sp-2);
}
.astunke-mm-link--ghost svg { stroke-width: 2; }
.astunke-mm-link--mute { color: rgba(255,255,255,.5); font-size: var(--fs-sm); font-weight: 500; }

/* ---- Toggle chevron (only present when item has children) ---- */
.astunke-mm-toggle {
	width: 48px;
	background: transparent;
	border: 0; border-left: 1px solid rgba(255,255,255,.06);
	color: rgba(255,255,255,.55);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--dur) var(--easing), color var(--dur) var(--easing);
}
.astunke-mm-toggle svg { transition: transform var(--dur) var(--easing); }
.astunke-mm-toggle:hover { color: var(--c-bg); }
.astunke-mm-toggle.is-open svg { transform: rotate(180deg); }

/* ---- Sub-categories list ---- */
.astunke-mm-sub {
	list-style: none;
	margin: 0;
	padding: var(--sp-2) 0 var(--sp-3) var(--sp-4);
	border-left: 2px solid rgba(255,255,255,.08);
	margin-left: var(--sp-3);
	display: flex;
	flex-direction: column;
}
.astunke-mm-sub[hidden] { display: none; }
.astunke-mm-subitem a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--sp-3);
	padding: 10px 0;
	color: rgba(255,255,255,.7);
	font: 500 var(--fs-base)/1.25 var(--f-sans);
	min-height: 40px;
}
.astunke-mm-subitem a:hover { color: var(--c-red); }
.astunke-mm-subitem.is-active a { color: var(--c-bg); }
.astunke-mm-subitem.is-active a::before {
	content: '';
	width: 3px; height: 16px;
	background: var(--c-red);
	margin-left: calc(-1 * var(--sp-4) - 2px);
	margin-right: calc(var(--sp-4) - 1px);
}

/* ---- Active state on top-level item ---- */
.astunke-mm-item.is-active > .astunke-mm-item__row { background: rgba(220,38,38,.08); }
.astunke-mm-item.is-active > .astunke-mm-item__row .astunke-mm-link { color: var(--c-bg); padding-left: var(--sp-3); position: relative; }
.astunke-mm-item.is-active > .astunke-mm-item__row .astunke-mm-link::before {
	content: '';
	position: absolute;
	left: 0; top: 12px; bottom: 12px;
	width: 3px;
	background: var(--c-red);
}

/* ---- "Visos prekės" ghost link at the bottom of categories ---- */
.astunke-mm-item--all {
	margin-top: var(--sp-3);
	border-top: 1px solid rgba(255,255,255,.06);
	padding-top: var(--sp-2);
}
.astunke-mm-item--all .astunke-mm-link { padding-block: var(--sp-3); }

/* ---- Flat lists (Paslaugos / Informacija / Paskyra) ---- */
.astunke-mm-list--flat .astunke-mm-link {
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.astunke-mm-list--flat li:last-child .astunke-mm-link { border-bottom: 0; }
.astunke-mm-user {
	padding: var(--sp-3) 0;
	color: rgba(255,255,255,.85);
	font-size: var(--fs-base);
	border-bottom: 1px solid rgba(255,255,255,.06);
}

/* ---- Sticky contact strip at the bottom ---- */
.astunke-mobile-menu__foot {
	position: sticky; bottom: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: rgba(255,255,255,.08);
	padding: 1px;
	margin-top: auto;
}
.astunke-mm-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-2);
	background: var(--c-ink);
	color: var(--c-bg);
	padding: var(--sp-4) var(--sp-3);
	font: 600 var(--fs-sm)/1 var(--f-sans);
	letter-spacing: .01em;
	text-decoration: none;
	min-height: 56px;
	transition: background var(--dur) var(--easing);
}
.astunke-mm-contact:hover { background: rgba(255,255,255,.08); color: #fff; }
.astunke-mm-contact--phone svg { color: var(--c-red); }
.astunke-mm-contact--wa svg    { color: #25D366; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
	.astunke-hero__inner { grid-template-columns: 1fr; gap: var(--sp-7); }
	.astunke-hero__visual { max-height: 420px; order: -1; }
	.astunke-cat-grid { grid-template-columns: repeat(2, 1fr); }
	.astunke-trust__inner { grid-template-columns: repeat(2, 1fr); }
	.astunke-trust__item:nth-child(2) { border-right: none; }
	.astunke-trust__item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08); }
	.astunke-trust__item:nth-child(1), .astunke-trust__item:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.08); }
	.astunke-why__grid { grid-template-columns: 1fr; gap: var(--sp-5); }
}
@media (max-width: 1024px) {
	.astunke-pdp { grid-template-columns: 1fr; }
	.astunke-pdp__gallery { position: static; }
	.astunke-footer__grid { grid-template-columns: 1fr 1fr; }
	.astunke-shop { grid-template-columns: 1fr; }
	/* Keep the filter toggle at the TOP on mobile (was order:2, which buried it
	   below the whole product grid → looked like no filter button existed). */
	.astunke-shop__sidebar { order: 0; }
	.astunke-usp__grid { grid-template-columns: 1fr 1fr; }
	.astunke-usp__item { border-right: none; border-bottom: 1px solid var(--c-line); }
	.astunke-usp__item:nth-child(3), .astunke-usp__item:nth-child(4) { border-bottom: none; }
	.astunke-newsletter { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.astunke-header__inner { grid-template-columns: auto auto; gap: var(--sp-3); }
	.astunke-search { display: none; }
	.astunke-mainnav { display: none; }
	.astunke-menu-toggle {
		display: inline-flex; align-items: center; justify-content: center;
		width: 40px; height: 40px;
		background: transparent; border: none; border-radius: var(--radius);
		color: var(--c-bg);
	}
	.astunke-menu-toggle:hover { background: rgba(255,255,255,.08); }
	.astunke-mobile-menu { display: block; }

	.astunke-topbar__contact { display: none; }
	.astunke-topbar__messages { font-size: 10px; }
	.astunke-topbar__messages li:nth-child(2) { display: none; }

	.astunke-usp__grid { grid-template-columns: 1fr; }
	.astunke-usp__item { border-bottom: 1px solid var(--c-line); }
	.astunke-usp__item:last-child { border-bottom: none; }

	.astunke-trust__inner { grid-template-columns: 1fr; }
	.astunke-trust__item { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.08); }
	.astunke-trust__item:last-child { border-bottom: none; }

	.astunke-product-grid { grid-template-columns: repeat(2, 1fr); }
	.astunke-cat-grid { grid-template-columns: 1fr; }
	.astunke-footer__grid { grid-template-columns: 1fr; gap: var(--sp-6); }
	.astunke-card__title { -webkit-line-clamp: 2; }
	.astunke-card__body { padding: var(--sp-3); }
	.astunke-section-head { flex-direction: column; align-items: flex-start; }

	.astunke-sticky-buy { display: flex; }
	body.single-product { padding-bottom: 90px; }

	/* ---- Mobile category sidebar: premium breathing room ---- */
	.astunke-shop {
		gap: var(--sp-6);
		padding-block: var(--sp-4);
	}
	.astunke-shop__sidebar {
		padding-inline: var(--sp-5);    /* 1.5rem — proper edge spacing */
		padding-block: var(--sp-4);
		background: var(--c-surface);
		border-radius: var(--radius);
		border: 1px solid var(--c-line);
	}
	.astunke-shop__sidebar h4 {
		padding-block: var(--sp-3);
		font-size: var(--fs-xs);
		letter-spacing: .16em;
	}
	.astunke-cat-tree { font-size: var(--fs-md); }
	.astunke-cat-node__row { gap: var(--sp-3); }
	.astunke-cat-node__link { padding: 1.1rem .25rem; }
	.astunke-cat-tree .depth-0 > .astunke-cat-node__row .astunke-cat-node__link {
		padding-block: 1.15rem;
		font-size: var(--fs-md);
	}
	.astunke-cat-tree .depth-1 > .astunke-cat-node__row .astunke-cat-node__link {
		padding-left: 2.25rem;
		font-size: var(--fs-base);
	}
	.astunke-cat-tree .depth-1 > .astunke-cat-node__row .astunke-cat-node__link::before {
		left: 1rem;
		width: 12px;
		background: var(--c-line-strong);
	}
	.astunke-cat-tree .depth-2 > .astunke-cat-node__row .astunke-cat-node__link {
		padding-left: 3.5rem;
		font-size: var(--fs-sm);
	}
	.astunke-cat-tree .depth-2 > .astunke-cat-node__row .astunke-cat-node__link::before {
		left: 2.25rem;
	}
	.astunke-cat-node__toggle {
		width: 44px; height: 44px;                       /* iOS touch target */
		margin-right: 0;
	}
	.astunke-cat-node__count {
		font-size: var(--fs-sm);
		padding-right: .4rem;
	}
	.astunke-cat-tree .is-current > .astunke-cat-node__row {
		border-left-width: 3px;
	}
}

/* ---------- WOOCOMMERCE OVERRIDES ---------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border: 1px solid var(--c-line);
	border-left: 3px solid var(--c-red);
	background: var(--c-surface);
	border-radius: 0;
	padding: var(--sp-4);
}
.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex; gap: 0; list-style: none; padding: 0; margin: var(--sp-7) 0; border: none;
}
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid; place-items: center;
	min-width: 42px; height: 42px;
	border: 1px solid var(--c-line);
	margin-left: -1px;
	background: transparent;
	font-weight: 600;
	font-size: var(--fs-sm);
	padding: 0 .8rem;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--c-ink); color: var(--c-bg); border-color: var(--c-ink);
	z-index: 1;
}
.quantity input.qty {
	border: 1px solid var(--c-line-strong);
	border-radius: var(--radius);
	padding: .6rem 1rem;
	width: 70px;
	text-align: center;
	background: transparent;
	font: 600 var(--fs-base) var(--f-sans);
}
.astunke-shop input[type="search"],
.astunke-shop input[type="text"],
.astunke-shop select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--c-line-strong);
	border-radius: var(--radius);
	padding: .7rem .9rem;
	background: var(--c-surface);
	width: 100%;
	font-family: inherit;
	font-size: var(--fs-sm);
}
.woocommerce form .form-row label { font-weight: 500; font-size: var(--fs-sm); }
.woocommerce-result-count,
.woocommerce-ordering select { font-size: var(--fs-sm); }
.woocommerce-ordering select {
	background: var(--c-surface);
	border: 1px solid var(--c-line-strong);
	border-radius: var(--radius);
	padding: .55rem .9rem;
	font-weight: 500;
	cursor: pointer;
}

/* =====================================================
   v4.1 ADDITIONS
   ===================================================== */

/* ---------- Hero CTA via Customizer ---------- */
.astunke-btn--hero-primary {
	background: var(--astunke-cta-bg, var(--c-red));
	border-color: var(--astunke-cta-bg, var(--c-red));
	color: var(--astunke-cta-text, #fff);
}
.astunke-btn--hero-primary:hover {
	filter: brightness(.9);
	background: var(--astunke-cta-bg, var(--c-red));
	border-color: var(--astunke-cta-bg, var(--c-red));
	color: var(--astunke-cta-text, #fff);
}

/* ---------- Service CTA in nav ---------- */
.astunke-nav-service {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem .9rem;
	background: var(--c-red);
	color: #fff !important;
	font-weight: 600;
	font-size: var(--fs-xs);
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: var(--radius);
	border: 1px solid var(--c-red);
	transition: background var(--dur) var(--easing);
}
.astunke-nav-service:hover { background: var(--c-red-hover); color: #fff !important; }
.astunke-nav-service::after { content: none !important; }
.astunke-nav-service svg { width: 14px; height: 14px; }

/* ---------- SALE / OUTLET SECTION ---------- */
.astunke-sale-section {
	background: var(--c-ink);
	color: var(--c-bg);
	overflow: hidden;
	position: relative;
}
.astunke-sale-section::before {
	content: "OUTLET · AKCIJOS · OUTLET · AKCIJOS · OUTLET · AKCIJOS · OUTLET · AKCIJOS ·";
	position: absolute;
	top: var(--sp-5);
	left: 0; right: 0;
	font-family: var(--f-sans);
	font-weight: 800;
	font-size: clamp(2.5rem, 8vw, 6rem);
	color: transparent;
	-webkit-text-stroke: 1px rgba(220, 38, 38, .25);
	letter-spacing: -.04em;
	white-space: nowrap;
	pointer-events: none;
	overflow: hidden;
	opacity: .6;
}
.astunke-sale-section .astunke-container { position: relative; z-index: 1; }
.astunke-sale-section .astunke-section-head {
	border-bottom-color: rgba(255, 255, 255, .15);
	margin-top: var(--sp-7);
}
.astunke-sale-section .astunke-section-head__eyebrow {
	color: var(--c-red);
	font-weight: 700;
	letter-spacing: .25em;
}
.astunke-sale-section .astunke-section-head__title h2 { color: var(--c-bg); }
.astunke-sale-section .astunke-section-head__link { color: var(--c-bg); border-bottom-color: var(--c-bg); }
.astunke-sale-section .astunke-section-head__link:hover { color: var(--c-red); border-bottom-color: var(--c-red); }
.astunke-sale-section .astunke-product-grid { background: rgba(255, 255, 255, .12); border: none; }
.astunke-sale-section .astunke-card { background: var(--c-ink); color: var(--c-bg); }
.astunke-sale-section .astunke-card:hover { background: #141414; }
.astunke-sale-section .astunke-card__body { border-top-color: rgba(255, 255, 255, .08); }
.astunke-sale-section .astunke-card__title { color: var(--c-bg); }
.astunke-sale-section .astunke-card__title a:hover { color: var(--c-red); }
.astunke-sale-section .astunke-card__price { color: var(--c-bg); }
.astunke-sale-section .astunke-card__price ins { color: var(--c-red); }
.astunke-sale-section .astunke-card__price del { color: rgba(255, 255, 255, .4); }
.astunke-sale-section .astunke-card__brand { color: rgba(255, 255, 255, .5); }
.astunke-sale-section .astunke-card__img { mix-blend-mode: normal; }
.astunke-sale-section .astunke-card__cta.astunke-btn {
	background: transparent;
	color: var(--c-bg);
	border-color: rgba(255, 255, 255, .2);
}
.astunke-sale-section .astunke-card__cta.astunke-btn:hover {
	background: var(--c-red);
	border-color: var(--c-red);
	color: #fff;
}

/* ---------- SERVICE SECTION ---------- */
.astunke-service {
	background: var(--c-bg);
	border-top: 1px solid var(--c-line);
}
.astunke-service__inner {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.astunke-service__copy { max-width: 540px; }
.astunke-service__eyebrow {
	display: block;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--c-red);
	margin-bottom: var(--sp-5);
}
.astunke-service h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	letter-spacing: -.038em;
	font-weight: 800;
}
.astunke-service__lead {
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	color: var(--c-ink-soft);
	margin-block: var(--sp-5);
	line-height: 1.65;
}
.astunke-service__features {
	display: grid; gap: var(--sp-3);
	margin-block: var(--sp-6);
	list-style: none; padding: 0;
}
.astunke-service__features li {
	display: flex; align-items: center; gap: var(--sp-3);
	font-size: var(--fs-sm);
	color: var(--c-ink);
}
.astunke-service__features li::before {
	content: ""; flex-shrink: 0;
	width: 18px; height: 18px;
	background: var(--c-red);
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/14px no-repeat;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/14px no-repeat;
	background-color: var(--c-red);
}
.astunke-service__visual {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, #1a1a1a, var(--c-ink));
	position: relative;
	overflow: hidden;
	border: 1px solid var(--c-line);
}
.astunke-service__visual::before {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(circle at 70% 30%, rgba(220, 38, 38, .2), transparent 60%);
}
.astunke-service__visual-icon {
	position: absolute; inset: 0;
	display: grid; place-items: center;
	color: rgba(255, 255, 255, .35);
}
.astunke-service__visual-icon svg { width: 35%; max-width: 200px; height: auto; }

/* ---------- POLISHED PDP CART BUTTON ---------- */
.astunke-pdp__form { display: flex; gap: var(--sp-3); align-items: stretch; flex-wrap: wrap; margin-top: var(--sp-5); }
.astunke-pdp__form .quantity { height: 56px; }
.astunke-pdp__form .quantity input.qty { width: 72px; font-size: var(--fs-md); }
.astunke-pdp__form .single_add_to_cart_button,
.astunke-pdp__form button.single_add_to_cart_button {
	flex: 1;
	min-width: 240px;
	min-height: 56px;
	padding: 0 var(--sp-6);
	background: var(--c-red);
	color: #fff;
	border: 1px solid var(--c-red);
	border-radius: var(--radius);
	font-family: var(--f-sans);
	font-weight: 700;
	font-size: var(--fs-base);
	letter-spacing: .04em;
	text-transform: uppercase;
	display: inline-flex; align-items: center; justify-content: center;
	gap: .65rem;
	cursor: pointer;
	transition: background var(--dur) var(--easing), transform var(--dur) var(--easing);
	position: relative;
	overflow: hidden;
}
.astunke-pdp__form .single_add_to_cart_button::before {
	content: "";
	display: inline-block;
	width: 18px; height: 18px;
	background-color: currentColor;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>") center/contain no-repeat;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>") center/contain no-repeat;
	transition: transform var(--dur) var(--easing);
}
.astunke-pdp__form .single_add_to_cart_button:hover {
	background: var(--c-red-hover);
	border-color: var(--c-red-hover);
}
.astunke-pdp__form .single_add_to_cart_button:hover::before { transform: translateY(-2px); }
.astunke-pdp__form .single_add_to_cart_button:active { transform: translateY(1px); }

/* ---------- PDP SPECS TABLE ---------- */
.astunke-pdp-specs {
	margin-block: var(--sp-7);
	border-top: 2px solid var(--c-ink);
	padding-top: var(--sp-6);
}
.astunke-pdp-specs h3 {
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--c-red);
	margin-bottom: var(--sp-4);
}
.astunke-pdp-specs table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--c-line);
}
.astunke-pdp-specs tr { border-bottom: 1px solid var(--c-line); }
.astunke-pdp-specs tr:last-child { border-bottom: none; }
.astunke-pdp-specs tr:nth-child(odd) { background: var(--c-bg-2); }
.astunke-pdp-specs th,
.astunke-pdp-specs td {
	padding: .7rem 1rem;
	text-align: left;
	font-size: var(--fs-sm);
	vertical-align: top;
}
.astunke-pdp-specs th {
	color: var(--c-ink-soft);
	font-weight: 500;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	letter-spacing: .06em;
	text-transform: uppercase;
	width: 38%;
}
.astunke-pdp-specs td { font-weight: 500; color: var(--c-ink); }
.astunke-pdp-specs__empty {
	padding: var(--sp-5);
	background: var(--c-bg-2);
	font-size: var(--fs-sm);
	color: var(--c-ink-soft);
	border: 1px dashed var(--c-line-strong);
}

/* ---------- EXPANDED BADGE VARIANTS ---------- */
.astunke-badge--top      { background: var(--c-red); color: #fff; }
.astunke-badge--ready    { background: var(--c-stock-in); color: #fff; }
.astunke-badge--low      { background: var(--c-stock-low); color: #fff; }
.astunke-badge--backorder{ background: #525252; color: #fff; }
.astunke-badge--outlet   { background: #1a1a1a; color: #fff; border: 1px solid #d4af37; letter-spacing: .14em; }
.astunke-card__badges {
	position: absolute; top: var(--sp-3); left: var(--sp-3);
	display: flex; flex-direction: column; gap: .3rem;
	z-index: 2;
}
.astunke-card__badges .astunke-badge { position: static; }

/* ---------- HIERARCHICAL CATEGORY TREE (sidebar) ---------- */
.astunke-cat-tree {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--sp-7);
	font-size: var(--fs-sm);
}
.astunke-cat-tree li { margin: 0; list-style: none; }
.astunke-cat-tree ul { list-style: none; padding: 0; margin: 0; }

.astunke-cat-node__row {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	border-left: 2px solid transparent;
	transition: background var(--dur) var(--easing);
}
.astunke-cat-node__row:hover { background: var(--c-bg-2); }
.astunke-cat-node__link {
	flex: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--sp-3);
	padding: .5rem .5rem;
	color: var(--c-ink-soft);
	line-height: 1.3;
	transition: color var(--dur) var(--easing);
	min-width: 0;
}
.astunke-cat-node__link:hover { color: var(--c-ink); }
.astunke-cat-node__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.astunke-cat-node__count {
	color: var(--c-ink-mute);
	font-size: var(--fs-xs);
	font-family: var(--f-mono);
	font-weight: 500;
	flex-shrink: 0;
	letter-spacing: .02em;
}

.astunke-cat-node__toggle {
	width: 28px; height: 28px;
	background: transparent;
	border: none;
	color: var(--c-ink-mute);
	display: grid; place-items: center;
	cursor: pointer;
	border-radius: 50%;
	flex-shrink: 0;
	margin-right: .25rem;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
.astunke-cat-node__toggle:hover {
	background: var(--c-bg-3);
	color: var(--c-ink);
}
.astunke-cat-node__toggle svg {
	transition: transform var(--dur) var(--easing);
}
.astunke-cat-node.is-open > .astunke-cat-node__row .astunke-cat-node__toggle svg {
	transform: rotate(180deg);
}

/* Children — hidden by default, shown when parent is .is-open */
.astunke-cat-node__children {
	display: none;
}
.astunke-cat-node.is-open > .astunke-cat-node__children {
	display: block;
}

/* Depth 0 — top-level parent (bold, prominent) */
.astunke-cat-tree .depth-0 > .astunke-cat-node__row .astunke-cat-node__link {
	font-weight: 600;
	color: var(--c-ink);
	padding-block: .55rem;
}
.astunke-cat-tree > li.depth-0 > .astunke-cat-node__row {
	border-bottom: 1px solid var(--c-line);
}
.astunke-cat-tree > li.depth-0:first-child > .astunke-cat-node__row {
	border-top: 1px solid var(--c-line);
}

/* Depth 1 — direct children, indented with hairline guide */
.astunke-cat-tree .depth-1 > .astunke-cat-node__row .astunke-cat-node__link {
	padding-left: 1.25rem;
	font-size: var(--fs-sm);
	color: var(--c-ink-soft);
	position: relative;
}
.astunke-cat-tree .depth-1 > .astunke-cat-node__row .astunke-cat-node__link::before {
	content: "";
	position: absolute;
	left: .5rem; top: 50%;
	width: 8px; height: 1px;
	background: var(--c-line-strong);
	transform: translateY(-50%);
}

/* Depth 2 — grandchildren, deeper indent + smaller */
.astunke-cat-tree .depth-2 > .astunke-cat-node__row .astunke-cat-node__link {
	padding-left: 2.4rem;
	font-size: var(--fs-xs);
	color: var(--c-ink-mute);
	position: relative;
}
.astunke-cat-tree .depth-2 > .astunke-cat-node__row .astunke-cat-node__link::before {
	content: "";
	position: absolute;
	left: 1.7rem; top: 50%;
	width: 6px; height: 1px;
	background: var(--c-line);
	transform: translateY(-50%);
}

/* Current term — red bar on the left, bold */
.astunke-cat-tree .is-current > .astunke-cat-node__row {
	border-left-color: var(--c-red);
	background: var(--c-bg-2);
}
.astunke-cat-tree .is-current > .astunke-cat-node__row .astunke-cat-node__link {
	color: var(--c-ink);
	font-weight: 700;
}
/* Active ancestor branch — keep ink color */
.astunke-cat-tree .is-in-branch:not(.is-current) > .astunke-cat-node__row .astunke-cat-node__link {
	color: var(--c-ink);
}

/* ---------- EMPTY PLP STATE ---------- */
.astunke-shop__empty {
	padding: clamp(2rem, 4vw, 3rem) var(--sp-5);
	text-align: center;
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	background: var(--c-bg-2);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	margin-bottom: var(--sp-5);
}
.astunke-empty-shop__help {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) auto;
	gap: var(--sp-5);
	align-items: center;
	padding: var(--sp-6);
	background: var(--c-ink);
	color: var(--c-bg);
	max-width: 100%;
	box-sizing: border-box;
}
.astunke-empty-shop__help > * { min-width: 0; }
.astunke-empty-shop__help .astunke-section-head__eyebrow { color: var(--c-red); }
.astunke-empty-shop__help h3 {
	font-size: var(--fs-xl);
	font-weight: 700;
	margin: .35rem 0 .45rem;
	letter-spacing: -.02em;
	color: var(--c-bg);
}
.astunke-empty-shop__help p {
	color: rgba(255, 255, 255, .7);
	font-size: var(--fs-sm);
	max-width: 56ch;
	line-height: 1.55;
}
@media (max-width: 768px) {
	.astunke-empty-shop__help { grid-template-columns: 1fr; }
}

/* ---------- RENTAL / FLEET ---------- */
.astunke-fleet {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: var(--c-line);
	border: 1px solid var(--c-line);
}
.astunke-fleet-card {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	background: var(--c-surface);
	overflow: hidden;
}
.astunke-fleet-card__media {
	aspect-ratio: 1 / 1;
	background: var(--c-bg-2);
	display: grid; place-items: center;
	overflow: hidden;
	border-right: 1px solid var(--c-line);
	position: relative;
}
/* mix-blend-mode:multiply makes near-white source pixels merge with the
   cell background. Without it, supplier JPGs that ship with a subtle
   off-white tint (e.g. ENGWE M1) render as a visible lighter square
   inside the grey cell while transparent-or-grey-matching sources
   (e.g. ENGWE M20) blend cleanly — inconsistent look across the fleet. */
.astunke-fleet-card__media img {
	width: 100%; height: 100%; object-fit: contain;
	padding: var(--sp-5);
	mix-blend-mode: multiply;
}
.astunke-fleet-card__placeholder {
	color: var(--c-ink-mute);
	opacity: .3;
}
.astunke-fleet-card__placeholder svg { width: 60%; max-width: 220px; height: auto; }
.astunke-fleet-card__body {
	display: flex; flex-direction: column; gap: var(--sp-4);
	padding: var(--sp-5);
}
.astunke-fleet-card__head { padding-bottom: var(--sp-3); border-bottom: 1px solid var(--c-line); }
.astunke-fleet-card__name {
	font-family: var(--f-sans);
	font-weight: 800;
	font-size: clamp(1.375rem, 2.2vw, 1.875rem);
	letter-spacing: -.03em;
	margin: .35rem 0 .25rem;
	line-height: 1;
}
.astunke-fleet-card__tagline {
	color: var(--c-ink-soft);
	font-size: var(--fs-sm);
	margin: 0;
}
.astunke-fleet-card__specs {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
}
.astunke-fleet-card__specs tr { border-bottom: 1px solid var(--c-line); }
.astunke-fleet-card__specs tr:last-child { border-bottom: none; }
.astunke-fleet-card__specs th, .astunke-fleet-card__specs td { padding: .55rem 0; text-align: left; vertical-align: top; }
.astunke-fleet-card__specs th {
	color: var(--c-ink-mute);
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	width: 55%;
	padding-right: var(--sp-3);
}
.astunke-fleet-card__specs td { font-weight: 500; color: var(--c-ink); text-align: right; }
.astunke-fleet-card__prices {
	display: grid; grid-template-columns: 1fr 1fr;
	border: 1px solid var(--c-ink);
	margin-top: auto;
}
.astunke-fleet-card__price {
	padding: var(--sp-3);
	display: flex; flex-direction: column; gap: .15rem;
	border-right: 1px solid var(--c-ink);
}
.astunke-fleet-card__price:last-child { border-right: none; }
.astunke-fleet-card__price-label {
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-fleet-card__price-value {
	font-family: var(--f-sans);
	font-weight: 700;
	font-size: var(--fs-xl);
	letter-spacing: -.02em;
}
.astunke-fleet-card__price-value small {
	font-family: var(--f-mono);
	font-weight: 500;
	font-size: var(--fs-xs);
	letter-spacing: .04em;
	color: var(--c-ink-soft);
	margin-left: .2rem;
}

/* ---------- RESPONSIVE additions ---------- */
@media (max-width: 1024px) {
	.astunke-service__inner { grid-template-columns: 1fr; }
	.astunke-fleet { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.astunke-pdp__form { flex-direction: column; }
	.astunke-pdp__form .quantity { width: 100%; }
	.astunke-pdp__form .single_add_to_cart_button { width: 100%; min-width: 0; }
	.astunke-pdp-specs th, .astunke-pdp-specs td { padding: .55rem .75rem; }
	.astunke-pdp-specs th { width: 45%; }
	.astunke-fleet-card { grid-template-columns: 1fr; }
	.astunke-fleet-card__media { aspect-ratio: 4 / 3; border-right: none; border-bottom: 1px solid var(--c-line); }
	#nuoma-forma .astunke-container { grid-template-columns: 1fr !important; }
}

/* ========================================================================
   v1.3 — header polish, side cart, qty stepper, gallery nav, AJAX search
   ======================================================================== */

/* ---- Header nav CTAs (NUOMA + SERVISAS share style) ---- */
.astunke-nav-cta {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .55rem 1rem; border-radius: 999px;
	font-family: var(--f-mono); font-size: var(--fs-xs); font-weight: 700;
	text-transform: uppercase; letter-spacing: .12em; line-height: 1;
	text-decoration: none; white-space: nowrap;
	border: 1.5px solid transparent;
	transition: transform .12s ease, background .15s ease, color .15s ease;
}
.astunke-nav-cta--service { background: var(--c-red); color: #fff; border-color: var(--c-red); }
.astunke-nav-cta--service:hover { background: #b81b1d; border-color: #b81b1d; transform: translateY(-1px); }
.astunke-nav-cta--rent    { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.astunke-nav-cta--rent:hover    { background: #1f2937; border-color: #1f2937; transform: translateY(-1px); }
.astunke-nav-cta--outlet  { background: #1a1a1a; color: #fff; border-color: #d4af37; }
.astunke-nav-cta--outlet:hover  { background: #d4af37; color: #1a1a1a; border-color: #d4af37; transform: translateY(-1px); }
.astunke-nav-cta svg { flex-shrink: 0; }

/* Backwards-compat: keep old class working in case other templates reference it */
.astunke-nav-service { display: inline-flex; align-items: center; gap: .5rem;
	padding: .55rem 1rem; border-radius: 999px; background: var(--c-red); color: #fff;
	font: 700 var(--fs-xs)/1 var(--f-mono); text-transform: uppercase; letter-spacing: .12em;
	text-decoration: none; }
.astunke-nav-service:hover { background: #b81b1d; }

/* ---- Header icon buttons (account, cart) ---- */
.astunke-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	position: relative;
	width: 44px; height: 44px;
	background: transparent; border: 1.5px solid var(--c-line, #e5e2dd);
	border-radius: 999px;
	color: var(--c-ink); cursor: pointer;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
	text-decoration: none;
}
.astunke-icon-btn:hover { border-color: var(--c-ink); color: var(--c-red); }
.astunke-cart-link .astunke-cart-count {
	position: absolute; top: -4px; right: -4px;
	background: var(--c-red); color: #fff;
	font: 700 10px/1 var(--f-mono);
	min-width: 18px; height: 18px; border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 5px;
}
.astunke-cart-link .astunke-cart-count[data-count="0"] { display: none; }

/* ---- Header layout cleanup ---- */
.astunke-header__actions { gap: .5rem; }
.astunke-mainnav a { white-space: nowrap; }

/* ---- AJAX search dropdown ---- */
.astunke-search-wrap { position: relative; flex: 1; min-width: 0; }
.astunke-search-results {
	position: absolute; top: calc(100% + 6px); left: 0; right: 0;
	background: #fff; border: 1px solid var(--c-line);
	border-radius: 14px;
	box-shadow: 0 30px 60px -20px rgba(15,23,42,.25);
	max-height: 70vh; overflow-y: auto;
	z-index: 90;
	padding: .5rem;
}
.astunke-search-results[hidden] { display: none; }
.astunke-search-result {
	display: flex; align-items: center; gap: .75rem;
	padding: .55rem .65rem; border-radius: 10px;
	text-decoration: none; color: var(--c-ink);
	transition: background .12s ease;
}
.astunke-search-result:hover { background: var(--c-paper, #f7f5f1); }
.astunke-search-result__img { width: 48px; height: 48px; flex-shrink: 0;
	background: var(--c-paper, #f7f5f1); border-radius: 8px; object-fit: contain; }
.astunke-search-result__body { flex: 1 1 auto; min-width: 0; }
.astunke-search-result__title { font: 600 14px/1.3 var(--f-sans, inherit); margin: 0 0 .15rem; overflow: hidden;
	text-overflow: ellipsis; white-space: nowrap; }
.astunke-search-result__meta { font: 400 12px/1 var(--f-sans, inherit); color: var(--c-ink-soft); overflow: hidden;
	text-overflow: ellipsis; white-space: nowrap; }
.astunke-search-result__price {
	flex-shrink: 0;
	max-width: 9rem;
	font: 700 13px/1.2 var(--f-sans, inherit);
	color: var(--c-ink);
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.astunke-search-results__hint,
.astunke-search-results__empty {
	padding: 1rem; text-align: center;
	color: var(--c-ink-soft); font-size: 13px;
}
.astunke-search-results__more {
	display: block; text-align: center; padding: .75rem;
	font: 700 12px/1 var(--f-mono); letter-spacing: .14em; text-transform: uppercase;
	color: var(--c-red); border-top: 1px solid var(--c-line); margin-top: .25rem;
	text-decoration: none;
}

/* ---- PDP: qty +/- stepper aligned with add-to-cart ---- */
.astunke-pdp__form form.cart {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: .65rem;
	margin: 0;
}
/* Hide WC's default label like "Liko 5" / "Kiekis" injected adjacent to the input */
.astunke-pdp__form .quantity > label,
.astunke-pdp__form .quantity .screen-reader-text,
.astunke-pdp__form .quantity .stock {
	position: absolute !important; clip: rect(1px,1px,1px,1px) !important; width: 1px !important; height: 1px !important; overflow: hidden !important;
}
.astunke-pdp__form .quantity { display: contents; }

.astunke-qty {
	display: inline-flex; align-items: center;
	border: 1.5px solid var(--c-line); border-radius: 999px;
	background: #fff; overflow: hidden;
	height: 48px;
}
.astunke-qty__btn {
	background: transparent; border: 0; cursor: pointer;
	width: 38px; height: 100%;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--c-ink);
	transition: background .12s ease;
}
.astunke-qty__btn:hover:not(:disabled) { background: var(--c-paper, #f7f5f1); color: var(--c-red); }
.astunke-qty__btn:disabled { opacity: .4; cursor: not-allowed; }
.astunke-qty__input {
	width: 44px; border: 0; background: transparent;
	text-align: center; font: 700 16px/1 var(--f-sans, inherit);
	color: var(--c-ink); -moz-appearance: textfield;
	outline: none;
}
.astunke-qty__input::-webkit-outer-spin-button,
.astunke-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.astunke-pdp__form .single_add_to_cart_button,
.astunke-pdp__form button.alt {
	height: 48px;
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	padding: 0 1.6rem;
	background: var(--c-red); color: #fff;
	border: 0; border-radius: 999px;
	font: 700 14px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .14em;
	cursor: pointer;
	flex: 1; min-width: 200px;
	transition: background .15s ease, transform .12s ease;
}
.astunke-pdp__form .single_add_to_cart_button:hover { background: #b81b1d; transform: translateY(-1px); }

/* ---- PDP: better breathing room between summary blocks + description tab ---- */
.astunke-pdp__short { margin-block: var(--sp-3) var(--sp-4); }
.astunke-pdp__form  { margin-block: var(--sp-4); }
.astunke-pdp__meta  { margin-top: var(--sp-5); }
.astunke-pdp-specs,
.astunke-tabs { margin-top: clamp(2.5rem, 6vw, 4rem); }
.astunke-tabs .wc-tabs-wrapper, .astunke-tabs .woocommerce-tabs { padding-top: var(--sp-3); }

/* ---- PDP gallery: prev/next arrows + main lightbox affordance ---- */
.astunke-gallery__main { position: relative; }
.astunke-gallery__nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 999px;
	background: rgba(255,255,255,.92); color: var(--c-ink);
	border: 1px solid var(--c-line);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer; z-index: 2;
	box-shadow: 0 8px 16px -8px rgba(15,23,42,.18);
	opacity: 0; transition: opacity .15s ease, background .15s ease, transform .12s ease;
}
.astunke-gallery--has-multiple:hover .astunke-gallery__nav,
.astunke-gallery__nav:focus-visible { opacity: 1; }
.astunke-gallery__nav:hover { background: #fff; color: var(--c-red); }
.astunke-gallery__nav--prev { left: 12px; }
.astunke-gallery__nav--next { right: 12px; }
@media (hover: none) {
	.astunke-gallery--has-multiple .astunke-gallery__nav { opacity: 1; }
}

/* ---- Side cart drawer (v3 brand-aligned) ---- */
.astunke-side-cart {
	position: fixed; inset: 0;
	pointer-events: none;
	z-index: 9999;
}
.astunke-side-cart[aria-hidden="false"] { pointer-events: auto; }
.astunke-side-cart__backdrop {
	position: absolute; inset: 0;
	background: rgba(10,10,10,.65);
	opacity: 0;
	transition: opacity var(--dur) var(--easing);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
.astunke-side-cart[aria-hidden="false"] .astunke-side-cart__backdrop { opacity: 1; }
.astunke-side-cart__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(460px, 100vw);
	background: var(--c-bg);
	display: flex; flex-direction: column;
	transform: translateX(100%);
	transition: transform .32s var(--easing);
	box-shadow: -30px 0 60px -20px rgba(10,10,10,.35);
}
.astunke-side-cart[aria-hidden="false"] .astunke-side-cart__panel { transform: translateX(0); }

/* ---- Head: black bar with eyebrow + count + close icon-button ---- */
.astunke-side-cart__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: var(--sp-4) var(--sp-5);
	background: var(--c-ink);
	color: var(--c-bg);
	gap: var(--sp-3);
}
.astunke-side-cart__head-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.astunke-side-cart__eyebrow {
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}
.astunke-side-cart__title {
	font: 800 var(--fs-lg)/1 var(--f-sans);
	letter-spacing: -.02em;
	color: var(--c-bg);
	margin: 0;
}
.astunke-side-cart__close {
	width: 40px; height: 40px;
	background: rgba(255,255,255,.08);
	border: 0;
	color: var(--c-bg);
	cursor: pointer;
	display: inline-flex;
	align-items: center; justify-content: center;
	border-radius: 999px;
	flex-shrink: 0;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
.astunke-side-cart__close:hover { background: var(--c-red); color: #fff; }

/* ---- Free-shipping progress strip ---- */
.astunke-side-cart__ship {
	padding: var(--sp-3) var(--sp-5);
	background: var(--c-bg-2);
	border-bottom: 1px solid var(--c-line);
}
.astunke-side-cart__ship-text {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	font: 500 var(--fs-sm)/1.4 var(--f-sans);
	color: var(--c-ink);
	margin-bottom: 8px;
}
.astunke-side-cart__ship-text svg { color: var(--c-red); flex-shrink: 0; }
.astunke-side-cart__ship-text strong {
	font-weight: 700;
	color: var(--c-ink);
}
.astunke-side-cart__ship-text strong .woocommerce-Price-amount { color: inherit; }
.astunke-side-cart__ship-bar {
	height: 4px;
	background: var(--c-bg-3);
	overflow: hidden;
	position: relative;
}
.astunke-side-cart__ship-bar span {
	display: block;
	height: 100%;
	background: var(--c-red);
	transition: width .35s var(--easing);
}

/* ---- Body: mini-cart list ---- */
.astunke-side-cart__body {
	flex: 1;
	overflow-y: auto;
	padding: var(--sp-4) var(--sp-5);
	display: flex;
	flex-direction: column;
}
.astunke-side-cart__body .woocommerce-mini-cart,
.astunke-side-cart__body .cart_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.astunke-side-cart__body .mini_cart_item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	column-gap: var(--sp-4);
	row-gap: var(--sp-2);
	padding: var(--sp-4) 36px var(--sp-4) 0;
	border-bottom: 1px solid var(--c-line);
	align-items: center;
	position: relative;
}
.astunke-side-cart__body .mini_cart_item:first-child { padding-top: var(--sp-2); }
.astunke-side-cart__body .mini_cart_item:last-child { border-bottom: 0; }

/* The wrapping <a> contains the <img> + a <span class="mini-cart-item__name">
   (the span is injected by our woocommerce_cart_item_name filter). Use
   display: contents so both children become real grid items of the parent. */
.astunke-side-cart__body .mini_cart_item > a:not(.remove_from_cart_button) {
	display: contents;
}

/* Image — visually prominent 96 x 96 with padding inside, square corners */
.astunke-side-cart__body .mini_cart_item img {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 96px; height: 96px;
	object-fit: contain;
	background: var(--c-bg-2);
	border: 1px solid var(--c-line);
	padding: 8px;
	box-sizing: border-box;
	align-self: center;
	transition: border-color var(--dur) var(--easing);
}
.astunke-side-cart__body .mini_cart_item:hover img { border-color: var(--c-ink); }

/* Product name — grid cell 2,1, ink color, line-clamped */
.astunke-side-cart__body .mini-cart-item__name {
	grid-column: 2;
	grid-row: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--c-ink);
	font: 700 var(--fs-sm)/1.35 var(--f-sans);
	letter-spacing: -.012em;
	text-decoration: none;
	transition: color var(--dur) var(--easing);
	align-self: end;
}
.astunke-side-cart__body .mini_cart_item:hover .mini-cart-item__name { color: var(--c-red); }

/* Quantity row — grid cell 2,2 */
.astunke-side-cart__body .mini_cart_item .quantity {
	grid-column: 2;
	grid-row: 2;
	font: 600 11px/1 var(--f-mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	display: flex;
	align-items: baseline;
	gap: var(--sp-2);
	align-self: start;
}
.astunke-side-cart__body .mini_cart_item .quantity .woocommerce-Price-amount {
	font: 800 var(--fs-md)/1 var(--f-sans);
	letter-spacing: -.022em;
	color: var(--c-ink);
	text-transform: none;
}

/* Remove × button — top-right corner of the row */
.astunke-side-cart__body .mini_cart_item .remove_from_cart_button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 30px; height: 30px;
	border-radius: 999px;
	background: var(--c-bg-2);
	color: var(--c-ink-soft);
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
.astunke-side-cart__body .mini_cart_item .remove_from_cart_button:hover {
	background: var(--c-red);
	color: #fff;
}

/* ---- Subtotal row ---- */
.astunke-side-cart__body .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: var(--sp-4) 0 var(--sp-2);
	margin-top: auto;
	border-top: 2px solid var(--c-ink);
	font: 700 var(--fs-sm)/1 var(--f-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-side-cart__body .woocommerce-mini-cart__total .woocommerce-Price-amount,
.astunke-side-cart__body .woocommerce-mini-cart__total strong {
	font: 800 var(--fs-xl)/1 var(--f-sans);
	letter-spacing: -.025em;
	color: var(--c-ink);
	text-transform: none;
}

/* ---- Buttons stack ---- */
.astunke-side-cart__body .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	padding-top: var(--sp-3);
	margin: 0;
}
.astunke-side-cart__body .woocommerce-mini-cart__buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 1.5rem;
	background: transparent;
	color: var(--c-ink);
	border: 1.5px solid var(--c-ink);
	border-radius: 0;
	text-decoration: none;
	font: 700 13px/1 var(--f-mono);
	text-transform: uppercase;
	letter-spacing: .14em;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing), border-color var(--dur) var(--easing);
	cursor: pointer;
}
.astunke-side-cart__body .woocommerce-mini-cart__buttons .button:hover {
	background: var(--c-ink);
	color: var(--c-bg);
}
.astunke-side-cart__body .woocommerce-mini-cart__buttons .checkout {
	background: var(--c-red);
	color: #fff;
	border-color: var(--c-red);
	font-size: 14px;
	padding: 1.1rem 1.5rem;
}
.astunke-side-cart__body .woocommerce-mini-cart__buttons .checkout:hover {
	background: var(--c-red-hover);
	border-color: var(--c-red-hover);
	color: #fff;
}

/* ---- Empty cart state ---- */
.astunke-side-cart__body .woocommerce-mini-cart__empty-message {
	text-align: center;
	padding: clamp(2rem, 6vw, 4rem) var(--sp-4);
	color: var(--c-ink-soft);
	font-size: var(--fs-base);
	margin: auto 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sp-4);
}
.astunke-side-cart__body .woocommerce-mini-cart__empty-message::before {
	content: '';
	width: 72px; height: 72px;
	background:
		linear-gradient(var(--c-bg-2), var(--c-bg-2)) center/100% 100% no-repeat,
		var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>");
	background-size: 36px;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--c-bg-2);
}

@media (max-width: 600px) {
	.astunke-side-cart__head      { padding: var(--sp-3) var(--sp-4); }
	.astunke-side-cart__ship      { padding: var(--sp-3) var(--sp-4); }
	.astunke-side-cart__body      { padding: var(--sp-3) var(--sp-4); }
}

/* ---- Full-width cart + checkout pages ---- */
body.woocommerce-cart .astunke-main,
body.woocommerce-checkout .astunke-main,
body.woocommerce-account .astunke-main { background: var(--c-bg, #fff); }

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content {
	max-width: 100%;
	width: 100%;
	margin-inline: 0;
	padding-block: clamp(2rem, 5vw, 4rem);
}
body.woocommerce-cart .entry-content .wp-block-woocommerce-cart,
body.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout {
	max-width: 100% !important;
}

/* WC core cart table — make it breathe */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
	max-width: 100%;
}
body.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 900px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	}
	body.woocommerce-cart .cart-collaterals { width: auto !important; float: none !important; }
	body.woocommerce-cart .woocommerce-cart-form { float: none !important; width: auto !important; }
}
body.woocommerce-cart .shop_table {
	width: 100%; border-collapse: collapse;
}
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td {
	padding: 1rem; border-bottom: 1px solid var(--c-line);
}
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-account h2 {
	font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 1rem;
}

/* WC default buttons → theme buttons */
body.woocommerce-cart .button,
body.woocommerce-cart input[type="submit"],
body.woocommerce-checkout .button,
body.woocommerce-checkout input[type="submit"] {
	background: var(--c-red); color: #fff !important;
	padding: .85rem 1.5rem; border-radius: 999px;
	font: 700 13px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .14em;
	border: 0; cursor: pointer;
	transition: background .15s ease;
}
body.woocommerce-cart .button:hover,
body.woocommerce-cart input[type="submit"]:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-checkout input[type="submit"]:hover {
	background: #b81b1d;
}
body.woocommerce-cart .checkout-button { display: block; text-align: center; }

/* Checkout layout polish */
body.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 900px) {
	body.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	}
	body.woocommerce-checkout #customer_details { grid-column: 1; }
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review { grid-column: 2; grid-row: span 2; align-self: start; }
}
body.woocommerce-checkout .form-row {
	margin-bottom: 1rem;
}
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
	width: 100%;
	padding: .75rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: 8px;
	background: #fff;
	font: 400 14px/1.4 var(--f-sans, inherit);
}
body.woocommerce-checkout #order_review {
	background: var(--c-paper, #f7f5f1);
	padding: 1.5rem; border-radius: 14px;
	position: sticky; top: calc(var(--header-h, 80px) + var(--sp-3));
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 0; margin: 0 0 1.5rem;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: .65rem 0;
	border-bottom: 1px solid var(--c-line);
	color: var(--c-ink); text-decoration: none;
	font-weight: 500;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--c-red); }
@media (min-width: 900px) {
	body.woocommerce-account .woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 240px 1fr;
		gap: 2rem;
	}
}

/* No-results / loading helpers used by JS */
body.astunke-cart-open { overflow: hidden; }

/* ---- Lightbox (built by JS) ---- */
.astunke-lightbox {
	position: fixed; inset: 0;
	background: rgba(15,23,42,.95);
	z-index: 99999;
	display: flex; align-items: center; justify-content: center;
	padding: clamp(1rem, 4vw, 4rem);
	cursor: zoom-out;
}
.astunke-lightbox img {
	max-width: 100%; max-height: 100%;
	object-fit: contain;
	cursor: default;
}
.astunke-lightbox__close,
.astunke-lightbox__nav {
	background: rgba(255,255,255,.12); color: #fff;
	border: 0; cursor: pointer;
	width: 48px; height: 48px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 28px; line-height: 1; padding: 0;
	transition: background .15s ease;
}
.astunke-lightbox__close:hover,
.astunke-lightbox__nav:hover { background: rgba(255,255,255,.25); }
.astunke-lightbox__close { position: absolute; top: 1.5rem; right: 1.5rem; }
.astunke-lightbox__nav   { position: absolute; top: 50%; transform: translateY(-50%); }
.astunke-lightbox__nav--prev { left: 1.5rem; }
.astunke-lightbox__nav--next { right: 1.5rem; }
@media (max-width: 600px) {
	.astunke-lightbox__nav { display: none; }
}
/* ========================================================================
   v1.3.1 — focused fixes: roundness, visibility, cart layout, side cart
   ======================================================================== */

/* ---- Less round buttons globally (10px instead of 999px) ---- */
.astunke-nav-cta { border-radius: 10px !important; }
.astunke-icon-btn { border-radius: 10px !important; width: 40px !important; height: 40px !important; }
.astunke-qty { border-radius: 10px !important; }
.astunke-pdp__form .single_add_to_cart_button,
.astunke-pdp__form button.alt,
body.woocommerce-cart .button, body.woocommerce-cart input[type="submit"],
body.woocommerce-checkout .button, body.woocommerce-checkout input[type="submit"] {
	border-radius: 10px !important;
}
.astunke-search-results { border-radius: 12px !important; }
.astunke-side-cart__close { border-radius: 8px !important; }

/* ---- Header: icon visibility on dark background ---- */
.astunke-header { color: #fff; }
.astunke-icon-btn { color: #fff !important; border-color: rgba(255,255,255,.25) !important; }
.astunke-icon-btn:hover { border-color: #fff !important; background: rgba(255,255,255,.08) !important; color: #fff !important; }
.astunke-icon-btn svg { stroke: currentColor; }

/* Cart count badge needs to stay red */
.astunke-cart-link .astunke-cart-count {
	background: var(--c-red) !important; color: #fff !important;
	position: absolute; top: -5px; right: -5px;
	min-width: 18px; height: 18px; border-radius: 999px;
	font: 700 10px/1 var(--f-mono); display: flex; align-items: center; justify-content: center;
	padding: 0 5px;
}

/* ---- Strip product_cat clutter from primary menu items ---- */
/* Done in PHP via wp_nav_menu_objects filter — see functions.php */

/* ---- PDP: kill ALL stray labels next to the qty input ---- */
.astunke-pdp__form form.cart label,
.astunke-pdp__form .quantity label,
.astunke-pdp__form .quantity > .stock,
.astunke-pdp__form .quantity > .screen-reader-text,
.astunke-pdp__form form.cart > .stock,
.astunke-pdp__form .single_variation_wrap .stock {
	display: none !important;
}
/* Some plugins emit a label as a SIBLING of the .quantity div */
.astunke-pdp__form form.cart > label:not([for="quantity"]) { display: none !important; }
/* Final safety net — any text node containing "Liko" that's an inline label */
.astunke-pdp__form .quantity > *:not(input):not(button):not(.astunke-qty):not(.astunke-qty *) {
	display: none !important;
}

/* ---- PDP: lay form out cleanly (qty + button on one row) ---- */
.astunke-pdp__form form.cart {
	display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem;
	margin: var(--sp-4) 0;
}
.astunke-pdp__form .quantity { display: inline-flex !important; align-items: center; }
.astunke-qty { height: 48px; }

/* ---- Side cart: panel above backdrop, sticky footer ---- */
.astunke-side-cart__backdrop { z-index: 1; }
.astunke-side-cart__panel    { z-index: 2; pointer-events: auto; }
.astunke-side-cart[aria-hidden="false"] .astunke-side-cart__backdrop,
.astunke-side-cart[aria-hidden="false"] .astunke-side-cart__panel { pointer-events: auto; }

/* mini-cart bottom layout — total + checkout buttons stuck to bottom of drawer */
.astunke-side-cart__body { display: flex; flex-direction: column; padding: 0 !important; }
.astunke-side-cart__body .woocommerce-mini-cart {
	flex: 1; overflow-y: auto;
	padding: 1.25rem 1.5rem 0 !important;
	margin: 0 !important;
}
.astunke-side-cart__body .woocommerce-mini-cart__empty-message {
	flex: 1; display: flex; align-items: center; justify-content: center;
	padding: 1.25rem 1.5rem;
}
.astunke-side-cart__body .woocommerce-mini-cart__total {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 1rem 1.5rem !important;
	border-top: 1px solid var(--c-line);
	background: var(--c-paper, #f7f5f1);
}
.astunke-side-cart__body .woocommerce-mini-cart__buttons {
	flex: 0 0 auto;
	display: flex; flex-direction: column; gap: .5rem;
	padding: 0 1.5rem 1.25rem !important;
	background: var(--c-paper, #f7f5f1);
	margin: 0 !important;
}

/* ---- Cart page: kill the broken grid, use natural full-width stacked layout ---- */
body.woocommerce-cart .woocommerce { display: block !important; }
body.woocommerce-cart .woocommerce-cart-form { float: none !important; width: 100% !important; }
body.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; margin-top: 2rem; }
body.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; max-width: 480px; margin-left: auto; }

/* WC notices stack on top, not floated */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message {
	margin-bottom: 1.5rem !important;
	float: none !important;
	clear: both !important;
}

/* Cart product table — wider product column so titles don't break to 7 lines */
body.woocommerce-cart .shop_table { table-layout: auto; }
body.woocommerce-cart .shop_table .product-name { min-width: 260px; }
body.woocommerce-cart .shop_table .product-thumbnail { width: 96px; }
body.woocommerce-cart .shop_table .product-thumbnail img { width: 80px; height: 80px; object-fit: contain; }
body.woocommerce-cart .shop_table .product-quantity { width: 160px; }
body.woocommerce-cart .shop_table .product-quantity .quantity { display: inline-flex; align-items: center; }
body.woocommerce-cart .actions { padding: 1rem 0 !important; }
body.woocommerce-cart .coupon { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
body.woocommerce-cart .coupon input[type="text"] {
	padding: .65rem .9rem; border: 1px solid var(--c-line); border-radius: 8px;
}

/* Checkout: matching clean layout */
body.woocommerce-checkout .woocommerce { display: block !important; }
body.woocommerce-checkout form.checkout { display: block; }
@media (min-width: 900px) {
	body.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); gap: 2rem; }
}
body.woocommerce-checkout .woocommerce-notices-wrapper { margin-bottom: 1.5rem; }

/* Match heading style on cart/checkout */
body.woocommerce-cart h1, body.woocommerce-checkout h1 {
	font-size: clamp(2.5rem, 6vw, 4rem); margin-bottom: var(--sp-5);
}
body.woocommerce-cart h2, body.woocommerce-checkout h2 {
	font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 1rem;
}

/* ========================================================================
   v1.3.2 — zero-radius everywhere (user spec: 0px) + final menu/icon cleanup
   ======================================================================== */
.astunke-nav-cta,
.astunke-nav-service,
.astunke-icon-btn,
.astunke-qty,
.astunke-pdp__form .single_add_to_cart_button,
.astunke-pdp__form button.alt,
body.woocommerce-cart .button,
body.woocommerce-cart input[type="submit"],
body.woocommerce-checkout .button,
body.woocommerce-checkout input[type="submit"],
.astunke-search,
.astunke-search-results,
.astunke-search-result,
.astunke-side-cart__close,
.astunke-side-cart__body .woocommerce-mini-cart__buttons .button,
.astunke-side-cart__body .mini_cart_item img,
.astunke-card,
.astunke-card__cta,
.astunke-card__media,
.astunke-card__img,
.astunke-card__noimg,
.astunke-badge,
.astunke-btn,
.astunke-gallery__main,
.astunke-gallery__thumb,
.astunke-gallery__nav,
.astunke-gallery__main img,
.astunke-gallery__thumb img,
.astunke-search-result__img,
.astunke-cart-link .astunke-cart-count,
input[type="text"], input[type="email"], input[type="tel"],
input[type="search"], input[type="number"], textarea, select {
	border-radius: 0 !important;
}

/* Account icon button: explicit visibility on dark header */
.astunke-header { background: var(--c-ink, #0f172a); }
.astunke-header .astunke-icon-btn,
.astunke-header .astunke-icon-btn svg,
.astunke-header .astunke-account-btn,
.astunke-header .astunke-cart-link {
	color: #fff !important;
	stroke: #fff;
}
.astunke-header .astunke-icon-btn {
	border: 1.5px solid rgba(255,255,255,.35) !important;
	background: transparent !important;
}
.astunke-header .astunke-icon-btn:hover {
	border-color: #fff !important;
	background: rgba(255,255,255,.12) !important;
}

/* NUOMA pill: same prominence as SERVISAS but visually distinct */
.astunke-nav-cta--rent {
	background: var(--c-ink, #0f172a) !important;
	color: #fff !important;
	border: 1.5px solid #fff !important;
	font-weight: 700;
}
.astunke-nav-cta--rent:hover {
	background: #fff !important;
	color: var(--c-ink, #0f172a) !important;
}

/* PDP: hide the duplicate stock text/label that sits inside the form
   (only the styled pill above the form remains) */
.astunke-pdp__form .stock,
.astunke-pdp__form form.cart .stock,
.astunke-pdp__form .quantity > *:not(.astunke-qty) {
	display: none !important;
}
.astunke-pdp__form .astunke-stock { display: none !important; }
/* But keep the styled pill above the price block: */
.astunke-pdp__summary > .astunke-stock { display: inline-block !important; }

/* Square-up the qty stepper buttons too */
.astunke-qty__btn,
.astunke-qty__input,
.astunke-gallery__nav,
.astunke-gallery__thumb,
.astunke-lightbox__close,
.astunke-lightbox__nav {
	border-radius: 0 !important;
}

/* ========================================================================
   v1.3.3 — cart + checkout full-width fix, checkout grid corrected
   ======================================================================== */

/* Override the 75ch entry-content constraint on WC pages.
   (page.php now skips inline style on WC pages, but belt-and-braces.) */
body.woocommerce-cart .astunke-entry,
body.woocommerce-checkout .astunke-entry,
body.woocommerce-account .astunke-entry { max-width: none !important; }

/* Cart: full-width grid with totals on the right (desktop) */
body.woocommerce-cart .astunke-container { max-width: var(--content-w); }
@media (min-width: 900px) {
	body.woocommerce-cart .woocommerce {
		display: grid !important;
		grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr);
		gap: 2.5rem;
		align-items: start;
	}
	body.woocommerce-cart .woocommerce-cart-form { grid-column: 1; width: 100% !important; float: none !important; }
	body.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important; }
	body.woocommerce-cart .cart-collaterals .cart_totals { max-width: 100% !important; }
	body.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	/* Sticky totals card on desktop */
	body.woocommerce-cart .cart_totals {
		position: sticky;
		top: calc(var(--header-h, 80px) + var(--sp-3));
		background: var(--c-paper, #f7f5f1);
		padding: 1.5rem;
	}
}

/* Cart product table - more breathing room */
body.woocommerce-cart .shop_table { width: 100%; }
body.woocommerce-cart .shop_table td,
body.woocommerce-cart .shop_table th { padding: 1rem .75rem; vertical-align: middle; }
body.woocommerce-cart .shop_table .product-name { font-weight: 600; }
body.woocommerce-cart .shop_table .product-thumbnail img { width: 80px; height: 80px; object-fit: contain; }
body.woocommerce-cart .shop_table .product-remove { width: 32px; text-align: center; }
body.woocommerce-cart .shop_table .product-remove a {
	color: var(--c-ink-soft); text-decoration: none; font-size: 18px; line-height: 1;
}
body.woocommerce-cart .shop_table .product-remove a:hover { color: var(--c-red); }
body.woocommerce-cart .shop_table .product-quantity .astunke-qty { height: 40px; }

/* Coupon row */
body.woocommerce-cart .actions { padding: 1rem 0 0 !important; border: 0 !important; }
body.woocommerce-cart .coupon {
	display: flex; gap: .5rem; flex-wrap: wrap; align-items: stretch;
	margin: 0 0 1rem !important;
}
body.woocommerce-cart .coupon input[type="text"] {
	flex: 1; min-width: 180px;
	padding: .65rem .9rem;
	border: 1px solid var(--c-line);
}

/* Cart totals styling */
body.woocommerce-cart .cart_totals .cart-subtotal,
body.woocommerce-cart .cart_totals .order-total,
body.woocommerce-cart .cart_totals .shipping {
	display: flex; justify-content: space-between; align-items: flex-start;
	padding: .75rem 0; border-bottom: 1px solid rgba(0,0,0,.08);
}
body.woocommerce-cart .cart_totals .order-total { border-bottom: 0; padding-top: 1rem; margin-top: .25rem; font-weight: 700; font-size: 1.15rem; }
body.woocommerce-cart .cart_totals table { width: 100%; }
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td { padding: 0; background: transparent; border: 0; }
body.woocommerce-cart .wc-proceed-to-checkout { margin-top: 1rem !important; padding: 0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block; width: 100%; text-align: center;
	padding: 1rem 1.5rem !important;
}

/* Checkout: corrected grid (left = customer details full height, right = heading row + review row) */
body.woocommerce-checkout .astunke-container { max-width: var(--content-w); }
body.woocommerce-checkout form.checkout { display: block; }
@media (min-width: 900px) {
	body.woocommerce-checkout form.checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr);
		grid-template-rows: auto 1fr;
		gap: 2rem 2.5rem;
		align-items: start;
	}
	body.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	body.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
	body.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--header-h, 80px) + var(--sp-3)); }
}

/* Flatten WC's nested col2-set inside customer_details */
body.woocommerce-checkout #customer_details .col2-set { display: block !important; }
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important; float: none !important; max-width: 100% !important;
	margin-bottom: 1.5rem;
}

/* Checkout review card */
body.woocommerce-checkout #order_review {
	background: var(--c-paper, #f7f5f1);
	padding: 1.5rem;
}
body.woocommerce-checkout #order_review_heading { padding: 0; }

/* Field styling */
body.woocommerce-checkout .form-row { margin: 0 0 1rem; }
body.woocommerce-checkout .form-row label { font-size: 13px; color: var(--c-ink-soft); margin-bottom: .25rem; display: block; }
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
	width: 100%; padding: .75rem .9rem; border: 1px solid var(--c-line);
	font: 400 14px/1.4 var(--f-sans, inherit); background: #fff;
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
	margin: 0 0 1rem; font-size: 1.5rem;
}

/* ========================================================================
   v1.3.4 — cart polish: luxurious totals card, clean shipping list, alignments
   ======================================================================== */

/* Hide VAT (PVM) row defensively in case any 0-tax slips through the PHP filter */
body.woocommerce-cart .cart_totals .tax-total,
body.woocommerce-cart .cart_totals .tax-rate,
body.woocommerce-checkout #order_review .tax-total,
body.woocommerce-checkout #order_review .tax-rate { display: none !important; }

/* Cart table — premium feel */
body.woocommerce-cart .shop_table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
}
body.woocommerce-cart .shop_table thead {
	border-bottom: 2px solid var(--c-ink);
}
body.woocommerce-cart .shop_table thead th {
	font: 700 11px/1 var(--f-mono);
	text-transform: uppercase;
	letter-spacing: .16em;
	color: var(--c-ink-soft);
	text-align: left;
	padding: 1rem .75rem !important;
	border: 0 !important;
}
body.woocommerce-cart .shop_table tbody tr {
	border-bottom: 1px solid var(--c-line);
}
body.woocommerce-cart .shop_table tbody td {
	vertical-align: middle !important;
	padding: 1.25rem .75rem !important;
	border: 0 !important;
}
body.woocommerce-cart .shop_table .product-thumbnail { width: 100px; padding-left: 0 !important; }
body.woocommerce-cart .shop_table .product-thumbnail img {
	width: 80px; height: 80px; object-fit: contain;
	background: var(--c-paper, #f7f5f1);
	padding: .25rem;
}
body.woocommerce-cart .shop_table .product-name { font-weight: 600; color: var(--c-ink); line-height: 1.35; }
body.woocommerce-cart .shop_table .product-name a { color: inherit; text-decoration: none; }
body.woocommerce-cart .shop_table .product-name a:hover { color: var(--c-red); }
body.woocommerce-cart .shop_table .product-price,
body.woocommerce-cart .shop_table .product-subtotal { font-weight: 700; }
body.woocommerce-cart .shop_table .product-remove { width: 36px; padding-left: 0 !important; padding-right: 0 !important; text-align: center; }
body.woocommerce-cart .shop_table .product-remove a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 24px; height: 24px;
	color: var(--c-ink-soft); text-decoration: none;
	font-size: 18px; line-height: 1;
	background: transparent;
}
body.woocommerce-cart .shop_table .product-remove a:hover { color: var(--c-red); }
body.woocommerce-cart .shop_table .product-quantity { width: 160px; }
body.woocommerce-cart .shop_table .product-quantity .astunke-qty { height: 40px; }

/* Coupon row — sits visually below the table, full width */
body.woocommerce-cart .shop_table tr.actions {
	border-bottom: 0 !important;
}
body.woocommerce-cart .shop_table tr.actions td {
	padding: 1rem 0 0 !important;
}
body.woocommerce-cart .coupon {
	display: flex; gap: .5rem; align-items: stretch;
	max-width: 480px;
}
body.woocommerce-cart .coupon input[type="text"] {
	flex: 1; min-width: 0;
	padding: .65rem .9rem;
	border: 1px solid var(--c-line);
	background: #fff;
}
body.woocommerce-cart .coupon button { white-space: nowrap; }
body.woocommerce-cart .shop_table button[name="update_cart"] {
	background: transparent !important;
	color: var(--c-ink) !important;
	border: 1px solid var(--c-line) !important;
	margin-top: .75rem;
}
body.woocommerce-cart .shop_table button[name="update_cart"]:hover {
	border-color: var(--c-ink) !important;
	background: var(--c-paper, #f7f5f1) !important;
}

/* === Luxurious totals card === */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout #order_review {
	background: #fff !important;
	border: 1px solid var(--c-line);
	padding: 1.75rem !important;
	box-shadow: 0 4px 20px -8px rgba(15,23,42,.06);
}
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading {
	font: 800 1.5rem/1.1 var(--f-sans, inherit) !important;
	margin: 0 0 1.25rem !important;
	letter-spacing: -.01em;
}
body.woocommerce-cart .cart_totals table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin: 0 !important;
	border: 0;
	background: transparent;
}
body.woocommerce-cart .cart_totals tr,
body.woocommerce-checkout #order_review tr {
	border: 0 !important;
}
body.woocommerce-cart .cart_totals tr th,
body.woocommerce-cart .cart_totals tr td,
body.woocommerce-checkout #order_review tr th,
body.woocommerce-checkout #order_review tr td {
	padding: .85rem 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.06) !important;
	vertical-align: top;
}
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-checkout #order_review tr.cart-subtotal th,
body.woocommerce-checkout #order_review tr.cart-subtotal td {
	font-weight: 600;
}
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td,
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td {
	border-bottom: 0 !important;
	border-top: 2px solid var(--c-ink) !important;
	font: 800 1.25rem/1.1 var(--f-sans, inherit) !important;
	padding-top: 1.25rem !important;
	padding-bottom: .25rem !important;
	letter-spacing: -.01em;
}
body.woocommerce-cart .cart_totals tr td,
body.woocommerce-checkout #order_review tr td { text-align: right; }

/* Shipping methods list inside cart totals — kill bullets, horizontal layout */
body.woocommerce-cart .cart_totals .shipping td,
body.woocommerce-checkout #order_review .shipping td {
	padding-top: .5rem !important;
}
ul#shipping_method,
.woocommerce-shipping-methods,
.shipping ul,
.cart_totals .shipping ul,
#order_review .shipping ul {
	list-style: none !important;
	margin: .25rem 0 0 !important;
	padding: 0 !important;
}
ul#shipping_method li,
.woocommerce-shipping-methods li,
.shipping ul li,
.cart_totals .shipping ul li,
#order_review .shipping ul li {
	list-style: none !important;
	display: flex !important;
	align-items: center;
	gap: .65rem;
	padding: .65rem .25rem !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.06);
	text-align: left;
}
ul#shipping_method li:last-child,
.cart_totals .shipping ul li:last-child,
#order_review .shipping ul li:last-child { border-bottom: 0; }
ul#shipping_method li input[type="radio"],
.cart_totals .shipping ul li input[type="radio"],
#order_review .shipping ul li input[type="radio"] {
	margin: 0 .25rem 0 0 !important;
	flex-shrink: 0;
}
ul#shipping_method li label,
.cart_totals .shipping ul li label,
#order_review .shipping ul li label {
	margin: 0 !important;
	flex: 1;
	display: flex; align-items: center; gap: .65rem;
	cursor: pointer;
	font-weight: 500;
	color: var(--c-ink);
}
ul#shipping_method img,
.cart_totals .shipping ul img,
#order_review .shipping ul img {
	height: 24px !important; width: auto !important;
	margin: 0 !important;
	object-fit: contain;
	flex-shrink: 0;
}
.cart_totals .shipping .shipping-calculator-button,
.cart_totals .woocommerce-shipping-destination,
#order_review .woocommerce-shipping-destination {
	display: block;
	font-size: 12px;
	color: var(--c-ink-soft);
	margin-top: .5rem;
	font-style: normal;
}

/* "Tęsti atsiskaitymą" / "Proceed to checkout" button — full-width hero CTA in card */
body.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; margin: 1.25rem 0 0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex; align-items: center; justify-content: center;
	width: 100%; padding: 1.1rem 1.25rem !important;
	font-size: 14px !important;
	background: var(--c-red) !important; color: #fff !important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: #b81b1d !important;
}

/* Header padding for the cart page — give the title some breathing room */
body.woocommerce-cart .astunke-container.section > header,
body.woocommerce-checkout .astunke-container.section > header {
	margin-bottom: var(--sp-6) !important;
}
body.woocommerce-cart h1, body.woocommerce-checkout h1 {
	font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
	letter-spacing: -.035em;
	font-weight: 800;
}

/* ========================================================================
   v1.3.5 — cart premium polish: continuous Viso line, shipping row alignment,
   muted carrier logos, hide update-cart, header column alignment
   ======================================================================== */

/* --- Continuous Viso line (single rule for the whole row) --- */
body.woocommerce-cart .cart_totals table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-collapse: collapse !important;
}
body.woocommerce-cart .cart_totals tr.order-total,
body.woocommerce-checkout #order_review tr.order-total {
	border-top: 2px solid var(--c-ink) !important;
}
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td,
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td {
	border-top: 0 !important;
	border-bottom: 0 !important;
	padding-top: 1.25rem !important;
	padding-bottom: .25rem !important;
}

/* --- Tight shipping row: [radio] [logo] [label] ........ [price] --- */
body.woocommerce-cart .cart_totals .shipping td,
body.woocommerce-checkout #order_review .shipping td { padding: .25rem 0 !important; }

ul#shipping_method,
.cart_totals .shipping ul,
#order_review .shipping ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
ul#shipping_method li,
.cart_totals .shipping ul li,
#order_review .shipping ul li {
	display: grid !important;
	grid-template-columns: auto auto 1fr auto;
	align-items: center;
	column-gap: .65rem;
	padding: .55rem 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.05);
	text-align: left;
}
ul#shipping_method li:last-child,
.cart_totals .shipping ul li:last-child,
#order_review .shipping ul li:last-child { border-bottom: 0; }

ul#shipping_method li input[type="radio"],
.cart_totals .shipping ul li input[type="radio"],
#order_review .shipping ul li input[type="radio"] {
	grid-column: 1;
	margin: 0 !important;
}
ul#shipping_method li img,
.cart_totals .shipping ul li img,
#order_review .shipping ul li img {
	grid-column: 2;
	height: 18px !important; width: auto !important; max-width: 36px;
	margin: 0 !important;
	object-fit: contain;
	filter: grayscale(.65) contrast(1.05);
	opacity: .85;
}
ul#shipping_method li label,
.cart_totals .shipping ul li label,
#order_review .shipping ul li label {
	grid-column: 3 / span 2;
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: .65rem;
	margin: 0 !important;
	font: 500 14px/1.3 var(--f-sans, inherit) !important;
	color: var(--c-ink);
	cursor: pointer;
}
/* WC concatenates method label + price as a single text node "X: €Y" —
   no clean way to split via CSS. Make it read cleanly inline. */
ul#shipping_method li label,
.cart_totals .shipping ul li label,
#order_review .shipping ul li label {
	display: flex !important;
	justify-content: space-between;
}
ul#shipping_method li label::after,
.cart_totals .shipping ul li label::after { content: ""; flex: 0; }

/* --- Update destination link / hint text — small, low-contrast --- */
.cart_totals .woocommerce-shipping-destination,
.cart_totals .shipping-calculator-button,
#order_review .woocommerce-shipping-destination {
	display: block;
	font: 400 12px/1.5 var(--f-sans, inherit) !important;
	color: var(--c-ink-soft) !important;
	margin-top: .5rem !important;
	text-decoration: none;
}
.cart_totals .shipping-calculator-button:hover { color: var(--c-red) !important; }

/* --- Hide the legacy "Atnaujinti krepšelį" button (qty stepper auto-updates) --- */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart input[name="update_cart"],
body.woocommerce-cart .button[name="update_cart"] {
	display: none !important;
}

/* --- Cart table: align column headers properly, blank header on remove col --- */
body.woocommerce-cart .shop_table thead th.product-remove { padding: 0 !important; }
body.woocommerce-cart .shop_table thead th.product-thumbnail { padding-left: 0 !important; }
body.woocommerce-cart .shop_table thead th.product-price,
body.woocommerce-cart .shop_table tbody td.product-price { text-align: left; }
body.woocommerce-cart .shop_table thead th.product-quantity,
body.woocommerce-cart .shop_table tbody td.product-quantity { text-align: left; }
body.woocommerce-cart .shop_table thead th.product-subtotal,
body.woocommerce-cart .shop_table tbody td.product-subtotal { text-align: right; }

/* Coupon row floats cleanly under the table, no separator above */
body.woocommerce-cart .shop_table tr.actions { border-top: 1px solid var(--c-line) !important; }
body.woocommerce-cart .shop_table tr.actions td { padding: 1.5rem 0 !important; }

/* --- Visual cohesion: subtle frame around the cart items area too --- */
body.woocommerce-cart .woocommerce-cart-form {
	background: #fff;
	padding: 0;
}

/* --- Suma row — slightly de-emphasize sub-totals to elevate Viso --- */
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-checkout #order_review tr.cart-subtotal th,
body.woocommerce-checkout #order_review tr.cart-subtotal td {
	color: var(--c-ink-soft);
	font-weight: 500 !important;
}

/* --- Pristatymas label aligns vertically with the first method row --- */
body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-checkout #order_review tr.shipping th {
	vertical-align: top;
	padding-top: 1rem !important;
}

/* --- Final premium touch: add a tiny lock + shipping hint above CTA --- */
body.woocommerce-cart .wc-proceed-to-checkout::before {
	content: "↩  14 dienų grąžinimo garantija";
	display: block;
	font: 400 11px/1.4 var(--f-mono, inherit);
	color: var(--c-ink-soft);
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-bottom: .5rem;
	text-align: center;
}


/* ========================================================================
   v1.3.7 — checkout: surgical fixes only (verified against screenshot)
   1) Radio buttons detached from labels  → position relative+absolute
   2) Shipping price overflowing card     → allow label wrap + clip
   3) Bank logos stacked full-width       → don't override their grid
   4) Privacy text in English             → handled via gettext (already done)
   ======================================================================== */

/* Each payment method becomes a card with the radio anchored to its top-left
   and the label given left-padding so they look like one row, not two. */
body.woocommerce-checkout ul.wc_payment_methods {
	list-style: none !important;
	margin: 1.25rem 0 0 !important;
	padding: 1.25rem 0 0 !important;
	border-top: 1px solid var(--c-line);
}
body.woocommerce-checkout ul.wc_payment_methods > li.wc_payment_method {
	list-style: none !important;
	position: relative;
	background: #fff;
	border: 1px solid var(--c-line);
	margin: 0 0 .75rem !important;
	padding: 0 !important;
}
body.woocommerce-checkout li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	top: 1.15rem !important; left: 1rem !important;
	margin: 0 !important;
	z-index: 1;
}
body.woocommerce-checkout li.wc_payment_method > label {
	display: block !important;
	margin: 0 !important;
	padding: 1rem 1rem 1rem 2.5rem !important;
	cursor: pointer;
	font: 600 14px/1.2 var(--f-sans, inherit);
	color: var(--c-ink);
}
body.woocommerce-checkout li.wc_payment_method > label img {
	max-height: 22px; width: auto; vertical-align: middle;
	margin-left: .5rem;
}

/* Payment box (description / bank selector) sits flush inside the card */
body.woocommerce-checkout li.wc_payment_method .payment_box {
	margin: 0 !important;
	padding: 0 1rem 1rem 2.5rem !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 13px;
	color: var(--c-ink-soft);
	line-height: 1.55;
}
body.woocommerce-checkout li.wc_payment_method .payment_box::before { display: none !important; }
body.woocommerce-checkout li.wc_payment_method .payment_box p { margin: 0 0 .65rem; }

/* The bank-logo block: don't impose a grid layout we haven't verified.
   Just make the logos float left in a wrap-row, each in a small chip. */
body.woocommerce-checkout li.wc_payment_method .payment_box img {
	display: inline-block !important;
	height: 24px !important; width: auto !important;
	max-width: 96px;
	margin: 4px 8px 4px 0 !important;
	vertical-align: middle;
	background: transparent;
}

/* --- Shipping rows: stop the €X,XX overflow at narrow column widths --- */
body.woocommerce-checkout #order_review ul#shipping_method li label,
body.woocommerce-checkout #order_review .shipping ul li label {
	white-space: normal !important;
	word-break: break-word;
	min-width: 0;
	display: flex !important;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
}
body.woocommerce-checkout #order_review {
	overflow: visible !important;   /* don't clip the price */
}
/* The narrow card: shipping section gets its own line for each method on smaller widths */
body.woocommerce-checkout #order_review .shipping td { padding: .5rem 0 !important; }

/* --- "Apmokėti" hero CTA --- */
body.woocommerce-checkout #place_order {
	display: block !important;
	width: 100% !important;
	padding: 1.1rem 1.25rem !important;
	background: var(--c-red) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font: 700 14px/1 var(--f-mono, inherit) !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-top: 1rem !important;
	cursor: pointer;
}
body.woocommerce-checkout #place_order:hover { background: #b81b1d !important; }

/* --- Privacy text styling --- */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
	font: 400 12px/1.55 var(--f-sans, inherit) !important;
	color: var(--c-ink-soft) !important;
	margin: 1rem 0 0 !important;
	padding: 1rem 0 0 !important;
	border-top: 1px solid var(--c-line);
}
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: var(--c-ink) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ========================================================================
   v1.3.8 — shipping methods: ONE clean rule that overrides everything above
   ========================================================================
   Layout: each <li> is a single flex row: [radio] [logo] [label .................. price]
   - No grid (was wrapping label to a 2nd line)
   - No flex-wrap on label (was stacking logo above text)
   - Label text wraps NATURALLY inside its flex cell if too long
   ======================================================================== */

body.woocommerce-cart .cart_totals ul#shipping_method,
body.woocommerce-cart .cart_totals .shipping ul,
body.woocommerce-checkout #order_review ul#shipping_method,
body.woocommerce-checkout #order_review .shipping ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

body.woocommerce-cart .cart_totals ul#shipping_method li,
body.woocommerce-cart .cart_totals .shipping ul li,
body.woocommerce-checkout #order_review ul#shipping_method li,
body.woocommerce-checkout #order_review .shipping ul li {
	list-style: none !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	column-gap: .55rem !important;
	row-gap: 0 !important;
	padding: .55rem 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.05) !important;
	text-align: left !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li:last-child,
body.woocommerce-checkout #order_review ul#shipping_method li:last-child { border-bottom: 0 !important; }

body.woocommerce-cart .cart_totals ul#shipping_method li > *,
body.woocommerce-checkout #order_review ul#shipping_method li > * {
	margin: 0 !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li > input[type="radio"],
body.woocommerce-checkout #order_review ul#shipping_method li > input[type="radio"] {
	flex: 0 0 auto !important;
}

/* Carrier-logo image — whether it's a sibling of the label OR inside the label */
body.woocommerce-cart .cart_totals ul#shipping_method li > img,
body.woocommerce-checkout #order_review ul#shipping_method li > img,
body.woocommerce-cart .cart_totals ul#shipping_method li label > img,
body.woocommerce-checkout #order_review ul#shipping_method li label > img {
	flex: 0 0 auto !important;
	display: inline-block !important;
	height: 18px !important;
	width: auto !important;
	max-width: 36px !important;
	margin-right: .35rem !important;
	vertical-align: middle !important;
	filter: grayscale(.7) contrast(1.05) !important;
	opacity: .85 !important;
	object-fit: contain !important;
}

/* Label cell: takes remaining row width. Text wraps inside if too long.
   Do NOT use flex/grid here — that's what was stacking text vertically. */
body.woocommerce-cart .cart_totals ul#shipping_method li > label,
body.woocommerce-checkout #order_review ul#shipping_method li > label {
	display: block !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	font: 500 14px/1.4 var(--f-sans, inherit) !important;
	color: var(--c-ink) !important;
	cursor: pointer !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Pristatymas <th> aligns top so the label-row sits visually flush */
body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-checkout #order_review tr.shipping th {
	vertical-align: top !important;
	padding-top: .55rem !important;
}

/* Hide the (now-redundant) separator <hr>s between sections */
body.woocommerce-checkout #order_review hr,
body.woocommerce-cart .cart_totals hr { display: none !important; }

/* ========================================================================
   v1.3.9 — FINAL: based on the actual DOM (dumped from rendered checkout)
   ========================================================================
   Shipping markup:
     <li>
       <input type="radio" />
       <label>
         <div class="multiparcels-carrier-icon-image-holder">
           <img class="multiparcels_carrier_icon" style="max-width:100px">
         </div>
         LP Express Paštomatai: <span class="woocommerce-Price-amount">3,00€</span>
       </label>
     </li>
   The div wrapping the carrier image is block-level → that's why the logo
   stacks above the text. Solution: hide it. The label text is enough.
   ======================================================================== */

/* === Hide noisy carrier logos in shipping rows === */
.multiparcels-carrier-icon-image-holder,
.multiparcels_carrier_icon {
	display: none !important;
}

/* === Shipping rows: one clean flex line per option === */
.cart_totals ul#shipping_method,
#order_review ul#shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.cart_totals ul#shipping_method li,
#order_review ul#shipping_method li {
	list-style: none !important;
	display: flex !important;
	align-items: center !important;
	gap: .55rem !important;
	padding: .65rem 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.06);
}
.cart_totals ul#shipping_method li:last-child,
#order_review ul#shipping_method li:last-child { border-bottom: 0; }

.cart_totals ul#shipping_method li > input[type="radio"],
#order_review ul#shipping_method li > input[type="radio"] {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

.cart_totals ul#shipping_method li > label,
#order_review ul#shipping_method li > label {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	font: 500 14px/1.4 var(--f-sans, inherit) !important;
	color: var(--c-ink) !important;
	cursor: pointer !important;
	white-space: normal !important;
	display: flex !important;
	align-items: baseline;
	gap: .35rem;
}
/* Push the price (last span inside the label) to the right edge */
.cart_totals ul#shipping_method li > label .woocommerce-Price-amount,
#order_review ul#shipping_method li > label .woocommerce-Price-amount {
	margin-left: auto !important;
	font-weight: 600;
}

/* === Montonio bank-logo grid (real classnames from the actual DOM) === */
.montonio-bank-payments-form .montonio-bank-items,
.montonio-bank-items,
.montonio-bank-items--grid,
#montonio-payments-description.montonio-bank-items {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)) !important;
	gap: .85rem !important;
	margin: .75rem 0 !important;
}
.montonio-bank-item {
	position: relative !important;
	background: #fff !important;
	border: 1px solid var(--c-line) !important;
	padding: .65rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 56px !important;
	border-radius: 0 !important;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.montonio-bank-item:hover { border-color: var(--c-ink) !important; }
.montonio-bank-item--hidden { display: none !important; }

/* Selected bank — Montonio's JS toggles .active on the clicked logo.
   Without this the chosen bank gives no visual feedback. */
.montonio-bank-item.active {
	border-color: var(--c-red) !important;
	box-shadow: inset 0 0 0 2px var(--c-red) !important;
	background: var(--c-paper, #fdf2f2) !important;
}
.montonio-bank-item.active::after {
	content: "\2713";
	position: absolute;
	top: 0; right: 0;
	width: 18px; height: 18px;
	line-height: 18px;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: var(--c-red);
}
.montonio-bank-item-img {
	max-height: 24px !important;
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
}

/* === Payment method cards — based on real DOM with .wc_payment_method === */
ul.wc_payment_methods {
	list-style: none !important;
	margin: 1.25rem 0 0 !important;
	padding: 1.25rem 0 0 !important;
	border-top: 1px solid var(--c-line) !important;
}
li.wc_payment_method {
	list-style: none !important;
	position: relative;
	display: block !important;
	background: #fff;
	border: 1px solid var(--c-line);
	margin: 0 0 .75rem !important;
	padding: 0 !important;
}
li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	top: 1.1rem !important; left: 1rem !important;
	margin: 0 !important;
	z-index: 1;
}
li.wc_payment_method > label {
	display: flex !important;
	align-items: center;
	gap: .65rem;
	margin: 0 !important;
	padding: 1rem 1rem 1rem 2.5rem !important;
	cursor: pointer;
	font: 600 14px/1.2 var(--f-sans, inherit);
	color: var(--c-ink);
}
li.wc_payment_method > label img {
	max-height: 22px;
	width: auto;
	vertical-align: middle;
}
li.wc_payment_method .payment_box {
	margin: 0 !important;
	padding: 0 1rem 1.1rem 2.5rem !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--c-ink-soft);
	font: 400 13px/1.55 var(--f-sans, inherit);
}
li.wc_payment_method .payment_box::before { display: none !important; }
li.wc_payment_method .payment_box p { margin: 0 0 .65rem; }
li.wc_payment_method .payment_box select {
	width: 100%;
	padding: .55rem .75rem;
	margin: .35rem 0 0;
	border: 1px solid var(--c-line);
	background: #fff;
	font: 400 13px/1.4 var(--f-sans, inherit);
}

/* Highlight the SELECTED payment-method card */
li.wc_payment_method:has(input[type="radio"]:checked) {
	border-color: var(--c-ink) !important;
	background: var(--c-paper, #f7f5f1) !important;
}

/* === Card payment row (Visa/Mastercard/Apple Pay logos) === */
li.wc_payment_method img[alt*="Visa"],
li.wc_payment_method img[alt*="Master"],
li.wc_payment_method img[alt*="Pay"] {
	max-height: 20px;
	margin-right: .25rem;
	vertical-align: middle;
}

/* ========================================================================
   v1.3.10 — Pristatymas row: stack label above options so each shipping
   row gets the full card width and fits cleanly on one line.
   ======================================================================== */

/* Make the shipping <tr> behave like a stacked block, label-then-options */
.cart_totals tr.woocommerce-shipping-totals,
.cart_totals tr.shipping,
#order_review tr.woocommerce-shipping-totals,
#order_review tr.shipping {
	display: block !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.cart_totals tr.woocommerce-shipping-totals th,
.cart_totals tr.shipping th,
#order_review tr.woocommerce-shipping-totals th,
#order_review tr.shipping th {
	display: block !important;
	width: 100% !important;
	padding: 1rem 0 .35rem !important;
	margin: 0 !important;
	text-align: left !important;
	font: 700 12px/1 var(--f-mono, inherit) !important;
	text-transform: uppercase !important;
	letter-spacing: .14em !important;
	color: var(--c-ink-soft) !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: top !important;
}
.cart_totals tr.woocommerce-shipping-totals td,
.cart_totals tr.shipping td,
#order_review tr.woocommerce-shipping-totals td,
#order_review tr.shipping td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.06) !important;
	padding-bottom: .65rem !important;
}

/* Each method now has the FULL card width — text + price fit on one line */
.cart_totals ul#shipping_method li > label,
#order_review ul#shipping_method li > label {
	display: flex !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	gap: .35rem !important;
	width: 100% !important;
	white-space: nowrap !important;
}
.cart_totals ul#shipping_method li > label .woocommerce-Price-amount,
#order_review ul#shipping_method li > label .woocommerce-Price-amount {
	margin-left: auto !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

/* Underneath the "Atsiėmimo vieta" pickup dropdown (multiparcels) — tighten */
.mp_pickup_location, .mp-locations, #mp_terminal_id {
	margin: .5rem 0 0 !important;
}

/* ========================================================================
   v1.3.11 — restore carrier logos (styled premium) + left-align labels
   ======================================================================== */

/* === Re-enable + premium-style the carrier logo === */
.multiparcels-carrier-icon-image-holder {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px !important;
	width: 80px !important;
	margin: 0 1rem 0 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
	background: transparent !important;
	border: 0 !important;
	overflow: hidden !important;
}
.multiparcels_carrier_icon {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	transform: scale(1.85) !important;       /* zoom past the source image's internal whitespace padding */
	transform-origin: center !important;
	filter: none !important;
	opacity: 1 !important;
}

/* Now the shipping-method label is: [logo] LP Express Paštomatai _____ price */
.cart_totals ul#shipping_method li > label,
#order_review ul#shipping_method li > label {
	display: flex !important;
	align-items: center !important;
	gap: .15rem !important;
	width: 100% !important;
	white-space: nowrap !important;
	flex-wrap: nowrap !important;
}
/* Price stays right-pinned regardless of logo width */
.cart_totals ul#shipping_method li > label .woocommerce-Price-amount,
#order_review ul#shipping_method li > label .woocommerce-Price-amount {
	margin-left: auto !important;
	padding-left: .65rem;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

/* === v1.3.12 — mobile: tidy shipping rows. The 80px carrier logo crowds the
   method name on narrow screens and forces an ugly mid-phrase wrap. Shrink the
   logo and let the row sit on one clean line (wrapping gracefully if needed). */
@media (max-width: 600px) {
	.multiparcels-carrier-icon-image-holder {
		width: 52px !important;
		height: 30px !important;
		margin: 0 .55rem 0 0 !important;
	}
	.multiparcels_carrier_icon { transform: scale(1.5) !important; }

	.cart_totals ul#shipping_method li > label,
	#order_review ul#shipping_method li > label,
	.cart_totals tr.shipping td,
	#order_review tr.shipping td {
		display: flex !important;
		align-items: center !important;
		flex-wrap: wrap !important;
		white-space: normal !important;
		line-height: 1.3;
		gap: .1rem .25rem !important;
	}
	/* the radio sits before the logo, vertically centred */
	.cart_totals ul#shipping_method li > input[type="radio"],
	#order_review ul#shipping_method li > input[type="radio"] {
		flex: 0 0 auto !important;
		margin: 0 .4rem 0 0 !important;
	}
}

/* === Left-align table headers + totals labels === */

/* Checkout order-review table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.cart_item {
	text-align: left !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
	text-align: right !important;
}

/* Suma / Viso row labels go LEFT, values stay RIGHT */
body.woocommerce-checkout #order_review tr.cart-subtotal th,
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.order-total th {
	text-align: left !important;
	padding-left: 0 !important;
}
body.woocommerce-checkout #order_review tr.cart-subtotal td,
body.woocommerce-checkout #order_review tr.order-total td,
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .cart_totals tr.order-total td {
	text-align: right !important;
	padding-right: 0 !important;
}

/* Order-summary header heading + cart-totals heading */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-cart .cart_totals h2 {
	text-align: left !important;
}

/* ========================================================================
   v1.4.0 — homepage lifestyle imagery
   ======================================================================== */

/* --- HERO: lifestyle photo (cover, no padding) replaces product cut-out --- */
.astunke-hero__visual img {
	object-fit: cover !important;
	padding: 0 !important;
	filter: none !important;
	width: 100% !important; height: 100% !important;
}
.astunke-hero__visual::before {
	/* subtle dark gradient overlay so the editorial copy on the left stays prominent */
	content: "" !important;
	position: absolute; inset: 0;
	background:
		linear-gradient(135deg, rgba(15,15,15,.35) 0%, rgba(15,15,15,0) 50%),
		radial-gradient(circle at 70% 30%, rgba(220,38,38,.10), transparent 55%);
	z-index: 2;
	pointer-events: none;
}

/* --- CATEGORY CARDS: lifestyle variant with photo + overlay + premium type --- */
.astunke-cat-grid--lifestyle {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(1rem, 1.5vw, 1.5rem);
}
.astunke-cat-card--lifestyle {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--c-ink, #0f172a);
	aspect-ratio: 4 / 5;
	color: #fff;
	text-decoration: none;
	transition: transform .25s ease;
}
.astunke-cat-card--lifestyle:hover { transform: translateY(-3px); }
.astunke-cat-card--lifestyle .astunke-cat-card__media {
	position: absolute; inset: 0;
	background: transparent;
	border: 0;
	height: auto !important; padding: 0 !important;
}
.astunke-cat-card--lifestyle .astunke-cat-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .5s ease, filter .25s ease;
	filter: brightness(.85) contrast(1.05);
}
.astunke-cat-card--lifestyle:hover .astunke-cat-card__media img {
	transform: scale(1.06);
	filter: brightness(.95) contrast(1.05);
}
.astunke-cat-card--lifestyle .astunke-cat-card__overlay {
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.9) 100%);
	z-index: 1;
}

/* Reset the base flex layout — lifestyle cards stack content vertically */
.astunke-cat-card--lifestyle .astunke-cat-card__body {
	display: block;
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: clamp(1.5rem, 2.2vw, 2.25rem) clamp(1.5rem, 2.2vw, 2rem);
	z-index: 2;
	background: transparent;
	border-top: 0;
}

/* Tiny meta line on top — uppercase tracked label that gives the card a 'collection' feel */
.astunke-cat-card--lifestyle .astunke-cat-card__meta {
	display: block;
	font: 700 10px/1 var(--f-mono, inherit);
	text-transform: uppercase;
	letter-spacing: .22em;
	color: var(--c-red, #dc2626);
	margin: 0 0 .9rem;
}

/* Title: large, tight tracking, refined display weight */
.astunke-cat-card--lifestyle .astunke-cat-card__title {
	color: #fff !important;
	font: 700 clamp(1.5rem, 2.2vw, 2rem)/1.02 var(--f-sans, inherit);
	letter-spacing: -.022em;
	margin: 0 0 .55rem !important;
	max-width: 14ch;
}

/* Tagline: muted, light, italic-leaning weight */
.astunke-cat-card--lifestyle .astunke-cat-card__tagline {
	display: block;
	font: 400 13px/1.45 var(--f-sans, inherit);
	color: rgba(255,255,255,.72);
	margin: 0;
	max-width: 26ch;
}

/* Arrow chip — circular, refined, animates in on hover */
.astunke-cat-card--lifestyle::after {
	content: "";
	position: absolute; top: 1.25rem; right: 1.25rem;
	width: 44px; height: 44px;
	border-radius: 999px;
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='13 5 20 12 13 19'/></svg>") center / 16px no-repeat,
		rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease, opacity .25s ease;
	opacity: .85;
	z-index: 2;
}
.astunke-cat-card--lifestyle:hover::after {
	background-color: var(--c-red, #dc2626);
	border-color: var(--c-red, #dc2626);
	opacity: 1;
	transform: translateX(2px);
}

/* Stronger image contrast for premium feel — slight desaturate + boost */
.astunke-cat-card--lifestyle .astunke-cat-card__media img {
	filter: brightness(.78) contrast(1.08) saturate(.95);
}
.astunke-cat-card--lifestyle:hover .astunke-cat-card__media img {
	filter: brightness(.88) contrast(1.08) saturate(1);
}

/* --- SERVICE section: real workshop photo replaces the SVG bicycle icon --- */
.astunke-service__visual {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	max-height: 600px;
	background: var(--c-ink, #0f172a);
}
.astunke-service__visual img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
	filter: brightness(.9) contrast(1.05);
}
.astunke-service__visual::before {
	content: "" !important;
	position: absolute; inset: 0;
	background:
		linear-gradient(135deg, rgba(220,38,38,.15) 0%, transparent 50%),
		linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.4) 100%);
	z-index: 1;
	pointer-events: none;
}
/* hide the old SVG icon if it lingers */
.astunke-service__visual-icon { display: none !important; }

/* ========================================================================
   v1.4.0 — PLP sidebar redesign + filter panel
   ======================================================================== */

/* Sidebar container: proper breathing room, subtle separation from content */
.astunke-shop__sidebar {
	padding: var(--sp-5) var(--sp-4);
	background: var(--c-bg, #ffffff);
	border-right: 1px solid var(--c-line);
	min-width: 0;
	overflow: visible;
}

/* Mobile filter trigger + drawer chrome — hidden on desktop */
.astunke-shop__filters-toggle,
.astunke-shop__filters-backdrop,
.astunke-shop__filters-head {
	display: none;
}

/* Filter section card — clean separators, generous padding */
.astunke-shop__filters .astunke-filter {
	padding: var(--sp-5) 0;
	border-bottom: 1px solid var(--c-line);
}
.astunke-shop__filters .astunke-filter:first-child { padding-top: 0; }
.astunke-shop__filters .astunke-filter:last-child  { border-bottom: 0; }

/* Section title — uppercase tracked label, premium feel */
.astunke-filter__title {
	display: flex; justify-content: space-between; align-items: baseline;
	font: 700 11px/1 var(--f-mono, inherit);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--c-ink, #0f172a);
	margin: 0 0 var(--sp-4) 0;
}
.astunke-filter__clear {
	font: 600 10px/1 var(--f-mono, inherit);
	letter-spacing: .12em;
	color: var(--c-red, #dc2626);
	text-decoration: none;
	text-transform: uppercase;
}
.astunke-filter__clear:hover { text-decoration: underline; }

/* Category tree — reset the ul style and tighten spacing */
.astunke-filter--cats .astunke-cat-tree {
	list-style: none;
	padding: 0; margin: 0;
}

/* Category node rows — refined hover, breathing padding */
.astunke-cat-node__row {
	display: flex; align-items: center;
	border-left: 3px solid transparent;
	transition: background-color .15s ease, border-color .15s ease;
}
.astunke-cat-node__row:hover { background: var(--c-bg-2); }

.astunke-cat-node__link {
	flex: 1;
	display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3);
	padding: .65rem .75rem .65rem 1rem;
	font: 500 14px/1.3 var(--f-sans, inherit);
	color: var(--c-ink-soft);
	text-decoration: none;
	min-width: 0;
}
.astunke-cat-node__link:hover { color: var(--c-ink); }
.astunke-cat-node__label {
	display: block;
	white-space: normal;
	word-break: break-word;
	line-height: 1.3;
	min-width: 0;
	hyphens: auto;
}
.astunke-cat-node__count {
	font: 500 11px/1 var(--f-mono, inherit);
	color: var(--c-ink-mute, #94a3b8);
	letter-spacing: .04em;
	flex-shrink: 0;
}

/* Depth-0 — bold parent rows */
.astunke-cat-tree .depth-0 > .astunke-cat-node__row .astunke-cat-node__link {
	font-weight: 600;
	font-size: 14px;
	color: var(--c-ink);
}
.astunke-cat-tree .depth-1 > .astunke-cat-node__row .astunke-cat-node__link {
	padding-left: 1.75rem;
	font-size: 13px;
	color: var(--c-ink-soft);
}
.astunke-cat-tree .depth-2 > .astunke-cat-node__row .astunke-cat-node__link {
	padding-left: 2.5rem;
	font-size: 12.5px;
	color: var(--c-ink-soft);
}

/* Current term — red bar on left, bold */
.astunke-cat-tree .is-current > .astunke-cat-node__row {
	border-left-color: var(--c-red, #dc2626);
	background: var(--c-bg-2);
}
.astunke-cat-tree .is-current > .astunke-cat-node__row .astunke-cat-node__link {
	color: var(--c-ink);
	font-weight: 700;
}

/* Children hidden by default — only show when explicitly opened */
.astunke-cat-node__children {
	list-style: none;
	padding: 0; margin: 0;
	display: none;
}
.astunke-cat-node.is-open > .astunke-cat-node__children { display: block; }

/* Chevron toggle — subtle, only on nodes with children */
.astunke-cat-node__toggle {
	flex-shrink: 0;
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	background: transparent;
	border: 0;
	color: var(--c-ink-mute);
	cursor: pointer;
	transition: color .15s ease, transform .15s ease;
}
.astunke-cat-node__toggle:hover { color: var(--c-ink); }
.astunke-cat-node__toggle svg {
	transition: transform .2s ease;
}
.astunke-cat-node.is-open > .astunke-cat-node__row .astunke-cat-node__toggle svg {
	transform: rotate(180deg);
}

/* --- Price filter --- */
.astunke-filter--price .astunke-filter__price-row {
	display: grid; grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--sp-2);
	margin-bottom: var(--sp-3);
}
.astunke-filter__price-input input {
	width: 100%;
	padding: .55rem .65rem;
	font: 500 14px/1 var(--f-sans, inherit);
	border: 1px solid var(--c-line);
	background: var(--c-bg, #fff);
	color: var(--c-ink);
	transition: border-color .15s ease;
}
.astunke-filter__price-input input:focus {
	outline: none;
	border-color: var(--c-ink);
}
.astunke-filter__price-dash {
	color: var(--c-ink-mute);
	font-weight: 600;
}

.astunke-filter__apply {
	width: 100%;
	padding: .65rem 1rem;
	background: var(--c-ink, #0f172a);
	color: #fff;
	border: 0;
	font: 700 12px/1 var(--f-mono, inherit);
	text-transform: uppercase;
	letter-spacing: .14em;
	cursor: pointer;
	transition: background .15s ease;
}
.astunke-filter__apply:hover { background: var(--c-red, #dc2626); }

/* --- Checkbox lists (brand, availability) --- */
.astunke-filter__list {
	list-style: none;
	padding: 0; margin: 0;
	max-height: 280px;
	overflow-y: auto;
}
.astunke-filter__list::-webkit-scrollbar { width: 4px; }
.astunke-filter__list::-webkit-scrollbar-thumb { background: var(--c-line-strong); border-radius: 2px; }
.astunke-filter__list li { margin: 0; }
.astunke-filter__list label {
	display: flex; align-items: center; gap: var(--sp-2);
	padding: .45rem 0;
	cursor: pointer;
	transition: color .15s ease;
}
.astunke-filter__list label:hover { color: var(--c-ink); }
.astunke-filter__list input[type="checkbox"] {
	flex-shrink: 0;
	appearance: none;
	-webkit-appearance: none;
	width: 16px; height: 16px;
	border: 1.5px solid var(--c-line-strong);
	background: var(--c-bg);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.astunke-filter__list input[type="checkbox"]:checked {
	background: var(--c-ink);
	border-color: var(--c-ink);
}
.astunke-filter__list input[type="checkbox"]:checked::after {
	content: "";
	width: 9px; height: 5px;
	border-left: 2px solid #fff; border-bottom: 2px solid #fff;
	transform: translateY(-1px) rotate(-45deg);
}
.astunke-filter__check-label {
	flex: 1;
	font: 400 13px/1.4 var(--f-sans, inherit);
	color: var(--c-ink-soft);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.astunke-filter__list label:hover .astunke-filter__check-label,
.astunke-filter__list input:checked + .astunke-filter__check-label {
	color: var(--c-ink);
}
.astunke-filter__check-count {
	font: 500 11px/1 var(--f-mono, inherit);
	color: var(--c-ink-mute);
	flex-shrink: 0;
}

/* --- Active filter chips (above product grid) --- */
.astunke-active-filters {
	display: flex; flex-wrap: wrap; align-items: center;
	gap: var(--sp-2);
	padding: var(--sp-3) 0 var(--sp-4);
	margin: 0 0 var(--sp-4);
	border-bottom: 1px solid var(--c-line);
}
.astunke-active-filters__label {
	font: 700 11px/1 var(--f-mono, inherit);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--c-ink-soft);
	margin-right: var(--sp-2);
}
.astunke-active-filters__chip {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .35rem .65rem;
	background: var(--c-ink);
	color: #fff;
	font: 500 12px/1 var(--f-sans, inherit);
	text-decoration: none;
	border-radius: 2px;
	transition: background .15s ease;
}
.astunke-active-filters__chip:hover { background: var(--c-red, #dc2626); }
.astunke-active-filters__chip svg { opacity: .8; }
.astunke-active-filters__clear-all {
	margin-left: auto;
	font: 600 11px/1 var(--f-mono, inherit);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--c-red, #dc2626);
	text-decoration: none;
}
.astunke-active-filters__clear-all:hover { text-decoration: underline; }

/* --- Mobile (<=1024px): filters become a slide-in drawer, mirroring the
   side-cart. A fixed "Filtrai" pill stays on screen for easy access while
   scrolling; tapping it slides the panel in from the right over a blurred
   backdrop. --- */
@media (max-width: 1024px) {
	/* The in-flow sidebar collapses to nothing — the button is fixed and the
	   panel is off-canvas, so don't render an empty card. */
	.astunke-shop__sidebar {
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: none !important;
		border-radius: 0 !important;
		min-height: 0;
	}

	/* Fixed floating trigger — always reachable while scrolling */
	.astunke-shop__filters-toggle {
		display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
		position: fixed;
		left: 50%;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		transform: translateX(-50%);
		z-index: 1200;
		width: auto;
		padding: .9rem 1.6rem;
		background: var(--c-red);
		color: #fff;
		border: 0;
		border-radius: 999px;
		font: 700 12px/1 var(--f-mono, inherit);
		text-transform: uppercase;
		letter-spacing: .14em;
		box-shadow: 0 12px 30px -8px rgba(220,38,38,.5);
		cursor: pointer;
	}
	.astunke-shop__filters-toggle:active { transform: translateX(-50%) scale(.96); }

	/* Blurred backdrop */
	.astunke-shop__filters-backdrop {
		display: block;
		position: fixed; inset: 0;
		background: rgba(10,10,10,.65);
		backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
		opacity: 0; pointer-events: none;
		transition: opacity var(--dur, .28s) var(--easing, ease);
		z-index: 1300;
	}
	body.astunke-filters-open .astunke-shop__filters-backdrop { opacity: 1; pointer-events: auto; }

	/* The sliding panel */
	.astunke-shop__filters {
		position: fixed; top: 0; right: 0; bottom: 0;
		width: min(420px, 88vw);
		background: var(--c-bg, #fff);
		z-index: 1400;
		display: flex; flex-direction: column;
		transform: translateX(100%);
		transition: transform .32s var(--easing, ease);
		box-shadow: -30px 0 60px -20px rgba(10,10,10,.4);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		margin: 0 !important;
	}
	.astunke-shop__filters.is-open { transform: translateX(0); }

	/* Dark header bar with close X — matches the side-cart */
	.astunke-shop__filters-head {
		display: flex; align-items: center; justify-content: space-between;
		position: sticky; top: 0; z-index: 1;
		padding: var(--sp-4) var(--sp-5);
		background: var(--c-ink); color: #fff;
	}
	.astunke-shop__filters-eyebrow {
		font: 700 11px/1 var(--f-mono, inherit);
		text-transform: uppercase; letter-spacing: .18em;
	}
	.astunke-shop__filters-close {
		display: inline-flex; align-items: center; justify-content: center;
		width: 38px; height: 38px; flex-shrink: 0;
		background: rgba(255,255,255,.1); color: #fff;
		border: 0; border-radius: 999px; cursor: pointer;
		transition: background var(--dur, .2s) var(--easing, ease);
	}
	.astunke-shop__filters-close:hover { background: var(--c-red); }

	/* Pad the filter sections inside the drawer */
	.astunke-shop__filters .astunke-filter {
		padding-left: var(--sp-5);
		padding-right: var(--sp-5);
	}

	/* Keep the last products/pagination clear of the fixed pill */
	.astunke-shop__content { padding-bottom: 84px; }
}

/* ========================================================================
   v1.4.1 — Outlet: distinct dark-gold homepage section + gold eyebrow
   ======================================================================== */

.astunke-section-head__eyebrow--gold {
	color: #d4af37 !important;
}

.astunke-outlet-section {
	background: #0a0a0a;
	color: var(--c-bg);
	overflow: hidden;
	position: relative;
	border-top: 1px solid rgba(212, 175, 55, .25);
	border-bottom: 1px solid rgba(212, 175, 55, .25);
}
.astunke-outlet-section::before {
	content: "OUTLET · LAST STOCK · OUTLET · LAST STOCK · OUTLET · LAST STOCK ·";
	position: absolute;
	top: var(--sp-5);
	left: 0; right: 0;
	font-family: var(--f-sans);
	font-weight: 800;
	font-size: clamp(2.5rem, 8vw, 6rem);
	color: transparent;
	-webkit-text-stroke: 1px rgba(212, 175, 55, .25);
	letter-spacing: -.04em;
	white-space: nowrap;
	pointer-events: none;
	overflow: hidden;
	opacity: .6;
}
.astunke-outlet-section .astunke-container { position: relative; z-index: 1; }
.astunke-outlet-section .astunke-section-head {
	border-bottom-color: rgba(255, 255, 255, .15);
	margin-top: var(--sp-7);
}
.astunke-outlet-section .astunke-section-head h2 { color: #fff; }
.astunke-outlet-section .astunke-section-head__link {
	color: #d4af37;
	border-bottom-color: rgba(212, 175, 55, .35);
}
.astunke-outlet-section .astunke-section-head__link:hover {
	color: #fff;
	border-bottom-color: #fff;
}
/* Cards inside outlet keep their light theme, but the surrounding context is dark */

/* ========================================================================
   v1.4.3 — Outlet landing page mirrors the shop layout (no full-bleed hero)
   ======================================================================== */

/* Header nav: 'Outlet' link gets a gold accent so it visually pops in the
   fallback nav even without the framed CTA chip */
.astunke-mainnav .astunke-nav-outlet {
	color: #d4af37;
	font-weight: 700;
	letter-spacing: .02em;
	position: relative;
}
.astunke-mainnav .astunke-nav-outlet::before {
	content: "●";
	display: inline-block;
	margin-right: .35rem;
	font-size: .55em;
	vertical-align: middle;
	color: #d4af37;
}
.astunke-mainnav .astunke-nav-outlet:hover { color: #fff; }
.astunke-mainnav .astunke-nav-outlet:hover::before { color: #fff; }

/* Outlet header — same vertical rhythm as the shop archive title block.
   Compact: badge + h1 + lead, no full-bleed dark hero. */
/* === Shop / category archive header — same caliber as the outlet header === */
.astunke-shop-header {
	padding-block: var(--sp-3) var(--sp-5);
	max-width: 65ch;
}
.astunke-shop-header__eyebrow {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .22em;
	color: var(--c-red);
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
	padding: .35rem .7rem;
	border: 1px solid rgba(220, 38, 38, .35);
	background: rgba(220, 38, 38, .05);
}
.astunke-shop-header__title {
	font-size: clamp(1.9rem, 3.5vw, 2.6rem);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.02em;
	margin: 0;
	color: var(--c-ink);
}
.astunke-shop-header .woocommerce-products-header__subtitle,
.astunke-shop-header .term-description {
	margin: var(--sp-3) 0 0;
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.55;
}

/* Result-count + sort bar: stack cleanly on small screens (was wrapping ugly) */
@media (max-width: 600px) {
	.astunke-shop__bar {
		flex-direction: column;
		align-items: stretch;
		gap: var(--sp-3);
	}
	.astunke-shop__count { white-space: normal; }
	.astunke-shop__sort,
	.astunke-shop__sort .woocommerce-ordering,
	.astunke-shop__sort select { width: 100%; }
}

/* Prominent gold Outlet banner at the top of the mobile menu (deals deserve
   to be seen, not buried under the category list). */
.astunke-mm-outlet {
	display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
	margin: 0 0 var(--sp-5);
	padding: var(--sp-4);
	background: linear-gradient(135deg, #d4af37, #c19a2b);
	border-radius: var(--radius);
	color: #1a1a1a;
	text-decoration: none;
}
.astunke-mm-outlet:hover { filter: brightness(1.05); }
.astunke-mm-outlet__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.astunke-mm-outlet__label { font: 800 var(--fs-md)/1 var(--f-sans); text-transform: uppercase; letter-spacing: .06em; }
.astunke-mm-outlet__meta { font: 600 11px/1.2 var(--f-mono); opacity: .75; }
.astunke-mm-outlet svg { flex-shrink: 0; }

.astunke-outlet-header {
	padding-block: var(--sp-3) var(--sp-5);
	max-width: 65ch;
}
.astunke-outlet-header__badge {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .22em;
	color: #ad8920;
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
	padding: .35rem .7rem;
	border: 1px solid rgba(212, 175, 55, .45);
	background: rgba(212, 175, 55, .06);
}
.astunke-outlet-header__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.05;
	letter-spacing: -.02em;
	margin: 0 0 var(--sp-3);
	color: var(--c-ink);
}
.astunke-outlet-header__lead {
	margin: 0;
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.55;
}

/* Sort dropdown matches the rest of the shop chrome */
.astunke-outlet-sort select {
	padding: .55rem 2rem .55rem .75rem;
	font: 500 13px/1 var(--f-sans);
	border: 1px solid var(--c-line-strong);
	background: var(--c-bg, #fff);
	color: var(--c-ink);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right .65rem center;
	background-size: 10px;
}
.astunke-outlet-sort select:focus { outline: none; border-color: var(--c-ink); }

/* Pagination — clean, matches the design system */
.astunke-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--sp-4);
	margin-top: var(--sp-7);
	padding-top: var(--sp-5);
	border-top: 1px solid var(--c-line);
}
.astunke-pagination__link {
	padding: .75rem 1.25rem;
	font: 700 12px/1 var(--f-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-ink);
	text-decoration: none;
	border: 1px solid var(--c-line-strong);
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.astunke-pagination__link:hover {
	background: var(--c-ink);
	color: #fff;
	border-color: var(--c-ink);
}
.astunke-pagination__current {
	font: 600 13px/1 var(--f-mono);
	letter-spacing: .1em;
	color: var(--c-ink-soft);
}

/* Empty state */
.astunke-outlet-empty {
	text-align: center;
	padding: clamp(3rem, 8vw, 5rem) var(--sp-4);
	max-width: 50ch;
	margin: 0 auto;
}
.astunke-outlet-empty h2 {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin: 0 0 var(--sp-3);
}
.astunke-outlet-empty p {
	color: var(--c-ink-soft);
	line-height: 1.6;
	margin: 0 0 var(--sp-5);
}

/* ========================================================================
   v1.4.4 — Custom logo balancing across header, mobile menu, and footer
   The client uploaded a horizontal PNG (≈5:1 ratio). WP renders it inside
   .custom-logo-link > img.custom-logo with intrinsic width, which is too
   tall in the header and too small in the footer. Constrain by height
   so the proportions stay consistent everywhere.
   ======================================================================== */

/* Default — covers any context not overridden below */
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}
img.custom-logo {
	display: block;
	height: auto;
	width: auto;
	max-height: 38px;
	max-width: 200px;
	object-fit: contain;
}

/* Header — primary anchor, slightly taller to read clearly in topbar+nav stack */
.astunke-header__inner .custom-logo-link img.custom-logo {
	max-height: 40px;
	max-width: 220px;
}

/* Mobile (sub-980px) — header is more compact, scale down */
@media (max-width: 980px) {
	.astunke-header__inner .custom-logo-link img.custom-logo {
		max-height: 32px;
		max-width: 170px;
	}
}

/* Footer brand column — same height as header for visual rhythm */
.astunke-footer__brand .custom-logo-link img.custom-logo {
	max-height: 40px;
	max-width: 220px;
	filter: brightness(1.05); /* logo is already white-on-dark, tiny lift */
}

/* If the .astunke-logo text fallback ever renders (no custom logo set),
   keep it visually consistent with the image variant */
.astunke-header__inner .astunke-logo,
.astunke-footer__brand .astunke-logo { font-size: 1.4rem; }

/* ========================================================================
   v1.4.5 — Kontaktai page
   ======================================================================== */

.astunke-kontakt-header {
	padding-block: var(--sp-3) var(--sp-5);
	max-width: 65ch;
}
.astunke-kontakt-header__eyebrow {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .22em;
	color: var(--c-red);
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
}
.astunke-kontakt-header__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.05;
	letter-spacing: -.02em;
	margin: 0 0 var(--sp-3);
	color: var(--c-ink);
}
.astunke-kontakt-header__lead {
	margin: 0;
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.55;
}

.astunke-kontakt {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: clamp(2rem, 5vw, 4rem);
}
@media (max-width: 980px) {
	.astunke-kontakt { grid-template-columns: 1fr; }
}

.astunke-kontakt__details {
	display: flex; flex-direction: column;
	gap: var(--sp-4);
}
.astunke-kontakt__card {
	padding: clamp(1.25rem, 2vw, 1.75rem);
	border: 1px solid var(--c-line);
	background: var(--c-bg, #fff);
}
.astunke-kontakt__card-title {
	margin: 0 0 var(--sp-4);
	font: 700 12px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-ink);
	padding-bottom: var(--sp-3);
	border-bottom: 1px solid var(--c-line);
}

.astunke-kontakt__list {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: .65rem var(--sp-4);
	margin: 0;
}
.astunke-kontakt__list dt {
	font: 600 12px/1.4 var(--f-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	white-space: nowrap;
}
.astunke-kontakt__list dd {
	margin: 0;
	font-size: var(--fs-base);
	line-height: 1.5;
	color: var(--c-ink);
}
.astunke-kontakt__list dd a { color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-line-strong); }
.astunke-kontakt__list dd a:hover { color: var(--c-red); border-bottom-color: var(--c-red); }

.astunke-kontakt__wa {
	margin-top: var(--sp-4);
	display: inline-flex; align-items: center; gap: .5rem;
}

.astunke-kontakt__map-form {
	display: flex; flex-direction: column;
	gap: var(--sp-4);
}
.astunke-kontakt__map {
	border: 1px solid var(--c-line);
	overflow: hidden;
}
.astunke-kontakt__form {
	padding: clamp(1.25rem, 2vw, 1.75rem);
	border: 1px solid var(--c-line);
	background: var(--c-bg-2, #f7f7f7);
}
.astunke-kontakt__form-title {
	margin: 0 0 var(--sp-4);
	font: 700 12px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-ink);
}
.astunke-kontakt__form-row {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: var(--sp-3);
	margin-bottom: var(--sp-3);
}
@media (max-width: 600px) {
	.astunke-kontakt__form-row { grid-template-columns: 1fr; }
}
.astunke-kontakt__form label {
	display: flex; flex-direction: column;
	gap: .35rem;
}
.astunke-kontakt__form label span {
	font: 600 11px/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-kontakt__form-row--full {
	display: flex; flex-direction: column; gap: .35rem;
	margin-bottom: var(--sp-4);
}
.astunke-kontakt__form input,
.astunke-kontakt__form textarea {
	width: 100%;
	padding: .65rem .75rem;
	font: 500 14px/1.4 var(--f-sans);
	border: 1px solid var(--c-line);
	background: var(--c-bg, #fff);
	color: var(--c-ink);
	transition: border-color .15s ease;
	resize: vertical;
}
.astunke-kontakt__form input:focus,
.astunke-kontakt__form textarea:focus {
	outline: none;
	border-color: var(--c-ink);
}

/* ========================================================================
   v1.5.0 — Blog: archive (home.php) + single-post reading layout
   ======================================================================== */

/* Blog archive header — same rhythm as outlet/kontaktai */
.astunke-blog-header {
	padding-block: var(--sp-3) var(--sp-5);
	max-width: 65ch;
}
.astunke-blog-header__eyebrow {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .22em;
	color: var(--c-red);
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
}
.astunke-blog-header__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.05;
	letter-spacing: -.02em;
	margin: 0 0 var(--sp-3);
}
.astunke-blog-header__lead {
	margin: 0;
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.55;
}

/* Featured post — large editorial card */
.astunke-blog-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
	padding-block: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(2rem, 5vw, 4rem);
}
@media (max-width: 900px) {
	.astunke-blog-featured { grid-template-columns: 1fr; gap: var(--sp-5); }
}
.astunke-blog-featured__media {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--c-bg-2);
	overflow: hidden;
	position: relative;
}
.astunke-blog-featured__img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.astunke-blog-featured__media:hover .astunke-blog-featured__img { transform: scale(1.03); }
.astunke-blog-featured__placeholder {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	color: var(--c-ink-mute);
	opacity: .35;
}
.astunke-blog-featured__body { min-width: 0; }
.astunke-blog-featured__eyebrow {
	display: inline-block;
	font: 700 10px/1 var(--f-mono);
	letter-spacing: .22em;
	color: var(--c-red);
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
	padding: .35rem .65rem;
	border: 1px solid rgba(220, 38, 38, .35);
}
.astunke-blog-featured__title {
	font-size: clamp(1.75rem, 2.6vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -.02em;
	margin: 0 0 var(--sp-3);
	max-width: 22ch;
}
.astunke-blog-featured__title a {
	color: var(--c-ink);
	text-decoration: none;
	background-image: linear-gradient(to right, var(--c-red), var(--c-red));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 2px;
	transition: background-size .3s ease;
}
.astunke-blog-featured__title a:hover { background-size: 100% 2px; }
.astunke-blog-featured__excerpt {
	color: var(--c-ink-soft);
	font-size: var(--fs-md);
	line-height: 1.6;
	margin: 0 0 var(--sp-4);
}
.astunke-blog-featured__meta {
	display: flex; align-items: center; gap: var(--sp-2);
	font: 600 12px/1 var(--f-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-mute);
	margin-bottom: var(--sp-5);
}
.astunke-blog-featured__meta .dot { color: var(--c-line-strong); }
.astunke-blog-featured__cta { display: inline-flex; align-items: center; gap: .5rem; }

/* Blog grid */
.astunke-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
	padding-bottom: clamp(2rem, 5vw, 4rem);
}
.astunke-blog-card {
	display: flex; flex-direction: column;
	background: var(--c-bg, #fff);
	border: 1px solid var(--c-line);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.astunke-blog-card:hover {
	transform: translateY(-2px);
	border-color: var(--c-line-strong);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
}
.astunke-blog-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--c-bg-2);
	overflow: hidden;
}
.astunke-blog-card__img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.astunke-blog-card:hover .astunke-blog-card__img { transform: scale(1.04); }
.astunke-blog-card__placeholder {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	color: var(--c-ink-mute);
	opacity: .35;
}
.astunke-blog-card__body {
	padding: var(--sp-4);
	display: flex; flex-direction: column;
	gap: .65rem;
	flex: 1;
}
.astunke-blog-card__meta {
	display: flex; align-items: center; gap: .5rem;
	font: 600 11px/1 var(--f-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-mute);
}
.astunke-blog-card__meta .dot { color: var(--c-line-strong); }
.astunke-blog-card__title {
	font-size: var(--fs-lg);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	margin: 0;
}
.astunke-blog-card__title a {
	color: var(--c-ink);
	text-decoration: none;
}
.astunke-blog-card__title a:hover { color: var(--c-red); }
.astunke-blog-card__excerpt {
	color: var(--c-ink-soft);
	font-size: var(--fs-sm);
	line-height: 1.55;
	margin: 0;
	flex: 1;
}
.astunke-blog-card__link {
	font: 600 12px/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-red);
	text-decoration: none;
	margin-top: .5rem;
	align-self: flex-start;
}
.astunke-blog-card__link:hover { color: var(--c-ink); }

.astunke-blog-empty {
	text-align: center;
	padding: clamp(3rem, 8vw, 5rem) var(--sp-4);
	max-width: 50ch;
	margin: 0 auto;
}

/* ---- Single-post reading layout ---- */
.astunke-post {
	background: var(--c-bg, #fff);
}
.astunke-post__header { padding-block: var(--sp-4) var(--sp-5); }
.astunke-post__header-inner {
	max-width: 75ch;
}
.astunke-post__eyebrow {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .22em;
	color: var(--c-red);
	text-transform: uppercase;
	margin-bottom: var(--sp-3);
}
.astunke-post__title {
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.05;
	letter-spacing: -.025em;
	margin: 0 0 var(--sp-4);
}
.astunke-post__meta {
	display: flex; align-items: center; gap: var(--sp-2);
	font: 600 12px/1 var(--f-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-post__meta .dot { color: var(--c-line-strong); }

.astunke-post__cover {
	margin-bottom: clamp(2rem, 5vw, 4rem);
}
.astunke-post__cover-img {
	width: 100%;
	max-height: 540px;
	object-fit: cover;
	display: block;
	background: var(--c-bg-2);
}

.astunke-post__body {
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* Reading-width content with rich typography */
.astunke-post__content {
	max-width: 70ch;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.75;
	color: var(--c-ink);
}
.astunke-post__content p {
	margin: 0 0 1.25em;
}
.astunke-post__content > p:first-of-type::first-letter {
	float: left;
	font-size: 3.25em;
	line-height: .85;
	margin: .05em .12em 0 0;
	font-weight: 700;
	color: var(--c-red);
}
.astunke-post__content h1,
.astunke-post__content h2,
.astunke-post__content h3 {
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.15;
	color: var(--c-ink);
}
.astunke-post__content h1 {
	font-size: 1.8em;
	margin: 2.25em 0 .75em;
	padding-top: 1em;
	border-top: 1px solid var(--c-line);
}
.astunke-post__content h2 {
	font-size: 1.45em;
	margin: 2em 0 .65em;
}
.astunke-post__content h3 {
	font-size: 1.2em;
	margin: 1.75em 0 .55em;
}
.astunke-post__content ul,
.astunke-post__content ol {
	margin: 0 0 1.5em;
	padding-left: 1.4em;
}
.astunke-post__content li {
	margin-bottom: .4em;
	line-height: 1.65;
}
.astunke-post__content blockquote {
	border-left: 3px solid var(--c-red);
	margin: 1.75em 0;
	padding: .25em 0 .25em 1.5em;
	font-style: italic;
	color: var(--c-ink);
	font-size: 1.1em;
	line-height: 1.6;
}
.astunke-post__content a {
	color: var(--c-red);
	text-decoration: none;
	border-bottom: 1px solid rgba(220, 38, 38, .3);
	transition: border-color .15s ease;
}
.astunke-post__content a:hover { border-bottom-color: var(--c-red); }
.astunke-post__content strong, .astunke-post__content b { color: var(--c-ink); font-weight: 700; }
.astunke-post__content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 1.75em auto;
}

/* Tables in post content — premium spec-sheet style */
.astunke-post__content table {
	width: 100%;
	margin: 1.75em 0;
	border-collapse: collapse;
	font-size: .95em;
	background: var(--c-bg, #fff);
	border: 1px solid var(--c-line);
}
.astunke-post__content table tr:first-child td {
	background: var(--c-ink);
	color: #fff;
	font: 700 11px/1.4 var(--f-mono);
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: .85rem 1rem;
}
.astunke-post__content table td {
	padding: .85rem 1rem;
	border-bottom: 1px solid var(--c-line);
	vertical-align: top;
	line-height: 1.5;
}
.astunke-post__content table tr:nth-child(even):not(:first-child) td {
	background: var(--c-bg-2);
}
.astunke-post__content table tr:last-child td { border-bottom: 0; }

/* Related posts under article */
.astunke-post__related {
	background: var(--c-bg-2);
	padding: clamp(2.5rem, 5vw, 4rem) 0;
	border-top: 1px solid var(--c-line);
}
.astunke-post__related .astunke-blog-card { background: var(--c-bg, #fff); }

/* End-of-article CTA */
.astunke-post__cta {
	background: var(--c-ink);
	color: var(--c-bg);
	padding: clamp(2rem, 4vw, 3rem) 0;
}
.astunke-post__cta-inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (max-width: 700px) {
	.astunke-post__cta-inner { grid-template-columns: 1fr; }
}
.astunke-post__cta h2 {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	margin: 0 0 .35rem;
	color: #fff;
	letter-spacing: -.015em;
}
.astunke-post__cta p {
	margin: 0;
	color: rgba(255, 255, 255, .75);
	font-size: var(--fs-md);
	line-height: 1.5;
}

/* ========================================================================
   v1.5.1 — Variable-product variation form (PDP): premium native-select polish
   Matches the design language used by the filter inputs and sort dropdown.
   ======================================================================== */

.variations_form .variations {
	display: block;
	width: 100%;
	margin: var(--sp-4) 0;
	border-collapse: collapse;
}
.variations_form .variations tbody,
.variations_form .variations tr {
	display: block;
}

/* Each row stacks: label on top, select below */
.variations_form .variations tr + tr { margin-top: var(--sp-4); }
.variations_form .variations th.label {
	display: block;
	padding: 0 0 var(--sp-2);
	border: 0;
	background: transparent;
	text-align: left;
}
.variations_form .variations th.label label {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font: 600 13px/1.2 var(--f-sans);
	letter-spacing: .02em;
	text-transform: none;
	color: var(--c-ink);
	margin: 0;
}
.variations_form .variations th.label label::after {
	content: '';
	flex: 1;
	min-width: 1.25rem;
	height: 1px;
	background: var(--c-line);
}
.variations_form .variations td.value {
	display: block;
	padding: 0;
	border: 0;
	position: relative;
}

/* The actual <select> — custom arrow, ink-on-focus, no native chrome */
.variations_form .variations select {
	width: 100%;
	padding: .85rem 2.75rem .85rem 1rem;
	font: 500 14px/1.2 var(--f-sans);
	color: var(--c-ink);
	background: var(--c-bg, #fff);
	border: 1px solid var(--c-line-strong);
	border-radius: 0;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: border-color .15s ease, background-color .15s ease;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 12px;
}
.variations_form .variations select:hover { border-color: var(--c-ink); }
.variations_form .variations select:focus {
	outline: none;
	border-color: var(--c-ink);
	box-shadow: 0 0 0 3px rgba(15, 23, 42, .06);
}

/* Disabled state when other attrs not yet picked */
.variations_form .variations select:disabled {
	background-color: var(--c-bg-2, #f7f7f7);
	color: var(--c-ink-soft);
	cursor: not-allowed;
	border-style: dashed;
}

/* Reset variations link — small mono-uppercase, red */
.variations_form .reset_variations {
	display: inline-block;
	margin-top: .55rem;
	padding: .25rem 0;
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-red);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .15s ease, border-color .15s ease;
}
.variations_form .reset_variations:hover {
	color: var(--c-ink);
	border-bottom-color: var(--c-ink);
}
.variations_form .reset_variations[style*="visibility: hidden"] { display: none !important; }

/* Picked-variation summary block (sits above the cart button after a selection
   is made) — show the selected variation's price + stock in a clean strip */
.variations_form .single_variation_wrap {
	margin-top: var(--sp-4);
}
.variations_form .single_variation .price {
	display: block;
	font: 800 clamp(1.5rem, 2.2vw, 1.875rem)/1.05 var(--f-sans);
	letter-spacing: -.018em;
	color: var(--c-ink);
	margin: 0 0 .5rem;
}
.variations_form .single_variation .price del { color: var(--c-ink-mute); margin-right: .5rem; font-weight: 600; }
.variations_form .single_variation .price ins { background: transparent; text-decoration: none; color: var(--c-red); }
.variations_form .single_variation .stock {
	display: inline-block;
	font: 700 11px/1 var(--f-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 var(--sp-3);
}
.variations_form .single_variation .stock.in-stock { color: var(--c-stock-in, #16a34a); }
.variations_form .single_variation .stock.out-of-stock { color: var(--c-ink-mute); }

/* WC errors / unavailable variation warning */
.variations_form .woocommerce-variation-availability p {
	margin: 0 0 var(--sp-3);
	padding: .65rem .85rem;
	background: var(--c-bg-2, #f7f7f7);
	border-left: 3px solid var(--c-red);
	font: 500 13px/1.5 var(--f-sans);
	color: var(--c-ink-soft);
}

/* Cart button row aligns the same way for simple AND variable products */
.variations_form .variations_button {
	margin-top: var(--sp-3);
}

/* ========================================================================
   v1.6.0 — Cookie consent banner
   Fixed strip at the bottom of the viewport. Hidden by default; JS toggles
   visibility once it knows the consent state from localStorage.
   ======================================================================== */

.astunke-cookies {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 100;
	background: var(--c-ink, #0f172a);
	color: #fff;
	border-top: 3px solid var(--c-red, #dc2626);
	box-shadow: 0 -12px 40px rgba(15, 23, 42, .25);
	padding: clamp(.85rem, 1.6vw, 1.25rem) clamp(1rem, 3vw, 2rem);
}
.astunke-cookies[hidden] { display: none !important; }

.astunke-cookies__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2rem);
}
@media (max-width: 768px) {
	.astunke-cookies__inner {
		flex-direction: column;
		align-items: stretch;
		gap: var(--sp-3);
	}
}

.astunke-cookies__text { flex: 1; min-width: 0; }
.astunke-cookies__title {
	display: block;
	font: 700 11px/1 var(--f-mono, inherit);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 .35rem;
}
.astunke-cookies__text p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .8);
}
.astunke-cookies__text a {
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
	text-decoration: none;
	padding-bottom: 1px;
}
.astunke-cookies__text a:hover { border-bottom-color: var(--c-red, #dc2626); }

.astunke-cookies__actions {
	display: flex;
	gap: var(--sp-2);
	flex-shrink: 0;
}
.astunke-cookies__btn {
	padding: .65rem 1.25rem;
	font: 700 11px/1 var(--f-mono, inherit);
	letter-spacing: .14em;
	text-transform: uppercase;
	border: 1px solid rgba(255, 255, 255, .25);
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.astunke-cookies__btn:hover {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .5);
}
.astunke-cookies__btn--accept {
	background: var(--c-red, #dc2626);
	border-color: var(--c-red, #dc2626);
}
.astunke-cookies__btn--accept:hover {
	background: #b81b1d;
	border-color: #b81b1d;
}

/* While the banner is visible, push the footer's free area up a touch so the
   banner doesn't visually overlap a 'back to top' or chat widget. */
html.astunke-has-cookie-banner { scroll-padding-bottom: 120px; }

/* Contact-form GDPR consent checkbox */
.astunke-kontakt__form-consent {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start;
	gap: .65rem;
	margin: 0 0 var(--sp-4);
}
.astunke-kontakt__form-consent input[type="checkbox"] {
	flex-shrink: 0;
	margin-top: .15rem;
	appearance: none;
	-webkit-appearance: none;
	width: 16px; height: 16px;
	border: 1.5px solid var(--c-line-strong);
	background: var(--c-bg, #fff);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.astunke-kontakt__form-consent input[type="checkbox"]:checked {
	background: var(--c-ink);
	border-color: var(--c-ink);
}
.astunke-kontakt__form-consent input[type="checkbox"]:checked::after {
	content: "";
	width: 9px; height: 5px;
	border-left: 2px solid #fff; border-bottom: 2px solid #fff;
	transform: translateY(-1px) rotate(-45deg);
}
.astunke-kontakt__form-consent span {
	font: 400 13px/1.5 var(--f-sans);
	color: var(--c-ink-soft);
}
.astunke-kontakt__form-consent a {
	color: var(--c-ink);
	text-decoration: underline;
	text-decoration-color: var(--c-line-strong);
	text-underline-offset: 2px;
}
.astunke-kontakt__form-consent a:hover { color: var(--c-red); text-decoration-color: var(--c-red); }

/* ---------- LEGAL / HELP PAGES ---------- */
/* Reading-oriented template: card surface + sticky TOC + tight typography
   rhythm. Used by /privatumo-politika/, /prekiu-pristatymas-ir-grazinimas/,
   and any other long-form policy page assigned the Teisinis puslapis template. */
.astunke-legal {
	padding-block: clamp(2rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem);
	background: var(--c-bg-2);
}
.astunke-legal .astunke-breadcrumb { margin-bottom: var(--sp-6); }

.astunke-legal__header {
	max-width: 70ch;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.astunke-legal__eyebrow {
	display: inline-block;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .12em;
	color: var(--c-red);
	margin-bottom: var(--sp-3);
}
.astunke-legal__title {
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	letter-spacing: -.035em;
	line-height: 1.05;
	font-weight: 800;
	margin: 0 0 var(--sp-4);
	color: var(--c-ink);
}
.astunke-legal__meta {
	font-size: var(--fs-sm);
	color: var(--c-ink-soft);
	font-family: var(--f-mono);
	letter-spacing: .04em;
}

.astunke-legal__layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}
@media (max-width: 900px) {
	.astunke-legal__layout { grid-template-columns: 1fr; }
	.astunke-legal__toc { order: 2; }
}

/* Sticky TOC sidebar */
.astunke-legal__toc { position: sticky; top: calc(var(--header-h) + var(--sp-5)); }
@media (max-width: 900px) {
	.astunke-legal__toc { position: static; }
}
.astunke-legal__toc-inner {
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: var(--sp-5) var(--sp-5) var(--sp-4);
}
.astunke-legal__toc-label {
	display: block;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin-bottom: var(--sp-3);
}
.astunke-legal__toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: legal-toc;
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
}
.astunke-legal__toc li {
	counter-increment: legal-toc;
	font-size: var(--fs-sm);
	line-height: 1.4;
}
.astunke-legal__toc a {
	display: flex;
	gap: .55rem;
	padding: var(--sp-2) 0;
	color: var(--c-ink-soft);
	transition: color var(--dur) var(--easing);
	border-bottom: 1px solid transparent;
}
.astunke-legal__toc a::before {
	content: counter(legal-toc, decimal-leading-zero);
	font-family: var(--f-mono);
	color: var(--c-ink-mute);
	font-size: var(--fs-xs);
	letter-spacing: .04em;
	flex-shrink: 0;
}
.astunke-legal__toc a:hover { color: var(--c-red); }
.astunke-legal__toc a:hover::before { color: var(--c-red); }

/* Content card */
.astunke-legal__content {
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: clamp(1.75rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3.5rem);
	max-width: 75ch;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--c-ink);
}
.astunke-legal__content > * + * { margin-top: var(--sp-4); }
.astunke-legal__content p { margin: 0; }
.astunke-legal__content h2 {
	font-size: var(--fs-xl);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.022em;
	margin-top: var(--sp-7);
	padding-top: var(--sp-5);
	border-top: 1px solid var(--c-line);
	color: var(--c-ink);
	scroll-margin-top: calc(var(--header-h) + var(--sp-5));
}
.astunke-legal__content h2:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.astunke-legal__content h2::before {
	content: '§ ';
	color: var(--c-red);
	font-weight: 600;
	margin-right: .15em;
}
.astunke-legal__content h3 {
	font-size: var(--fs-lg);
	line-height: 1.25;
	font-weight: 600;
	letter-spacing: -.018em;
	margin-top: var(--sp-5);
	color: var(--c-ink);
}
.astunke-legal__content h4 {
	font-size: var(--fs-md);
	line-height: 1.3;
	font-weight: 600;
	margin-top: var(--sp-5);
	color: var(--c-ink);
}
.astunke-legal__content ul,
.astunke-legal__content ol {
	margin: 0;
	padding-left: 1.4em;
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}
.astunke-legal__content ul li::marker { color: var(--c-red); }
.astunke-legal__content ol li::marker { color: var(--c-ink-soft); font-family: var(--f-mono); font-size: .85em; }
.astunke-legal__content a {
	color: var(--c-ink);
	text-decoration: underline;
	text-decoration-color: var(--c-red);
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
}
.astunke-legal__content a:hover {
	color: var(--c-red);
}
.astunke-legal__content strong { font-weight: 700; }
.astunke-legal__content hr {
	border: 0;
	border-top: 1px solid var(--c-line);
	margin-block: var(--sp-6);
}
.astunke-legal__content blockquote {
	margin: 0;
	padding: var(--sp-4) var(--sp-5);
	background: var(--c-bg-2);
	border-left: 3px solid var(--c-red);
	border-radius: var(--radius);
	font-size: var(--fs-base);
	color: var(--c-ink-soft);
}
.astunke-legal__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
}
.astunke-legal__content th,
.astunke-legal__content td {
	border: 1px solid var(--c-line);
	padding: var(--sp-3) var(--sp-4);
	text-align: left;
	vertical-align: top;
}
.astunke-legal__content th {
	background: var(--c-bg-2);
	font-weight: 600;
	font-family: var(--f-mono);
	font-size: var(--fs-xs);
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Callout block — usable in editor with class="astunke-legal__note" on a div */
.astunke-legal__content .astunke-legal__note {
	display: flex;
	gap: var(--sp-3);
	padding: var(--sp-4) var(--sp-5);
	background: var(--c-bg-2);
	border-radius: var(--radius-lg);
	border-left: 3px solid var(--c-ink);
	font-size: var(--fs-base);
}

/* =====================================================================
   v1.6 — Responsive polish
   Targets a real iPhone 13 (390px), older Android (360px), tablets, and the
   awkward 600-900px tablet-landscape range where the hamburger is on but
   real-estate is still cramped. Audited 2026-05-23.
   ===================================================================== */

/* ---------- Tablet (≤900px): drop the inline nav CTAs ---------- */
/* Outlet / Nuoma / Servisas pills should hide as soon as the hamburger appears.
   They live in the mobile menu instead. Keeps the header from wrapping or
   horizontally scrolling on iPad. */
@media (max-width: 900px) {
	.astunke-nav-cta { display: none; }
}

/* ---------- Mobile (≤768px): tighten layout, ensure 44px touch targets ---------- */
@media (max-width: 768px) {
	/* Icon buttons in the header — already 44×44 by default but enforce in case
	   another rule shrinks them. iOS Human Interface Guidelines minimum. */
	.astunke-icon-btn,
	.astunke-menu-toggle,
	.astunke-cart-link {
		min-width: 44px;
		min-height: 44px;
	}

	/* Topbar — already drops the 2nd message + contact info. Make the surviving
	   message scale with viewport instead of using a fixed micro size. */
	.astunke-topbar__messages { font-size: clamp(10px, 2.4vw, 12px); }
	.astunke-topbar__messages li { gap: .35rem; }

	/* Sticky-buy bar bottom-pinned: the product name often overflows on
	   narrow phones. Give it more room and let the price stay readable. */
	.astunke-sticky-buy {
		padding: var(--sp-3) var(--sp-4);
		gap: var(--sp-3);
	}
	.astunke-sticky-buy__name { max-width: 50vw; }

	/* Side cart panel — fixed width looked silly on small phones. Span almost
	   the whole viewport instead. */
	.astunke-side-cart__panel { width: min(420px, 100vw); }

	/* Mobile menu — full viewport instead of a fixed slider. Makes the search
	   field and category list actually usable. */
	.astunke-mobile-menu { width: 100vw; }

	/* Spec table on the PDP — let it scroll horizontally instead of squishing. */
	.astunke-pdp-specs { overflow-x: auto; -webkit-overflow-scrolling: touch; }

	/* Legal-page TOC sidebar — content card padding was generous, drop it. */
	.astunke-legal__content { padding: var(--sp-5) var(--sp-4); }
	.astunke-legal__title   { font-size: clamp(1.6rem, 6vw, 2rem); }
}

/* ---------- Small phones (≤400px): rescue the topbar + header from overflow ---------- */
@media (max-width: 400px) {
	.astunke-topbar { display: none; }                    /* hide entirely — it adds noise on phones */
	.astunke-header__inner { gap: var(--sp-2); padding-inline: var(--sp-3); }
	.astunke-icon-btn,
	.astunke-menu-toggle { width: 40px; height: 40px; }   /* shave a hair to fit */

	/* Cart count badge — needs to stay legible without overlapping the bag icon */
	.astunke-cart-link .astunke-cart-count {
		top: -3px; right: -3px;
		min-width: 16px; height: 16px;
		font-size: 9px;
	}

	/* Product cards: 2-up grid felt right on 768px but breaks at 360px. Go single column. */
	.astunke-product-grid { grid-template-columns: 1fr; }
	.astunke-card__title { font-size: var(--fs-base); }

	/* Brand strip + USP cards already collapse to 1col via earlier rules. */

	/* Body text: keep ≥16px to prevent iOS Safari's "tap-to-zoom" on input focus. */
	input, select, textarea { font-size: 16px !important; }
}

/* ---------- Forms: prevent iOS zoom-on-focus across all viewports ---------- */
@media (max-width: 768px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="search"],
	textarea,
	select {
		font-size: 16px;
	}
}

/* ---------- Site-wide: kill horizontal scroll on mobile ---------- */
/* Some embedded elements (wide tables, hero animations, third-party plugins)
   occasionally push past 100vw and trigger an unwanted horizontal scrollbar.
   Clip it at the viewport edges rather than letting it bleed. `clip` keeps
   sticky positioning + scroll-margin working, unlike plain `hidden`. */
@media (max-width: 768px) {
	html, body { overflow-x: clip; }
}

/* ---------- Tables on mobile: stack rows as cards ---------- */
/* WC uses `.shop_table_responsive` to opt into a mobile-friendly stack
   layout but it relies on theme CSS we hadn't supplied. Implement the
   standard pattern: hide the header row, each <tr> becomes a card, each
   <td> shows its data-title label inline. */
@media (max-width: 768px) {
	.astunke-legal__content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
	}

	/* ---- Cart-totals + checkout-review tables: stack as label/value rows ---- */
	.cart_totals .shop_table_responsive,
	.cart_totals .shop_table_responsive tbody,
	.cart_totals .shop_table_responsive tr,
	.cart_totals .shop_table_responsive td,
	#order_review .shop_table_responsive,
	#order_review .shop_table_responsive tbody,
	#order_review .shop_table_responsive tr,
	#order_review .shop_table_responsive td {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	.cart_totals .shop_table_responsive thead,
	#order_review .shop_table_responsive thead { display: none; }
	.cart_totals .shop_table_responsive tr > th,
	#order_review .shop_table_responsive tr > th { display: none; }
	.cart_totals .shop_table_responsive tr,
	#order_review .shop_table_responsive tr {
		border: 1px solid var(--c-line);
		border-radius: 0;
		margin-bottom: var(--sp-3);
		padding: 0;
		background: var(--c-bg);
	}
	.cart_totals .shop_table_responsive td,
	#order_review .shop_table_responsive td {
		text-align: right;
		padding: .8rem var(--sp-4);
		border-bottom: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--sp-4);
		font-variant-numeric: tabular-nums;
	}
	.cart_totals .shop_table_responsive td::before,
	#order_review .shop_table_responsive td::before {
		content: attr(data-title);
		font-family: var(--f-mono);
		font-size: var(--fs-xs);
		font-weight: 600;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: var(--c-ink-soft);
		flex-shrink: 0;
	}
	.cart_totals .shop_table_responsive .order-total td,
	#order_review .shop_table_responsive .order-total td {
		background: var(--c-ink);
		color: #fff;
		font-size: var(--fs-md);
		font-weight: 700;
		padding: var(--sp-4);
	}
	.cart_totals .shop_table_responsive .order-total td::before,
	#order_review .shop_table_responsive .order-total td::before {
		color: rgba(255,255,255,.7);
	}

	/* ---- Cart line-items: dense, two-line card layout ---- */
	/* Structure of each cart row:
	   - Thumbnail (top-left, 72px square)
	   - Product name (next to thumb, top-right)
	   - Remove × (absolute top-right corner)
	   - Qty stepper (bottom-left)
	   - Subtotal (bottom-right)
	   - Hide the redundant "Kaina" per-line price (== subtotal when qty=1) */
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive {
		display: block;
		border: 0;
		background: transparent;
		margin: 0;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive thead,
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive tr > th {
		display: none;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody { display: block; }
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive tr.cart_item {
		display: grid;
		grid-template-columns: 72px 1fr auto;
		grid-template-areas:
			"thumb  name     remove"
			"thumb  qty      subtotal";
		gap: var(--sp-2) var(--sp-4);
		align-items: center;
		padding: var(--sp-4);
		margin-bottom: var(--sp-3);
		border: 1px solid var(--c-line);
		background: var(--c-bg);
		position: relative;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive tr.cart_item > td {
		all: unset;
		display: flex;
		align-items: center;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-thumbnail {
		grid-area: thumb;
		justify-content: center;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-thumbnail img {
		width: 72px; height: 72px; object-fit: contain; background: var(--c-bg-2);
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-name {
		grid-area: name;
		font-weight: 600;
		font-size: var(--fs-base);
		line-height: 1.25;
		padding-right: var(--sp-5); /* leave room for the absolute X */
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-name a {
		color: var(--c-ink);
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-quantity {
		grid-area: qty;
		justify-content: flex-start;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-subtotal {
		grid-area: subtotal;
		justify-content: flex-end;
		font-weight: 700;
		font-size: var(--fs-md);
		font-variant-numeric: tabular-nums;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-remove {
		grid-area: remove;
		position: absolute;
		top: var(--sp-3);
		right: var(--sp-3);
		justify-content: flex-end;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-remove a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 30px; height: 30px;
		border-radius: 999px;
		background: var(--c-bg-2);
		color: var(--c-ink-soft);
		font-size: 16px;
		line-height: 1;
		text-decoration: none;
		transition: background .15s ease, color .15s ease;
	}
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-remove a:hover {
		background: var(--c-red); color: #fff;
	}
	/* Hide the per-line "Kaina" — it's the unit price and is the same as
	   "Suma" when qty=1, which is 99% of bike-parts orders. Subtotal is the
	   single number that matters per line. */
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive .product-price { display: none; }
	/* Hide data-title labels on the line-item grid — the visual layout
	   already conveys the meaning. */
	.woocommerce-cart .woocommerce-cart-form .shop_table_responsive tr.cart_item > td::before {
		display: none;
	}

	/* Cart actions row (coupon + update cart button) — full width, stacked */
	.woocommerce-cart .actions {
		display: block;
		padding: var(--sp-3) 0;
	}
	.woocommerce-cart .actions .coupon {
		display: flex;
		flex-wrap: wrap;
		gap: var(--sp-2);
		width: 100%;
		margin-bottom: var(--sp-3);
	}
	.woocommerce-cart .actions .coupon input[type="text"] { flex: 1 1 100%; min-width: 0; }
	.woocommerce-cart .actions .coupon button { flex: 1 1 100%; }
	.woocommerce-cart .actions button[name="update_cart"] { width: 100%; }
}

/* ---------- Footer on small phones: prevent over-stacked CTAs ---------- */
@media (max-width: 640px) {
	.astunke-footer__brand { text-align: left; }
	.astunke-footer__payment { gap: .35rem; flex-wrap: wrap; }
	.astunke-footer__payment span { font-size: var(--fs-xs); padding: .15rem .5rem; }
	.astunke-footer__bottom {
		flex-direction: column; gap: var(--sp-3);
		font-size: var(--fs-xs);
		text-align: center;
	}
}

/* =====================================================================
   v1.7 — PDP gallery thumbnails as horizontal carousel
   Vertical stack on mobile pushed the buy block below the fold. Match the
   standard ecommerce pattern (Amazon, Shopee, dviraciudalys) — single row of
   thumbnails that scrolls horizontally with snap on phones, fills available
   width as a grid on desktop.
   ===================================================================== */

.astunke-gallery__thumbs {
	display: flex;
	gap: 8px;
	margin-top: var(--sp-3);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--c-line-strong) transparent;
	padding-bottom: 4px;
	/* Bleed into the container edges on mobile so the carousel feels native. */
	margin-inline: calc(-1 * var(--sp-3));
	padding-inline: var(--sp-3);
}
.astunke-gallery__thumbs::-webkit-scrollbar { height: 4px; }
.astunke-gallery__thumbs::-webkit-scrollbar-thumb { background: var(--c-line-strong); border-radius: 2px; }

.astunke-gallery__thumb {
	/* Scale with viewport on very narrow phones so a 64px fixed thumb doesn't
	   force horizontal overflow under ~260px. */
	flex: 0 0 clamp(48px, 14vw, 64px);
	width: clamp(48px, 14vw, 64px);
	height: clamp(48px, 14vw, 64px);
	padding: 0;
	border: 2px solid var(--c-line);
	background: var(--c-bg-2);
	cursor: pointer;
	scroll-snap-align: start;
	overflow: hidden;
	transition: border-color var(--dur) var(--easing);
}
.astunke-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.astunke-gallery__thumb.is-active { border-color: var(--c-ink); }
.astunke-gallery__thumb:hover     { border-color: var(--c-ink-soft); }
.astunke-gallery__thumb:focus-visible {
	outline: 2px solid var(--c-red);
	outline-offset: 2px;
}

/* Tablet + up: bigger thumbs since vertical space isn't tight */
@media (min-width: 700px) {
	.astunke-gallery__thumb { flex: 0 0 80px; width: 80px; height: 80px; }
}
@media (min-width: 900px) {
	.astunke-gallery__thumbs { margin-inline: 0; padding-inline: 0; }
	.astunke-gallery__thumb  { flex: 0 0 90px; width: 90px; height: 90px; }
}

/* =====================================================================
   v2.1 — Visual desktop mega menu (4-item nav + visual card grid)
   ===================================================================== */

/* Outlet pill stays gold inside the nav (sits left of "Visos prekės") */
.astunke-mainnav__link--outlet { color: #d4af37 !important; font-weight: 700; }
.astunke-mainnav__link--outlet:hover { color: #ffd24a !important; }

/* Mega panel — anchored to the sticky .astunke-header so it always drops
   exactly below the header's bottom edge regardless of scroll state. */
.astunke-megamenu {
	position: absolute;
	left: 50%;
	top: 100%;
	margin-top: 1px;
	transform: translate(-50%, 8px);
	box-sizing: border-box;
	width: min(960px, calc(100vw - 24px));
	max-width: 100vw;
	background: var(--c-bg);
	color: var(--c-ink);
	border: 1px solid var(--c-line);
	border-top: 3px solid var(--c-red);
	box-shadow: 0 28px 56px -16px rgba(15,23,42,.22);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity var(--dur) var(--easing), transform var(--dur) var(--easing), visibility 0s linear var(--dur);
	z-index: 60;
}
.astunke-mainnav__item.is-open .astunke-megamenu {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transform: translate(-50%, 0);
	transition: opacity var(--dur) var(--easing), transform var(--dur) var(--easing), visibility 0s;
}
.astunke-megamenu__inner { padding: var(--sp-4) var(--sp-5) var(--sp-5); }
.astunke-megamenu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	padding-bottom: var(--sp-3);
	margin-bottom: var(--sp-4);
	border-bottom: 1px solid var(--c-line);
}
.astunke-megamenu__eyebrow {
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-megamenu__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--c-ink);
	font: 600 12px/1 var(--f-sans);
	text-transform: none;
	letter-spacing: 0;
	padding: 8px 12px;
	background: var(--c-bg-2);
	border: 0;
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
.astunke-megamenu__all:hover { background: var(--c-ink); color: var(--c-bg); }
.astunke-megamenu__all svg { transition: transform var(--dur) var(--easing); }
.astunke-megamenu__all:hover svg { transform: translateX(2px); }

/* Card grid — 4×2 grid on wide, 3×3 on narrower desktop */
.astunke-megamenu__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 1100px) {
	.astunke-megamenu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Card: block-stack, image area on top fills the card visually */
.astunke-megacard {
	display: flex;
	flex-direction: column;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	text-decoration: none;
	color: var(--c-ink);
	transition: border-color var(--dur) var(--easing), transform var(--dur) var(--easing), box-shadow var(--dur) var(--easing);
	position: relative;
	overflow: hidden;
	min-width: 0;
}
.astunke-megacard:hover {
	border-color: var(--c-ink);
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -16px rgba(15,23,42,.25);
}
.astunke-megacard::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 0;
	background: var(--c-red);
	transition: height var(--dur) var(--easing);
}
.astunke-megacard:hover::after { height: 3px; }

/* Image area — taller, image fills more of it for visual punch */
.astunke-megacard__media {
	position: relative;
	width: 100%;
	height: 140px;
	background: var(--c-bg-2);
	overflow: hidden;
}
.astunke-megacard__media img {
	position: absolute;
	inset: 8px;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform var(--dur) var(--easing);
}
.astunke-megacard:hover .astunke-megacard__media img { transform: scale(1.06); }

.astunke-megacard__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px 14px;
	border-top: 1px solid var(--c-line);
	min-width: 0;
	flex: 1;
}
.astunke-megacard__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font: 700 14px/1.25 var(--f-sans);
	letter-spacing: -.015em;
	color: var(--c-ink);
	text-transform: none;
	overflow: hidden;
	word-break: break-word;
	overflow-wrap: anywhere;
	min-height: 2.5em;
}
.astunke-megacard__count {
	display: block;
	font: 600 10px/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-red);
}
.astunke-megacard__kids { display: none; }

/* Hide mega panel on tablet + mobile — the mobile menu replaces it */
@media (max-width: 900px) {
	.astunke-megamenu { display: none !important; }
	.astunke-mainnav__chev { display: none; }
}

/* =====================================================================
   v3.1 — 404 page + WC my-account styling
   ===================================================================== */

/* ---------- 404 ---------- */
.astunke-404 {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--c-bg);
	color: var(--c-ink);
	position: relative;
	overflow: hidden;
}
.astunke-404::before {
	content: '404';
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	font: 900 clamp(20rem, 50vw, 36rem)/1 var(--f-sans);
	letter-spacing: -.06em;
	color: var(--c-bg-2);
	z-index: 0;
	user-select: none;
	pointer-events: none;
}
.astunke-404 > .astunke-container {
	position: relative;
	z-index: 1;
	max-width: 720px;
	text-align: center;
}
.astunke-404__head { margin-bottom: clamp(2rem, 4vw, 3rem); }
.astunke-404__eyebrow {
	display: inline-block;
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-red);
	margin-bottom: var(--sp-4);
}
.astunke-404__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	letter-spacing: -.035em;
	line-height: 1.05;
	font-weight: 800;
	margin: 0 0 var(--sp-5);
	color: var(--c-ink);
	text-wrap: balance;
}
.astunke-404__lead {
	font-size: var(--fs-md);
	color: var(--c-ink-soft);
	max-width: 50ch;
	margin: 0 auto;
	line-height: 1.6;
}
.astunke-404__search {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.astunke-404__search-label {
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.astunke-404__search form,
.astunke-404__search .astunke-search,
.astunke-404__search .search-form {
	background: var(--c-bg);
	border: 1px solid var(--c-line-strong);
	min-width: 0;
	max-width: 480px;
	width: 100%;
	margin: 0 auto;
	color: var(--c-ink);
	padding: .8rem 1rem;
}
.astunke-404__search input { color: var(--c-ink); }
.astunke-404__search input::placeholder { color: var(--c-ink-mute); }
.astunke-404__cta {
	display: flex;
	gap: var(--sp-3);
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.astunke-404__help {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-top: 1px solid var(--c-line);
	background: var(--c-bg-2);
	text-align: center;
}
.astunke-404__help-title {
	font-size: var(--fs-lg);
	font-weight: 700;
	margin: 0 0 var(--sp-2);
	color: var(--c-ink);
}
.astunke-404__help-lead {
	color: var(--c-ink-soft);
	font-size: var(--fs-base);
	max-width: 48ch;
	margin: 0 auto var(--sp-5);
	line-height: 1.55;
}
.astunke-404__help-actions {
	display: flex;
	gap: var(--sp-4);
	justify-content: center;
	flex-wrap: wrap;
}
.astunke-404__help-link {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font: 600 var(--fs-sm)/1 var(--f-sans);
	color: var(--c-ink);
	padding: .6rem .2rem;
	border-bottom: 1px solid transparent;
	transition: color var(--dur) var(--easing), border-color var(--dur) var(--easing);
}
.astunke-404__help-link:hover { color: var(--c-red); border-bottom-color: var(--c-red); }
.astunke-404__help-link svg { color: var(--c-red); flex-shrink: 0; }

/* ---------- WC MY-ACCOUNT ---------- */
.woocommerce-account .astunke-main { padding-block: clamp(2.5rem, 6vw, 4.5rem); background: var(--c-bg-2); }
.woocommerce-account .astunke-main > .astunke-container,
.woocommerce-account .astunke-container { max-width: 1100px; }
.woocommerce-account h1.entry-title,
.woocommerce-account .entry-title {
	font-size: clamp(2rem, 4.5vw, 3rem);
	letter-spacing: -.035em;
	font-weight: 800;
	line-height: 1.05;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	color: var(--c-ink);
}
.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
@media (min-width: 900px) {
	.woocommerce-account .woocommerce.logged-in,
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 260px 1fr;
	}
}

/* Sidebar nav */
.woocommerce-MyAccount-navigation {
	background: var(--c-bg);
	border-right: 1px solid var(--c-line);
	padding-right: clamp(1rem, 2vw, 1.5rem);
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	padding: var(--sp-3) var(--sp-4);
	font: 500 var(--fs-base)/1.2 var(--f-sans);
	color: var(--c-ink-soft);
	border-left: 3px solid transparent;
	text-decoration: none;
	transition: color var(--dur) var(--easing), background var(--dur) var(--easing), border-color var(--dur) var(--easing);
}
.woocommerce-MyAccount-navigation li a:hover { color: var(--c-ink); background: var(--c-bg-2); }
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
	color: var(--c-ink);
	border-left-color: var(--c-red);
	background: var(--c-bg-2);
	font-weight: 700;
}

/* Content area */
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-size: var(--fs-xl);
	font-weight: 700;
	letter-spacing: -.022em;
	margin-bottom: var(--sp-4);
	color: var(--c-ink);
}
.woocommerce-MyAccount-content p { margin-bottom: var(--sp-4); line-height: 1.6; }
.woocommerce-MyAccount-content address {
	font-style: normal;
	padding: var(--sp-4);
	background: var(--c-bg-2);
	border: 1px solid var(--c-line);
	line-height: 1.6;
}

/* Forms (login + register + edit-account) */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields,
.woocommerce-ResetPassword {
	max-width: 460px;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row,
.woocommerce-ResetPassword .form-row {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	margin-bottom: var(--sp-4);
}
.woocommerce-form-login label,
.woocommerce-form-register label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label,
.woocommerce-ResetPassword label {
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input,
.woocommerce-EditAccountForm input,
.woocommerce-address-fields input,
.woocommerce-ResetPassword input,
.woocommerce-account select,
.woocommerce-account textarea {
	width: 100%;
	padding: .85rem 1rem;
	border: 1px solid var(--c-line-strong);
	background: var(--c-bg);
	color: var(--c-ink);
	border-radius: 0;
	font: 500 var(--fs-base)/1.3 var(--f-sans);
	transition: border-color var(--dur) var(--easing), box-shadow var(--dur) var(--easing);
}
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-ResetPassword input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
	outline: none;
	border-color: var(--c-ink);
	box-shadow: 0 0 0 3px rgba(15,23,42,.06);
}
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"],
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"],
.woocommerce-account .button:not(.alt),
.woocommerce-account form .button {
	background: var(--c-red);
	color: #fff;
	border: 0;
	padding: 1rem 2rem;
	font: 700 var(--fs-sm)/1 var(--f-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 0;
	transition: background var(--dur) var(--easing);
}
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce-account .button:not(.alt):hover,
.woocommerce-account form .button:hover { background: var(--c-red-hover); }

/* Lost-password link, remember-me + forgot under login */
.woocommerce-LostPassword,
.woocommerce-form__label-for-checkbox { font-size: var(--fs-sm); color: var(--c-ink-soft); }
.woocommerce-LostPassword a { color: var(--c-red); text-decoration: underline; text-underline-offset: 2px; }

/* Login + register columns (when shown side-by-side) */
.woocommerce-account:not(.logged-in) .u-columns {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (min-width: 720px) {
	.woocommerce-account:not(.logged-in) .u-columns { grid-template-columns: 1fr 1fr; }
}

/* Orders list */
table.woocommerce-orders-table,
table.shop_table.my_account_orders {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
}
table.woocommerce-orders-table th,
table.shop_table.my_account_orders th {
	background: var(--c-bg-2);
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	padding: var(--sp-3) var(--sp-4);
	text-align: left;
	border-bottom: 1px solid var(--c-line);
}
table.woocommerce-orders-table td,
table.shop_table.my_account_orders td {
	padding: var(--sp-4);
	border-bottom: 1px solid var(--c-line);
	vertical-align: middle;
}
table.woocommerce-orders-table .order-actions a,
table.shop_table.my_account_orders .order-actions a {
	display: inline-flex;
	margin-right: .5rem;
	padding: .35rem .8rem;
	font: 600 var(--fs-xs)/1 var(--f-mono);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-ink);
	border: 1px solid var(--c-line-strong);
	background: var(--c-bg);
	transition: background var(--dur) var(--easing), color var(--dur) var(--easing);
}
table.woocommerce-orders-table .order-actions a:hover,
table.shop_table.my_account_orders .order-actions a:hover {
	background: var(--c-ink); color: var(--c-bg);
}

/* Notices on WC pages — red bar already styled elsewhere but ensure padding */
.woocommerce-account .woocommerce-notices-wrapper { margin-bottom: var(--sp-4); }
