/*
	Theme Name: Fobia Kid (Hello Elementor Child)
	Description: Child téma pre e-shop Fobia Kid. Hlavička, pätička, WooCommerce štýly a vlastné funkcie podľa návrhu A (Samolepka).
	Author: Fobia Kid
	Template: hello-elementor
	Version: 1.0.0
	Text Domain: fobia-kid
*/

/* ---------- vlastné fonty ---------- */
@font-face {
	font-family: "Stamp Empire";
	src: url("assets/fonts/stamp-empire.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--fk-bg: #1b1c1e;
	--fk-ink: #111214;
	--fk-concrete: #2c2d30;
	--fk-concrete-l: #58595c;
	--fk-smoke: #9a9a9a;
	--fk-text: #f2f2f2;
	--fk-muted: #c9c9c9;
	--fk-orange: #f0641e;
	--fk-white: #ffffff;
	--fk-display: "Bowlby One SC", Impact, sans-serif;
	--fk-body: Archivo, system-ui, sans-serif;
	--fk-mono: "Space Mono", monospace;
	--fk-max: 1600px; /* sekcie v Elementore majú max-width o 2 × --fk-pad menej (1544px) */
	--fk-pad: 28px;
	--fk-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.7 0 0 0 -0.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- papier a špina ----------
   Roztrhnuté okraje sú clip-path mnohouholníky (percentá, takže sedia na každú veľkosť),
   špina sú dve šumové textúry: jemné bodky a väčšie fľaky. */
:root {
	--fk-paper: #e9e5dc;
	--fk-dirt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 -1.92'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	--fk-stain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.007' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .16 0 0 0 0 .11 1.7 0 0 0 -.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	--fk-torn-1: polygon(0% 0%, 5.4% 0.7%, 9.6% 2.1%, 16.4% 1.2%, 22.1% 1.1%, 27% 0.5%, 34% 0.3%, 38.5% 1.4%, 45.5% 0.9%, 48.6% 0.5%, 56.3% 1.4%, 61.3% 1.1%, 65.8% 0.7%, 73.2% 0%, 76.8% 1.4%, 84% 0%, 88.5% 2.1%, 94.5% 0.2%, 98.5% 0%, 97.7% 5%, 97.8% 9.5%, 98.3% 17.7%, 97.7% 21.5%, 99.6% 28.8%, 97.7% 34.1%, 97.6% 39.9%, 99% 43.6%, 98.5% 48.4%, 97.7% 56.7%, 99.2% 62.4%, 100% 67.2%, 97.7% 72.4%, 98.4% 77.8%, 98% 83.1%, 97.8% 90.5%, 99% 95.5%, 100% 98.8%, 95.4% 99.9%, 90.4% 98%, 84.6% 99.2%, 77.6% 99.1%, 72.3% 99.7%, 67.1% 99.6%, 60.9% 98.7%, 54.1% 99.8%, 48.4% 97.6%, 43.5% 98.6%, 39.3% 97.9%, 32.8% 98.8%, 28.4% 98.7%, 23% 97.7%, 16.4% 97.8%, 12.3% 99.6%, 4% 98.3%, 0.7% 100%, 2% 94.9%, 2.1% 88.9%, 1.2% 84.2%, 0.2% 76.8%, 2.1% 73%, 1.8% 67.2%, 2.1% 61.3%, 0% 57.2%, 0.1% 49.8%, 0.7% 43.4%, 0.8% 38.4%, 2.4% 33.4%, 1.8% 28.9%, 1.6% 22.2%, 0.6% 17.5%, 1.2% 10.7%, 1.1% 6.2%);
	--fk-torn-2: polygon(0% 1.2%, 5.6% 0.3%, 11.5% 2%, 16.7% 1.3%, 21.3% 1.9%, 27.4% 0.3%, 33.6% 0.9%, 37.9% 1.2%, 45.9% 0.9%, 48.9% 2%, 56.7% 1.7%, 60.2% 0.7%, 65.8% 0.7%, 73.6% 1.7%, 78% 1%, 83.4% 1.1%, 89.7% 0%, 95.4% 1.9%, 100% 0%, 98.1% 5.5%, 98.5% 9.5%, 98% 18.3%, 97.8% 21.4%, 99.6% 27.3%, 98.9% 35%, 98.2% 38.8%, 99.6% 44.7%, 98.5% 51.6%, 99.2% 54.2%, 98.9% 62.6%, 98% 65.2%, 98.6% 73%, 97.9% 77.8%, 99.1% 82.3%, 97.8% 89.4%, 99.7% 94.6%, 100% 99.2%, 94% 98%, 90.5% 98.7%, 82.1% 98.1%, 76.9% 99.6%, 73.2% 98.2%, 65.8% 99.8%, 60.4% 98%, 56% 99.2%, 50% 99.5%, 45.8% 98.7%, 37.9% 97.6%, 33.2% 97.7%, 26.5% 99.1%, 20.9% 98.9%, 16.1% 98.3%, 10% 99.7%, 4.3% 100%, 0.8% 100%, 2.4% 93.8%, 2.2% 88%, 0% 85%, 1.2% 79.4%, 1.2% 71.9%, 1.2% 66.7%, 0.6% 62.1%, 1.9% 56.8%, 0.1% 48.7%, 1% 43%, 0.8% 39.4%, 2.1% 34.1%, 1.1% 28%, 0.7% 20.7%, 1.5% 17.9%, 1.3% 10.7%, 1.6% 6.9%);
	--fk-torn-3: polygon(0% 0.3%, 4.3% 0.3%, 12.2% 1.6%, 15.1% 1.2%, 21.8% 1.5%, 29.3% 0.3%, 34.1% 2.1%, 40% 1.4%, 43.2% 1%, 51.6% 1.6%, 56.4% 1.6%, 60.4% 0.9%, 68.2% 1.5%, 72.5% 1.2%, 77.8% 1.7%, 82.6% 0.9%, 89.8% 0.2%, 94.3% 1.5%, 98.2% 0%, 98.6% 6.5%, 99.2% 11%, 97.7% 15.4%, 99.7% 22.1%, 98.8% 28.8%, 99% 33.2%, 98.3% 39.7%, 98% 43%, 99.2% 51.4%, 99.4% 54.8%, 99.8% 62.3%, 99.8% 67.6%, 99.1% 72%, 98.4% 76.2%, 97.8% 83%, 99.8% 88.4%, 98.7% 93%, 100% 98.3%, 95.2% 99%, 88.3% 98%, 82.8% 99.1%, 76.8% 97.7%, 71.4% 99.7%, 67.8% 100%, 62.5% 100%, 56.9% 97.8%, 49.4% 98.3%, 45.2% 98.5%, 40.5% 97.6%, 34.2% 98.2%, 26.9% 98.1%, 21.2% 99%, 17.4% 97.8%, 10.6% 99.8%, 6.2% 97.9%, 0.1% 100%, 1.1% 93.2%, 1.9% 87.4%, 1.5% 84.3%, 1.9% 79.2%, 1% 71.5%, 1.8% 65.1%, 0.7% 61.5%, 0.6% 54.2%, 0.6% 49%, 2.2% 45.8%, 2.3% 40.3%, 1.3% 33.6%, 0.2% 29%, 1.8% 22.1%, 1% 16.3%, 1.9% 10.2%, 2.3% 6.3%);
	--fk-torn-btn-1: polygon(0% 6.1%, 6.1% 0.3%, 15.2% 10%, 22.1% 1.6%, 27.2% 7.2%, 35.1% 5.4%, 43.5% 7%, 51.5% 10.6%, 55.1% 4.6%, 63.5% 1.7%, 70.9% 3.7%, 77% 5.2%, 87.4% 4.3%, 92.2% 7.8%, 99.9% 0%, 98.4% 28.8%, 98.8% 48.3%, 99.9% 74.9%, 100% 89.8%, 94.1% 92.1%, 84.2% 91.6%, 77.9% 89.6%, 69.8% 92.4%, 64.9% 92.9%, 55.1% 90.1%, 50.8% 96.9%, 43.7% 97.2%, 37.8% 99.3%, 26.7% 93.5%, 20.4% 90%, 14% 98.6%, 8.4% 96%, 1.3% 100%, 0.6% 69.2%, 0.8% 50.5%, 0.5% 21.2%);
	--fk-torn-btn-2: polygon(0% 10.5%, 7% 5.5%, 13.2% 4.3%, 21.4% 3.6%, 28.1% 5.9%, 35.5% 2.1%, 41.5% 8.6%, 48.2% 5.2%, 57.4% 2%, 65.7% 2%, 72.5% 5.8%, 77.6% 4.1%, 85.5% 3.6%, 94.3% 0.6%, 99.6% 0%, 99% 31.6%, 99.2% 51.4%, 98.5% 78.2%, 100% 94.6%, 91.9% 90.4%, 84.6% 98.4%, 78.1% 90%, 72.8% 97.2%, 62.6% 98.9%, 57.8% 93.3%, 48.7% 91.5%, 43.4% 91.3%, 34.6% 92.4%, 30% 97.2%, 23.3% 92.7%, 13.9% 90.7%, 7.8% 93.5%, 0.6% 100%, 0.4% 72%, 0.5% 53.2%, 1.2% 17.8%);
}

/* Všetky tlačidlá sú útržky špinavého papiera: tlačidlá z Elementora, filter
   kategórií, tlačidlá pri produktoch aj košík v hlavičke. */
.fk-page .fk-main .e-button-base,
.fk-filter button,
.fk-page ul.products li.product .button,
.fk-page .fk-cart-link {
	border-radius: 0;
	box-shadow: none;
	background-image: var(--fk-dirt), var(--fk-stain);
	clip-path: var(--fk-torn-btn-1);
}

.fk-main .e-button-base:nth-child(even),
.fk-filter button:nth-child(even),
.fk-page ul.products li.product:nth-child(even) .button {
	clip-path: var(--fk-torn-btn-2);
}

/* ---------- základ ---------- */
html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--fk-bg);
	color: var(--fk-text);
	font-family: var(--fk-body);
	font-size: 15px;
	line-height: 1.5;
}

.fk-page {
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	overflow-x: clip;
}

.fk-page::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--fk-grain);
	opacity: .18;
	mix-blend-mode: overlay;
	pointer-events: none;
	z-index: -1;
}

.fk-page a {
	color: inherit;
	text-decoration: none;
}

.fk-page :focus-visible {
	outline: 3px solid var(--fk-orange);
	outline-offset: 3px;
}

.fk-main {
	flex: 1;
}

/* Zvýraznené slovo v nadpisoch postavených v Elementore: <span> vo vnútri nadpisu. */
.fk-main h1 span,
.fk-main h2 span {
	color: var(--fk-orange);
}

/* Font Stamp Empire nemá písmená s diakritikou. Písmeno s dĺžňom sa preto v nadpise
   píše ako <b>Y</b> a dĺžeň sa dokreslí z apostrofu toho istého fontu. */
.fk-main h1 b {
	position: relative;
	display: inline-block;
	font-weight: inherit;
}

.fk-main h1 b::after {
	content: "\27";
	position: absolute;
	left: 50%;
	top: -0.21em;
	font-size: 0.9em;
	line-height: 1;
	transform: translateX(-60%);
	pointer-events: none;
}

/* ---------- hlavička ---------- */
.fk-header {
	border-bottom: 1px solid #ffffff14;
}

.fk-header__in {
	max-width: var(--fk-max);
	margin: 0 auto;
	padding: 18px var(--fk-pad);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.fk-page .fk-logo {
	display: block;
	line-height: 0;
}

.fk-logo img {
	display: block;
	width: auto;
	height: 56px;
	transition: transform .2s ease;
}

.fk-logo:hover img {
	transform: rotate(-4deg) scale(1.06);
}

.fk-nav {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	font-family: var(--fk-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.fk-nav a:hover,
.fk-nav a[aria-current="true"] {
	color: var(--fk-orange);
}

.fk-page .fk-cart-link {
	background-color: var(--fk-paper);
	color: #111;
	font-weight: 800;
	padding: 10px 16px;
	font-size: 13px;
}

.fk-cart-count {
	background: var(--fk-orange);
	color: #111;
	border-radius: 999px;
	padding: 0 7px;
	margin-left: 6px;
}

.fk-page .fk-back {
	font-family: var(--fk-mono);
	font-size: 12px;
	color: #bbb;
	text-decoration: underline;
}

/* ---------- pätička ---------- */
.fk-footer {
	border-top: 1px solid #ffffff1a;
}

.fk-footer__in {
	max-width: var(--fk-max);
	margin: 0 auto;
	padding: 22px var(--fk-pad);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-family: var(--fk-mono);
	font-size: 11.5px;
	color: #9b9b9b;
}

.fk-footer a:hover {
	color: var(--fk-white);
}

.fk-footer .fk-footer__credit a {
	color: var(--fk-orange);
	font-weight: 700;
}

.fk-footer__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
}

.fk-footer__list > * + *::before {
	content: "· ";
}

/* ---------- poskakovanie ----------
   Prvok s globálnou triedou fk-bounce jemne poskakuje hore-dole (šípka na produkty).
   Animuje sa translate, aby ostalo natočenie nastavené v Elementore. */
@keyframes fk-bounce {
	0%, 100% {
		translate: 0 0;
	}

	50% {
		translate: 0 9px;
	}
}

.fk-page .fk-main .fk-bounce {
	animation: fk-bounce 1.3s ease-in-out infinite;
}

/* ---------- bežiaca páska ----------
   Text pásky je v Elementore (globálna trieda fk-tape-text). Elementor nevie uložiť
   white-space ani animation, preto sú tu. Text musí byť zopakovaný párny počet ráz. */
@keyframes fk-tape {
	to {
		transform: translateX(-50%);
	}
}

/* Pás beží celý: papier, roztrhnuté okraje aj špina sú na pohyblivom texte, nie na
   jeho rodičovi. Obrys sa opakuje každých 50 % šírky, takže slučka nepreskočí. */
.elementor div:has(> .fk-tape-text) {
	padding-block: 0;
	background: transparent;
	box-shadow: none;
}

.elementor .fk-tape-text {
	padding-block: 12px;
	white-space: nowrap;
	background: var(--fk-dirt), var(--fk-stain), var(--fk-orange);
	clip-path: polygon(0% 0.01%, 0.56% 15.68%, 1.3% 13.5%, 1.96% 14.86%, 2.5% 13.62%, 2.91% 11.58%, 3.5% 1.11%, 4.14% 3.07%, 4.84% 8.27%, 5.29% 11.52%, 6.04% 1.87%, 6.43% 2.37%, 7.02% 11.09%, 7.78% 12.33%, 8.44% 0.9%, 9.02% 5.17%, 9.43% 12.17%, 10.28% 2.87%, 10.7% 15.01%, 11.14% 10.12%, 12.08% 2.06%, 12.42% 10.07%, 13.23% 11.4%, 13.86% 14.35%, 14.2% 2.9%, 15.02% 6.82%, 15.51% 11.98%, 15.99% 11.68%, 16.78% 15.16%, 17.37% 4.44%, 17.85% 1.45%, 18.52% 2.69%, 18.9% 7.24%, 19.55% 14.59%, 20.32% 13.73%, 20.66% 8.46%, 21.52% 5.77%, 22.01% 11.51%, 22.46% 9.28%, 23.05% 3.55%, 23.84% 15.05%, 24.28% 10.41%, 24.9% 9.57%, 25.71% 2.96%, 26.28% 15.64%, 26.76% 8.98%, 27.4% 6.27%, 27.81% 3.77%, 28.64% 14.32%, 29.17% 0.67%, 29.59% 0.47%, 30.24% 12.41%, 30.89% 4.84%, 31.53% 14.38%, 32.09% 14.6%, 32.72% 2.72%, 33.4% 11.81%, 33.94% 9.9%, 34.53% 8.81%, 35.2% 4.85%, 35.66% 11.69%, 36.22% 1.97%, 37.08% 1.63%, 37.36% 7.26%, 38.22% 6.67%, 38.52% 5.87%, 39.37% 2.62%, 40.04% 13.09%, 40.62% 7.83%, 40.91% 1.19%, 41.73% 3.11%, 42.14% 12.83%, 42.71% 5.05%, 43.55% 13.03%, 43.93% 5.39%, 44.47% 0.4%, 45.2% 2.68%, 45.72% 1.43%, 46.54% 3.12%, 47.1% 7.79%, 47.77% 2.58%, 48.23% 15.39%, 48.75% 2.61%, 49.57% 7.78%, 50% 0.01%, 50.56% 15.68%, 51.3% 13.5%, 51.96% 14.86%, 52.5% 13.62%, 52.91% 11.58%, 53.5% 1.11%, 54.14% 3.07%, 54.84% 8.27%, 55.29% 11.52%, 56.04% 1.87%, 56.43% 2.37%, 57.02% 11.09%, 57.78% 12.33%, 58.44% 0.9%, 59.02% 5.17%, 59.43% 12.17%, 60.28% 2.87%, 60.7% 15.01%, 61.14% 10.12%, 62.08% 2.06%, 62.42% 10.07%, 63.23% 11.4%, 63.86% 14.35%, 64.2% 2.9%, 65.02% 6.82%, 65.51% 11.98%, 65.99% 11.68%, 66.78% 15.16%, 67.37% 4.44%, 67.85% 1.45%, 68.52% 2.69%, 68.9% 7.24%, 69.55% 14.59%, 70.32% 13.73%, 70.66% 8.46%, 71.52% 5.77%, 72.01% 11.51%, 72.46% 9.28%, 73.05% 3.55%, 73.84% 15.05%, 74.28% 10.41%, 74.9% 9.57%, 75.71% 2.96%, 76.28% 15.64%, 76.76% 8.98%, 77.4% 6.27%, 77.81% 3.77%, 78.64% 14.32%, 79.17% 0.67%, 79.59% 0.47%, 80.24% 12.41%, 80.89% 4.84%, 81.53% 14.38%, 82.09% 14.6%, 82.72% 2.72%, 83.4% 11.81%, 83.94% 9.9%, 84.53% 8.81%, 85.2% 4.85%, 85.66% 11.69%, 86.22% 1.97%, 87.08% 1.63%, 87.36% 7.26%, 88.22% 6.67%, 88.52% 5.87%, 89.37% 2.62%, 90.04% 13.09%, 90.62% 7.83%, 90.91% 1.19%, 91.73% 3.11%, 92.14% 12.83%, 92.71% 5.05%, 93.55% 13.03%, 93.93% 5.39%, 94.47% 0.4%, 95.2% 2.68%, 95.72% 1.43%, 96.54% 3.12%, 97.1% 7.79%, 97.77% 2.58%, 98.23% 15.39%, 98.75% 2.61%, 99.57% 7.78%, 100% 0.01%, 100% 86.83%, 99.27% 94.86%, 98.85% 97.13%, 98.12% 89.36%, 97.7% 98.19%, 97.04% 89.27%, 96.36% 84.7%, 95.78% 86.72%, 95.38% 95.69%, 94.77% 89.93%, 94.05% 86.84%, 93.53% 98.28%, 92.77% 90.86%, 92.33% 86.96%, 91.6% 98.88%, 91.01% 91.57%, 90.46% 84.47%, 89.9% 86.07%, 89.3% 90.63%, 88.87% 99.63%, 88.12% 97.33%, 87.5% 91.3%, 87.07% 92.53%, 86.36% 95.97%, 85.75% 94.82%, 84.94% 90.26%, 84.65% 95%, 84.09% 92.58%, 83.27% 90.91%, 82.86% 97.78%, 82.1% 89.67%, 81.72% 99.4%, 80.79% 86.41%, 80.29% 84.93%, 79.86% 87.91%, 79.1% 87%, 78.71% 94.38%, 77.82% 84.37%, 77.35% 95.31%, 76.96% 85.55%, 76.04% 97.97%, 75.67% 86.87%, 74.83% 99.42%, 74.53% 95.67%, 73.98% 95.24%, 73.38% 89.24%, 72.5% 98.84%, 71.9% 99.54%, 71.59% 98.38%, 70.95% 95.41%, 70.23% 90.98%, 69.57% 88.69%, 69.05% 92.15%, 68.34% 90.69%, 67.81% 84.58%, 67.17% 99.25%, 66.84% 89.23%, 66.01% 91.61%, 65.44% 87.48%, 65% 84.51%, 64.34% 94.54%, 63.53% 85.29%, 63.15% 84.97%, 62.41% 84.4%, 61.74% 98.53%, 61.45% 86.21%, 60.7% 97.9%, 60.03% 87.35%, 59.35% 87%, 58.75% 84.92%, 58.51% 84.77%, 57.78% 91.68%, 57.08% 88.09%, 56.46% 95.28%, 56.08% 95.75%, 55.43% 86.8%, 54.64% 96.82%, 54.11% 91.29%, 53.43% 89.32%, 52.93% 91.37%, 52.53% 84.34%, 51.89% 89.6%, 51.15% 95.01%, 50.72% 86.83%, 50% 86.83%, 49.27% 94.86%, 48.85% 97.13%, 48.12% 89.36%, 47.7% 98.19%, 47.04% 89.27%, 46.36% 84.7%, 45.78% 86.72%, 45.38% 95.69%, 44.77% 89.93%, 44.05% 86.84%, 43.53% 98.28%, 42.77% 90.86%, 42.33% 86.96%, 41.6% 98.88%, 41.01% 91.57%, 40.46% 84.47%, 39.9% 86.07%, 39.3% 90.63%, 38.87% 99.63%, 38.12% 97.33%, 37.5% 91.3%, 37.07% 92.53%, 36.36% 95.97%, 35.75% 94.82%, 34.94% 90.26%, 34.65% 95%, 34.09% 92.58%, 33.27% 90.91%, 32.86% 97.78%, 32.1% 89.67%, 31.72% 99.4%, 30.79% 86.41%, 30.29% 84.93%, 29.86% 87.91%, 29.1% 87%, 28.71% 94.38%, 27.82% 84.37%, 27.35% 95.31%, 26.96% 85.55%, 26.04% 97.97%, 25.67% 86.87%, 24.83% 99.42%, 24.53% 95.67%, 23.98% 95.24%, 23.38% 89.24%, 22.5% 98.84%, 21.9% 99.54%, 21.59% 98.38%, 20.95% 95.41%, 20.23% 90.98%, 19.57% 88.69%, 19.05% 92.15%, 18.34% 90.69%, 17.81% 84.58%, 17.17% 99.25%, 16.84% 89.23%, 16.01% 91.61%, 15.44% 87.48%, 15% 84.51%, 14.34% 94.54%, 13.53% 85.29%, 13.15% 84.97%, 12.41% 84.4%, 11.74% 98.53%, 11.45% 86.21%, 10.7% 97.9%, 10.03% 87.35%, 9.35% 87%, 8.75% 84.92%, 8.51% 84.77%, 7.78% 91.68%, 7.08% 88.09%, 6.46% 95.28%, 6.08% 95.75%, 5.43% 86.8%, 4.64% 96.82%, 4.11% 91.29%, 3.43% 89.32%, 2.93% 91.37%, 2.53% 84.34%, 1.89% 89.6%, 1.15% 95.01%, 0.72% 86.83%, 0% 86.83%);
	animation: fk-tape 36s linear infinite;
}

/* ---------- merch: filter + mriežka produktov ---------- */
.fk-merch {
	scroll-margin-top: 24px;
}

.fk-filter {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.fk-filter button {
	font-family: var(--fk-mono);
	font-size: 12px;
	line-height: 1.5;
	font-weight: 700;
	padding: 8px 14px;
	border: 0;
	background-color: #3a3b3e;
	color: var(--fk-paper);
	text-transform: uppercase;
	cursor: pointer;
}

.fk-filter button:hover,
.fk-filter button:focus {
	background-color: #55575b;
	color: var(--fk-paper);
}

.fk-filter button[aria-pressed="true"] {
	background-color: var(--fk-paper);
	color: #111;
}

.fk-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fk-page ul.products::before,
.fk-page ul.products::after {
	display: none;
}

.fk-page ul.products li.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 8px;
	align-items: center;
	align-content: start;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.fk-page ul.products li.product[hidden] {
	display: none;
}

.fk-page ul.products li.product a.woocommerce-LoopProduct-link {
	display: contents;
}

/* Fotka produktu je kus roztrhnutého špinavého papiera. Obal .fk-thumb (pridáva ho
   functions.php) nesie tieň a natočenie, lebo clip-path na obrázku by tieň orezal. */
.fk-page ul.products li.product .fk-thumb {
	grid-column: 1 / -1;
	display: block;
	filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .6));
	transition: rotate .2s ease, scale .2s ease;
}

.fk-page ul.products li.product .fk-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	margin: 0;
	padding: 15%;
	box-sizing: border-box;
	background: var(--fk-dirt), var(--fk-stain), var(--fk-paper);
	clip-path: var(--fk-torn-1);
}

.fk-page ul.products li.product:nth-child(3n+2) .fk-thumb img {
	clip-path: var(--fk-torn-2);
}

.fk-page ul.products li.product:nth-child(3n) .fk-thumb img {
	clip-path: var(--fk-torn-3);
}

.fk-page ul.products li.product:nth-child(odd) .fk-thumb {
	rotate: -1.8deg;
}

.fk-page ul.products li.product:nth-child(even) .fk-thumb {
	rotate: 1.4deg;
}

.fk-page ul.products li.product:hover .fk-thumb {
	rotate: 0deg;
	scale: 1.03;
}

.fk-page ul.products li.product .woocommerce-loop-product__title {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	font-family: var(--fk-body);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--fk-text);
}

.fk-page ul.products li.product .price {
	margin: 0;
	font-family: var(--fk-mono);
	font-size: 15px;
	font-weight: 700;
	color: var(--fk-orange);
	font-variant-numeric: tabular-nums;
}

.fk-page ul.products li.product .price del {
	color: var(--fk-smoke);
	font-weight: 400;
	margin-right: 6px;
}

.fk-page ul.products li.product .price ins {
	text-decoration: none;
}

.fk-page ul.products li.product .button {
	margin: 0;
	padding: 10px 14px;
	border: 0;
	background-color: var(--fk-paper);
	color: #111;
	font-family: var(--fk-body);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
	text-transform: uppercase;
	white-space: nowrap;
}

.fk-page ul.products li.product .button:hover {
	background-color: var(--fk-orange);
	color: #111;
}

.fk-page ul.products li.product .added_to_cart {
	grid-column: 1 / -1;
	font-family: var(--fk-mono);
	font-size: 12px;
	color: var(--fk-muted);
	text-decoration: underline;
	padding: 0;
}

.fk-page ul.products li.product .onsale {
	display: none;
}

.fk-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	background: #111;
	color: var(--fk-paper);
	font-family: var(--fk-mono);
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.5;
	padding: 5px 10px;
	clip-path: var(--fk-torn-btn-2);
	transform: rotate(-4deg);
	pointer-events: none;
}

.fk-merch__empty {
	font-family: var(--fk-mono);
	font-size: 13px;
	color: var(--fk-smoke);
}

/* ---------- stránky mimo Elementora (košík, pokladňa, právne texty) ---------- */
.fk-content {
	max-width: var(--fk-max);
	margin: 0 auto;
	padding: 34px var(--fk-pad) 56px;
}

.fk-content__title {
	margin: 0 0 24px;
	font-family: var(--fk-display);
	font-size: clamp(34px, 5vw, 52px);
	font-weight: 400;
	line-height: 1;
	color: var(--fk-text);
}

/* Tlačidlá a polia v šablónach témy (v Elementore sa používa e-button). */
.fk-page .fk-btn {
	display: inline-block;
	margin: 0;
	padding: 12px 18px;
	border: 0;
	border-radius: 0;
	background-color: var(--fk-paper);
	background-image: var(--fk-dirt), var(--fk-stain);
	color: #111;
	font-family: var(--fk-body);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .04em;
	text-align: center;
	text-transform: uppercase;
	clip-path: var(--fk-torn-btn-2);
	cursor: pointer;
}

.fk-page .fk-btn:hover,
.fk-page .fk-btn:focus {
	background-color: var(--fk-orange);
	color: #111;
}

.fk-page .fk-btn--primary {
	padding: 16px 20px;
	background-color: var(--fk-orange);
	font-size: 14px;
	clip-path: var(--fk-torn-btn-1);
}

.fk-page .fk-btn--primary:hover,
.fk-page .fk-btn--primary:focus {
	background-color: var(--fk-paper);
}

.fk-page .fk-btn--block {
	display: block;
}

.fk-page .fk-btn[disabled] {
	opacity: .5;
	cursor: default;
}

.fk-page .fk-input {
	width: 100%;
	padding: 11px 12px;
	border: 1.5px solid #ffffff55;
	border-radius: 0;
	background: var(--fk-ink);
	color: #fff;
	font: inherit;
	font-size: 14px;
}

.fk-page .fk-input:focus {
	border-color: var(--fk-orange);
	outline: none;
}

.fk-page .woocommerce-message,
.fk-page .woocommerce-info,
.fk-page .woocommerce-error {
	margin: 0 0 20px;
	border-top: 0;
	border-left: 4px solid var(--fk-orange);
	border-radius: 0;
	background: #ffffff0d;
	color: var(--fk-text);
	font-size: 14px;
}

.fk-page .woocommerce-message::before,
.fk-page .woocommerce-info::before {
	color: var(--fk-orange);
}

.fk-page .woocommerce-message a,
.fk-page .woocommerce-info a,
.fk-page .woocommerce-error a {
	text-decoration: underline;
}

/* ---------- kroky objednávky ---------- */
.fk-steps {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--fk-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fk-steps li {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 6px 14px 6px 0;
	color: #777;
}

.fk-steps li + li::before {
	content: "→";
	margin-right: 6px;
	color: #555;
}

.fk-steps i {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: 1.5px solid #555;
	border-radius: 50%;
	font-style: normal;
}

.fk-steps .is-current {
	color: #fff;
}

.fk-steps .is-current i {
	border-color: var(--fk-orange);
	background: var(--fk-orange);
	color: #111;
}

.fk-steps .is-done {
	color: #bbb;
}

.fk-steps .is-done i {
	border-color: #fff;
	background: #fff;
	color: #111;
}

/* ---------- množstvo (− číslo +) ---------- */
.fk-page .quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid #fff;
}

.fk-page .quantity .fk-qty__btn {
	width: 32px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}

.fk-page .quantity .fk-qty__btn:hover,
.fk-page .quantity .fk-qty__btn:focus {
	background: #fff;
	color: #111;
}

.fk-page .quantity input.qty {
	width: 36px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-family: var(--fk-mono);
	font-size: 14px;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.fk-page .quantity input.qty::-webkit-inner-spin-button,
.fk-page .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* ---------- košík ---------- */
.fk-cart {
	display: grid;
	gap: 26px;
}

.fk-cart__title {
	margin: 0;
	font-family: var(--fk-display);
	font-size: clamp(34px, 5vw, 52px);
	font-weight: 400;
	line-height: .95;
	color: var(--fk-text);
}

.fk-cart__title span {
	color: var(--fk-orange);
}

.fk-cart__layout {
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	gap: 32px;
	align-items: start;
}

.fk-cart__main,
.fk-cart .woocommerce-cart-form {
	display: grid;
	gap: 22px;
	min-width: 0;
}

.fk-cart__empty-text {
	margin: 0;
	color: var(--fk-muted);
}

.fk-free {
	display: grid;
	gap: 8px;
	padding: 14px 16px;
	border-left: 4px solid var(--fk-orange);
	background: #ffffff0d;
}

.fk-free p {
	margin: 0;
	font-size: 14px;
}

.fk-free b {
	color: var(--fk-orange);
}

.fk-free__track {
	height: 8px;
	background: #ffffff1f;
}

.fk-free__fill {
	height: 100%;
	background: var(--fk-orange);
}

.fk-cart__items {
	display: grid;
	border-top: 2px solid #fff;
}

.fk-cart-item {
	display: grid;
	grid-template-columns: 88px 1fr auto auto;
	gap: 18px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid #ffffff22;
}

.fk-cart-item__thumb img,
.fk-upsell__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	padding: 12%;
	box-sizing: border-box;
	background: var(--fk-dirt), var(--fk-stain), var(--fk-paper);
	clip-path: var(--fk-torn-1);
}

.fk-cart-item__name {
	margin: 0;
	font-family: var(--fk-body);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--fk-text);
}

.fk-cart-item__meta {
	display: block;
	margin-top: 2px;
	color: #aaa;
	font-size: 13px;
}

.fk-page .fk-cart-item__remove {
	display: inline-block;
	margin-top: 6px;
	color: #999;
	font-family: var(--fk-mono);
	font-size: 12px;
	text-decoration: underline;
}

.fk-page .fk-cart-item__remove:hover {
	color: var(--fk-orange);
}

.fk-cart-item__price {
	min-width: 72px;
	color: var(--fk-orange);
	font-family: var(--fk-mono);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.fk-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.fk-coupon {
	display: flex;
	flex: 1;
	gap: 8px;
	min-width: 240px;
}

.fk-coupon .fk-input {
	flex: 1;
	min-width: 140px;
}

/* Množstvo sa ukladá samo; tlačidlo je viditeľné len bez JavaScriptu. */
.fk-js .fk-cart__update {
	display: none;
}

.fk-upsell {
	display: grid;
	gap: 12px;
}

.fk-upsell__title,
.fk-summary__title {
	margin: 0;
	font-family: var(--fk-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--fk-text);
}

.fk-upsell__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.fk-upsell__item {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 10px;
	align-items: center;
	padding: 8px;
	background: #ffffff0a;
}

.fk-upsell__item b {
	display: block;
	font-size: 13px;
	line-height: 1.3;
	text-transform: uppercase;
}

.fk-page .fk-upsell__add {
	color: var(--fk-orange);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.fk-page .fk-upsell__add:hover {
	text-decoration: underline;
}

.fk-summary {
	position: sticky;
	top: 12px;
	display: grid;
	gap: 12px;
	padding: 20px;
	border: 2px solid #fff;
	background: var(--fk-bg);
}

.fk-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.fk-summary__row > span:last-child {
	font-family: var(--fk-mono);
	text-align: right;
}

.fk-summary__row--muted {
	color: #aaa;
}

.fk-summary__row--total {
	align-items: baseline;
	padding-top: 12px;
	border-top: 2px solid #fff;
	font-size: 16px;
	font-weight: 800;
}

.fk-summary__row--total > span:last-child {
	color: var(--fk-orange);
	font-family: var(--fk-display);
	font-size: 28px;
	font-weight: 400;
}

.fk-summary__row--total strong {
	font-weight: 400;
}

.fk-page .fk-summary .woocommerce-remove-coupon {
	margin-left: 6px;
	color: #999;
	font-size: 12px;
	text-decoration: underline;
}

.fk-page .fk-summary .wc-proceed-to-checkout {
	margin: 0;
	padding: 0;
}

.fk-page .fk-summary .wc-proceed-to-checkout a.fk-btn {
	margin: 0;
	padding: 16px 18px;
	font-size: 14px;
}

.fk-summary__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.fk-summary__tags span {
	padding: 3px 7px;
	border: 1px solid #ffffff44;
	color: #ccc;
	font-family: var(--fk-mono);
	font-size: 10.5px;
}

/* ---------- pokladňa ---------- */
.fk-checkout form.checkout,
.fk-checkout__main,
.fk-checkout__blocks {
	display: grid;
	gap: 26px;
	min-width: 0;
}

.fk-block {
	display: grid;
	gap: 12px;
}

.fk-block__title {
	margin: 0;
	font-family: var(--fk-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--fk-text);
}

.fk-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.fk-page .fk-fields .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.fk-page .fk-fields .form-row::before,
.fk-page .fk-fields .form-row::after {
	display: none;
}

.fk-page .fk-fields .form-row-wide,
.fk-page .fk-fields .notes {
	grid-column: 1 / -1;
}

.fk-page .fk-fields .fk-company-field[hidden] {
	display: none;
}

.fk-page .fk-fields label {
	display: block;
	margin: 0 0 5px;
	color: #bbb;
	font-family: var(--fk-mono);
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fk-page .fk-fields .form-row .required,
.fk-page .fk-place-order .form-row .required,
.fk-page .fk-check .required {
	color: var(--fk-orange);
	text-decoration: none;
}

.fk-page .fk-fields .optional {
	display: none;
}

.fk-page .fk-fields .form-row input.input-text,
.fk-page .fk-fields .form-row textarea,
.fk-page .fk-fields .form-row select {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 11px 12px;
	border: 1.5px solid #ffffff55;
	border-radius: 0;
	background: var(--fk-ink);
	color: #fff;
	font: inherit;
	font-size: 14px;
	line-height: 1.4;
}

.fk-page .fk-fields .form-row textarea {
	min-height: 72px;
}

.fk-page .fk-fields .form-row input.input-text:focus,
.fk-page .fk-fields .form-row textarea:focus,
.fk-page .fk-fields .form-row select:focus {
	border-color: var(--fk-orange);
	outline: none;
}

.fk-page .fk-fields .woocommerce-invalid input.input-text,
.fk-page .fk-fields .woocommerce-invalid select {
	border-color: #ff4d4d;
}

/* Zaškrtávacie polia: firma, súhlas s podmienkami, newsletter. */
.fk-page .fk-fields .fk-check-row label,
.fk-page .fk-check,
.fk-page .fk-place-order .woocommerce-form__label-for-checkbox {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0;
	color: #ddd;
	font-family: var(--fk-body);
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}

.fk-page .fk-fields .fk-check-row input,
.fk-page .fk-check input,
.fk-page .fk-place-order input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--fk-orange);
}

.fk-page .fk-place-order a {
	color: #fff;
	text-decoration: underline;
}

/* Karty s prepínačom: spôsoby dopravy a platby. */
.fk-opts,
.fk-page #payment.fk-payment ul.payment_methods {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.fk-opt,
.fk-page #payment.fk-payment ul.payment_methods li {
	display: grid;
	grid-template-columns: 22px 1fr auto;
	gap: 4px 12px;
	align-items: center;
	margin: 0;
	padding: 13px 14px;
	border: 1.5px solid #ffffff33;
	line-height: 1.4;
	cursor: pointer;
}

.fk-opt:has(input:checked),
.fk-page #payment.fk-payment ul.payment_methods li:has(input:checked) {
	border-color: var(--fk-orange);
	background: #f0641e14;
}

.fk-opt input,
.fk-page #payment.fk-payment ul.payment_methods li input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--fk-orange);
}

.fk-opt b,
.fk-page #payment.fk-payment ul.payment_methods li label {
	margin: 0;
	color: var(--fk-text);
	font-family: var(--fk-body);
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
}

.fk-opt__price {
	font-family: var(--fk-mono);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.fk-opts__empty {
	margin: 0;
	padding: 13px 14px;
	border: 1px dashed #ffffff44;
	color: var(--fk-muted);
	font-size: 14px;
}

.fk-page.fk-page #payment.fk-payment {
	border-radius: 0;
	background: transparent;
}

.fk-page #payment.fk-payment ul.payment_methods::before,
.fk-page #payment.fk-payment ul.payment_methods::after,
.fk-page #payment.fk-payment ul.payment_methods li::before,
.fk-page #payment.fk-payment ul.payment_methods li::after,
.fk-page #payment.fk-payment div.payment_box::before {
	display: none;
}

.fk-page #payment.fk-payment ul.payment_methods li label {
	grid-column: 2 / -1;
}

.fk-page .fk-shop table.shop_attributes {
	margin: 0;
	border: 0;
	border-top: 2px solid #fff;
}

.fk-page .fk-shop table.shop_attributes th,
.fk-page .fk-shop table.shop_attributes td {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid #ffffff22;
	background: transparent;
	font-style: normal;
	text-align: left;
}

.fk-page .fk-shop table.shop_attributes th {
	width: 160px;
	color: #bbb;
	font-family: var(--fk-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fk-page .fk-shop table.shop_attributes td p {
	margin: 0;
	padding: 0;
}

.fk-page #payment.fk-payment div.payment_box {
	grid-column: 2 / -1;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: #aaa;
	font-size: 12.5px;
}

.fk-page #payment.fk-payment div.payment_box p {
	margin: 0;
}

/* Súhrn objednávky vpravo. */
.fk-review,
.fk-review__items,
.fk-place-order {
	display: grid;
	gap: 12px;
}

.fk-page .fk-place-order {
	float: none;
	margin: 0;
	padding: 0;
}

.fk-review__item {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	gap: 10px;
	align-items: center;
	font-size: 13px;
}

.fk-review__thumb {
	position: relative;
}

.fk-review__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	padding: 10%;
	box-sizing: border-box;
	background: var(--fk-dirt), var(--fk-paper);
}

.fk-review__thumb em {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--fk-orange);
	color: #111;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
}

.fk-review__item b {
	display: block;
	font-size: 12.5px;
	text-transform: uppercase;
}

.fk-review__price {
	font-family: var(--fk-mono);
	font-variant-numeric: tabular-nums;
}

.fk-page .fk-place-order .woocommerce-terms-and-conditions-wrapper,
.fk-page .fk-place-order .woocommerce-privacy-policy-text p {
	margin: 0;
	color: #999;
	font-size: 11.5px;
}

.fk-page .fk-place-order .form-row {
	margin: 0;
	padding: 0;
}

/* Rozbaľovací zoznam krajín (select2) v tmavom. Zoznam sa vkladá až na koniec <body>. */
.select2-container--default .select2-selection--single {
	height: 44px;
	border: 1.5px solid #ffffff55;
	border-radius: 0;
	background: #111214;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 12px;
	color: #fff;
	font-size: 14px;
	line-height: 41px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px;
	right: 6px;
}

.select2-container--default .select2-dropdown {
	border: 1.5px solid #ffffff55;
	border-radius: 0;
	background: #111214;
	color: #fff;
	font-size: 14px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid #ffffff55;
	background: #1b1c1e;
	color: #fff;
}

.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background: #2c2d30;
	color: #fff;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: #f0641e;
	color: #111;
}

/* Potvrdenie objednávky a ostatné tabuľky WooCommerce. */
.fk-page .woocommerce-order {
	display: grid;
	gap: 22px;
}

.fk-page .woocommerce-order > * {
	margin: 0;
}

.fk-page .woocommerce-order h2 {
	margin: 0 0 12px;
	font-family: var(--fk-display);
	font-size: 22px;
	font-weight: 400;
	color: var(--fk-text);
}

.fk-page .woocommerce-order ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin: 0;
	padding: 16px;
	border-left: 4px solid var(--fk-orange);
	background: #ffffff0d;
	list-style: none;
}

.fk-page .woocommerce-order ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	color: #aaa;
	font-family: var(--fk-mono);
	font-size: 11px;
	text-transform: uppercase;
}

.fk-page .woocommerce-order ul.order_details li strong {
	color: var(--fk-text);
	font-family: var(--fk-body);
	font-size: 15px;
	text-transform: none;
}

.fk-page .woocommerce table.shop_table {
	border: 0;
	border-top: 2px solid #fff;
	border-radius: 0;
	color: var(--fk-text);
}

.fk-page .woocommerce table.shop_table th,
.fk-page .woocommerce table.shop_table td {
	padding: 12px 0;
	border-top: 0;
	border-bottom: 1px solid #ffffff22;
	background: transparent;
}

.fk-page .woocommerce address {
	padding: 0;
	border: 0;
	color: var(--fk-muted);
	font-style: normal;
}

/* ---------- stránka produktu ---------- */
.fk-shop {
	display: grid;
	gap: 22px;
}

.fk-shop__back {
	justify-self: start;
}

.fk-page.fk-page .fk-shop div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px 48px;
	align-items: start;
}

.fk-page.fk-page .fk-shop div.product::before,
.fk-page.fk-page .fk-shop div.product::after {
	display: none;
}

.fk-page.fk-page .fk-shop div.product div.images,
.fk-page.fk-page .fk-shop div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs,
.fk-page.fk-page .fk-shop div.product .related,
.fk-page.fk-page .fk-shop div.product .up-sells {
	grid-column: 1 / -1;
	clear: none;
}

/* Fotka produktu je veľký útržok papiera. */
.fk-shop .woocommerce-product-gallery {
	filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .6));
	rotate: -1.2deg;
}

.fk-shop .woocommerce-product-gallery__image,
.fk-shop .woocommerce-product-gallery__image--placeholder {
	background: var(--fk-dirt), var(--fk-stain), var(--fk-paper);
	clip-path: var(--fk-torn-2);
}

.fk-shop .woocommerce-Tabs-panel h2 {
	margin: 0 0 12px;
	font-family: var(--fk-display);
	font-size: 22px;
	font-weight: 400;
	color: var(--fk-text);
}

.fk-shop .woocommerce-product-gallery__image img,
.fk-shop .woocommerce-product-gallery__image--placeholder img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	padding: 12%;
	box-sizing: border-box;
}

.fk-page.fk-page .fk-shop div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
}

.fk-page.fk-page .fk-shop div.product div.images .flex-control-thumbs li {
	float: none;
	width: 72px;
	margin: 0;
	list-style: none;
}

.fk-page.fk-page .fk-shop div.product div.images .flex-control-thumbs li img {
	background: var(--fk-paper);
}

.fk-page.fk-page .fk-shop .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
}

.fk-page.fk-page .fk-shop span.onsale {
	top: 12px;
	left: 12px;
	right: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 5px 10px;
	border-radius: 0;
	background: #111;
	color: var(--fk-paper);
	font-family: var(--fk-mono);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	clip-path: var(--fk-torn-btn-2);
	rotate: -4deg;
}

.fk-shop div.product div.summary {
	display: grid;
	gap: 16px;
	align-content: start;
}

.fk-shop div.product div.summary > * {
	margin: 0;
}

.fk-page.fk-page .fk-shop div.product .product_title {
	margin: 0;
	font-family: var(--fk-display);
	font-size: clamp(32px, 4.2vw, 54px);
	font-weight: 400;
	line-height: .98;
	text-transform: uppercase;
	color: var(--fk-text);
}

.fk-page.fk-page .fk-shop div.product p.price,
.fk-page.fk-page .fk-shop div.product span.price {
	margin: 0;
	color: var(--fk-orange);
	font-family: var(--fk-mono);
	font-size: 26px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.fk-page.fk-page .fk-shop div.product p.price del,
.fk-page.fk-page .fk-shop div.product span.price del {
	margin-right: 8px;
	color: var(--fk-smoke);
	font-size: .7em;
	font-weight: 400;
	opacity: 1;
}

.fk-page.fk-page .fk-shop div.product p.price ins,
.fk-page.fk-page .fk-shop div.product span.price ins {
	text-decoration: none;
}

.fk-shop .woocommerce-product-details__short-description {
	max-width: 52ch;
	color: var(--fk-muted);
}

.fk-shop .woocommerce-product-details__short-description p {
	margin: 0;
}

.fk-page.fk-page .fk-shop div.product p.stock {
	color: var(--fk-paper);
	font-family: var(--fk-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fk-page.fk-page .fk-shop div.product p.stock.out-of-stock {
	color: #ff4d4d;
}

.fk-page.fk-page .fk-shop div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 0;
}

.fk-page.fk-page .fk-shop div.product form.cart::before,
.fk-page.fk-page .fk-shop div.product form.cart::after {
	display: none;
}

.fk-page.fk-page .fk-shop div.product form.variations_form {
	display: grid;
	gap: 16px;
}

.fk-page.fk-page .fk-shop div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.fk-page.fk-page .fk-shop div.product form.cart div.quantity {
	float: none;
	margin: 0;
}

.fk-page.fk-page .fk-shop div.product form.cart div.quantity .fk-qty__btn,
.fk-page.fk-page .fk-shop div.product form.cart div.quantity input.qty {
	height: 48px;
}

.fk-page.fk-page .fk-shop div.product form.cart .single_add_to_cart_button {
	float: none;
	margin: 0;
	padding: 17px 30px;
	border: 0;
	border-radius: 0;
	background-color: var(--fk-orange);
	background-image: var(--fk-dirt), var(--fk-stain);
	color: #111;
	font-family: var(--fk-body);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .04em;
	text-transform: uppercase;
	clip-path: var(--fk-torn-btn-1);
	opacity: 1;
}

.fk-page.fk-page .fk-shop div.product form.cart .single_add_to_cart_button:hover,
.fk-page.fk-page .fk-shop div.product form.cart .single_add_to_cart_button:focus {
	background-color: var(--fk-paper);
	color: #111;
}

.fk-page.fk-page .fk-shop div.product form.cart .single_add_to_cart_button.disabled,
.fk-page.fk-page .fk-shop div.product form.cart .single_add_to_cart_button:disabled {
	background-color: #55575b;
	color: #c9c9c9;
	cursor: not-allowed;
}

/* Výber varianty: tlačidlá z fk.js, pôvodný zoznam ostáva pre čítačky a bez JavaScriptu. */
.fk-page.fk-page .fk-shop div.product form.cart table.variations {
	width: 100%;
	margin: 0;
	border: 0;
}

.fk-page.fk-page .fk-shop div.product form.cart table.variations tr,
.fk-page.fk-page .fk-shop div.product form.cart table.variations th,
.fk-page.fk-page .fk-shop div.product form.cart table.variations td {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

.fk-page.fk-page .fk-shop div.product form.cart table.variations label {
	display: block;
	margin: 0 0 8px;
	color: #bbb;
	font-family: var(--fk-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fk-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fk-page .fk-swatch {
	min-width: 52px;
	padding: 12px 14px;
	border: 0;
	border-radius: 0;
	background-color: #3a3b3e;
	background-image: var(--fk-dirt), var(--fk-stain);
	color: var(--fk-paper);
	font-family: var(--fk-mono);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	clip-path: var(--fk-torn-btn-2);
	cursor: pointer;
}

.fk-page .fk-swatch:nth-child(even) {
	clip-path: var(--fk-torn-btn-1);
}

.fk-page .fk-swatch:hover,
.fk-page .fk-swatch:focus {
	background-color: #55575b;
	color: var(--fk-paper);
}

.fk-page .fk-swatch[aria-pressed="true"] {
	background-color: var(--fk-paper);
	color: #111;
}

.fk-page .fk-swatch:disabled {
	opacity: .4;
	text-decoration: line-through;
	cursor: not-allowed;
}

.fk-js .fk-swatches__select {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.fk-page .fk-shop .reset_variations {
	display: inline-block;
	margin-top: 8px;
	color: #999;
	font-family: var(--fk-mono);
	font-size: 12px;
	text-decoration: underline;
}

.fk-shop .woocommerce-variation-price {
	margin-bottom: 4px;
}

.fk-product-perks {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 14px 0 0;
	border-top: 2px solid #fff;
	color: #c4c4c4;
	font-size: 14px;
	list-style: none;
}

.fk-product-perks b {
	margin-right: 6px;
	color: var(--fk-orange);
	font-family: var(--fk-display);
	font-size: 15px;
	font-weight: 400;
}

/* Záložky Popis / Parametre / Recenzie. */
.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	overflow: visible;
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs::before,
.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li::before,
.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: #3a3b3e;
	background-image: var(--fk-dirt), var(--fk-stain);
	clip-path: var(--fk-torn-btn-2);
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li a {
	padding: 9px 16px;
	color: var(--fk-paper);
	font-family: var(--fk-mono);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li.active {
	background-color: var(--fk-paper);
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs ul.tabs li.active a {
	color: #111;
}

.fk-page.fk-page .fk-shop div.product .woocommerce-tabs .panel {
	max-width: 76ch;
	margin: 0;
	padding: 0;
	color: var(--fk-muted);
}

.fk-shop .related > h2,
.fk-shop .up-sells > h2 {
	margin: 0 0 20px;
	font-family: var(--fk-display);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--fk-text);
}

/* ---------- responzívne ---------- */
@media (max-width: 900px) {
	.fk-cart__layout {
		grid-template-columns: 1fr;
	}

	.fk-page.fk-page .fk-shop div.product {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.fk-summary {
		position: static;
	}

	.fk-upsell__list {
		grid-template-columns: 1fr;
	}

	.fk-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	:root {
		--fk-pad: 16px;
	}

	.fk-nav {
		display: none;
	}

	.fk-fields {
		grid-template-columns: 1fr;
	}

	.fk-cart-item {
		grid-template-columns: 64px 1fr auto;
		gap: 12px;
	}

	.fk-cart-item__qty {
		grid-column: 2;
		justify-self: start;
	}

	.fk-cart-item__price {
		grid-column: 3;
		grid-row: 1;
	}

	.fk-page ul.products li.product {
		grid-template-columns: 1fr;
	}

	.fk-page ul.products li.product .button {
		justify-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.fk-page * {
		animation: none !important;
	}
}
