/*
 * WooCommerce w tokenach motywu: lista produktów, karta produktu, komunikaty, przyciski, formularze,
 * bloki koszyka i zamówienia oraz Moje konto. Nadpisuje kolory i kształty z domyślnych stylów WooCommerce.
 */

.shop__inner { padding: 32px 0 16px; }

/* Okruszki */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 20px; font-size: 14px; color: var(--c-muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--c-muted); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--c-accent); }
.breadcrumb__sep { margin: 0 6px; }

/* Nagłówek listy produktów i kategorie jako pigułki */
.woocommerce-products-header { display: flex; flex-direction: column; gap: 8px; max-width: 46rem; padding-bottom: 8px; }
.woocommerce-products-header__title.page-title { margin: 0; font-size: 34px; line-height: 1.08; }
.woocommerce-products-header .term-description,
.woocommerce-products-header .page-description { font-size: 17px; color: var(--c-muted); }
.woocommerce-products-header .term-description p { margin: 0; }
@media (min-width: 640px) {
	.woocommerce-products-header__title.page-title { font-size: 46px; }
}
.chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 24px; }
.chip {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 16px;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	background: var(--c-card);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}
.chip:hover { border-color: var(--c-accent); }
.chip.is-active { background: var(--c-ink); border-color: var(--c-ink); color: #FFFFFF; }

.woocommerce .woocommerce-result-count { margin: 0 0 24px; color: var(--c-muted); font-size: 15px; line-height: 44px; }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select {
	height: 44px;
	padding: 0 36px 0 16px;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	background-color: var(--c-card);
}

/* Lista produktów: siatka zamiast pływających kolumn WooCommerce */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 16px;
	margin: 0 0 32px;
	padding: 0;
	clear: both;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 8px; text-decoration: none; }
.woocommerce ul.products li.product a img {
	margin: 0;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--radius-lg);
	background: var(--c-line);
	transition: transform .5s ease;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	font-family: var(--font-sans);
	font-weight: 600 !important;
	font-size: 17px;
	line-height: 1.3;
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--c-accent); }
.woocommerce ul.products li.product .price { margin: 0; color: var(--c-ink); font-size: 15px; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
@media (min-width: 640px) {
	.woocommerce ul.products, .woocommerce-page ul.products { gap: 32px 24px; }
}
@media (min-width: 768px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--c-sun); color: var(--c-ink); line-height: 1.6; font-weight: 600; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--c-accent); }

/* Ceny */
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--c-ink); font-size: 22px; }
.woocommerce .price del { color: var(--c-muted); opacity: 1; }
.woocommerce .price ins { text-decoration: none; font-weight: 600; }

/* Przyciski WooCommerce i bloków w kolorze akcentu (przedrostek html: działa też, gdy klasę .woocommerce ma sam body) */
html .woocommerce a.button, html .woocommerce button.button, html .woocommerce input.button,
html .woocommerce a.button.alt, html .woocommerce button.button.alt, html .woocommerce input.button.alt,
html .woocommerce #respond input#submit,
html .wc-block-components-button:not(.is-link),
html .wp-element-button, html .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 24px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--c-accent);
	color: #FFFFFF;
	font-family: var(--font-sans);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
}
html .woocommerce a.button:hover, html .woocommerce button.button:hover, html .woocommerce input.button:hover,
html .woocommerce a.button.alt:hover, html .woocommerce button.button.alt:hover,
html .woocommerce #respond input#submit:hover,
html .wc-block-components-button:not(.is-link):hover,
html .wp-element-button:hover, html .wp-block-button__link:hover { background: var(--c-accent-dark); color: #FFFFFF; }
html .woocommerce a.button.disabled, html .woocommerce button.button:disabled,
html .woocommerce button.button.disabled, html .woocommerce button.button.alt:disabled { background: var(--c-accent); opacity: .5; }

/* Komunikaty */
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message, .woocommerce-page .woocommerce-info, .woocommerce-page .woocommerce-error {
	border-top: 0;
	border-left: 4px solid var(--c-accent);
	border-radius: var(--radius);
	background: var(--c-card);
	color: var(--c-ink);
}
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--c-accent); }
.woocommerce .woocommerce-error { border-left-color: var(--c-alert); background: var(--c-alert-soft); }
.woocommerce .woocommerce-error::before { color: var(--c-alert); }
.wc-block-components-notice-banner { border-radius: var(--radius); }

/* Formularze (klasyczne szablony WooCommerce) */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-page form .form-row .input-text,
.woocommerce .quantity .qty {
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: var(--c-card);
	color: var(--c-ink);
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus { border-color: var(--c-accent); outline: none; }
.woocommerce form .form-row label { font-weight: 600; font-size: 15px; }
.woocommerce form .form-row .required { color: var(--c-alert); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon {
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	background: var(--c-card);
}

/* Karta produktu (moduł wynajmu dojdzie w akcji wypozyczalnia_product_rental) */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product .product_title { font-size: 34px; line-height: 1.1; margin: 0 0 12px; }
.woocommerce div.product div.images img { border-radius: var(--radius-lg); background: var(--c-card); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--radius-sm); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--c-muted); font-size: 17px; }
.woocommerce div.product form.cart { margin: 24px 0; }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--c-muted); }
.woocommerce div.product .product_meta a { color: var(--c-ink); }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	background: var(--c-card);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 8px 18px; font-weight: 600; color: var(--c-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--c-ink); border-color: var(--c-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #FFFFFF; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 46rem; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 26px; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: 32px; margin: 32px 0 24px; }
@media (min-width: 640px) {
	.woocommerce div.product .product_title { font-size: 46px; }
}

/* Koszyk i zamówienie (bloki WooCommerce) */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--font-sans); }
.wc-block-cart__empty-cart__title { font-size: 30px; }
.wp-block-woocommerce-empty-cart-block h2 { font-size: 30px; }
.wp-block-separator.is-style-dots::before { color: var(--c-sun); }
.wc-block-components-sidebar-layout .wc-block-components-main { min-width: 0; }
.wc-block-components-totals-wrapper, .wc-block-cart-items { border-color: var(--c-line) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea { border-radius: var(--radius) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--c-accent); border-color: var(--c-accent); }
.wc-block-components-radio-control__input:checked { border-color: var(--c-accent); }
.wc-block-components-radio-control__input:checked::before { background: var(--c-accent); }
.wc-block-grid__product-title { font-weight: 600; }
.wc-block-grid__product-image img { border-radius: var(--radius-lg); }

/* Klasyczny koszyk (gdyby strona używała krótkiego kodu) */
.woocommerce table.shop_table { border-color: var(--c-line); border-radius: var(--radius-lg); background: var(--c-card); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--c-line); }

/* Moje konto */
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; margin: 0 0 24px; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 16px;
	border-radius: var(--radius);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation a:hover { background: var(--c-card); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--c-ink); color: #FFFFFF; }
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content a { color: var(--c-accent); }
.woocommerce-account .addresses .title h2, .woocommerce-account .addresses .title h3 { font-size: 24px; }

/* Komunikat sklepu (Wygląd > Dostosuj > WooCommerce) */
.woocommerce-store-notice, p.demo_store { background: var(--c-ink); color: #FFFFFF; font-family: var(--font-sans); }
