/**
 * SKALART — WooCommerce: archiwa, karta produktu, mini-koszyk, koszyk i kasa (bloki),
 * zamówienie przyjęte, Moje konto, komunikaty.
 *
 * Domyślne arkusze WooCommerce są wyłączone (inc/woocommerce.php), style bloków zostają
 * i są tu nadpisywane. Breakpointy: 1024 px i 767 px.
 */

/* ==========================================================================
   1. Wspólne
   ========================================================================== */

.sk-woo {
	display: block;
}

.sk-woo .sk-container {
	width: 100%;
}

/* Okruszki */
.sk-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
	list-style: none;
}

.sk-breadcrumb a {
	color: var(--sk-copper-text);
}

.sk-breadcrumb__sep {
	color: var(--sk-input);
}

/*
 * base.css ustawia dla button/[type="submit"] kolor orzecha po regułach .sk-btn
 * (ta sama specyficzność) — przywracamy kolory przycisków-komponentów.
 */
button.sk-btn,
button.sk-btn:focus {
	color: var(--sk-bg);
}

button.sk-btn--secondary,
button.sk-btn--secondary:focus {
	background-color: transparent;
	color: var(--sk-walnut);
}

button.sk-btn--secondary:hover {
	background-color: var(--sk-walnut);
	color: var(--sk-bg);
}

/* Etykiety */
.sk-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Przyciski WooCommerce poza kartą w siatce */
.woocommerce .button,
.woocommerce-page .button,
.sk-woo .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border: 1.5px solid var(--sk-walnut);
	border-radius: var(--sk-radius-s);
	background: var(--sk-walnut);
	color: var(--sk-bg);
	font-family: var(--sk-font-body);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.woocommerce .button:hover,
.woocommerce-page .button:hover,
.sk-woo .button:hover {
	border-color: var(--sk-ink);
	background: var(--sk-ink);
	color: var(--sk-bg);
}

.woocommerce .button.loading,
.sk-woo .button.loading {
	opacity: 0.6;
	cursor: progress;
}

.woocommerce .button:disabled,
.woocommerce .button.disabled {
	border-color: var(--sk-line);
	background: var(--sk-line);
	color: var(--sk-muted);
	cursor: not-allowed;
}

/* Ceny */
.price del,
.wc-block-components-product-price__regular {
	color: var(--sk-muted);
	font-weight: 500;
}

.price ins {
	color: var(--sk-error);
	text-decoration: none;
}

/* Ocena gwiazdkowa (bez arkusza WooCommerce) */
.star-rating {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 5.4em;
	height: 1.1em;
	color: var(--sk-copper);
	font-size: 0.9375rem;
	line-height: 1;
}

.star-rating::before {
	content: "★★★★★";
	position: absolute;
	inset: 0 auto auto 0;
	color: var(--sk-sand);
	letter-spacing: 0.08em;
}

.star-rating span {
	position: absolute;
	inset: 0 auto auto 0;
	overflow: hidden;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "★★★★★";
	position: absolute;
	inset: 0 auto auto 0;
	letter-spacing: 0.08em;
}

/* ==========================================================================
   2. Komunikaty (klasyczne i bloków)
   ========================================================================== */

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice--error,
.wc-block-components-notice-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 24px;
	padding: 14px 18px;
	border: 0;
	border-left: 4px solid currentColor;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
	color: var(--sk-walnut);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
	list-style: none;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	background: var(--sk-success-bg);
	color: var(--sk-success);
}

.woocommerce-error,
.woocommerce-notice--error,
.wc-block-components-notice-banner.is-error {
	background: var(--sk-error-bg);
	color: #7a2a1d;
}

.wc-block-components-notice-banner.is-warning {
	background: var(--sk-warn-bg);
	color: var(--sk-warn);
}

.woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce-error li {
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	order: 2;
	min-height: 40px;
	margin-left: auto;
	padding: 0 14px;
	border-color: currentColor;
	background: transparent;
	color: inherit;
	font-size: 0.875rem;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	border-color: var(--sk-walnut);
	background: var(--sk-walnut);
	color: var(--sk-bg);
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
	color: inherit;
}

.wc-block-components-notice-banner > svg {
	flex-shrink: 0;
	fill: currentColor;
	border-radius: 50%;
	background: transparent;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
	flex: 1 1 0;
	min-width: 0;
}

.wc-block-components-notice-banner .wc-forward {
	color: inherit;
	font-weight: 700;
}

/* ==========================================================================
   3. Archiwum: nagłówek, chipy, filtry, siatka
   ========================================================================== */

.sk-archive-head {
	border-bottom: 1px solid var(--sk-line);
	background: var(--sk-cream);
}

.sk-archive-head .sk-container {
	padding-block: 28px 40px;
}

.sk-archive-head .sk-breadcrumb {
	margin-bottom: 20px;
}

.sk-archive-head__title {
	margin: 0 0 12px;
	font-size: clamp(2.375rem, 1.6rem + 2.4vw, 3.5rem);
	line-height: 1.05;
}

.sk-archive-head__desc {
	max-width: 720px;
	margin-bottom: 24px;
	color: var(--sk-text-2);
	font-size: 1.0625rem;
}

.sk-archive-head__desc:empty {
	display: none;
}

.sk-archive-head__desc p:last-child,
.sk-archive-head__desc .term-description p:last-child {
	margin-bottom: 0;
}

.sk-archive-head--search {
	border-bottom: 0;
	background: var(--sk-bg);
}

.sk-archive-head--search .sk-container {
	padding-block: 48px 8px;
}

.sk-archive-head--search .sk-archive-head__title {
	margin-bottom: 20px;
	font-size: clamp(2.125rem, 1.6rem + 1.8vw, 3rem);
}

.sk-archive-head--search .sk-search-form {
	margin-inline: 0;
}

/* Układ: filtry + wyniki */
.sk-shop {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	padding-block: 40px var(--sk-section);
}

.sk-shop--no-filters {
	grid-template-columns: minmax(0, 1fr);
	padding-top: 12px;
}

/* Panel filtrów */
.sk-shop__filters {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.sk-filters__body {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.sk-filter {
	margin: 0;
}

.sk-filter__title,
.sk-filters__sort legend {
	margin: 0 0 10px;
	padding: 0;
	color: var(--sk-ink);
	font-family: var(--sk-font-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

.woocommerce-widget-layered-nav-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-filter__option {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	color: var(--sk-text);
	font-size: 0.9375rem;
	text-decoration: none;
}

.sk-filter__option:hover {
	color: var(--sk-ink);
}

.sk-filter__option:hover .sk-filter__name {
	text-decoration: underline;
}

.sk-filter__option.is-disabled {
	color: var(--sk-muted);
}

.sk-filter__option .count {
	color: var(--sk-muted);
}

.sk-check {
	position: relative;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--sk-input);
	border-radius: 3px;
	background: var(--sk-bg);
}

.chosen .sk-check {
	border-color: var(--sk-walnut);
	background: var(--sk-walnut);
}

.chosen .sk-check::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 6px;
	width: 5px;
	height: 10px;
	border: solid var(--sk-bg);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.chosen .sk-filter__name {
	font-weight: 700;
}

/* Filtr ceny */
.sk-price-filter {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sk-price-filter__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: auto auto;
	grid-auto-flow: column;
	gap: 4px 8px;
}

.sk-price-filter__fields label {
	color: var(--sk-muted);
	font-size: 0.8125rem;
	font-weight: 600;
}

.sk-price-filter__fields input {
	min-height: 44px;
	padding: 0 10px;
	font-size: 0.9375rem;
}

.sk-price-filter .sk-btn {
	align-self: flex-start;
}

/* Boks wyceny */
.sk-shop__quote {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
}

.sk-shop__quote strong {
	color: var(--sk-ink);
}

.sk-shop__quote span {
	color: var(--sk-text-2);
	font-size: var(--sk-fs-small);
}

.sk-shop__quote a {
	font-size: var(--sk-fs-small);
}

/* Pasek nad siatką */
.sk-shop__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}

.sk-shop__count {
	margin: 0;
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
}

.woocommerce-ordering {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.woocommerce-ordering label {
	font-size: var(--sk-fs-small);
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-ordering select {
	min-width: 220px;
	min-height: 44px;
	padding-block: 0;
	font-size: 0.9375rem;
}

/* Siatka produktów */
ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

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

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

ul.products li.product {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 4px;
	color: var(--sk-ink);
	text-decoration: none;
}

.sk-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	margin-bottom: 8px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
}

.sk-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 0.3s ease;
}

ul.products li.product a:hover .sk-card__media img {
	transform: scale(1.03);
}

.sk-card__badges {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
}

ul.products .woocommerce-loop-product__title {
	margin: 0;
	color: var(--sk-ink);
	font-family: var(--sk-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

ul.products li.product a:hover .woocommerce-loop-product__title {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

ul.products .star-rating {
	margin-top: 2px;
}

ul.products .price {
	display: block;
	color: var(--sk-ink);
	font-size: 1.0625rem;
	font-weight: 700;
}

ul.products li.product .button {
	width: 100%;
	min-height: 44px;
	margin-top: auto;
	padding: 0 12px;
	background: transparent;
	color: var(--sk-walnut);
	font-size: 0.875rem;
}

ul.products li.product .button:hover,
ul.products li.product .button:focus-visible {
	border-color: var(--sk-walnut);
	background: var(--sk-walnut);
	color: var(--sk-bg);
}

ul.products li.product .button.added::after {
	content: "";
	width: 6px;
	height: 11px;
	margin: -3px 0 0 2px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

ul.products li.product .added_to_cart {
	align-self: center;
	font-size: var(--sk-fs-small);
	font-weight: 700;
}

/* Paginacja */
.woocommerce-pagination {
	margin-top: 56px;
}

.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-pagination .page-numbers li {
	margin: 0;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 8px;
	border: 1px solid var(--sk-sand);
	border-radius: var(--sk-radius-s);
	color: var(--sk-ink);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-pagination a.page-numbers:hover {
	border-color: var(--sk-walnut);
}

.woocommerce-pagination span.current {
	border-color: var(--sk-walnut);
	background: var(--sk-walnut);
	color: var(--sk-bg);
}

.woocommerce-pagination span.dots {
	border-color: transparent;
}

/* Brak wyników */
.sk-empty {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 640px;
	padding: 32px;
	border-radius: var(--sk-radius-l);
	background: var(--sk-cream);
}

.sk-empty p {
	margin: 0;
}

.sk-empty__title {
	color: var(--sk-ink);
	font-family: var(--sk-font-display);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.2;
}

.sk-empty .sk-chips {
	flex-wrap: wrap;
	margin-block: 4px;
}

.sk-shop--no-filters .sk-empty {
	margin-top: 12px;
}

/* Pasek „Filtry / Sortuj” (telefon, tablet) */
.sk-shop-bar {
	display: none;
}

/* Panel filtrów od dołu (dialog) */
.sk-drawer--bottom {
	inset: auto 0 0 0;
	width: 100%;
	max-width: 100%;
	height: calc(100dvh - 72px);
	max-height: calc(100dvh - 72px);
	border-radius: 14px 14px 0 0;
	box-shadow: 0 -16px 48px rgba(32, 26, 23, 0.25);
}

.sk-drawer--bottom[open] {
	animation-name: sk-slide-in-up;
}

@keyframes sk-slide-in-up { from { transform: translateY(100%); } }

.sk-filters .sk-drawer__title {
	font-family: var(--sk-font-body);
	font-size: 1.125rem;
	font-weight: 700;
}

.sk-filters .sk-drawer__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.sk-filters__sort fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.sk-option {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	color: var(--sk-text);
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
}

.sk-filters .sk-filter__option {
	min-height: 44px;
	font-size: 1rem;
}

.sk-filters__foot {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	background: var(--sk-bg);
}

.sk-filters__foot .sk-btn {
	padding-inline: 12px;
}

/* ==========================================================================
   4. Strona produktu
   ========================================================================== */

.sk-pdp-wrap {
	padding-block: 24px 0;
}

.sk-woo--single .sk-breadcrumb {
	margin-bottom: 24px;
}

.sk-woo--single div.product {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 56px;
	align-items: start;
}

.sk-woo--single div.product > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.sk-woo--single div.product > .woocommerce-product-gallery {
	grid-column: 1;
}

.sk-woo--single div.product > .summary {
	grid-column: 2;
}

/* Galeria */
.woocommerce-product-gallery {
	position: relative;
	margin: 0;
}

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

.woocommerce-product-gallery__image {
	overflow: hidden;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
}

.woocommerce-product-gallery__image a {
	display: block;
}

.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.woocommerce-product-gallery .flex-viewport {
	overflow: hidden;
	border-radius: var(--sk-radius-m);
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	margin: 0;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border: 2px solid transparent;
	border-radius: var(--sk-radius-m);
	object-fit: cover;
	opacity: 0.75;
	cursor: pointer;
	transition: opacity 0.15s ease, border-color 0.15s ease;
}

.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--sk-walnut);
	opacity: 1;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sk-bg);
	box-shadow: 0 4px 12px rgba(32, 26, 23, 0.16);
	color: var(--sk-ink);
	font-size: 0;
	text-decoration: none;
}

.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 14px;
	height: 14px;
	margin: -4px 0 0 -4px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	top: 26px;
	left: 26px;
	width: 2px;
	height: 7px;
	background: currentColor;
	transform: rotate(-45deg);
}

.woocommerce-product-gallery__trigger > * {
	display: none;
}

/* Podsumowanie */
.sk-woo--single .summary {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.sk-pdp__badges {
	margin-bottom: 10px;
}

.sk-woo--single .product_title {
	margin: 0 0 10px;
	font-size: clamp(2.125rem, 1.7rem + 1.4vw, 2.875rem);
	line-height: 1.05;
}

.sk-woo--single .summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	font-size: var(--sk-fs-small);
}

.sk-woo--single .summary > .price {
	margin: 0 0 10px;
	color: var(--sk-ink);
	font-size: clamp(1.5rem, 1.35rem + 0.5vw, 1.75rem);
	font-weight: 700;
	line-height: 1.3;
}

.sk-pdp__omnibus {
	margin: -4px 0 10px;
	color: var(--sk-muted);
	font-size: 0.8125rem;
}

.woocommerce-product-details__short-description {
	margin-bottom: 20px;
	color: var(--sk-text-2);
}

.woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

.sk-woo--single .stock {
	margin: 0 0 12px;
	font-size: var(--sk-fs-small);
	font-weight: 700;
}

.sk-woo--single .stock.in-stock { color: var(--sk-success); }
.sk-woo--single .stock.out-of-stock { color: var(--sk-error); }

/* Formularz koszyka */
.sk-woo--single form.cart {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 0 20px;
}

/* Personalizacja (skalart-core; klasy prj0085-* zachowane po PRJ-0085) */
.prj0085-personalization {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--sk-line);
	border-radius: var(--sk-radius-l);
	background: var(--sk-bg);
	counter-reset: sk-field;
	min-width: 0;
}

.prj0085-personalization > legend {
	padding: 0 8px;
	color: var(--sk-ink);
	font-size: 1.0625rem;
	font-weight: 700;
}

.prj0085-personalization__intro {
	margin: -4px 0 0;
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
}

/* Pole ukryte przez skrypt (lista stylu zastąpiona kafelkami) — [hidden] przegrywa z display: flex. */
.prj0085-personalization__field[hidden] {
	display: none;
}

.prj0085-personalization__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	color: var(--sk-ink);
	font-size: 0.9375rem;
	font-weight: 700;
}

.prj0085-personalization__field > span:first-child::before {
	content: counter(sk-field) ". ";
	counter-increment: sk-field;
}

.prj0085-personalization__field > span:first-child > span[aria-hidden="true"],
.prj0085-personalization__confirm span[aria-hidden="true"],
.sk-required {
	color: var(--sk-copper-text);
}

.prj0085-personalization__field input,
.prj0085-personalization__field select,
.prj0085-personalization__field textarea {
	font-weight: 500;
}

.prj0085-personalization__field textarea {
	min-height: 88px;
}

.prj0085-personalization__field small,
.sk-field-help {
	color: var(--sk-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.5;
}

.sk-counter {
	color: var(--sk-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

.sk-counter.is-near {
	color: var(--sk-warn);
	font-weight: 700;
}

.prj0085-personalization__confirm {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--sk-text);
	font-size: var(--sk-fs-small);
	font-weight: 500;
	cursor: pointer;
}

.prj0085-personalization__confirm input {
	margin-top: 1px;
}

.skalart-photo-hint {
	margin: 0;
	padding: 12px 14px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
	color: var(--sk-text-2);
	font-size: 0.8125rem;
}

.prj0085-personalization .skalart-photo-hint {
	margin-top: -8px;
}

/* Pole pliku jako strefa wyboru (skrypt) */
.sk-upload {
	position: relative;
}

.sk-upload__box {
	position: relative;
	display: block;
}

.sk-upload__zone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 22px 16px;
	border: 1.5px dashed var(--sk-input);
	border-radius: var(--sk-radius-l);
	background: var(--sk-bg);
	color: var(--sk-ink);
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.sk-upload__zone .sk-icon {
	width: 26px;
	height: 26px;
	color: var(--sk-copper-text);
}

.sk-upload__zone small {
	color: var(--sk-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

.sk-upload__zone:hover,
.sk-upload.is-dragover .sk-upload__zone {
	border-color: var(--sk-walnut);
	background: var(--sk-cream);
}

.sk-upload__box input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.sk-upload:focus-within .sk-upload__zone,
.sk-upload:focus-within .sk-upload__file {
	outline: 3px solid var(--sk-copper);
	outline-offset: 3px;
}

.sk-upload__file {
	position: relative;
	display: none;
	align-items: center;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--sk-sage-line);
	border-radius: var(--sk-radius-m);
	background: var(--sk-success-bg);
}

.sk-upload.has-file .sk-upload__zone {
	display: none;
}

.sk-upload.has-file .sk-upload__file {
	display: flex;
}

.sk-upload__preview {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	overflow: hidden;
	border-radius: var(--sk-radius-s);
	background: var(--sk-bg);
	color: var(--sk-copper-text);
	font-size: 0.75rem;
	font-weight: 700;
}

.sk-upload__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sk-upload__meta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.sk-upload__name {
	overflow: hidden;
	color: var(--sk-ink);
	font-size: var(--sk-fs-small);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sk-upload__size {
	color: var(--sk-success);
	font-size: 0.8125rem;
	font-weight: 600;
}

.sk-upload__change {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--sk-input);
	border-radius: var(--sk-radius-s);
	background: var(--sk-bg);
	color: var(--sk-walnut);
	font-size: var(--sk-fs-small);
	font-weight: 700;
}

.sk-upload__error {
	margin: 0;
	color: var(--sk-error);
	font-size: 0.8125rem;
	font-weight: 600;
}

.sk-upload__error:empty {
	display: none;
}

/* Styl napisu jako kafelki (skrypt) */
.sk-style-field {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.sk-style-field > legend {
	margin-bottom: 8px;
	padding: 0;
	color: var(--sk-ink);
	font-size: 0.9375rem;
	font-weight: 700;
}

.sk-style-field > legend::before {
	content: counter(sk-field) ". ";
	counter-increment: sk-field;
}

.sk-style-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.sk-style-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-height: 84px;
	padding: 14px 8px;
	border: 1px solid var(--sk-input);
	border-radius: var(--sk-radius-m);
	background: var(--sk-bg);
	text-align: center;
	cursor: pointer;
}

.sk-style-tile input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.sk-style-tile:hover {
	border-color: var(--sk-walnut);
}

.sk-style-tile:has(input:checked) {
	border: 2px solid var(--sk-walnut);
	padding: 13px 7px;
	background: var(--sk-cream);
}

.sk-style-tile:has(input:focus-visible) {
	outline: 3px solid var(--sk-copper);
	outline-offset: 3px;
}

.sk-style-tile__sample {
	overflow: hidden;
	max-width: 100%;
	color: var(--sk-ink);
	font-size: 1.5rem;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sk-style-tile__sample--classic { font-family: var(--sk-font-display); font-weight: 600; }
.sk-style-tile__sample--elegant { font-family: var(--sk-font-display); font-style: italic; font-weight: 500; }
.sk-style-tile__sample--minimal { font-family: var(--sk-font-body); font-size: 1.3125rem; font-weight: 500; }

.sk-style-tile__label {
	color: var(--sk-ink);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.3;
}

/* Ilość + przycisk */
.sk-atc-row {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.sk-atc-row .single_add_to_cart_button {
	flex: 1 1 0;
	min-width: 0;
	flex-wrap: wrap;
	column-gap: 0;
	min-height: 56px;
	padding-inline: 20px;
	font-size: 1.0625rem;
}

.quantity {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
}

.quantity .qty {
	width: 72px;
	min-height: 56px;
	padding: 0 8px;
	font-weight: 700;
	text-align: center;
}

.quantity input[type="hidden"] + .sk-qty-btn,
.quantity.hidden {
	display: none;
}

.sk-qty {
	border: 1px solid var(--sk-input);
	border-radius: var(--sk-radius-s);
	background: var(--sk-bg);
}

.sk-qty .qty {
	width: 40px;
	min-height: 54px;
	padding: 0;
	border: 0;
	background: transparent;
	-moz-appearance: textfield;
}

.sk-qty .qty::-webkit-outer-spin-button,
.sk-qty .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.sk-qty .qty:focus {
	box-shadow: none;
}

.sk-qty:focus-within {
	border-color: var(--sk-walnut);
	box-shadow: 0 0 0 3px rgba(181, 123, 75, 0.35);
}

.sk-qty-btn,
.sk-qty-btn:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 54px;
	padding: 0;
	border: 0;
	border-radius: var(--sk-radius-s);
	background: transparent;
	color: var(--sk-ink);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.sk-qty-btn:hover {
	background: var(--sk-cream);
	color: var(--sk-ink);
}

.sk-qty-btn:disabled {
	color: var(--sk-input);
	cursor: not-allowed;
}

/* Boks informacyjny */
.sk-pdp-info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 20px;
	border-radius: var(--sk-radius-l);
	background: var(--sk-cream);
	font-size: var(--sk-fs-small);
	list-style: none;
}

.sk-pdp-info li {
	display: flex;
	gap: 12px;
}

.sk-pdp-info .sk-icon {
	color: var(--sk-copper-text);
}

.sk-pdp-info strong {
	color: var(--sk-ink);
}

/* Sekcje: opis, szczegóły, opinie */
.sk-pdp-sections {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px;
	margin-top: 88px;
	padding-bottom: 72px;
	border-bottom: 1px solid var(--sk-line);
}

.sk-pdp-section--description {
	grid-column: span 2;
}

.sk-pdp-sections--no-desc .sk-pdp-section--details,
.sk-pdp-section--reviews {
	grid-column: 1 / -1;
}

.sk-pdp-section > summary {
	display: block;
	list-style: none;
	cursor: default;
}

.sk-pdp-section > summary::-webkit-details-marker {
	display: none;
}

.sk-pdp-section__title {
	margin: 0 0 16px;
	font-size: clamp(1.75rem, 1.5rem + 0.8vw, 2.25rem);
}

.sk-prose {
	color: var(--sk-text-2);
}

.sk-prose h2,
.sk-prose h3 {
	margin-top: 1.6em;
	font-size: 1.375rem;
}

.sk-prose ul,
.sk-prose ol {
	padding-left: 20px;
}

.sk-prose li + li {
	margin-top: 6px;
}

.sk-prose .wp-caption {
	width: auto !important; /* nadpisuje szerokość inline z shortcode [caption] */
	max-width: 100%;
	margin: 0;
}

.sk-prose .wp-caption-text {
	margin-top: 12px;
	font-style: normal;
}

.sk-prose img {
	border-radius: var(--sk-radius-m);
}

.sk-prose > :last-child {
	margin-bottom: 0;
}

.sk-specs {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	font-size: 0.9375rem;
}

.sk-specs > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
}

.sk-specs dt {
	color: var(--sk-muted);
}

.sk-specs dd {
	margin: 0;
	color: var(--sk-ink);
	font-weight: 600;
}

.sk-specs dd p {
	margin: 0;
}

/* Opinie */
.sk-pdp-section--reviews .woocommerce-Reviews-title {
	display: none;
}

.commentlist {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.commentlist li + li {
	margin-top: 16px;
}

.commentlist .comment_container {
	display: flex;
	gap: 14px;
}

.commentlist .avatar {
	border-radius: 50%;
}

.woocommerce-noreviews {
	color: var(--sk-muted);
}

#review_form .comment-reply-title {
	display: block;
	margin-bottom: 12px;
	font-family: var(--sk-font-display);
	font-size: 1.5rem;
	font-weight: 600;
}

#review_form .comment-form > p {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#review_form .stars a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	color: var(--sk-copper-text);
}

/* Powiązane produkty */
.sk-woo--single .related,
.sk-woo--single .upsells {
	padding-block: 72px var(--sk-section);
}

.sk-woo--single .related > h2,
.sk-woo--single .upsells > h2 {
	margin: 0 0 32px;
	font-size: clamp(1.75rem, 1.5rem + 1vw, 2.5rem);
}

.sk-woo--single .upsells + .related {
	padding-top: 0;
}

/* Przyklejony pasek zakupu (telefon) */
.sk-buybar {
	display: none;
}

/* ==========================================================================
   5. Mini-koszyk (panel w header.php)
   ========================================================================== */

.sk-minicart .sk-drawer__head {
	padding: 12px 12px 12px 24px;
}

.sk-minicart__notice:empty {
	display: none;
}

.sk-minicart__notice {
	flex-shrink: 0;
	margin: 16px 24px 0;
}

.sk-minicart__notice .sk-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

/* Treść panelu: lista przewijana, stopka zawsze widoczna. */
.sk-minicart .sk-minicart__body {
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 0;
	overflow: hidden;
}

.sk-minicart .widget_shopping_cart_content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.sk-minicart__list {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	padding: 8px 24px;
	overflow-y: auto;
	list-style: none;
}

.sk-minicart__item {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--sk-line);
}

.sk-minicart__thumb {
	flex-shrink: 0;
}

.sk-minicart__thumb img {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: var(--sk-radius-s);
	object-fit: cover;
}

.sk-minicart__info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: var(--sk-fs-small);
}

.sk-minicart__name {
	color: var(--sk-ink);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

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

/* Dane personalizacji w jednej linii: „Imię: Figo · Styl: Prosty”. */
.sk-minicart dl.variation,
.sk-thankyou dl.variation,
.woocommerce-table--order-details .wc-item-meta {
	margin: 2px 0 0;
	padding: 0;
	color: var(--sk-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.sk-minicart dl.variation dt,
.sk-minicart dl.variation dd {
	display: inline;
	margin: 0;
	font-weight: 500;
}

.sk-minicart dl.variation dd p {
	display: inline;
	margin: 0;
}

.sk-minicart dl.variation dd::after {
	content: " · ";
}

.sk-minicart dl.variation dd:last-of-type::after {
	content: "";
}

.sk-minicart__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 6px;
}

.sk-minicart__remove {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: -12px 0;
	color: var(--sk-copper-text);
	font-weight: 700;
	text-decoration: underline;
}

.sk-minicart__foot {
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	gap: 12px;
	padding: 20px 24px 24px;
	border-top: 1px solid var(--sk-line);
	background: var(--sk-bg);
}

.sk-minicart__foot p {
	margin: 0;
}

.sk-minicart__total {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 1.0625rem;
}

.sk-minicart__total-label {
	font-weight: 600;
}

.sk-minicart__total-value {
	color: var(--sk-ink);
}

.sk-minicart__shipping {
	color: var(--sk-muted);
	font-size: 0.8125rem;
}

.sk-minicart__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sk-minicart__buttons .sk-btn--secondary {
	min-height: 48px;
}

.sk-minicart__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: auto 0;
	padding: 40px 24px;
	text-align: center;
}

.sk-minicart__empty .sk-icon {
	width: 40px;
	height: 40px;
	color: var(--sk-copper-text);
}

.sk-minicart__empty p {
	margin: 0;
	color: var(--sk-ink);
	font-size: 1.0625rem;
	font-weight: 600;
}

/* Blokada w trakcie usuwania pozycji (jQuery blockUI). */
.sk-minicart .blockUI.blockOverlay {
	background: var(--sk-bg) !important; /* nadpisuje styl inline blockUI */
	opacity: 0.6 !important; /* nadpisuje styl inline blockUI */
}

/* ==========================================================================
   6. Koszyk i kasa (bloki WooCommerce)
   ========================================================================== */

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	padding-top: 40px;
}

.sk-steps ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 24px;
	padding: 0;
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
	font-weight: 700;
	list-style: none;
}

.sk-steps li {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sk-steps li + li::before {
	content: "";
	width: 40px;
	height: 1px;
	background: var(--sk-input);
}

.sk-steps .is-current {
	color: var(--sk-ink);
}

.sk-steps a {
	color: var(--sk-copper-text);
}

.sk-page-title,
.site-main .page-content .sk-page-title {
	margin: 0 0 32px;
	font-size: clamp(2.375rem, 1.7rem + 2vw, 3.25rem);
	line-height: 1.05;
}

/*
 * pages.css zawęża treść zwykłych stron do 760 px i dodaje odstępy list/nagłówków —
 * koszyk, kasa i konto potrzebują pełnej szerokości kontenera.
 */
.woocommerce-cart .site-main .page-content,
.woocommerce-checkout .site-main .page-content,
.woocommerce-account .site-main .page-content {
	max-width: none;
}

.site-main .page-content .sk-steps ol,
.site-main .page-content .woocommerce ul,
.site-main .page-content .woocommerce ol,
.site-main .page-content .wp-block-woocommerce-cart ul,
.site-main .page-content .wp-block-woocommerce-checkout ul {
	padding-left: 0;
}

.site-main .page-content .wp-block-woocommerce-cart h2,
.site-main .page-content .wp-block-woocommerce-checkout h2,
.site-main .page-content .woocommerce h2 {
	margin-top: 0;
}

/* Typografia i kolory bloków */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	color: var(--sk-text);
	font-family: var(--sk-font-body);
}

.wc-block-components-sidebar-layout {
	margin: 0;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
	padding-right: 0;
}

.wc-block-cart .wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text,
.wc-block-components-title.wc-block-components-title {
	color: var(--sk-ink);
	font-family: var(--sk-font-display);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

/* Panel podsumowania (koszyk i kasa) */
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
	align-self: start;
}

.wc-block-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	padding: 28px;
	border: 0;
	border-radius: var(--sk-radius-l);
	background: var(--sk-cream);
}

.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	padding: 0;
}

.wc-block-components-checkout-order-summary__title {
	padding: 24px 28px 8px;
}

.wc-block-cart .wc-block-cart__totals-title.wc-block-cart__totals-title {
	display: block;
	letter-spacing: 0;
	text-transform: none;
	margin: 0 0 8px;
	padding: 0;
	font-size: 1.875rem;
	text-align: left;
}

.wc-block-components-checkout-order-summary__title-text {
	font-size: 1.875rem;
}

.wc-block-components-totals-wrapper {
	border-top-color: var(--sk-sand);
}

.wc-block-components-totals-wrapper:empty {
	display: none;
}

.wc-block-components-totals-item {
	color: var(--sk-text);
	font-size: 0.9375rem;
}

.wc-block-components-totals-item__value {
	font-weight: 600;
}

.wc-block-components-totals-footer-item {
	color: var(--sk-ink);
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 1.125rem;
	font-weight: 700;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.625rem;
	font-weight: 700;
}

.wc-block-components-totals-item__description,
.wc-block-components-totals-shipping__via {
	color: var(--sk-muted);
	font-size: 0.8125rem;
}

/* Krótkie opisy produktów w koszyku są zbędne (zostaje personalizacja). */
.wc-block-components-product-metadata__description {
	display: none;
}

/* Personalizacja pozycji koszyka (item_data ze skalart-core) */
.wc-block-components-product-details {
	display: block;
	margin: 8px 0 0;
	padding: 10px 14px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
	color: var(--sk-ink);
	font-size: 0.8125rem;
	line-height: 1.5;
	list-style: none;
}

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

.wc-block-components-product-details > li,
.wc-block-components-product-details > span {
	display: block;
	margin: 0;
}

.wc-block-components-product-details > li + li,
.wc-block-components-product-details > span + span {
	margin-top: 2px;
}

/* Separator „ / ” z bloku zbędny, gdy każda pozycja jest w osobnej linii. */
.wc-block-components-product-details > li > [aria-hidden="true"],
.wc-block-components-product-details > span > [aria-hidden="true"] {
	display: none;
}

.wc-block-components-product-details__name {
	color: var(--sk-muted);
	font-weight: 500;
}

.wc-block-components-product-details__value {
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* W panelu podsumowania (kremowe tło) — biały boks personalizacji. */
.wc-block-checkout__sidebar .wc-block-components-product-details,
.wc-block-components-order-summary .wc-block-components-product-details {
	background: var(--sk-bg);
}

/* W podsumowaniu kasy blok układa nazwę i wartość w dwie kolumny, przez co
   wartości łamały się po literze — nazwa i wartość w jednej linii z zawijaniem. */
.wc-block-components-order-summary-item__description .wc-block-components-product-details > li,
.wc-block-components-order-summary-item__description .wc-block-components-product-details > span {
	display: block;
	width: auto;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-details__name,
.wc-block-components-order-summary-item__description .wc-block-components-product-details__value {
	display: inline;
	width: auto;
	overflow-wrap: normal;
	word-break: normal;
}

/* Tabela pozycji koszyka */
.wc-block-cart-items {
	border-bottom: 1px solid var(--sk-line);
}

.wc-block-cart-items__header {
	color: var(--sk-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.wc-block-cart-items th,
.wc-block-cart-items td {
	border-color: var(--sk-line);
}

.wc-block-cart-item__image img {
	border-radius: var(--sk-radius-m);
}

.wc-block-components-product-name {
	color: var(--sk-ink);
	font-size: 1.0625rem;
	font-weight: 700;
	text-decoration: none;
}

a.wc-block-components-product-name:hover {
	color: var(--sk-ink);
	text-decoration: underline;
}

.wc-block-cart-item__prices,
.wc-block-components-product-price {
	color: var(--sk-text-2);
	font-size: var(--sk-fs-small);
}

.wc-block-cart-item__total .wc-block-components-product-price {
	color: var(--sk-ink);
	font-size: 1.0625rem;
	font-weight: 700;
}

.wc-block-components-quantity-selector {
	border-color: var(--sk-input);
	border-radius: var(--sk-radius-s);
}

.wc-block-components-quantity-selector::after {
	border-color: var(--sk-input);
	border-radius: var(--sk-radius-s);
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-width: 44px;
	min-height: 44px;
	color: var(--sk-ink);
	opacity: 1;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	background: var(--sk-cream);
	color: var(--sk-ink);
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-height: 44px;
	border: 0;
	font-weight: 700;
}

.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata + .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	min-height: 44px;
	color: var(--sk-copper-text);
	font-size: var(--sk-fs-small);
	font-weight: 700;
	text-decoration: underline;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--sk-walnut);
}

/* Przyciski bloków */
.wc-block-components-button:not(.is-link) {
	min-height: 56px;
	border: 1.5px solid var(--sk-walnut);
	border-radius: var(--sk-radius-s);
	background: var(--sk-walnut);
	color: var(--sk-bg);
	font-family: var(--sk-font-body);
	font-size: 1.0625rem;
	font-weight: 700;
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus {
	border-color: var(--sk-ink);
	background: var(--sk-ink);
	color: var(--sk-bg);
}

.wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	color: inherit;
}

.wc-block-components-button.wc-block-components-totals-coupon__button {
	min-height: 48px;
	background: transparent;
	color: var(--sk-walnut);
	font-size: 0.9375rem;
}

.wc-block-components-button.wc-block-components-totals-coupon__button:hover {
	background: var(--sk-walnut);
	color: var(--sk-bg);
}

.wc-block-components-panel__button,
.wc-block-components-totals-coupon-link {
	color: var(--sk-walnut);
	font-weight: 700;
}

/* Pola formularza kasy */
.wc-block-components-text-input input[type],
.wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid var(--sk-input);
	border-radius: var(--sk-radius-s);
	background: var(--sk-bg);
	color: var(--sk-text);
	font-family: var(--sk-font-body);
}

.wc-block-components-text-input input[type]:focus,
.wc-block-components-textarea:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--sk-walnut);
	box-shadow: 0 0 0 3px rgba(181, 123, 75, 0.35);
}

.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--sk-muted);
	font-weight: 500;
}

.wc-block-components-text-input.has-error input,
.wc-block-components-validation-error {
	border-color: var(--sk-error);
	color: var(--sk-error);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: var(--sk-input);
	border-radius: 3px;
	background: var(--sk-bg);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--sk-walnut);
	background: var(--sk-walnut);
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--sk-bg);
}

/* Kroki kasy */
.wc-block-components-checkout-step__title {
	font-size: 1.375rem;
}

.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before {
	color: var(--sk-copper-text);
	font-family: var(--sk-font-display);
	font-weight: 700;
}

.wc-block-components-checkout-step__description {
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
}

/* Opcje dostawy i płatności jako karty z obramowaniem */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border-color: var(--sk-sand);
	background: var(--sk-bg);
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--sk-walnut);
}

.wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--sk-sand);
}

/* W opcjach płatności obrys zaznaczenia rysuje wewnętrzny cień kontenera —
   tło wiersza etykiety musi być przezroczyste, inaczej zasłania górną część ramki. */
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	background: transparent;
}

.wc-block-components-radio-control__input {
	border-color: var(--sk-input);
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--sk-walnut);
}

.wc-block-components-radio-control__input:checked::before {
	background: var(--sk-walnut);
}

.wc-block-components-radio-control__label,
.wc-block-components-radio-control__secondary-label {
	color: var(--sk-ink);
	font-weight: 700;
}

.wc-block-components-radio-control__description,
.wc-block-components-radio-control-accordion-content {
	color: var(--sk-muted);
	font-size: var(--sk-fs-small);
}

.wc-block-components-address-card {
	border-color: var(--sk-sand);
	border-radius: var(--sk-radius-m);
}

.wc-block-components-address-card__edit {
	color: var(--sk-copper-text);
	font-weight: 700;
}

/* Regulamin i przycisk zamówienia */
.wc-block-checkout__terms {
	margin-block: 24px 16px;
	font-size: var(--sk-fs-small);
}

.wc-block-checkout__terms a {
	font-weight: 700;
}

.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	padding-top: 24px;
	border-top-color: var(--sk-line);
}

.wc-block-checkout__actions_row {
	gap: 16px;
}

.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	min-height: 56px;
	padding-inline: 24px;
}

.wc-block-components-checkout-return-to-cart-button {
	color: var(--sk-copper-text);
	font-weight: 700;
}

/* Podsumowanie kasy: pozycje */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	border-radius: var(--sk-radius-s);
}

/* Licznik sztuk na miniaturze. Style bloków Woo ładują się po motywie, stąd wyższa specyficzność. */
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__quantity {
	min-width: 22px;
	height: 22px;
	border: 2px solid var(--sk-bg);
	font-weight: 700;
	line-height: 18px;
	background: var(--sk-walnut);
	color: var(--sk-bg);
	box-shadow: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 0.9375rem;
}

.wc-block-components-order-summary-item__total-price {
	color: var(--sk-ink);
	font-weight: 700;
}

/* Notatka art. 38 i metody płatności (slot ExperimentalOrderMeta) */
.sk-order-meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 0 0;
}

.wc-block-checkout__sidebar .sk-order-meta {
	padding: 16px 28px 24px;
}

.sk-order-meta p {
	margin: 0;
	color: var(--sk-text-2);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.sk-order-meta__art38 {
	padding: 12px 14px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-bg);
}

.sk-order-meta__payments {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Pusty koszyk */
.wp-block-woocommerce-empty-cart-block {
	padding-block: 24px var(--sk-section);
	text-align: center;
}

.wc-block-cart__empty-cart__title {
	font-size: clamp(1.75rem, 1.5rem + 1vw, 2.5rem);
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	background-color: var(--sk-copper-text);
}

/* Uproszczony nagłówek w kasie: logo i koszyk, bez nawigacji. */
.sk-checkout-focus .sk-nav,
.sk-checkout-focus .sk-header__cta,
.sk-checkout-focus .sk-header__search-desktop,
.sk-checkout-focus .sk-header__start,
.sk-checkout-focus .sk-header__actions a[href*="moje-konto"],
.sk-checkout-focus .sk-topbar,
.sk-checkout-focus .sk-whatsapp {
	display: none;
}

.sk-checkout-focus .sk-header__inner {
	justify-content: space-between;
}

/* ==========================================================================
   7. Zamówienie przyjęte
   ========================================================================== */

.woocommerce-order-received .site-main {
	max-width: calc(1040px + 2 * var(--sk-gutter));
}

.sk-thankyou__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 40px;
}

.sk-thankyou__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--sk-success-bg);
	color: var(--sk-success);
}

.sk-thankyou__icon .sk-icon {
	stroke-width: 2.2;
}

.sk-thankyou__title {
	margin: 0;
	font-size: clamp(2.25rem, 1.6rem + 2vw, 3.25rem);
	line-height: 1.05;
}

.sk-thankyou__lead {
	margin: 0;
	color: var(--sk-text-2);
	font-size: 1.0625rem;
}

.sk-thankyou__lead strong {
	color: var(--sk-ink);
}

.sk-thankyou__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}

.sk-thankyou__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

/* Dane do przelewu */
.sk-bank {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border: 2px solid var(--sk-copper);
	border-radius: var(--sk-radius-l);
}

.sk-bank__title,
.sk-next__title {
	margin: 0;
	font-family: var(--sk-font-body);
	font-size: 1.125rem;
	font-weight: 700;
}

.sk-bank__intro {
	color: var(--sk-text-2);
	font-size: var(--sk-fs-small);
}

.sk-bank__intro p {
	margin: 0;
}

.sk-bank__details {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px 16px;
	margin: 0;
	font-size: 0.9375rem;
}

.sk-bank__details dt {
	color: var(--sk-muted);
}

.sk-bank__details dd {
	margin: 0;
	color: var(--sk-ink);
	font-weight: 600;
	overflow-wrap: anywhere;
}

.sk-bank__number {
	font-weight: 700;
	letter-spacing: 0.04em;
}

.sk-bank__copy {
	align-self: flex-start;
}

.sk-bank__status {
	margin: 0;
	color: var(--sk-success);
	font-size: var(--sk-fs-small);
	font-weight: 600;
}

.sk-bank__status:empty {
	display: none;
}

/* Instrukcje innych metod (np. płatność przy odbiorze) */
.sk-thankyou__main > p {
	margin: 0;
	padding: 16px 20px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-cream);
	color: var(--sk-text-2);
	font-size: 0.9375rem;
}

/* Co dalej? */
.sk-next__title {
	margin-bottom: 16px;
}

.sk-next__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: sk-next;
}

.sk-next__list li {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 0 20px 46px;
	counter-increment: sk-next;
}

.sk-next__list li:last-child {
	padding-bottom: 0;
}

.sk-next__list li::before {
	content: counter(sk-next);
	position: absolute;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--sk-sand);
	color: var(--sk-ink);
	font-size: 0.8125rem;
	font-weight: 700;
}

.sk-next__list li:first-child::before {
	background: var(--sk-walnut);
	color: var(--sk-bg);
}

.sk-next__list strong {
	color: var(--sk-ink);
}

.sk-next__list span {
	color: var(--sk-text-2);
	font-size: var(--sk-fs-small);
}

/* Podsumowanie (szczegóły zamówienia WooCommerce) */
.sk-thankyou__summary {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 28px;
	border-radius: var(--sk-radius-l);
	background: var(--sk-cream);
}

.sk-thankyou__summary .woocommerce-order-details__title,
.sk-thankyou__summary .woocommerce-column__title {
	margin: 0 0 12px;
	font-size: 1.75rem;
}

.sk-thankyou__summary .woocommerce-column__title {
	font-family: var(--sk-font-body);
	font-size: 1rem;
	font-weight: 700;
}

.woocommerce-table--order-details,
.woocommerce-table--customer-details {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--sk-fs-small);
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--sk-sand);
	background: transparent;
	text-align: left;
	vertical-align: top;
}

.woocommerce-table--order-details thead th {
	color: var(--sk-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce-table--order-details td:last-child,
.woocommerce-table--order-details th:last-child,
.woocommerce-table--order-details tfoot td {
	padding-left: 12px;
	text-align: right;
}

.woocommerce-table--order-details tfoot th {
	font-weight: 500;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
}

/* reset.css z Hello Elementor nadaje paski wierszom tabel. */
.woocommerce-table--order-details tbody > tr:nth-child(odd) > td,
.woocommerce-table--order-details tbody > tr:nth-child(odd) > th,
.woocommerce-orders-table tbody > tr:nth-child(odd) > td,
.woocommerce-orders-table tbody > tr:nth-child(odd) > th,
.woocommerce-table--order-details tbody tr:hover > td,
.woocommerce-orders-table tbody tr:hover > td {
	background-color: transparent;
}

.woocommerce-table--order-details .product-name a {
	color: var(--sk-ink);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-table--order-details .wc-item-meta {
	list-style: none;
}

.woocommerce-table--order-details .wc-item-meta li,
.woocommerce-table--order-details .wc-item-meta p {
	display: inline;
	margin: 0;
}

.woocommerce-table--order-details .wc-item-meta li::after {
	content: " · ";
}

.woocommerce-table--order-details .wc-item-meta li:last-child::after {
	content: "";
}

.woocommerce-customer-details {
	font-size: var(--sk-fs-small);
}

.woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.6;
}

.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	gap: 16px;
}

.woocommerce-customer-details p {
	margin: 4px 0 0;
}

.sk-thankyou__account {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	border-radius: var(--sk-radius-m);
	background: var(--sk-bg);
	font-size: var(--sk-fs-small);
}

.sk-thankyou__account strong {
	color: var(--sk-ink);
	font-size: 1rem;
}

.sk-thankyou__back {
	margin: 48px 0 0;
	text-align: center;
	font-weight: 700;
}

.sk-thankyou__back a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* ==========================================================================
   8. Moje konto
   ========================================================================== */

.woocommerce-account .site-main .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.woocommerce-account .site-main .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .site-main .woocommerce > :only-child,
.woocommerce-account:not(.logged-in) .site-main .woocommerce > * {
	grid-column: 1 / -1;
}

.woocommerce-MyAccount-navigation {
	overflow: hidden;
	border: 1px solid var(--sk-line);
	border-radius: var(--sk-radius-l);
}

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

.woocommerce-MyAccount-navigation li + li {
	border-top: 1px solid var(--sk-line);
}

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 0 20px;
	color: var(--sk-ink);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation a:hover {
	background: var(--sk-cream);
	color: var(--sk-ink);
}

.woocommerce-MyAccount-navigation .is-active a {
	background: var(--sk-walnut);
	color: var(--sk-bg);
	font-weight: 700;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--sk-copper-text);
	font-weight: 700;
}

.woocommerce-MyAccount-content {
	min-width: 0;
}

.woocommerce-MyAccount-content > p:first-child {
	color: var(--sk-text-2);
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-size: 1.75rem;
}

/* Tabela zamówień */
.sk-table-scroll {
	overflow-x: auto;
	border: 1px solid var(--sk-line);
	border-radius: var(--sk-radius-l);
}

.sk-table-scroll:focus-visible {
	outline-offset: 2px;
}

.woocommerce-orders-table,
.woocommerce-MyAccount-content .shop_table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.woocommerce-orders-table th,
.woocommerce-orders-table td {
	padding: 16px 20px;
	border: 0;
	border-top: 1px solid var(--sk-line);
	background: transparent;
	text-align: left;
	vertical-align: middle;
}

.woocommerce-orders-table thead th {
	border-top: 0;
	background: var(--sk-cream);
	color: var(--sk-ink);
	font-weight: 700;
}

.woocommerce-orders-table__cell-order-number a {
	color: var(--sk-ink);
	font-weight: 700;
}

.woocommerce-orders-table__cell-order-actions {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-orders-table .button {
	min-height: 40px;
	padding: 0 14px;
	background: transparent;
	color: var(--sk-walnut);
	font-size: var(--sk-fs-small);
}

.woocommerce-orders-table .button + .button {
	margin-left: 6px;
}

.sk-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 0.8125rem;
	font-weight: 700;
	white-space: nowrap;
}

.sk-status--wait { background: var(--sk-warn-bg); color: var(--sk-warn); }
.sk-status--work { background: var(--sk-cream); color: var(--sk-walnut); }
.sk-status--done { background: var(--sk-success-bg); color: var(--sk-success); }
.sk-status--error { background: var(--sk-error-bg); color: #7a2a1d; }

.woocommerce-pagination--without-numbers,
.woocommerce-MyAccount-content .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

/* Logowanie i rejestracja */
.woocommerce-account:not(.logged-in) .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	align-items: start;
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2,
.woocommerce-ResetPassword + h2 {
	margin-bottom: 16px;
	font-size: 2rem;
}

.woocommerce-account .u-column2 {
	padding: 28px;
	border-radius: var(--sk-radius-l);
	background: var(--sk-cream);
}

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.woocommerce-form-row,
.woocommerce .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.woocommerce .form-row .required {
	color: var(--sk-copper-text);
	text-decoration: none;
	border: 0;
}

.woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 0.9375rem;
	font-weight: 500;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-Button {
	width: 100%;
	min-height: 56px;
}

.woocommerce-LostPassword {
	margin: 0;
	text-align: center;
}

.woocommerce-LostPassword a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--sk-fs-small);
	font-weight: 700;
}

.woocommerce-privacy-policy-text {
	color: var(--sk-muted);
	font-size: 0.8125rem;
}

.woocommerce-password-strength {
	margin-top: 6px;
	padding: 6px 10px;
	border-radius: var(--sk-radius-s);
	font-size: 0.8125rem;
	font-weight: 600;
}

.woocommerce-password-strength.strong { background: var(--sk-success-bg); color: var(--sk-success); }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { background: var(--sk-error-bg); color: #7a2a1d; }
.woocommerce-password-strength.good { background: var(--sk-warn-bg); color: var(--sk-warn); }

.password-input {
	position: relative;
	display: flex;
}

.show-password-input {
	position: absolute;
	top: 50%;
	right: 4px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	transform: translateY(-50%);
}

.show-password-input::before {
	content: "";
	display: block;
	width: 18px;
	height: 12px;
	margin: auto;
	border: 2px solid var(--sk-muted);
	border-radius: 50% / 60%;
}

.show-password-input:hover,
.show-password-input:focus {
	background: transparent;
}

/* Adresy */
.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.woocommerce-Address {
	padding: 20px;
	border: 1px solid var(--sk-line);
	border-radius: var(--sk-radius-l);
}

.woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}

.woocommerce-Address-title h2 {
	margin: 0;
	font-size: 1.5rem;
}

.woocommerce-Address address {
	font-style: normal;
}

.woocommerce-MyAccount-content fieldset {
	margin: 16px 0 0;
	padding: 20px;
	border: 1px solid var(--sk-line);
	border-radius: var(--sk-radius-l);
}

.woocommerce-MyAccount-content fieldset legend {
	padding: 0 6px;
	font-weight: 700;
}

/* ==========================================================================
   9. Responsywność
   ========================================================================== */

@media (max-width: 1024px) {
	.sk-shop {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 0;
	}

	.sk-shop__filters {
		display: none;
	}

	/* Pasek filtrów i sortowania przyklejony do góry ekranu. */
	.sk-shop-bar {
		position: sticky;
		top: 0;
		z-index: 30;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 4px;
		border-bottom: 1px solid var(--sk-line);
		background: var(--sk-bg);
	}

	.sk-shop-bar__btn,
	.sk-shop-bar__btn:focus,
	.sk-shop-bar__btn:hover {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 52px;
		padding: 0 12px;
		border: 0;
		border-radius: 0;
		background: var(--sk-bg);
		color: var(--sk-ink);
		font-size: 0.9375rem;
		font-weight: 700;
	}

	.sk-shop-bar__btn + .sk-shop-bar__btn {
		border-left: 1px solid var(--sk-line);
	}

	.sk-shop-bar__btn:hover {
		background: var(--sk-cream);
	}

	.sk-shop__toolbar {
		margin: 12px 0 16px;
	}

	.sk-shop__toolbar .woocommerce-ordering {
		display: none;
	}

	.sk-woo--single div.product {
		gap: 0 32px;
	}

	.sk-pdp-sections {
		gap: 32px;
	}

	ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.woocommerce-account .site-main .woocommerce {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 32px;
	}
}

@media (min-width: 1025px) {
	.sk-filters {
		display: none;
	}

}

@media (max-width: 767px) {
	.sk-archive-head .sk-container {
		padding-block: 16px 16px;
	}

	.sk-archive-head .sk-breadcrumb {
		margin-bottom: 10px;
		font-size: 0.8125rem;
	}

	.sk-archive-head__title {
		margin-bottom: 6px;
	}

	.sk-archive-head__desc {
		margin-bottom: 16px;
		font-size: 0.9375rem;
	}

	/* Chipy przewijane poziomo. */
	.sk-archive-head__chips {
		margin-inline: calc(-1 * var(--sk-gutter));
	}

	.sk-archive-head__chips .sk-chips {
		flex-wrap: nowrap;
		padding-inline: var(--sk-gutter);
		padding-bottom: 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.sk-archive-head__chips .sk-chips::-webkit-scrollbar {
		display: none;
	}

	.sk-archive-head__chips .sk-chip {
		padding: 0 14px;
	}

	.sk-archive-head--search .sk-container {
		padding-block: 24px 4px;
	}

	.sk-shop__toolbar {
		margin: 8px 0 12px;
	}

	.sk-shop__count {
		font-size: 0.8125rem;
	}

	ul.products,
	ul.products.columns-3,
	ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 12px;
	}

	ul.products li.product {
		gap: 8px;
	}

	.sk-card__media {
		margin-bottom: 4px;
	}

	.sk-card__badges {
		top: 8px;
		left: 8px;
		right: 8px;
	}

	.sk-card__badges .sk-badge {
		padding: 2px 8px;
		font-size: 0.6875rem;
	}

	ul.products .woocommerce-loop-product__title {
		font-size: 0.875rem;
		line-height: 1.35;
	}

	ul.products .price {
		font-size: 1rem;
	}

	ul.products li.product .button {
		font-size: 0.8125rem;
	}

	.woocommerce-pagination {
		margin-top: 40px;
	}

	.sk-empty {
		padding: 24px 20px;
	}

	/* Strona produktu */
	.sk-pdp-wrap {
		padding-top: 10px;
	}

	.sk-woo--single .sk-breadcrumb {
		margin-bottom: 10px;
		font-size: 0.8125rem;
	}

	/* Na telefonie pokazujemy ścieżkę bez nazwy produktu. */
	.sk-woo--single .sk-breadcrumb li:last-child,
	.sk-woo--single .sk-breadcrumb li:nth-last-child(2) {
		display: none;
	}

	.sk-woo--single div.product {
		grid-template-columns: minmax(0, 1fr);
	}

	.sk-woo--single div.product > .woocommerce-product-gallery,
	.sk-woo--single div.product > .summary {
		grid-column: 1;
	}

	.woocommerce-product-gallery {
		margin-inline: calc(-1 * var(--sk-gutter));
	}

	.woocommerce-product-gallery__image,
	.woocommerce-product-gallery .flex-viewport {
		border-radius: 0;
	}

	.woocommerce-product-gallery .flex-control-thumbs {
		gap: 8px;
		padding-inline: var(--sk-gutter);
	}

	.sk-woo--single .summary {
		padding-top: 20px;
	}

	.woocommerce-product-details__short-description {
		font-size: 0.9375rem;
	}

	/* Cena jest w przyklejonym pasku — w przycisku zostaje sam tekst. */
	.sk-atc-total {
		display: none;
	}

	.prj0085-personalization {
		gap: 18px;
		padding: 18px;
	}

	.sk-style-tile {
		min-height: 76px;
		padding: 10px 4px;
	}

	.sk-style-tile:has(input:checked) {
		padding: 9px 3px;
	}

	.sk-style-tile__sample {
		font-size: 1.375rem;
	}

	.sk-pdp-info {
		padding: 16px;
	}

	/* Sekcje jako rozwijane <details>. */
	.sk-pdp-sections {
		display: block;
		margin-top: 32px;
		padding-bottom: 0;
		border-bottom: 1px solid var(--sk-line);
	}

	.sk-pdp-section {
		border-top: 1px solid var(--sk-line);
	}

	.sk-pdp-section > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 56px;
		cursor: pointer;
	}

	.sk-pdp-section > summary::after {
		content: "";
		flex-shrink: 0;
		width: 9px;
		height: 9px;
		margin-right: 6px;
		border-right: 2px solid var(--sk-ink);
		border-bottom: 2px solid var(--sk-ink);
		transform: rotate(45deg);
		transition: transform 0.15s ease;
	}

	.sk-pdp-section[open] > summary::after {
		transform: rotate(-135deg);
	}

	.sk-pdp-section__title {
		margin: 0;
		font-family: var(--sk-font-body);
		font-size: 1rem;
		font-weight: 700;
	}

	.sk-pdp-section__body {
		padding-bottom: 20px;
		font-size: 0.9375rem;
	}

	/* Powiązane: przewijany rząd kart. */
	.sk-woo--single .related,
	.sk-woo--single .upsells {
		padding-block: 40px 56px;
	}

	.sk-woo--single .related > h2,
	.sk-woo--single .upsells > h2 {
		margin-bottom: 16px;
		font-size: 1.75rem;
	}

	.sk-woo--single .related ul.products,
	.sk-woo--single .upsells ul.products {
		/* Kontener z przewijaniem musi być punktem odniesienia dla elementów absolutnych
		   (np. .screen-reader-text w kartach) — inaczej poszerzają całą stronę. */
		position: relative;
		display: flex;
		gap: 12px;
		margin-inline: calc(-1 * var(--sk-gutter));
		padding-inline: var(--sk-gutter);
		padding-bottom: 8px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		/* Przyciąganie wyrównuje karty do marginesu treści, a nie do krawędzi ekranu. */
		scroll-padding-inline: var(--sk-gutter);
	}

	.sk-woo--single .related li.product,
	.sk-woo--single .upsells li.product {
		flex: 0 0 160px;
		scroll-snap-align: start;
	}

	.sk-woo--single .related li.product .button,
	.sk-woo--single .related li.product .added_to_cart,
	.sk-woo--single .upsells li.product .button {
		display: none;
	}

	/* Pasek zakupu przyklejony do dołu ekranu. */
	.sk-buybar:not([hidden]) {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 45;
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 72px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--sk-line);
		background: var(--sk-bg);
		box-shadow: 0 -6px 20px rgba(32, 26, 23, 0.12);
		transition: transform 0.2s ease;
	}

	.sk-buybar.is-hidden {
		transform: translateY(110%);
	}

	.sk-buybar__price {
		display: flex;
		flex-direction: column;
		line-height: 1.2;
	}

	.sk-buybar__label {
		color: var(--sk-muted);
		font-size: 0.75rem;
	}

	.sk-buybar__price strong {
		color: var(--sk-ink);
		font-size: 1.125rem;
	}

	.sk-buybar__btn {
		flex: 1 1 auto;
		padding-inline: 12px;
	}

	.sk-has-sticky-bar .sk-footer {
		padding-bottom: 72px;
	}

	/* Mini-koszyk */
	.sk-minicart .sk-drawer__head {
		padding-left: 20px;
	}

	.sk-minicart__notice {
		margin-inline: 20px;
	}

	.sk-minicart__list {
		padding-inline: 20px;
	}

	.sk-minicart__foot {
		padding: 16px 20px 20px;
	}

	/* Koszyk i kasa */
	.woocommerce-cart .site-main,
	.woocommerce-checkout .site-main {
		padding-top: 20px;
	}

	.sk-steps ol {
		gap: 6px 8px;
		margin-bottom: 16px;
		font-size: 0.75rem;
	}

	.sk-steps li {
		gap: 8px;
	}

	.sk-steps li + li::before {
		width: 16px;
	}

	.sk-page-title {
		margin-bottom: 16px;
	}

	.wc-block-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
		margin-top: 24px;
		padding: 20px;
	}

	.wc-block-components-checkout-order-summary__title {
		padding-inline: 20px;
	}

	.wc-block-checkout__sidebar .sk-order-meta {
		padding-inline: 20px;
	}

	/* Zamówienie przyjęte */
	.sk-thankyou__head {
		gap: 12px;
		margin-bottom: 24px;
	}

	.sk-thankyou__icon {
		width: 52px;
		height: 52px;
	}

	.sk-thankyou__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.sk-bank {
		padding: 18px;
	}

	.sk-bank__copy {
		align-self: stretch;
		min-height: 48px;
	}

	.sk-thankyou__summary {
		padding: 20px;
	}

	.sk-thankyou__back {
		margin-top: 32px;
	}

	/* Moje konto */
	.woocommerce-account .site-main .woocommerce,
	.woocommerce-account:not(.logged-in) .u-columns,
	.woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.woocommerce-account .u-column2 {
		padding: 20px;
	}

	.woocommerce-account .u-column1 h2,
	.woocommerce-account .u-column2 h2 {
		font-size: 1.75rem;
	}

	.woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
	}

	.woocommerce-MyAccount-navigation li + li {
		border-top: 0;
		border-left: 1px solid var(--sk-line);
	}

	.woocommerce-MyAccount-navigation a {
		min-height: 48px;
		padding: 0 16px;
		white-space: nowrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sk-card__media img,
	.sk-buybar {
		transition: none;
	}

	ul.products li.product a:hover .sk-card__media img {
		transform: none;
	}
}

@media (max-width: 400px) {
	.sk-qty-btn,
	.sk-qty-btn:focus {
		width: 44px;
	}

	.sk-qty .qty {
		width: 32px;
	}
}
