/* Spiżarnia u Karola – style uzupełniające Elementora i WooCommerce.
   Kolory i fonty bazowe ustawia Kit Elementora (Ustawienia witryny). Tu: elementy, których
   Elementor nie obejmuje (WooCommerce, krótkie kody), oraz drobne poprawki układu. */

:root {
	--spz-krem: var(--e-global-color-spzkrem, #F5EFE3);
	--spz-jasny: var(--e-global-color-spzjasn, #FBF8F1);
	--spz-braz: var(--e-global-color-primary, #2B190F);
	--spz-tekst: var(--e-global-color-text, #3A2A1E);
	--spz-oliwka: var(--e-global-color-secondary, #777B4B);
	--spz-akcent: var(--e-global-color-accent, #5E6238);
	--spz-kraft: var(--e-global-color-spzkraf, #C5A67C);
	--spz-linia: var(--e-global-color-spzlini, #E3D7C1);
	--spz-szeryf: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--spz-bezszeryf: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	--spz-cien: 0 1px 2px rgba(43, 25, 15, .05), 0 8px 24px rgba(43, 25, 15, .06);
	--spz-promien: 4px;
}

body.spz {
	background-color: var(--spz-krem);
	color: var(--spz-tekst);
	font-family: var(--spz-bezszeryf);
	overflow-x: clip;
}

.spz h1, .spz h2, .spz h3, .spz h4 {
	font-family: var(--spz-szeryf);
	color: var(--spz-braz);
	font-weight: 600;
}

/* Widoczny fokus dla klawiatury */
.spz a:focus-visible,
.spz button:focus-visible,
.spz input:focus-visible,
.spz select:focus-visible,
.spz textarea:focus-visible,
.spz summary:focus-visible,
.spz [tabindex]:focus-visible {
	outline: 2px solid var(--spz-akcent);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--spz-krem);
}

.spz .screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.spz .spz-skip:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 1000;
	top: 8px; left: 8px; padding: 12px 16px; background: var(--spz-braz); color: var(--spz-krem);
}

/* Oznaczenia treści roboczych – widoczne tylko dla redaktorów */
.spz-roboczy { display: none !important; }
.spz-redaktor .spz-roboczy { display: block !important; }
.spz-redaktor .spz-roboczy .elementor-widget-container,
.spz-redaktor .spz-roboczy > p {
	background: #FFF4CF; border: 1px dashed #B08A2E; color: #4A3A10;
	font: 600 13px/1.4 var(--spz-bezszeryf); padding: 8px 12px; border-radius: 3px;
}
.spz-redaktor .spz-roboczy p { margin: 0; }
.spz-uwaga {
	background: #FFF4CF; border: 1px dashed #B08A2E; color: #4A3A10 !important;
	font: 13px/1.4 var(--spz-bezszeryf); padding: 6px 10px; margin: 0;
}

/* Podpis rozstrzelony (np. „WISŁA • BESKIDY”) */
.spz-podpis, .spz-podpis p {
	font: 600 13px/1.4 var(--spz-bezszeryf);
	letter-spacing: 3px; text-transform: uppercase; color: var(--spz-akcent);
	margin: 0;
}
.spz-lead p { font-size: 19px; max-width: 640px; margin-inline: auto; }

/* Przyciski – wariant obrysowy (klasa w Elementorze) */
.spz-przycisk--obrys .elementor-button {
	background: transparent !important;
	color: var(--spz-braz) !important;
	border: 1px solid var(--spz-braz) !important;
}
.spz-przycisk--obrys .elementor-button:hover {
	background: var(--spz-braz) !important;
	color: var(--spz-krem) !important;
}

/* ================= NAGŁÓWEK ================= */
.spz-naglowek { position: sticky; top: 0; z-index: 100; }
.admin-bar .spz-naglowek { top: 32px; }
@media (max-width: 782px) { .admin-bar .spz-naglowek { top: 0; } }
.spz-h { box-shadow: 0 1px 0 var(--spz-linia); }
.spz-pasek p { margin: 0; color: var(--spz-krem); font: 400 13px/1.4 var(--spz-bezszeryf); letter-spacing: .6px; }
.spz-h__glowny > .e-con-inner { align-items: center; }
.spz-h__logo { flex: 0 0 auto !important; width: 210px !important; }
.spz-h__logo img { display: block; width: 210px !important; height: auto; }
.spz-h__prawa { flex: 1 1 auto !important; min-width: 0; width: auto !important; --width: auto; }
.spz-h__narzedzia > .elementor-element { flex: 0 0 auto !important; width: auto !important; }

.spz-menu__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px 34px; flex-wrap: nowrap; }
.spz-menu__lista a {
	display: inline-block; padding: 6px 0; color: var(--spz-braz);
	font: 400 16px/1.3 var(--spz-bezszeryf); text-decoration: none; border-bottom: 1px solid transparent;
}
.spz-menu__lista a:hover,
.spz-menu__lista .current-menu-item > a,
.spz-menu__lista .current_page_item > a { border-bottom-color: var(--spz-oliwka); color: var(--spz-akcent); }
.spz-menu__lista .sub-menu { display: none; }
.spz .spz-menu__przycisk, .spz .spz-menu__zamknij {
	display: none; background: none !important; border: 0 !important; border-radius: 0 !important; min-height: 44px; min-width: 44px; align-items: center; justify-content: center; padding: 8px; color: var(--spz-braz); cursor: pointer; line-height: 0;
}
.spz-menu__dodatki { display: none; }

.spz-ikona { width: 22px; height: 22px; display: block; flex: 0 0 auto; }
.spz-ikona-link { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 6px 2px; color: var(--spz-braz); text-decoration: none; font: 400 14px/1.2 var(--spz-bezszeryf); }
.spz-ikona-link:hover { color: var(--spz-akcent); }
.spz-etykieta { white-space: nowrap; }
.spz-koszyk__licznik::before { content: "("; }
.spz-koszyk__licznik::after { content: ")"; }

.spz-szukaj { display: flex; align-items: center; border: 1px solid var(--spz-linia); background: var(--spz-jasny); border-radius: 999px; padding: 0 4px 0 14px; width: 210px; }
.spz-szukaj input[type="search"] { border: 0 !important; background: transparent !important; padding: 7px 0 !important; font: 14px var(--spz-bezszeryf); color: var(--spz-tekst); width: 100%; min-width: 0; outline: none; box-shadow: none !important; }
.spz-szukaj:focus-within { border-color: var(--spz-akcent); box-shadow: 0 0 0 2px rgba(94, 98, 56, .25); }
.spz .spz-szukaj button { background: none !important; border: 0 !important; border-radius: 50% !important; padding: 6px; color: var(--spz-braz); cursor: pointer; line-height: 0; }
.spz-szukaj .spz-ikona { width: 18px; height: 18px; }

@media (max-width: 1180px) and (min-width: 1025px) {
	.spz-menu__lista { gap: 6px 22px; }
	.spz-h__logo, .spz-h__logo img { width: 180px !important; }
	.spz-szukaj { width: 170px; }
}

@media (max-width: 1024px) {
	.spz-h__glowny > .e-con-inner, .spz-h__glowny.e-con { flex-wrap: nowrap !important; --flex-wrap: nowrap; justify-content: space-between; gap: 8px !important; }
	.spz-h__prawa, .spz-h__narzedzia { display: contents !important; }
	.spz-h__konto, .spz-h__szukaj { display: none !important; }
	.spz-h__glowny .spz-h__menu { order: 1; flex: 0 0 auto !important; width: auto !important; }
	.spz-h__glowny .spz-h__logo { order: 2; margin: 0 auto; width: 140px !important; }
	.spz-h__logo img { width: 140px !important; }
	.spz-h__glowny .spz-h__koszyk { order: 3; }
	.spz-h__koszyk .spz-etykieta { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); }
	.spz-h__koszyk .spz-ikona-link { padding: 10px; }
	.spz-h__koszyk .spz-ikona { width: 24px; height: 24px; }
	.spz-h__koszyk .spz-koszyk__licznik {
		position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px;
		border-radius: 9px; background: var(--spz-akcent); color: var(--spz-krem);
		font: 600 11px/18px var(--spz-bezszeryf); text-align: center;
	}
	.spz-h__koszyk .spz-koszyk__licznik::before, .spz-h__koszyk .spz-koszyk__licznik::after { content: none; }
	.spz .spz-menu__przycisk { display: inline-flex; }
	.spz-menu__panel {
		position: fixed; inset: 0 auto 0 0; width: min(86vw, 360px); z-index: 1000;
		background: var(--spz-krem); padding: 64px 28px 28px; box-shadow: 12px 0 32px rgba(43, 25, 15, .18);
		transform: translateX(-100%); transition: transform .25s ease; visibility: hidden; overflow-y: auto;
	}
	.spz-menu.is-otwarte .spz-menu__panel { transform: none; visibility: visible; }
	.admin-bar .spz-menu__panel { top: 46px; }
	.spz .spz-menu__zamknij { display: inline-flex; position: absolute; top: 12px; right: 12px; }
	.spz-menu__lista { flex-direction: column; gap: 0; }
	.spz-menu__lista a { display: block; padding: 14px 0; font-size: 17px; border-bottom: 1px solid var(--spz-linia); }
	.spz-menu__dodatki { display: block; margin-top: 24px; }
	.spz-menu__dodatki .spz-szukaj { width: 100%; }
	.spz-menu__dodatki .spz-szukaj input[type="search"] { padding: 11px 0 !important; font-size: 16px; }
	.spz-menu__konto { display: flex; align-items: center; gap: 10px; padding: 16px 0; color: var(--spz-braz); text-decoration: none; font: 400 17px var(--spz-bezszeryf); }
	.spz-menu-tlo { position: fixed; inset: 0; background: rgba(43, 25, 15, .4); z-index: 999; }
}
@media (prefers-reduced-motion: reduce) { .spz-menu__panel { transition: none; } }

/* ================= STRONA GŁÓWNA ================= */
.spz-baner { position: relative; }
.spz-baner__tresc .elementor-widget-heading,
.spz-baner__tresc .spz-baner__lead { max-width: 560px !important; }
.spz-baner h1, .spz-baner .elementor-heading-title { font-size: clamp(40px, 5vw, 64px); line-height: 1.08; color: #fff; }
.spz-baner__lead p { font-size: 20px; line-height: 1.5; color: #F5EFE3; margin: 0; }
@media (max-width: 767px) {
	.spz-baner::before { background-image: linear-gradient(180deg, rgba(28, 18, 10, .45) 0%, rgba(28, 18, 10, .82) 100%) !important; }
	.spz-baner__lead p { font-size: 17px; }
}
.spz-przycisk--strzalka .elementor-button-content-wrapper { flex-direction: row-reverse; gap: 10px; }
.spz-przycisk--strzalka .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }

.spz-zalety { border-bottom: 1px solid var(--spz-linia); }
.spz-zaleta { flex: 1 1 220px; }
.spz-zaleta .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center; gap: 14px; text-align: left !important; }
.spz-zaleta .elementor-icon-box-icon { margin: 0 !important; flex: 0 0 auto; }
.spz-zaleta .elementor-icon { color: var(--spz-braz); font-size: 24px; }
.spz-zaleta .elementor-icon svg { fill: var(--spz-braz); width: 24px; height: 24px; }
.spz-zaleta .elementor-icon-box-title { font: 400 15px/1.35 var(--spz-bezszeryf) !important; color: var(--spz-tekst); margin: 0; }
@media (max-width: 767px) {
	.spz-zalety__siatka { row-gap: 16px !important; column-gap: 12px !important; }
	.spz-zaleta { flex: 1 1 calc(50% - 12px) !important; min-width: 0; }
	.spz-zaleta .elementor-icon-box-wrapper { gap: 10px; }
	.spz-zaleta .elementor-icon { font-size: 20px; }
	.spz-zaleta .elementor-icon svg { width: 20px; height: 20px; }
	.spz-zaleta .elementor-icon-box-title { font-size: 13px !important; }
}

.spz-sekcja__tytul .elementor-heading-title { font-size: clamp(30px, 3.4vw, 38px); font-weight: 500; }

.spz-kategoria { flex: 0 1 calc((100% - 5 * 24px) / 6) !important; min-width: 130px; }
.spz-kategoria__obraz img {
	width: 150px !important; max-width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50% !important;
	background: var(--spz-kraft); box-shadow: var(--spz-cien); transition: transform .25s ease;
}
/* Emblemat zastępczy (PNG z przezroczystością) – mieści się w kole */
.spz-kategoria__obraz img[src*="awatar"] { object-fit: contain; padding: 14%; }
.spz-kategoria__obraz a:hover img { transform: translateY(-3px); }
.spz-kategoria__nazwa .elementor-heading-title { font-size: 19px; line-height: 1.2; font-weight: 500; }
.spz-kategoria__nazwa a { color: var(--spz-braz); text-decoration: none; }
@media (max-width: 1024px) { .spz-kategoria { flex-basis: calc((100% - 2 * 24px) / 3) !important; } }
@media (max-width: 480px) {
	.spz-kategorie__siatka { column-gap: 12px !important; row-gap: 20px !important; }
	.spz-kategoria { flex-basis: calc((100% - 24px) / 3) !important; min-width: 0; gap: 8px !important; }
	.spz-kategoria__obraz img { width: 92px !important; }
	.spz-kategoria__nazwa .elementor-heading-title { font-size: 15px; }
}

.spz-historia__obraz, .spz-historia__obraz .elementor-widget-image, .spz-historia__obraz .elementor-widget-container { height: 100%; }
.spz-historia__obraz img { display: block; width: 100% !important; height: 100% !important; min-height: 440px; object-fit: cover; border-radius: 0 !important; }
.spz-historia__tekst > .elementor-element { max-width: 560px; }
.spz-historia__tekst p { font-size: 17px; }
@media (max-width: 767px) { .spz-historia__obraz img { min-height: 240px; max-height: 300px; } }
.spz-zaokraglone img { border-radius: var(--spz-promien); box-shadow: var(--spz-cien); width: 100%; height: auto; }

.spz-karta { background: #fff; border: 1px solid var(--spz-linia); border-radius: var(--spz-promien); box-shadow: var(--spz-cien); }

/* ================= STOPKA ================= */
.spz-s, .spz-s p, .spz-s li { color: #EDE4D3; font-size: 15px; }
.spz .spz-s a { color: #F5EFE3 !important; text-decoration: none; }
.spz-s a:hover { text-decoration: underline; text-underline-offset: 3px; }
.spz-s .spz-s__tytul .elementor-heading-title {
	font: 600 13px/1.4 var(--spz-bezszeryf) !important; letter-spacing: 2.5px; text-transform: uppercase; color: var(--spz-kraft) !important;
}
.spz-s__kolumna { flex: 1 1 180px !important; }
.spz-s__marka { flex: 1.4 1 260px !important; }
@media (max-width: 767px) { .spz-s__kolumna, .spz-s__marka { flex: 0 0 auto !important; } }
.spz-s__dol { border-top: 1px solid rgba(245, 239, 227, .15); }
.spz-s__dol p { margin: 0; font-size: 13px; color: #CDBFA8; }
.spz-lista-linkow { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.spz-sprzedawca { margin: 0; line-height: 1.6; }

/* ================= WOOCOMMERCE – wspólne ================= */
body.spz:not([class*="elementor-page-"]) .site-main, .spz .page-content { max-width: 1240px; margin-inline: auto; width: 100%; }
.spz.woocommerce-page .site-main,
.spz.woocommerce .site-main { padding: 32px 24px 80px; }
@media (max-width: 767px) { .spz.woocommerce-page .site-main, .spz.woocommerce .site-main { padding: 20px 16px 56px; } }

.spz .woocommerce-breadcrumb { font-size: 14px; color: #6B5A4A; margin-bottom: 12px; }
.spz .woocommerce-breadcrumb a { color: var(--spz-akcent); text-decoration: none; }
.spz-okruszki__sep { margin: 0 8px; color: var(--spz-kraft); }
.spz .woocommerce-products-header__title, .spz .page-title { font-size: clamp(32px, 4vw, 48px); margin: 0 0 8px; }
.spz .term-description { max-width: 720px; }

.spz .woocommerce a.button, .spz .woocommerce button.button, .spz .woocommerce input.button,
.spz.woocommerce a.button, .spz.woocommerce button.button, .spz a.button, .spz button.button,
.spz .wc-block-components-button:not(.is-link), .spz .spz-przycisk {
	background: var(--spz-akcent); color: var(--spz-krem); border: 0; border-radius: 2px;
	font: 600 14px/1.2 var(--spz-bezszeryf); letter-spacing: 1.2px; text-transform: uppercase;
	padding: 14px 24px; text-decoration: none; cursor: pointer; transition: background-color .2s ease;
}
.spz .woocommerce a.button:hover, .spz .woocommerce button.button:hover, .spz a.button:hover, .spz button.button:hover,
.spz .wc-block-components-button:not(.is-link):hover, .spz .spz-przycisk:hover { background: var(--spz-braz); color: var(--spz-krem); }
.spz .woocommerce button.button.alt, .spz .woocommerce a.button.alt { background: var(--spz-akcent); }
.spz .woocommerce button.button:disabled, .spz .woocommerce button.button.disabled { opacity: .5; }

.spz .woocommerce-message, .spz .woocommerce-info, .spz .woocommerce-error,
.spz .wc-block-components-notice-banner {
	border-radius: var(--spz-promien); border: 1px solid var(--spz-linia); border-left: 4px solid var(--spz-akcent);
	background: var(--spz-jasny); color: var(--spz-tekst);
}
.spz .woocommerce-error, .spz .wc-block-components-notice-banner.is-error { border-left-color: #A23B2A; }
.spz .woocommerce-message::before, .spz .woocommerce-info::before { color: var(--spz-akcent); }

.spz input[type="text"], .spz input[type="email"], .spz input[type="tel"], .spz input[type="number"],
.spz input[type="password"], .spz input[type="date"], .spz select, .spz textarea {
	border: 1px solid #CBBDA5; border-radius: 3px; background: #fff; color: var(--spz-tekst);
	font: 16px/1.4 var(--spz-bezszeryf); padding: 11px 12px;
}
.spz input[aria-invalid="true"], .spz .woocommerce-invalid input { border-color: #A23B2A; }

/* Siatka produktów */
.spz ul.products { display: grid !important; grid-template-columns: repeat(var(--spz-kol, 4), minmax(0, 1fr)); gap: 24px; margin: 0 0 32px !important; padding: 0; }
.spz ul.products::before, .spz ul.products::after { display: none !important; }
.spz ul.products.columns-3 { --spz-kol: 3; }
.spz ul.products.columns-2 { --spz-kol: 2; }
.spz ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	background: #fff; border: 1px solid var(--spz-linia); border-radius: var(--spz-promien);
	padding: 0 0 16px !important; display: flex; flex-direction: column; text-align: left;
	transition: box-shadow .2s ease, transform .2s ease;
}
.spz ul.products li.product:hover { box-shadow: var(--spz-cien); transform: translateY(-2px); }
.spz ul.products li.product a img { aspect-ratio: 1; object-fit: cover; margin: 0 0 14px !important; border-radius: var(--spz-promien) var(--spz-promien) 0 0; }
.spz ul.products li.product .woocommerce-loop-product__title {
	font: 600 20px/1.2 var(--spz-szeryf) !important; color: var(--spz-braz); padding: 0 16px !important; margin: 0 0 4px;
}
.spz ul.products li.product .price { color: var(--spz-braz) !important; font: 600 17px var(--spz-bezszeryf); padding: 0 16px; margin: 6px 0 14px !important; }
.spz ul.products li.product .price del { color: #8A7A69; font-weight: 400; }
.spz ul.products li.product .button { margin: auto 16px 0 !important; text-align: center; text-transform: none; letter-spacing: 0; font-size: 14px; padding: 11px 12px; }
.spz ul.products li.product .added_to_cart { padding: 8px 16px 0; font-size: 14px; color: var(--spz-akcent); }
.spz-masa--karta { display: block; padding: 0 16px; font-size: 14px; color: #6B5A4A; }
.spz ul.products li.product .onsale { background: var(--spz-braz); color: var(--spz-krem); border-radius: 2px; min-height: 0; line-height: 1; padding: 6px 10px; top: 12px; left: 12px; right: auto; margin: 0; }
.spz ul.products li.product .star-rating { display: none; }

@media (max-width: 1024px) { .spz ul.products { --spz-kol: 3; } .spz ul.products.columns-3 { --spz-kol: 2; } }
@media (max-width: 767px) {
	.spz ul.products, .spz ul.products.columns-3 { --spz-kol: 2; gap: 14px; }
	.spz ul.products li.product .woocommerce-loop-product__title { font-size: 19px !important; padding: 0 12px !important; }
	.spz ul.products li.product .price, .spz-masa--karta { padding: 0 12px; }
	.spz ul.products li.product .button { margin: auto 12px 0 !important; padding: 11px 8px; font-size: 13px; }
}
@media (max-width: 359px) { .spz ul.products, .spz ul.products.columns-3 { --spz-kol: 1; } }

/* ================= KATALOG ================= */
.spz .woocommerce-result-count { color: #6B5A4A; font-size: 15px; margin: 10px 0 20px; }
.spz .woocommerce-ordering select { min-width: 220px; }
.spz-katalog { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 40px; clear: both; align-items: start; }
.spz-katalog__produkty { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; }
.spz-katalog__produkty > * { flex: 1 1 100%; order: 3; }
.spz-katalog__produkty > .woocommerce-notices-wrapper { order: 0; }
.spz .spz-katalog__produkty > .woocommerce-ordering { flex: 0 1 auto; order: 1; margin: 0 0 18px; float: none; display: flex; align-items: center; gap: 8px; }
.spz .spz-katalog__produkty > .woocommerce-ordering::before { content: "Sortuj:"; font-size: 14px; color: #6B5A4A; }
.spz .spz-katalog__produkty > .woocommerce-ordering select { min-width: 210px; padding: 8px 10px; font-size: 14px; }
.spz .spz-katalog__produkty > .woocommerce-result-count { flex: 0 1 auto; order: 2; margin: 0 0 18px auto; float: none; font-size: 14px; }
.spz-filtry { position: sticky; top: 140px; }
.spz-filtry__panel { background: var(--spz-jasny); border: 1px solid var(--spz-linia); border-radius: var(--spz-promien); padding: 20px; }
.spz-filtry__panel > summary {
	list-style: none; display: flex; align-items: center; gap: 8px; cursor: pointer;
	font: 600 14px var(--spz-bezszeryf); letter-spacing: 1.4px; text-transform: uppercase; color: var(--spz-braz); margin-bottom: 12px;
}
.spz-filtry__panel > summary::-webkit-details-marker { display: none; }
@media (min-width: 901px) { .spz-filtry__panel > summary { display: none; } }
.spz-filtr { border: 0; padding: 0; margin: 0 0 22px; }
.spz-filtr fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.spz-filtr__tytul { font: 600 21px/1.2 var(--spz-szeryf) !important; color: var(--spz-braz); margin: 0 0 10px; padding: 0; }
.spz-filtr__kategorie { list-style: none; margin: 0; padding: 0; }
.spz-filtr__kategorie a { display: block; padding: 6px 0; color: var(--spz-tekst); text-decoration: none; font-size: 15px; }
.spz-filtr__kategorie a { padding: 6px 10px; border-radius: 3px; }
.spz-filtr__kategorie a:hover, .spz-filtr__kategorie a[aria-current] { color: var(--spz-braz); background: #EDE5D5; font-weight: 600; }
.spz-filtr__liczba { color: #8A7A69; font-size: 13px; font-weight: 400; }
.spz-filtr__cena { display: flex; align-items: center; gap: 8px; }
.spz-filtr__cena input { width: 100%; }
.spz-filtr__opcja { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 15px; cursor: pointer; }
.spz-filtr__opcja input { width: 18px; height: 18px; accent-color: var(--spz-akcent); }
.spz-filtr__akcje { display: flex; flex-direction: column; gap: 10px; }
.spz-filtr__akcje .button { width: 100%; }
.spz-filtr__wyczysc { font-size: 14px; color: var(--spz-akcent); text-align: center; }
.spz-pusto { background: var(--spz-jasny); border: 1px dashed var(--spz-kraft); border-radius: var(--spz-promien); padding: 32px; text-align: center; }
.spz-pusto p { margin: 0 0 16px; font-size: 17px; }
.spz .woocommerce-pagination ul { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
.spz .woocommerce-pagination ul li { border: 0 !important; }
.spz .woocommerce-pagination ul li a, .spz .woocommerce-pagination ul li span { border: 1px solid var(--spz-linia); border-radius: 2px; min-width: 40px; padding: 10px !important; }
.spz .woocommerce-pagination ul li span.current { background: var(--spz-braz); color: var(--spz-krem); }

@media (max-width: 900px) {
	.spz-katalog { grid-template-columns: 1fr; gap: 20px; }
	.spz-filtry { position: static; }
	.spz-filtry__panel { padding: 0; }
	.spz-filtry__panel > summary { margin: 0; padding: 14px 16px; }
	.spz-filtry__panel[open] > summary { border-bottom: 1px solid var(--spz-linia); }
	.spz-filtry__panel > .spz-filtr { padding: 16px 16px 0; }
	.spz-filtry__panel > form.spz-filtr { padding-bottom: 16px; }
	.spz .woocommerce-ordering, .spz .woocommerce-result-count { float: none; }
	.spz .woocommerce-ordering select { width: 100%; }
}

/* ================= KARTA PRODUKTU ================= */
.spz div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.spz div.product > * { grid-column: 1 / -1; min-width: 0; }
.spz div.product div.images, .spz div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.spz div.product div.images { grid-column: 1; }
.spz div.product div.summary { grid-column: 2; }
.spz div.product div.images img { border-radius: var(--spz-promien); }
.spz div.product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 10px !important; }
.spz div.product .flex-control-thumbs li { width: auto !important; }
.spz div.product .product_title { font-size: clamp(30px, 3vw, 40px); font-weight: 500; line-height: 1.12; margin-bottom: 12px; }
.spz div.product form.cart .single_add_to_cart_button { text-transform: none; letter-spacing: 0; font-size: 16px; }
.spz div.product p.price, .spz div.product span.price { color: var(--spz-braz) !important; font: 600 26px var(--spz-bezszeryf) !important; }
.spz-masa { font-size: 16px; color: #6B5A4A; margin: 0 0 18px; }
.spz-dostepnosc { display: flex; align-items: center; gap: 8px; color: var(--spz-akcent); font-weight: 600; margin: 0 0 4px; }
.spz-dostepnosc::before { content: "\2713"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--spz-akcent); color: #fff; font-size: 12px; }
.spz .spz-ilosc { display: inline-flex; align-items: stretch; border: 1px solid #CBBDA5; border-radius: 3px; background: #fff; }
.spz .spz-ilosc button { width: 40px; background: none !important; border: 0 !important; color: var(--spz-braz) !important; font-size: 18px; padding: 0 !important; cursor: pointer; }
.spz .spz-ilosc button:hover { background: var(--spz-jasny) !important; }
.spz div.product form.cart .spz-ilosc input.qty, .spz .spz-ilosc input.qty { border: 0 !important; width: 46px !important; min-height: 46px; text-align: center; -moz-appearance: textfield; padding: 0 !important; }
.spz .spz-ilosc input.qty::-webkit-inner-spin-button, .spz .spz-ilosc input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.spz div.product .woocommerce-product-details__short-description { font-size: 17px; margin-bottom: 20px; }
.spz div.product .stock { font-weight: 600; color: var(--spz-akcent) !important; }
.spz div.product .stock.out-of-stock { color: #A23B2A !important; }
.spz div.product form.cart { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; margin: 20px 0 24px; }
.spz div.product form.cart .quantity input.qty { height: 100%; min-height: 48px; width: 76px; text-align: center; }
.spz div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 48px; }
.spz div.product .product_meta { font-size: 14px; color: #6B5A4A; border-top: 1px solid var(--spz-linia); padding-top: 16px; }
.spz div.product .product_meta a { color: var(--spz-akcent); }

.spz .woocommerce-tabs { margin-top: 24px; }
.spz .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 !important; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; border: 1px solid var(--spz-linia); border-radius: var(--spz-promien) var(--spz-promien) 0 0; background: #fff; }
.spz .woocommerce-tabs ul.tabs li + li { border-left: 1px solid var(--spz-linia) !important; }
.spz .woocommerce-tabs ul.tabs::before, .spz .woocommerce-tabs ul.tabs li::before, .spz .woocommerce-tabs ul.tabs li::after { display: none !important; }
.spz .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.spz .woocommerce-tabs ul.tabs li a { display: block; text-align: center; padding: 14px 12px !important; font: 400 15px var(--spz-bezszeryf); color: #6B5A4A !important; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.spz .woocommerce-tabs ul.tabs li.active a { color: var(--spz-braz) !important; font-weight: 600; border-bottom-color: var(--spz-akcent); }
.spz .woocommerce-tabs .panel { background: #fff; border: 1px solid var(--spz-linia); border-top: 0; border-radius: 0 0 var(--spz-promien) var(--spz-promien); padding: 24px 28px !important; margin: 0 !important; }
.spz .woocommerce-tabs .panel > * { max-width: 820px; }
.spz .woocommerce-tabs .panel h2 { font-size: 30px; }
.spz-tabela-wartosci { width: 100%; max-width: 520px; border-collapse: collapse; background: var(--spz-jasny); }
.spz-tabela-wartosci th, .spz-tabela-wartosci td { padding: 9px 12px; border-bottom: 1px solid var(--spz-linia); text-align: left; font-size: 15px; }
.spz-tabela-wartosci thead th { background: var(--spz-braz); color: var(--spz-krem); font-weight: 600; }
.spz-tabela-wartosci td, .spz-tabela-wartosci thead th:last-child { text-align: right; white-space: nowrap; }
.spz-drobny { font-size: 14px; color: #6B5A4A; }
.spz .related > h2, .spz .upsells > h2 { font-size: 34px; text-align: center; margin: 48px 0 24px; }

@media (max-width: 767px) {
	.spz div.product { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.spz div.product div.images, .spz div.product div.summary { grid-column: 1; }
	.spz .woocommerce-tabs ul.tabs { grid-auto-columns: max-content; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.spz .woocommerce-tabs .panel { padding: 20px 16px !important; }
	.spz .woocommerce-tabs ul.tabs li a { white-space: nowrap; }
}

/* ================= KOSZYK I ZAMÓWIENIE (klasyczne i bloki) ================= */
.spz .woocommerce-cart-form table.shop_table, .spz table.shop_table {
	border: 1px solid var(--spz-linia); border-radius: var(--spz-promien); background: var(--spz-jasny); border-collapse: separate;
}
.spz table.shop_table th { font: 600 13px var(--spz-bezszeryf); letter-spacing: 1.2px; text-transform: uppercase; color: var(--spz-braz); }
.spz table.shop_table td { border-top-color: var(--spz-linia); }
.spz table.shop_table img { width: 72px; border-radius: 3px; }
.spz .cart_totals h2, .spz #order_review_heading, .spz .woocommerce-billing-fields h3, .spz .woocommerce-shipping-fields h3 { font-size: 30px; }
.spz .wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 15px !important; padding: 18px !important; }
.spz a.remove { color: #A23B2A !important; }
.spz a.remove:hover { background: #A23B2A !important; color: #fff !important; }
.spz .cart-empty, .spz .wc-empty-cart-message { font: 600 26px var(--spz-szeryf); text-align: center; }
.spz .return-to-shop { text-align: center; }

.spz .wp-block-woocommerce-cart, .spz .wp-block-woocommerce-checkout { font-family: var(--spz-bezszeryf); }
.spz .page-content .alignwide, .spz .page-content .wc-block-components-sidebar-layout { margin-left: 0 !important; margin-right: 0 !important; max-width: 100%; width: 100%; }
.spz .page-header .entry-title { max-width: 1240px; margin-inline: auto; }
.spz .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.spz .wc-block-cart__sidebar, .spz .wc-block-checkout__sidebar {
	background: var(--spz-jasny);
}
.spz .wc-block-components-sidebar { border: 1px solid var(--spz-linia); border-radius: var(--spz-promien); padding: 8px 20px 20px; }
.spz .wc-block-components-title, .spz .wc-block-cart__totals-title, .spz .wc-block-components-checkout-step__title {
	font-family: var(--spz-szeryf) !important; font-weight: 600 !important; color: var(--spz-braz);
}
.spz .wc-block-components-checkout-step__title { font-size: 26px !important; }
.spz .wc-block-components-text-input input, .spz .wc-block-components-combobox .components-combobox-control input,
.spz .wc-block-components-textarea, .spz .wc-blocks-components-select__select {
	border-color: #CBBDA5 !important; border-radius: 3px !important; background: #fff !important;
}
.spz .wc-block-components-text-input.is-active input:focus, .spz .wc-block-components-text-input input:focus { border-color: var(--spz-akcent) !important; box-shadow: 0 0 0 1px var(--spz-akcent) !important; }
.spz .wc-block-components-radio-control__option--checked-option-highlighted,
.spz .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--spz-akcent) !important; }
.spz .wc-block-components-product-name { font: 600 20px var(--spz-szeryf) !important; color: var(--spz-braz) !important; text-decoration: none; }
.spz .wc-block-cart__submit-button, .spz .wc-block-components-checkout-place-order-button { width: 100%; min-height: 54px; }
.spz .wc-block-components-validation-error p { color: #A23B2A; }
.spz .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--spz-akcent); border-color: var(--spz-akcent); }

/* Konto klienta */
.spz .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--spz-linia); border-radius: var(--spz-promien); background: var(--spz-jasny); }
.spz .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--spz-linia); color: var(--spz-tekst); text-decoration: none; }
.spz .woocommerce-MyAccount-navigation li.is-active a { color: var(--spz-braz); font-weight: 600; border-left: 3px solid var(--spz-akcent); }
.spz .woocommerce form.login, .spz .woocommerce form.register { border: 1px solid var(--spz-linia) !important; border-radius: var(--spz-promien) !important; background: var(--spz-jasny); padding: 24px !important; }

/* ================= FORMULARZ DLA FIRM ================= */
.spz-formularz__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; }
.spz-formularz__pole { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.spz-formularz__pole--szerokie { grid-column: 1 / -1; }
.spz-formularz__pole label { font-weight: 600; font-size: 15px; color: var(--spz-braz); }
.spz-formularz__pole input, .spz-formularz__pole textarea { width: 100%; }
.spz-wymagane { color: #A23B2A; }
.spz-formularz__blad { color: #A23B2A; font-size: 14px; }
.spz-formularz__bledy { border: 1px solid #A23B2A; border-left-width: 4px; background: #FBEDEA; padding: 12px 16px; margin-bottom: 16px; }
.spz-formularz__bledy p { margin: 0 0 6px; font-weight: 600; }
.spz-formularz__bledy a { color: #7A2A1C; }
.spz-formularz__sukces { border: 1px solid var(--spz-akcent); border-left-width: 4px; background: #F0F1E6; padding: 16px; font-weight: 600; }
.spz-formularz__info { font-size: 14px; color: #6B5A4A; }
.spz-formularz__pulapka { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .spz-formularz__siatka { grid-template-columns: 1fr; } }

/* Bezpieczeństwo przed przewijaniem poziomym */
.spz img { max-width: 100%; height: auto; }
