/**
 * WooCommerce — B&W avant-garde
 */

/* ==========================================================================
   Shop archive (Sklep)
   ========================================================================== */

.site-main--shop .woocommerce,
.site-main--shop > .container {
	width: 100%;
}

.site-main--shop .woocommerce-notices-wrapper {
	padding-top: 1.25rem;
}

/* Title via woocommerce.php (h1.page-title) or archive template */
.site-main--shop h1.page-title,
.woocommerce .woocommerce-products-header {
	padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.5rem, 3vw, 2rem);
	text-align: left;
}

/* WC wraps the title in .woocommerce-products-header — border on both was two lines */
.woocommerce .woocommerce-products-header {
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.site-main--shop:not(:has(.woocommerce-products-header)) h1.page-title {
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.site-main--shop h1.page-title {
	font-family: var(--uwaga-font-display);
	font-size: clamp(2.5rem, 8vw, 4.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0;
	line-height: 0.95;
}

/* An empty notices wrapper shouldn't reserve a blank band under the title */
.site-main--shop .woocommerce-notices-wrapper:empty {
	display: none;
}

.site-main--shop .woocommerce-result-count {
	display: block;
	padding: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	margin: 0;
}

.site-main--shop .woocommerce-ordering {
	float: none;
	padding: 0.6rem 0 clamp(1.5rem, 4vw, 2rem);
	margin: 0;
}

.site-main--shop .woocommerce-ordering::after {
	content: "";
	display: table;
	clear: both;
}

/* Mobile: full-width, left-aligned select (lines up with the product grid) */
.site-main--shop .woocommerce-ordering select {
	width: 100%;
	margin-top: 0.6rem;
}

/* Tablet and up: result count + sort share one tidy row */
@media (min-width: 641px) {
	.site-main--shop .woocommerce-result-count {
		float: left;
		padding: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 4vw, 2rem);
		line-height: 44px;
	}

	.site-main--shop .woocommerce-ordering {
		float: right;
		padding: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 4vw, 2rem);
	}

	.site-main--shop .woocommerce-ordering select {
		width: auto;
		min-width: 240px;
		margin-top: 0;
	}

	.site-main--shop ul.products {
		clear: both;
	}
}

.woocommerce .woocommerce-products-header__title.page-title {
	font-family: var(--uwaga-font-display);
	font-size: clamp(2.5rem, 8vw, 4.5rem);
	margin: 0;
	text-transform: uppercase;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
}

.woocommerce .woocommerce-ordering select {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	min-height: 44px;
	padding: 0.6rem 2.5rem 0.6rem 0.9rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	background-color: var(--uwaga-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 11px 7px;
	color: var(--uwaga-text);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	transition: box-shadow 0.12s ease, transform 0.12s ease;
}

.woocommerce .woocommerce-ordering select:hover {
	box-shadow: 4px 4px 0 var(--uwaga-border);
	transform: translate(-2px, -2px);
}

[data-theme="dark"] .woocommerce .woocommerce-ordering select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}

/* Grid — fluid columns across full viewport width */
.site-main--shop ul.products,
.site-main--cart .cross-sells ul.products,
.site-main--home .home-products ul.products,
.home-products ul.products,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
	justify-content: stretch;
	gap: 1.25rem;
	margin: 0 0 2.5rem !important;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.woocommerce ul.products.columns-4,
.home-products ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.woocommerce ul.products.columns-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.product-card {
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	float: none !important;
	justify-self: stretch;
}

/* Product card */
.product-card {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.product-card:hover {
	transform: translate(-3px, -3px);
	box-shadow: var(--uwaga-shadow);
}

.product-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1;
	background: var(--uwaga-surface-2);
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.product-card__media img,
.product-card__media .attachment-woocommerce_thumbnail {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.45s cubic-bezier(0.2, 0, 0.1, 1);
}

@media (hover: hover) and (pointer: fine) {
	.product-card:hover .product-card__media img,
	.product-card:hover .product-card__media .attachment-woocommerce_thumbnail {
		transform: scale(1.05);
	}
}

.product-card__media .onsale {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	right: auto;
	margin: 0;
	z-index: 2;
}

.product-card__body {
	padding: 1rem;
}

.product-card .woocommerce-loop-product__title {
	font-family: var(--uwaga-font-display);
	font-size: 1.35rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.35rem;
	padding: 0;
}

/* Override WooCommerce loop gold (#958e09) — same on homepage shortcode + sklep */
.woocommerce ul.products li.product .price,
.home-products .woocommerce ul.products li.product .price,
.product-card .price {
	font-family: var(--uwaga-font-mono);
	font-size: 0.875rem;
	font-weight: 500;
	margin: 0;
	color: var(--uwaga-text) !important;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.product-card .price .woocommerce-Price-amount {
	color: inherit;
}

.woocommerce ul.products li.product .price del,
.product-card .price del {
	color: var(--uwaga-text-muted) !important;
	opacity: 1 !important;
}

.woocommerce ul.products li.product .price ins,
.product-card .price ins {
	color: var(--uwaga-text) !important;
	background: none !important;
	font-weight: 600;
	text-decoration: none;
}

.product-card__actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.product-card .button,
.product-card a.add_to_cart_button {
	width: 100%;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	padding: 0.75rem !important;
	background: transparent !important;
	color: var(--uwaga-text) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
}

.product-card .button:hover,
.product-card a.add_to_cart_button:hover {
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	opacity: 1 !important;
}

/* AJAX “Zobacz koszyk” — WC injects a plain link after the add button */
.product-card a.added_to_cart,
.product-card a.added_to_cart.wc-forward {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	padding: 0.75rem 1rem !important;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	text-align: center;
	text-decoration: none !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	box-shadow: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
}

.product-card a.added_to_cart:hover,
.product-card a.added_to_cart.wc-forward:hover {
	color: var(--uwaga-on-accent) !important;
	opacity: 1 !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.product-card a.add_to_cart_button.added {
	opacity: 0.5;
}

.woocommerce span.onsale {
	min-height: auto;
	min-width: auto;
	padding: 0.25rem 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	line-height: 1.3;
	top: 0.75rem;
	left: 0.75rem;
}

/* ==========================================================================
   Single product — gallery + panel
   ========================================================================== */

.site-main--product {
	padding-bottom: 0;
}

.product-single {
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
}

.product-single__grid {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
}

@media (min-width: 900px) {
	.product-single__grid {
		grid-template-columns: 1fr 1fr;
		min-height: min(85vh, 820px);
	}
}

/* ---- Media / gallery ---- */
.product-single__media {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--uwaga-surface-2);
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

@media (min-width: 900px) {
	.product-single__media {
		border-bottom: none;
		border-right: var(--uwaga-stroke) solid var(--uwaga-border);
	}
}

.product-single__media .woocommerce-product-gallery {
	position: relative;
	width: 100%;
	margin: 0;
	opacity: 1 !important;
}

.product-single__media .woocommerce-product-gallery__wrapper {
	display: block;
	width: 100%;
}

.product-single__media .woocommerce-product-gallery__image {
	margin: 0;
	width: 100%;
}

/* Flexslider viewport — must not be forced to 0 / 100% height */
.product-single__media .flex-viewport {
	height: auto !important;
	overflow: hidden;
}

.product-single__media .woocommerce-product-gallery__image a {
	display: block;
	line-height: 0;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	cursor: zoom-in;
}

.product-single__media .woocommerce-product-gallery__image img,
.product-single__media .flex-viewport img {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(75vh, 780px);
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
}

@media (min-width: 900px) {
	.product-single__media .woocommerce-product-gallery__image img,
	.product-single__media .flex-viewport img {
		max-height: min(85vh, 820px);
	}
}

/* Main image area — room for arrows + fullscreen */
.product-single__media .woocommerce-product-gallery {
	max-width: 100%;
}

.product-single__media .woocommerce-product-gallery .flex-viewport {
	position: relative;
	overflow: hidden;
}

.product-single__media .flex-viewport .flex-direction-nav {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.product-single__media .flex-viewport .flex-direction-nav a {
	pointer-events: auto;
}

/* Prev / next arrows */
.product-single__media .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-single__media .flex-direction-nav a {
	position: absolute;
	top: 50%;
	z-index: 12;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: -24px 0 0;
	padding: 0;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	text-decoration: none;
	font-size: 0;
	line-height: 1;
	opacity: 1;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.product-single__media .flex-direction-nav a:hover {
	color: var(--uwaga-text);
	opacity: 1;
	transform: scale(1.04);
	box-shadow: var(--uwaga-shadow);
}

.product-single__media .flex-direction-nav .flex-prev {
	left: 1rem;
}

.product-single__media .flex-direction-nav .flex-next {
	right: 1rem;
}

.product-single__media .flex-direction-nav a::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: var(--uwaga-stroke) solid currentColor;
	border-right: var(--uwaga-stroke) solid currentColor;
}

.product-single__media .flex-direction-nav .flex-prev::before {
	transform: rotate(-135deg);
	margin-left: 4px;
}

.product-single__media .flex-direction-nav .flex-next::before {
	transform: rotate(45deg);
	margin-right: 4px;
}

.product-single__media .flex-direction-nav .flex-disabled {
	opacity: 0.25;
	pointer-events: none;
}

/* Fullscreen / lightbox trigger */
.product-single__media .woocommerce-product-gallery__trigger,
.product-single__media .uwaga-gallery-trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 14;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	box-sizing: border-box;
	border-radius: 0;
	text-indent: 0;
	overflow: visible;
	opacity: 1 !important;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.product-single__media .woocommerce-product-gallery__trigger:hover,
.product-single__media .uwaga-gallery-trigger:hover {
	color: var(--uwaga-on-accent);
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.product-single__media .woocommerce-product-gallery__trigger::before,
.product-single__media .woocommerce-product-gallery__trigger::after,
.product-single__media .uwaga-gallery-trigger::before,
.product-single__media .uwaga-gallery-trigger::after {
	display: none !important;
}

.product-single__media .uwaga-gallery-trigger__label {
	display: block;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Thumbnail strip — horizontal scroll (override WC float grid) */
.product-single__media .flex-control-thumbs,
.product-single__media ol.flex-control-nav.flex-control-thumbs {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap !important;
	gap: 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-bg);
	overflow-x: auto !important;
	overflow-y: hidden !important;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: none;
	scrollbar-width: thin;
}

.product-single__media .flex-control-thumbs li,
.product-single__media ol.flex-control-thumbs li {
	flex: 0 0 auto;
	width: 88px !important;
	max-width: none;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	border-right: 1px solid var(--uwaga-border);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.product-single__media .flex-control-thumbs li:nth-child(3n + 1),
.product-single__media .flex-control-thumbs li:nth-child(4n + 1),
.product-single__media .flex-control-thumbs li:nth-child(5n + 1),
.product-single__media ol.flex-control-thumbs li:nth-child(3n + 1),
.product-single__media ol.flex-control-thumbs li:nth-child(4n + 1),
.product-single__media ol.flex-control-thumbs li:nth-child(5n + 1) {
	clear: none !important;
}

.product-single__media .flex-control-thumbs li:last-child,
.product-single__media ol.flex-control-thumbs li:last-child {
	border-right: none;
}

.product-single__media .flex-control-thumbs img,
.product-single__media ol.flex-control-thumbs img {
	display: block;
	width: 88px;
	height: 88px;
	min-height: 0;
	max-height: none;
	object-fit: cover;
	opacity: 0.45;
	border: none;
	transition: opacity 0.15s ease;
	pointer-events: none;
	-webkit-user-drag: none;
	user-select: none;
}

.product-single__media .flex-control-thumbs img.flex-active,
.product-single__media ol.flex-control-thumbs img.flex-active {
	opacity: 1;
	outline: none;
	box-shadow: inset 0 0 0 var(--uwaga-stroke) var(--uwaga-text);
}

@media (hover: hover) and (pointer: fine) {
	.product-single__media .flex-control-thumbs li:hover img,
	.product-single__media ol.flex-control-thumbs li:hover img {
		opacity: 1;
	}
}

@media (max-width: 899px) {
	.product-single,
	.product-single__grid,
	.product-single__media {
		min-width: 0;
		max-width: 100%;
	}

	.product-single__media .flex-control-thumbs li,
	.product-single__media ol.flex-control-thumbs li {
		width: 72px !important;
	}

	.product-single__media .flex-control-thumbs img,
	.product-single__media ol.flex-control-thumbs img {
		width: 72px !important;
		height: 72px !important;
	}

	.product-single__panel {
		min-width: 0;
		max-width: 100%;
		overflow-x: clip;
	}

	.product-single form.variations_form .variations select {
		max-width: 100%;
	}
}

@media (hover: none) {
	.product-single__media .flex-direction-nav a:hover,
	.product-single__media .woocommerce-product-gallery__trigger:hover,
	.product-single__media .uwaga-gallery-trigger:hover {
		transform: none;
		box-shadow: none;
	}
}

/* Sale badge on image */
.product-single__media > .onsale {
	top: 1rem;
	left: 1rem;
	z-index: 2;
}

.product-single__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3rem);
}

.product-single__index {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: var(--uwaga-text-muted);
	margin: 0 0 1rem;
}

.product-single .product_title {
	font-family: var(--uwaga-font-display);
	font-size: clamp(2.75rem, 8vw, 5rem);
	font-weight: 400;
	line-height: 0.92;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 0 0 1.25rem;
}

.product-single p.price {
	font-family: var(--uwaga-font-mono);
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin: 0 0 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.product-single .woocommerce-product-details__short-description {
	font-size: 0.9375rem;
	color: var(--uwaga-text-muted);
	margin-bottom: 2rem;
	max-width: 40ch;
}

.product-single .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* Simple products only — flex breaks variable product tables / variation wrap */
.product-single form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
	margin: 0;
}

.product-single form.variations_form.cart {
	display: block;
	width: 100%;
	margin: 0;
}

.product-single form.variations_form .variations {
	width: 100%;
	margin: 0 0 1.5rem;
	border: none;
	border-collapse: collapse;
}

.product-single form.variations_form .variations tbody,
.product-single form.variations_form .variations tr {
	display: block;
	width: 100%;
}

.product-single form.variations_form .variations tr {
	margin-bottom: 1.25rem;
}

.product-single form.variations_form .variations tr:last-child {
	margin-bottom: 0;
}

.product-single form.variations_form .variations th,
.product-single form.variations_form .variations td {
	display: block;
	width: 100%;
	padding: 0;
	text-align: left;
	border: none;
}

.product-single form.variations_form .variations th.label {
	margin-bottom: 0.5rem;
}

.product-single form.variations_form .variations th.label label {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--uwaga-text-muted);
}

.product-single form.variations_form .variations td.value {
	position: relative;
}

.product-single form.variations_form .variations select {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 0.75rem 2.75rem 0.75rem 1rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--uwaga-text);
	background-color: var(--uwaga-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 12px 8px;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	appearance: none;
	cursor: pointer;
}

[data-theme="dark"] .product-single form.variations_form .variations select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}

.product-single form.variations_form .variations select:focus {
	outline: 2px solid var(--uwaga-text);
	outline-offset: 2px;
}

.product-single form.variations_form a.reset_variations {
	display: inline-block;
	margin-top: 0.65rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--uwaga-text-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.product-single form.variations_form a.reset_variations:hover {
	color: var(--uwaga-text);
}

.product-single form.variations_form .single_variation_wrap {
	width: 100%;
	margin-top: 0.25rem;
}

.product-single form.variations_form .woocommerce-variation {
	margin-bottom: 1rem;
}

.product-single form.variations_form .woocommerce-variation-price,
.product-single form.variations_form .woocommerce-variation-price .price {
	font-family: var(--uwaga-font-mono);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin: 0;
}

.product-single form.variations_form .woocommerce-variation-description {
	font-size: 0.875rem;
	color: var(--uwaga-text-muted);
	margin: 0.5rem 0 0;
}

.product-single form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
	margin: 0;
}

.product-single form.variations_form .woocommerce-variation-add-to-cart .quantity {
	margin: 0;
}

.product-single form.variations_form .woocommerce-variation-add-to-cart .quantity input.qty {
	width: 4rem;
	height: 100%;
	min-height: 52px;
	padding: 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 1rem;
	text-align: center;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	border-radius: 0;
}

.product-single form.variations_form .woocommerce-variation-add-to-cart .button {
	flex: 1;
	min-height: 52px;
}

.product-single form.cart .quantity {
	margin: 0;
}

.product-single form.cart .quantity input.qty {
	width: 4rem;
	height: 100%;
	min-height: 52px;
	padding: 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 1rem;
	text-align: center;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	border-radius: 0;
}

.product-single form.cart .button {
	flex: 1;
	min-height: 52px;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	padding: 1rem 1.5rem !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
}

.product-single form.cart .button:hover {
	opacity: 1 !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.product-single form.cart .button.loading {
	opacity: 0.65;
	pointer-events: none;
}

/* WC adds a duplicate “Zobacz koszyk” link after the button — hide it; use the notice bar instead. */
.product-single form.cart .added_to_cart {
	display: none !important;
}

.product-single .uwaga-product-notices {
	width: 100%;
	flex-basis: 100%;
	margin-top: 0.25rem;
}

.product-single .uwaga-product-notices:empty {
	display: none;
	margin: 0;
}

.site-main--product .uwaga-product-notices .woocommerce-message,
.site-main--product .uwaga-product-notices .woocommerce-error {
	margin-top: 0.75rem;
}

.site-main--product .uwaga-product-notices .woocommerce-message {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
}

.site-main--product .uwaga-product-notices .woocommerce-message .uwaga-notice-text {
	flex: 1 1 auto;
	min-width: min(100%, 12rem);
	line-height: 1.4;
}

.site-main--product .uwaga-product-notices .woocommerce-message a.button,
.site-main--product .uwaga-product-notices .woocommerce-message a.uwaga-notice-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	flex-shrink: 0;
	min-height: 2.5rem;
	padding: 0.55rem 1rem !important;
	vertical-align: middle;
}

/* Description */
.product-single__desc {
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2.5rem);
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.product-single__label {
	font-family: var(--uwaga-font-display);
	font-size: 2rem;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.product-single__desc-body {
	font-size: 0.9375rem;
	color: var(--uwaga-text-muted);
	line-height: 1.7;
}

/* Global WC buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.75rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	border-radius: 0 !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
}

/* Shared page head (cart, etc.) — matches shop archive title */
.uwaga-page-head {
	padding: clamp(2rem, 5vw, 3rem) 0 clamp(1.25rem, 3vw, 1.75rem);
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-cart-has-items .uwaga-page-head {
	margin-bottom: 0.5rem;
}

.uwaga-page-head__title {
	font-family: var(--uwaga-font-display);
	font-size: clamp(2.5rem, 8vw, 4.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 0.95;
	margin: 0;
}

.uwaga-page-head__lead {
	margin: 1rem 0 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--uwaga-text-muted);
	max-width: 40ch;
}

.uwaga-section-title {
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 1.5rem;
	padding-bottom: 1rem;
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

/* Cart */
.site-main--cart {
	padding-top: 0;
}

.uwaga-cart {
	width: 100%;
}

.uwaga-cart__notices {
	width: 100%;
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 1.25rem;
}

.uwaga-cart__notices .woocommerce-message,
.uwaga-cart__notices .woocommerce-info,
.uwaga-cart__notices .woocommerce-error {
	margin: 0 0 0.75rem;
}

.uwaga-cart__notices .woocommerce-message:last-child,
.uwaga-cart__notices .woocommerce-info:last-child,
.uwaga-cart__notices .woocommerce-error:last-child {
	margin-bottom: 0;
}

.uwaga-cart--empty .uwaga-cart-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 2rem 0 1rem;
}

.uwaga-cart-empty__products {
	padding: 2.5rem 0 0;
	margin-top: 2rem;
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-cart-empty__products .section-head {
	margin-bottom: 1.5rem;
}

.uwaga-cart--empty .uwaga-cart-empty__actions .btn--ghost:hover {
	color: var(--uwaga-text);
	opacity: 1;
}

/* Filled cart — kill WooCommerce layout floats (48% right column hack) */
.uwaga-cart-has-items .woocommerce::after,
.uwaga-cart-has-items .cart-collaterals::before,
.uwaga-cart-has-items .cart-collaterals::after {
	display: none !important;
}

.uwaga-cart-has-items .woocommerce-cart-form,
.uwaga-cart-has-items .cart-collaterals,
.uwaga-cart-has-items .cart-collaterals .cart_totals,
.uwaga-cart-has-items .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
}

.uwaga-cart-has-items .uwaga-cart {
	width: 100%;
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.uwaga-cart__layout {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 100%;
	max-width: 100%;
	align-items: stretch;
}

.uwaga-cart__main {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.uwaga-cart__sidebar {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

@media (min-width: 900px) {
	.uwaga-cart__layout {
		flex-direction: row;
		align-items: flex-start;
		gap: clamp(2rem, 4vw, 3rem);
	}

	.uwaga-cart__main {
		flex: 1 1 0;
	}

	.uwaga-cart__sidebar {
		flex: 0 0 min(360px, 34vw);
		max-width: 400px;
		position: sticky;
		top: calc(var(--uwaga-header-h) + 1rem);
	}
}

.uwaga-cart .cart-collaterals {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.uwaga-cart .cart_totals {
	float: none !important;
	width: 100% !important;
}

/* Cart form — card list (no table) */
.uwaga-cart-has-items .woocommerce-cart-form {
	margin: 0;
	width: 100%;
}

.uwaga-cart-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.uwaga-cart-item {
	display: grid;
	grid-template-columns: 88px 1fr minmax(7.5rem, 9.5rem);
	grid-template-areas: "media body actions";
	gap: 0.75rem 1.25rem;
	align-items: start;
	padding: 1.25rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.uwaga-cart-item:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

@media (min-width: 640px) {
	.uwaga-cart-item {
		grid-template-columns: 112px 1fr minmax(8.5rem, 10rem);
		padding: 1.35rem 1.5rem;
	}
}

.uwaga-cart-item__actions {
	grid-area: actions;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.85rem;
	min-width: 0;
}

/* WooCommerce core forces `.product-remove` to 1em wide, so the 32px × button
   overflowed it. Collapse the wrapper's box (display: contents) so the × itself
   becomes the flex child and right-aligns flush with SUMA / qty. */
.uwaga-cart-item__remove {
	display: contents;
}

.uwaga-cart-item__remove .remove,
.uwaga-cart-item__remove .uwaga-cart-remove,
.uwaga-cart .woocommerce-cart-form a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	font-family: var(--uwaga-font-display);
	font-size: 1.35rem;
	line-height: 1;
	font-weight: 400;
	color: var(--uwaga-text) !important;
	background: var(--uwaga-bg) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.uwaga-cart-item__remove .remove:hover,
.uwaga-cart-item__remove .uwaga-cart-remove:hover,
.uwaga-cart .woocommerce-cart-form a.remove:hover {
	color: var(--uwaga-on-accent) !important;
	background: var(--uwaga-accent) !important;
	border-color: var(--uwaga-border) !important;
	transform: translate(-1px, -1px);
	box-shadow: 4px 4px 0 var(--uwaga-border);
	opacity: 1;
}

.uwaga-cart-item__media {
	grid-area: media;
	align-self: start;
}

.uwaga-cart-item__media a {
	display: block;
	overflow: hidden;
	aspect-ratio: 1;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface-2);
}

.uwaga-cart-item__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.uwaga-cart-item__body {
	grid-area: body;
	min-width: 0;
}

.uwaga-cart-item__title {
	margin: 0 0 0.35rem;
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
	font-weight: 400;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.uwaga-cart-item__title a {
	color: var(--uwaga-text);
	text-decoration: none;
}

.uwaga-cart-item__title a:hover {
	opacity: 0.65;
}

.uwaga-cart-item__body .variation,
.uwaga-cart-item__body dl {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--uwaga-text-muted);
	margin: 0.35rem 0 0;
}

.uwaga-cart-item__label {
	display: block;
	margin-bottom: 0.25rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--uwaga-text-muted);
}

.uwaga-cart-item__unit-price {
	margin: 0.75rem 0 0;
	font-family: var(--uwaga-font-mono);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--uwaga-text) !important;
}

.uwaga-cart-item__unit-price .amount {
	color: inherit;
}

.uwaga-cart-item__qty {
	text-align: right;
}

.uwaga-cart-item__qty .quantity {
	display: inline-flex;
}

.uwaga-cart-item__qty .qty {
	width: 3.75rem;
	min-height: 44px;
	padding: 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.9375rem;
	text-align: center;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	border-radius: 0;
}

.uwaga-cart-item__subtotal {
	text-align: right;
	width: 100%;
}

.uwaga-cart-item__subtotal .amount {
	font-family: var(--uwaga-font-mono);
	font-size: 1rem;
	font-weight: 600;
	color: var(--uwaga-text) !important;
}

/* Coupon + update */
.uwaga-cart-form__foot {
	margin-top: 1.25rem;
	padding-top: 0;
}

.uwaga-cart-form__foot-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: clamp(1rem, 3vw, 1.5rem);
	align-items: start;
}

/* Override WooCommerce core `.coupon { display: flex }` so the label always
   stacks above the input row (instead of sitting beside it on wide columns). */
.uwaga-cart-form__foot .uwaga-cart-form__coupon.coupon {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	grid-column: 1;
	min-width: 0;
}

.uwaga-cart-form__foot-actions {
	grid-column: 2;
	padding-top: 1.625rem;
}

.uwaga-cart-form__foot-grid:not(:has(.uwaga-cart-form__coupon)) {
	grid-template-columns: 1fr;
}

.uwaga-cart-form__foot-grid:not(:has(.uwaga-cart-form__coupon)) .uwaga-cart-form__foot-actions {
	grid-column: 1;
	padding-top: 0;
}

.uwaga-cart-form__coupon-label {
	display: block;
	margin-bottom: 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--uwaga-text-muted);
}

.uwaga-cart-form__coupon-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	max-width: 30rem;
}

.uwaga-cart-form__coupon-row .input-text {
	flex: 1 1 140px;
	min-height: 44px;
	padding: 0.65rem 0.85rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	border: 1px solid var(--uwaga-border);
	border-radius: 0 !important;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.uwaga-cart-form__coupon-row .button {
	border-radius: 0 !important;
}

.uwaga-cart-form__coupon-row .input-text.has-error {
	border-color: color-mix(in srgb, var(--uwaga-text) 35%, #c44 65%);
	box-shadow: inset 3px 0 0 color-mix(in srgb, #c44 70%, transparent);
}

.uwaga-cart-form__coupon-feedback {
	margin-top: 0.5rem;
	min-height: 0;
}

.uwaga-cart-form__coupon-feedback,
.uwaga-cart-form__coupon > .coupon-error-notice {
	max-width: 30rem;
}

/* WooCommerce renders the inline coupon error either inside our feedback slot
   or as a direct child of the coupon block; style both placements. */
.uwaga-cart-form__coupon-feedback .coupon-error-notice,
.uwaga-cart-form__coupon > .coupon-error-notice {
	margin: 0.5rem 0 0;
	padding: 0.55rem 0 0.55rem 0.75rem;
	border: none;
	border-radius: 0 !important;
	border-left: 2px solid color-mix(in srgb, var(--uwaga-text) 25%, #c44 75%);
	background: color-mix(in srgb, var(--uwaga-surface) 88%, #c44 12%);
	box-shadow: none;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.05em;
	text-transform: none;
	color: var(--uwaga-text);
}

.uwaga-cart-form__foot .button {
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	min-height: 44px;
	padding: 0.65rem 1.25rem !important;
	background: transparent !important;
	color: var(--uwaga-text) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.uwaga-cart-form__foot .button:hover {
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	opacity: 1 !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

/* Update-cart is a secondary action: a quiet ghost button, never a heavy slab.
   Higher specificity + later position beats the global `.woocommerce button.button`
   accent fill so the disabled state does not render as a grey block. */
.woocommerce .uwaga-cart-form__foot button.uwaga-cart-form__update {
	background: transparent !important;
	color: var(--uwaga-text) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
}

.woocommerce .uwaga-cart-form__foot button.uwaga-cart-form__update:not(:disabled):hover {
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.woocommerce .uwaga-cart-form__foot button.uwaga-cart-form__update:disabled {
	opacity: 1;
	background: transparent !important;
	color: var(--uwaga-text-muted) !important;
	border-color: color-mix(in srgb, var(--uwaga-border) 45%, transparent) !important;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}

@media (max-width: 640px) {
	.uwaga-cart-form__foot-grid {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	.uwaga-cart-form__foot-actions {
		grid-column: 1;
		padding-top: 0;
	}

	.uwaga-cart-form__foot-actions .uwaga-cart-form__update {
		width: 100%;
	}
}

@media (max-width: 520px) {
	.uwaga-cart-item {
		grid-template-columns: 72px 1fr;
		grid-template-areas:
			"media body"
			"actions actions";
	}

	.uwaga-cart-item__actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
		justify-content: space-between;
		gap: 0.75rem 1rem;
		padding-top: 0.75rem;
		border-top: 1px solid color-mix(in srgb, var(--uwaga-border) 35%, transparent);
	}

	.uwaga-cart-item__subtotal,
	.uwaga-cart-item__qty {
		text-align: left;
		width: auto;
	}
}

/* Summary box */
.uwaga-cart__sidebar .cart-collaterals {
	display: block;
}

.uwaga-cart__sidebar .cart_totals,
.uwaga-cart-totals {
	width: 100%;
	padding: 1.5rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	box-sizing: border-box;
}

.uwaga-cart-totals__title {
	font-family: var(--uwaga-font-display);
	font-size: 1.75rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-cart-totals__table {
	border: none !important;
	margin: 0;
}

.uwaga-cart-totals__table th,
.uwaga-cart-totals__table td {
	padding: 0.65rem 0;
	border: none !important;
	border-bottom: 1px solid color-mix(in srgb, var(--uwaga-border) 35%, transparent) !important;
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
}

.uwaga-cart-totals__table th {
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--uwaga-text-muted);
}

.uwaga-cart-totals__table td {
	text-align: right;
	color: var(--uwaga-text) !important;
}

.uwaga-cart-totals__table tr.order-total th,
.uwaga-cart-totals__table tr.order-total td {
	padding-top: 1rem;
	border-bottom: none !important;
	font-size: 1rem;
	font-weight: 600;
	color: var(--uwaga-text) !important;
}

.uwaga-cart-totals__table tr.order-total .amount {
	font-family: var(--uwaga-font-display);
	font-size: 1.5rem;
	letter-spacing: 0.04em;
}

.uwaga-cart-totals__checkout {
	margin-top: 1.25rem;
	padding-top: 0;
}

.uwaga-cart-totals__checkout .checkout-button,
.uwaga-cart-totals__checkout a.button.alt {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0 !important;
	padding: 1rem 1.5rem !important;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.uwaga-cart-totals__checkout .checkout-button:hover,
.uwaga-cart-totals__checkout a.button.alt:hover {
	opacity: 1 !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.uwaga-cross-sells {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
}

/* ==========================================================================
   Checkout
   ========================================================================== */

.site-main--checkout {
	padding-top: 0;
}

/* ==========================================================================
   Order received (thank you)
   ========================================================================== */

body.woocommerce-order-received.site-main--checkout,
body.woocommerce-order-received .site-main--checkout {
	padding-top: 0;
}

/* Duplicate WP / WC page title (endpoint rewrites checkout page title) */
body.woocommerce-order-received .wp-block-post-title.entry__title,
body.woocommerce-order-received h1.wp-block-post-title.entry__title,
body.woocommerce-order-received .entry__content > h1:first-child {
	display: none !important;
}

/* WC block theme caps checkout at 1000px — thank-you should be full width */
body.woocommerce-order-received.woocommerce-checkout main .woocommerce,
body.woocommerce-order-received .site-main--checkout > .container > .woocommerce,
body.woocommerce-order-received .uwaga-order-received {
	max-width: none !important;
	width: 100%;
}

body.woocommerce-order-received .uwaga-order-received,
.uwaga-order-received {
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

body.woocommerce-order-received .uwaga-order-received__head,
.uwaga-order-received__head.uwaga-page-head {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

body.woocommerce-order-received .uwaga-order-received__back,
.uwaga-order-received__back {
	margin: 0 0 0.75rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

body.woocommerce-order-received .uwaga-order-received__back a,
.uwaga-order-received__back a {
	color: var(--uwaga-text-muted);
	text-decoration: none;
}

body.woocommerce-order-received .uwaga-order-received__back a:hover,
.uwaga-order-received__back a:hover {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-order-received .uwaga-order-received__inner,
body.woocommerce-order-received .woocommerce-order {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.woocommerce-order-received .uwaga-order-received__fallback-msg {
	margin: 0 0 1.5rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--uwaga-text-muted);
}

/* Legacy success line (if still output) — hide when page head shows the message */
body.woocommerce-order-received .uwaga-order-received__head ~ .woocommerce-order .woocommerce-thankyou-order-received,
.uwaga-order-received .woocommerce-thankyou-order-received {
	display: none;
}

body.woocommerce-order-received .woocommerce-notice,
.uwaga-order-received .woocommerce-notice {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	color: var(--uwaga-text);
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions,
.uwaga-order-received .woocommerce-thankyou-order-failed-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
}

body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button,
.uwaga-order-received .woocommerce-thankyou-order-failed-actions .button {
	margin: 0;
	padding: 0.65rem 1.1rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
}

/* Order summary — one receipt strip (not separate “table” cells) */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .uwaga-order-received__summary,
.uwaga-order-received .woocommerce-order-overview,
.uwaga-order-received .uwaga-order-received__summary {
	display: grid !important;
	flex-direction: unset !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem) !important;
	padding: 0 !important;
	list-style: none !important;
	gap: 0 !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	font-size: inherit !important;
	overflow: hidden;
}

body.woocommerce-order-received .woocommerce-order-overview li,
.uwaga-order-received .woocommerce-order-overview li,
.uwaga-order-received .uwaga-order-received__summary li {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: unset !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 0.35rem !important;
	margin: 0 !important;
	min-width: 0;
	padding: 1rem 1.25rem !important;
	border: none !important;
	border-right: 1px solid var(--uwaga-border) !important;
	border-bottom: none !important;
	background: transparent !important;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.625rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: var(--uwaga-text-muted) !important;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child,
.uwaga-order-received .woocommerce-order-overview li:last-child,
.uwaga-order-received .uwaga-order-received__summary li:last-child {
	border-right: none !important;
}

body.woocommerce-order-received .woocommerce-order-overview li.total,
.uwaga-order-received .woocommerce-order-overview li.total,
.uwaga-order-received .uwaga-order-received__summary li.total {
	background: var(--uwaga-surface-2) !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong,
.uwaga-order-received .woocommerce-order-overview li strong,
.uwaga-order-received .uwaga-order-received__summary li strong {
	display: block !important;
	margin: 0 !important;
	font-family: var(--uwaga-font) !important;
	font-size: clamp(0.9375rem, 1.5vw, 1.0625rem) !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--uwaga-text) !important;
	line-height: 1.3;
}

/* Medium + mobile — stacked rows (label left, value right) */
@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce-order-overview,
	body.woocommerce-order-received .uwaga-order-received__summary,
	.uwaga-order-received .uwaga-order-received__summary {
		display: flex !important;
		flex-direction: column !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li,
	.uwaga-order-received .woocommerce-order-overview li,
	.uwaga-order-received .uwaga-order-received__summary li {
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: baseline !important;
		justify-content: space-between !important;
		gap: 0.35rem 1rem !important;
		width: 100%;
		padding: 0.85rem 1rem !important;
		border-right: none !important;
		border-bottom: 1px solid var(--uwaga-border) !important;
		background: transparent !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li:last-child,
	.uwaga-order-received .woocommerce-order-overview li:last-child,
	.uwaga-order-received .uwaga-order-received__summary li:last-child {
		border-bottom: none !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li.total,
	.uwaga-order-received .woocommerce-order-overview li.total,
	.uwaga-order-received .uwaga-order-received__summary li.total {
		background: var(--uwaga-surface-2) !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li strong,
	.uwaga-order-received .woocommerce-order-overview li strong,
	.uwaga-order-received .uwaga-order-received__summary li strong {
		display: inline !important;
		flex: 0 1 auto;
		max-width: 58%;
		text-align: right;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	body.woocommerce-order-received .woocommerce-order-overview__email strong,
	.uwaga-order-received .woocommerce-order-overview__email strong {
		max-width: 72%;
	}
}

/* Desktop — single horizontal strip (no wrapping into a broken grid) */
@media (min-width: 901px) {
	body.woocommerce-order-received .woocommerce-order-overview,
	body.woocommerce-order-received .uwaga-order-received__summary,
	.uwaga-order-received .uwaga-order-received__summary {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li,
	.uwaga-order-received .woocommerce-order-overview li,
	.uwaga-order-received .uwaga-order-received__summary li {
		flex: 1 1 0 !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		min-width: 0;
		padding: 1rem clamp(0.85rem, 1.5vw, 1.25rem) !important;
		border-right: 1px solid var(--uwaga-border) !important;
		border-bottom: none !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li:last-child,
	.uwaga-order-received .woocommerce-order-overview li:last-child,
	.uwaga-order-received .uwaga-order-received__summary li:last-child {
		border-right: none !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li strong,
	.uwaga-order-received .woocommerce-order-overview li strong,
	.uwaga-order-received .uwaga-order-received__summary li strong {
		display: block !important;
		max-width: none;
		text-align: left;
	}
}

/* Order details — beat WC blocktheme .woocommerce-page table.shop_table { width: 70% } */
body.woocommerce-order-received .uwaga-order-received__details,
body.woocommerce-order-received .woocommerce-order-details,
.uwaga-order-received .woocommerce-order-details {
	width: 100%;
	max-width: none !important;
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	padding: 0;
}

body.woocommerce-order-received .uwaga-order-received__table-wrap,
.uwaga-order-received .uwaga-order-received__table-wrap {
	width: 100%;
	max-width: none;
	min-width: 0;
}

body.woocommerce-order-received.woocommerce-page .uwaga-order-received__table-wrap table.shop_table,
body.woocommerce-order-received .uwaga-order-received__table,
body.woocommerce-order-received table.order_details,
.uwaga-order-received table.order_details {
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	box-sizing: border-box;
}

body.woocommerce-order-received.woocommerce-page .woocommerce-customer-details address,
body.woocommerce-order-received .uwaga-order-received__address-card address,
.uwaga-order-received .uwaga-order-received__address-card address {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

body.woocommerce-order-received .uwaga-order-received__details .uwaga-section-title,
body.woocommerce-order-received .woocommerce-order-details__title.uwaga-section-title {
	margin-bottom: 1.25rem;
}

body.woocommerce-order-received .uwaga-order-received__table,
body.woocommerce-order-received table.order_details,
.uwaga-order-received table.order_details {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-collapse: collapse;
	table-layout: fixed;
}

body.woocommerce-order-received .uwaga-order-received__table th,
body.woocommerce-order-received .uwaga-order-received__table td,
body.woocommerce-order-received table.order_details th,
body.woocommerce-order-received table.order_details td,
.uwaga-order-received table.order_details th,
.uwaga-order-received table.order_details td {
	padding: 0.85rem 1rem;
	border: 1px solid var(--uwaga-border);
	vertical-align: top;
	font-size: 0.9375rem;
}

/* Two columns: product/label left, totals right (explicit — avoid tbody td matching both cols) */
body.woocommerce-order-received .uwaga-order-received__table :is(.product-name, tfoot th),
body.woocommerce-order-received table.order_details :is(.product-name, tfoot th),
.uwaga-order-received table.order_details :is(.product-name, tfoot th) {
	width: 68%;
}

body.woocommerce-order-received .uwaga-order-received__table :is(.product-total, tfoot td),
body.woocommerce-order-received table.order_details :is(.product-total, tfoot td),
.uwaga-order-received table.order_details :is(.product-total, tfoot td) {
	width: 32%;
	text-align: right;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.woocommerce-order-received .uwaga-order-received__table thead th,
body.woocommerce-order-received table.order_details thead th,
.uwaga-order-received table.order_details thead th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: var(--uwaga-surface-2);
}

body.woocommerce-order-received .uwaga-order-received__table tfoot th,
body.woocommerce-order-received table.order_details tfoot th,
.uwaga-order-received table.order_details tfoot th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--uwaga-surface);
}

body.woocommerce-order-received .uwaga-order-received__table tr.order-total th,
body.woocommerce-order-received .uwaga-order-received__table tr.order-total td,
body.woocommerce-order-received table.order_details tr.order-total th,
body.woocommerce-order-received table.order_details tr.order-total td,
.uwaga-order-received table.order_details tr.order-total th,
.uwaga-order-received table.order_details tr.order-total td {
	font-weight: 700;
	background: var(--uwaga-surface-2);
}

/* Keep real table layout (WC blocktheme stacks rows on small screens) */
body.woocommerce-order-received .uwaga-order-received__table tbody tr,
body.woocommerce-order-received .uwaga-order-received__table tfoot tr,
body.woocommerce-order-received table.order_details tbody tr,
body.woocommerce-order-received table.order_details tfoot tr {
	display: table-row;
}

body.woocommerce-order-received .uwaga-order-received__table tbody td::before,
body.woocommerce-order-received .uwaga-order-received__table tfoot td::before,
body.woocommerce-order-received table.order_details tbody td::before,
body.woocommerce-order-received table.order_details tfoot td::before {
	display: none !important;
	content: none !important;
}

/* Addresses */
body.woocommerce-order-received .uwaga-order-received__addresses,
body.woocommerce-order-received .woocommerce-customer-details,
.uwaga-order-received .woocommerce-customer-details {
	margin: 0;
	padding-top: 0.25rem;
}

body.woocommerce-order-received .uwaga-order-received__address-grid,
body.woocommerce-order-received .woocommerce-columns--addresses.col2-set,
.uwaga-order-received .uwaga-order-received__address-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 0;
	width: 100%;
}

body.woocommerce-order-received .uwaga-order-received__address-grid::before,
body.woocommerce-order-received .uwaga-order-received__address-grid::after,
body.woocommerce-order-received .woocommerce-columns--addresses.col2-set::before,
body.woocommerce-order-received .woocommerce-columns--addresses.col2-set::after {
	display: none !important;
}

body.woocommerce-order-received .uwaga-order-received__address-card,
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column,
.uwaga-order-received .uwaga-order-received__address-card {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 1rem 1.15rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-right: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	background: var(--uwaga-surface);
}

body.woocommerce-order-received .woocommerce-column__title,
.uwaga-order-received .woocommerce-column__title {
	margin: 0 0 0.75rem;
	padding: 0;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	border: none;
}

body.woocommerce-order-received .uwaga-order-received__address-card address,
.uwaga-order-received .uwaga-order-received__address-card address {
	font-style: normal;
	line-height: 1.55;
	margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email,
.uwaga-order-received .woocommerce-customer-details--phone,
.uwaga-order-received .woocommerce-customer-details--email {
	margin: 0.5rem 0 0;
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
}

/* Payment gateway notes (COD, BACS, …) */
body.woocommerce-order-received .woocommerce-order .woocommerce-thankyou p,
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details,
.uwaga-order-received .wc-bacs-bank-details {
	margin: 1.25rem 0 0;
	padding: 1rem 1.15rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
	line-height: 1.5;
}

body.woocommerce-order-received .order-actions-button,
body.woocommerce-order-received .woocommerce-button.button,
.uwaga-order-received .order-actions-button {
	display: inline-block;
	margin: 0.25rem 0.5rem 0.25rem 0;
	padding: 0.5rem 0.85rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
}

@media (max-width: 900px) {
	body.woocommerce-order-received .uwaga-order-received__head.uwaga-page-head,
	.uwaga-order-received__head.uwaga-page-head {
		padding-top: clamp(1.25rem, 4vw, 2rem);
		padding-bottom: clamp(0.85rem, 2.5vw, 1.25rem);
	}
}

@media (max-width: 900px) {
	body.woocommerce-order-received .uwaga-order-received__address-grid,
	body.woocommerce-order-received .woocommerce-columns--addresses.col2-set,
	.uwaga-order-received .uwaga-order-received__address-grid {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .uwaga-order-received__table-wrap,
	.uwaga-order-received .uwaga-order-received__table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Mobile */
@media (max-width: 640px) {
	body.woocommerce-order-received.site-main--checkout,
	body.woocommerce-order-received .site-main--checkout {
		padding-bottom: clamp(2rem, 5vw, 3rem);
	}

	body.woocommerce-order-received .site-main--checkout > .container,
	body.woocommerce-order-received .site-main--checkout .container {
		padding-left: clamp(0.85rem, 4vw, 1.15rem);
		padding-right: clamp(0.85rem, 4vw, 1.15rem);
	}

	body.woocommerce-order-received .uwaga-order-received,
	.uwaga-order-received {
		padding-bottom: 1.75rem;
		min-width: 0;
	}

	body.woocommerce-order-received .uwaga-order-received__head.uwaga-page-head,
	.uwaga-order-received__head.uwaga-page-head {
		margin-bottom: 1.25rem;
		padding-bottom: 1rem;
	}

	body.woocommerce-order-received .uwaga-order-received__head .uwaga-page-head__title,
	.uwaga-order-received__head .uwaga-page-head__title {
		font-size: clamp(1.85rem, 10vw, 2.5rem);
		line-height: 0.98;
		word-break: break-word;
	}

	body.woocommerce-order-received .uwaga-page-head__lead,
	.uwaga-order-received .uwaga-page-head__lead {
		font-size: 0.9375rem;
		max-width: none;
	}

	body.woocommerce-order-received .uwaga-order-received__summary {
		margin-bottom: 1.5rem !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview li strong,
	.uwaga-order-received .uwaga-order-received__summary li strong {
		font-size: 0.875rem !important;
	}

	body.woocommerce-order-received .uwaga-order-received__details .uwaga-section-title,
	body.woocommerce-order-received .woocommerce-order-details__title.uwaga-section-title {
		margin-bottom: 1rem;
		font-size: clamp(1.35rem, 5vw, 1.75rem);
	}

	body.woocommerce-order-received .uwaga-order-received__table-wrap,
	.uwaga-order-received .uwaga-order-received__table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.woocommerce-order-received .uwaga-order-received__table th,
	body.woocommerce-order-received .uwaga-order-received__table td,
	body.woocommerce-order-received table.order_details th,
	body.woocommerce-order-received table.order_details td,
	.uwaga-order-received table.order_details th,
	.uwaga-order-received table.order_details td {
		padding: 0.7rem 0.75rem;
		font-size: 0.875rem;
	}

	body.woocommerce-order-received .uwaga-order-received__table :is(.product-name, tfoot th),
	body.woocommerce-order-received table.order_details :is(.product-name, tfoot th),
	.uwaga-order-received table.order_details :is(.product-name, tfoot th) {
		width: 55%;
	}

	body.woocommerce-order-received .uwaga-order-received__table :is(.product-total, tfoot td),
	body.woocommerce-order-received table.order_details :is(.product-total, tfoot td),
	.uwaga-order-received table.order_details :is(.product-total, tfoot td) {
		width: 45%;
	}

	body.woocommerce-order-received .uwaga-order-received__address-card,
	.uwaga-order-received .uwaga-order-received__address-card {
		padding: 0.9rem 1rem;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions,
	.uwaga-order-received .woocommerce-thankyou-order-failed-actions {
		flex-direction: column;
		align-items: stretch;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button,
	.uwaga-order-received .woocommerce-thankyou-order-failed-actions .button {
		width: 100%;
		text-align: center;
	}

	body.woocommerce-order-received .order-actions-button,
	body.woocommerce-order-received .woocommerce-button.button,
	.uwaga-order-received .order-actions-button {
		display: block;
		width: 100%;
		margin: 0.35rem 0 0;
		text-align: center;
		box-sizing: border-box;
	}
}


.uwaga-checkout {
	width: 100%;
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

.uwaga-checkout__head {
	padding-top: clamp(1.5rem, 4vw, 2.25rem);
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.uwaga-checkout__head .uwaga-page-head__title {
	font-size: clamp(2rem, 6vw, 3.25rem);
}

.uwaga-checkout__back {
	margin: 0 0 0.75rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.uwaga-checkout__back a {
	color: var(--uwaga-text-muted);
	text-decoration: none;
}

.uwaga-checkout__back a:hover {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uwaga-checkout__notices {
	width: 100%;
	margin: 0 0 1rem;
}

.uwaga-checkout__notices .woocommerce-message,
.uwaga-checkout__notices .woocommerce-info,
.uwaga-checkout__notices .woocommerce-error {
	margin: 0 0 0.5rem;
}

/* Login / coupon — compact top strip */
.uwaga-checkout__utilities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 0 0 1.25rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--uwaga-border);
}

.uwaga-checkout__utilities .woocommerce-form-login-toggle,
.uwaga-checkout__utilities .woocommerce-form-coupon-toggle {
	margin: 0;
}

.uwaga-checkout__utilities .woocommerce-info {
	margin: 0;
	padding: 0;
	border: none !important;
	border-radius: 0 !important;
	background: transparent;
	box-shadow: none;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout__utilities .woocommerce-info a {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uwaga-checkout .woocommerce-form-login {
	margin: 0 0 1rem;
	padding: 1rem;
	border: 1px solid var(--uwaga-border);
	background: var(--uwaga-bg);
}

/* Coupon form — full width below toggle strip (matches cart) */
.uwaga-checkout form.checkout_coupon,
.uwaga-checkout .uwaga-checkout-coupon.checkout_coupon {
	display: none;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent;
	text-align: left;
	box-shadow: none;
	transition: none !important;
	animation: none !important;
}

.uwaga-checkout-coupon__row .coupon-error-notice,
.uwaga-checkout-coupon__inner > .woocommerce-error {
	display: none !important;
}

.uwaga-checkout-coupon__inner {
	min-width: 0;
}

.uwaga-checkout-coupon__label {
	display: block;
	margin-bottom: 0.5rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout-coupon__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.uwaga-checkout-coupon__row .input-text {
	flex: 1 1 10rem;
	min-width: 0;
	min-height: 44px;
	margin: 0;
	padding: 0.65rem 0.85rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	border: 1px solid var(--uwaga-border);
	border-radius: 0 !important;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.uwaga-checkout-coupon__row .input-text:focus {
	border-color: var(--uwaga-text);
	outline: none;
}

.uwaga-checkout-coupon__row .input-text.has-error {
	border-color: color-mix(in srgb, var(--uwaga-text) 35%, #c44 65%);
	box-shadow: inset 3px 0 0 color-mix(in srgb, #c44 70%, transparent);
}

.uwaga-checkout-coupon__row .button {
	flex: 0 0 auto;
	min-height: 44px;
	margin: 0;
	padding: 0.65rem 1.15rem;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	line-height: 1.2 !important;
	border-radius: 0 !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.uwaga-checkout-coupon__row .button:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
	opacity: 1 !important;
}

.uwaga-checkout-coupon.processing .button[type="submit"] {
	opacity: 0.55;
	cursor: wait;
}

form.checkout_coupon .blockUI,
form.checkout_coupon.blockUI .blockOverlay {
	display: none !important;
}

.uwaga-checkout-coupon__feedback {
	display: block;
	margin-top: 0.5rem;
	min-height: 0;
}

.uwaga-checkout-coupon__feedback:empty {
	margin: 0;
	padding: 0;
	min-height: 0;
}

.uwaga-checkout-coupon__feedback .coupon-error-notice {
	display: block;
	margin: 0;
	padding: 0.55rem 0.75rem;
	border: none;
	border-radius: 0 !important;
	border-left: 2px solid color-mix(in srgb, var(--uwaga-text) 25%, #c44 75%);
	background: color-mix(in srgb, var(--uwaga-surface) 88%, #c44 12%);
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.05em;
	text-transform: none;
	color: var(--uwaga-text);
	box-shadow: none;
}

.uwaga-checkout-coupon__feedback .coupon-error-notice::before {
	display: none !important;
	content: none !important;
}

.uwaga-checkout__layout {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.uwaga-checkout__main,
.uwaga-checkout__sidebar {
	min-width: 0;
}

@media (min-width: 960px) {
	.uwaga-checkout__layout {
		flex-direction: row;
		align-items: flex-start;
		gap: clamp(1.5rem, 3vw, 2.5rem);
	}

	.uwaga-checkout__main {
		flex: 1 1 0;
	}

	.uwaga-checkout__sidebar {
		flex: 0 0 min(340px, 34vw);
		max-width: 380px;
		position: sticky;
		top: calc(var(--uwaga-header-h, 4rem) + 0.75rem);
	}
}

/* Single form card (all steps inside) */
.uwaga-checkout__card {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
}

.uwaga-checkout__step {
	padding: clamp(1.25rem, 3vw, 1.5rem);
}

.uwaga-checkout__step + .uwaga-checkout__step {
	border-top: 1px solid var(--uwaga-border);
}

.uwaga-checkout__step-head {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
}

.uwaga-checkout__step-num {
	flex: 0 0 auto;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--uwaga-text-muted);
	opacity: 0.85;
}

.uwaga-checkout__step-title {
	margin: 0;
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.05;
}

.uwaga-checkout__ship-toggle {
	margin: -0.5rem 0 1rem;
}

.uwaga-checkout__toggle {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	cursor: pointer;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--uwaga-text-muted);
	line-height: 1.4;
}

.uwaga-checkout__toggle input {
	margin-top: 0.15rem;
	accent-color: var(--uwaga-accent);
}

.uwaga-checkout__account {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px dashed var(--uwaga-border);
}

.uwaga-checkout__account .create-account {
	margin-top: 0.75rem;
}

/* Field grid */
.uwaga-checkout__field-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem 1rem;
}

.uwaga-checkout__field-grid--single {
	max-width: 100%;
}

@media (min-width: 600px) {
	.uwaga-checkout__field-grid:not(.uwaga-checkout__field-grid--single) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.uwaga-checkout__field-grid .form-row {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}

.uwaga-checkout__field-grid .form-row-wide,
.uwaga-checkout__field-grid #billing_address_1_field,
.uwaga-checkout__field-grid #billing_address_2_field,
.uwaga-checkout__field-grid #shipping_address_1_field,
.uwaga-checkout__field-grid #shipping_address_2_field,
.uwaga-checkout__field-grid #order_comments_field {
	grid-column: 1 / -1;
}

.uwaga-checkout .form-row label,
.woocommerce-checkout .form-row label {
	display: block;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.uwaga-checkout .form-row .required {
	color: inherit;
	text-decoration: none;
}

.uwaga-checkout .form-row input.input-text,
.uwaga-checkout .form-row textarea,
.uwaga-checkout .form-row select,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	width: 100%;
	min-height: 2.5rem;
	padding: 0.55rem 0.75rem;
	font-family: var(--uwaga-font);
	font-size: 0.9375rem;
	line-height: 1.4;
	border: 1px solid var(--uwaga-border);
	border-radius: 0;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
	box-shadow: none;
	transition: border-color 0.12s ease;
}

.uwaga-checkout .form-row input.input-text:focus,
.uwaga-checkout .form-row textarea:focus,
.uwaga-checkout .form-row select:focus,
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--uwaga-text);
	outline: none;
	box-shadow: none;
}

.uwaga-checkout .form-row textarea {
	min-height: 5rem;
	resize: vertical;
}

.uwaga-checkout .form-row.woocommerce-invalid input.input-text,
.uwaga-checkout .form-row.woocommerce-invalid select {
	border-color: #c44;
}

.uwaga-checkout .checkout-inline-error-message {
	margin: 0.4rem 0 0;
	padding: 0.5rem 0.65rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: var(--uwaga-text);
	background: color-mix(in srgb, var(--uwaga-surface) 88%, #c44 12%);
	border-left: 2px solid color-mix(in srgb, var(--uwaga-text) 25%, #c44 75%);
}

/* Order summary sidebar */
.uwaga-checkout-order {
	padding: clamp(1.15rem, 2.5vw, 1.35rem);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
}

.uwaga-checkout-order__title {
	margin: 0 0 1rem;
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1;
}

.uwaga-checkout-order__table {
	width: 100%;
	margin: 0 0 0.25rem;
	border: none !important;
	border-collapse: collapse;
	table-layout: fixed;
}

/* Override global .woocommerce table.shop_table rules on checkout summary */
.uwaga-checkout .uwaga-checkout-order__table.shop_table th,
.uwaga-checkout .uwaga-checkout-order__table.shop_table td {
	padding: 0.55rem 0;
	border: none !important;
	border-bottom: 1px solid var(--uwaga-border) !important;
	background: transparent;
	vertical-align: top;
}

.uwaga-checkout-order__table tbody tr:last-child td {
	border-bottom: none !important;
	padding-bottom: 0.35rem;
}

.uwaga-checkout-order__table tfoot {
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-checkout-order__table tfoot tr:first-child th,
.uwaga-checkout-order__table tfoot tr:first-child td {
	padding-top: 0.85rem;
}

.uwaga-checkout-order__table tfoot tr:last-child th,
.uwaga-checkout-order__table tfoot tr:last-child td {
	border-bottom: none !important;
}

/* WC responsive checkout table stacks rows — keep real table layout */
.woocommerce-checkout .uwaga-checkout-order__table tbody tr,
.woocommerce-checkout .uwaga-checkout-order__table tfoot tr {
	display: table-row !important;
}

.woocommerce-checkout .uwaga-checkout-order__table tbody th,
.woocommerce-checkout .uwaga-checkout-order__table tbody td,
.woocommerce-checkout .uwaga-checkout-order__table tfoot th,
.woocommerce-checkout .uwaga-checkout-order__table tfoot td {
	display: table-cell !important;
	width: auto !important;
}

.woocommerce-checkout .uwaga-checkout-order__table tbody td::before,
.woocommerce-checkout .uwaga-checkout-order__table tfoot td::before,
.woocommerce-checkout .uwaga-checkout-order__table tbody th::before {
	display: none !important;
	content: none !important;
}

.uwaga-checkout-order__table .product-name {
	width: 62%;
	text-align: left;
	font-size: 0.9375rem;
	line-height: 1.4;
}

.uwaga-checkout-order__table .product-total {
	width: 38%;
	text-align: right;
	font-size: 0.9375rem;
	font-weight: 500;
	white-space: nowrap;
}

.uwaga-checkout-order__item-name {
	display: block;
	font-weight: 500;
}

.uwaga-checkout-order__item-qty {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout-order__table .product-name dl,
.uwaga-checkout-order__table .product-name .variation {
	margin: 0.2rem 0 0;
	font-size: 0.75rem;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout-order__table tfoot th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
	text-align: left;
}

.uwaga-checkout-order__table tfoot td {
	text-align: right;
	font-size: 0.875rem;
	font-weight: 500;
}

.uwaga-checkout-order__table .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}

.uwaga-checkout-order__table .woocommerce-shipping-methods li {
	margin: 0 0 0.35rem;
	line-height: 1.4;
}

.uwaga-checkout-order__table .woocommerce-shipping-methods li:last-child {
	margin-bottom: 0;
}

.uwaga-checkout-order__table tr.order-total th,
.uwaga-checkout-order__table tr.order-total td {
	padding-top: 0.75rem !important;
	border-top: 1px solid var(--uwaga-border) !important;
	border-bottom: none !important;
	font-size: 0.9375rem;
	color: var(--uwaga-text);
}

.uwaga-checkout-order__table tr.order-total .amount {
	font-family: var(--uwaga-font-display);
	font-size: 1.35rem;
	letter-spacing: 0.03em;
}

/* Payment (below summary table, inside #order_review) */
.uwaga-checkout-order #order_review #payment,
.uwaga-checkout #order_review #payment {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--uwaga-border);
	background: transparent;
}

.uwaga-checkout #payment .payment_methods {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

.uwaga-checkout #payment .payment_methods li {
	margin: 0 0 0.35rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--uwaga-border);
	background: var(--uwaga-bg);
}

.uwaga-checkout #payment .payment_methods li label {
	font-family: var(--uwaga-font);
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--uwaga-text);
}

.uwaga-checkout #payment .payment_box {
	margin: 0.5rem 0 0;
	padding: 0.5rem 0 0;
	border-top: 1px solid var(--uwaga-border);
	font-size: 0.8125rem;
	color: var(--uwaga-text-muted);
	background: transparent;
}

.uwaga-checkout #payment .place-order {
	margin: 0;
	padding: 0;
}

.uwaga-checkout #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin: 0.5rem 0 0;
	padding: 0.85rem 1.25rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.uwaga-checkout #payment #place_order:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.uwaga-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	line-height: 1.45;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout .woocommerce-privacy-policy-text {
	font-size: 0.75rem;
	color: var(--uwaga-text-muted);
	margin-top: 0.5rem;
}

.uwaga-checkout .select2-container {
	width: 100% !important;
}

.uwaga-checkout .select2-container--default .select2-selection--single {
	min-height: 2.5rem;
	border: 1px solid var(--uwaga-border);
	border-radius: 0;
	background: var(--uwaga-bg);
}

.uwaga-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 2.35rem;
	padding-left: 0.75rem;
	color: var(--uwaga-text);
}

.uwaga-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 2.35rem;
}

/* Hide legacy WC empty-cart markup */
.uwaga-cart--empty .wc-empty-cart-message,
.uwaga-cart--empty .return-to-shop {
	display: none !important;
}

.woocommerce table.shop_table:not(.uwaga-checkout-order__table):not(.woocommerce-orders-table) {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-collapse: collapse;
}

.woocommerce table.shop_table:not(.uwaga-checkout-order__table):not(.woocommerce-orders-table) th,
.woocommerce table.shop_table:not(.uwaga-checkout-order__table):not(.woocommerce-orders-table) td {
	padding: 1rem;
	border: 1px solid var(--uwaga-border);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	font-family: var(--uwaga-font);
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
}

/* Store notices — match B&W theme (no WC green/blue bars) */
.uwaga-wc-notices,
.uwaga-cart__notices {
	width: 100%;
}

.uwaga-wc-notices {
	margin: clamp(1.25rem, 3vw, 2rem) 0 1.25rem;
	padding-top: 0;
}

.site-main--product .uwaga-wc-notices {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.site-main--shop .woocommerce-notices-wrapper,
.site-main--shop > .container > .woocommerce-notices-wrapper:first-child {
	margin-top: clamp(1.25rem, 3vw, 2rem);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	position: relative;
	margin: 0 0 0.75rem;
	padding: 1rem 1.25rem;
	list-style: none;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	background: var(--uwaga-surface);
	color: var(--uwaga-text);
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
	box-shadow: none;
	outline: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
	content: none !important;
}

.woocommerce-message:last-child,
.woocommerce-info:last-child,
.woocommerce-error:last-child {
	margin-bottom: 0;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message a.uwaga-notice-btn,
.woocommerce-info a.uwaga-notice-btn {
	display: inline-block;
	margin: 0.75rem 0 0;
	padding: 0.55rem 1rem;
	float: none;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-decoration: none;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.woocommerce-message a.button:hover,
.woocommerce-message a.uwaga-notice-btn:hover,
.woocommerce-info a.button:hover,
.woocommerce-info a.uwaga-notice-btn:hover,
.woocommerce-error a.button:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
	opacity: 1;
}

.woocommerce-error {
	border-color: var(--uwaga-border);
	background: color-mix(in srgb, var(--uwaga-surface) 88%, #c44 12%);
}

/* ==========================================================================
   Block-based notice banners (modern WooCommerce uses .wc-block-components-
   notice-banner instead of the legacy .woocommerce-info / -message / -error)
   ========================================================================== */

.wc-block-components-notice-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0 0 0.75rem;
	padding: 1rem 1.25rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0 !important;
	background: var(--uwaga-surface);
	color: var(--uwaga-text);
	font-family: var(--uwaga-font-mono);
	font-size: 0.8125rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
	box-shadow: none;
}

.wc-block-components-notice-banner:last-child {
	margin-bottom: 0;
}

/* Drop the coloured circular icon — matches the icon-less legacy notices */
.wc-block-components-notice-banner > svg {
	display: none !important;
}

.wc-block-components-notice-banner__content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.wc-block-components-notice-banner a {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* WooCommerce Blocks (packages-style.css) styles empty-state CTAs as
   `.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward`
   with `background: transparent`, hard-coded `#2f2f2f`, and `opacity: 0.7` — invisible on dark theme. */
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button.wc-forward,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.wp-element-button {
	display: inline-block !important;
	flex-shrink: 0;
	float: none !important;
	margin: 0 !important;
	padding: 0.55rem 1rem !important;
	opacity: 1 !important;
	appearance: auto;
	font-family: var(--uwaga-font-mono) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	text-decoration: none !important;
	background: var(--uwaga-accent) !important;
	color: var(--uwaga-on-accent) !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	border-radius: 0 !important;
	box-shadow: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button:hover,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button.wc-forward:hover,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.wp-element-button:hover {
	color: var(--uwaga-on-accent) !important;
	opacity: 1 !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.wc-block-components-notice-banner.is-error {
	background: color-mix(in srgb, var(--uwaga-surface) 88%, #c44 12%);
}

.wc-block-components-notice-banner.is-success {
	background: var(--uwaga-surface);
	box-shadow: inset 4px 0 0 var(--uwaga-border);
}

/* WooCommerce colours `.is-info` blue (#f4f8ff bg / #007cba border) at higher
   specificity than the base rule — neutralise it to the brutalist surface. */
.wc-block-components-notice-banner.is-info {
	background: var(--uwaga-surface);
	border-color: var(--uwaga-border);
	box-shadow: none;
}

/* Dismiss control, when present */
.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss,
.wc-block-components-notice-banner button {
	border-radius: 0;
	color: var(--uwaga-text);
}

/* Compact, box-less treatment inside the checkout login/coupon strip */
.uwaga-checkout__utilities .wc-block-components-notice-banner {
	margin: 0;
	padding: 0;
	border: none !important;
	background: transparent;
	box-shadow: none;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
}

.uwaga-checkout__utilities .wc-block-components-notice-banner a {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	font-family: var(--uwaga-font-mono);
	font-size: 0.75rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
}

.site-main--shop nav.woocommerce-pagination {
	padding: 0 0 1rem;
}

/* ==========================================================================
   My Account
   ========================================================================== */

.site-main--account {
	padding-top: clamp(1rem, 3vw, 1.5rem);
	overflow-x: clip;
}

.site-main--account .entry__header {
	display: none;
}

body.woocommerce-account .uwaga-account,
body.woocommerce-account main .woocommerce.uwaga-account {
	width: 100%;
	max-width: none !important;
	margin-inline: 0;
}

.uwaga-account {
	width: 100%;
	padding-bottom: 0;
}

.uwaga-account .uwaga-page-head.uwaga-account__head {
	padding-top: 0;
	margin-bottom: clamp(1rem, 2.5vw, 1.35rem);
}

.uwaga-account__notices {
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
}

.uwaga-account__notices:empty {
	display: none;
	margin: 0;
}

/* Logged-in: sidebar + panel — reset WC floats (layout.css / smallscreen) */
body.woocommerce-account .uwaga-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .uwaga-account .woocommerce-MyAccount-content,
body.woocommerce-account .uwaga-account .uwaga-account__panel {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	clear: none !important;
}

.uwaga-account__layout {
	display: grid;
	grid-template-columns: minmax(0, clamp(10.5rem, 18vw, 14rem)) minmax(0, 1fr);
	gap: clamp(1rem, 3vw, 2rem);
	align-items: start;
	width: 100%;
}

.uwaga-account__layout::before,
.uwaga-account__layout::after {
	display: none !important;
	content: none !important;
}

.uwaga-account-nav {
	position: sticky;
	top: calc(var(--uwaga-header-h) + 1rem);
}

/* WooCommerce block-theme.css adds li padding + ul margin on My Account nav */
body.woocommerce-account .uwaga-account .uwaga-account-nav.woocommerce-MyAccount-navigation ul,
body.woocommerce-account .uwaga-account-nav__list {
	margin: 0 !important;
	padding: 0;
	list-style: none;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
}

body.woocommerce-account .uwaga-account .uwaga-account-nav.woocommerce-MyAccount-navigation li,
body.woocommerce-account .uwaga-account-nav__item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	border-bottom: 1px solid var(--uwaga-border);
}

.uwaga-account-nav__item:last-child {
	border-bottom: none;
}

.uwaga-account-nav__link {
	display: block;
	padding: 0.85rem 1rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-decoration: none !important;
	color: var(--uwaga-text);
	transition: background 0.12s ease, color 0.12s ease;
}

.uwaga-account-nav__link:hover {
	background: var(--uwaga-surface-2);
	color: var(--uwaga-text);
	opacity: 1;
}

/* Fill the full row — avoids page-bg gaps above/below the link (WC li padding) */
.uwaga-account-nav__item.is-active,
.uwaga-account-nav__item.woocommerce-MyAccount-navigation-link--active {
	background: var(--uwaga-accent);
}

.uwaga-account-nav__item.is-active .uwaga-account-nav__link,
.uwaga-account-nav__item.woocommerce-MyAccount-navigation-link--active .uwaga-account-nav__link {
	background: transparent;
	color: var(--uwaga-on-accent);
}

.uwaga-account-nav__item.is-active .uwaga-account-nav__link:hover,
.uwaga-account-nav__item.woocommerce-MyAccount-navigation-link--active .uwaga-account-nav__link:hover {
	background: transparent;
	color: var(--uwaga-on-accent);
	opacity: 1;
}

.uwaga-account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .uwaga-account-nav__link {
	color: var(--uwaga-text-muted);
}

.uwaga-account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .uwaga-account-nav__link:hover {
	color: var(--uwaga-text);
	background: var(--uwaga-surface-2);
}

.uwaga-account__panel {
	min-width: 0;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.uwaga-account__panel .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
}

.uwaga-account__panel h2,
.uwaga-account__panel h3 {
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 1rem;
	line-height: 1.05;
}

.uwaga-account-addresses__intro {
	margin: 0 0 1.25rem;
	max-width: 48ch;
	color: var(--uwaga-text-muted);
	line-height: 1.55;
}

.uwaga-account__panel .woocommerce-Address-title,
.uwaga-account__panel .addresses .title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin: 0 0 0.75rem;
	padding: 0 0 0.75rem;
	border-bottom: 1px solid var(--uwaga-border);
}

.uwaga-account__panel .woocommerce-Address-title::before,
.uwaga-account__panel .woocommerce-Address-title::after,
.uwaga-account__panel .addresses .title::before,
.uwaga-account__panel .addresses .title::after {
	display: none !important;
	content: none !important;
}

.uwaga-account__panel .woocommerce-Address-title h2,
.uwaga-account__panel .addresses .title h2,
.uwaga-account__panel .addresses .title h3 {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.05;
}

.uwaga-account__panel .woocommerce-Address-title .edit,
.uwaga-account__panel .addresses .title .edit,
.uwaga-account__panel a.uwaga-account-address__edit {
	float: none !important;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.9rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-bg);
	color: var(--uwaga-text) !important;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.uwaga-account__panel .woocommerce-Address-title .edit:hover,
.uwaga-account__panel .addresses .title .edit:hover,
.uwaga-account__panel a.uwaga-account-address__edit:hover {
	color: var(--uwaga-text) !important;
	opacity: 1;
	background: var(--uwaga-surface-2);
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.uwaga-account__panel .woocommerce-edit-address .button,
.uwaga-account__panel form button[name="save_address"] {
	margin-top: 0.5rem;
}

.uwaga-account__panel address {
	font-style: normal;
	line-height: 1.6;
	margin: 0 0 1.5rem;
}

/* Dashboard */
.uwaga-account-dashboard__greeting {
	margin: 0 0 0.35rem;
	font-size: 1.125rem;
	line-height: 1.4;
}

.uwaga-account-dashboard__meta {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	color: var(--uwaga-text-muted);
}

.uwaga-account-dashboard__meta a {
	color: var(--uwaga-text);
}

.uwaga-account-dashboard__lead {
	margin: 0 0 1.5rem;
	max-width: 48ch;
	color: var(--uwaga-text-muted);
	line-height: 1.55;
}

.uwaga-account-dashboard__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.uwaga-account-card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.1rem 1.15rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	text-decoration: none;
	color: var(--uwaga-text);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.uwaga-account-card:hover {
	color: var(--uwaga-text);
	opacity: 1;
	transform: translate(-2px, -2px);
	box-shadow: var(--uwaga-shadow);
}

.uwaga-account-card__label {
	font-family: var(--uwaga-font-display);
	font-size: 1.35rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1;
}

.uwaga-account-card__hint {
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted);
}

/* Login / register */
.uwaga-account--guest .uwaga-account-login {
	width: 100%;
	max-width: none;
}

.uwaga-account-login__grid,
.uwaga-account-login .col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 1.5rem);
	width: 100%;
}

.uwaga-account-login .col2-set::before,
.uwaga-account-login .col2-set::after,
.uwaga-account-login .u-column1,
.uwaga-account-login .u-column2,
.uwaga-account-login .col-1,
.uwaga-account-login .col-2 {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	clear: none !important;
}

.uwaga-account-login__panel {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	padding: clamp(1.25rem, 3vw, 1.75rem);
	background: var(--uwaga-surface);
}

/* The panel is the card — strip WooCommerce's default border/padding from the
   login & register forms nested inside it (avoids a double border). */
.uwaga-account-login__panel form.login,
.uwaga-account-login__panel form.register,
.uwaga-account-login__panel .woocommerce-form-login,
.uwaga-account-login__panel .woocommerce-form-register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.uwaga-account-login__panel--solo {
	max-width: 28rem;
}

.uwaga-account-login__title {
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
}

.uwaga-account-login__note {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	color: var(--uwaga-text-muted);
	line-height: 1.5;
}

/* Forms (match checkout) */
.uwaga-account .uwaga-account-form .form-row,
.uwaga-account__panel .form-row {
	margin: 0 0 1rem;
}

.uwaga-account .form-row label,
.uwaga-account__panel .form-row label {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.uwaga-account .form-row input.input-text,
.uwaga-account .form-row textarea,
.uwaga-account .form-row select,
.uwaga-account__panel .form-row input.input-text,
.uwaga-account__panel .form-row textarea,
.uwaga-account__panel .form-row select {
	width: 100%;
	padding: 0.75rem 0.85rem;
	font-size: 1rem;
	line-height: 1.4;
}

.uwaga-account .form-row input.input-text:focus,
.uwaga-account__panel .form-row input.input-text:focus,
.uwaga-account .form-row select:focus,
.uwaga-account__panel .form-row select:focus {
	outline: none;
	box-shadow: inset 0 0 0 1px var(--uwaga-border);
}

.uwaga-account-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-top: 1.25rem !important;
}

.uwaga-account-form__actions--end {
	justify-content: flex-end;
}

.uwaga-account__panel .edit-account fieldset {
	margin: 1.5rem 0 0;
	padding: 1.25rem 0 0;
	border: none;
	border-top: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-account__panel .edit-account fieldset legend {
	padding: 0;
	margin: 0 0 1rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--uwaga-text-muted);
}

.uwaga-account__panel .edit-account .uwaga-account-form__actions {
	margin-top: 1.5rem !important;
	padding-top: 0.25rem;
}

.uwaga-account__panel .edit-account .uwaga-account-form__actions .button,
.uwaga-account__panel .edit-account button[name="save_account_details"] {
	min-height: 52px;
	padding: 1rem 1.75rem !important;
}

.uwaga-account .woocommerce-form-login__rememberme {
	font-size: 0.875rem;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--uwaga-font);
}

.uwaga-account .lost_password {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
}

.uwaga-account .lost_password a {
	color: var(--uwaga-text-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ==========================================================================
   Password show/hide toggle
   WooCommerce positions this toggle (and draws its eye icon) in
   woocommerce-layout.css, which we dequeue on account/checkout pages — leaving
   a stray grey box below the field. Re-implement it self-contained so it sits
   inside the input with a theme-coloured eye icon on every page.
   ========================================================================== */
.woocommerce form .password-input,
.woocommerce-page form .password-input,
.uwaga-account .password-input,
.uwaga-checkout .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.woocommerce form .password-input input,
.woocommerce-page form .password-input input,
.uwaga-account .password-input input,
.uwaga-checkout .password-input input {
	width: 100%;
	padding-right: 2.85rem;
}

.show-password-input,
.hide-password-input {
	position: absolute;
	right: 0.7rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: 0;
	box-shadow: none;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	color: var(--uwaga-text-muted);
	transition: color 0.12s ease;
}

.show-password-input:hover,
.hide-password-input:hover {
	color: var(--uwaga-text);
}

.show-password-input::after,
.hide-password-input::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 1.15rem no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 1.15rem no-repeat;
}

/* When the password is revealed WooCommerce adds `.display-password` (older
   builds swap to `.hide-password-input`) — show the eye-off icon for both. */
.show-password-input.display-password::after,
.hide-password-input::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

.uwaga-account__panel .edit-account .form-row-first,
.uwaga-account__panel .edit-account .form-row-last {
	width: 100%;
	float: none;
}

@media (min-width: 640px) {
	.uwaga-account__panel .edit-account .form-row-first,
	.uwaga-account__panel .edit-account .form-row-last {
		width: calc(50% - 0.5rem);
		float: left;
	}

	.uwaga-account__panel .edit-account .form-row-first {
		margin-right: 1rem;
	}

	.uwaga-account__panel .edit-account .clear {
		clear: both;
	}
}

/* Orders table — panel already has the outer frame; no second table border */
.uwaga-account__panel .woocommerce-orders-table {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
}

.uwaga-account__panel .woocommerce-orders-table th,
.uwaga-account__panel .woocommerce-orders-table td {
	padding: 0.85rem 1rem;
	border: 1px solid var(--uwaga-border);
	vertical-align: middle;
	font-size: 0.9375rem;
}

.uwaga-account__panel .woocommerce-orders-table thead th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: var(--uwaga-surface-2);
}

.uwaga-account__panel .woocommerce-orders-table .woocommerce-button {
	margin: 0.15rem 0.35rem 0.15rem 0;
	padding: 0.45rem 0.75rem;
	font-size: 0.625rem;
}

.uwaga-account__panel .woocommerce-Pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

/* View order — status summary */
.uwaga-view-order {
	width: 100%;
	margin: 0 0 clamp(1.5rem, 3vw, 2rem);
}

.uwaga-view-order__back {
	margin: 0 0 1rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.uwaga-view-order__back a {
	color: var(--uwaga-text-muted);
	text-decoration: none;
}

.uwaga-view-order__back a:hover {
	color: var(--uwaga-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uwaga-view-order__summary {
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	background: var(--uwaga-surface);
	overflow: hidden;
}

.uwaga-view-order__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.uwaga-view-order__meta-item {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
	padding: 1rem 1.15rem;
	border-bottom: 1px solid var(--uwaga-border);
	border-right: 1px solid var(--uwaga-border);
	min-width: 0;
}

.uwaga-view-order__meta-item:nth-child(2n):not(.uwaga-view-order__meta-item--status) {
	border-right: none;
}

.uwaga-view-order__meta-item:not(:last-child) {
	border-bottom: 1px solid var(--uwaga-border);
}

.uwaga-view-order__meta-item--status {
	grid-column: 1 / -1;
	border-right: none;
}

.uwaga-view-order__meta-item dt {
	margin: 0;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--uwaga-text-muted);
}

.uwaga-view-order__meta-item dd {
	margin: 0;
	font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
	font-weight: 600;
	line-height: 1.35;
}

.uwaga-view-order__value--order {
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.uwaga-view-order__value--total {
	font-family: var(--uwaga-font-display);
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
	font-weight: 400;
	letter-spacing: 0.02em;
}

.uwaga-view-order__badge {
	display: inline-block;
	padding: 0.4rem 0.75rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.2;
	background: var(--uwaga-surface-2);
	color: var(--uwaga-text);
}

.uwaga-view-order__badge--completed {
	background: var(--uwaga-accent);
	color: var(--uwaga-on-accent);
	border-color: var(--uwaga-accent);
}

.uwaga-view-order__badge--processing,
.uwaga-view-order__badge--on-hold {
	background: var(--uwaga-surface-2);
}

.uwaga-view-order__badge--pending {
	color: var(--uwaga-text-muted);
}

.uwaga-view-order__badge--cancelled,
.uwaga-view-order__badge--failed,
.uwaga-view-order__badge--refunded {
	background: color-mix(in srgb, var(--uwaga-text) 8%, transparent);
	color: var(--uwaga-text-muted);
}

/* Order updates timeline */
.uwaga-view-order__updates {
	margin: 0 0 clamp(1.5rem, 3vw, 2rem);
}

.uwaga-view-order__updates-title {
	margin-bottom: 1rem;
}

.uwaga-view-order__updates-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-view-order__update {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--uwaga-border);
}

.uwaga-view-order__update:last-child {
	border-bottom: none;
}

.uwaga-view-order__update .comment_container,
.uwaga-view-order__update .comment-text {
	margin: 0;
	padding: 1rem 1.15rem;
}

.uwaga-view-order__update-date {
	margin: 0 0 0.5rem !important;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--uwaga-text-muted) !important;
}

.uwaga-view-order__update-body {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
}

.uwaga-view-order__update-body p:last-child {
	margin-bottom: 0;
}

/* View order — order details + addresses (same templates as thank-you page) */
.uwaga-account__panel .uwaga-order-received__details,
.uwaga-account__panel .woocommerce-order-details {
	margin-top: 0;
}

.uwaga-account__panel .uwaga-order-received__details .uwaga-section-title,
.uwaga-account__panel .woocommerce-order-details__title.uwaga-section-title {
	margin-top: 0;
}

.uwaga-account__panel .uwaga-order-received__table-wrap {
	width: 100%;
	max-width: none;
}

.uwaga-account__panel .uwaga-order-received__table,
.uwaga-account__panel table.order_details {
	width: 100% !important;
	max-width: none !important;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-collapse: collapse;
	table-layout: fixed;
}

.uwaga-account__panel .uwaga-order-received__table :is(.product-name, tfoot th),
.uwaga-account__panel table.order_details :is(.product-name, tfoot th) {
	width: 68%;
}

.uwaga-account__panel .uwaga-order-received__table :is(.product-total, tfoot td),
.uwaga-account__panel table.order_details :is(.product-total, tfoot td) {
	width: 32%;
	text-align: right;
}

.uwaga-account__panel .uwaga-order-received__table th,
.uwaga-account__panel .uwaga-order-received__table td,
.uwaga-account__panel table.order_details th,
.uwaga-account__panel table.order_details td {
	padding: 0.85rem 1rem;
	border: 1px solid var(--uwaga-border);
	vertical-align: top;
	font-size: 0.9375rem;
}

.uwaga-account__panel .uwaga-order-received__table thead th,
.uwaga-account__panel table.order_details thead th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: var(--uwaga-surface-2);
}

.uwaga-account__panel .uwaga-order-received__table tfoot th {
	font-family: var(--uwaga-font-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--uwaga-surface);
}

.uwaga-account__panel .uwaga-order-received__table tr.order-total th,
.uwaga-account__panel .uwaga-order-received__table tr.order-total td,
.uwaga-account__panel table.order_details tr.order-total th,
.uwaga-account__panel table.order_details tr.order-total td {
	font-weight: 700;
	background: var(--uwaga-surface-2);
}

.uwaga-account__panel .uwaga-order-received__addresses,
.uwaga-account__panel .woocommerce-customer-details {
	margin-top: clamp(1.5rem, 3vw, 2rem);
}

.uwaga-account__panel .uwaga-order-received__address-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	width: 100%;
}

.uwaga-account__panel .uwaga-order-received__address-card {
	width: 100% !important;
	padding: 1rem 1.15rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border) !important;
	background: var(--uwaga-surface);
}

.uwaga-account__panel .order-actions-button,
.uwaga-account__panel .woocommerce-order-details .woocommerce-button.button {
	display: inline-block;
	margin: 0.15rem 0.35rem 0.15rem 0;
	padding: 0.45rem 0.75rem;
	font-family: var(--uwaga-font-mono);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
	border-radius: 0;
	background: var(--uwaga-bg);
	color: var(--uwaga-text);
}

/* Address grid */
.uwaga-account__panel .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1rem;
}

.uwaga-account__panel .woocommerce-Addresses .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 1rem;
	border: var(--uwaga-stroke) solid var(--uwaga-border);
}

.uwaga-account__panel .u-columns.col2-set::before,
.uwaga-account__panel .u-columns.col2-set::after,
.uwaga-account__panel .woocommerce-Addresses::before,
.uwaga-account__panel .woocommerce-Addresses::after {
	display: none !important;
}

/* Tablet: 2-up dashboard cards; sidebar stays beside content until 900px */
@media (max-width: 1100px) and (min-width: 901px) {
	.uwaga-account__layout {
		grid-template-columns: minmax(0, clamp(9.5rem, 16vw, 12rem)) minmax(0, 1fr);
		gap: clamp(0.85rem, 2.5vw, 1.35rem);
	}

	.uwaga-account-dashboard__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.uwaga-account__panel {
		padding: clamp(1rem, 2.5vw, 1.5rem);
	}
}

@media (max-width: 900px) {
	.uwaga-account,
	.uwaga-account__layout,
	.uwaga-account-nav,
	.uwaga-account__panel {
		min-width: 0;
		max-width: 100%;
	}

	.uwaga-account__layout {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.uwaga-account-nav {
		position: static;
	}

	/* Vertical nav — horizontal flex-wrap broke labels and borders on small screens */
	.uwaga-account-nav__list {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.uwaga-account-nav__item {
		flex: none;
		width: 100%;
		border-right: none !important;
		border-bottom: 1px solid var(--uwaga-border);
	}

	.uwaga-account-nav__item:last-child {
		border-bottom: none;
	}

	.uwaga-account-nav__link {
		padding: 0.8rem 1rem;
	}

	.uwaga-account__panel {
		padding: 1rem 1.1rem;
	}

	.uwaga-account-dashboard__cards {
		grid-template-columns: 1fr;
	}

	.uwaga-account-login__grid,
	.uwaga-account-login .col2-set {
		grid-template-columns: 1fr;
	}

	.uwaga-account__panel .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.uwaga-account__panel .woocommerce-Addresses .woocommerce-Address,
	.uwaga-account__panel .woocommerce-Addresses .u-column1,
	.uwaga-account__panel .woocommerce-Addresses .u-column2,
	.uwaga-account__panel .woocommerce-Addresses .col-1,
	.uwaga-account__panel .woocommerce-Addresses .col-2 {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

@media (max-width: 640px) {
	.site-main--account {
		padding-top: 1rem;
	}

	.site-main--account > .container {
		padding-left: clamp(1rem, 4vw, 1.25rem);
		padding-right: clamp(1rem, 4vw, 1.25rem);
	}

	/* Empty-state notice: stack message + CTA on narrow screens */
	.uwaga-account__panel .wc-block-components-notice-banner__content {
		flex-direction: column;
		align-items: stretch;
	}

	.uwaga-account__panel .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
	.uwaga-account__panel .wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button {
		width: 100%;
		text-align: center;
	}

	.uwaga-account .uwaga-page-head.uwaga-account__head {
		margin-bottom: 1rem;
	}

	.uwaga-account .uwaga-page-head__title {
		font-size: clamp(2rem, 11vw, 2.75rem);
		word-break: break-word;
	}

	.uwaga-account__panel .woocommerce-Address-title,
	.uwaga-account__panel .addresses .title {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.uwaga-account__panel .woocommerce-Address-title h2,
	.uwaga-account__panel .addresses .title h2 {
		flex: 1 1 100%;
	}

	.uwaga-account__panel a.uwaga-account-address__edit {
		margin-top: 0.35rem;
	}

	.uwaga-account-form__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.uwaga-account-form__actions--end {
		align-items: stretch;
	}

	.uwaga-account-form__actions .button,
	.uwaga-account-form__actions button[type="submit"] {
		width: 100%;
		text-align: center;
	}

	.uwaga-account .woocommerce-form-login__rememberme {
		width: 100%;
	}

	.uwaga-account__panel .edit-account .form-row-first,
	.uwaga-account__panel .edit-account .form-row-last {
		width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
	}

	/* Orders: one frame per order card — drop the panel box (nav keeps its own border) */
	.uwaga-account__panel:has(.woocommerce-orders-table) {
		border: none;
		padding: 0;
		background: transparent;
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive {
		border: none;
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive thead {
		display: none;
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody tr {
		display: block;
		margin-bottom: 1rem;
		border: var(--uwaga-stroke) solid var(--uwaga-border);
		background: var(--uwaga-surface);
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody td,
	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody th {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0.75rem 1rem;
		width: 100% !important;
		border: none;
		border-bottom: 1px solid var(--uwaga-border);
		text-align: right;
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody tr td:last-child,
	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody tr th:last-child {
		border-bottom: none;
	}

	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody td::before,
	.uwaga-account__panel .woocommerce-orders-table.shop_table_responsive tbody th::before {
		content: attr(data-title);
		font-family: var(--uwaga-font-mono);
		font-size: 0.625rem;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		color: var(--uwaga-text-muted);
		flex-shrink: 0;
		text-align: left;
	}

	.uwaga-account__panel .woocommerce-orders-table__cell-order-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.uwaga-account__panel .woocommerce-orders-table__cell-order-actions::before {
		margin-bottom: 0.25rem;
	}

	.uwaga-account__panel .woocommerce-orders-table .woocommerce-button {
		display: block;
		width: 100%;
		margin: 0.25rem 0 0;
		text-align: center;
	}

	.uwaga-account__panel .woocommerce-Pagination {
		flex-direction: column;
	}

	.uwaga-account__panel .woocommerce-Pagination .button {
		width: 100%;
		text-align: center;
	}

	.uwaga-view-order__meta {
		grid-template-columns: 1fr;
	}

	.uwaga-view-order__meta-item,
	.uwaga-view-order__meta-item:nth-child(2n) {
		border-right: none;
	}

	.uwaga-view-order__meta-item:not(:last-child) {
		border-bottom: 1px solid var(--uwaga-border);
	}

	.uwaga-view-order__meta-item--status {
		border-bottom: 1px solid var(--uwaga-border);
	}

	.uwaga-account__panel .uwaga-order-received__address-grid {
		grid-template-columns: 1fr;
	}

	.uwaga-account__panel .uwaga-order-received__table :is(.product-name, tfoot th),
	.uwaga-account__panel table.order_details :is(.product-name, tfoot th) {
		width: 55%;
	}

	.uwaga-account__panel .uwaga-order-received__table :is(.product-total, tfoot td),
	.uwaga-account__panel table.order_details :is(.product-total, tfoot td) {
		width: 45%;
	}
}

/* Hide tabs, related, meta remnants */
.woocommerce div.product .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .upsells.products {
	display: none !important;
}

@media (max-width: 900px) {
	.woocommerce ul.products.columns-4,
	.home-products ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6 {
		grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr));
	}

	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product-card {
		max-width: none;
	}
}

@media (max-width: 640px) {
	.site-main--shop ul.products,
	.home-products ul.products,
	.woocommerce ul.products,
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem;
	}

	.product-card .woocommerce-loop-product__title {
		font-size: 1rem;
	}
}
