/**
 * Ugett Store — WooCommerce commerce styling.
 * Shop archive, single product, cart, checkout, my-account, breadcrumbs.
 */

body.ug-store .ug-shop-page,
body.ug-store .ug-product,
body.ug-store .ug-commerce { padding-block: var(--ug-space-lg) var(--ug-space-xl); }

/* Breadcrumb */
.ug-breadcrumb {
	font-size: 0.82rem;
	color: var(--ug-text-muted);
	margin-bottom: var(--ug-space-md);
	letter-spacing: 0.03em;
}
.ug-breadcrumb a { color: var(--ug-text-2); transition: color var(--ug-dur); }
.ug-breadcrumb a:hover { color: var(--ug-red); }

/* ============ Shop intro ============ */
.ug-shop-intro { margin-bottom: var(--ug-space-lg); }
.ug-shop-intro h1 { font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; }
.ug-shop-intro__desc { color: var(--ug-text-2); max-width: 62ch; }

/* ============ Shop layout ============ */
.ug-shop-layout { display: grid; grid-template-columns: 260px 1fr; gap: var(--ug-space-lg); align-items: start; }

/* Sidebar */
.ug-shop-sidebar { position: sticky; top: calc(var(--ug-header) + 16px); align-self: start; }
.ug-filter {
	background: var(--ug-charcoal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-md);
	/* Keep the filter panel within the viewport and let long lists scroll. */
	max-height: calc(100vh - var(--ug-header) - 40px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--ug-border-strong) transparent;
}
.ug-filter::-webkit-scrollbar { width: 8px; }
.ug-filter::-webkit-scrollbar-track { background: transparent; }
.ug-filter::-webkit-scrollbar-thumb { background: var(--ug-border-strong); border-radius: 8px; }
.ug-filter::-webkit-scrollbar-thumb:hover { background: var(--ug-red-soft); }
.ug-filter__title { font-size: 1.1rem; margin: 0 0 var(--ug-space-md); padding-bottom: var(--ug-space-sm); border-bottom: 1px solid var(--ug-border); }
.ug-filter__group { margin-bottom: var(--ug-space-md); }
.ug-filter__group h3 { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ug-text-muted); margin: 0 0 10px; }
.ug-filter__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ug-filter__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--ug-radius);
	color: var(--ug-text-2);
	font-size: 0.9rem;
	transition: background var(--ug-dur), color var(--ug-dur);
}
.ug-filter__link .ug-cat-icon { width: 18px; height: 18px; color: var(--ug-metal); flex: none; }
.ug-filter__link-text em { color: var(--ug-text-muted); font-style: normal; font-size: 0.8rem; }
.ug-filter__link:hover { background: rgba(255, 255, 255, 0.04); color: var(--ug-text); }
.ug-filter__link.is-active { background: var(--ug-red-soft); color: #fff; }
.ug-filter__price { display: flex; align-items: center; gap: 10px; }
.ug-filter__price input[type="number"] {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	background: var(--ug-gunmetal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius);
	color: var(--ug-text);
	font-family: var(--ug-font);
	font-size: 0.92rem;
	line-height: 1;
	-moz-appearance: textfield;
	appearance: textfield;
	transition: border-color var(--ug-dur), box-shadow var(--ug-dur), background var(--ug-dur);
}
.ug-filter__price input[type="number"]::-webkit-outer-spin-button,
.ug-filter__price input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ug-filter__price input[type="number"]::placeholder { color: var(--ug-text-muted); }
.ug-filter__price input[type="number"]:hover { border-color: var(--ug-border-strong); }
.ug-filter__price input[type="number"]:focus {
	outline: none;
	border-color: var(--ug-red);
	background: var(--ug-charcoal);
	box-shadow: 0 0 0 3px var(--ug-red-soft);
}
.ug-filter__price span { color: var(--ug-text-muted); flex: none; }
.ug-filter__clear { display: block; text-align: center; margin-top: 10px; font-size: 0.82rem; color: var(--ug-text-muted); }
.ug-filter__clear:hover { color: var(--ug-red); }

/* Toolbar */
.ug-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ug-space-md);
	margin-bottom: var(--ug-space-md);
	padding-bottom: var(--ug-space-sm);
	border-bottom: 1px solid var(--ug-border);
	flex-wrap: wrap;
}
.ug-shop-toolbar__lead { display: flex; align-items: baseline; gap: 10px; }
.ug-shop-toolbar__label { font-family: var(--ug-font-display); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.8rem; color: var(--ug-text-muted); }
.ug-shop-toolbar__count { color: var(--ug-text-2); font-size: 0.9rem; }
.ug-shop-toolbar__actions { display: flex; align-items: center; gap: 10px; }
.ug-shop-toolbar__meta { display: flex; align-items: center; gap: 10px; }

/* WooCommerce ordering select */
body.ug-store .woocommerce-ordering { margin: 0; }
body.ug-store .woocommerce-ordering select,
body.ug-store select.orderby {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 44px;
	padding: 0 40px 0 14px;
	background-color: var(--ug-gunmetal);
	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' stroke='%238a8f99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius);
	color: var(--ug-text);
	font-family: var(--ug-font);
	font-size: 0.88rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color var(--ug-dur), box-shadow var(--ug-dur), background-color var(--ug-dur);
}
body.ug-store .woocommerce-ordering select:hover,
body.ug-store select.orderby:hover { border-color: var(--ug-border-strong); }
body.ug-store .woocommerce-ordering select:focus,
body.ug-store select.orderby:focus {
	outline: none;
	border-color: var(--ug-red);
	background-color: var(--ug-charcoal);
	box-shadow: 0 0 0 3px var(--ug-red-soft);
}
body.ug-store .woocommerce-ordering select option,
body.ug-store select.orderby option { background: var(--ug-charcoal); color: var(--ug-text); }
body.ug-store .woocommerce-result-count { color: var(--ug-text-muted); font-size: 0.85rem; margin: 0; }

/* Filter toggle + view toggle */
.ug-filter-toggle {
	display: none;
	padding: 9px 16px;
	background: var(--ug-gunmetal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius);
	color: var(--ug-text);
	font-family: var(--ug-font-display);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.8rem;
	cursor: pointer;
}
.ug-view-toggle { display: inline-flex; gap: 4px; padding: 3px; background: var(--ug-gunmetal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius); }
.ug-view-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 32px;
	background: none; border: none; color: var(--ug-text-muted); cursor: pointer;
	border-radius: var(--ug-radius-sm);
	transition: color var(--ug-dur), background var(--ug-dur);
}
.ug-view-btn:hover { color: var(--ug-text); }
.ug-view-btn.is-active { background: var(--ug-red-soft); color: var(--ug-red); }

/* ============ Single product ============ */
.ug-product__layout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--ug-space-xl); align-items: start; margin-bottom: var(--ug-space-xl); }
.ug-product__gallery {
	position: sticky;
	top: calc(var(--ug-header) + 16px);
	align-self: start;
	background:
		radial-gradient(circle at 50% 24%, rgba(255, 255, 255, 0.06), transparent 60%),
		linear-gradient(180deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg);
	padding: clamp(var(--ug-space-md), 4vw, var(--ug-space-xl));
	box-shadow: var(--ug-shadow-card);
	overflow: hidden;
}
/* Hover pan-zoom on the main image (paired with click-to-open lightbox). */
body.ug-store .ug-product__gallery .ug-zoom { cursor: zoom-in; overflow: hidden; }
body.ug-store .ug-product__gallery .ug-zoom img {
	transition: transform 0.35s var(--ug-ease-out), filter 0.35s var(--ug-ease-out);
	will-change: transform;
}
body.ug-store .ug-product__gallery .ug-zoom.is-zooming img {
	transform: scale(1.9);
	filter: drop-shadow(0 20px 44px rgba(0, 0, 0, 0.55));
}
.ug-product__gallery::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--ug-red), transparent);
	opacity: 0.5;
}
body.ug-store .ug-product__gallery img {
	border-radius: var(--ug-radius);
	margin-inline: auto;
	filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.5));
}
/* Zoom affordance (WC gallery zoom/lightbox is enabled). */
body.ug-store .woocommerce-product-gallery__image a { cursor: zoom-in; display: block; }
body.ug-store .woocommerce-product-gallery { margin: 0; position: relative; }
body.ug-store .woocommerce-product-gallery__trigger {
	position: absolute; top: 12px; right: 12px; z-index: 5;
	width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(10, 11, 13, 0.7); border: 1px solid var(--ug-border-strong); border-radius: var(--ug-radius-sm);
	color: var(--ug-text); backdrop-filter: blur(6px); overflow: hidden;
	font-size: 0; text-indent: -999px; line-height: 0;
	transition: border-color var(--ug-dur), color var(--ug-dur), background var(--ug-dur), transform var(--ug-dur);
}
/* Custom "viewfinder" zoom icon — inherits colour via mask so it turns crimson on hover. */
body.ug-store .woocommerce-product-gallery__trigger::before {
	content: ""; width: 21px; height: 21px; text-indent: 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='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V5.5A1.5 1.5 0 0 1 5.5 4H9'/%3E%3Cpath d='M15 4h3.5A1.5 1.5 0 0 1 20 5.5V9'/%3E%3Cpath d='M20 15v3.5a1.5 1.5 0 0 1-1.5 1.5H15'/%3E%3Cpath d='M9 20H5.5A1.5 1.5 0 0 1 4 18.5V15'/%3E%3Cpath d='M12 9.2v5.6M9.2 12h5.6'/%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='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V5.5A1.5 1.5 0 0 1 5.5 4H9'/%3E%3Cpath d='M15 4h3.5A1.5 1.5 0 0 1 20 5.5V9'/%3E%3Cpath d='M20 15v3.5a1.5 1.5 0 0 1-1.5 1.5H15'/%3E%3Cpath d='M9 20H5.5A1.5 1.5 0 0 1 4 18.5V15'/%3E%3Cpath d='M12 9.2v5.6M9.2 12h5.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.ug-store .woocommerce-product-gallery__trigger:hover {
	border-color: var(--ug-red); color: var(--ug-red);
	background: rgba(10, 11, 13, 0.85); transform: translateY(-1px);
}
/* Gallery thumbnails row */
body.ug-store .flex-control-thumbs { list-style: none; display: flex; gap: 8px; padding: var(--ug-space-sm) 0 0; margin: 0; flex-wrap: wrap; }
body.ug-store .flex-control-thumbs li { width: 66px; }
body.ug-store .flex-control-thumbs img {
	border: 1px solid var(--ug-border); border-radius: var(--ug-radius-sm); cursor: pointer;
	opacity: 0.6; transition: opacity var(--ug-dur), border-color var(--ug-dur);
}
body.ug-store .flex-control-thumbs img:hover,
body.ug-store .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--ug-red); }
body.ug-store span.onsale {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	background: var(--ug-red); color: #fff;
	font-family: var(--ug-font-display); font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.7rem;
	padding: 6px 12px; border-radius: 0; min-height: 0; min-width: 0; line-height: 1;
	clip-path: polygon(6px 0, 100% 0, 100% 100%, 0 100%, 0 6px);
}

.ug-product__purchase {
	background: linear-gradient(170deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border-strong);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
	position: sticky;
	top: calc(var(--ug-header) + 16px);
}
.ug-purchase__head { margin-bottom: var(--ug-space-sm); }
.ug-purchase__badge {
	display: inline-block; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--ug-red); font-weight: 700;
}
.ug-purchase__sub { color: var(--ug-text-muted); font-size: 0.85rem; margin: 4px 0 0; }
.ug-product-title { font-size: clamp(1.6rem, 3vw, 2.3rem); margin: 6px 0 var(--ug-space-sm); }
.ug-product-price, body.ug-store .ug-product__purchase .price {
	font-family: var(--ug-font-display);
	font-size: 1.9rem;
	font-weight: 700;
	color: var(--ug-text);
	margin: 0 0 var(--ug-space-sm);
}
body.ug-store .ug-product__purchase .price del { color: var(--ug-text-muted); font-size: 1.1rem; font-weight: 500; margin-right: 8px; }
body.ug-store .ug-product__purchase .price ins { text-decoration: none; color: var(--ug-red); }

.ug-product-delivery { display: flex; align-items: center; gap: var(--ug-space-sm); flex-wrap: wrap; padding: var(--ug-space-sm) 0; border-block: 1px solid var(--ug-border); margin-bottom: var(--ug-space-sm); }
.ug-product-delivery__note { font-size: 0.82rem; color: var(--ug-text-muted); }
.ug-product-assurance p { font-size: 0.88rem; color: var(--ug-text-2); margin: 0 0 8px; }
.ug-product-meta-line { font-size: 0.8rem; color: var(--ug-text-muted); }
.ug-product-meta-line span { color: var(--ug-text-2); font-weight: 600; }

.ug-purchase-actions { margin: var(--ug-space-sm) 0; }
.ug-purchase-actions__label { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ug-text-muted); margin: 0 0 8px; }

/* WC add to cart form */
body.ug-store form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 var(--ug-space-sm); }
body.ug-store form.cart .quantity { display: inline-flex; }
body.ug-store form.cart .quantity input.qty {
	width: 68px; height: 48px; text-align: center;
	background: rgba(255, 255, 255, 0.04); border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius); color: var(--ug-text); font-size: 1rem;
}
body.ug-store form.cart .single_add_to_cart_button { flex: 1; min-width: 160px; }
body.ug-store .ug-btn--buy-now { width: 100%; }
body.ug-store .variations_form .variations { width: 100%; }
body.ug-store .variations td, body.ug-store .variations th { padding: 6px 0; }

/* Product trust block */
.ug-product-trust { margin-top: var(--ug-space-lg); padding-top: var(--ug-space-md); border-top: 1px solid var(--ug-border); }
.ug-product-trust__title { font-size: 1rem; letter-spacing: 0.04em; margin: 0 0 var(--ug-space-sm); }
.ug-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: var(--ug-space-sm); }
.ug-trust-grid__item {
	padding: 10px 12px; background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--ug-border); border-radius: var(--ug-radius);
	display: grid; gap: 2px;
}
.ug-trust-grid__item strong { font-size: 0.85rem; }
.ug-trust-grid__item span { font-size: 0.74rem; color: var(--ug-text-muted); }
.ug-product-trust__payments { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ug-product-trust__label { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ug-text-muted); }

/* Detail: tabs + related */
.ug-product__detail { margin-top: var(--ug-space-lg); }
body.ug-store .woocommerce-tabs ul.tabs {
	list-style: none; display: flex; gap: 4px; padding: 0; margin: 0 0 var(--ug-space-md);
	border-bottom: 1px solid var(--ug-border); flex-wrap: wrap;
}
body.ug-store .woocommerce-tabs ul.tabs li {
	padding: 0;
}
body.ug-store .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: 12px 18px;
	font-family: var(--ug-font-display); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase;
	font-size: 0.85rem; color: var(--ug-text-muted); border-bottom: 2px solid transparent;
	transition: color var(--ug-dur), border-color var(--ug-dur);
}
body.ug-store .woocommerce-tabs ul.tabs li.active a,
body.ug-store .woocommerce-tabs ul.tabs li a:hover { color: var(--ug-text); border-bottom-color: var(--ug-red); }
body.ug-store .woocommerce-tabs .panel { color: var(--ug-text-2); }
body.ug-store .woocommerce-tabs .panel h2 { color: var(--ug-text); }

body.ug-store .related.products > h2,
body.ug-store .upsells.products > h2 { font-size: 1.6rem; margin: var(--ug-space-lg) 0 var(--ug-space-md); text-transform: uppercase; }
body.ug-store .related.products ul.products,
body.ug-store .upsells.products ul.products,
body.ug-store ul.products {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ug-space-md);
}

/* ============ Reviews ============ */
body.ug-store #reviews { margin: 0; }
body.ug-store #reviews #comments { margin: 0 0 var(--ug-space-lg); }
body.ug-store .woocommerce-Reviews-title {
	font-family: var(--ug-font-display);
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
	letter-spacing: 0.02em;
	margin: 0 0 var(--ug-space-md);
}
body.ug-store #reviews ol.commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ug-space-md); width: 100%; }
body.ug-store #reviews ol.commentlist li { margin: 0; padding: 0; background: none; border: 0; }
/* Review card — flex so WooCommerce's float/margin defaults can't break it. */
body.ug-store #reviews ol.commentlist li .comment_container {
	position: relative;
	display: flex !important;
	gap: var(--ug-space-md);
	align-items: flex-start;
	background: linear-gradient(180deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-md) var(--ug-space-md) var(--ug-space-md) calc(var(--ug-space-md) + 3px);
	overflow: hidden;
}
body.ug-store #reviews ol.commentlist li .comment_container::before {
	content: "";
	position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
	background: linear-gradient(180deg, var(--ug-red), var(--ug-red-deep));
	opacity: 0; transition: opacity var(--ug-dur);
}
body.ug-store #reviews ol.commentlist li:hover .comment_container { border-color: var(--ug-border-red); box-shadow: var(--ug-shadow-card); }
body.ug-store #reviews ol.commentlist li:hover .comment_container::before { opacity: 1; }
/* Avatar — override WooCommerce float. */
body.ug-store #reviews ol.commentlist li img.avatar {
	position: static !important;
	float: none !important;
	width: 52px !important; height: 52px !important;
	border-radius: 50%; border: 1px solid var(--ug-border-strong);
	margin: 0 !important; padding: 0 !important; background: var(--ug-gunmetal); flex: none;
}
/* Comment body — override WooCommerce's margin-left/border/padding. */
body.ug-store #reviews ol.commentlist li .comment-text {
	flex: 1 1 auto; min-width: 0;
	margin: 0 !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; background: none !important;
}
/* Rating anchored top-right of the card. */
body.ug-store #reviews ol.commentlist li .comment-text > .star-rating { float: right; margin: 2px 0 8px 14px; font-size: 0.92em; }
/* Header row: author + verified + date */
body.ug-store #reviews ol.commentlist li .meta {
	display: block;
	color: var(--ug-text-muted); font-size: 0.82rem; margin: 0 0 8px; line-height: 1.5;
}
body.ug-store #reviews ol.commentlist li .meta strong.woocommerce-review__author { color: var(--ug-text); font-size: 1rem; font-weight: 600; margin-right: 8px; }
body.ug-store #reviews ol.commentlist li .meta time.woocommerce-review__published-date { color: var(--ug-text-muted); display: block; margin-top: 2px; font-size: 0.78rem; }
body.ug-store #reviews ol.commentlist li .meta .woocommerce-review__dash { display: none; }
/* Verified-owner pill */
body.ug-store #reviews ol.commentlist li .meta .woocommerce-review__verified {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 9px; border-radius: 999px; vertical-align: middle;
	background: var(--ug-red-soft); border: 1px solid var(--ug-border-red);
	color: var(--ug-red); font-size: 0.62rem; font-weight: 700;
	letter-spacing: 0.08em; text-transform: uppercase; font-style: normal;
}
body.ug-store #reviews ol.commentlist li .meta .woocommerce-review__verified::before {
	content: ""; width: 11px; height: 11px; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%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'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.ug-store #reviews ol.commentlist li .description { clear: both; }
body.ug-store #reviews ol.commentlist li .description p { color: var(--ug-text-2); margin: 0 0 8px; }
body.ug-store #reviews ol.commentlist li .description p:last-child { margin-bottom: 0; }
body.ug-store #reviews .woocommerce-noreviews {
	color: var(--ug-text-muted); background: var(--ug-charcoal);
	border: 1px dashed var(--ug-border-strong); border-radius: var(--ug-radius-lg); padding: var(--ug-space-lg); text-align: center;
}
/* Star ratings */
body.ug-store .star-rating { color: var(--ug-red); }
body.ug-store .star-rating span::before,
body.ug-store p.stars a::before { color: var(--ug-red); }
/* Review form */
body.ug-store #review_form_wrapper {
	margin-top: var(--ug-space-sm);
	background: var(--ug-charcoal); border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg); padding: var(--ug-space-lg);
}
body.ug-store #review_form_wrapper .comment-reply-title { font-family: var(--ug-font-display); font-size: 1.15rem; display: block; margin-bottom: var(--ug-space-sm); }
body.ug-store #review_form_wrapper .comment-form-rating label { display: block; margin-bottom: 6px; font-size: 0.85rem; color: var(--ug-text-2); }
body.ug-store #review_form_wrapper .comment-form textarea,
body.ug-store #review_form_wrapper .comment-form input[type="text"],
body.ug-store #review_form_wrapper .comment-form input[type="email"] {
	width: 100%; padding: 11px 13px; background: var(--ug-gunmetal);
	border: 1px solid var(--ug-border); border-radius: var(--ug-radius); color: var(--ug-text);
	font-family: var(--ug-font); font-size: 0.92rem; transition: border-color var(--ug-dur), box-shadow var(--ug-dur);
}
body.ug-store #review_form_wrapper .comment-form textarea:focus,
body.ug-store #review_form_wrapper .comment-form input[type="text"]:focus,
body.ug-store #review_form_wrapper .comment-form input[type="email"]:focus {
	outline: none; border-color: var(--ug-red); box-shadow: 0 0 0 3px var(--ug-red-soft);
}
body.ug-store #review_form_wrapper .comment-form p { margin: 0 0 var(--ug-space-sm); }
/* Star-rating selector in the form */
body.ug-store #review_form_wrapper p.stars { display: inline-flex; gap: 2px; margin: 4px 0 var(--ug-space-sm); }
body.ug-store #review_form_wrapper p.stars a { font-size: 1.25rem; }
/* Submit button matches primary store buttons. */
body.ug-store #respond input#submit,
body.ug-store #commentform input[type="submit"],
body.ug-store #commentform button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 13px 30px; font-family: var(--ug-font-display); font-weight: 600;
	letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.92rem; line-height: 1;
	background: linear-gradient(135deg, var(--ug-red-bright), var(--ug-red-deep));
	color: #fff; border: 1px solid transparent; cursor: pointer;
	border-radius: 0;
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
	box-shadow: 0 6px 22px var(--ug-red-glow);
	transition: transform var(--ug-dur), box-shadow var(--ug-dur);
}
body.ug-store #respond input#submit:hover,
body.ug-store #commentform input[type="submit"]:hover,
body.ug-store #commentform button[type="submit"]:hover { transform: translateY(-2px); }

/* ============ Cart & checkout ============ */
.ug-commerce-hero { margin-bottom: var(--ug-space-md); }
.ug-commerce-hero h1 { font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; }
.ug-commerce-hero__sub { color: var(--ug-text-2); max-width: 58ch; }

/* Flow indicator */
.ug-flow { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0 0 var(--ug-space-lg); flex-wrap: wrap; }
.ug-flow li { display: flex; align-items: center; gap: 8px; color: var(--ug-text-muted); font-family: var(--ug-font-display); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.82rem; }
.ug-flow li a { display: flex; align-items: center; gap: 8px; color: inherit; }
.ug-flow li span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid var(--ug-border-strong); border-radius: 50%; font-size: 0.75rem; }
.ug-flow li.is-current { color: var(--ug-text); }
.ug-flow li.is-current span { background: var(--ug-red); color: #fff; border-color: transparent; }
.ug-flow li.is-done span { border-color: var(--ug-red); color: var(--ug-red); }
.ug-flow li:not(:last-child)::after { content: "→"; color: var(--ug-border-strong); margin-left: 4px; }

.ug-cart-wrap, .ug-checkout-wrap { }
.ug-cart-layout { display: grid; grid-template-columns: 1fr 340px; gap: var(--ug-space-lg); align-items: start; }

/* Cart table */
body.ug-store .ug-cart-table {
	width: 100%; border-collapse: collapse;
	background: var(--ug-charcoal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius-lg); overflow: hidden;
}
body.ug-store .ug-cart-table thead th {
	text-align: left; padding: 14px 16px; font-family: var(--ug-font-display);
	font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ug-text-muted);
	border-bottom: 1px solid var(--ug-border); background: var(--ug-gunmetal);
}
body.ug-store .ug-cart-table td { padding: 16px; border-bottom: 1px solid var(--ug-border); vertical-align: middle; color: var(--ug-text-2); }
body.ug-store .ug-cart-table .product-thumbnail img { width: 64px; border-radius: var(--ug-radius-sm); border: 1px solid var(--ug-border); }
body.ug-store .ug-cart-table .product-name a { color: var(--ug-text); }
body.ug-store .ug-cart-table a.remove {
	display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px;
	border-radius: 50%; color: var(--ug-text-muted) !important; background: rgba(255,255,255,0.04); font-size: 1.1rem;
	transition: color var(--ug-dur), background var(--ug-dur);
}
body.ug-store .ug-cart-table a.remove:hover { color: #fff !important; background: var(--ug-red) !important; }
body.ug-store .ug-cart-table td.actions { background: var(--ug-gunmetal); }
body.ug-store .ug-cart-table .coupon { display: inline-flex; gap: 8px; }

/* Cart totals / checkout review */
body.ug-store .cart_totals,
body.ug-store .ug-cart-aside {
	background: linear-gradient(170deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border-strong);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
	position: sticky; top: calc(var(--ug-header) + 16px);
}
body.ug-store .cart_totals h2 { font-size: 1.2rem; margin: 0 0 var(--ug-space-sm); }
body.ug-store .cart_totals table { width: 100%; border-collapse: collapse; }
body.ug-store .cart_totals th, body.ug-store .cart_totals td { padding: 10px 0; border-bottom: 1px solid var(--ug-border); text-align: left; color: var(--ug-text-2); }
body.ug-store .cart_totals .order-total .amount { font-family: var(--ug-font-display); font-size: 1.3rem; color: var(--ug-text); }
body.ug-store .wc-proceed-to-checkout { margin-top: var(--ug-space-md); }
body.ug-store .wc-proceed-to-checkout .checkout-button { width: 100%; }

/* Buttons in WC contexts inherit ug-btn look */
body.ug-store .woocommerce #respond input#submit,
body.ug-store .woocommerce a.button,
body.ug-store .woocommerce button.button,
body.ug-store .woocommerce input.button,
body.ug-store .button.alt,
body.ug-store .checkout-button,
body.ug-store .single_add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 26px; font-family: var(--ug-font-display); font-weight: 600;
	letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.92rem; line-height: 1;
	background: var(--ug-surface-2); color: var(--ug-text); border: 1px solid transparent;
	border-radius: 0; cursor: pointer;
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
	transition: transform var(--ug-dur), box-shadow var(--ug-dur), background var(--ug-dur);
}
body.ug-store .woocommerce a.button:hover,
body.ug-store .woocommerce button.button:hover,
body.ug-store .woocommerce input.button:hover { transform: translateY(-2px); }
body.ug-store .button.alt,
body.ug-store .checkout-button,
body.ug-store .single_add_to_cart_button {
	background: linear-gradient(135deg, var(--ug-red-bright), var(--ug-red-deep));
	color: #fff; box-shadow: 0 6px 22px var(--ug-red-glow);
}

/* ============ Global WooCommerce form controls ============ */
/* Every WC field (checkout, cart, account, coupon) inherits the store design. */
body.ug-store .woocommerce .input-text,
body.ug-store .woocommerce input[type="text"],
body.ug-store .woocommerce input[type="email"],
body.ug-store .woocommerce input[type="tel"],
body.ug-store .woocommerce input[type="password"],
body.ug-store .woocommerce input[type="search"],
body.ug-store .woocommerce input[type="url"],
body.ug-store .woocommerce textarea,
body.ug-store .woocommerce select,
body.ug-store .woocommerce .select2-selection {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	background: var(--ug-gunmetal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius);
	color: var(--ug-text);
	font-family: var(--ug-font);
	font-size: 0.95rem;
	line-height: 1.4;
	transition: border-color var(--ug-dur), box-shadow var(--ug-dur), background var(--ug-dur);
}
body.ug-store .woocommerce textarea { min-height: 120px; resize: vertical; }
body.ug-store .woocommerce .input-text::placeholder,
body.ug-store .woocommerce textarea::placeholder { color: var(--ug-text-muted); }
body.ug-store .woocommerce .input-text:focus,
body.ug-store .woocommerce input:focus,
body.ug-store .woocommerce textarea:focus,
body.ug-store .woocommerce select:focus {
	outline: none;
	border-color: var(--ug-red);
	background: var(--ug-charcoal);
	box-shadow: 0 0 0 3px var(--ug-red-soft);
}
/* Custom select arrow on dark. */
body.ug-store .woocommerce select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 40px;
	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' stroke='%238a8f99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
/* Branded crimson arrow on focus/hover for a consistent identity. */
body.ug-store .woocommerce select:focus,
body.ug-store .woocommerce select:hover,
body.ug-store .woocommerce-ordering select:focus,
body.ug-store .woocommerce-ordering select:hover,
body.ug-store select.orderby:focus,
body.ug-store select.orderby:hover {
	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' stroke='%23ff4655' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
}
/* Select2 (WC country/state) alignment. */
body.ug-store .woocommerce .select2-container .select2-selection--single { display: flex; align-items: center; }
body.ug-store .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ug-text); line-height: 1.4; padding: 0; }
body.ug-store .woocommerce .select2-dropdown { background: var(--ug-charcoal); border: 1px solid var(--ug-border-strong); color: var(--ug-text); }
body.ug-store .woocommerce .select2-results__option--highlighted { background: var(--ug-red-soft); color: #fff; }
/* Required-field asterisk in the crimson accent. */
body.ug-store .woocommerce .required, body.ug-store .woocommerce abbr.required { color: var(--ug-red); border: 0; text-decoration: none; }
/* Quantity fields must not stretch to full width. */
body.ug-store .woocommerce input.qty { width: 72px; min-height: 48px; text-align: center; }

/* Cart/checkout/account render through page.php — let them use the full
   container width (page.php normally caps content at a reading width), and
   drop the duplicate page hero since these pages have their own intros. */
body.woocommerce-checkout .ug-page__content,
body.woocommerce-cart .ug-page__content,
body.woocommerce-account .ug-page__content { max-width: none; }
body.woocommerce-checkout .ug-page-hero,
body.woocommerce-cart .ug-page-hero { display: none; }

/* ============ Checkout ============ */
body.ug-store .checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 480px);
	grid-template-rows: auto 1fr;
	gap: var(--ug-space-sm) var(--ug-space-lg);
	align-items: start;
}
body.ug-store #customer_details { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
body.ug-store #order_review_heading {
	grid-column: 2; grid-row: 1;
	margin: 0 0 4px; font-family: var(--ug-font-display);
	font-size: 1.15rem; letter-spacing: 0.05em; text-transform: uppercase;
}
body.ug-store #order_review {
	grid-column: 2; grid-row: 2;
	position: sticky; top: calc(var(--ug-header) + 16px); align-self: start; min-width: 0;
}

/* Left column — field groups become tidy panels. */
body.ug-store #customer_details .woocommerce-billing-fields,
body.ug-store #customer_details .woocommerce-shipping-fields,
body.ug-store #customer_details .woocommerce-additional-fields,
body.ug-store .woocommerce-account-fields {
	background: var(--ug-charcoal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
	margin-bottom: var(--ug-space-md);
}
body.ug-store form.checkout h3 { position: relative; font-size: 1.15rem; margin: 0 0 var(--ug-space-md); padding: 0 0 var(--ug-space-sm) 14px; border-bottom: 1px solid var(--ug-border); }
body.ug-store form.checkout h3::before { content: ""; position: absolute; left: 0; top: 1px; height: 1.05em; width: 3px; background: linear-gradient(180deg, var(--ug-red), var(--ug-red-deep)); border-radius: 2px; }
/* Two-up field grid (WC marks half rows first/last, full rows wide). */
body.ug-store .woocommerce-billing-fields__field-wrapper,
body.ug-store .woocommerce-shipping-fields__field-wrapper,
body.ug-store .woocommerce-additional-fields__field-wrapper {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px;
}
body.ug-store .woocommerce-checkout .form-row { margin: 0 0 var(--ug-space-sm); padding: 0; float: none; width: auto; }
body.ug-store .woocommerce-checkout .form-row-wide,
body.ug-store .woocommerce-checkout .form-row.notes,
body.ug-store .woocommerce-checkout .create-account { grid-column: 1 / -1; }
body.ug-store .woocommerce-checkout .form-row-first { grid-column: 1; }
body.ug-store .woocommerce-checkout .form-row-last { grid-column: 2; }
body.ug-store .col2-set .col-1, body.ug-store .col2-set .col-2 { width: 100%; float: none; padding: 0; }
/* Coupon / login toggles. */
body.ug-store .woocommerce-form-coupon-toggle .woocommerce-info,
body.ug-store .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: var(--ug-space-md); }
body.ug-store form.checkout_coupon,
body.ug-store form.login {
	background: var(--ug-charcoal); border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg); padding: var(--ug-space-lg); margin-bottom: var(--ug-space-md);
}

/* ---- Right bar: unified order review + payment panel ---- */
body.ug-store #order_review.woocommerce-checkout-review-order,
body.ug-store .woocommerce-checkout-review-order {
	background: linear-gradient(170deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border-strong);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
	box-shadow: var(--ug-shadow-card);
}
/* Summary table */
body.ug-store .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; margin: 0; }
body.ug-store .woocommerce-checkout-review-order-table thead th {
	text-align: left; padding: 0 0 10px; border-bottom: 1px solid var(--ug-border);
	font-family: var(--ug-font-display); font-size: 0.72rem; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--ug-text-muted);
}
body.ug-store .woocommerce-checkout-review-order-table thead th.product-total { text-align: right; }
body.ug-store .woocommerce-checkout-review-order-table tbody td { padding: 12px 0; border-bottom: 1px solid var(--ug-border); color: var(--ug-text-2); vertical-align: top; }
body.ug-store .woocommerce-checkout-review-order-table .product-name { text-align: left; color: var(--ug-text); font-weight: 500; }
body.ug-store .woocommerce-checkout-review-order-table .product-name .product-quantity { color: var(--ug-text-muted); font-weight: 600; margin-left: 4px; }
body.ug-store .woocommerce-checkout-review-order-table .product-total { text-align: right; white-space: nowrap; color: var(--ug-text); }
body.ug-store .woocommerce-checkout-review-order-table tfoot th { text-align: left; font-weight: 600; color: var(--ug-text-2); padding: 10px 0; border-bottom: 1px solid var(--ug-border); }
body.ug-store .woocommerce-checkout-review-order-table tfoot td { text-align: right; padding: 10px 0; color: var(--ug-text); border-bottom: 1px solid var(--ug-border); }
body.ug-store .woocommerce-checkout-review-order-table tfoot .order-total th,
body.ug-store .woocommerce-checkout-review-order-table tfoot .order-total td { border-bottom: 0; padding-top: var(--ug-space-sm); }
body.ug-store .woocommerce-checkout-review-order-table tfoot .order-total th { font-family: var(--ug-font-display); text-transform: uppercase; letter-spacing: 0.04em; }
body.ug-store .woocommerce-checkout-review-order-table .order-total .amount { font-family: var(--ug-font-display); font-size: 1.5rem; color: var(--ug-text); }

/* Payment — nested inside the review panel, joined by a divider. */
body.ug-store .woocommerce-checkout #payment {
	background: transparent; border: 0; border-radius: 0;
	margin-top: var(--ug-space-md); padding-top: var(--ug-space-md); border-top: 1px solid var(--ug-border);
}
body.ug-store .woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 var(--ug-space-sm); padding: 0; border: 0; }
body.ug-store .woocommerce-checkout #payment ul.payment_methods li {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	padding: 12px 14px; margin: 0 0 8px; border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius); background: rgba(255, 255, 255, 0.03);
	transition: border-color var(--ug-dur), background var(--ug-dur);
}
body.ug-store .woocommerce-checkout #payment ul.payment_methods li:last-child { margin-bottom: 0; }
body.ug-store .woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--ug-border-red); background: var(--ug-red-soft); }
body.ug-store .woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color: var(--ug-red); width: 18px; height: 18px; flex: none; }
body.ug-store .woocommerce-checkout #payment ul.payment_methods li label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; color: var(--ug-text); cursor: pointer; }
body.ug-store .woocommerce-checkout #payment ul.payment_methods li img { max-height: 24px; width: auto; margin-left: auto; }
body.ug-store .woocommerce-checkout #payment div.payment_box {
	flex-basis: 100%; margin: 10px 0 0; padding: var(--ug-space-sm) var(--ug-space-md);
	background: rgba(0, 0, 0, 0.28); border: 1px solid var(--ug-border); border-radius: var(--ug-radius);
	color: var(--ug-text-2); font-size: 0.84rem; line-height: 1.5;
}
body.ug-store .woocommerce-checkout #payment div.payment_box::before { display: none; }
body.ug-store .woocommerce-checkout #payment .place-order { padding: 0; margin: 0; }
body.ug-store #place_order { width: 100%; margin-top: 4px; }
body.ug-store .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--ug-space-sm); }
body.ug-store .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label { display: flex; gap: 8px; align-items: flex-start; font-size: 0.84rem; color: var(--ug-text-2); }
body.ug-store .woocommerce-privacy-policy-text { font-size: 0.8rem; color: var(--ug-text-muted); margin-top: var(--ug-space-sm); }
body.ug-store .woocommerce-privacy-policy-text p { color: var(--ug-text-muted); }
body.ug-store form.woocommerce-checkout input[type="checkbox"] { accent-color: var(--ug-red); width: 18px; height: 18px; flex: none; }

.ug-checkout-trust { margin-top: var(--ug-space-md); text-align: center; color: var(--ug-text-muted); font-size: 0.82rem; }
.ug-checkout-trust .ug-payments-img { display: flex; justify-content: center; margin-bottom: 8px; }

/* ============ My account ============ */
body.ug-store .woocommerce-account .woocommerce { display: block; }
body.ug-store .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
body.ug-store .woocommerce-MyAccount-navigation {
	background: var(--ug-charcoal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius-lg); padding: var(--ug-space-sm);
}
body.ug-store .woocommerce-MyAccount-navigation li a {
	display: block; padding: 11px 14px; border-radius: var(--ug-radius); color: var(--ug-text-2);
	font-family: var(--ug-font-display); font-weight: 600; letter-spacing: 0.03em; font-size: 0.9rem;
	transition: background var(--ug-dur), color var(--ug-dur);
}
body.ug-store .woocommerce-MyAccount-navigation li a:hover { background: rgba(255, 255, 255, 0.04); color: var(--ug-text); }
body.ug-store .woocommerce-MyAccount-navigation li.is-active a { background: var(--ug-red-soft); color: #fff; }
body.ug-store .woocommerce-account .woocommerce-MyAccount-content {
	background: var(--ug-charcoal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius-lg); padding: var(--ug-space-lg);
}
body.ug-store .woocommerce-account .col2-set,
body.ug-store .woocommerce-account .woocommerce > .woocommerce-notices-wrapper + form,
body.ug-store .woocommerce-account form.woocommerce-form-login,
body.ug-store .woocommerce-account form.woocommerce-form-register { /* handled below */ }

/* Account tables (orders/addresses) */
body.ug-store .woocommerce-orders-table,
body.ug-store .shop_table { width: 100%; border-collapse: collapse; }
/* Kill WooCommerce core's default light border/radius wrapper on shop tables
   (the faint rounded box around the order summary / cart / account tables). */
body.ug-store .woocommerce table.shop_table,
body.ug-store table.shop_table,
body.ug-store .cart_totals table,
body.ug-store .woocommerce-checkout-review-order-table {
	border: 0;
	border-radius: 0;
}
body.ug-store .woocommerce table.shop_table td,
body.ug-store .woocommerce table.shop_table th,
body.ug-store table.shop_table td,
body.ug-store table.shop_table th { border-right: 0; }
body.ug-store .woocommerce-orders-table th,
body.ug-store .woocommerce-orders-table td { padding: 12px; border-bottom: 1px solid var(--ug-border); text-align: left; color: var(--ug-text-2); }
body.ug-store .woocommerce-orders-table th { color: var(--ug-text-muted); font-family: var(--ug-font-display); text-transform: uppercase; font-size: 0.74rem; letter-spacing: 0.1em; }

/* Login/register two-column */
.ug-account-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ug-space-lg); align-items: start; }
.ug-account-col {
	background: var(--ug-charcoal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius-lg); padding: var(--ug-space-lg);
	width: 100%; float: none;
}
.ug-account-col h2 { font-size: 1.4rem; margin: 0 0 var(--ug-space-sm); text-transform: uppercase; }
.ug-login-hint { font-size: 0.8rem; color: var(--ug-text-muted); margin: 6px 0 0; }
.ug-login-hint--lead { margin-bottom: var(--ug-space-md); color: var(--ug-text-2); }
body.ug-store .woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 0.82rem; font-weight: 600; color: var(--ug-text-2); }
body.ug-store .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: var(--ug-space-sm) 0; }

/* Wishlist page bits */
.ug-wishlist-header { display: flex; align-items: center; justify-content: space-between; gap: var(--ug-space-md); margin-bottom: var(--ug-space-md); flex-wrap: wrap; }
.ug-wishlist-count { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ug-font-display); font-weight: 600; }
.ug-wishlist-count__icon { color: var(--ug-red); display: inline-flex; }

/* Trust strip */
.ug-trust-strip { margin-top: var(--ug-space-xl); padding-block: var(--ug-space-lg); border-top: 1px solid var(--ug-border); }
.ug-trust-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ug-space-md); }
.ug-trust-strip__block { display: grid; gap: 6px; padding: var(--ug-space-md); background: var(--ug-charcoal); border: 1px solid var(--ug-border); border-radius: var(--ug-radius-lg); }
.ug-trust-strip__icon { color: var(--ug-red); display: inline-flex; }
.ug-trust-strip__block strong { font-family: var(--ug-font-display); letter-spacing: 0.04em; }
.ug-trust-strip__block p { font-size: 0.85rem; color: var(--ug-text-muted); margin: 0; }

/* ============ WooCommerce Blocks (block-based cart & checkout) ============ */
/* Only matches when the cart/checkout pages use the WooCommerce blocks; keeps
   those controls on-brand just like the classic shortcode checkout. */
body.ug-store .wc-block-checkout,
body.ug-store .wc-block-cart,
body.ug-store .wp-block-woocommerce-checkout,
body.ug-store .wp-block-woocommerce-cart { color: var(--ug-text); }

/* Fields */
body.ug-store .wc-block-components-text-input input,
body.ug-store .wc-block-components-textarea,
body.ug-store .wc-block-components-select .wc-blocks-components-select__select,
body.ug-store .wc-block-components-combobox input,
body.ug-store .wc-block-components-quantity-selector input {
	background: var(--ug-gunmetal) !important;
	border: 1px solid var(--ug-border) !important;
	border-radius: var(--ug-radius) !important;
	color: var(--ug-text) !important;
}
body.ug-store .wc-block-components-text-input input:focus,
body.ug-store .wc-block-components-textarea:focus,
body.ug-store .wc-block-components-combobox input:focus,
body.ug-store .wc-block-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--ug-red) !important;
	box-shadow: 0 0 0 2px var(--ug-red-soft) !important;
	outline: none !important;
}
body.ug-store .wc-block-components-text-input label,
body.ug-store .wc-block-components-address-form label,
body.ug-store .wc-block-components-checkout-step__description { color: var(--ug-text-muted) !important; }

/* Steps → panels */
body.ug-store .wc-block-components-checkout-step {
	background: var(--ug-charcoal);
	border: 1px solid var(--ug-border);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
	margin-bottom: var(--ug-space-md);
}
body.ug-store .wc-block-components-checkout-step__title,
body.ug-store .wc-block-components-title { color: var(--ug-text) !important; font-family: var(--ug-font-display); }

/* Right bar: order summary + totals */
body.ug-store .wc-block-checkout__sidebar .wc-block-components-panel,
body.ug-store .wp-block-woocommerce-checkout-order-summary-block,
body.ug-store .wc-block-components-sidebar {
	background: linear-gradient(170deg, var(--ug-gunmetal), var(--ug-charcoal));
	border: 1px solid var(--ug-border-strong);
	border-radius: var(--ug-radius-lg);
	padding: var(--ug-space-lg);
}
body.ug-store .wc-block-components-totals-item__label { color: var(--ug-text-2); }
body.ug-store .wc-block-components-totals-item__value { color: var(--ug-text); }
body.ug-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--ug-font-display); font-size: 1.4rem; color: var(--ug-text); }
body.ug-store .wc-block-components-order-summary-item__total-price { color: var(--ug-text); }
body.ug-store .wc-block-components-divider,
body.ug-store .wc-block-components-totals-item,
body.ug-store .wc-block-components-order-summary-item { border-color: var(--ug-border) !important; }

/* Buttons */
body.ug-store .wc-block-components-button.contained,
body.ug-store .wc-block-components-checkout-place-order-button {
	background: linear-gradient(135deg, var(--ug-red-bright), var(--ug-red-deep)) !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-family: var(--ug-font-display);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
body.ug-store .wc-block-components-button.outlined {
	border-color: var(--ug-border-strong) !important;
	color: var(--ug-text) !important;
	background: transparent !important;
	border-radius: 0 !important;
}
/* Radios / checkboxes */
body.ug-store .wc-block-components-radio-control__input,
body.ug-store .wc-block-components-checkbox__input { accent-color: var(--ug-red); }
body.ug-store .wc-block-components-radio-control__option,
body.ug-store .wc-block-components-shipping-rates-control__package { border-color: var(--ug-border) !important; }

/* WC notices spacing */
body.ug-store .woocommerce-notices-wrapper { margin-bottom: var(--ug-space-md); }

/* ============ Responsive ============ */
@media (max-width: 980px) {
	.ug-shop-layout { grid-template-columns: 1fr; }
	.ug-shop-sidebar {
		position: fixed; inset: 0 0 0 auto; z-index: 110; width: min(320px, 90vw);
		background: var(--ug-charcoal); border-left: 1px solid var(--ug-border-strong);
		padding: var(--ug-space-md); overflow-y: auto; transform: translateX(100%);
		transition: transform var(--ug-dur) var(--ug-ease-out);
	}
	.ug-shop-sidebar.is-open { transform: translateX(0); box-shadow: -20px 0 60px rgba(0,0,0,0.5); }
	.ug-filter { max-height: none; overflow: visible; border: none; background: transparent; padding: 0; }
	.ug-filter-toggle { display: inline-flex; }
	.ug-product__layout { grid-template-columns: 1fr; }
	.ug-product__gallery { position: static; }
	.ug-product__purchase { position: static; }
	.ug-cart-layout { grid-template-columns: 1fr; }
	body.ug-store .checkout.woocommerce-checkout { grid-template-columns: 1fr; grid-template-rows: none; }
	body.ug-store #customer_details,
	body.ug-store #order_review,
	body.ug-store #order_review_heading { grid-column: 1; grid-row: auto; }
	body.ug-store #order_review { position: static; }
	body.ug-store #order_review_heading { margin-top: var(--ug-space-sm); }
	body.ug-store .woocommerce-billing-fields__field-wrapper,
	body.ug-store .woocommerce-shipping-fields__field-wrapper,
	body.ug-store .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
	body.ug-store .woocommerce-checkout .form-row-first,
	body.ug-store .woocommerce-checkout .form-row-last { grid-column: 1; }
	.ug-account-columns { grid-template-columns: 1fr; }
	body.ug-store .related.products ul.products,
	body.ug-store ul.products { grid-template-columns: repeat(3, 1fr); }
	.ug-trust-strip__grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
	body.ug-store .related.products ul.products,
	body.ug-store ul.products { grid-template-columns: repeat(2, 1fr); }
	/* Tighter panels + summary on small screens. */
	body.ug-store #customer_details .woocommerce-billing-fields,
	body.ug-store #customer_details .woocommerce-shipping-fields,
	body.ug-store #customer_details .woocommerce-additional-fields,
	body.ug-store .woocommerce-account-fields,
	body.ug-store #order_review.woocommerce-checkout-review-order,
	body.ug-store .woocommerce-checkout-review-order,
	body.ug-store form.checkout_coupon,
	body.ug-store form.login { padding: var(--ug-space-md); }
	body.ug-store .woocommerce-checkout-review-order-table .order-total .amount { font-size: 1.3rem; }
	body.ug-store .checkout.woocommerce-checkout { gap: var(--ug-space-sm); }
}
