/* EXTRASTAL — WooCommerce (ładowane tylko na stronach sklepu). */

.woocommerce .woocommerce-breadcrumb { display: none; }
.woo-wrap { position: relative; }

/* Lista produktów */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (max-width: 999px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .woocommerce ul.products { grid-template-columns: 1fr; } }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; padding: 0 0 var(--s-5); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; background: #fff; transition: box-shadow .25s var(--ease), transform .25s var(--ease); }
.woocommerce ul.products li.product:hover { box-shadow: var(--sh); transform: translateY(-3px); }
.woocommerce ul.products li.product a img { margin: 0 0 var(--s-4); aspect-ratio: 4 / 3; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 var(--s-5); font-family: var(--f-body); font-size: 1.1875rem; font-weight: 700; color: var(--c-ink); text-transform: none; }
.woocommerce ul.products li.product .price { display: block; padding: 0 var(--s-5); margin: 6px 0 var(--s-4); color: var(--c-accent); font-family: var(--f-head); font-size: 1.625rem; font-weight: 800; }
.woocommerce ul.products li.product .btn { margin: auto var(--s-5) 0; }
.woocommerce ul.products li.product .onsale { top: 12px; left: 12px; right: auto; margin: 0; min-height: 0; min-width: 0; padding: 5px 10px; border-radius: 999px; background: var(--c-accent); line-height: 1.2; font-size: .75rem; }
.woocommerce .woocommerce-result-count { color: var(--c-muted); font-size: .9375rem; }
.woocommerce .woocommerce-ordering select { min-height: 44px; padding: 8px 12px; border: 1.5px solid var(--c-line-2); border-radius: var(--r); background: #fff; }
.price-from { font-family: var(--f-body); font-size: .8125rem; font-weight: 600; color: var(--c-muted); text-transform: uppercase; letter-spacing: .06em; }

/* Karta produktu */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); }
.woocommerce div.product::before, .woocommerce div.product::after { display: none; }
@media (max-width: 899px) { .woocommerce div.product { grid-template-columns: 1fr; } }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images img { border-radius: var(--r-lg); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: var(--r-sm); opacity: .7; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active, .woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce div.product .product_title { font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem); text-transform: uppercase; margin-bottom: var(--s-3); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--f-head); font-size: clamp(2rem, 1.7rem + 1vw, 2.5rem); font-weight: 800; color: var(--c-accent); margin-bottom: var(--s-4); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.0625rem; color: var(--c-text); margin-bottom: var(--s-5); }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding: 0; list-style: none; display: grid; gap: 8px; }
.woocommerce div.product .woocommerce-product-details__short-description li { position: relative; padding-left: 28px; }
.woocommerce div.product .woocommerce-product-details__short-description li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--c-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--s-4); }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 84px; min-height: 60px; border: 1.5px solid var(--c-line-2); border-radius: var(--r); text-align: center; font-weight: 700; }
.woocommerce div.product form.cart .button { flex: 1; }
.woocommerce div.product .product_meta { margin-top: var(--s-5); padding-top: var(--s-4); border-top: 1px solid var(--c-line); font-size: .875rem; color: var(--c-muted); display: grid; gap: 4px; }
.woocommerce div.product .product_meta a { color: var(--c-ink); }
.product-quote { display: grid; gap: 12px; margin-bottom: var(--s-5); }
.product-quote__phone { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: var(--c-text); text-decoration: none; font-size: .9375rem; }
.product-quote__phone .icon { width: 18px; height: 18px; color: var(--c-accent); }
.product-quote__phone strong { color: var(--c-ink); }
.product-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: var(--s-4); list-style: none; border-radius: var(--r-lg); background: var(--c-soft); }
.product-trust li { display: flex; align-items: center; gap: 10px; font-size: .875rem; font-weight: 600; color: var(--c-ink); }
.product-trust .icon { width: 22px; height: 22px; color: var(--c-brand); }
@media (max-width: 479px) { .product-trust { grid-template-columns: 1fr; } }

/* Zakładki */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: var(--s-6); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 6px; padding: 0; margin: 0 0 var(--s-5); border-bottom: 1px solid var(--c-line); overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after, .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: 0; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px; font-weight: 700; color: var(--c-muted); border-bottom: 3px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-ink); border-color: var(--c-accent); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 860px; font-size: 1.0625rem; line-height: 1.75; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce table.shop_attributes { border: 1px solid var(--c-line); border-radius: var(--r); overflow: hidden; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 14px 18px; border-bottom: 1px solid var(--c-line); font-style: normal; text-align: left; }
.woocommerce table.shop_attributes th { width: 34%; background: var(--c-soft); color: var(--c-muted); font-weight: 600; }
.woocommerce table.shop_attributes td p { margin: 0; color: var(--c-ink); font-weight: 600; }
.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th { background: transparent; }
.woocommerce div.product .related { grid-column: 1 / -1; margin-top: var(--s-7); }
.woocommerce div.product .related > h2 { font-size: clamp(1.75rem, 1.5rem + 1vw, 2.5rem); margin-bottom: var(--s-5); }

/* Przyciski WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 26px; border: 2px solid var(--c-accent); border-radius: var(--r); background: var(--c-accent); color: #fff; font-family: var(--f-body); font-size: 1rem; font-weight: 700; line-height: 1.2; transition: background .2s, border-color .2s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--c-accent-600); border-color: var(--c-accent-600); color: #fff; }
.woocommerce div.product form.cart .button { min-height: 60px; font-size: 1.0625rem; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; }

/* Komunikaty */
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 var(--s-5); padding: 16px 20px 16px 52px; border: 1px solid var(--c-line); border-top: 0; border-left: 4px solid var(--c-brand); border-radius: var(--r); background: var(--c-soft); color: var(--c-ink); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-brand); top: 16px; }
.woocommerce-error { border-left-color: var(--c-error); }
.woocommerce-message .button { float: right; min-height: 40px !important; padding: 8px 16px !important; }

/* Koszyk i kasa */
.woocommerce table.shop_table { border: 1px solid var(--c-line); border-radius: var(--r-lg); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px 18px; border-color: var(--c-line); }
.woocommerce table.shop_table th { background: var(--c-soft); color: var(--c-ink); }
.woocommerce table.cart img { width: 88px; border-radius: var(--r-sm); }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 1.75rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text, .select2-container--default .select2-selection--single { min-height: 52px; padding: 13px 16px; border: 1.5px solid var(--c-line-2); border-radius: var(--r); background: #fff; font-size: 1rem; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 10px; }
.woocommerce form .form-row label { font-size: .875rem; font-weight: 600; color: var(--c-ink); }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: none; border-color: var(--c-brand); box-shadow: 0 0 0 4px rgba(12, 119, 189, .15); }
.woocommerce-checkout #payment { border-radius: var(--r-lg); background: var(--c-soft); }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: var(--r); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { border-radius: var(--r-lg); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--r); color: var(--c-ink); text-decoration: none; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--c-brand-50); color: var(--c-brand-600); }

/* Paginacja sklepu */
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 46px; height: 46px; padding: 0 12px; display: grid; place-items: center; border: 1px solid var(--c-line); border-radius: var(--r); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }

/* Bloki koszyka/kasy WooCommerce */
.wc-block-components-button:not(.is-link) { border-radius: var(--r) !important; min-height: 52px; font-weight: 700; }
.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart { font-size: 1rem; }

/* Responsywność karty produktu i sklepu */
.woocommerce div.product > *, .woocommerce ul.products li.product { min-width: 0; }
@media (max-width: 899px) { .woocommerce div.product { grid-template-columns: minmax(0, 1fr); } }
.woocommerce div.product div.images, .woocommerce div.product .flex-viewport { max-width: 100%; overflow: hidden; }
@media (max-width: 599px) {
	.woocommerce div.product .product_title { font-size: 1.9rem; overflow-wrap: anywhere; }
	.woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 12px; font-size: .9375rem; }
	.woocommerce table.shop_attributes th { width: 42%; }
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { padding: 12px 14px; }
	.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; width: 100%; margin-bottom: 12px; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
}
