/* ==========================================================================
   Autičkovo — obchod: výpis, karta produktu, detail, EU štítok,
   košík, pokladňa a účet (blokové aj klasické šablóny WooCommerce)
   ========================================================================== */

/* ---------- Spoločné drobnosti ---------- */
.star-rating,
.woocommerce-product-rating,
.wc-block-components-product-rating,
.wc-block-grid__product-rating,
a.added_to_cart,
.ak-buy__form .stock {
	display: none !important;
}

.onsale,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale {
	display: inline-flex;
	align-items: center;
	height: 26px;
	padding: 0 .7em;
	border: 1px solid rgba(255, 107, 26, .45);
	border-radius: 999px;
	background: rgba(255, 107, 26, .12);
	color: var(--ak-accent-2);
	font-family: var(--ak-font-display);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.woocommerce-Price-amount bdi { white-space: nowrap; }
.woocommerce-price-suffix { font-size: .55em; font-weight: 500; color: var(--ak-dim); }

@keyframes ak-spin { to { transform: rotate(360deg); } }
@keyframes ak-wave { 0%, 100% { opacity: .25; } 40% { opacity: 1; } }
@keyframes ak-pop { 0% { transform: scale(.6); opacity: 0; } 100% { transform: none; opacity: 1; } }

/* ---------- Hlavička výpisu ---------- */
.ak-shop-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(28px, 5vw, 64px) clamp(28px, 4vw, 48px);
	border-bottom: 1px solid var(--ak-line);
}

.ak-shop-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -40%;
	right: -10%;
	width: min(760px, 90vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 107, 26, .16), transparent 70%);
	pointer-events: none;
}

.ak-shop-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(var(--ak-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--ak-line) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: radial-gradient(80% 90% at 80% 0%, #000 0%, transparent 70%);
	mask-image: radial-gradient(80% 90% at 80% 0%, #000 0%, transparent 70%);
	opacity: .5;
	pointer-events: none;
}

.ak-shop-hero .ak-crumbs { margin-bottom: clamp(18px, 3vw, 28px); }

.ak-shop-hero__title {
	margin: 14px 0 12px;
	max-width: 18ch;
	font-family: var(--ak-font-display);
	font-size: clamp(2.4rem, 6.4vw, 5.4rem);
	font-weight: 700;
	line-height: .95;
	letter-spacing: -.04em;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.ak-shop-hero__count {
	margin: 0;
	font-size: 1rem;
	color: var(--ak-muted);
}

.ak-shop-hero__count strong {
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ak-active {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.ak-active__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 12px 0 14px;
	border: 1px solid rgba(255, 107, 26, .45);
	border-radius: 999px;
	background: rgba(255, 107, 26, .08);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .92rem;
	font-weight: 600;
	text-decoration: none;
}

.ak-active__pill small {
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-muted);
}

.ak-active__pill svg { color: var(--ak-accent-2); }

.ak-active__pill:hover {
	border-color: var(--ak-accent);
	background: rgba(255, 107, 26, .16);
}

.ak-active__clear {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 8px;
	font-size: .88rem;
	color: var(--ak-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ak-active__clear:hover { color: var(--ak-text); }

/* ---------- Rozloženie výpisu ---------- */
.ak-shop {
	padding-block: clamp(18px, 3vw, 28px) clamp(64px, 8vw, 120px);
}

.ak-catchips {
	margin-inline: calc(var(--ak-gutter) * -1);
}

.ak-catchips ul {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 2px var(--ak-gutter) 6px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--ak-gutter), #000 calc(100% - var(--ak-gutter)), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 var(--ak-gutter), #000 calc(100% - var(--ak-gutter)), transparent 100%);
}

.ak-catchips ul::-webkit-scrollbar { display: none; }
.ak-catchips li { flex: none; scroll-snap-align: start; }

.ak-catchip {
	--c: var(--ak-accent);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: rgba(255, 255, 255, .025);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .92rem;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}

.ak-catchip--summer { --c: var(--ak-summer); }
.ak-catchip--winter { --c: var(--ak-winter); }
.ak-catchip--allseason { --c: var(--ak-allseason); }

.ak-catchip--summer::before,
.ak-catchip--winter::before,
.ak-catchip--allseason::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: 0 0 10px var(--c);
}

.ak-catchip:hover { border-color: color-mix(in srgb, var(--c) 60%, transparent); }

.ak-catchip.is-active {
	border-color: var(--c);
	background: color-mix(in srgb, var(--c) 14%, transparent);
	color: var(--ak-text);
	font-weight: 600;
}

.ak-shop__layout { margin-top: clamp(16px, 2.4vw, 28px); }

@media (min-width: 960px) {
	.ak-shop__layout {
		display: grid;
		grid-template-columns: 272px minmax(0, 1fr);
		gap: clamp(24px, 3vw, 44px);
		align-items: start;
	}
}

@media (min-width: 1400px) {
	.ak-shop__layout { grid-template-columns: 296px minmax(0, 1fr); }
}

.ak-shop__main { min-width: 0; }

/* ---------- Filtre (mobil: vysúvací panel, desktop: lepkavý bočný panel) ---------- */
.ak-filters {
	position: fixed;
	z-index: 1100;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(420px, 100%);
	border-left: 1px solid var(--ak-line-2);
	background: var(--ak-bg-2);
	box-shadow: -30px 0 80px -20px rgba(0, 0, 0, .7);
	transform: translateX(100%);
	visibility: hidden;
}

.ak-filters.is-open {
	transform: none;
	visibility: visible;
}

@media (prefers-reduced-motion: no-preference) {
	.ak-filters { transition: transform .38s var(--ak-ease), visibility 0s linear .38s; }
	.ak-filters.is-open { transition: transform .38s var(--ak-ease), visibility 0s; }
}

.ak-filters__head {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px 14px 20px;
	border-bottom: 1px solid var(--ak-line);
}

.ak-filters__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--ak-font-display);
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: -.01em;
}

.ak-filters__title svg { color: var(--ak-accent); }

.ak-filters__close {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ak-line-2);
	border-radius: 50%;
	background: transparent;
	color: var(--ak-text);
	cursor: pointer;
}

.ak-filters__close:hover { border-color: var(--ak-accent); color: var(--ak-accent-2); }

.ak-filters__body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 20px 20px 0;
	scrollbar-width: thin;
	scrollbar-color: var(--ak-surface-3) transparent;
}

.ak-filters__scrim {
	position: fixed;
	z-index: 1090;
	inset: 0;
	background: rgba(5, 6, 8, .62);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
}

.ak-filters__scrim.is-open { opacity: 1; }

@media (prefers-reduced-motion: no-preference) {
	.ak-filters__scrim { transition: opacity .3s var(--ak-ease); }
}

html.ak-sheet-open,
html.ak-sheet-open body { overflow: hidden; }

/* Bez JS: filtre ako bežný blok nad výpisom. */
html:not(.js) .ak-filters {
	position: static;
	width: auto;
	margin-bottom: 24px;
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r-lg);
	transform: none;
	visibility: visible;
	box-shadow: none;
}

html:not(.js) .ak-filters__close,
html:not(.js) .ak-toolbar__filter { display: none; }

@media (min-width: 960px) {
	.ak-filters {
		position: sticky;
		z-index: 2;
		top: calc(var(--ak-header-h) + 20px);
		right: auto;
		bottom: auto;
		width: auto;
		max-height: calc(100vh - var(--ak-header-h) - 40px);
		max-height: calc(100dvh - var(--ak-header-h) - 40px);
		border: 1px solid var(--ak-glass-line);
		border-radius: var(--ak-r-lg);
		background: var(--ak-glass);
		-webkit-backdrop-filter: var(--ak-blur);
		backdrop-filter: var(--ak-blur);
		box-shadow: var(--ak-shadow);
		overflow: hidden;
		transform: none;
		visibility: visible;
		transition: none;
	}

	.ak-filters__head { padding: 16px 20px; }
	.ak-filters__close,
	.ak-filters__scrim,
	.ak-toolbar__filter { display: none !important; }
}

.ak-filters__form { display: block; }

.ak-fgroup {
	min-width: 0;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid var(--ak-line);
}

.ak-fgroup__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
	font-family: var(--ak-font-display);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ak-muted);
}

.ak-fgroup__title svg { color: var(--ak-accent); }

.ak-fsize {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.ak-filters .ak-field { gap: 6px; }

.ak-filters .ak-field label {
	font-size: .72rem;
	font-weight: 500;
	color: var(--ak-dim);
}

.ak-filters select {
	width: 100%;
	min-width: 0;
	min-height: 46px;
	padding: 0 30px 0 12px;
	border: 1px solid var(--ak-line-2);
	border-radius: var(--ak-r-sm);
	background-color: var(--ak-surface);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .98rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-overflow: ellipsis;
}

.ak-filters select:focus-visible {
	outline: 2px solid var(--ak-accent);
	outline-offset: 1px;
	border-color: var(--ak-accent);
}

.ak-fhint {
	margin: 10px 0 0;
	font-size: .8rem;
	line-height: 1.45;
	color: var(--ak-dim);
}

.ak-fhint b { color: var(--ak-muted); font-weight: 600; }

.ak-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ak-pill {
	--c: var(--ak-accent);
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.ak-pill--letne { --c: var(--ak-summer); }
.ak-pill--zimne { --c: var(--ak-winter); }
.ak-pill--celorocne { --c: var(--ak-allseason); }
.ak-pill--specialne { --c: var(--ak-special); }

.ak-pill input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.ak-pill > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: rgba(255, 255, 255, .025);
	color: var(--ak-text);
	font-size: .88rem;
	font-weight: 500;
	line-height: 1.1;
	pointer-events: none;
}

.ak-pill > span svg { color: var(--c); }

.ak-pill small {
	font-size: .7rem;
	font-weight: 400;
	color: var(--ak-dim);
}

.ak-pill:hover > span { border-color: color-mix(in srgb, var(--c) 55%, transparent); }

.ak-pill input:checked + span {
	border-color: var(--c);
	background: color-mix(in srgb, var(--c) 14%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 14%, transparent);
	font-weight: 600;
}

.ak-pill input:checked + span small { color: var(--ak-muted); }

.ak-pill input:focus-visible + span {
	outline: 2px solid var(--ak-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
	.ak-pill > span { transition: border-color .2s, background-color .2s, box-shadow .2s; }
}

html.js .ak-feat-nojs,
html:not(.js) .ak-feat-js { display: none; }

.ak-factions {
	position: sticky;
	bottom: 0;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	margin: 0 -20px;
	padding: 14px 20px calc(16px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--ak-line);
	background: var(--ak-bg-2);
}

@media (min-width: 960px) {
	.ak-factions {
		background: linear-gradient(180deg, rgba(16, 18, 22, .6), var(--ak-bg-2) 40%);
		padding-bottom: 16px;
	}
}

.ak-factions .ak-btn { min-height: 46px; }
.ak-factions .ak-btn--ghost { padding-inline: 1.1em; font-size: .88rem; }

/* ---------- Panel s nástrojmi nad mriežkou ---------- */
.ak-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin-bottom: clamp(16px, 2vw, 22px);
	padding-bottom: clamp(14px, 2vw, 18px);
	border-bottom: 1px solid var(--ak-line);
}

.ak-toolbar__filter { gap: .5em; }

.ak-toolbar__n {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--ak-accent);
	color: var(--ak-accent-ink);
	font-size: .72rem;
	font-weight: 700;
}

.ak-toolbar__count {
	margin: 0 auto 0 0;
	font-size: .9rem;
	color: var(--ak-muted);
	font-variant-numeric: tabular-nums;
}

.ak-toolbar__order { margin-left: auto; }

.woocommerce-ordering { margin: 0; }

.woocommerce-ordering select.orderby {
	min-height: 42px;
	max-width: 100%;
	padding: 0 36px 0 16px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background-color: var(--ak-surface);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .9rem;
	font-weight: 500;
	cursor: pointer;
}

.woocommerce-ordering select.orderby:focus-visible {
	outline: 2px solid var(--ak-accent);
	outline-offset: 2px;
}

@media (max-width: 479.98px) {
	.ak-toolbar__count { display: none; }
}

/* ---------- Mriežka produktov ---------- */
ul.products.ak-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.products.ak-products::before,
ul.products.ak-products::after { display: none; }

@media (min-width: 640px) {
	ul.products.ak-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

@media (min-width: 1100px) {
	ul.products.ak-products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
	.ak-shop__main ul.products.ak-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1400px) {
	.ak-shop__main ul.products.ak-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Karta produktu ---------- */
.ak-pcard {
	--rx: 0deg;
	--ry: 0deg;
	--mx: 50%;
	--my: 0%;
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 5px;
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r-lg);
	background: linear-gradient(180deg, var(--ak-surface) 0%, var(--ak-bg-2) 100%);
	transform-style: preserve-3d;
}

.ak-pcard::before {
	content: "";
	position: absolute;
	z-index: 3;
	inset: -1px;
	padding: 1px;
	border-radius: inherit;
	background: radial-gradient(280px circle at var(--mx) var(--my), rgba(255, 143, 77, .9), rgba(255, 107, 26, .25) 40%, transparent 65%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	opacity: 0;
	pointer-events: none;
}

.ak-pcard:hover::before,
.ak-pcard:focus-within::before { opacity: 1; }

.ak-pcard:hover {
	border-color: var(--ak-line-2);
	box-shadow: 0 26px 60px -28px rgba(0, 0, 0, .85), 0 0 46px -18px var(--ak-accent-glow);
}

@media (prefers-reduced-motion: no-preference) {
	.ak-pcard {
		transition: transform .5s var(--ak-ease), box-shadow .5s var(--ak-ease), border-color .3s;
		will-change: transform;
	}
	.ak-pcard::before { transition: opacity .35s var(--ak-ease); }
	.ak-pcard:hover { transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px); }
	.ak-pcard.is-tilting { transition: transform .14s linear, box-shadow .5s var(--ak-ease), border-color .3s; }
}

.ak-pcard__media {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: calc(var(--ak-r-lg) - 5px);
	overflow: hidden;
}

.ak-pcard__plate,
.ak-gallery__plate {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 11%;
	background:
		radial-gradient(70% 60% at 50% 40%, #FFFFFF 0%, rgba(255, 255, 255, 0) 70%),
		radial-gradient(120% 100% at 50% 30%, #ECEEF1 0%, #D5D9DF 55%, #AEB5BF 100%);
}

.ak-pcard__plate::after,
.ak-gallery__plate::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06), inset 0 -50px 60px -40px rgba(10, 11, 13, .45);
	pointer-events: none;
}

.ak-pcard__img,
.ak-pcard__plate img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

@media (prefers-reduced-motion: no-preference) {
	.ak-pcard__img,
	.ak-pcard__plate img { transition: transform .7s var(--ak-ease); }
	.ak-pcard:hover .ak-pcard__img,
	.ak-pcard:hover .ak-pcard__plate img { transform: scale(1.07) rotate(-2deg); }
}

.ak-pcard__flags,
.ak-gallery__flags {
	position: absolute;
	z-index: 2;
	top: 8px;
	left: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	max-width: 70%;
}

.ak-pcard__flags .ak-badge,
.ak-gallery__flags .ak-badge {
	height: 24px;
	padding: 0 .6em;
	border-color: color-mix(in srgb, var(--ak-badge-c) 45%, transparent);
	background: rgba(10, 11, 13, .84);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: .66rem;
}

.ak-pcard__sale { --ak-badge-c: var(--ak-accent-2); }

.ak-pcard__feats {
	position: absolute;
	z-index: 2;
	top: 8px;
	right: 8px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ak-pcard__feats li {
	padding: 5px 7px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 7px;
	background: rgba(10, 11, 13, .84);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .62rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .05em;
}

.ak-pcard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 7px;
	padding: 12px 7px 7px;
}

@media (min-width: 640px) {
	.ak-pcard { padding: 6px; }
	.ak-pcard__body { gap: 8px; padding: 16px 12px 10px; }
	.ak-pcard__flags, .ak-pcard__feats { top: 10px; }
	.ak-pcard__flags { left: 10px; }
	.ak-pcard__feats { right: 10px; }
}

.ak-pcard__brand {
	margin: 0;
	font-family: var(--ak-font-display);
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ak-muted);
}

.ak-pcard__title {
	display: -webkit-box;
	min-height: 2.4em;
	margin: 0;
	overflow: hidden;
	font-family: var(--ak-font-display);
	font-size: clamp(.98rem, 1.3vw, 1.14rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.02em;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow-wrap: anywhere;
}

.ak-pcard__link {
	color: var(--ak-text);
	text-decoration: none;
	outline: none;
}

.ak-pcard__link::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	border-radius: var(--ak-r-lg);
}

.ak-pcard__link:focus-visible::after {
	outline: 2px solid var(--ak-accent);
	outline-offset: 3px;
}

.ak-pcard:hover .ak-pcard__link { color: #fff; }

.ak-pcard__size {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0;
	font-family: var(--ak-font-display);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
}

.ak-pcard__size span {
	padding: 3px 7px;
	border: 1px solid var(--ak-line);
	border-radius: 6px;
	background: var(--ak-surface-2);
	color: var(--ak-text);
	white-space: nowrap;
}

.ak-pcard__size .ak-pcard__ls { color: var(--ak-muted); }

.ak-pcard__foot {
	display: grid;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.ak-pcard__buy {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 4px 10px;
}

.ak-pcard__price {
	font-family: var(--ak-font-display);
	font-size: clamp(1.18rem, 2vw, 1.5rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -.03em;
	color: var(--ak-text);
	font-variant-numeric: tabular-nums;
}

.ak-pcard__price del,
.ak-buy__price del,
.ak-buybar__price del {
	display: block;
	font-size: .62em;
	font-weight: 500;
	color: var(--ak-dim);
	text-decoration-thickness: 1px;
}

.ak-pcard__price ins,
.ak-buy__price ins,
.ak-buybar__price ins {
	color: var(--ak-accent-2);
	text-decoration: none;
}

.ak-stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: .76rem;
	font-weight: 500;
	color: var(--ak-muted);
	white-space: nowrap;
}

.ak-stock__dot {
	flex: none;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ak-dim);
}

.ak-stock--ok { color: var(--ak-ok); }
.ak-stock--ok .ak-stock__dot { background: var(--ak-ok); box-shadow: 0 0 0 3px rgba(57, 217, 138, .18), 0 0 10px rgba(57, 217, 138, .6); }
.ak-stock--wait { color: var(--ak-warn); }
.ak-stock--wait .ak-stock__dot { background: var(--ak-warn); }
.ak-stock--out { color: var(--ak-muted); }
.ak-stock--out .ak-stock__dot { background: var(--ak-err); }

.ak-pcard__cta {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(255, 107, 26, .42);
	border-radius: 999px;
	background: rgba(255, 107, 26, .1);
	color: var(--ak-accent-2);
	font-family: var(--ak-font-display);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	overflow: hidden;
}

.ak-pcard:hover .ak-pcard__cta,
.ak-pcard__cta:hover,
.ak-pcard__cta:focus-visible {
	border-color: transparent;
	background: var(--ak-accent);
	color: var(--ak-accent-ink);
	box-shadow: 0 10px 28px -10px var(--ak-accent-glow);
}

.ak-pcard__cta:hover { background: var(--ak-accent-2); }

.ak-pcard__cta:focus-visible {
	outline: 2px solid var(--ak-text);
	outline-offset: 2px;
}

.ak-pcard__cta--detail {
	border-color: var(--ak-line-2);
	background: transparent;
	color: var(--ak-text);
}

.ak-pcard:hover .ak-pcard__cta--detail,
.ak-pcard__cta--detail:hover {
	border-color: var(--ak-accent);
	background: transparent;
	color: var(--ak-text);
	box-shadow: none;
}

.ak-pcard__cta-ic {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
}

@media (prefers-reduced-motion: no-preference) {
	.ak-pcard__cta { transition: background-color .25s, color .25s, border-color .25s, box-shadow .25s; }
	.ak-pcard__cta:active { transform: scale(.97); }
}

/* Stav načítania a pridania (triedy pridáva WooCommerce). */
.ak-pcard__cta.loading { pointer-events: none; opacity: .85; }
.ak-pcard__cta.loading .ak-pcard__cta-ic svg,
.ak-pcard__cta.added .ak-pcard__cta-ic svg { opacity: 0; }

.ak-pcard__cta.loading .ak-pcard__cta-ic::after {
	content: "";
	position: absolute;
	inset: 1px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: ak-spin .7s linear infinite;
}

.ak-pcard__cta.added,
.ak-pcard:hover .ak-pcard__cta.added {
	border-color: rgba(57, 217, 138, .5);
	background: rgba(57, 217, 138, .14);
	color: var(--ak-ok);
	box-shadow: none;
}

.ak-pcard__cta.added .ak-pcard__cta-ic::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 3px;
	width: 11px;
	height: 6px;
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	transform: rotate(-45deg);
}

.ak-pcard__cta.added .ak-pcard__cta-t { font-size: 0; }
.ak-pcard__cta.added .ak-pcard__cta-t::after { content: attr(data-added); font-size: .9rem; }

@media (max-width: 379.98px) {
	.ak-pcard__cta { gap: 6px; font-size: .84rem; }
	.ak-pcard__cta.added .ak-pcard__cta-t::after { font-size: .84rem; }
}

/* ---------- EU štítok ---------- */
.ak-eu-c--a { --eu: #00A651; --eu-ink: #FFFFFF; }
.ak-eu-c--b { --eu: #52B848; --eu-ink: #0A0B0D; }
.ak-eu-c--c { --eu: #BFD730; --eu-ink: #0A0B0D; }
.ak-eu-c--d { --eu: #FFF200; --eu-ink: #0A0B0D; }
.ak-eu-c--e { --eu: #FDB913; --eu-ink: #0A0B0D; }
.ak-eu-c--f { --eu: #F37021; --eu-ink: #0A0B0D; }
.ak-eu-c--g { --eu: #E4252B; --eu-ink: #FFFFFF; }

.ak-eu--mini {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 1px 0 0;
	padding: 0;
	list-style: none;
}

.ak-eu--mini .ak-eu__cell {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	padding: 0 6px 0 5px;
	border: 1px solid var(--ak-line);
	border-radius: 7px;
	background: rgba(255, 255, 255, .03);
	color: var(--ak-muted);
}

.ak-eu--mini svg { flex: none; }

.ak-eu__l {
	display: inline-grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 4px;
	background: var(--eu);
	color: var(--eu-ink);
	font-family: var(--ak-font-display);
	font-size: .68rem;
	font-weight: 700;
	line-height: 1;
}

.ak-eu__db {
	font-family: var(--ak-font-display);
	font-size: .7rem;
	font-weight: 600;
	color: var(--ak-text);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ak-eu--full {
	margin: 0 0 20px;
	border: 1px solid var(--ak-line-2);
	border-radius: var(--ak-r-lg);
	background: var(--ak-surface);
	overflow: hidden;
}

.ak-eu__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ak-line);
	background: linear-gradient(90deg, rgba(29, 63, 154, .18), transparent 60%);
}

.ak-eu__flag { flex: none; border-radius: 3px; }

.ak-eu__htitle {
	font-family: var(--ak-font-display);
	font-size: .84rem;
	font-weight: 600;
	letter-spacing: .02em;
}

.ak-eu__hreg {
	margin-left: auto;
	font-size: .7rem;
	color: var(--ak-dim);
	white-space: nowrap;
}

.ak-eu__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1px;
	background: var(--ak-line);
}

@media (min-width: 520px) {
	.ak-eu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ak-eu__block--noise { grid-column: 1 / -1; }
}

@media (min-width: 1280px) {
	.ak-eu__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .78fr); }
	.ak-eu__block--noise { grid-column: auto; }
	.ak-eu__grid--nonoise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ak-eu__block {
	padding: 14px 16px 16px;
	background: var(--ak-surface);
}

.ak-eu__bh {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.ak-eu__bi {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--ak-line-2);
	border-radius: 10px;
	background: rgba(255, 255, 255, .04);
	color: var(--ak-text);
}

.ak-eu__bh strong {
	display: block;
	font-family: var(--ak-font-display);
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.2;
}

.ak-eu__bh small {
	display: block;
	font-size: .72rem;
	color: var(--ak-dim);
}

.ak-eu__scale {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ak-eu__row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 20px;
}

.ak-eu__bar {
	display: flex;
	align-items: center;
	width: var(--w, 50%);
	height: 100%;
	padding-left: 8px;
	background: var(--eu);
	color: var(--eu-ink);
	font-family: var(--ak-font-display);
	font-size: .72rem;
	font-weight: 700;
	line-height: 1;
	clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 50%, calc(100% - 9px) 100%, 0 100%);
	opacity: .32;
}

.ak-eu__row.is-active { height: 28px; }
.ak-eu__row.is-active .ak-eu__bar { opacity: 1; filter: drop-shadow(0 0 10px var(--eu)); }

.ak-eu__arrow {
	display: grid;
	place-items: center;
	min-width: 46px;
	height: 28px;
	margin-left: auto;
	padding: 0 10px 0 16px;
	background: var(--ak-text);
	color: var(--ak-bg);
	font-family: var(--ak-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
}

@media (prefers-reduced-motion: no-preference) {
	.ak-eu__row.is-active .ak-eu__arrow { animation: ak-pop .5s var(--ak-ease) both .15s; }
}

.ak-eu__noise {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ak-eu__waves { flex: none; color: var(--ak-text); }

@media (prefers-reduced-motion: no-preference) {
	.ak-eu__waves .w1,
	.ak-eu__waves .w2,
	.ak-eu__waves .w3 { animation: ak-wave 2.4s var(--ak-ease) infinite; }
	.ak-eu__waves .w2 { animation-delay: .2s; }
	.ak-eu__waves .w3 { animation-delay: .4s; }
}

.ak-eu__noise p {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin: 0;
}

.ak-eu__noise strong {
	font-family: var(--ak-font-display);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
	font-variant-numeric: tabular-nums;
}

.ak-eu__noise span {
	font-family: var(--ak-font-display);
	font-weight: 600;
	color: var(--ak-muted);
}

/* ---------- Stránkovanie ---------- */
.woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin-top: clamp(32px, 5vw, 56px);
}

.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.woocommerce-pagination li { margin: 0; border: 0; }

.woocommerce-pagination li > .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: rgba(255, 255, 255, .02);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .95rem;
	font-weight: 600;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.woocommerce-pagination li > a.page-numbers:hover {
	border-color: var(--ak-accent);
	color: var(--ak-accent-2);
}

.woocommerce-pagination li > .page-numbers.current {
	border-color: transparent;
	background: var(--ak-accent);
	color: var(--ak-accent-ink);
	box-shadow: 0 8px 24px -8px var(--ak-accent-glow);
}

.woocommerce-pagination li > .page-numbers.dots {
	min-width: 24px;
	padding: 0;
	border-color: transparent;
	background: none;
	color: var(--ak-dim);
}

.ak-pg-arrow { display: inline-flex; }

/* ---------- Prázdny výsledok a popis kategórie ---------- */
.ak-shop .ak-empty {
	justify-items: start;
	padding: clamp(24px, 4vw, 44px);
	border-radius: var(--ak-r-lg);
}

.ak-empty__ic {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(255, 107, 26, .3);
	border-radius: 16px;
	background: rgba(255, 107, 26, .1);
	color: var(--ak-accent);
}

.ak-shop .ak-empty p { margin: 0; max-width: 56ch; color: var(--ak-muted); }

.ak-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.ak-shop__desc {
	max-width: 80ch;
	margin-top: clamp(48px, 7vw, 88px);
	padding-top: clamp(28px, 4vw, 40px);
	border-top: 1px solid var(--ak-line);
	color: var(--ak-muted);
}

/* ---------- Detail produktu ---------- */
.ak-single__top {
	position: relative;
	isolation: isolate;
	padding-block: clamp(18px, 3vw, 32px) clamp(48px, 6vw, 96px);
}

.ak-single__top::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -10%;
	left: -20%;
	width: min(900px, 110vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 107, 26, .13), transparent 70%);
	pointer-events: none;
}

.ak-single__hero {
	display: grid;
	gap: clamp(24px, 4vw, 64px);
	margin-top: clamp(16px, 2.4vw, 28px);
}

@media (min-width: 960px) {
	.ak-single__hero {
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
		align-items: start;
	}
	.ak-gallery {
		position: sticky;
		top: calc(var(--ak-header-h) + 24px);
	}
}

.ak-gallery { position: relative; min-width: 0; }

.ak-gallery::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 10% 6% 0;
	border-radius: 50%;
	background: radial-gradient(closest-side, var(--ak-accent-glow), transparent);
	filter: blur(40px);
	opacity: .55;
	pointer-events: none;
}

.ak-gallery__stage {
	position: relative;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--ak-line-2);
	border-radius: var(--ak-r-xl);
	overflow: hidden;
	box-shadow: var(--ak-shadow);
}

.ak-gallery__plate { padding: 9%; }

.ak-gallery__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ak-gallery__flags { top: 16px; left: 16px; }
.ak-gallery__flags .ak-badge { height: 30px; font-size: .74rem; }

.ak-gallery__thumbs {
	display: flex;
	gap: 8px;
	margin: 12px 0 0;
	padding: 2px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.ak-gallery__thumb {
	display: block;
	width: 76px;
	height: 76px;
	padding: 6px;
	border: 2px solid transparent;
	border-radius: 14px;
	background: #E4E7EC;
	cursor: pointer;
}

.ak-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ak-gallery__thumb.is-active,
.ak-gallery__thumb:hover { border-color: var(--ak-accent); }
.ak-gallery__thumb:focus-visible { outline: 2px solid var(--ak-accent); outline-offset: 2px; }

.ak-single__info { min-width: 0; }

.ak-single__title {
	margin: 12px 0 18px;
	font-family: var(--ak-font-display);
	font-size: clamp(1.9rem, 3.6vw, 3.3rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.ak-single__chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.ak-single__chips .ak-chip small {
	margin-right: 2px;
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-dim);
}

.ak-chip--size {
	font-family: var(--ak-font-display);
	font-size: 1rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ak-single__chips .ak-chip { font-family: var(--ak-font-display); font-weight: 600; }
.ak-chip--feat { min-height: 34px; font-size: .8rem; letter-spacing: .04em; }

.ak-badge--lg {
	height: 40px;
	padding: 0 14px;
	font-size: .78rem;
}

/* Nákupný box */
.ak-buy {
	display: grid;
	gap: 18px;
	padding: clamp(18px, 2.6vw, 28px);
	border-radius: var(--ak-r-lg);
}

.ak-buy__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 16px;
}

.ak-buy__price {
	font-family: var(--ak-font-display);
	font-size: clamp(2.4rem, 5vw, 3.7rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.045em;
	font-variant-numeric: tabular-nums;
}

.ak-buy__note {
	margin: 8px 0 0;
	font-size: .86rem;
	color: var(--ak-muted);
}

.ak-buy__note b { color: var(--ak-text); font-weight: 600; white-space: nowrap; }

.ak-buy .ak-stock {
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid rgba(57, 217, 138, .28);
	border-radius: 999px;
	background: rgba(57, 217, 138, .08);
	font-size: .88rem;
}

.ak-buy .ak-stock--out { border-color: rgba(255, 92, 92, .3); background: rgba(255, 92, 92, .08); }
.ak-buy .ak-stock--wait { border-color: rgba(255, 194, 75, .3); background: rgba(255, 194, 75, .08); }

.ak-quick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.ak-quick__label { margin-right: 4px; font-size: .86rem; color: var(--ak-muted); }

.ak-quick__btn {
	min-width: 64px;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}

.ak-quick__btn:hover { border-color: rgba(255, 107, 26, .6); }

.ak-quick__btn[aria-pressed="true"] {
	border-color: var(--ak-accent);
	background: rgba(255, 107, 26, .12);
	color: var(--ak-accent-2);
}

.ak-quick__btn:focus-visible { outline: 2px solid var(--ak-accent); outline-offset: 2px; }

.ak-buy form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin: 0;
}

.ak-buy form.cart .quantity { flex: none; }

.ak-buy .quantity input.qty,
.woocommerce-cart-form .quantity input.qty {
	width: 88px;
	min-height: 56px;
	padding: 0 8px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: var(--ak-surface-2);
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
}

.ak-qty {
	display: inline-flex;
	align-items: center;
	height: 56px;
	border: 1px solid var(--ak-line-2);
	border-radius: 999px;
	background: var(--ak-surface-2);
	overflow: hidden;
}

.ak-qty:focus-within { border-color: var(--ak-accent); box-shadow: 0 0 0 3px rgba(255, 107, 26, .15); }

.ak-qty .ak-qty__btn {
	display: grid;
	place-items: center;
	width: 46px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ak-text);
	cursor: pointer;
}

.ak-qty .ak-qty__btn:hover { background: rgba(255, 255, 255, .06); color: var(--ak-accent-2); }
.ak-qty .ak-qty__btn:focus-visible { outline: 2px solid var(--ak-accent); outline-offset: -4px; border-radius: 999px; }

.ak-qty input.qty,
.ak-buy .ak-qty input.qty,
.woocommerce-cart-form .ak-qty input.qty {
	width: 44px;
	height: 100%;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.ak-qty input.qty:focus { outline: none; }
.ak-qty input.qty::-webkit-inner-spin-button,
.ak-qty input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.woocommerce-cart-form .ak-qty { height: 44px; }

.single_add_to_cart_button,
.ak-buy form.cart button[type="submit"] {
	position: relative;
	display: inline-flex;
	flex: 1 1 200px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ak-accent);
	color: var(--ak-accent-ink);
	box-shadow: 0 12px 34px -12px var(--ak-accent-glow);
	font-family: var(--ak-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.01em;
	cursor: pointer;
}

.single_add_to_cart_button:hover { background: var(--ak-accent-2); box-shadow: 0 16px 44px -12px var(--ak-accent-glow); }
.single_add_to_cart_button:focus-visible { outline: 2px solid var(--ak-text); outline-offset: 3px; }
.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }

@media (prefers-reduced-motion: no-preference) {
	.single_add_to_cart_button { transition: background-color .25s, box-shadow .25s, transform .25s var(--ak-ease); }
	.single_add_to_cart_button:hover { transform: translateY(-1px); }
	.single_add_to_cart_button:active { transform: scale(.98); }
}

/* Stavy tlačidiel na detaile a v lište. */
:is(.single_add_to_cart_button, .ak-buybar__btn).is-loading {
	color: transparent !important;
	pointer-events: none;
}

:is(.single_add_to_cart_button, .ak-buybar__btn).is-loading > * { visibility: hidden; }

:is(.single_add_to_cart_button, .ak-buybar__btn).is-loading::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 22px;
	height: 22px;
	margin: auto;
	border: 2px solid var(--ak-accent-ink);
	border-right-color: transparent;
	border-radius: 50%;
	animation: ak-spin .7s linear infinite;
}

.single_add_to_cart_button.is-added,
.ak-buybar__btn.is-added {
	background: var(--ak-ok) !important;
	color: #04140B !important;
	box-shadow: 0 12px 34px -12px rgba(57, 217, 138, .55);
}

:is(.single_add_to_cart_button, .ak-buybar__btn).is-added svg { animation: ak-pop .4s var(--ak-ease) both; }

.ak-buy__out {
	margin: 0;
	font-size: .92rem;
	color: var(--ak-muted);
}

.ak-buy__out a,
.ak-buy__facts a { color: var(--ak-accent-2); }

.ak-buy__facts {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--ak-line);
	list-style: none;
}

.ak-buy__facts li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .88rem;
	line-height: 1.45;
	color: var(--ak-muted);
}

.ak-buy__facts svg { flex: none; margin-top: 1px; color: var(--ak-accent); }
.ak-buy__facts b { color: var(--ak-text); font-weight: 600; }

/* Parametre + popis */
.ak-single__details { border-top: 1px solid var(--ak-line); }

.ak-single__cols {
	display: grid;
	gap: clamp(40px, 5vw, 80px);
}

@media (min-width: 960px) {
	.ak-single__cols {
		grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
		align-items: start;
	}
}

.ak-single__cols .ak-h2,
.ak-single__why .ak-h2 {
	margin: 0 0 22px;
	font-size: clamp(1.7rem, 3.2vw, 2.6rem);
}

.ak-params__table {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
}

.ak-params__table th,
.ak-params__table td {
	padding: 13px 0;
	border-bottom: 1px solid var(--ak-line);
	vertical-align: top;
	text-align: left;
}

.ak-params__table th {
	width: 46%;
	padding-right: 16px;
	font-weight: 400;
	color: var(--ak-muted);
}

.ak-params__table td {
	font-family: var(--ak-font-display);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.ak-params__table tr:first-child th,
.ak-params__table tr:first-child td { border-top: 1px solid var(--ak-line); }

.ak-params__table td a {
	color: var(--ak-accent-2);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 143, 77, .35);
}

.ak-params__table td a:hover { border-bottom-color: currentColor; }

.ak-single__desc .ak-prose { color: var(--ak-muted); }

/* Prečo u nás */
.ak-single__why {
	padding-block: clamp(48px, 6vw, 96px);
	border-top: 1px solid var(--ak-line);
	background: linear-gradient(180deg, var(--ak-bg-2), var(--ak-bg));
}

.ak-why {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) { .ak-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ak-why { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }

.ak-why__item {
	padding: 22px;
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r);
	background: var(--ak-surface);
}

.ak-why__ic {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255, 107, 26, .28);
	border-radius: 13px;
	background: rgba(255, 107, 26, .1);
	color: var(--ak-accent);
}

.ak-why__item h3 {
	margin: 16px 0 6px;
	font-family: var(--ak-font-display);
	font-size: 1.06rem;
	font-weight: 600;
	letter-spacing: -.01em;
}

.ak-why__item p { margin: 0; font-size: .92rem; color: var(--ak-muted); }
.ak-why__item a { color: var(--ak-accent-2); }

/* Súvisiace */
.ak-single__samesize {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: clamp(36px, 5vw, 56px);
	padding: 18px 22px;
	border: 1px solid var(--ak-line-2);
	border-radius: var(--ak-r);
	background: linear-gradient(90deg, rgba(255, 107, 26, .08), transparent 60%), var(--ak-surface);
	color: var(--ak-text);
	text-decoration: none;
}

.ak-single__samesize small {
	display: block;
	margin-bottom: 2px;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ak-accent);
}

.ak-single__samesize span {
	font-family: var(--ak-font-display);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	font-weight: 600;
}

.ak-single__samesize svg { flex: none; color: var(--ak-accent); }
.ak-single__samesize:hover { border-color: var(--ak-accent); }

@media (prefers-reduced-motion: no-preference) {
	.ak-single__samesize svg { transition: transform .3s var(--ak-ease); }
	.ak-single__samesize:hover svg { transform: translateX(4px); }
}

.related.products > h2,
.upsells.products > h2 {
	margin: 0 0 clamp(20px, 3vw, 32px);
	font-family: var(--ak-font-display);
	font-size: clamp(1.8rem, 3.8vw, 3rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.035em;
}

.related.products ul.products.ak-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (min-width: 960px) {
	.related.products ul.products.ak-products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
}

/* Lepkavá lišta na mobile */
.ak-buybar {
	position: fixed;
	z-index: 900;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 10px var(--ak-gutter) calc(10px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--ak-glass-line);
	background: var(--ak-glass);
	-webkit-backdrop-filter: var(--ak-blur);
	backdrop-filter: var(--ak-blur);
	transform: translateY(110%);
	visibility: hidden;
}

.ak-buybar.is-visible { transform: none; visibility: visible; }

@media (prefers-reduced-motion: no-preference) {
	.ak-buybar { transition: transform .38s var(--ak-ease), visibility 0s linear .38s; }
	.ak-buybar.is-visible { transition: transform .38s var(--ak-ease), visibility 0s; }
}

.ak-buybar__in {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: var(--ak-wrap);
	margin-inline: auto;
}

.ak-buybar__meta { display: grid; flex: 1; min-width: 0; }

.ak-buybar__name {
	overflow: hidden;
	font-size: .76rem;
	color: var(--ak-muted);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.ak-buybar__price {
	font-family: var(--ak-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.ak-buybar__price del { display: none; }
.ak-buybar__btn { flex: none; min-height: 48px; }

@media (max-width: 959.98px) {
	body.single-product { padding-bottom: 76px; }
}

@media (min-width: 960px) {
	.ak-buybar { display: none; }
}

/* ==========================================================================
   Košík a pokladňa — bloky WooCommerce v tmavom prevedení
   ========================================================================== */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	color: var(--ak-text);
	font-family: var(--ak-font);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) *:not(input):not(select):not(textarea):not(button) {
	border-color: var(--ak-line) !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) a { color: var(--ak-accent-2); }

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(h1, h2, h3, .wc-block-components-title, .wc-block-components-checkout-step__title) {
	color: var(--ak-text);
	font-family: var(--ak-font-display);
	letter-spacing: -.02em;
}

.wc-block-components-checkout-step__description,
.wc-block-components-address-form__address_2-toggle,
.wc-block-cart-items__header,
.wc-block-components-product-metadata,
.wc-block-components-checkbox__label,
.wc-block-checkout__terms,
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__description {
	color: var(--ak-muted) !important;
}

.wc-block-cart-items__header { font-family: var(--ak-font-display); letter-spacing: .1em; }

.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--ak-text) !important;
	font-family: var(--ak-font-display);
	font-weight: 600;
	text-decoration: none;
}

.wc-block-components-product-name:hover { color: var(--ak-accent-2) !important; }

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img,
.wc-block-grid__product-image img {
	border-radius: 12px;
	background: #E4E7EC;
	mix-blend-mode: normal;
	padding: 4px;
}

.wc-block-cart-item__remove-link { color: var(--ak-muted) !important; }
.wc-block-cart-item__remove-link:hover { color: var(--ak-err) !important; }

.wc-block-components-product-price,
.wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value { color: var(--ak-text); font-variant-numeric: tabular-nums; }

.wc-block-components-product-price__regular { color: var(--ak-dim) !important; }
.wc-block-components-product-price__value.is-discounted { color: var(--ak-accent-2) !important; }

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-sale-badge {
	border: 1px solid var(--ak-accent) !important;
	border-radius: 999px !important;
	background: rgba(255, 107, 26, .12) !important;
	color: var(--ak-accent-2) !important;
}

/* Bočné panely (súhrn) */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	padding: clamp(16px, 2vw, 24px) !important;
	border: 1px solid var(--ak-glass-line) !important;
	border-radius: var(--ak-r-lg) !important;
	background: var(--ak-glass);
	-webkit-backdrop-filter: var(--ak-blur);
	backdrop-filter: var(--ak-blur);
}

.wc-block-components-totals-wrapper { border-top-color: var(--ak-line) !important; }

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--ak-font-display);
	font-size: 1.3rem !important;
	font-weight: 700 !important;
	letter-spacing: -.02em;
}

.wc-block-components-panel__button,
.wc-block-components-totals-coupon-link { color: var(--ak-text) !important; }
.wc-block-components-panel__button-icon { fill: currentColor; }

/* Polia formulárov */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(
	.wc-block-components-text-input input,
	.wc-block-components-textarea,
	textarea,
	.wc-block-components-combobox .components-combobox-control__input,
	.wc-block-components-form .wc-block-components-text-input input
) {
	border: 1px solid var(--ak-line-2) !important;
	border-radius: var(--ak-r-sm) !important;
	background: var(--ak-surface-2) !important;
	color: var(--ak-text) !important;
	box-shadow: none !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(
	.wc-block-components-text-input input,
	.wc-block-components-textarea,
	.wc-block-components-combobox .components-combobox-control__input
):focus {
	border-color: var(--ak-accent) !important;
	box-shadow: 0 0 0 3px rgba(255, 107, 26, .18) !important;
	outline: none !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) input:-webkit-autofill {
	-webkit-text-fill-color: var(--ak-text) !important;
	box-shadow: 0 0 0 1000px var(--ak-surface-2) inset !important;
	caret-color: var(--ak-text);
}

.wc-block-components-text-input label,
.wc-block-components-combobox .components-base-control__label,
.wc-block-components-combobox label,
.wc-blocks-components-select__label {
	color: var(--ak-muted) !important;
}

.wc-blocks-components-select .wc-blocks-components-select__container {
	border: 1px solid var(--ak-line-2) !important;
	border-radius: var(--ak-r-sm) !important;
	background: var(--ak-surface-2) !important;
}

.wc-blocks-components-select .wc-blocks-components-select__select {
	background: transparent !important;
	color: var(--ak-text) !important;
}

.wc-blocks-components-select .wc-blocks-components-select__select option { background: var(--ak-surface-2); color: var(--ak-text); }
.wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--ak-muted) !important; }
.wc-blocks-components-select .wc-blocks-components-select__container:focus-within { border-color: var(--ak-accent) !important; }

.components-form-token-field__suggestions-list,
.wc-block-components-combobox .components-form-token-field__suggestions-list {
	border-color: var(--ak-line-2) !important;
	background: var(--ak-surface-2) !important;
	color: var(--ak-text) !important;
}

.components-form-token-field__suggestion.is-selected,
.wc-block-components-combobox .components-form-token-field__suggestion.is-selected {
	background: var(--ak-accent) !important;
	color: var(--ak-accent-ink) !important;
}

.wc-block-components-validation-error,
.wc-block-components-validation-error p,
.has-error label { color: var(--ak-err) !important; }

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .has-error input,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .has-error .wc-blocks-components-select__container { border-color: var(--ak-err) !important; }

/* Prepínače a zaškrtávacie polia */
.wc-block-components-radio-control__input,
.wc-block-components-radio-control .wc-block-components-radio-control__input {
	border: 1.5px solid var(--ak-line-2) !important;
	background: var(--ak-surface-2) !important;
}

.wc-block-components-radio-control__input:checked { border-color: var(--ak-accent) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ak-accent) !important; }
.wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--ak-accent) !important; outline-offset: 2px; }

.wc-block-components-radio-control__option,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description { color: var(--ak-text) !important; }

.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-description { color: var(--ak-muted) !important; }

.wc-block-components-radio-control--highlight-checked::after { border-color: var(--ak-line-2) !important; }

.wc-block-components-radio-control--highlight-checked :is(
	.wc-block-components-radio-control__option--checked-option-highlighted,
	.wc-block-components-radio-control-accordion-option--checked-option-highlighted
) {
	border-radius: var(--ak-r-sm);
	background: rgba(255, 107, 26, .06);
	box-shadow: inset 0 0 0 1.5px var(--ak-accent) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1.5px solid var(--ak-line-2) !important;
	background: var(--ak-surface-2) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--ak-accent) !important;
	background: var(--ak-accent) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--ak-accent-ink) !important; }

/* Tlačidlá */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wp-block-woocommerce-empty-cart-block) .wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 52px;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ak-accent) !important;
	color: var(--ak-accent-ink) !important;
	box-shadow: 0 12px 34px -14px var(--ak-accent-glow);
	font-family: var(--ak-font-display) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--ak-accent-2) !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):focus-visible {
	outline: 2px solid var(--ak-text) !important;
	outline-offset: 3px;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:disabled { opacity: .5; }

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button .wc-block-components-button__text { color: inherit; }

.wc-block-components-button.is-link,
.wc-block-components-checkout-return-to-cart-button { color: var(--ak-muted) !important; }
.wc-block-components-checkout-return-to-cart-button:hover { color: var(--ak-text) !important; }

.wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }

/* Množstvo v košíku */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-quantity-selector {
	border: 1px solid var(--ak-line-2) !important;
	border-radius: 999px !important;
	background: var(--ak-surface-2);
	overflow: hidden;
}

.wc-block-components-quantity-selector::after { display: none !important; }

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent !important;
	color: var(--ak-text) !important;
	font-family: var(--ak-font-display);
	font-weight: 600;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--ak-text) !important;
	opacity: .8;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: var(--ak-accent-2) !important; opacity: 1; }

/* Súhrn objednávky */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-order-summary-item__quantity {
	border: 2px solid var(--ak-bg) !important;
	background: var(--ak-accent) !important;
	box-shadow: none !important;
	color: var(--ak-accent-ink) !important;
	font-weight: 700;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-address-card {
	border: 1px solid var(--ak-line-2) !important;
	border-radius: var(--ak-r-sm) !important;
	background: var(--ak-surface) !important;
	color: var(--ak-text);
}

.wc-block-components-address-card__edit { color: var(--ak-accent-2) !important; }

/* Hlásenia */
.wc-block-components-notice-banner {
	border: 1px solid var(--ak-line-2) !important;
	border-radius: var(--ak-r-sm) !important;
	background: var(--ak-surface-2) !important;
	color: var(--ak-text) !important;
}

.wc-block-components-notice-banner.is-error { border-color: rgba(255, 92, 92, .55) !important; background: rgba(255, 92, 92, .08) !important; }
.wc-block-components-notice-banner.is-success { border-color: rgba(57, 217, 138, .5) !important; background: rgba(57, 217, 138, .08) !important; }
.wc-block-components-notice-banner.is-warning { border-color: rgba(255, 194, 75, .5) !important; background: rgba(255, 194, 75, .08) !important; }
.wc-block-components-notice-banner.is-info { border-color: rgba(108, 203, 255, .45) !important; background: rgba(108, 203, 255, .07) !important; }

.wc-block-components-notice-banner > svg { fill: #fff; }
.wc-block-components-notice-banner.is-error > svg { background-color: var(--ak-err) !important; }
.wc-block-components-notice-banner.is-success > svg { background-color: #1F9D5E !important; }
.wc-block-components-notice-banner a { color: var(--ak-accent-2) !important; }

.wc-block-components-skeleton__element,
.wc-block-components-loading-mask { background-color: rgba(255, 255, 255, .04) !important; }

.wc-block-components-spinner::after { border-color: var(--ak-accent) transparent var(--ak-accent) var(--ak-accent) !important; }

/* Prázdny košík */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: var(--ak-font-display);
	letter-spacing: -.03em;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { background-color: var(--ak-accent) !important; }
.wp-block-woocommerce-empty-cart-block hr { border-color: var(--ak-line) !important; }

.wc-block-grid__product {
	padding: 12px !important;
	border: 1px solid var(--ak-line) !important;
	border-radius: var(--ak-r) !important;
	background: var(--ak-surface);
}

.wc-block-grid__product-title,
.wc-block-grid__product-link { color: var(--ak-text) !important; font-family: var(--ak-font-display); }

/* ==========================================================================
   Klasický košík, pokladňa a Môj účet
   ========================================================================== */
.woocommerce table.shop_table,
table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--ak-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--ak-r);
	overflow: hidden;
	background: var(--ak-surface);
}

table.shop_table th,
table.shop_table td {
	padding: 14px 16px;
	border-top: 1px solid var(--ak-line);
	text-align: left;
	vertical-align: middle;
}

table.shop_table thead th {
	border-top: 0;
	background: rgba(255, 255, 255, .025);
	font-family: var(--ak-font-display);
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ak-muted);
}

table.shop_table td.product-name a { color: var(--ak-text); font-family: var(--ak-font-display); font-weight: 600; text-decoration: none; }
table.shop_table td.product-name a:hover { color: var(--ak-accent-2); }
table.shop_table .product-thumbnail img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; background: #E4E7EC; padding: 4px; }
table.shop_table .product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--ak-line-2);
	border-radius: 50%;
	color: var(--ak-muted) !important;
	font-size: 1.2rem;
	text-decoration: none;
}

table.shop_table .product-remove a.remove:hover { border-color: var(--ak-err); color: var(--ak-err) !important; }
table.shop_table tfoot th,
table.shop_table .order-total th,
table.shop_table .order-total td { font-family: var(--ak-font-display); }
table.shop_table .order-total .amount { font-size: 1.25rem; font-weight: 700; }

.woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-cart-form .actions { text-align: right; }

.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
#order_review {
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid var(--ak-glass-line);
	border-radius: var(--ak-r-lg);
	background: var(--ak-glass);
}

.cart_totals h2,
#order_review_heading,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-order-details__title,
.woocommerce-column__title,
.u-columns h2 {
	margin: 0 0 16px;
	font-family: var(--ak-font-display);
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	letter-spacing: -.02em;
}

:is(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout, .woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-order, .wc-proceed-to-checkout) :is(.button, button.button, a.button, input.button, #place_order) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 48px;
	padding: 0 1.4em;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--ak-accent);
	color: var(--ak-accent-ink);
	font-family: var(--ak-font-display);
	font-size: .95rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

:is(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout, .woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-order, .wc-proceed-to-checkout) :is(.button, button.button, a.button, input.button, #place_order):hover {
	background: var(--ak-accent-2);
}

:is(.woocommerce-cart-form, .woocommerce-MyAccount-content) :is(.button, button.button):disabled,
:is(.woocommerce-cart-form, .woocommerce-MyAccount-content) :is(.button, button.button)[disabled] {
	border-color: var(--ak-line-2);
	background: transparent;
	color: var(--ak-muted);
	cursor: not-allowed;
}

.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; margin-top: 12px; font-size: 1.05rem; }

.woocommerce form .form-row,
.woocommerce-page form .form-row {
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
	padding: 0;
}

.woocommerce form .form-row label { font-size: .88rem; color: var(--ak-muted); }
.woocommerce form .form-row .required { color: var(--ak-accent); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid :is(input, select) { border-color: var(--ak-err); }
.woocommerce form .form-row :is(input.input-text, textarea, select) { width: 100%; }

@media (min-width: 640px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { display: inline-grid; width: calc(50% - 6px); vertical-align: top; }
	.woocommerce form .form-row-first { margin-right: 8px; }
}

.col2-set { display: grid; gap: 24px; }
@media (min-width: 960px) { .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; } }

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
	padding: clamp(18px, 3vw, 32px);
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r-lg);
	background: var(--ak-surface);
}

.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-LostPassword a,
.woocommerce-privacy-policy-text a { color: var(--ak-accent-2); }

/* Platobné metódy (klasická pokladňa) */
#payment {
	border-radius: var(--ak-r);
	background: transparent;
}

#payment ul.payment_methods {
	display: grid;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

#payment ul.payment_methods li {
	padding: 14px 16px;
	border: 1px solid var(--ak-line-2);
	border-radius: var(--ak-r-sm);
	background: var(--ak-surface);
}

#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--ak-accent);
	background: rgba(255, 107, 26, .06);
}

#payment ul.payment_methods li input { accent-color: var(--ak-accent); margin-right: 8px; }
#payment .payment_box { margin-top: 10px; font-size: .9rem; color: var(--ak-muted); }
#payment .payment_box p:last-child { margin-bottom: 0; }
#payment #place_order { width: 100%; min-height: 56px; font-size: 1.05rem; }

.woocommerce-terms-and-conditions-wrapper { margin: 12px 0; font-size: .88rem; color: var(--ak-muted); }

/* Môj účet */
.woocommerce-account .woocommerce {
	display: grid;
	gap: 24px;
}

@media (min-width: 960px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 40px;
		align-items: start;
	}
}

.woocommerce-MyAccount-navigation ul {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 6px;
	list-style: none;
	overflow-x: auto;
	border: 1px solid var(--ak-glass-line);
	border-radius: var(--ak-r-lg);
	background: var(--ak-glass);
	scrollbar-width: none;
}

@media (min-width: 960px) {
	.woocommerce-MyAccount-navigation {
		position: sticky;
		top: calc(var(--ak-header-h) + 20px);
	}
	.woocommerce-MyAccount-navigation ul { flex-direction: column; overflow: visible; }
}

.woocommerce-MyAccount-navigation li { flex: none; margin: 0; }

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 12px;
	color: var(--ak-muted);
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation a:hover { background: rgba(255, 255, 255, .04); color: var(--ak-text); }

.woocommerce-MyAccount-navigation .is-active a {
	background: rgba(255, 107, 26, .12);
	color: var(--ak-accent-2);
	font-weight: 600;
}

.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p a,
.woocommerce-MyAccount-content td a:not(.button) { color: var(--ak-accent-2); }

.woocommerce-Addresses { display: grid; gap: 16px; }
@media (min-width: 640px) { .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.woocommerce-Address {
	padding: 20px;
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r);
	background: var(--ak-surface);
}

.woocommerce-Address address { font-style: normal; color: var(--ak-muted); }

@media (max-width: 639.98px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; border-top: 1px solid var(--ak-line); }
	table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border-top: 0;
		text-align: right;
	}
	table.shop_table_responsive td::before {
		content: attr(data-title);
		font-weight: 500;
		color: var(--ak-muted);
		text-align: left;
	}
	table.shop_table_responsive td.product-remove::before,
	table.shop_table_responsive td.product-thumbnail::before,
	table.shop_table_responsive td.actions::before { display: none; }
}

/* Poďakovanie za objednávku */
.woocommerce-order-overview {
	display: grid;
	gap: 10px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) { .woocommerce-order-overview { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); } }

.woocommerce-order-overview li {
	padding: 14px 16px;
	border: 1px solid var(--ak-line);
	border-radius: var(--ak-r-sm);
	background: var(--ak-surface);
	font-size: .8rem;
	color: var(--ak-muted);
}

.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-family: var(--ak-font-display);
	font-size: 1rem;
	color: var(--ak-text);
}

.woocommerce-thankyou-order-received {
	font-family: var(--ak-font-display);
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	color: var(--ak-ok);
}

/* Prekrytie počas AJAX-u (klasické šablóny) */
.blockUI.blockOverlay {
	background: rgba(10, 11, 13, .6) !important;
	opacity: 1 !important;
}

/* ---------- Tlač a zníženie pohybu ---------- */
@media (prefers-reduced-motion: reduce) {
	.ak-pcard,
	.ak-pcard:hover { transform: none !important; }
	:is(.single_add_to_cart_button, .ak-buybar__btn).is-loading::after,
	.ak-pcard__cta.loading .ak-pcard__cta-ic::after { animation-duration: 1.6s; }
}

@media print {
	.ak-filters,
	.ak-filters__scrim,
	.ak-toolbar,
	.ak-buybar,
	.ak-catchips,
	.ak-pcard__cta { display: none !important; }
}
