/* =========================================================================
   Salveo — WOOCOMMERCE
   Sklep, karta produktu, koszyk, checkout, moje konto, mini-cart, stany.
   Ładowane wyłącznie na stronach sklepu (patrz inc/enqueue.php).
   ========================================================================= */

/* ------------------------------ Wrapper -------------------------------- */
.woo-main { padding-block: var(--space-6) var(--space-8); }
.woo-container { width: 100%; }

/* ============================ ARCHIWUM =================================== */
.shop-breadcrumbs { margin-bottom: 1rem; }
.shop-header { margin-bottom: var(--space-5); }
.shop-header__title { margin-bottom: .5rem; }
.shop-header .term-description { color: var(--c-muted); max-width: 75ch; }

.shop-layout { display: grid; gap: 2rem; }
.shop-layout.has-sidebar { grid-template-columns: 260px 1fr; }
.shop-layout.no-sidebar { grid-template-columns: 1fr; }

/* Toolbar: liczba wyników + sortowanie + aktywne filtry */
.shop-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
	background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: .75rem 1rem; margin-bottom: 1.25rem;
}
.shop-toolbar__left { display: flex; align-items: center; gap: 1rem; }
.shop-toolbar .woocommerce-result-count { margin: 0; color: var(--c-muted); font-size: .9rem; }
.shop-toolbar__filters { display: none; }
.woocommerce-ordering select, .shop-toolbar select {
	border: 1px solid var(--c-line); border-radius: var(--radius-sm); padding: .55rem 2rem .55rem .8rem; background: #fff; font-size: .9rem; cursor: pointer;
}

/* Aktywne filtry */
.salveo-active-filters, .widget_layered_nav_filters ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: 0; }
.widget_layered_nav_filters ul li a { display: inline-flex; align-items: center; gap: .35rem; background: var(--c-primary-light); color: var(--c-primary-dark); padding: .3rem .7rem; border-radius: var(--radius-pill); font-size: .82rem; font-weight: 600; }

/* Sidebar filtrów */
.shop-sidebar { align-self: start; }
.shop-sidebar__head { display: none; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.shop-sidebar .widget { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.1rem; margin-bottom: 1rem; }
.shop-sidebar .widget-title { font-size: 1rem; margin-bottom: .75rem; }
.shop-sidebar ul { list-style: none; margin: 0; padding: 0; }
.shop-sidebar ul li { padding: .3rem 0; }

/* --------------------------- SIATKA PRODUKTÓW -------------------------- */
ul.products {
	list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem;
	grid-template-columns: repeat(var(--shop-cols, 3), 1fr);
}
.columns-2 ul.products { --shop-cols: 2; }
.columns-3 ul.products { --shop-cols: 3; }
.columns-4 ul.products { --shop-cols: 4; }

/* Karta produktu */
li.product-card, ul.products li.product {
	position: relative; display: flex; flex-direction: column; background: #fff;
	border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden;
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
li.product-card:hover, ul.products li.product:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: transparent; }

.product-card__media { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--c-canvas); }
.product-card__media-link { display: block; height: 100%; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
li.product-card:hover .product-card__media img { transform: scale(1.05); }

.product-card__body { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.1rem 1.1rem; flex: 1; }
.product-card__cat { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--c-accent); font-weight: 700; }
.product-card__title { font-size: 1.02rem; margin: 0; line-height: 1.35; }
.product-card__title a { color: var(--c-ink); }
.product-card__title a:hover { color: var(--c-primary); }
.product-card__excerpt { font-size: .84rem; color: var(--c-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Cena */
.woocommerce-loop-product__title { }
.product-card .price, ul.products .price {
	color: var(--c-primary-dark); font-weight: 700; font-size: 1.15rem; margin: .15rem 0 0; display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap;
}
.price del { color: var(--c-muted); font-weight: 500; font-size: .9rem; opacity: .8; }
.price ins { text-decoration: none; color: var(--c-sale); }

/* Rating */
.star-rating { position: relative; font-size: .9rem; width: 5.4em; height: 1.2em; overflow: hidden; font-family: star; line-height: 1; color: #f2b01e; margin: .1rem 0; }
.star-rating::before { content: "\53\53\53\53\53"; color: var(--c-line); position: absolute; left: 0; top: 0; letter-spacing: .1em; }
.star-rating span { overflow: hidden; float: left; position: absolute; left: 0; top: 0; padding-top: 1.5em; }
.star-rating span::before { content: "\53\53\53\53\53"; position: absolute; left: 0; top: 0; letter-spacing: .1em; }

/* Footer karty + CTA */
.product-card__footer { margin-top: auto; padding-top: .75rem; }
.product-card__footer .button, ul.products .add_to_cart_button, ul.products .button {
	width: 100%; background: var(--c-primary-light); color: var(--c-primary-dark); border-color: transparent; font-size: .88rem; padding: .7rem 1rem;
}
.product-card__footer .button:hover, ul.products .add_to_cart_button:hover { background: var(--c-primary); color: #fff; }
.product-card__footer .added_to_cart { display: block; text-align: center; margin-top: .4rem; font-size: .82rem; font-weight: 600; }

/* Karta niedostępna — wyszarzona */
ul.products li.product.outofstock .product-card__media img { filter: grayscale(.4); opacity: .85; }

/* Placeholder brak produktów */
.woocommerce-info, .woocommerce-no-products-found { }

/* ============================ KARTA PRODUKTU =========================== */
.single-product div.product {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(1.5rem, 4vw, 3rem);
	position: relative;
}
.single-product .woocommerce-product-gallery { position: relative; grid-column: 1; }
.single-product .summary { grid-column: 2; align-self: start; }
.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells,
.single-product .up-sells { grid-column: 1 / -1; }

/* Badge na single */
.single-product__badges { position: absolute; top: 12px; left: 12px; z-index: 4; }
.single-product__badges .product-badges { position: static; }

/* Galeria */
.woocommerce-product-gallery { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); padding: 1rem; }
.woocommerce-product-gallery__image img { border-radius: var(--radius); }
.woocommerce-product-gallery .flex-viewport { border-radius: var(--radius); }
.flex-control-thumbs { list-style: none; display: flex; gap: .6rem; margin: .75rem 0 0; padding: 0; flex-wrap: wrap; }
.flex-control-thumbs li { width: 72px; }
.flex-control-thumbs img { border-radius: var(--radius-sm); border: 2px solid transparent; cursor: pointer; opacity: .7; transition: var(--transition); }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; border-color: var(--c-primary); }
.woocommerce-product-gallery__trigger { position: absolute; top: 1.25rem; right: 1.25rem; z-index: 5; background: #fff; border-radius: 50%; width: 40px; height: 40px; display: grid; place-items: center; box-shadow: var(--shadow-sm); text-indent: 0; }

/* Summary */
.single-product .product_title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .5rem; }
.single-product .woocommerce-product-rating { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.single-product .woocommerce-product-rating__count, .single-product .woocommerce-review-link { color: var(--c-muted); font-size: .85rem; }

.single-product .summary .price { font-size: 1.8rem; font-weight: 700; color: var(--c-primary-dark); margin: 0 0 .5rem; display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.single-product .summary .price del { font-size: 1.1rem; }
.single-product .summary .price ins { color: var(--c-sale); }

/* Dostępność (hook) */
.single-product__availability { display: inline-flex; align-items: center; gap: .45rem; font-size: .88rem; font-weight: 600; padding: .35rem .7rem; border-radius: var(--radius-pill); margin: 0 0 1rem; }
.single-product__availability.is-instock { background: var(--c-success-bg); color: #14683a; }
.single-product__availability.is-outofstock { background: var(--c-danger-bg); color: #9c2b2b; }

.single-product .woocommerce-product-details__short-description { color: var(--c-muted); margin-bottom: 1.5rem; }
.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Warianty */
.single-product table.variations { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.single-product table.variations th { text-align: left; padding: .5rem 1rem .5rem 0; font-weight: 600; vertical-align: middle; }
.single-product table.variations td { padding: .35rem 0; }
.single-product table.variations select { width: 100%; border: 1.5px solid var(--c-line); border-radius: var(--radius-sm); padding: .7rem .9rem; background: #fff; }
.single-product .reset_variations { font-size: .82rem; color: var(--c-muted); }
.single-product .woocommerce-variation-price .price { font-size: 1.4rem; margin: .5rem 0; }

/* Form add to cart + quantity */
.single-product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem; margin: 1.25rem 0; }
.single-product form.cart.variations_form { display: block; }
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }

.quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--c-line); border-radius: var(--radius-sm); overflow: hidden; background: #fff; }
.quantity .qty { width: 64px; text-align: center; border: 0; padding: .85rem .4rem; font-size: 1rem; font-weight: 600; -moz-appearance: textfield; }
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.single_add_to_cart_button {
	flex: 1; min-width: 200px; font-size: 1.02rem; padding: .95rem 1.5rem; background: var(--c-primary);
}
.single_add_to_cart_button:hover { background: var(--c-primary-dark); }
.buy-now-button { flex: 1; min-width: 160px; }

/* Meta produktu */
.single-product .product_meta { font-size: .85rem; color: var(--c-muted); border-top: 1px solid var(--c-line); padding-top: 1rem; margin-top: 1rem; }
.single-product .product_meta > span { display: block; margin-bottom: .35rem; }
.single-product .product_meta a { color: var(--c-primary); }

/* Trust obok CTA */
.single-product__trust { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--c-line); }

/* Zakładki */
.woocommerce-tabs { margin-top: var(--space-8); }
.wc-tabs { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 -1px; padding: 0; border-bottom: 1px solid var(--c-line); }
.wc-tabs li { margin: 0; }
.wc-tabs li a { display: block; padding: .85rem 1.25rem; font-weight: 600; color: var(--c-muted); border: 1px solid transparent; border-bottom: 0; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.wc-tabs li.active a { color: var(--c-primary-dark); background: #fff; border-color: var(--c-line); }
.woocommerce-Tabs-panel { background: #fff; border: 1px solid var(--c-line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); padding: clamp(1.25rem, 3vw, 2rem); }
.woocommerce-Tabs-panel h2 { margin-top: 0; }
.product-info-list { padding-left: 1.1rem; }
.product-info-list li { margin-bottom: .5rem; }
.product-info-note { color: var(--c-muted); font-size: .88rem; }

/* Additional info table */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { text-align: left; padding: .75rem 1rem; border-bottom: 1px solid var(--c-line); }
.woocommerce-product-attributes th { background: var(--c-canvas); width: 30%; }

/* Related / upsells */
.related > h2, .upsells > h2, .up-sells > h2, .cross-sells > h2 { margin-bottom: 1.25rem; }
.related ul.products, .upsells ul.products, .up-sells ul.products { --shop-cols: 4; }

/* Reviews */
.woocommerce-Reviews .commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.woocommerce-Reviews .comment_container { display: flex; gap: 1rem; background: var(--c-canvas); border-radius: var(--radius); padding: 1.1rem; }
.woocommerce-Reviews .avatar { border-radius: 50%; width: 48px; height: 48px; }
#review_form .comment-form-rating { margin-bottom: 1rem; }
#review_form textarea, #review_form input[type="text"], #review_form input[type="email"] { width: 100%; }

/* ================================ KOSZYK ============================== */
.cart-page { display: grid; grid-template-columns: 1fr 360px; gap: 2rem; align-items: start; }
.cart-page .woocommerce-cart-form { display: contents; }
.cart-page__heading { margin-bottom: 1rem; }
.cart-page__items { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.25rem; }
.cart-page__summary { display: grid; gap: 1rem; position: sticky; top: calc(var(--header-h) + 1rem); }

table.cart { width: 100%; border-collapse: collapse; }
table.cart thead th { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--c-muted); padding: .5rem; border-bottom: 1px solid var(--c-line); }
table.cart td { padding: 1rem .5rem; border-bottom: 1px solid var(--c-line); vertical-align: middle; }
table.cart .product-thumbnail img { width: 72px; border-radius: var(--radius-sm); }
table.cart .product-name a { font-weight: 600; color: var(--c-ink); }
table.cart .product-remove .remove { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--c-danger); font-size: 1.3rem; line-height: 1; background: var(--c-danger-bg); }
table.cart .product-remove .remove:hover { background: var(--c-danger); color: #fff; }
table.cart td.actions { padding-top: 1.25rem; }
table.cart td.actions .coupon { display: inline-flex; gap: .5rem; margin-right: 1rem; }
table.cart td.actions .coupon .input-text { border: 1.5px solid var(--c-line); border-radius: var(--radius-sm); padding: .7rem .9rem; width: 180px; }
.cart-page__continue { display: inline-block; margin-top: 1rem; font-weight: 600; }

/* Cart totals (summary) */
.cart_totals { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.25rem; }
.cart_totals h2 { margin-top: 0; font-size: 1.2rem; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { padding: .7rem 0; text-align: right; border-bottom: 1px solid var(--c-line); }
.cart_totals th { text-align: left; font-weight: 500; color: var(--c-muted); }
.cart_totals .order-total th, .cart_totals .order-total td { font-size: 1.2rem; font-weight: 700; color: var(--c-ink); border-bottom: 0; }
.cart_totals .wc-proceed-to-checkout { margin-top: 1rem; }
.cart_totals .wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 1.05rem; padding: 1rem; }
.cart-page__trust { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.25rem; }

/* Empty cart recommend */
.cart-empty-state__trust { max-width: 640px; margin: 2rem auto 0; }
.cart-empty-state__trust .trust-signals { grid-template-columns: repeat(3, 1fr); }
.cart-empty-state__recommend { margin-top: var(--space-8); }

/* ================================ CHECKOUT ============================ */
.checkout-page__head { margin-bottom: var(--space-5); }
.checkout-page__title { margin-bottom: .35rem; }
.checkout-page__secure { display: inline-flex; align-items: center; gap: .5rem; color: var(--c-success); font-weight: 600; font-size: .9rem; }
.checkout-page__grid { display: grid; grid-template-columns: 1fr 400px; gap: 2rem; align-items: start; }
.checkout-page__main { min-width: 0; }
.checkout-page__aside { min-width: 0; }
.checkout-summary { position: sticky; top: calc(var(--header-h) + 1rem); background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.5rem; }
.checkout-summary__title { margin-top: 0; font-size: 1.2rem; }

#customer_details .col-1, #customer_details .col-2 { width: 100%; }
.checkout-col { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.5rem; margin-bottom: 1.25rem; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3 { margin-top: 0; font-size: 1.15rem; }

/* Pola formularza */
.woocommerce form .form-row { display: flex; flex-direction: column; margin: 0 0 1rem; }
.woocommerce form .form-row label { font-weight: 600; font-size: .88rem; margin-bottom: .35rem; }
.woocommerce .required { color: var(--c-danger); border: 0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection {
	width: 100%; border: 1.5px solid var(--c-line); border-radius: var(--radius-sm); padding: .8rem .9rem; font-size: 1rem; background: #fff; transition: border-color var(--transition), box-shadow var(--transition);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--c-primary); box-shadow: 0 0 0 3px var(--c-primary-light); outline: none;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--c-danger); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--c-success); }
.woocommerce-input-wrapper .description { font-size: .82rem; color: var(--c-muted); }

/* Order review */
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: .7rem 0; text-align: right; border-bottom: 1px solid var(--c-line); font-size: .92rem; }
.woocommerce-checkout-review-order-table th { text-align: left; font-weight: 500; }
.woocommerce-checkout-review-order-table .product-name { text-align: left; font-weight: 600; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { font-size: 1.2rem; font-weight: 700; border-bottom: 0; }

/* Payment */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; border: 0; display: grid; gap: .5rem; }
.woocommerce-checkout #payment ul.payment_methods li { background: var(--c-canvas); border: 1.5px solid var(--c-line); border-radius: var(--radius-sm); padding: .9rem 1rem; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--c-primary); background: var(--c-primary-light); }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: var(--radius-sm); padding: 1rem; margin-top: .6rem; font-size: .88rem; position: relative; }
.woocommerce-checkout #payment .form-row.place-order { margin-top: 1rem; }
#place_order { width: 100%; font-size: 1.1rem; padding: 1.1rem; }
.woocommerce-terms-and-conditions-wrapper { margin-bottom: 1rem; font-size: .88rem; }

/* Trust w checkout summary */
.checkout-summary__trust { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--c-line); }
.checkout-trust { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; }
.checkout-trust li { display: flex; align-items: center; gap: .55rem; font-size: .85rem; color: var(--c-muted); }
.checkout-trust .salveo-icon { color: var(--c-primary); flex-shrink: 0; }

/* ============================== THANK YOU ============================= */
.thankyou { max-width: 760px; margin-inline: auto; }
.thankyou__hero { text-align: center; margin-bottom: 2rem; }
.thankyou__check { display: grid; place-items: center; width: 88px; height: 88px; margin: 0 auto 1rem; border-radius: 50%; background: var(--c-success-bg); color: var(--c-success); }
.thankyou__title { margin-bottom: .5rem; }
.thankyou__lead { color: var(--c-muted); }
.thankyou__overview { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; margin: 0 0 2rem; padding: 0; background: var(--c-line); border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; }
.thankyou__overview-item { background: #fff; padding: 1rem; display: flex; flex-direction: column; gap: .25rem; }
.thankyou__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: var(--c-muted); }
.thankyou__steps { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.5rem; margin-bottom: 2rem; }
.thankyou__section-title { font-size: 1.2rem; margin-top: 0; }
.thankyou__steps-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.thankyou__steps-list li { display: flex; align-items: center; gap: .85rem; }
.thankyou__step-num { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c-primary); color: #fff; font-weight: 700; flex-shrink: 0; }
.thankyou__support { text-align: center; padding-top: 1rem; border-top: 1px solid var(--c-line); }
.thankyou__failed { text-align: center; }
.woocommerce-order-details, .woocommerce-customer-details { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.5rem; margin-bottom: 1.5rem; }
.woocommerce-order-details table, .woocommerce-table--order-details { width: 100%; border-collapse: collapse; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: .7rem; border-bottom: 1px solid var(--c-line); text-align: left; }

/* ============================== MOJE KONTO =========================== */
.account-page__head { margin-bottom: var(--space-5); }
.account-page__title { margin-bottom: .25rem; }
.account-page__hello { color: var(--c-muted); }
.account-page__grid { display: grid; grid-template-columns: 260px 1fr; gap: 2rem; align-items: start; }

.account-nav { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: .6rem; position: sticky; top: calc(var(--header-h) + 1rem); }
.account-nav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.account-nav__link { display: flex; align-items: center; gap: .7rem; padding: .75rem .85rem; border-radius: var(--radius-sm); color: var(--c-ink); font-weight: 500; }
.account-nav__link:hover { background: var(--c-primary-light); color: var(--c-primary-dark); }
.account-nav__icon { display: grid; place-items: center; color: var(--c-muted); }
.account-nav .is-active .account-nav__link { background: var(--c-primary); color: #fff; }
.account-nav .is-active .account-nav__icon { color: #fff; }

.account-page__content { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.75rem; min-width: 0; }
.account-page__content h2, .account-page__content h3 { margin-top: 0; }

.account-dashboard__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 2rem; }
.account-card { background: var(--c-canvas); border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.25rem; display: flex; flex-direction: column; gap: .35rem; }
.account-card--link { transition: var(--transition); }
.account-card--link:hover { border-color: var(--c-primary); box-shadow: var(--shadow-sm); }
.account-card__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-primary-light); color: var(--c-primary-dark); margin-bottom: .35rem; }
.account-card__value { font-size: 1.4rem; font-weight: 700; font-family: var(--font-head); }
.account-card__label { color: var(--c-muted); font-size: .85rem; }
.account-card__cta { display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; color: var(--c-primary); font-size: .88rem; }
.account-dashboard__actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.woocommerce-orders-table, .woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: .85rem; border-bottom: 1px solid var(--c-line); text-align: left; font-size: .9rem; }
.woocommerce-orders-table thead th { font-size: .78rem; text-transform: uppercase; color: var(--c-muted); }

/* ============================== MINI CART ============================ */
.mini-cart { padding: 1rem; }
.mini-cart__list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .85rem; max-height: 320px; overflow-y: auto; }
.mini-cart__item { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: .75rem; align-items: center; padding-bottom: .85rem; border-bottom: 1px solid var(--c-line); }
.mini-cart__thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--radius-sm); }
.mini-cart__name { font-weight: 600; font-size: .9rem; color: var(--c-ink); display: block; }
.mini-cart__qty { color: var(--c-muted); font-size: .85rem; }
.mini-cart__item .remove { position: absolute; top: 0; right: 0; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--c-danger-bg); color: var(--c-danger); font-size: 1rem; line-height: 1; }
.mini-cart__footer { display: grid; gap: .75rem; }
.mini-cart__total { display: flex; justify-content: space-between; align-items: center; margin: 0; font-size: 1rem; }
.mini-cart__total strong { font-size: 1.15rem; color: var(--c-primary-dark); }
.mini-cart__actions { display: grid; gap: .5rem; }
.mini-cart__actions .button { width: 100%; }
.mini-cart__actions .checkout { background: var(--c-primary); color: #fff; }
.mini-cart__note { text-align: center; font-size: .78rem; color: var(--c-muted); margin: 0; }
.mini-cart__empty { text-align: center; color: var(--c-muted); padding: 1rem 0; }

/* ============================== NOTICES ============================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	list-style: none; padding: 1rem 1.1rem 1rem 3rem; border-radius: var(--radius); margin: 0 0 1.25rem; position: relative; border: 1px solid var(--c-line); background: #fff; font-size: .95rem;
}
.woocommerce-message { background: var(--c-success-bg); border-color: #bfe6cd; color: #14683a; }
.woocommerce-info { background: var(--c-info-bg); border-color: #c3ddf4; color: #245a8c; }
.woocommerce-error { background: var(--c-danger-bg); border-color: #f2c4c4; color: #9c2b2b; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: absolute; left: 1rem; top: 1rem; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; font-weight: 700; font-size: .85rem; color: #fff;
}
.woocommerce-message::before { content: "\2713"; background: var(--c-success); }
.woocommerce-info::before { content: "i"; background: var(--c-info); font-style: italic; }
.woocommerce-error::before { content: "!"; background: var(--c-danger); }
.woocommerce-error { list-style: none; padding-left: 3rem; }
.woocommerce-error li { margin-bottom: .25rem; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: 1rem; padding: .4rem .9rem; font-size: .82rem; }

/* Store notice */
.woocommerce-store-notice { background: var(--c-ink); color: #fff; padding: .85rem 1rem; text-align: center; }

/* ============================== STANY ================================ */
/* Out of stock */
.stock.out-of-stock { color: var(--c-danger); font-weight: 600; }
.stock.in-stock { color: var(--c-success); font-weight: 600; }
.stock.available-on-backorder { color: var(--c-accent); font-weight: 600; }

/* Loading (blockUI WooCommerce) */
.blockUI.blockOverlay { border-radius: var(--radius); }
.processing { pointer-events: none; opacity: .7; }

/* ============================ STICKY ATC ============================= */
.sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 120; background: #fff; border-top: 1px solid var(--c-line); box-shadow: 0 -6px 24px rgba(18,34,43,.1); padding: .6rem 0; }
.sticky-atc__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.sticky-atc__info { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.sticky-atc__title { font-weight: 600; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 45vw; }
.sticky-atc__price { color: var(--c-primary-dark); font-weight: 700; }
.sticky-atc__btn { flex-shrink: 0; }

/* ============================ RESPONSIVE ============================= */
@media (max-width: 1024px) {
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product .woocommerce-product-gallery, .single-product .summary { grid-column: 1; }
	.checkout-page__grid { grid-template-columns: 1fr; }
	.checkout-summary { position: static; }
	.cart-page { grid-template-columns: 1fr; }
	.cart-page__summary { position: static; }
	.account-page__grid { grid-template-columns: 1fr; }
	.account-nav { position: static; }
	.account-nav__list { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; }
	.shop-layout.has-sidebar { grid-template-columns: 1fr; }
	.related ul.products, .upsells ul.products { --shop-cols: 3; }
}

@media (max-width: 768px) {
	ul.products, .columns-3 ul.products, .columns-4 ul.products { --shop-cols: 2; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
	.shop-toolbar__filters { display: inline-flex; }
	.trust-signals--product { grid-template-columns: 1fr; }
	.account-dashboard__cards { grid-template-columns: 1fr; }

	/* Off-canvas filtry */
	.shop-sidebar { position: fixed; inset: 0 auto 0 0; width: min(88vw, 340px); background: #fff; z-index: 200; transform: translateX(-100%); transition: transform .25s ease; padding: 1.25rem; overflow-y: auto; box-shadow: var(--shadow-lg); }
	.shop-sidebar.is-open { transform: translateX(0); }
	.shop-sidebar__head { display: flex; }
	.shop-sidebar__close { border: 0; background: transparent; font-size: 1.6rem; line-height: 1; color: var(--c-muted); }
	body.filters-open { overflow: hidden; }

	/* Koszyk — karty zamiast tabeli */
	table.cart thead { display: none; }
	table.cart, table.cart tbody, table.cart tr, table.cart td { display: block; width: 100%; }
	table.cart tr.woocommerce-cart-form__cart-item { position: relative; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1rem; margin-bottom: 1rem; display: grid; grid-template-columns: 72px 1fr; gap: .75rem 1rem; }
	table.cart tr.woocommerce-cart-form__cart-item td { border: 0; padding: 0; }
	table.cart .product-thumbnail { grid-row: span 4; }
	table.cart td::before { content: attr(data-title); font-size: .72rem; text-transform: uppercase; color: var(--c-muted); display: block; }
	table.cart .product-remove { position: absolute; top: .5rem; right: .5rem; }
	table.cart td.actions { display: block; grid-column: 1 / -1; }
	table.cart td.actions .coupon { display: flex; margin-bottom: .75rem; }
}

@media (max-width: 480px) {
	ul.products, .columns-3 ul.products, .columns-4 ul.products { --shop-cols: 1; grid-template-columns: 1fr; }
	.single-product form.cart { flex-direction: column; }
	.single_add_to_cart_button, .buy-now-button { width: 100%; }
}
