/* ============================================================
   SZYJA — WOOCOMMERCE SKIN
   Maps native WooCommerce markup onto the editorial design system.
   ============================================================ */

/* ---- General resets for Woo notices / buttons ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.stars + .woocommerce-noreviews {
	border-top: 3px solid var(--ink-pure);
	background: var(--surface-muted);
	color: var(--ink);
	border-radius: var(--radius-sm);
	font-size: var(--text-sm);
}
.woocommerce-message a.button,
.woocommerce-info a.button { float: none; }

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 46px; padding: 0 24px;
	font-family: var(--font-sans); font-size: 13px; font-weight: 600;
	letter-spacing: var(--ls-wide); text-transform: uppercase; line-height: 1;
	border-radius: var(--radius-sm); cursor: pointer; border: 1px solid var(--ink-pure);
	background: var(--ink-pure); color: #fff;
	transition: background var(--dur-base) var(--ease-std), color var(--dur-base) var(--ease-std), border-color var(--dur-base) var(--ease-std);
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--grey-800); border-color: var(--grey-800); color: #fff;
}

/* secondary outline buttons */
.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"],
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { }
.woocommerce .button[name="update_cart"] {
	background: transparent; color: var(--ink-pure); border-color: var(--ink);
}
.woocommerce .button[name="update_cart"]:hover { background: var(--ink-pure); color: #fff; }

/* ============================================================
   SHOP ARCHIVE
   ============================================================ */
.szyja-shop-hero { background: var(--bone); border-bottom: 1px solid var(--line); }
.szyja-shop-hero__title { font-size: var(--text-display); text-transform: uppercase; letter-spacing: -0.04em; line-height: 0.92; margin: 16px 0 0; }
.szyja-shop-hero__desc { margin-top: 18px; max-width: 52ch; font-size: var(--text-body-size); color: var(--text-muted); line-height: 1.6; }

.szyja-shop-layout {
	max-width: var(--container-wide); margin: 0 auto;
	padding: clamp(2.5rem,5vw,4rem) var(--section-x);
	display: grid; grid-template-columns: 248px 1fr; gap: clamp(2rem,4vw,3.5rem); align-items: start;
}
.szyja-shop-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 36px; }
.szyja-shop-widget__title {
	font-size: var(--text-label); font-weight: 600; letter-spacing: var(--ls-label);
	text-transform: uppercase; color: var(--text-muted); margin-bottom: 16px;
}
.szyja-cat-list, .szyja-brand-list { list-style: none; margin: 0; padding: 0; }
.szyja-cat-link {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 9px 0; font-size: var(--text-sm); color: var(--text-muted);
	border-bottom: 1px solid var(--line);
}
.szyja-cat-link.is-active { color: var(--ink-pure); font-weight: 700; }
.szyja-cat-count { font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; }
.szyja-brand-list li { margin-bottom: 12px; }
.szyja-brand-link { display: flex; align-items: center; gap: 10px; font-size: var(--text-sm); color: var(--text-body); cursor: pointer; }
.szyja-brand-link .szyja-cat-count { margin-left: auto; }
.szyja-brand-input { position: absolute; opacity: 0; width: 0; height: 0; }
.szyja-brand-box {
	width: 18px; height: 18px; flex: none; border: 1px solid var(--ink); border-radius: 2px;
	display: grid; place-items: center; position: relative; transition: background var(--dur-fast) var(--ease-std);
}
.szyja-brand-box::after {
	content: ""; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff;
	transform: rotate(-45deg) translateY(-1px); opacity: 0; transition: opacity var(--dur-fast) var(--ease-std);
}
.szyja-brand-input:checked + .szyja-brand-box { background: var(--ink-pure); }
.szyja-brand-input:checked + .szyja-brand-box::after { opacity: 1; }
.szyja-brand-input:focus-visible + .szyja-brand-box { box-shadow: 0 0 0 2px var(--paper), 0 0 0 4px var(--ink); }

/* Price filter */
.szyja-price-fields { display: flex; gap: 12px; }
.szyja-price-field { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.szyja-price-field span { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-faint); }
.szyja-price-field input {
	width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-xs);
	font-family: var(--font-sans); font-size: var(--text-sm); background: var(--paper); -moz-appearance: textfield;
}
.szyja-price-field input::-webkit-outer-spin-button,
.szyja-price-field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.szyja-price-range { width: 100%; margin: 16px 0 0; accent-color: var(--ink-pure); }
.szyja-price-legend { margin-top: 8px; display: flex; justify-content: space-between; font-size: var(--text-xs); color: var(--text-muted); }
.szyja-price-legend span:last-child { font-weight: 700; color: var(--ink); }

.szyja-filters__submit { margin-top: 4px; }
.szyja-clear-filters {
	align-self: flex-start; font-size: var(--text-xs); letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--text-muted); border-bottom: 1px solid var(--ink);
}

/* Active filter chips */
.szyja-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 24px; }
.szyja-active-filters__label { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); }
.szyja-filter-chip {
	display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px;
	border: 1px solid var(--line); border-radius: 999px; font-size: var(--text-xs); color: var(--ink);
	transition: border-color var(--dur-fast) var(--ease-std), background var(--dur-fast) var(--ease-std);
}
.szyja-filter-chip span { font-size: 14px; line-height: 1; color: var(--text-muted); }
.szyja-filter-chip:hover { border-color: var(--ink); background: var(--bone); }
.szyja-filter-chip--clear { border-style: dashed; color: var(--text-muted); }

/* Widget area (price filter etc.) */
.szyja-shop-aside .widget { margin: 0; }
.szyja-shop-aside .widgettitle, .szyja-shop-aside .widget-title {
	font-size: var(--text-label); font-weight: 600; letter-spacing: var(--ls-label);
	text-transform: uppercase; color: var(--text-muted); margin-bottom: 16px; border: 0;
}
.szyja-shop-aside .price_slider_wrapper .ui-slider { background: var(--grey-200); border-radius: 999px; height: 4px; }
.szyja-shop-aside .ui-slider .ui-slider-range { background: var(--ink-pure); }
.szyja-shop-aside .ui-slider .ui-slider-handle { background: var(--ink-pure); border: 0; border-radius: 999px; }
.szyja-shop-aside .price_label { font-size: var(--text-xs); color: var(--text-muted); }

/* Toolbar */
.szyja-shop-content .woocommerce-result-count,
.woocommerce .szyja-shop-content .woocommerce-result-count {
	float: none; margin: 0; font-size: var(--text-sm); color: var(--text-muted);
}
.szyja-shop-content .woocommerce-ordering,
.woocommerce .szyja-shop-content .woocommerce-ordering { float: none; margin: 0; }
.szyja-shop-content form.woocommerce-ordering select,
.szyja-shop-content .orderby {
	font-family: var(--font-sans); font-size: var(--text-sm); color: var(--ink);
	padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-xs);
	background: var(--paper); cursor: pointer;
}
.woocommerce-products-header { display: none; } /* title is in the hero */
.szyja-shop-content {
	display: block;
}
.szyja-shop-content .woocommerce-result-count,
.szyja-shop-content .woocommerce-ordering {
	display: inline-flex; align-items: center;
}
.szyja-shop-content > .woocommerce-result-count { margin-right: auto; }
/* Use a flex toolbar wrapper */
.szyja-shop-content::before { content: none; }

/* Lay result-count + ordering on one row */
.woocommerce .szyja-shop-content { position: relative; }
.szyja-shop-content .woocommerce-result-count { display: inline-block; }
.szyja-shop-content .woocommerce-ordering { display: inline-block; float: right; }
.szyja-shop-content::after { content: ""; display: table; clear: both; }

/* Product grid */
.woocommerce .szyja-shop-content ul.products,
.szyja-shop-content ul.products {
	display: grid !important; grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.25rem,2.5vw,2rem); margin: 30px 0 0; padding: 0;
	border-top: 1px solid var(--line); padding-top: 30px;
}
.szyja-shop-content ul.products::before,
.szyja-shop-content ul.products::after { content: none; display: none; }
.woocommerce ul.products li.product, .szyja-shop-content ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; padding: 0;
}
.woocommerce ul.products li.product .szyja-productcard__name { margin: 0; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { text-align: left; margin-top: clamp(2.5rem,5vw,4rem); border: 0; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px; height: 40px; display: grid; place-items: center; padding: 0;
	font-size: var(--text-sm); font-weight: 600; border-radius: var(--radius-xs);
	border: 1px solid var(--line); background: transparent; color: var(--text-muted);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--ink-pure); color: #fff; border-color: var(--ink);
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.szyja-product-breadcrumb { border-bottom: 1px solid var(--line); }
.szyja-product-breadcrumb .szyja-container { padding-top: 20px; padding-bottom: 20px; }
.woocommerce .szyja-product-breadcrumb .szyja-breadcrumb { margin: 0; color: var(--text-faint); }
.woocommerce .szyja-product-breadcrumb a { color: var(--text-muted); }

.szyja-single-product { padding-top: clamp(2.5rem,5vw,4rem); padding-bottom: clamp(2.5rem,5vw,4rem); }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.75rem,4vw,3.5rem); align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100%; float: none; margin: 0; position: sticky; top: 96px; }
.woocommerce div.product .woocommerce-product-gallery__image { border-radius: var(--radius-md); overflow: hidden; background: var(--bone); }
.woocommerce div.product .summary { width: 100%; float: none; margin: 0; }
.woocommerce div.product .product_title {
	font-size: clamp(1.5rem, 2.4vw, 2.1rem); text-transform: uppercase; letter-spacing: -0.02em; line-height: 1.05; margin: 14px 0 0;
}
.woocommerce div.product .woocommerce-product-rating { margin: 16px 0 0; }
.woocommerce .star-rating { color: var(--ink-pure); }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ink-pure); font-family: var(--font-display); font-weight: 900;
	font-size: var(--text-h2); letter-spacing: -0.02em; margin: 22px 0 0;
}
.woocommerce div.product p.price del { color: var(--text-faint); font-weight: 400; font-size: 0.6em; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description {
	margin-top: 18px; font-size: var(--text-body-size); line-height: 1.7; color: var(--text-muted); max-width: 46ch;
}

/* Variations / size pills */
.woocommerce div.product form.cart { margin-top: 26px; }
.woocommerce div.product form.cart .variations { margin-bottom: 18px; }
.woocommerce div.product form.cart .variations label {
	font-size: var(--text-label); font-weight: 600; letter-spacing: var(--ls-label);
	text-transform: uppercase; color: var(--text-muted);
}
.woocommerce div.product form.cart .variations td.value select {
	font-family: var(--font-sans); padding: 12px 14px; border: 1px solid var(--line);
	border-radius: var(--radius-sm); background: var(--paper); min-height: 46px;
}

/* Quantity stepper */
.woocommerce .quantity, .woocommerce div.product form.cart .quantity {
	display: inline-flex; align-items: center; border: 1px solid var(--line);
	border-radius: var(--radius-sm); height: 56px; overflow: hidden; margin-right: 12px;
}
.woocommerce .quantity input.qty {
	width: 48px; height: 54px; border: 0; text-align: center; font-weight: 700;
	font-family: var(--font-sans); background: transparent; -moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .button {
	height: 56px; padding: 0 34px; font-size: 14px; vertical-align: middle;
}
.woocommerce div.product form.cart .single_add_to_cart_button { width: auto; }

/* Meta */
.woocommerce div.product .product_meta {
	margin-top: 30px; border-top: 1px solid var(--line); padding-top: 24px;
	font-size: var(--text-sm); color: var(--ink); display: flex; flex-direction: column; gap: 10px;
}
.woocommerce div.product .product_meta > span { display: flex; gap: 12px; }
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as { font-size: var(--text-sm); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(2rem,4vw,3rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0; margin: 0; display: flex; gap: 28px; border-bottom: 1px solid var(--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.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 a {
	padding: 16px 0; display: block; font-family: var(--font-sans); font-size: 12px; font-weight: 600;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-faint);
	border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink-pure); border-bottom-color: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none; }
.woocommerce div.product .woocommerce-Tabs-panel {
	margin-top: 26px; max-width: 70ch; font-size: var(--text-body-size); line-height: 1.8; color: var(--text-muted);
}
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-size: var(--text-h3); text-transform: uppercase; margin-bottom: 16px; }

/* Related / upsells */
.woocommerce .related, .woocommerce .upsells {
	grid-column: 1 / -1; margin-top: var(--section-y); padding-top: clamp(2.5rem,5vw,4rem);
	border-top: 1px solid var(--line);
}
.woocommerce .related > h2, .woocommerce .upsells > h2 {
	font-size: var(--text-h2); text-transform: uppercase; letter-spacing: -0.03em; margin-bottom: 36px;
}
.woocommerce .related ul.products, .woocommerce .upsells ul.products {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.25rem,2.5vw,2rem); margin: 0; padding: 0;
}
.woocommerce .related ul.products::before, .woocommerce .related ul.products::after { content: none; }

/* ============================================================
   CART
   ============================================================ */
.szyja-wc-page { padding-top: clamp(2.5rem,5vw,4rem); padding-bottom: clamp(2.5rem,5vw,4rem); }
/* The [woocommerce_cart] shortcode renders form + collaterals inside .woocommerce — grid there. */
.woocommerce-cart .szyja-wc-page .woocommerce {
	display: grid; grid-template-columns: 1fr 360px; gap: clamp(2rem,4vw,3.5rem); align-items: start;
}
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart table.shop_table {
	border: 0; border-collapse: collapse; border-radius: 0;
}
.woocommerce-cart table.shop_table thead th {
	border: 0; border-bottom: 1px solid var(--ink); padding: 0 0 14px;
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); font-weight: 600;
}
.woocommerce-cart table.shop_table td {
	border: 0; border-bottom: 1px solid var(--line); padding: 20px 0;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 72px; height: 88px; object-fit: cover; border-radius: var(--radius-sm); background: var(--bone);
}
.woocommerce-cart table.shop_table td.product-name a { font-weight: 600; color: var(--ink-pure); }
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-price {
	font-family: var(--font-display); font-weight: 800; color: var(--ink-pure);
}
.woocommerce a.remove {
	width: 32px; height: 32px; line-height: 30px; border: 1px solid var(--line); border-radius: 999px;
	color: var(--text-muted) !important; font-size: 16px;
}
.woocommerce a.remove:hover { background: var(--ink-pure); color: #fff !important; }
.woocommerce-cart .actions .coupon .input-text {
	padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--radius-xs); min-height: 46px;
}

/* Cart totals as sticky summary */
.cart-collaterals, .woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important; float: none !important;
}
.woocommerce-cart .szyja-wc-page .woocommerce .cart-collaterals {
	grid-column: 2; position: sticky; top: 96px;
	border: 1px solid var(--line); border-radius: var(--radius-md); padding: clamp(1.5rem,3vw,2rem);
	background: var(--surface-muted);
}
.woocommerce-cart .cart_totals h2 {
	font-size: var(--text-label); letter-spacing: var(--ls-label); text-transform: uppercase;
	color: var(--text-muted); font-family: var(--font-sans); font-weight: 600; margin-bottom: 18px;
}
.woocommerce-cart .cart_totals table { border: 0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td {
	border: 0; border-top: 1px solid var(--line); padding: 14px 0; font-size: var(--text-sm);
}
.woocommerce-cart .cart_totals .order-total td { font-family: var(--font-display); font-weight: 900; font-size: var(--text-h3); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 16px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; }

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout .szyja-wc-page form.checkout { display: grid; grid-template-columns: 1fr 360px; gap: clamp(2rem,4vw,3.5rem); align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading {
	font-size: var(--text-label); letter-spacing: var(--ls-label); text-transform: uppercase;
	color: var(--text-muted); font-family: var(--font-sans); font-weight: 600; margin-bottom: 18px;
}
.woocommerce-checkout #order_review {
	position: sticky; top: 96px; border: 1px solid var(--line); border-radius: var(--radius-md);
	padding: clamp(1.5rem,3vw,2rem); background: var(--surface-muted);
}
.woocommerce form .form-row label { font-size: var(--text-label); font-weight: 600; letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--text-muted); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
	padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-xs);
	background: var(--paper); font-family: var(--font-sans); font-size: var(--text-body-size); min-height: 46px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--ink); outline: none; }
.woocommerce-checkout h3 {
	font-family: var(--font-display); font-weight: 800; text-transform: uppercase;
	letter-spacing: -0.01em; font-size: var(--text-h4); margin-bottom: 18px;
}
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
	border: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 15px 16px; list-style: none;
}
.woocommerce-checkout #payment div.payment_box { background: var(--paper); border: 1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #order_review table.shop_table { border: 0; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { border: 0; border-top: 1px solid var(--line); padding: 12px 0; font-size: var(--text-sm); }
.woocommerce-checkout #order_review .order-total td { font-family: var(--font-display); font-weight: 900; font-size: var(--text-h3); }
.woocommerce-checkout #place_order { width: 100%; }

/* Order received / thank you */
.woocommerce .woocommerce-order { max-width: var(--container-text); margin: 0 auto; }
.woocommerce ul.order_details {
	display: flex; flex-wrap: wrap; gap: 24px; padding: 24px; margin: 0 0 30px;
	border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted);
}
.woocommerce ul.order_details li { border: 0; text-transform: none; }

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-account .szyja-wc-page { max-width: var(--container); }
.woocommerce-account.logged-in .szyja-wc-page .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: clamp(2rem,4vw,3.5rem); align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 12px 0; font-size: var(--text-sm); color: var(--text-muted);
	text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--ink-pure); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }

/* login / register: side-by-side cards */
.woocommerce-account:not(.logged-in) .u-columns,
.woocommerce-account:not(.logged-in) #customer_login {
	display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,4vw,3.5rem); max-width: var(--container-text); margin: 0 auto;
}
.woocommerce-account .col-1, .woocommerce-account .col-2 { width: auto !important; float: none !important; }
.woocommerce form.login, .woocommerce form.register {
	border: 1px solid var(--line); border-radius: var(--radius-md); padding: clamp(1.75rem,3vw,2.5rem); margin: 0;
}
.woocommerce-account h2 { font-size: var(--text-h3); text-transform: uppercase; letter-spacing: -0.02em; margin-bottom: 24px; }

/* ============================================================
   STEP INDICATOR (cart / checkout)
   ============================================================ */
.szyja-steps { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 22px; }
.szyja-step { display: flex; align-items: center; gap: 10px; }
.szyja-step__num {
	width: 26px; height: 26px; border-radius: 999px; display: grid; place-items: center;
	font-size: 12px; font-weight: 700; border: 1px solid var(--line); color: var(--text-faint);
}
.szyja-step__num.is-done { background: var(--ink-pure); color: #fff; border-color: var(--ink-pure); }
.szyja-step__label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--text-faint); }
.szyja-step__label.is-active { color: var(--ink); }
.szyja-step__sep { width: 28px; height: 1px; background: var(--line); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1000px) {
	.szyja-shop-layout { grid-template-columns: 1fr; }
	.szyja-shop-aside { position: static; gap: 28px; }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product .woocommerce-product-gallery { position: static; }
	.woocommerce-cart .szyja-wc-page .woocommerce,
	.woocommerce-checkout .szyja-wc-page form.checkout { grid-template-columns: 1fr; }
	.woocommerce-cart .szyja-wc-page .woocommerce .cart-collaterals,
	.woocommerce-checkout #order_review { position: static; }
	.woocommerce-account:not(.logged-in) .u-columns,
	.woocommerce-account:not(.logged-in) #customer_login,
	.woocommerce-account.logged-in .szyja-wc-page .woocommerce { grid-template-columns: 1fr; }
	.woocommerce .related ul.products, .woocommerce .upsells ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.woocommerce .szyja-shop-content ul.products,
	.szyja-shop-content ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.woocommerce-checkout #payment ul.payment_methods { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.woocommerce .szyja-shop-content ul.products,
	.szyja-shop-content ul.products { grid-template-columns: 1fr !important; }
}

/* ============================================================
   FIXES & POLISH (v1.1)
   ============================================================ */

/* 1) Product card image must FILL the 4:5 tile — absolute positioning is
   bulletproof (percentage height does not always resolve against an
   aspect-ratio box). Kills the empty area under the bottle. */
.szyja-productcard__media,
.woocommerce ul.products li.product .szyja-productcard__media {
	position: relative !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bone);
	border-radius: var(--radius-md);
	display: block;
}
.szyja-productcard__media img,
.woocommerce ul.products li.product .szyja-productcard__media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}

/* 2) Hide the native brand checkbox — only the custom box shows. */
.szyja-brand-list .szyja-brand-input,
.woocommerce .szyja-brand-list input.szyja-brand-input {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect(0 0 0 0);
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

/* 3) Product card — subtle editorial lift on hover. */
.szyja-shop-content ul.products li.product.szyja-productcard,
.szyja-product-grid .szyja-productcard {
	transition: transform var(--dur-base) var(--ease-out);
}
.szyja-shop-content ul.products li.product.szyja-productcard:hover,
.szyja-product-grid .szyja-productcard:hover { transform: translateY(-4px); }

/* 3b) Add-to-cart button — straighten alignment inside the price row. */
.szyja-productcard__row { gap: 12px; }
.szyja-productcard__add,
.woocommerce ul.products li.product .szyja-productcard__add {
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 38px;
	line-height: 1;
	white-space: nowrap;
	flex: none;
}
/* "View cart" link WooCommerce injects after AJAX add — keep tidy */
.szyja-productcard .added_to_cart {
	display: block; margin-top: 8px; font-size: 11px; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--text-muted); border-bottom: 1px solid var(--line); width: max-content;
}
.szyja-productcard__name { min-height: 2.6em; } /* even baseline for price/button row */

/* 4) Single product — tighter editorial polish. */
.woocommerce div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.woocommerce div.product .woocommerce-product-gallery { border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.woocommerce div.product .summary { padding-top: 4px; }
.woocommerce div.product form.cart .button.single_add_to_cart_button { flex: 1; min-width: 220px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* Assurances row (custom) */
.szyja-assurances {
	list-style: none; margin: 22px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line);
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.szyja-assurances li { display: flex; align-items: center; gap: 10px; font-size: var(--text-xs); color: var(--text-muted); line-height: 1.3; }
.szyja-assurances svg { flex: none; color: var(--ink); }

@media (max-width: 600px) {
	.szyja-assurances { grid-template-columns: 1fr; gap: 12px; }
}

/* ============================================================
   FILTER PANEL — beautified (v1.2)
   ============================================================ */
.szyja-shop-aside { gap: 0; }

.szyja-filters-headline {
	font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
	font-size: 1.4rem; letter-spacing: -0.02em; line-height: 1;
	display: flex; align-items: center; gap: 10px;
	padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--ink);
}
.szyja-filters-headline span {
	font-family: var(--font-logo); font-weight: 300; font-size: 1.4em;
	color: var(--grey-300); transform: skewX(-6deg); margin-left: auto;
}

/* group spacing inside the panel */
.szyja-filters-panel .szyja-shop-widget { margin-bottom: 28px; }
.szyja-filters-panel .szyja-shop-widget__title,
.szyja-filters-panel .szyja-filters .szyja-shop-widget__title {
	display: flex; align-items: center; gap: 8px;
	font-size: var(--text-label); font-weight: 700; letter-spacing: var(--ls-label);
	text-transform: uppercase; color: var(--ink); margin-bottom: 14px;
}

/* Categories — quiet rows with hover + active accent */
.szyja-cat-list { display: flex; flex-direction: column; gap: 2px; }
.szyja-cat-link {
	padding: 11px 12px; border-bottom: 0; border-radius: var(--radius-sm);
	color: var(--text-muted); position: relative;
	transition: background var(--dur-fast) var(--ease-std), color var(--dur-fast) var(--ease-std);
}
.szyja-cat-link:hover { background: var(--bone); color: var(--ink); }
.szyja-cat-link.is-active { background: var(--ink-pure); color: #fff; font-weight: 600; }
.szyja-cat-count {
	background: var(--grey-100); color: var(--grey-600); border-radius: 999px;
	padding: 2px 9px; font-size: 10px; font-weight: 700; line-height: 1.5;
}
.szyja-cat-link.is-active .szyja-cat-count { background: rgba(255,255,255,0.22); color: #fff; }

/* Brand — bigger tap rows */
.szyja-brand-list { display: flex; flex-direction: column; gap: 4px; }
.szyja-brand-list li { margin: 0; }
.szyja-brand-link {
	padding: 9px 12px; border-radius: var(--radius-sm); gap: 12px;
	transition: background var(--dur-fast) var(--ease-std);
}
.szyja-brand-link:hover { background: var(--bone); }
.szyja-brand-link span:not(.szyja-brand-box):not(.szyja-cat-count) { color: var(--ink); }

/* Price — framed, with a softer track */
.szyja-filters-panel .szyja-shop-widget:has(.szyja-price-fields),
.szyja-price-block { /* fallback class if :has unsupported */ }
.szyja-price-fields { gap: 10px; }
.szyja-price-field input {
	padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm);
	background: var(--bone); font-weight: 600; transition: border-color var(--dur-fast) var(--ease-std), background var(--dur-fast);
}
.szyja-price-field input:focus { outline: none; border-color: var(--ink); background: var(--paper); }
.szyja-price-range { height: 4px; }
.szyja-price-legend { margin-top: 12px; }
.szyja-price-legend span:last-child {
	background: var(--ink-pure); color: #fff; padding: 3px 10px; border-radius: 999px; font-size: 11px;
}

/* Buttons */
.szyja-filters__submit { margin-top: 6px; height: 50px; letter-spacing: 0.12em; }
.szyja-clear-filters {
	display: inline-block; margin-top: 16px; padding-bottom: 2px;
	border-bottom: 1px solid var(--line); transition: border-color var(--dur-fast) var(--ease-std), color var(--dur-fast);
}
.szyja-clear-filters:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* Mobile toggle */
.szyja-filters-toggle { display: none; }
@media (max-width: 1000px) {
	.szyja-filters-toggle {
		display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
		height: 50px; padding: 0 20px; cursor: pointer; background: var(--ink-pure); color: #fff;
		border: 1px solid var(--ink-pure); border-radius: var(--radius-sm);
		font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	}
	.szyja-filters-toggle[aria-expanded="true"] { background: transparent; color: var(--ink); }
	.szyja-filters-panel {
		display: none; margin-top: 18px; padding: 22px; border: 1px solid var(--line);
		border-radius: var(--radius-md); background: var(--surface-muted);
	}
	.szyja-filters-panel.is-open { display: block; }
	.szyja-filters-headline { display: none; }
}

/* ============================================================
   SHOP MOBILE HARDENING (v1.2.1)
   ============================================================ */
@media (max-width: 768px) {
	/* Toolbar stacks: result count, then sorting full-width */
	.szyja-shop-content .woocommerce-result-count { float: none !important; display: block; margin: 0 0 10px; }
	.szyja-shop-content form.woocommerce-ordering { float: none !important; display: block; width: 100%; margin: 0 0 22px; }
	.szyja-shop-content form.woocommerce-ordering select,
	.szyja-shop-content .orderby { width: 100%; }

	/* Shop hero padding a touch tighter */
	.szyja-shop-hero__title { font-size: clamp(2.5rem, 14vw, 3.5rem); }
	.szyja-shop-layout { padding-left: clamp(1rem, 5vw, 1.5rem); padding-right: clamp(1rem, 5vw, 1.5rem); }

	/* Prevent any product card overflow */
	.szyja-shop-content ul.products li.product { min-width: 0; }
	.szyja-productcard__name { min-height: 0; }
}
@media (max-width: 380px) {
	/* Single column already; make the add button sit under the price if cramped */
	.szyja-productcard__row { flex-wrap: wrap; }
	.szyja-productcard__add { width: 100%; }
}

/* ============================================================
   PRODUCT / CART / CHECKOUT — MOBILE (v1.2.6)
   ============================================================ */
@media (max-width: 768px) {

	/* ---- SINGLE PRODUCT ---- */
	.szyja-single-product { padding-top: 24px; padding-bottom: 40px; }
	.woocommerce div.product { grid-template-columns: 1fr !important; gap: 24px; }
	.woocommerce div.product .woocommerce-product-gallery { position: static !important; }
	.woocommerce div.product .product_title { font-size: clamp(1.8rem, 8vw, 2.4rem); line-height: 1.04; margin-top: 12px; }
	.woocommerce div.product p.price,
	.woocommerce div.product span.price { font-size: 1.75rem; margin-top: 14px; }
	.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1rem; max-width: none; }

	/* Add-to-cart: full-width controls, no overflow */
	.woocommerce div.product form.cart { gap: 12px; }
	.woocommerce div.product form.cart .quantity { width: 100%; height: 52px; }
	.woocommerce div.product form.cart .quantity input.qty { width: 100% !important; height: 50px; }
	.woocommerce div.product form.cart .button.single_add_to_cart_button {
		width: 100% !important; min-width: 0 !important; flex: 1 0 100%; height: 52px;
	}
	/* Variations: stacked full-width */
	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .variations tbody,
	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td { display: block; width: 100%; text-align: left; }
	.woocommerce div.product form.cart .variations td.value select { width: 100%; }
	.woocommerce div.product .reset_variations { display: inline-block; margin: 6px 0 0; }

	/* Tabs: horizontal scroll instead of wrapping/breaking */
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		overflow-x: auto; flex-wrap: nowrap; gap: 18px; -webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: 14px 0; }
	.woocommerce div.product .woocommerce-Tabs-panel { max-width: none; font-size: 1rem; }

	.woocommerce .related ul.products,
	.woocommerce .upsells ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.woocommerce .related > h2, .woocommerce .upsells > h2 { margin-bottom: 22px; }

	/* ---- CART (works WITH WooCommerce smallscreen stacking) ---- */
	.woocommerce-cart .szyja-wc-page { padding-top: 24px; }
	.woocommerce-cart table.shop_table.shop_table_responsive tr { border-bottom: 1px solid var(--ink); padding: 12px 0; }
	.woocommerce-cart table.shop_table.shop_table_responsive td {
		padding: 8px 0 !important; border: 0 !important; text-align: right; display: flex;
		justify-content: space-between; align-items: center; gap: 14px;
	}
	.woocommerce-cart table.shop_table.shop_table_responsive td::before {
		font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 600;
	}
	.woocommerce-cart table.shop_table.shop_table_responsive td.product-remove { justify-content: flex-end; }
	.woocommerce-cart table.shop_table.shop_table_responsive td.product-thumbnail { display: block !important; text-align: left; padding-bottom: 4px !important; }
	.woocommerce-cart table.shop_table td.product-thumbnail::before { display: none !important; }
	.woocommerce-cart table.shop_table td.product-thumbnail img { width: 90px !important; height: auto; margin: 0; border-radius: var(--radius-sm); }
	.woocommerce-cart table.shop_table td.product-name a { font-weight: 600; }
	.woocommerce-cart .cart .quantity { margin: 0; }
	.woocommerce-cart .actions .coupon { display: flex; gap: 8px; margin-bottom: 14px; }
	.woocommerce-cart .actions .coupon .input-text { flex: 1; width: auto !important; min-width: 0; }
	.woocommerce-cart .actions .button { width: 100%; }
	.woocommerce-cart .szyja-wc-page .woocommerce .cart-collaterals { margin-top: 8px; }

	/* ---- CHECKOUT ---- */
	.woocommerce-checkout .szyja-wc-page { padding-top: 24px; }
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; margin-right: 0; }
	.woocommerce-checkout #customer_details { margin-bottom: 24px; }
	.woocommerce-checkout #order_review_heading { margin-top: 8px; }
	.woocommerce-checkout #payment ul.payment_methods { grid-template-columns: 1fr; }
	.woocommerce-checkout #place_order { width: 100%; height: 54px; }
}

@media (max-width: 420px) {
	.woocommerce .related ul.products,
	.woocommerce .upsells ul.products { grid-template-columns: 1fr; }
}

/* ============================================================
   SINGLE PRODUCT — EDITORIAL POLISH (v1.2.7)
   ============================================================ */
/* Brand eyebrow above the title */
.szyja-single-brand {
	font-size: var(--text-label); font-weight: 600; letter-spacing: var(--ls-label);
	text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px;
}

/* Gallery — framed, soft shadow, generous */
.woocommerce div.product .woocommerce-product-gallery {
	border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
	background: var(--bone); box-shadow: var(--shadow-sm);
}
.woocommerce div.product .woocommerce-product-gallery__image img { display: block; }

/* Summary hierarchy + rhythm */
.woocommerce div.product .summary { padding-top: 4px; }
.woocommerce div.product .woocommerce-product-rating { margin: 14px 0 0; display: flex; align-items: center; gap: 10px; }
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link { color: var(--text-muted); font-size: var(--text-sm); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { letter-spacing: -0.02em; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--text-muted); }

/* Editorial hairline before the buy controls */
.woocommerce div.product form.cart {
	border-top: 1px solid var(--line); padding-top: 26px; margin-top: 28px;
}

/* Meta links subtle */
.woocommerce div.product .product_meta a { color: var(--ink); border-bottom: 1px solid var(--line); }
.woocommerce div.product .product_meta a:hover { border-bottom-color: var(--ink); }

/* Keep the hairline tidy on mobile (no double spacing) */
@media (max-width: 768px) {
	.woocommerce div.product form.cart { margin-top: 22px; padding-top: 22px; }
}

/* ============================================================
   GALLERY FILL + DESCRIPTION POLISH + HELP BAND (v1.2.8)
   ============================================================ */
/* Make the gallery image fill its column; prevent any horizontal overflow */
.szyja-single-product { overflow-x: hidden; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image {
	width: 100% !important; max-width: 100% !important; float: none !important; transform: none !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100% !important; height: auto !important; display: block !important;
}
.woocommerce div.product, .woocommerce div.product .summary { min-width: 0; max-width: 100%; }

/* Description / tabs — editorial polish */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(2.5rem,5vw,4rem); }
.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 70ch; margin-top: 26px; font-size: var(--text-body-size);
	line-height: 1.85; color: var(--text-muted);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
	letter-spacing: -0.02em; font-size: var(--text-h3); color: var(--ink-pure); margin: 0 0 18px;
}
.woocommerce div.product .woocommerce-tabs .panel p { margin-bottom: 16px; }

/* Help / consultation band after the tabs */
.szyja-prod-help {
	grid-column: 1 / -1; margin-top: clamp(2rem,4vw,3.5rem);
	display: flex; align-items: center; justify-content: space-between; gap: clamp(1.5rem,4vw,3rem);
	flex-wrap: wrap; padding: clamp(1.75rem,3.5vw,2.5rem) clamp(1.5rem,3.5vw,2.75rem);
	background: var(--bone); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.szyja-prod-help__text {
	margin: 12px 0 0; max-width: 46ch; font-size: var(--text-h4); line-height: 1.4;
	font-weight: 500; color: var(--text-strong); letter-spacing: -0.01em;
}
@media (max-width: 600px) {
	.szyja-prod-help { flex-direction: column; align-items: flex-start; }
	.szyja-prod-help .szyja-btn { width: 100%; }
}
