/* === SKLEP: lista produktów, pojedynczy produkt, koszyk, kasa === */

.pasek-sklepu {
	background: var(--tlo);
	border-bottom: 1px solid var(--linia);
	padding: 34px 0;
}
.pasek-sklepu h1 { margin-bottom: 6px; }
.pasek-sklepu .sciezka { font-size: 0.85rem; color: var(--tekst-2); }
.pasek-sklepu .sciezka a { color: var(--petrol); }

.woocommerce .produkty,
ul.produkty {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0 !important;
}
ul.produkty li.produkt {
	background: var(--biel);
	border: 1px solid var(--linia);
	border-radius: var(--promien);
	overflow: hidden;
	box-shadow: var(--cien);
	display: flex;
	flex-direction: column;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	transition: transform 0.18s, box-shadow 0.18s;
}
ul.produkty li.produkt:hover { transform: translateY(-4px); box-shadow: var(--cien-mocny); }
ul.produkty .obraz-produktu { background: var(--tlo); aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 1px solid var(--linia); }
ul.produkty .obraz-produktu img { width: 100%; height: 100%; object-fit: cover; }
ul.produkty .obraz-produktu .znacznik { width: 100%; height: 100%; display: grid; place-items: center; }
ul.produkty .obraz-produktu .znacznik svg { width: 64px; height: 64px; }
ul.produkty .tresc-produktu { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
ul.produkty .kategoria { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--akcent); font-weight: 700; }
ul.produkty h2.woocommerce-loop-product__title { font-size: 1.02rem !important; padding: 0 !important; }
ul.produkty h2.woocommerce-loop-product__title a { color: inherit; }
ul.produkty .opis-krotki { font-size: 0.88rem; color: var(--tekst-2); }

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--petrol) !important;
	font-weight: 800 !important;
	font-size: 1.1rem;
}
.woocommerce ul.products li.product .price small,
.woocommerce div.product p.price small { font-weight: 500; color: var(--tekst-2); font-size: 0.78rem; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--petrol) !important;
	color: var(--biel) !important;
	border-radius: var(--promien) !important;
	font-weight: 700 !important;
	padding: 11px 20px !important;
	transition: background 0.2s !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--akcent) !important;
	color: var(--biel) !important;
}
.woocommerce ul.products li.product .button { margin-top: auto; text-align: center; }

/* Pojedynczy produkt */
.woocommerce div.product { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 44px; margin-top: 40px !important; }
.woocommerce div.product .woocommerce-product-gallery { background: var(--tlo); border: 1px solid var(--linia); border-radius: var(--promien); overflow: hidden; align-self: start; }
.woocommerce div.product .summary > * { margin-bottom: 14px; }
.woocommerce div.product .summary .product_title { font-size: 1.8rem; }
.woocommerce div.product form.cart { margin-top: 20px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.woocommerce div.product form.cart .qty { padding: 10px; border: 1px solid var(--linia); border-radius: 8px; width: 76px; }
.woocommerce div.product .product_meta { border-top: 1px solid var(--linia); padding-top: 14px; font-size: 0.88rem; color: var(--tekst-2); }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 8px; padding: 0; border-bottom: 2px solid var(--linia); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--petrol); border-color: var(--petrol); }
.woocommerce div.product .woocommerce-tabs ul.tabs a {
	display: block; padding: 12px 18px; font-weight: 700;
	border-bottom: 2px solid transparent; margin-bottom: -2px; color: var(--tekst-2);
}
.woocommerce-Tabs-panel { padding: 24px 0; color: var(--tekst-2); max-width: 820px; }
.woocommerce-Tabs-panel h2 { font-size: 1.2rem; margin-bottom: 12px; }

/* Komunikaty, koszyk, kasa */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top-color: var(--akcent) !important;
	border-radius: var(--promien);
	box-shadow: var(--cien);
	background: var(--biel);
	list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--akcent) !important; }
.woocommerce-error::before { color: #c0392b !important; }

.woocommerce table.shop_table { border: 1px solid var(--linia) !important; border-radius: var(--promien); border-collapse: separate !important; border-spacing: 0; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--tlo); }
.woocommerce-checkout #payment { background: var(--tlo); border-radius: var(--promien); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	border: 1px solid var(--linia) !important;
	border-radius: 8px !important;
	padding: 10px 12px !important;
	height: auto !important;
}
.woocommerce .quantity .qty { border: 1px solid var(--linia); border-radius: 8px; padding: 8px; }

.woocommerce-notices-wrapper .woocommerce-message a { font-weight: 700; }

.pola-firmy { border: 1px solid var(--linia); border-radius: var(--promien); padding: 18px; margin: 16px 0; background: var(--akcent-jasny); }
.pola-firmy h3 { font-size: 1rem; margin-bottom: 10px; }

.woocommerce-result-count { color: var(--tekst-2); }
.woocommerce-pagination ul { border: 0 !important; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span {
	border: 1px solid var(--linia) !important; border-radius: 8px !important; margin: 0 3px;
}
.woocommerce-pagination ul li span.current { background: var(--petrol) !important; color: var(--biel) !important; }

@media (max-width: 900px) {
	ul.produkty { grid-template-columns: repeat(2, 1fr) !important; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 540px) {
	ul.produkty { grid-template-columns: 1fr !important; }
}
