/**
 * Lovia — "Refined Editorial" WooCommerce layer.
 * Scope: shop archives, product categories, single product, cart, checkout,
 * account. Styling only — no flow/markup changes.
 *
 * Uses the global tokens from lovia-editorial.css (--lov-*). Layers on top of
 * lovia-shop-ux.css (buy-flow polish); primary CTA gold (#856024, !important
 * there) is intentionally left untouched — this sheet adds shape, spacing,
 * typography and depth around it.
 *
 * Structure:
 *   1. Shared product-card system (generic ul.products — also powers related
 *      products, cross-sells and homepage grids, which is intended)
 *   2. Archive: title area, toolbar, sidebar filters, off-canvas panel
 *   3. Single product: gallery, summary, PEWC fields, tabs, related
 *   4. Cart (WooCommerce Blocks)
 *   5. Checkout (WooCommerce Blocks)
 *   6. Account (logged-out login + logged-in nav/tables)
 *   7. Shared Woo bits: notices, sale badge, pagination
 *   8. Responsive refinements
 */

/* ==========================================================================
   1. Product card system
   ========================================================================== */

/* Grid rhythm — Blocksy's own gap vars */
[data-products] {
	--grid-rows-gap: 40px;
}

/* Card surface */
[data-products] .product,
ul.products li.product {
	--theme-border-radius: var(--lov-radius-card);
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	transition: border-color 0.3s ease, box-shadow 0.3s ease,
		transform 0.3s ease;
}

@media (hover: hover) {
	ul.products li.product:hover {
		border-color: var(--lov-gold-soft);
		box-shadow: var(--lov-shadow-lift);
		transform: translateY(-3px);
	}
}

/* Image: consistent 4:5 frame, gentle zoom on hover */
ul.products li.product .ct-media-container {
	border-radius: calc(var(--lov-radius-card) - 1px)
		calc(var(--lov-radius-card) - 1px) 0 0 !important;
	overflow: hidden;
	background: var(--lov-ivory);
}

ul.products li.product .ct-media-container::before {
	padding-bottom: 125%; /* 4:5 */
}

ul.products li.product .ct-media-container img {
	object-fit: cover;
	transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (hover: hover) {
	ul.products li.product:hover .ct-media-container img {
		transform: scale(1.06);
	}
}

/* Quick-view toggle: quiet white disc, gold on hover */
ul.products .ct-open-quick-view {
	border-radius: 50%;
	box-shadow: var(--lov-shadow-soft);
}

/* Title: calm sans, clamped to two lines so prices align */
[data-products] .product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
	--theme-font-family: var(--lov-sans);
	--theme-font-weight: 500;
	--theme-font-size: 15px;
	--theme-line-height: 1.45;
}

ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(2 * 1.45em);
}

ul.products li.product .woocommerce-loop-product__title a,
ul.products li.product .woocommerce-loop-product__title {
	color: var(--lov-ink) !important;
}

/* Price: gold, tabular, confident */
ul.products li.product .price {
	--theme-font-family: var(--lov-sans);
	--theme-font-weight: 600;
	--theme-font-size: 15px;
	color: var(--lov-gold-deep) !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
}

ul.products li.product .price del {
	color: var(--lov-muted) !important;
	font-weight: 400;
	font-size: 0.85em;
}

ul.products li.product .price ins {
	text-decoration: none;
}

/* Actions row: price left, button right, breathing room */
ul.products .ct-woo-card-actions {
	align-items: center;
}

/* "Alege detaliile" — secondary outline-gold pill */
ul.products .ct-woo-card-actions .button,
ul.products .ct-woo-card-actions a.button,
ul.products .added_to_cart.wc-forward {
	background: transparent !important;
	border: 1.5px solid var(--lov-gold) !important;
	color: var(--lov-gold-deep) !important;
	border-radius: var(--lov-radius-pill);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.2;
	padding: 10px 16px;
	min-height: 0;
	box-shadow: none;
}

@media (hover: hover) {
	ul.products .ct-woo-card-actions .button:hover,
	ul.products .ct-woo-card-actions a.button:hover,
	ul.products .added_to_cart.wc-forward:hover {
		background: var(--lov-gold) !important;
		border-color: var(--lov-gold) !important;
		color: #fff !important;
		box-shadow: 0 6px 16px rgba(168, 133, 59, 0.35);
	}
}

/* Touch devices: auto-hidden buttons must simply be visible */
@media (hover: none) {
	ul.products .ct-woo-card-actions .button,
	ul.products .ct-woo-card-actions a.button {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}
}

/* Sale / stock badges: soft gold pill */
ul.products .onsale,
ul.products [class*="ct-woo-badge-"] {
	--theme-font-family: var(--lov-sans);
	--theme-font-weight: 600;
	--theme-font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--lov-gold-soft);
	color: var(--lov-gold-deep);
	border-radius: var(--lov-radius-pill);
	box-shadow: none;
}

/* --- Woo Blocks product grids (empty-cart "New in store", cross-sells) ---
   Same card language as the classic ul.products cards above. */
ul.wc-block-grid__products li.wc-block-grid__product {
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	overflow: hidden;
	padding: 0 0 20px;
	transition: border-color 0.3s ease, box-shadow 0.3s ease,
		transform 0.3s ease;
}

@media (hover: hover) {
	ul.wc-block-grid__products li.wc-block-grid__product:hover {
		border-color: var(--lov-gold-soft);
		box-shadow: var(--lov-shadow-lift);
		transform: translateY(-3px);
	}
}

.wc-block-grid__product .wc-block-grid__product-image {
	background: var(--lov-ivory);
	overflow: hidden;
}

.wc-block-grid__product .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover;
	transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (hover: hover) {
	.wc-block-grid__product:hover .wc-block-grid__product-image img {
		transform: scale(1.06);
	}
}

.wc-block-grid__product .wc-block-grid__product-title,
.wc-block-grid__product .wc-block-grid__product-title a {
	font-family: var(--lov-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45;
	color: var(--lov-ink) !important;
}

.wc-block-grid__product .wc-block-grid__product-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(2 * 1.45em);
	padding: 14px 16px 0;
}

.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wc-block-grid__product-price .amount {
	font-family: var(--lov-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--lov-gold-deep) !important;
	font-variant-numeric: tabular-nums;
}

.wc-block-grid__product .wc-block-grid__product-price del {
	color: var(--lov-muted) !important;
	font-weight: 400;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button {
	background: transparent !important;
	border: 1.5px solid var(--lov-gold) !important;
	color: var(--lov-gold-deep) !important;
	border-radius: var(--lov-radius-pill);
	font-family: var(--lov-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 10px 16px;
}

@media (hover: hover) {
	.wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
	.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button:hover {
		background: var(--lov-gold) !important;
		color: #fff !important;
		box-shadow: 0 6px 16px rgba(168, 133, 59, 0.35);
	}
}

.wc-block-grid__product .wc-block-grid__product-onsale {
	font-family: var(--lov-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--lov-gold-soft);
	color: var(--lov-gold-deep);
	border: 0;
	border-radius: var(--lov-radius-pill);
}

/* ==========================================================================
   2. Archive: title, toolbar, filters
   ========================================================================== */

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
	padding-block: clamp(28px, 4vw, 52px) 4px;
}

.woocommerce-products-header .page-title {
	font-family: var(--lov-serif);
	font-weight: 600;
	--theme-font-size: clamp(26px, 3.4vw, 40px);
	letter-spacing: -0.015em;
	line-height: 1.15;
	color: var(--lov-ink);
	margin-bottom: 0 !important; /* beats inline margin on shop h1 */
}

.woocommerce-products-header .page-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: var(--lov-gold);
	border-radius: 2px;
	margin: 18px auto 0;
}

/* Category / shop intro text under the title */
body.tax-product_cat .term-description,
body.post-type-archive-product .term-description,
.woocommerce-products-header > p {
	max-width: 620px;
	margin: 14px auto 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--lov-muted);
	text-align: center;
}

/* --- Toolbar: result count + ordering + mobile filter trigger ---------- */

.woo-listing-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	padding-bottom: 20px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--lov-hairline);
}

.woocommerce-result-count {
	font-family: var(--lov-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--lov-muted);
	margin: 0;
}

.woocommerce-ordering {
	margin-inline-start: auto;
}

.woocommerce-ordering select {
	appearance: none;
	font-family: var(--lov-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--lov-ink);
	background-color: var(--lov-surface);
	border: 1.5px solid var(--lov-hairline);
	border-radius: var(--lov-radius-pill);
	padding: 10px 40px 10px 18px;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-ordering select:hover {
	border-color: var(--lov-gold);
}

.woocommerce-ordering select:focus {
	border-color: var(--lov-gold);
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

/* Mobile "FILTRE" trigger → proper outline pill */
.ct-toggle-filter-panel {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--lov-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lov-gold-deep) !important;
	background: var(--lov-surface);
	border: 1.5px solid var(--lov-gold);
	border-radius: var(--lov-radius-pill);
	padding: 10px 18px;
}

.ct-toggle-filter-panel:active {
	background: var(--lov-gold-soft);
}

/* --- Sidebar filter widgets -------------------------------------------- */

.ct-sidebar .ct-widget,
#woo-filters-panel .ct-widget {
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	padding: 22px 22px 18px;
	margin-bottom: 18px;
}

.ct-sidebar .widget-title,
#woo-filters-panel .widget-title {
	position: relative;
	font-family: var(--lov-sans);
	font-weight: 600;
	--theme-font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lov-muted);
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--lov-hairline);
}

.ct-sidebar .widget-title::after,
#woo-filters-panel .widget-title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: -1px;
	width: 34px;
	height: 2px;
	background: var(--lov-gold);
	border-radius: 2px;
}

/* Filter option rows */
.ct-filter-widget {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-inline: -10px;
}

.ct-filter-item-inner a {
	padding: 8px 10px;
	border-radius: var(--lov-radius-ctl);
	transition: background-color 0.15s ease;
}

.ct-filter-item-inner a:hover {
	background: var(--lov-ivory);
}

.ct-filter-label {
	font-family: var(--lov-sans);
	font-size: 14px;
	color: var(--lov-ink);
	transition: color 0.15s ease;
}

.ct-filter-item-inner a:hover .ct-filter-label,
.ct-filter-item-inner a.active .ct-filter-label {
	color: var(--lov-gold-deep);
}

/* Count chip */
.ct-filter-item-inner a > .ct-filter-count {
	font-family: var(--lov-sans);
	font-variant-numeric: tabular-nums;
	font-size: 11px;
	font-weight: 500;
	min-width: 26px;
	height: 20px;
	border: none !important;
	background: var(--lov-cream);
	color: var(--lov-muted);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ct-filter-item-inner a:is(:hover, .active) > .ct-filter-count {
	background: var(--lov-gold);
	color: #fff;
}

/* Long taxonomy lists: contained, elegant scroll */
.ct-filter-widget[data-filter-criteria="taxonomy:product_cat"] {
	max-height: 330px;
	overflow-y: auto;
	padding-inline-end: 10px;
	scrollbar-width: thin;
	scrollbar-color: var(--lov-hairline) transparent;
}

.ct-filter-widget[data-filter-criteria="taxonomy:product_cat"]::-webkit-scrollbar {
	width: 5px;
}

.ct-filter-widget[data-filter-criteria="taxonomy:product_cat"]::-webkit-scrollbar-thumb {
	background: var(--lov-hairline);
	border-radius: 4px;
}

.ct-filter-widget[data-filter-criteria="taxonomy:product_cat"]::-webkit-scrollbar-thumb:hover {
	background: var(--lov-gold);
}

/* Custom checkboxes: warm hairline → gold when active */
.ct-checkbox {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px;
	border: 1.5px solid #d9cfba !important;
	border-radius: 5px !important;
	background: var(--lov-surface) !important;
	transition: border-color 0.15s ease, background-color 0.15s ease,
		box-shadow 0.15s ease;
}

.ct-filter-item-inner a:hover .ct-checkbox {
	border-color: var(--lov-gold) !important;
}

.ct-checkbox:checked {
	background: var(--lov-gold) !important;
	border-color: var(--lov-gold) !important;
}

/* Price slider */
.ct-price-filter-slider {
	--handle-size: 20px;
	margin-block: calc(var(--handle-size) / 2) 28px;
}

.ct-price-filter-slider .ct-price-filter-range-track {
	height: 14px;
	padding: 5px 0; /* 4px visible line */
	background-image: linear-gradient(
		90deg,
		var(--lov-gold-soft) var(--start),
		var(--lov-gold) var(--start),
		var(--lov-gold) var(--end),
		var(--lov-gold-soft) var(--end)
	) !important;
}

.ct-price-filter-slider [class*="ct-price-filter-range-handle"] {
	border: 2px solid var(--lov-gold);
	box-shadow: 0 2px 8px rgba(46, 42, 36, 0.18);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.ct-price-filter-slider [class*="ct-price-filter-range-handle"]:hover {
	box-shadow: 0 3px 12px rgba(138, 109, 47, 0.4);
}

.ct-price-filter-values {
	font-family: var(--lov-sans);
	font-size: 13px;
	color: var(--lov-muted);
	font-variant-numeric: tabular-nums;
}

.ct-price-filter-values .ct-price-filter-min,
.ct-price-filter-values .ct-price-filter-max {
	color: var(--lov-gold-deep);
	font-weight: 600;
}

/* Slider tooltip: brand-ink chip */
.ct-price-filter-slider .ct-tooltip {
	font-family: var(--lov-sans);
	font-size: 11px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	border-radius: 6px;
}

/* Off-canvas filters panel (mobile) */
#woo-filters-panel {
	background: var(--lov-ivory);
}

#woo-filters-panel .ct-panel-inner {
	padding: 24px 18px 32px;
}

#woo-filters-panel .ct-panel-heading {
	font-family: var(--lov-serif);
	font-weight: 600;
	color: var(--lov-ink);
}

/* ==========================================================================
   3. Single product
   ========================================================================== */

body.single-product .ct-breadcrumbs {
	font-size: 12.5px;
	color: var(--lov-muted);
}

body.single-product .ct-breadcrumbs a:hover {
	color: var(--lov-gold-deep);
}

/* Gallery: soft frame, rounded thumbs */
body.single-product .ct-product-gallery-container .flexy-view,
body.single-product .woocommerce-product-gallery .flexy-view {
	border-radius: var(--lov-radius-card);
	overflow: hidden;
	border: 1px solid var(--lov-hairline);
	background: var(--lov-ivory);
}

body.single-product .flexy-pills--thumbs .ct-media-container,
body.single-product .flexy-items .ct-media-container {
	border-radius: var(--lov-radius-ctl);
	overflow: hidden;
	border: 1px solid var(--lov-hairline);
	transition: border-color 0.2s ease, opacity 0.2s ease;
}

body.single-product .flexy-items .ct-media-container:hover,
body.single-product .flexy-items [data-state="active"] .ct-media-container,
body.single-product .flexy-items .active .ct-media-container {
	border-color: var(--lov-gold);
}

body.single-product .woocommerce-product-gallery__trigger {
	border-radius: 50%;
	box-shadow: var(--lov-shadow-soft);
}

/* Title + price */
body.single-product h1.product_title {
	font-family: var(--lov-serif);
	font-weight: 600;
	--theme-font-size: clamp(24px, 2.6vw, 32px);
	letter-spacing: -0.01em;
	line-height: 1.25;
	color: var(--lov-ink);
}

body.single-product .entry-summary .price,
body.single-product .pewc-main-price.price,
body.single-product p.price {
	font-family: var(--lov-sans);
	font-size: 26px;
	font-weight: 600;
	color: var(--lov-gold-deep) !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
}

body.single-product .entry-summary .price del,
body.single-product p.price del {
	color: var(--lov-muted) !important;
	font-size: 0.7em;
	font-weight: 400;
}

body.single-product .entry-summary .price ins {
	text-decoration: none;
}

/* Short description */
.woocommerce-product-details__short-description {
	font-size: 15px;
	line-height: 1.75;
	color: var(--lov-muted);
}

/* Rating link */
body.single-product .woocommerce-review-link {
	font-size: 13px;
	color: var(--lov-muted);
}

body.single-product .woocommerce-review-link:hover {
	color: var(--lov-gold-deep);
}

/* --- PEWC personalization fields ---------------------------------------- */

.pewc-product-extra-groups-wrap {
	background: var(--lov-ivory);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	padding: 24px 24px 12px;
	margin-block: 22px;
}

.pewc-group-heading-wrapper,
.pewc-group-wrap .pewc-group-heading {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: 17px;
	color: var(--lov-ink);
}

.pewc-group-heading-wrapper {
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--lov-hairline);
}

.pewc-group-description,
.pewc-group-content-wrapper > p.pewc-group-description {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--lov-muted);
}

.pewc-field-label,
.pewc-item .pewc-field-label {
	font-family: var(--lov-sans);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--lov-ink);
	margin-bottom: 8px;
}

.pewc-field-label .required {
	color: var(--lov-gold-deep);
}

/* All PEWC inputs share the editorial control language */
.pewc-product-extra-groups input[type="text"],
.pewc-product-extra-groups input[type="number"],
.pewc-product-extra-groups input[type="email"],
.pewc-product-extra-groups input[type="date"],
.pewc-product-extra-groups textarea,
.pewc-product-extra-groups select,
.pewc-form-field {
	width: 100%;
	background: var(--lov-surface) !important;
	border: 1.5px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-ctl) !important;
	padding: 12px 14px;
	font-family: var(--lov-sans);
	font-size: 14.5px;
	color: var(--lov-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pewc-product-extra-groups input:focus,
.pewc-product-extra-groups textarea:focus,
.pewc-product-extra-groups select:focus,
.pewc-form-field:focus {
	border-color: var(--lov-gold) !important;
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

.pewc-product-extra-groups input::placeholder,
.pewc-product-extra-groups textarea::placeholder {
	color: var(--lov-muted);
	opacity: 0.75;
}

/* File upload dropzone */
.pewc-item[data-field-type="upload"] .pewc-item-field-wrapper,
.pewc-upload-field-wrapper,
.pewc-file-upload {
	border: 1.5px dashed var(--lov-gold);
	border-radius: var(--lov-radius-ctl);
	background: rgba(240, 230, 207, 0.35);
	padding: 18px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.pewc-item[data-field-type="upload"] .pewc-item-field-wrapper:hover {
	border-color: var(--lov-gold-deep);
	background: var(--lov-gold-soft);
}

/* Per-option prices next to add-on labels */
.pewc-item .pewc-field-price,
.pewc-option-price,
.pewc-item .price {
	font-variant-numeric: tabular-nums;
	color: var(--lov-gold-deep);
	font-weight: 500;
}

/* Totals block (layout from shop-ux; add brand accents) */
.pewc-total-field-wrapper {
	padding-top: 6px;
}

.pewc-total-field-wrapper p {
	font-size: 14px;
	color: var(--lov-muted);
}

.pewc-total-field-wrapper p:last-child {
	border-top-color: var(--lov-hairline) !important;
	color: var(--lov-gold-deep) !important;
	font-variant-numeric: tabular-nums;
}

/* --- Quantity + add to cart --------------------------------------------- */

form.cart {
	margin-top: 18px;
}

/* Quantity stepper: re-skin Blocksy's dark arrow column via its own vars */
form.cart .quantity {
	--quantity-initial-color: var(--lov-ivory);
	--quantity-hover-color: var(--lov-gold-soft);
	--quantity-arrows-initial-color: var(--lov-gold-deep);
	--quantity-arrows-hover-color: var(--lov-gold-deep);
}

form.cart .quantity input.qty {
	background: var(--lov-surface);
	border: 1.5px solid var(--lov-hairline);
	border-radius: var(--lov-radius-ctl);
	font-family: var(--lov-sans);
	font-weight: 600;
	color: var(--lov-ink);
	font-variant-numeric: tabular-nums;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

form.cart .quantity input.qty:focus {
	border-color: var(--lov-gold);
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

form.cart .quantity .ct-increase,
form.cart .quantity .ct-decrease {
	transition: color 0.15s ease;
}

form.cart .quantity .ct-increase:hover,
form.cart .quantity .ct-decrease:hover {
	color: var(--lov-gold-deep);
}

/* Primary CTA: shape/depth only — the validated #856024 gold lives in
   lovia-shop-ux.css and keeps winning via its !important */
.single_add_to_cart_button {
	border-radius: var(--lov-radius-ctl) !important;
	font-family: var(--lov-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding-inline: 30px;
	box-shadow: 0 10px 24px rgba(133, 96, 36, 0.28);
}

@media (hover: hover) {
	.single_add_to_cart_button:hover {
		transform: translateY(-1px);
	}
}

.single_add_to_cart_button:active {
	transform: translateY(0);
}

/* Wishlist / secondary actions */
body.single-product .ct-product-additional-actions .ct-button,
body.single-product .ct-wishlist-button-single {
	border-radius: var(--lov-radius-ctl);
	transition: color 0.2s ease, border-color 0.2s ease;
}

/* Product meta */
body.single-product .product_meta {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid var(--lov-hairline);
	font-size: 13px;
	line-height: 2;
	color: var(--lov-muted);
}

body.single-product .product_meta > span {
	font-weight: 500;
}

body.single-product .product_meta a {
	color: var(--lov-gold-deep);
}

body.single-product .product_meta a:hover {
	text-decoration: underline;
}

body.single-product .ct-product-divider {
	border-color: var(--lov-hairline);
}

/* --- Tabs ---------------------------------------------------------------- */

body.single-product .woocommerce-tabs {
	margin-top: clamp(36px, 5vw, 64px);
}

body.single-product .woocommerce-tabs ul.wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 28px;
	padding: 0;
	margin: 0 0 34px;
	border-bottom: 1px solid var(--lov-hairline);
	background: transparent;
}

body.single-product .woocommerce-tabs ul.wc-tabs li {
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
}

body.single-product .woocommerce-tabs ul.wc-tabs li::before,
body.single-product .woocommerce-tabs ul.wc-tabs li::after {
	display: none !important;
}

body.single-product .woocommerce-tabs ul.wc-tabs li a {
	display: inline-block;
	font-family: var(--lov-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--lov-muted);
	padding: 12px 2px;
	margin-bottom: -1px;
	border-bottom: 2px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

body.single-product .woocommerce-tabs ul.wc-tabs li a:hover {
	color: var(--lov-ink);
}

body.single-product .woocommerce-tabs ul.wc-tabs li.active a {
	color: var(--lov-ink);
	border-bottom-color: var(--lov-gold);
}

body.single-product .woocommerce-Tabs-panel {
	font-size: 15px;
	line-height: 1.8;
	color: #55503f;
}

body.single-product .woocommerce-Tabs-panel > h2,
body.single-product .woocommerce-Tabs-panel > h3 {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: 20px;
	color: var(--lov-ink);
	margin-bottom: 14px;
}

/* Reviews: brand-tinted summary */
body.single-product .ct-reviews-average-rating {
	font-family: var(--lov-serif);
	color: var(--lov-ink);
}

body.single-product .ct-review-rating-percent-bar {
	background: var(--lov-gold-soft);
	border-radius: 4px;
}

body.single-product .ct-review-rating-percent-bar > span {
	background: var(--lov-gold);
	border-radius: 4px;
}

body.single-product .star-rating,
body.single-product .comment-form-rating .stars:hover a {
	color: var(--lov-gold);
}

/* Related / upsells */
body.single-product section.related > .ct-module-title,
body.single-product section.related h2,
body.single-product .up-sells h2,
body.single-product .cross-sells h2 {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: clamp(21px, 2.4vw, 27px);
	letter-spacing: -0.01em;
	color: var(--lov-ink);
}

body.single-product section.related,
body.single-product .up-sells {
	margin-top: clamp(40px, 6vw, 72px);
}

/* ==========================================================================
   4. Cart (WooCommerce Blocks)
   ========================================================================== */

body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
body.woocommerce-cart .ct-entry-content > .wp-block-woocommerce-cart {
	margin-block: clamp(24px, 4vw, 48px);
}

/* Items table */
.wc-block-cart-items thead th {
	font-family: var(--lov-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lov-muted);
	padding: 0 12px 14px;
	border-bottom: 1px solid var(--lov-hairline);
}

.wc-block-cart-items td {
	padding: 22px 12px;
	border-bottom: 1px solid var(--lov-hairline);
}

.wc-block-cart-items tr:last-child td {
	border-bottom: 0;
}

.wc-block-cart-item__image img {
	border-radius: var(--lov-radius-ctl);
	border: 1px solid var(--lov-hairline);
	background: var(--lov-ivory);
}

.wc-block-components-product-name {
	font-family: var(--lov-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--lov-ink);
}

.wc-block-components-product-name:hover {
	color: var(--lov-gold-deep);
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description {
	font-size: 12.5px;
	color: var(--lov-muted);
}

.wc-block-components-product-price,
.wc-block-cart-item__prices,
.wc-block-components-product-price__value {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--lov-ink);
}

.wc-block-cart-item__total {
	color: var(--lov-gold-deep) !important;
	font-variant-numeric: tabular-nums;
}

/* Quantity stepper */
.wc-block-components-quantity-selector {
	border-radius: var(--lov-radius-ctl) !important;
	border: 1.5px solid var(--lov-hairline) !important;
	background: var(--lov-surface);
	overflow: hidden;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	font-family: var(--lov-sans);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--lov-ink);
}

.wc-block-components-quantity-selector button {
	color: var(--lov-muted);
	transition: color 0.15s ease;
}

.wc-block-components-quantity-selector button:hover {
	color: var(--lov-gold-deep);
}

/* Remove link */
.wc-block-cart-item__remove-link,
.wc-block-components-product-remove-link {
	font-size: 12.5px;
	color: var(--lov-muted);
	transition: color 0.15s ease;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-components-product-remove-link:hover {
	color: #b3402e;
}

/* Order summary: ONE unified card (inner section wrappers stay invisible) */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	box-shadow: var(--lov-shadow-soft);
	padding: 26px 26px 22px;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

body.woocommerce-cart .wc-block-cart__totals-title,
.wc-block-components-totals-wrapper .wc-block-components-title {
	font-family: var(--lov-serif) !important;
	font-weight: 600;
	font-size: 19px;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--lov-ink);
}

.wc-block-components-totals-item__label {
	font-family: var(--lov-sans);
	font-size: 13.5px;
	color: var(--lov-muted);
}

.wc-block-components-totals-item__value {
	font-family: var(--lov-sans);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--lov-ink);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 15px;
	font-weight: 600;
	color: var(--lov-ink);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 19px;
	font-weight: 700;
	color: var(--lov-gold-deep);
}

/* Coupon */
.wc-block-components-totals-coupon-link {
	font-family: var(--lov-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--lov-gold-deep);
}

.wc-block-components-totals-coupon-link:hover {
	text-decoration: underline;
}

.wc-block-components-totals-coupon__input input,
.wc-block-components-totals-coupon input {
	border: 1.5px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-ctl) !important;
	font-family: var(--lov-sans);
	font-size: 14px;
	padding: 11px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wc-block-components-totals-coupon input:focus {
	border-color: var(--lov-gold) !important;
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

/* Proceed to checkout (bg stays shop-ux gold) */
.wc-block-cart__submit-button {
	border-radius: var(--lov-radius-ctl) !important;
	font-family: var(--lov-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(133, 96, 36, 0.28);
}

/* Empty cart state */
.wc-block-cart__empty-cart__title,
.wc-block-components-empty-cart-placeholder {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: clamp(22px, 3vw, 28px);
	color: var(--lov-ink);
}

/* ==========================================================================
   5. Checkout (WooCommerce Blocks)
   ========================================================================== */

body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout,
body.woocommerce-checkout .ct-entry-content > .wp-block-woocommerce-checkout {
	margin-block: clamp(24px, 4vw, 48px);
}

/* Each step as a quiet card (beats Woo Blocks' fieldset reset) */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step {
	background: var(--lov-surface) !important;
	border: 1px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-card) !important;
	padding: 26px 26px 20px !important;
	margin: 0 0 18px;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step--with-separator,
body.woocommerce-checkout .wc-block-components-checkout-step--with-separator {
	border-top: 1px solid var(--lov-hairline) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: var(--lov-serif) !important;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: -0.01em;
	color: var(--lov-ink);
	margin-bottom: 18px;
}

.wc-block-components-checkout-step__heading::before,
.wc-block-components-checkout-step__number {
	font-variant-numeric: tabular-nums;
}

/* Form controls */
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input textarea,
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-state-input input,
.wc-block-components-address-form select,
body.woocommerce-checkout select,
body.woocommerce-checkout .input-text {
	background: var(--lov-surface) !important;
	border: 1.5px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-ctl) !important;
	font-family: var(--lov-sans);
	font-size: 14.5px;
	color: var(--lov-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-combobox input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .input-text:focus {
	border-color: var(--lov-gold) !important;
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

.wc-block-components-text-input label,
.wc-block-components-text-input .wc-block-components-text-input__label {
	font-family: var(--lov-sans);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--lov-muted);
}

.wc-block-components-text-input input::placeholder {
	color: var(--lov-muted);
	opacity: 0.7;
}

.wc-block-components-validation-error {
	font-size: 12.5px;
}

/* Shipping methods / payment methods: selectable rows */
.wc-block-components-radio-control__option {
	border: 1.5px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-ctl) !important;
	padding: 14px 16px 14px 46px !important; /* left room for the radio dot */
	margin-bottom: 10px;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.wc-block-components-radio-control__option:hover {
	border-color: var(--lov-gold) !important;
}

.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option:checked,
.wc-block-components-radio-control__option[aria-checked="true"] {
	border-color: var(--lov-gold) !important;
	background: var(--lov-ivory) !important;
}

.wc-block-components-radio-control__option .wc-block-components-radio-control__label,
.wc-block-components-payment-method-label {
	font-family: var(--lov-sans);
	font-size: 14px;
	font-weight: 500;
	color: var(--lov-ink);
}

.wc-block-components-radio-control__option .wc-block-components-radio-control__description,
.wc-block-components-radio-control__option .wc-block-components-radio-control__secondary-label {
	font-size: 12.5px;
	color: var(--lov-muted);
}

.wc-block-components-radio-control__option .wc-block-components-radio-control__secondary-group,
.wc-block-components-radio-control__option [class*="price"],
.wc-block-components-radio-control__option .wc-block-components-formatted-money-amount {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--lov-gold-deep);
}

/* Radio dots in brand gold */
.wc-block-components-radio-control__input {
	accent-color: var(--lov-gold);
	border-color: var(--lov-hairline) !important;
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--lov-gold) !important;
	background: var(--lov-gold) !important;
}

/* Payment method description box */
.wc-block-components-payment-method-content {
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--lov-muted);
}

/* Express checkout: hushed divider labels */
.wc-block-components-express-payment__title,
.wc-block-components-express-payment-continue-rule {
	font-family: var(--lov-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lov-muted);
}

/* Order summary sidebar */
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	box-shadow: var(--lov-shadow-soft);
	padding: 26px 26px 20px;
	align-self: start;
}

.wc-block-components-order-summary .wc-block-components-panel__button,
.wc-block-components-order-summary__title {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: 19px;
	color: var(--lov-ink);
}

.wc-block-components-order-summary-item__quantity {
	background: var(--lov-gold-soft) !important;
	color: var(--lov-gold-deep) !important;
	border: 0 !important;
	box-shadow: none !important;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.wc-block-components-order-summary-item .wc-block-components-product-name {
	font-size: 13.5px;
}

.wc-block-components-order-summary-item img {
	border-radius: var(--lov-radius-ctl);
	border: 1px solid var(--lov-hairline);
}

.wc-block-components-order-summary .wc-block-components-formatted-money-amount,
.wc-block-components-totals-wrapper .wc-block-components-formatted-money-amount {
	font-variant-numeric: tabular-nums;
}

/* Place order (bg stays shop-ux gold) */
.wc-block-components-checkout-place-order-button {
	border-radius: var(--lov-radius-ctl) !important;
	font-family: var(--lov-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(133, 96, 36, 0.28);
}

.wc-block-components-checkout-place-order-button:hover {
	box-shadow: 0 12px 28px rgba(133, 96, 36, 0.4);
}

/* Terms + privacy fine print */
.wc-block-components-checkout-terms-and-consents,
.wc-block-components-checkout-privacy-policy,
.wc-block-components-checkout-terms-and-consents p {
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--lov-muted);
}

/* Return-to-cart link */
.wc-block-components-checkout-return-to-cart-button {
	font-family: var(--lov-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--lov-gold-deep);
}

/* ==========================================================================
   6. Account
   ========================================================================== */

body.woocommerce-account .page-title {
	font-family: var(--lov-serif);
	font-weight: 600;
	--theme-font-size: clamp(24px, 3vw, 32px);
	letter-spacing: -0.01em;
	color: var(--lov-ink);
	position: relative;
	padding-bottom: 14px;
}

body.woocommerce-account .page-title::after {
	content: "";
	display: block;
	width: 44px;
	height: 2px;
	background: var(--lov-gold);
	border-radius: 2px;
	margin-top: 12px;
}

/* Cart & checkout page titles: same editorial voice */
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title {
	font-family: var(--lov-serif);
	font-weight: 600;
	--theme-font-size: clamp(24px, 3vw, 32px);
	letter-spacing: -0.01em;
	color: var(--lov-ink);
	position: relative;
	padding-bottom: 14px;
}

body.woocommerce-cart .page-title::after,
body.woocommerce-checkout .page-title::after {
	content: "";
	display: block;
	width: 44px;
	height: 2px;
	background: var(--lov-gold);
	border-radius: 2px;
	margin-top: 12px;
}

/* Logged-out: login / register forms as centered cards */
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .lost_reset_password {
	max-width: 460px;
	margin: 8px auto 32px;
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	box-shadow: var(--lov-shadow-soft);
	padding: 30px 30px 24px;
}

body.woocommerce-account .woocommerce-form-row label {
	font-family: var(--lov-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--lov-ink);
	margin-bottom: 7px;
}

body.woocommerce-account .woocommerce-form-row .input-text,
body.woocommerce-account .woocommerce-Input {
	width: 100%;
	background: var(--lov-surface);
	border: 1.5px solid var(--lov-hairline);
	border-radius: var(--lov-radius-ctl);
	padding: 12px 14px;
	font-family: var(--lov-sans);
	font-size: 14.5px;
	color: var(--lov-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.woocommerce-account .woocommerce-form-row .input-text:focus,
body.woocommerce-account .woocommerce-Input:focus {
	border-color: var(--lov-gold);
	box-shadow: 0 0 0 3px rgba(168, 133, 59, 0.16);
	outline: none;
}

/* Primary account buttons (login/register/save) */
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
body.woocommerce-account .woocommerce-Button.button,
body.woocommerce-account button.woocommerce-Button {
	background: var(--lov-gold) !important;
	border: 1.5px solid var(--lov-gold) !important;
	color: #fff !important;
	border-radius: var(--lov-radius-ctl);
	font-family: var(--lov-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	min-height: 48px;
	padding: 12px 26px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce-account .woocommerce-form-login__submit:hover,
body.woocommerce-account .woocommerce-form-register__submit:hover,
body.woocommerce-account .woocommerce-Button.button:hover,
body.woocommerce-account button.woocommerce-Button:hover {
	background: var(--lov-gold-deep) !important;
	border-color: var(--lov-gold-deep) !important;
	box-shadow: 0 8px 20px rgba(138, 109, 47, 0.35);
}

body.woocommerce-account .woocommerce-form-login__rememberme {
	font-size: 13.5px;
	color: var(--lov-muted);
}

body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .lost_password a {
	font-size: 13px;
	color: var(--lov-gold-deep);
}

/* Logged-in: navigation */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: var(--lov-surface);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
}

.woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	padding: 11px 14px;
	border-radius: var(--lov-radius-ctl);
	font-family: var(--lov-sans);
	font-size: 14px;
	font-weight: 500;
	color: var(--lov-ink);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.woocommerce-MyAccount-navigation li a:hover {
	background: var(--lov-ivory);
	color: var(--lov-gold-deep);
}

.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--lov-gold-soft);
	color: var(--lov-gold-deep);
	font-weight: 600;
}

/* Content typography */
.woocommerce-MyAccount-content {
	font-size: 15px;
	line-height: 1.75;
	color: #55503f;
}

.woocommerce-MyAccount-content > p:first-child {
	font-size: 15.5px;
}

.woocommerce-MyAccount-content a {
	color: var(--lov-gold-deep);
}

/* Tables: orders, downloads, addresses, order details */
.woocommerce-MyAccount-content table,
.woocommerce table.shop_table,
.woocommerce-orders-table,
.woocommerce-table--order-details {
	width: 100%;
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--lov-surface);
	font-size: 14px;
}

.woocommerce-MyAccount-content table th,
.woocommerce table.shop_table th {
	font-family: var(--lov-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--lov-muted);
	background: var(--lov-ivory);
	padding: 13px 16px;
	border-bottom: 1px solid var(--lov-hairline);
	text-align: start;
}

.woocommerce-MyAccount-content table td,
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--lov-hairline);
	color: var(--lov-ink);
	font-variant-numeric: tabular-nums;
}

.woocommerce-MyAccount-content table tr:last-child td,
.woocommerce table.shop_table tr:last-child td {
	border-bottom: 0;
}

/* Small action buttons in tables → outline gold pills */
.woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-button.button,
.woocommerce-orders-table a.button {
	background: transparent !important;
	border: 1.5px solid var(--lov-gold) !important;
	color: var(--lov-gold-deep) !important;
	border-radius: var(--lov-radius-pill);
	font-family: var(--lov-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 8px 14px;
	min-height: 0;
}

.woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-MyAccount-content .woocommerce-button.button:hover {
	background: var(--lov-gold) !important;
	color: #fff !important;
}

/* Address cards */
.woocommerce-Address,
.woocommerce-MyAccount-content .woocommerce-Address {
	background: var(--lov-ivory);
	border: 1px solid var(--lov-hairline);
	border-radius: var(--lov-radius-card);
	padding: 22px;
}

.woocommerce-Address-title h3 {
	font-family: var(--lov-serif);
	font-weight: 600;
	font-size: 17px;
	color: var(--lov-ink);
}

/* ==========================================================================
   7. Shared Woo bits
   ========================================================================== */

/* Notices: warm, rounded, quiet */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--lov-radius-ctl);
	border: 1px solid var(--lov-hairline);
	border-left: 3px solid var(--lov-gold);
	background: var(--lov-ivory);
	color: var(--lov-ink);
	font-family: var(--lov-sans);
	font-size: 14px;
	padding: 14px 18px;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--lov-gold-deep);
}

.woocommerce-error {
	border-left-color: #b3402e;
	background: #faf1ee;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.button,
.woocommerce-info a.button {
	border: 1.5px solid var(--lov-gold) !important;
	background: transparent !important;
	color: var(--lov-gold-deep) !important;
	border-radius: var(--lov-radius-pill);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 8px 14px;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: var(--lov-gold) !important;
	color: #fff !important;
}

/* Pagination */
.ct-pagination,
.woocommerce-pagination {
	margin-top: 44px;
}

.ct-pagination ul,
.woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}

.ct-pagination a,
.ct-pagination span,
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1.5px solid var(--lov-hairline) !important;
	border-radius: var(--lov-radius-ctl);
	background: var(--lov-surface);
	font-family: var(--lov-sans);
	font-size: 13.5px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--lov-ink) !important;
	transition: border-color 0.2s ease, background-color 0.2s ease,
		color 0.2s ease;
}

.woocommerce-pagination .page-numbers li a:hover,
.ct-pagination a:hover {
	border-color: var(--lov-gold) !important;
	color: var(--lov-gold-deep) !important;
	background: var(--lov-ivory);
}

.woocommerce-pagination .page-numbers li span.current,
.ct-pagination .current {
	background: var(--lov-gold) !important;
	border-color: var(--lov-gold) !important;
	color: #fff !important;
}

/* ==========================================================================
   8. Responsive
   ========================================================================== */

/* Tablet: tighten cards */
@media (max-width: 1000px) {
	.ct-sidebar .ct-widget {
		padding: 20px 18px 16px;
	}
}

/* Mobile: one calm full-width column, thumb-sized controls */
@media (max-width: 690px) {
	ul.products[data-products] {
		--shop-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	[data-products] {
		--grid-rows-gap: 28px;
	}

	ul.products li.product .woocommerce-loop-product__title {
		--theme-font-size: 15.5px;
	}

	ul.products li.product .price {
		--theme-font-size: 16px;
	}

	ul.products .ct-woo-card-actions {
		justify-content: space-between;
	}

	ul.products .ct-woo-card-actions .button,
	ul.products .ct-woo-card-actions a.button {
		padding: 12px 18px;
		font-size: 12px;
	}

	.woocommerce-products-header .page-title {
		--theme-font-size: 26px;
	}

	.woo-listing-top {
		gap: 10px;
		padding-bottom: 16px;
		margin-bottom: 22px;
	}

	.woocommerce-result-count {
		font-size: 11px;
		flex: 1;
	}

	.woocommerce-ordering {
		margin-inline-start: 0;
	}

	.woocommerce-ordering select {
		padding: 10px 36px 10px 14px;
		font-size: 12.5px;
	}

	/* Single product: stacked, roomy */
	body.single-product h1.product_title {
		--theme-font-size: 23px;
	}

	body.single-product .entry-summary .price,
	body.single-product p.price {
		font-size: 23px;
	}

	.pewc-product-extra-groups-wrap {
		padding: 20px 18px 10px;
	}

	form.cart {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		align-items: stretch;
	}

	form.cart .quantity {
		flex: 0 0 auto;
	}

	form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
		min-height: 52px;
	}

	body.single-product .woocommerce-tabs ul.wc-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 22px;
		scrollbar-width: none;
	}

	body.single-product .woocommerce-tabs ul.wc-tabs::-webkit-scrollbar {
		display: none;
	}

	/* Cart / checkout cards breathe less on small screens */
	.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
	body.woocommerce-checkout .wc-block-components-checkout-step {
		padding: 20px 18px 14px !important;
	}

	.wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar {
		padding: 22px 20px 18px;
	}

	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button {
		min-height: 52px;
	}

	/* Account: nav becomes a scrollable pill row */
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 8px;
		scrollbar-width: none;
	}

	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
	}

	.woocommerce-MyAccount-navigation li a {
		white-space: nowrap;
		padding: 10px 14px;
	}

	.woocommerce-MyAccount-content table,
	.woocommerce table.shop_table {
		font-size: 13px;
	}

	body.woocommerce-account form.woocommerce-form-login,
	body.woocommerce-account .woocommerce-form-login,
	body.woocommerce-account .lost_reset_password {
		padding: 24px 20px 18px;
		margin-inline: 0;
		max-width: none;
	}
}
