/*
 * Sousweb Sklep: style w duchu sklepu Apple.
 * Jasne tło, białe karty z miękkim cieniem, karuzele przewijane w bok, jedna ciemna sekcja z produktem flagowym.
 * Kolory i czcionki pochodzą z theme.json, więc warianty w edytorze zmieniają też wszystko poniżej.
 */

:root {
	--sousweb-night: var(--wp--preset--color--night);
	--sousweb-on-night: var(--wp--preset--color--on-night);
	--sousweb-muted-night: var(--wp--preset--color--muted-night);
	--sousweb-line-night: var(--wp--preset--color--line-night);
	--sousweb-link-night: var(--wp--preset--color--link-night);
	--sousweb-paper: var(--wp--preset--color--paper);
	--sousweb-base: var(--wp--preset--color--base);
	--sousweb-card: var(--wp--preset--color--card, #fff);
	--sousweb-ink: var(--wp--preset--color--ink);
	--sousweb-muted: var(--wp--preset--color--muted);
	--sousweb-line: var(--wp--preset--color--line);
	--sousweb-action: var(--wp--preset--color--action);
	--sousweb-eyebrow: var(--wp--preset--color--eyebrow, #B64400);
	--sousweb-ok: var(--wp--preset--color--ok, #008009);
	--sousweb-gradient: var(--wp--preset--color--grad-1), var(--wp--preset--color--grad-2), var(--wp--preset--color--grad-3), var(--wp--preset--color--grad-4), var(--wp--preset--color--grad-1);
	--sousweb-ease: cubic-bezier(.16, 1, .3, 1);
	--sousweb-r-pill: 980px;
	--sousweb-r-panel: 36px;
	--sousweb-r-tile: 28px;
	--sousweb-r-card: 18px;
	--sousweb-r-field: 12px;
	--sousweb-cien: 2px 4px 12px rgba(0, 0, 0, .08);
	--sousweb-cien-hover: 2px 4px 16px rgba(0, 0, 0, .16);
	/* Odstęp od krawędzi ekranu do treści: karuzele zaczynają się równo z nagłówkami, a kończą na krawędzi ekranu. */
	--sousweb-brzeg: max(var(--wp--style--root--padding-left, 20px), calc((100vw - var(--wp--style--global--wide-size, 1200px)) / 2));
	--sousweb-night-tile: #161617;
	--sousweb-night-tile: color-mix(in srgb, var(--sousweb-on-night) 7%, var(--sousweb-night));
	--sousweb-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
	--sousweb-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Ogólne
---------------------------------------- */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
}

:where(p, li) {
	text-wrap: pretty;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 2px solid var(--sousweb-action);
	outline-offset: 3px;
}

::selection {
	background: var(--sousweb-action);
	color: var(--wp--preset--color--on-action);
}

.has-night-background-color a:where(:not(.wp-element-button)) {
	color: var(--sousweb-link-night);
}

mark.has-inline-color {
	background: none;
}

:where(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="password"],
	input[type="number"],
	input[type="search"],
	select,
	textarea
) {
	background-color: var(--sousweb-base);
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-field);
	color: var(--sousweb-ink);
	font: inherit;
	min-height: 44px;
	padding: 0.6em 1em;
}

.wp-element-button,
.wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* Styl "Link ze strzałką": niebieski tekst z cienką strzałką, bez tła. */
.wp-block-button.is-style-strzalka > .wp-block-button__link,
.wp-block-button.is-style-strzalka > .wp-block-button__link:hover {
	background: transparent;
	color: var(--sousweb-action);
	gap: 0.15em;
	padding-left: 0.25em;
	padding-right: 0.25em;
}

.wp-block-button.is-style-strzalka > .wp-block-button__link:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.wp-block-button.is-style-strzalka > .wp-block-button__link::after,
.sousweb-link-strzalka a::after {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	background-color: currentColor;
	-webkit-mask: var(--sousweb-chevron) center / contain no-repeat;
	mask: var(--sousweb-chevron) center / contain no-repeat;
	transform: translateY(0.02em);
}

.has-night-background-color .wp-block-button.is-style-strzalka > .wp-block-button__link {
	color: var(--sousweb-link-night);
}

.sousweb-link-strzalka a {
	align-items: center;
	display: inline-flex;
	gap: 0.15em;
}

/* Pasek trybu demo */
.sousweb-wstazka {
	background: var(--sousweb-paper);
	color: var(--sousweb-muted);
	font-size: 12px;
	line-height: 1.4;
	margin: 0;
	padding: 10px 20px;
	position: relative;
	text-align: center;
	z-index: 101;
}

.sousweb-wstazka a {
	color: var(--sousweb-action);
	white-space: nowrap;
}

.sousweb-wstazka a::after {
	content: " ›";
}

/* Wejście z rozmycia
---------------------------------------- */

@keyframes sousweb-wejscie {
	from {
		opacity: 0;
		transform: translateY(24px);
		filter: blur(10px);
	}

	to {
		opacity: 1;
		transform: none;
		filter: blur(0);
	}
}

.sousweb-js .sousweb-start .wp-block-columns > * {
	animation: sousweb-wejscie 1.1s var(--sousweb-ease) both;
}

.sousweb-js .sousweb-start .wp-block-columns > :nth-child(2) {
	animation-delay: 0.15s;
}

.sousweb-js .sousweb-start .sousweb-kategorie {
	animation: sousweb-wejscie 1.1s var(--sousweb-ease) 0.3s both;
}

.sousweb-js .sousweb-pojaw {
	opacity: 0;
	transform: translateY(24px);
	filter: blur(10px);
	transition: opacity 1.1s var(--sousweb-ease), transform 1.1s var(--sousweb-ease), filter 1.1s var(--sousweb-ease);
}

.sousweb-js .sousweb-pojaw.is-widoczny {
	opacity: 1;
	transform: none;
	filter: none;
}

/* Nagłówek strony: przyklejony, jasny, półprzezroczysty
---------------------------------------- */

header.wp-block-template-part:has(> .sousweb-naglowek) {
	margin-bottom: 0;
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

.sousweb-naglowek {
	position: relative;
}

/* Tło paska jest w pseudo-elemencie: rozmycie ustawione na samym pasku
 * zamknęłoby w nim pełnoekranowe menu na telefonie. */
.sousweb-naglowek::before {
	background-color: rgba(251, 251, 253, 0.8);
	background-color: color-mix(in srgb, var(--sousweb-base) 80%, transparent);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.sousweb-naglowek__pasek {
	gap: 16px;
	min-height: 48px;
}

.sousweb-naglowek .wp-block-site-title {
	white-space: nowrap;
}

.sousweb-naglowek .wp-block-site-title a {
	color: var(--sousweb-ink);
}

.sousweb-naglowek .wp-block-site-logo img {
	border-radius: 6px;
}

.sousweb-naglowek .sousweb-menu {
	flex: 1 1 auto;
}

.sousweb-naglowek .wp-block-navigation-item__content {
	opacity: 0.8;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.sousweb-naglowek .wp-block-navigation-item__content:hover {
	opacity: 1;
	text-decoration: none;
}

.sousweb-naglowek .wp-block-navigation__responsive-container-open,
.sousweb-naglowek .wp-block-navigation__responsive-container-close {
	color: var(--sousweb-ink);
}

/* Menu na telefonie: cały ekran, duże linki jak u Apple. */
.sousweb-naglowek .wp-block-navigation__responsive-container.is-menu-open {
	padding: 4.5rem clamp(1.5rem, 1rem + 2vw, 3rem) 2rem;
}

.sousweb-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	padding-top: 0;
}

.sousweb-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	gap: 0.6rem;
}

.sousweb-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.02em;
	opacity: 1;
}

.sousweb-naglowek__akcje {
	color: var(--sousweb-ink);
}

.sousweb-naglowek .wp-block-search {
	margin: 0;
}

.sousweb-naglowek .wp-block-search__inside-wrapper {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: var(--sousweb-r-pill);
	padding: 0;
}

.sousweb-naglowek .wp-block-search__input {
	background: rgba(0, 0, 0, 0.06);
	border: 0;
	border-radius: var(--sousweb-r-pill);
	color: var(--sousweb-ink);
	font-size: 13px;
	height: 32px;
	min-height: 0;
	padding: 0 0.9em;
}

.sousweb-naglowek .wp-block-search__button {
	align-items: center;
	background: transparent;
	border-radius: var(--sousweb-r-pill);
	color: var(--sousweb-ink);
	display: inline-flex;
	height: 40px;
	justify-content: center;
	margin-left: 0;
	min-height: 40px;
	padding: 0;
	width: 40px;
}

.sousweb-naglowek .wp-block-search__button:hover {
	background: transparent;
	color: var(--sousweb-ink);
	opacity: 0.7;
}

.sousweb-naglowek .wp-block-search__button svg {
	width: 18px;
	height: 18px;
}

.sousweb-naglowek .wp-block-woocommerce-customer-account a,
.sousweb-naglowek .wc-block-mini-cart__button {
	align-items: center;
	background: none;
	border: 0;
	color: var(--sousweb-ink);
	display: inline-flex;
	height: 40px;
	justify-content: center;
	min-width: 40px;
	padding: 0;
}

.sousweb-naglowek .wp-block-woocommerce-customer-account a:hover,
.sousweb-naglowek .wc-block-mini-cart__button:hover {
	opacity: 0.7;
}

.sousweb-naglowek .wp-block-woocommerce-customer-account svg,
.sousweb-naglowek .wc-block-mini-cart__icon {
	width: 18px;
	height: 18px;
}

.sousweb-naglowek .wc-block-mini-cart__badge {
	background-color: var(--sousweb-ink);
	border: 0;
	color: var(--sousweb-base);
	font-size: 10px;
	font-weight: 600;
}

/* Sekcje
---------------------------------------- */

.sousweb-sekcja__naglowek {
	text-align: center;
}

.sousweb-sekcja__naglowek > * {
	margin-left: auto;
	margin-right: auto;
}

.sousweb-sekcja__naglowek p {
	max-width: 36rem;
}

.has-section-font-size,
.has-hero-font-size {
	font-weight: 600;
}

.has-hero-font-size {
	letter-spacing: -0.03em;
	line-height: 1.05;
}

/* Dwukolorowy nagłówek półki: „Najnowsze. Prosto z salonu na twoją półkę.” */
.sousweb-polka__tytul {
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.12;
	margin-bottom: 0;
	max-width: var(--wp--style--global--wide-size);
}

.sousweb-polka__tytul mark {
	font-weight: 600;
}

/* Powitanie: „Sklep.”
---------------------------------------- */

.sousweb-start__tytul {
	letter-spacing: -0.035em;
	line-height: 1.05;
	margin: 0;
}

.sousweb-start__tytul mark {
	font-weight: 600;
}

.sousweb-start__pomoc {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 0.6em;
}

.sousweb-pomoc p {
	line-height: 1.35;
	margin: 0;
}

.sousweb-pomoc a::after {
	content: " ›";
}

.sousweb-pomoc__ikona {
	flex: none;
	margin: 0;
}

/* Rząd kategorii z obrazkami */
.sousweb-kategorie {
	margin-top: var(--wp--preset--spacing--40) !important;
}

.sousweb-kategorie__lista {
	display: flex;
	gap: 6px;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding: 8px var(--sousweb-brzeg) 16px;
	scroll-padding-inline: var(--sousweb-brzeg);
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.sousweb-kategorie__lista::-webkit-scrollbar {
	display: none;
}

.sousweb-kategorie__el {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

.sousweb-kategorie__link {
	align-items: center;
	border-radius: var(--sousweb-r-card);
	color: var(--sousweb-ink);
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 8px 10px 10px;
	text-decoration: none;
	width: 128px;
}

.sousweb-kategorie__link:hover {
	text-decoration: none;
}

.sousweb-kategorie__obraz {
	align-items: center;
	display: flex;
	height: 92px;
	justify-content: center;
	transition: transform 0.5s var(--sousweb-ease);
	width: 100%;
}

.sousweb-kategorie__obraz img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.sousweb-kategorie__el--wszystkie .sousweb-kategorie__obraz {
	color: var(--sousweb-muted);
}

.sousweb-kategorie__link:hover .sousweb-kategorie__obraz {
	transform: translateY(-4px) scale(1.04);
}

.sousweb-kategorie__nazwa {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
	text-align: center;
}

.sousweb-kategorie__link:hover .sousweb-kategorie__nazwa {
	color: var(--sousweb-action);
}

/* Karuzele
---------------------------------------- */

.sousweb-polka {
	overflow: hidden;
}

/* Lista, która przewija się w bok. Dla produktów to lista z bloku Kolekcja produktów, dla kart z korzyściami sama grupa. */
.sousweb-karuzela .wc-block-product-template,
.sousweb-karuzela.sousweb-karty-male {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 20px;
	grid-template-columns: none !important;
	list-style: none;
	margin: 0 !important;
	max-width: none !important;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding: 24px var(--sousweb-brzeg) 44px !important;
	scroll-behavior: smooth;
	scroll-padding-inline: var(--sousweb-brzeg);
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.sousweb-karuzela .wc-block-product-template::-webkit-scrollbar,
.sousweb-karuzela.sousweb-karty-male::-webkit-scrollbar {
	display: none;
}

.sousweb-karuzela.wp-block-woocommerce-product-collection {
	margin-top: 0 !important;
}

/* Karta: biała, zaokrąglona, z miękkim cieniem, przy najechaniu lekko rośnie. */
.sousweb-karuzela .wc-block-product,
.sousweb-karta {
	background: var(--sousweb-card);
	border-radius: var(--sousweb-r-card);
	box-shadow: var(--sousweb-cien);
	position: relative;
	transition: box-shadow 0.3s var(--sousweb-ease), transform 0.3s var(--sousweb-ease);
}

.sousweb-karuzela .wc-block-product {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	padding: 28px 28px 0;
	scroll-snap-align: start;
	text-align: left;
	width: 340px;
}

.sousweb-karuzela .wc-block-product:hover,
a.sousweb-karta:hover,
.sousweb-karta--powod:hover {
	box-shadow: var(--sousweb-cien-hover);
	transform: scale(1.012);
}

.sousweb-karuzela .wc-block-product > * {
	margin-bottom: 0;
	margin-top: 0;
}

/* Cała karta jest klikalna: link z nazwy produktu rozciąga się na kartę. */
.sousweb-karta__nazwa a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.sousweb-karta__nazwa,
.sousweb-karta__nazwa a {
	color: var(--sousweb-ink);
	text-decoration: none;
}

.sousweb-karta__nazwa a:hover {
	text-decoration: none;
}

.sousweb-karta__cena .wc-block-components-product-price,
.sousweb-karta__cena {
	color: var(--sousweb-ink);
	font-size: 14px;
	text-align: left;
}

/* Duże karty („Najnowsze”) */
.sousweb-karty-duze .wc-block-product {
	height: 500px;
	width: min(400px, 82vw);
}

.sousweb-karty-nowe .wc-block-product::before {
	color: var(--sousweb-eyebrow);
	content: "Nowość";
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: 6px;
}

.sousweb-karty-duze .sousweb-karta__nazwa {
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.14;
}

.sousweb-karty-duze .sousweb-karta__opis {
	color: var(--sousweb-ink);
	font-size: 17px;
	line-height: 1.35;
	margin-top: 8px !important;
}

.sousweb-karty-duze .sousweb-karta__opis p {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	margin: 0;
	overflow: hidden;
}

.sousweb-karty-duze .wp-block-post-excerpt__more-text {
	display: none;
}

.sousweb-karty-duze .sousweb-karta__cena {
	margin-top: 10px !important;
}

.sousweb-karty-duze .sousweb-karta__obraz,
.sousweb-karty-srednie .sousweb-karta__obraz {
	margin: 0 !important;
}

.sousweb-karty-duze .sousweb-karta__obraz {
	align-items: flex-end;
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	min-height: 0;
	padding: 10px 0 18px;
}

.sousweb-karty-duze .sousweb-karta__obraz a {
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

/* Pojemnik na plakietkę „Promocja” leży nad zdjęciem, nie obok niego. */
.sousweb-karta__obraz,
.sousweb-produkty .wc-block-components-product-image {
	position: relative;
}

.sousweb-karta__obraz .wc-block-components-product-image__inner-container,
.sousweb-produkty .wc-block-components-product-image__inner-container {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.sousweb-karta__obraz img {
	background: none !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	transition: transform 0.6s var(--sousweb-ease);
	width: 100% !important;
}

.sousweb-karty-duze .sousweb-karta__obraz img {
	flex: 1 1 100%;
	max-height: 300px;
	min-width: 0;
	object-position: 50% 100%;
}

.sousweb-karuzela .wc-block-product,
.sousweb-karta {
	box-sizing: border-box;
}

.sousweb-karuzela .wc-block-product:hover .sousweb-karta__obraz img {
	transform: scale(1.04);
}

/* Średnie karty („Zestawy i akcesoria”) */
.sousweb-karty-srednie .wc-block-product {
	padding: 0 24px 28px;
	width: min(300px, 74vw);
}

.sousweb-karty-srednie .sousweb-karta__obraz {
	align-items: center;
	display: flex;
	height: 250px;
	justify-content: center;
	margin: 0 -24px 6px !important;
	padding: 26px 26px 6px;
}

.sousweb-karty-srednie .sousweb-karta__obraz a {
	display: block;
	height: 100%;
	width: 100%;
}

.sousweb-karty-srednie .sousweb-karta__nazwa {
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.sousweb-karty-srednie .sousweb-karta__cena {
	margin-top: 6px !important;
}

/* Małe karty z powodami do zakupu */
.sousweb-karta--powod {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 18px;
	margin: 0 !important;
	padding: 30px;
	scroll-snap-align: start;
	width: min(300px, 74vw);
}

.sousweb-karta--powod > * {
	margin: 0 !important;
}

.sousweb-karta__ikona img {
	display: block;
}

.sousweb-karta__powod {
	font-family: var(--wp--preset--font-family--display);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.22;
}

.sousweb-karta__powod strong {
	color: var(--sousweb-action);
	font-weight: 600;
}

.sousweb-karta--powod:nth-child(6n+2) strong { color: #E30000; }
.sousweb-karta--powod:nth-child(6n+3) strong { color: #008009; }
.sousweb-karta--powod:nth-child(6n+4) strong { color: #B64400; }
.sousweb-karta--powod:nth-child(6n+5) strong { color: #6E44D9; }
.sousweb-karta--powod:nth-child(6n) strong { color: #007D8A; }

/* Strzałki karuzeli (dodaje je skrypt). */
.sousweb-karuzela__strzalki {
	box-sizing: border-box;
	display: flex;
	max-width: none !important;
	gap: 14px;
	justify-content: flex-end;
	margin: -30px 0 0 !important;
	padding: 0 var(--sousweb-brzeg) 10px;
}

.sousweb-karuzela__strzalka {
	align-items: center;
	background: rgba(210, 210, 215, 0.64);
	border: 0;
	border-radius: 50%;
	color: rgba(0, 0, 0, 0.56);
	cursor: pointer;
	display: inline-flex;
	height: 36px;
	justify-content: center;
	padding: 0;
	transition: background-color 0.2s ease, opacity 0.2s ease;
	width: 36px;
}

.sousweb-karuzela__strzalka:hover {
	background: rgba(223, 223, 227, 0.7);
	color: rgba(0, 0, 0, 0.64);
}

.sousweb-karuzela__strzalka[disabled] {
	cursor: default;
	opacity: 0.42;
}

.sousweb-karuzela__strzalka svg {
	height: 18px;
	width: 18px;
}

/* Produkt flagowy na czarnym tle
---------------------------------------- */

.sousweb-flagowy {
	overflow: clip;
}

.sousweb-flagowy__scena {
	height: 250vh;
	position: relative;
}

.sousweb-flagowy__ekran {
	align-items: center;
	display: grid;
	grid-template-rows: auto 1fr;
	height: 100vh;
	height: 100svh;
	justify-items: center;
	overflow: hidden;
	position: sticky;
	top: 0;
}

.sousweb-flagowy__tekst {
	padding: clamp(56px, 10vh, 110px) 20px 0;
	position: relative;
	text-align: center;
	z-index: 3;
}

.sousweb-flagowy__tekst > * {
	margin: 0;
}

.sousweb-flagowy__nowosc {
	color: #F56300;
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 6px !important;
}

.sousweb-flagowy__nazwa {
	letter-spacing: -0.035em;
}

.sousweb-flagowy__haslo {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	letter-spacing: -0.015em;
	margin-top: 10px !important;
}

.sousweb-flagowy__cena {
	font-size: 17px;
	margin-top: 10px !important;
}

.sousweb-flagowy__przyciski {
	gap: 12px 24px;
	margin-top: 22px !important;
}

/* Butelka z warstw: pipeta za butelką, nakrętka nad nią. Skrypt ustawia --a (uniesienie),
 * --b (przesunięcie w bok), --k (kropla) i --c (dopiski) od 0 do 1 w miarę przewijania. */
.sousweb-flagowy__produkt {
	--a: 0;
	--b: 0;
	--k: 0;
	--c: 0;
	--s: 1;
	aspect-ratio: 7 / 9;
	align-self: end;
	height: clamp(240px, calc(100vh - 400px), 600px);
	height: clamp(240px, calc(100svh - 400px), 600px);
	margin-bottom: 2vh;
	position: relative;
	transform: scale(var(--s));
	transform-origin: 50% 100%;
}

.sousweb-flagowy__produkt::before {
	background: radial-gradient(closest-side, rgba(246, 169, 71, 0.55), rgba(246, 120, 40, 0.18) 55%, transparent);
	content: "";
	filter: blur(30px);
	height: 70%;
	left: 0;
	opacity: calc(0.45 + var(--a) * 0.55);
	position: absolute;
	right: 0;
	top: 30%;
	transform: scale(calc(0.8 + var(--a) * 0.35));
	z-index: 0;
}

.sousweb-flagowy__produkt figure {
	inset: 0;
	margin: 0 !important;
	position: absolute;
}

.sousweb-flagowy__produkt img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.sousweb-flagowy__pipeta { z-index: 1; }
.sousweb-flagowy__glowny { z-index: 2; }
.sousweb-flagowy__nakretka { z-index: 3; }

.sousweb-flagowy__pipeta,
.sousweb-flagowy__nakretka {
	transform:
		translate(calc(var(--b) * var(--przesun, 72%)), calc(var(--a) * -40%))
		rotate(calc(var(--b) * 12deg));
	transform-origin: 50% 40%;
	will-change: transform;
}

/* Kropla spada z pipety po odsunięciu jej w bok. */
.sousweb-flagowy__produkt::after {
	background: radial-gradient(circle at 38% 34%, #FFE3B0, #F6A947 45%, #B4631F);
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	content: "";
	height: 3.4%;
	left: calc(50% + var(--przesun, 72%) - 2.6%);
	opacity: calc(min(var(--k) * 6, 1) * (1 - max(0, var(--k) - 0.85) * 6.6));
	position: absolute;
	top: calc(45% + var(--k) * 50%);
	transform: scale(calc(0.4 + min(var(--k) * 4, 1) * 0.6));
	width: 2.6%;
	z-index: 4;
}

.sousweb-flagowy__dopisek {
	color: var(--sousweb-on-night);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(15px, 1.4vw, 19px);
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0 !important;
	opacity: 0;
	position: absolute;
	transform: translateY(10px);
	transition: opacity 0.6s var(--sousweb-ease), transform 0.6s var(--sousweb-ease);
	white-space: nowrap;
	z-index: 5;
}

.sousweb-flagowy__dopisek::before {
	background: var(--sousweb-muted-night);
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	width: 48px;
}

.sousweb-flagowy__dopisek { padding-right: 60px; right: 92%; }
.sousweb-flagowy__dopisek::before { right: 0; }
.sousweb-flagowy__dopisek--1 { top: 48%; }
.sousweb-flagowy__dopisek--2 { top: 66%; }
.sousweb-flagowy__dopisek--3 { top: 84%; }

.sousweb-flagowy__produkt.is-c1 .sousweb-flagowy__dopisek--1,
.sousweb-flagowy__produkt.is-c2 .sousweb-flagowy__dopisek--2,
.sousweb-flagowy__produkt.is-c3 .sousweb-flagowy__dopisek--3 {
	opacity: 1;
	transform: none;
}

.sousweb-flagowy__fakty {
	gap: 20px !important;
	margin-top: 0 !important;
	position: relative;
	z-index: 2;
}

.sousweb-fakt {
	background: var(--sousweb-night-tile);
	border-radius: var(--sousweb-r-tile);
	padding: 32px;
}

.sousweb-fakt > * {
	margin: 0;
}

.sousweb-fakt__liczba {
	background: linear-gradient(90deg, #FFD08A, #F6A947 50%, #F56300);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(32px, 3.4vw, 44px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.sousweb-fakt__opis {
	color: var(--sousweb-muted-night);
	font-size: 17px;
	line-height: 1.4;
	margin-top: 10px !important;
}

/* Pomóż mi wybrać
---------------------------------------- */

.sousweb-dobor {
	margin-top: var(--wp--preset--spacing--30) !important;
}

.sousweb-dobor__postep {
	display: flex;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.sousweb-dobor__postep li {
	background: var(--sousweb-line);
	border-radius: 99px;
	height: 6px;
	transition: background-color 0.3s ease, width 0.4s var(--sousweb-ease);
	width: 6px;
}

.sousweb-dobor__postep li.is-aktywny {
	background: var(--sousweb-ink);
	width: 28px;
}

.sousweb-dobor__postep li.is-zrobiony {
	background: var(--sousweb-muted);
}

.sousweb-dobor__pytanie {
	animation: sousweb-wejscie 0.7s var(--sousweb-ease) both;
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.sousweb-dobor__tresc {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 auto 26px;
	padding: 0;
	text-align: center;
}

.sousweb-dobor__nr {
	color: var(--sousweb-muted);
	display: block;
	font-family: var(--wp--preset--font-family--text);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 8px;
}

.sousweb-dobor__odpowiedzi {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.sousweb-dobor__odp {
	background: var(--sousweb-base);
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-card);
	color: var(--sousweb-ink);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font: inherit;
	gap: 4px;
	min-height: 112px;
	padding: 20px 22px;
	text-align: left;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sousweb-dobor__odp:hover {
	border-color: var(--sousweb-muted);
}

.sousweb-dobor__odp[aria-pressed="true"] {
	border-color: var(--sousweb-action);
	box-shadow: 0 0 0 1px var(--sousweb-action);
}

.sousweb-dobor__odp strong {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.sousweb-dobor__odp span {
	color: var(--sousweb-muted);
	font-size: 14px;
	line-height: 1.35;
}

.sousweb-dobor__wynik {
	animation: sousweb-wejscie 0.8s var(--sousweb-ease) both;
}

.sousweb-dobor__produkty {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.sousweb-dobor__produkty .sousweb-karta {
	color: var(--sousweb-ink);
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: 18px 22px 24px;
	text-decoration: none;
}

.sousweb-dobor__produkty img {
	aspect-ratio: 1;
	margin-bottom: 8px;
	object-fit: contain;
	width: 100%;
}

.sousweb-dobor__produkty strong {
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.sousweb-dobor__produkty .sousweb-dobor__cena {
	font-size: 14px;
}

.sousweb-dobor__produkty .sousweb-dobor__czemu {
	color: var(--sousweb-muted);
	font-size: 14px;
	line-height: 1.35;
	margin-top: 4px;
}

.sousweb-dobor__wynik .sousweb-dobor__tresc + ul {
	margin-top: 0;
}

.sousweb-dobor__stopka {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	justify-content: center;
	margin: 28px 0 0;
}

.sousweb-dobor__od-nowa {
	background: none;
	border: 0;
	color: var(--sousweb-action);
	cursor: pointer;
	font: inherit;
	padding: 0;
}

.sousweb-dobor__od-nowa:hover {
	text-decoration: underline;
}

.sousweb-dobor__ladowanie {
	color: var(--sousweb-muted);
	text-align: center;
}

/* Siatka produktów (sklep, kategorie, najczęściej wybierane)
---------------------------------------- */

.sousweb-produkty .wc-block-product-template {
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.sousweb-produkty .wc-block-product-template > .wc-block-product {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

@media (max-width: 1000px) {
	.sousweb-produkty .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 781px) {
	.sousweb-produkty .wc-block-product-template {
		gap: 12px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.sousweb-produkty .wc-block-product {
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-card);
	display: flex;
	flex-direction: column;
	padding: 0 22px 24px;
	position: relative;
	text-align: left;
	transition: box-shadow 0.3s var(--sousweb-ease), transform 0.3s var(--sousweb-ease);
}

.has-paper-background-color .sousweb-produkty .wc-block-product {
	background: var(--sousweb-card);
	box-shadow: var(--sousweb-cien);
}

.sousweb-produkty .wc-block-product:hover {
	box-shadow: var(--sousweb-cien-hover);
	transform: scale(1.012);
}

.sousweb-produkty .wc-block-product > * {
	margin-top: 0;
}

.sousweb-produkty .wc-block-components-product-image {
	margin: 0 -22px 10px !important;
	padding: 24px 24px 0;
}

.wc-block-components-product-image img,
.woocommerce-product-gallery img {
	height: auto;
	max-width: 100%;
}

.sousweb-produkty .wc-block-components-product-image img {
	width: 100%;
	aspect-ratio: 1;
	background: none !important;
	object-fit: contain;
	transition: transform 0.6s var(--sousweb-ease);
}

.sousweb-produkty .wc-block-product:hover .wc-block-components-product-image img {
	transform: scale(1.04);
}

.sousweb-produkty .wc-block-product .sousweb-produkt-nazwa {
	font-family: var(--wp--preset--font-family--text);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin: 0;
}

.sousweb-produkt-nazwa a {
	color: var(--sousweb-ink);
}

/* Cała karta klikalna, poza przyciskiem do koszyka. */
.sousweb-produkty .sousweb-produkt-nazwa a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.sousweb-produkty .sousweb-produkt-nazwa a:hover {
	text-decoration: none;
}

.sousweb-produkty .wc-block-product .sousweb-produkt-cena {
	font-size: 14px;
	margin: 0.3rem 0 1.1rem;
}

.sousweb-produkty .wc-block-components-product-price {
	color: var(--sousweb-ink);
	text-align: left;
}

.wc-block-components-product-price del,
.sousweb-produkt__opis .price del {
	color: var(--sousweb-muted);
	font-size: 0.85em;
	font-weight: 400;
	margin-right: 0.35em;
}

.wc-block-components-product-price ins,
.sousweb-produkt__opis .price ins {
	background: none;
	text-decoration: none;
}

.sousweb-produkty .sousweb-produkt-przycisk.wc-block-components-product-button {
	align-items: flex-start;
	margin-top: auto;
	position: relative;
	z-index: 2;
}

.sousweb-produkty .sousweb-produkt-przycisk .wp-block-button__link.wp-element-button {
	border-radius: var(--sousweb-r-pill);
	font-size: 14px;
	min-height: 36px;
	padding: 7px 16px;
	width: auto;
}

.sousweb-produkty .sousweb-produkt-przycisk .added_to_cart {
	display: inline-block;
	font-size: 14px;
	margin-top: 0.5rem;
}

.wc-block-components-product-sale-badge {
	background: var(--sousweb-eyebrow);
	border: 0;
	border-radius: var(--sousweb-r-pill);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 0.35em 0.8em;
	text-transform: none;
}

.wc-block-components-product-image .wc-block-components-product-sale-badge--align-left {
	left: 1rem;
	top: 1rem;
}

/* Pasek tytułu w sklepie, kategoriach i na blogu
---------------------------------------- */

.sousweb-pasek-tytulu .wp-block-query-title {
	letter-spacing: -0.035em;
	margin: 0;
}

.sousweb-pasek-tytulu .wp-block-term-description {
	color: var(--sousweb-muted);
	margin: 12px 0 0;
	max-width: 40rem;
}

.sousweb-pasek-tytulu .wp-block-term-description p {
	margin: 0;
}

.sousweb-okruszki,
.sousweb-okruszki a {
	color: var(--sousweb-muted);
	font-size: 12px;
}

.has-night-background-color .sousweb-okruszki,
.has-night-background-color .sousweb-okruszki a {
	color: var(--sousweb-muted-night);
}

.sousweb-okruszki a:hover {
	color: inherit;
	text-decoration: underline;
}

.sousweb-kategorie-pigulki .wc-block-product-categories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.sousweb-kategorie-pigulki .wc-block-product-categories-list-item {
	margin: 0;
}

.sousweb-kategorie-pigulki .wc-block-product-categories-list-item a {
	align-items: center;
	background: var(--sousweb-base);
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-pill);
	color: var(--sousweb-ink);
	display: inline-flex;
	font-size: 14px;
	min-height: 40px;
	padding: 0 1.1em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sousweb-kategorie-pigulki .wc-block-product-categories-list-item a:hover,
.sousweb-kategorie-pigulki .wc-block-product-categories-list-item a[aria-current] {
	background: var(--sousweb-ink);
	border-color: var(--sousweb-ink);
	color: var(--sousweb-base);
}

.sousweb-katalog-pasek {
	color: var(--sousweb-muted);
	font-size: 14px;
}

.sousweb-katalog-pasek .woocommerce-result-count {
	margin: 0;
}

.sousweb-katalog-pasek select.orderby {
	border-radius: var(--sousweb-r-pill);
	font-size: 14px;
	padding: 0 2.4em 0 1.1em;
}

.wp-block-query-pagination-numbers .page-numbers {
	border-radius: var(--sousweb-r-pill);
	display: inline-block;
	min-width: 44px;
	padding: 0.6rem 0.75rem;
	text-align: center;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--sousweb-ink);
	color: var(--sousweb-base);
}

/* Strona produktu: jak „Kup” w sklepie Apple
 * WooCommerce ma tu bardzo szczegółowe selektory (.woocommerce div.product ...),
 * dlatego część reguł zaczyna się tak samo.
---------------------------------------- */

.sousweb-produkt__gora {
	align-items: flex-start !important;
}

.sousweb-produkt__galeria {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 72px);
}

.woocommerce .sousweb-produkt .wp-block-woocommerce-product-image-gallery {
	max-width: none;
}

.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery {
	float: none;
	margin: 0;
	width: 100%;
}

.sousweb-produkt .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.sousweb-produkt .woocommerce-product-gallery__image {
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-tile);
	overflow: hidden;
}

.sousweb-produkt .woocommerce-product-gallery__image img,
.sousweb-produkt .woocommerce-product-gallery__wrapper img {
	aspect-ratio: 1;
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-tile);
	object-fit: contain;
	padding: 6%;
}

.woocommerce div.product .sousweb-produkt__galeria .flex-control-thumbs {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 14px 0 0;
	padding: 0;
}

.woocommerce div.product .sousweb-produkt__galeria .flex-control-thumbs li {
	list-style: none;
	width: 64px;
}

.woocommerce div.product .sousweb-produkt__galeria .flex-control-thumbs li img {
	aspect-ratio: 1;
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-field);
	cursor: pointer;
	object-fit: contain;
	opacity: 0.55;
	padding: 6px;
	transition: opacity 0.2s ease;
}

.woocommerce div.product .sousweb-produkt__galeria .flex-control-thumbs li img.flex-active,
.woocommerce div.product .sousweb-produkt__galeria .flex-control-thumbs li img:hover {
	opacity: 1;
}

.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery__trigger {
	align-items: center;
	background: var(--sousweb-base);
	border-radius: var(--sousweb-r-pill);
	box-shadow: var(--sousweb-cien);
	display: flex;
	font-size: 0;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: 1rem;
	text-indent: 0;
	top: 1rem;
	width: 36px;
	z-index: 9;
}

.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery__trigger > *,
.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery__trigger::before,
.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery__trigger::after {
	display: none;
}

.woocommerce div.product .sousweb-produkt__galeria .woocommerce-product-gallery__trigger {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1F' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 18px;
}

.sousweb-produkt .woocommerce-product-gallery {
	position: relative;
}

.woocommerce div.product .sousweb-produkt__galeria span.onsale {
	background: var(--sousweb-eyebrow);
	border-radius: var(--sousweb-r-pill);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	left: 1rem;
	line-height: 1.4;
	min-height: 0;
	min-width: 0;
	padding: 0.35em 0.8em;
	top: 1rem;
}

.sousweb-produkt__opis > * {
	margin-block: 0;
}

.sousweb-produkt__kategoria {
	color: var(--sousweb-eyebrow);
	font-size: 14px;
	font-weight: 600;
}

.sousweb-produkt__kategoria a {
	color: inherit;
}

.sousweb-produkt__opis .wp-block-post-title {
	font-size: clamp(2.25rem, 1.6rem + 2vw, 3.5rem);
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin-top: 4px !important;
}

.sousweb-produkt__opis .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.sousweb-produkt__opis .wc-block-components-product-rating {
	margin: 0;
}

.sousweb-produkt__opis .wc-block-components-product-price {
	font-weight: 600;
	letter-spacing: -0.02em;
}

.woocommerce div.product .sousweb-produkt__opis form.cart {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.woocommerce div.product .sousweb-produkt__opis form.cart::before,
.woocommerce div.product .sousweb-produkt__opis form.cart::after {
	content: none;
}

.woocommerce div.product .sousweb-produkt__opis form.variations_form {
	display: block;
}

.woocommerce div.product .sousweb-produkt__opis .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.woocommerce div.product .sousweb-produkt__opis form.cart div.quantity {
	display: flex;
	float: none;
	margin: 0;
}

.woocommerce div.product .sousweb-produkt__opis form.cart div.quantity .qty {
	background: var(--sousweb-paper);
	border: 0;
	border-radius: var(--sousweb-r-pill);
	font-weight: 600;
	height: 52px;
	margin: 0;
	text-align: center;
	width: 84px;
}

.woocommerce div.product .sousweb-produkt__opis form.cart .single_add_to_cart_button {
	border-radius: var(--sousweb-r-pill);
	flex: 1 1 12rem;
	float: none;
	font-size: 17px;
	margin: 0;
	min-height: 52px;
}

.woocommerce div.product .sousweb-produkt__opis form.cart .single_add_to_cart_button.disabled {
	cursor: not-allowed;
	opacity: 0.4;
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations,
.woocommerce div.product .sousweb-produkt__opis form.cart table.variations tbody,
.woocommerce div.product .sousweb-produkt__opis form.cart table.variations tr {
	border: 0;
	display: block;
	margin: 0;
	width: 100%;
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations {
	margin-bottom: 1.25rem;
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations tr + tr {
	margin-top: 1.5rem;
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations th,
.woocommerce div.product .sousweb-produkt__opis form.cart table.variations td {
	border: 0;
	display: block;
	padding: 0;
	text-align: left;
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations th label {
	font-family: var(--wp--preset--font-family--display);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.sousweb-kafelki__pytanie {
	color: var(--sousweb-muted);
}

.woocommerce div.product .sousweb-produkt__opis form.cart table.variations td select {
	background-color: var(--sousweb-base);
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-field);
	color: var(--sousweb-ink);
	font-size: 17px;
	height: auto;
	line-height: 1.4;
	margin: 0.6rem 0 0.25rem;
	min-height: 52px;
	min-width: 0;
	padding: 0.65em 2.75em 0.65em 1em;
	width: 100%;
}

/* Kafelki zamiast listy rozwijanej (skrypt chowa listę, ale zostawia ją dla WooCommerce). */
.sousweb-kafelki {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	margin-top: 12px;
}

.sousweb-kafelek {
	align-items: flex-start;
	background: var(--sousweb-base);
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-field);
	color: var(--sousweb-ink);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font: inherit;
	gap: 2px;
	min-height: 76px;
	justify-content: center;
	padding: 14px 16px;
	text-align: left;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sousweb-kafelek:hover {
	border-color: var(--sousweb-muted);
}

.sousweb-kafelek[aria-checked="true"] {
	border-color: var(--sousweb-action);
	box-shadow: 0 0 0 1px var(--sousweb-action);
}

.sousweb-kafelek[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.4;
}

.sousweb-kafelek__nazwa {
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.sousweb-kafelek__cena {
	color: var(--sousweb-muted);
	font-size: 14px;
}

.sousweb-kafelki-gotowe select {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px !important;
	margin: 0 !important;
	min-height: 0 !important;
	overflow: hidden;
	padding: 0 !important;
	position: absolute;
	white-space: nowrap;
	width: 1px !important;
}

.sousweb-produkt__opis .reset_variations {
	display: none !important;
}

.woocommerce div.product .sousweb-produkt__opis .woocommerce-variation-price .price {
	color: var(--sousweb-ink);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.woocommerce div.product .sousweb-produkt__opis .woocommerce-variation-price {
	margin-bottom: 0.75rem;
}

.woocommerce div.product .sousweb-produkt__opis .woocommerce-variation-description p {
	margin: 0 0 0.5rem;
}

.woocommerce div.product .sousweb-produkt__opis .stock {
	color: var(--sousweb-ok);
	font-size: 14px;
	margin: 0;
	width: 100%;
}

.woocommerce div.product .sousweb-produkt__opis .stock.out-of-stock {
	color: var(--sousweb-ink);
	font-weight: 600;
}

/* Okienko z dostawą, odbiorem i zwrotem pod przyciskiem. */
.sousweb-info-zakup {
	border: 1px solid var(--sousweb-line);
	border-radius: var(--sousweb-r-card);
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 4px 20px;
}

.sousweb-info-zakup li {
	color: var(--sousweb-muted);
	margin: 0;
	padding: 14px 0 14px 34px;
	position: relative;
}

.sousweb-info-zakup li strong {
	color: var(--sousweb-ink);
	display: block;
	font-weight: 600;
}

.sousweb-info-zakup li + li {
	border-top: 1px solid var(--sousweb-line);
}

.sousweb-info-zakup li::before {
	background-color: var(--sousweb-ink);
	content: "";
	height: 22px;
	left: 0;
	-webkit-mask: var(--sousweb-ikona, var(--sousweb-check)) center / contain no-repeat;
	mask: var(--sousweb-ikona, var(--sousweb-check)) center / contain no-repeat;
	position: absolute;
	top: 15px;
	width: 22px;
}

.sousweb-info-zakup li:nth-child(1) {
	--sousweb-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M3 8l9-4.5L21 8v8l-9 4.5L3 16z'/%3E%3Cpath d='M3 8l9 4.5L21 8M12 12.5v8'/%3E%3C/svg%3E");
}

.sousweb-info-zakup li:nth-child(2) {
	--sousweb-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M3 10h18M4.5 10v10h15V10'/%3E%3Cpath d='M3 10l2-5h14l2 5M9.5 20v-5h5v5'/%3E%3C/svg%3E");
}

.sousweb-info-zakup li:nth-child(3) {
	--sousweb-ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9a7 7 0 0 1 12.5-2M18 15a7 7 0 0 1-12.5 2'/%3E%3Cpath d='M18.5 3v4h-4M5.5 21v-4h4'/%3E%3C/svg%3E");
}

.sousweb-pomoc-produkt {
	color: var(--sousweb-muted);
	font-size: 14px;
	margin-top: 4px !important;
}

.sousweb-pomoc-produkt a::after {
	content: " ›";
}

.wp-block-woocommerce-product-meta .wp-block-post-terms a {
	color: inherit;
}

/* Opis pod produktem jak „Przegląd” u Apple: duży tekst, krótkie bloki. */
html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal {
	margin-top: var(--wp--preset--spacing--50);
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs {
	border-bottom: 1px solid var(--sousweb-line);
	display: flex;
	list-style: none;
	padding: 0;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin: 0 0 var(--wp--preset--spacing--30);
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
	border-bottom-width: 2px;
	color: var(--sousweb-muted);
	margin-bottom: -1px;
	opacity: 1;
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li.active {
	border-bottom-color: var(--sousweb-ink);
	color: var(--sousweb-ink);
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li a {
	color: inherit;
	display: block;
	font-weight: 600;
	padding: 0.75em 0;
	text-decoration: none;
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
	border-bottom: 2px solid transparent;
	margin-left: 0;
	padding: 0;
}

html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li::before,
html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li::after {
	content: none;
}

@media only screen and (max-width: 768px) {
	html body .sousweb-produkt .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
		border-bottom-width: 2px;
		border-left-width: 0;
		display: inline-block;
		margin-bottom: -1px;
	}
}

.sousweb-produkt .woocommerce-tabs .panel {
	display: grid;
	font-size: 19px;
	gap: 0 var(--wp--preset--spacing--40);
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	line-height: 1.55;
	max-width: none;
}

.sousweb-produkt .woocommerce-tabs .panel > h2:first-child {
	display: none;
}

.sousweb-produkt .woocommerce-tabs .panel > h3 {
	font-size: 21px;
	grid-column: 1;
	margin: 0 0 1.4em;
}

.sousweb-produkt .woocommerce-tabs .panel > p {
	color: var(--sousweb-muted);
	grid-column: 2;
	margin: 0 0 1.4em;
}

.sousweb-produkt .woocommerce-tabs .panel > :is(h3 + p) {
	margin-top: 0;
}

.sousweb-produkt .woocommerce-tabs .panel > :not(h3, p, h2) {
	grid-column: 1 / -1;
}

.sousweb-produkt table.woocommerce-product-attributes {
	border-collapse: collapse;
	width: 100%;
}

.sousweb-produkt table.woocommerce-product-attributes th,
.sousweb-produkt table.woocommerce-product-attributes td {
	border-bottom: 1px solid var(--sousweb-line);
	padding: 0.75em 0;
	text-align: left;
}

/* Pasek zakupu na dole ekranu */
.sousweb-pasek-zakupu {
	bottom: 0;
	left: 0;
	padding: 0 12px 12px;
	pointer-events: none;
	position: fixed;
	right: 0;
	transform: translateY(110%);
	transition: transform 0.5s var(--sousweb-ease);
	z-index: 90;
}

.sousweb-pasek-zakupu.is-widoczny {
	pointer-events: auto;
	transform: none;
}

.sousweb-pasek-zakupu__w {
	align-items: center;
	background: rgba(251, 251, 253, 0.86);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-radius: var(--sousweb-r-card);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(0, 0, 0, 0.05);
	display: flex;
	gap: 14px;
	margin: 0 auto;
	max-width: 760px;
	padding: 10px 10px 10px 14px;
}

.sousweb-pasek-zakupu__obraz {
	border-radius: 10px;
	flex: none;
	height: 44px;
	object-fit: contain;
	width: 44px;
}

.sousweb-pasek-zakupu__tekst {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	font-size: 14px;
	line-height: 1.3;
	min-width: 0;
}

.sousweb-pasek-zakupu__tekst strong {
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sousweb-pasek-zakupu__tekst span {
	color: var(--sousweb-muted);
}

.sousweb-pasek-zakupu__cena {
	font-size: 17px;
	font-weight: 600;
	white-space: nowrap;
}

.sousweb-pasek-zakupu__przycisk {
	border: 0;
	border-radius: var(--sousweb-r-pill);
	cursor: pointer;
	font-size: 15px;
	min-height: 40px;
	padding: 8px 18px;
	white-space: nowrap;
}

/* Komunikaty WooCommerce
---------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border-radius: var(--sousweb-r-field);
}

.woocommerce-message,
.woocommerce-info {
	background: var(--sousweb-paper);
	border: 0;
	color: var(--sousweb-ink);
	padding: 1em 1.25em;
}

/* Koszyk, kasa, konto
---------------------------------------- */

.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea {
	border-radius: var(--sousweb-r-field);
}

.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control-accordion-option {
	border-radius: var(--sousweb-r-field);
}

.wc-block-components-quantity-selector {
	border-radius: var(--sousweb-r-pill);
}

.wc-block-components-quantity-selector::after {
	border-radius: var(--sousweb-r-pill);
}

.wc-block-cart .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	border-radius: var(--sousweb-r-pill);
	min-height: 52px;
}

.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	background: var(--sousweb-paper);
	border: 0;
	border-radius: var(--sousweb-r-card);
}

.wc-block-cart .wc-block-cart__totals-title,
.wc-block-cart-items .wc-block-cart-items__header {
	color: var(--sousweb-muted);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.wc-block-cart-items .wc-block-cart-item__image img {
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-field);
}

.wc-block-components-product-metadata__description {
	display: none;
}

.sousweb-koszyk .wp-block-post-title,
.sousweb-koszyk .wp-block-post-title + * {
	text-align: left;
}

.woocommerce-account main .wp-block-post-title,
.woocommerce-account main .wp-block-post-content > .woocommerce {
	max-width: var(--wp--style--global--wide-size);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	border-radius: var(--sousweb-r-field);
	color: var(--sousweb-ink);
	display: block;
	padding: 0.6em 1em;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--sousweb-paper);
	font-weight: 600;
}

.woocommerce form.login,
.woocommerce form.register {
	background: var(--sousweb-paper);
	border: 0;
	border-radius: var(--sousweb-r-card);
}

.sousweb-potwierdzenie .wc-block-order-confirmation-status {
	font-weight: 600;
	letter-spacing: -0.025em;
}

/* Wyszukiwarka na czarnym tle (404) */

.sousweb-szukaj-ciemne {
	margin-left: auto;
	margin-right: auto;
	max-width: 32rem;
}

.sousweb-szukaj-ciemne .wp-block-search__inside-wrapper {
	border: 0;
	gap: 12px;
	padding: 0;
}

.sousweb-szukaj-ciemne .wp-block-search__input {
	background: var(--sousweb-night-tile);
	border: 1px solid var(--sousweb-line-night);
	border-radius: var(--sousweb-r-field);
	color: var(--sousweb-on-night);
}

.sousweb-szukaj-ciemne .wp-block-search__input::placeholder {
	color: var(--sousweb-muted-night);
}

/* Kafle z danymi salonu */

.sousweb-kafel {
	border-radius: var(--sousweb-r-card);
}

.sousweb-kafel p,
.sousweb-kafel figure {
	margin: 0;
}

.sousweb-kafel__ikona {
	margin-bottom: 8px !important;
}

.sousweb-kafel__wartosc {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.sousweb-kafel__wartosc a {
	color: inherit;
}

/* Świecąca obwódka (wzorzec „Korzyści w świecącej ramce”) */

@property --sousweb-kat {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

@keyframes sousweb-obrot {
	to {
		--sousweb-kat: 360deg;
	}
}

.sousweb-pierscien {
	border-radius: var(--sousweb-r-panel);
	isolation: isolate;
	position: relative;
}

.sousweb-pierscien::before {
	animation: sousweb-obrot 8s linear infinite;
	background: conic-gradient(from var(--sousweb-kat), var(--sousweb-gradient));
	border-radius: inherit;
	content: "";
	filter: blur(32px);
	inset: 8px;
	opacity: 0.45;
	position: absolute;
	z-index: -2;
}

.sousweb-pierscien::after {
	animation: sousweb-obrot 8s linear infinite;
	background:
		linear-gradient(var(--sousweb-night), var(--sousweb-night)) padding-box,
		conic-gradient(from var(--sousweb-kat), var(--sousweb-gradient)) border-box;
	border: 1.5px solid transparent;
	border-radius: inherit;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.sousweb-pierscien h3,
.sousweb-pierscien p {
	margin: 0;
}

/* Stopka: jasna, drobna, jak u Apple
---------------------------------------- */

.sousweb-stopka {
	line-height: 1.35;
}

.sousweb-stopka__info {
	border-bottom: 1px solid var(--sousweb-line);
	margin-bottom: var(--wp--preset--spacing--20) !important;
	margin-top: 0 !important;
	padding-bottom: var(--wp--preset--spacing--20);
}

.wp-site-blocks > footer.wp-block-template-part {
	margin-top: 0;
}

.sousweb-stopka__tytul {
	color: var(--sousweb-ink);
	font-family: var(--wp--preset--font-family--text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0 0 0.8em;
}

.sousweb-stopka .wp-block-site-title a {
	color: var(--sousweb-ink);
}

.sousweb-linki {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sousweb-linki li {
	margin: 0 0 0.7em;
}

.sousweb-stopka a {
	color: var(--sousweb-muted);
}

.sousweb-stopka a:hover {
	color: var(--sousweb-ink);
	text-decoration: underline;
}

.sousweb-stopka__dol p {
	margin: 0;
}

.sousweb-stopka__dol a {
	border-left: 1px solid var(--sousweb-line);
	margin-left: 0.5em;
	padding-left: 0.6em;
}

/* Blog */

.sousweb-wpisy .wp-block-post {
	background: var(--sousweb-paper);
	border-radius: var(--sousweb-r-card);
	overflow: hidden;
}

.sousweb-wpisy .wp-block-post-featured-image {
	margin: 0;
}

.sousweb-wpisy .wp-block-post-featured-image img {
	background: var(--wp--preset--color--line);
}

.sousweb-wpis__tresc {
	padding: 20px 24px 28px;
}

.sousweb-wpisy .wp-block-post-title a:hover {
	text-decoration: underline;
}

.sousweb-artykul {
	font-size: 19px;
	line-height: 1.7;
}

/* Ograniczony ruch: wszystko widoczne od razu, bez animacji
---------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.sousweb-js .sousweb-start .wp-block-columns > *,
	.sousweb-js .sousweb-start .sousweb-kategorie,
	.sousweb-js .sousweb-pojaw,
	.sousweb-dobor__pytanie,
	.sousweb-dobor__wynik,
	.sousweb-pierscien::before,
	.sousweb-pierscien::after {
		animation: none !important;
		transition: none !important;
	}

	.sousweb-js .sousweb-pojaw {
		filter: none;
		opacity: 1;
		transform: none;
	}

	.sousweb-karuzela .wc-block-product:hover,
	.sousweb-produkty .wc-block-product:hover,
	.sousweb-karta--powod:hover,
	.sousweb-karuzela .wc-block-product:hover .sousweb-karta__obraz img,
	.sousweb-produkty .wc-block-product:hover .wc-block-components-product-image img {
		transform: none;
	}

	.sousweb-flagowy__scena {
		height: auto;
	}

	.sousweb-flagowy__ekran {
		height: auto;
		min-height: 100vh;
		position: relative;
	}

	.sousweb-flagowy__dopisek {
		opacity: 1;
		transform: none;
	}
}

/* Tablety i telefony
---------------------------------------- */

@media (max-width: 1100px) {
	.sousweb-naglowek .sousweb-menu .wp-block-navigation__container > .wp-block-navigation-item:nth-child(n+5):not(:nth-last-child(-n+2)) {
		display: none;
	}
}

@media (max-width: 781px) {
	.sousweb-start__pomoc {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 14px 28px;
	}

	.sousweb-produkt__galeria {
		position: static;
	}

	.sousweb-produkt .woocommerce-tabs .panel {
		display: block;
		font-size: 17px;
	}

	.sousweb-produkt .woocommerce-tabs .panel > h3 {
		margin-bottom: 0.4em;
	}

	.sousweb-flagowy__produkt {
		height: clamp(220px, calc(100svh - 380px), 440px);
	}

	.sousweb-flagowy__dopisek {
		font-size: 13px;
	}

	.sousweb-flagowy__dopisek { padding-right: 30px; right: 84%; }
	.sousweb-flagowy__dopisek::before { width: 22px; }
}

@media (max-width: 600px) {
	.sousweb-karuzela .wc-block-product-template,
	.sousweb-karuzela.sousweb-karty-male {
		gap: 14px;
		padding-bottom: 36px !important;
	}

	.sousweb-karty-duze .wc-block-product {
		height: 440px;
		padding: 24px 24px 0;
	}

	.sousweb-karty-duze .sousweb-karta__nazwa {
		font-size: 24px;
	}

	.sousweb-karuzela__strzalki {
		display: none;
	}

	.sousweb-produkty .wc-block-product {
		padding: 0 14px 18px;
	}

	.sousweb-produkty .wc-block-components-product-image {
		margin: 0 -14px 8px !important;
		padding: 14px 14px 0;
	}

	.sousweb-produkty .sousweb-produkt-przycisk.wc-block-components-product-button {
		align-items: stretch;
	}

	.sousweb-kategorie__link {
		width: 104px;
	}

	.sousweb-kategorie__obraz {
		height: 76px;
	}

	.sousweb-flagowy__scena {
		height: 220vh;
	}

	.sousweb-flagowy__produkt {
		--przesun: 34%;
	}

	.sousweb-flagowy__dopisek {
		display: none;
	}

	.sousweb-pasek-zakupu__tekst span,
	.sousweb-pasek-zakupu__obraz {
		display: none;
	}

	.sousweb-info-zakup {
		padding: 2px 16px;
	}

	.sousweb-produkty .sousweb-produkt-przycisk .wp-block-button__link.wp-element-button {
		font-size: 13px;
		padding: 7px 12px;
		white-space: nowrap;
	}

	.sousweb-kategorie-pigulki .wc-block-product-categories-list {
		flex-wrap: nowrap;
		margin-left: calc(var(--wp--style--root--padding-left, 20px) * -1);
		margin-right: calc(var(--wp--style--root--padding-right, 20px) * -1);
		overflow-x: auto;
		padding: 0 var(--wp--style--root--padding-right, 20px) 4px var(--wp--style--root--padding-left, 20px);
		scrollbar-width: none;
	}

	.sousweb-kategorie-pigulki .wc-block-product-categories-list::-webkit-scrollbar {
		display: none;
	}

	.sousweb-kategorie-pigulki .wc-block-product-categories-list-item a {
		white-space: nowrap;
	}
}
