/**
 * WooCommerce — Light showroom skin (Flatsome-safe)
 * Source: AUTOMOTIVE_LIGHT_DESIGN_SYSTEM.md §10 / §14 / §15.3
 */

/* Catalog */
.woocommerce ul.products li.product,
.products .product-small,
.product-small.col {
	background: transparent;
	box-shadow: none;
	border: 0;
}

.products .product-small .col-inner,
.product-small .box {
	background: transparent;
	box-shadow: none;
	border-radius: var(--radius-small);
	overflow: hidden;
}

.products .box-image,
.product-small .box-image {
	background-color: var(--color-section-soft);
	border-radius: var(--radius-medium);
	overflow: hidden;
}

.products .box-image img,
.product-small .box-image img {
	transition: transform var(--transition-slow) ease;
}

.products .product-small:hover .box-image img {
	transform: scale(1.03);
}

.products .box-text,
.product-small .box-text {
	padding-top: var(--space-sm);
	padding-bottom: var(--space-sm);
	background: transparent;
}

.products .product-title a,
.product-small .product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--color-text-primary);
	font-weight: 600;
	letter-spacing: -0.01em;
}

.products .price,
.product-small .price,
.woocommerce ul.products li.product .price {
	color: var(--color-text-secondary);
	font-size: 14px;
	font-weight: 500;
}

.products .price ins,
.product-small .price ins,
.woocommerce ul.products li.product .price ins {
	color: var(--color-text-primary);
	text-decoration: none;
	font-weight: 600;
}

.products .price del,
.woocommerce ul.products li.product .price del {
	color: var(--color-text-secondary);
	opacity: 0.75;
}

.shop-page-title,
.page-title-bg,
.category-page-row .shop-page-title {
	background-color: var(--color-background);
	border-bottom: 1px solid var(--color-border);
	color: var(--color-text-primary);
}

.shop-page-title .page-title,
.woocommerce-products-header__title {
	color: var(--color-text-primary);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-ordering select,
.woocommerce .widget_layered_nav ul li a,
.woocommerce .widget_product_categories ul li a,
.woocommerce .widget_price_filter {
	color: var(--color-text-secondary);
	font-size: 14px;
}

.woocommerce .woocommerce-ordering select {
	background-color: var(--color-surface);
	border-color: var(--color-border);
	color: var(--color-text-primary);
}

.badge,
.onsale,
.woocommerce span.onsale,
.product-small .badge-container .badge {
	background-color: var(--color-performance);
	color: var(--color-surface);
	border-radius: var(--radius-small);
	border: 0;
	box-shadow: none;
	font-weight: 600;
	min-height: auto;
	line-height: 1.3;
}

/* Single product */
.single-product .product-main,
.single-product .product-container,
.single-product div.product {
	color: var(--color-text-secondary);
}

@media (min-width: 850px) {
	.single-product .product-main .row.content-row {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.single-product .product-gallery,
	.single-product .product-info,
	.single-product .product-info.summary,
	.single-product .entry-summary {
		min-width: 0;
	}

	.single-product .product-info,
	.single-product .product-info.summary,
	.single-product .entry-summary.col-fit {
		flex: 1 1 0%;
	}
}

.single-product .product-title,
.single-product .product_title,
.single-product h1.product-title {
	color: var(--color-text-primary);
}

.single-product .price,
.single-product p.price,
.single-product span.price {
	color: var(--color-text-primary);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

@media (min-width: 768px) {
	.single-product .price,
	.single-product p.price,
	.single-product span.price {
		font-size: 22px;
	}
}

.single-product .woocommerce-product-details__short-description,
.single-product .product-short-description {
	color: var(--color-text-secondary);
	font-size: 15px;
	line-height: 1.55;
}

.single-product .product_meta,
.single-product .product-meta,
.single-product .sku_wrapper,
.single-product .posted_in,
.single-product .tagged_as {
	font-size: 14px;
	color: var(--color-text-secondary);
}

.single-product form.cart .quantity .qty,
.woocommerce div.product form.cart .quantity .qty {
	min-height: var(--button-min-height);
	height: var(--button-min-height);
	width: 64px;
	padding: 0 8px;
	text-align: center;
	font-size: 14px;
	line-height: 1.2;
}

.single-product .product-gallery,
.single-product .woocommerce-product-gallery {
	background-color: var(--color-section-soft);
	border-radius: var(--radius-medium);
	overflow: hidden;
}

.single-product .flex-control-thumbs li img,
.single-product .product-thumbnails img {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	opacity: 0.75;
}

.single-product .flex-control-thumbs li img.flex-active,
.single-product .product-thumbnails .is-nav-selected img,
.single-product .product-thumbnails img:hover {
	opacity: 1;
	border-color: var(--color-accent);
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.product-page-sections .nav-line-bottom,
.product-footer .tabs {
	border-color: var(--color-border);
	background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.product-footer .tabs > li > a {
	color: var(--color-text-secondary);
	background: transparent;
	border-color: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.product-footer .tabs > li.active > a {
	color: var(--color-text-primary);
	border-bottom-color: var(--color-accent);
}

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-Tabs-panel {
	background: transparent;
	color: var(--color-text-secondary);
	border-color: var(--color-border);
}

.related.products > h2,
.upsells.products > h2,
.related-products-wrapper .product-section-title {
	color: var(--color-text-primary);
}

.sticky-add-to-cart,
.sticky-add-to-cart--active {
	background-color: var(--color-surface) !important;
	border-top: 1px solid var(--color-border);
	color: var(--color-text-primary);
}

/* Mini-cart */
.off-canvas-cart,
.mfp-content.off-canvas-cart,
.widget_shopping_cart,
.woocommerce-mini-cart {
	background-color: var(--color-surface);
	color: var(--color-text-secondary);
}

.off-canvas-cart .cart-item,
.woocommerce-mini-cart-item {
	border-color: var(--color-border);
	color: var(--color-text-secondary);
}

.off-canvas-cart a,
.woocommerce-mini-cart a,
.widget_shopping_cart a {
	color: var(--color-text-primary);
}

.off-canvas-cart a:hover,
.off-canvas-cart a:focus,
.woocommerce-mini-cart a:hover,
.woocommerce-mini-cart a:focus,
.widget_shopping_cart a:hover,
.widget_shopping_cart a:focus {
	color: var(--color-accent);
}

.off-canvas-cart .total,
.woocommerce-mini-cart__total {
	border-color: var(--color-border);
	color: var(--color-text-primary);
}

/* Cart qty badge — high-contrast number on solid fill */
.cart-icon strong,
.header-cart-link .cart-icon strong,
.header-main .cart-icon strong,
.header [data-icon-label]:after,
.header-cart-link [data-icon-label]:after,
.header-button [data-icon-label]:after {
	background-color: var(--color-performance) !important;
	border-color: var(--color-performance) !important;
	color: var(--color-on-accent) !important;
	opacity: 1;
	box-shadow: none;
}

.header-main .cart-icon strong:after,
.cart-icon strong:after {
	border-color: var(--color-performance) !important;
}

.cart-icon:hover strong,
.header-cart-link:hover .cart-icon strong,
.header-main .current-dropdown .cart-icon strong {
	background-color: var(--color-text-primary) !important;
	border-color: var(--color-text-primary) !important;
	color: var(--color-on-accent) !important;
}

.cart-icon:hover strong:after,
.header-cart-link:hover .cart-icon strong:after,
.header-main .current-dropdown .cart-icon strong:after {
	border-color: var(--color-text-primary) !important;
}

/* Mini-cart CTAs — accent brand */
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout),
.off-canvas-cart .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
	background-color: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	color: var(--color-on-accent) !important;
}

.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover,
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):focus,
.off-canvas-cart .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover,
.off-canvas-cart .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):focus {
	background-color: var(--color-accent-hover) !important;
	border-color: var(--color-accent-hover) !important;
	color: var(--color-on-accent) !important;
}

.woocommerce-mini-cart__buttons .button.checkout,
.off-canvas-cart .woocommerce-mini-cart__buttons .button.checkout {
	background-color: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	color: var(--color-on-accent) !important;
}

.woocommerce-mini-cart__buttons .button.checkout:hover,
.woocommerce-mini-cart__buttons .button.checkout:focus,
.off-canvas-cart .woocommerce-mini-cart__buttons .button.checkout:hover,
.off-canvas-cart .woocommerce-mini-cart__buttons .button.checkout:focus {
	background-color: var(--color-accent-hover) !important;
	border-color: var(--color-accent-hover) !important;
	color: var(--color-on-accent) !important;
}

/* Cart */
.woocommerce-cart .cart-container,
.woocommerce-cart .woocommerce,
.woocommerce-cart table.cart {
	color: var(--color-text-secondary);
}

@media (min-width: 850px) {
	.woocommerce-cart .woocommerce.row {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.woocommerce-cart .woocommerce.row > .col,
	.woocommerce-cart .woocommerce.row > .cart-collaterals {
		min-width: 0;
	}
}

.woocommerce-cart .cart-wrapper {
	width: 100%;
	min-width: 0;
	overflow-x: auto;
}

.woocommerce-cart table.shop_table,
.woocommerce-cart table.cart {
	width: 100%;
	background: transparent;
	border-color: var(--color-border);
}

/* Fixed layout with px for narrow cols so product-name gets the leftover (widest). */
@media (min-width: 850px) {
	.woocommerce-cart table.cart {
		table-layout: fixed;
	}

	.woocommerce-cart table.cart .product-remove {
		width: 40px;
	}

	.woocommerce-cart table.cart .product-thumbnail {
		width: 72px;
	}

	.woocommerce-cart table.cart .product-price {
		width: 110px;
	}

	.woocommerce-cart table.cart .product-quantity {
		width: 108px;
	}

	.woocommerce-cart table.cart .product-subtotal {
		width: 120px;
	}

	.woocommerce-cart table.cart .product-name {
		width: auto;
	}
}

/* Soft wrap only — never break every character (overflow-wrap:anywhere caused 1 char/line). */
.woocommerce-cart table.cart .product-name,
.woocommerce-cart table.cart .product-name a {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

.woocommerce-cart table.cart img {
	border-radius: var(--radius-small);
	background: var(--color-section-soft);
}

/* Compact qty stepper — cart page only (override global .button) */
.woocommerce-cart .quantity.buttons_added,
.woocommerce-cart .ux-quantity {
	display: inline-flex;
	align-items: stretch;
	flex-wrap: nowrap;
	width: auto;
	vertical-align: middle;
	white-space: nowrap;
}

.woocommerce-cart .quantity .ux-quantity__button,
.woocommerce-cart .quantity .button.plus,
.woocommerce-cart .quantity .button.minus,
.woocommerce-cart .quantity input.plus,
.woocommerce-cart .quantity input.minus {
	min-height: 32px;
	height: 32px;
	min-width: 28px;
	width: 28px;
	padding: 0;
	margin: 0;
	font-size: 14px;
	line-height: 1;
	flex: 0 0 28px;
	box-sizing: border-box;
	position: static;
}

.woocommerce-cart .quantity input.qty,
.woocommerce-cart .quantity .qty {
	width: 40px;
	min-width: 40px;
	max-width: 40px;
	min-height: 32px;
	height: 32px;
	padding: 0 4px;
	margin: 0;
	text-align: center;
	font-size: 13px;
	line-height: 1.2;
	box-sizing: border-box;
	flex: 0 0 40px;
	position: static;
}

/* Skin only outer sidebar — avoid nested border/padding on .cart_totals */
.woocommerce-cart .cart-sidebar {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	padding: var(--space-md);
	box-sizing: border-box;
	max-width: 100%;
}

.woocommerce-cart .cart_totals {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals .order-total td {
	color: var(--color-text-primary);
}

/* Cart action buttons — do NOT use display:flex on <td> (breaks / overlaps).
   Kill Flatsome .pull-left floats and place both controls on one line. */
.woocommerce-cart table.cart td.actions .continue-shopping,
.woocommerce-cart table.cart td.actions .continue-shopping.pull-left,
.woocommerce-cart table.cart td.actions button[name="update_cart"],
.woocommerce-cart table.cart td.actions button.pull-left[name="update_cart"] {
	float: none !important;
	display: inline-block !important;
	vertical-align: middle;
	position: static !important;
	margin: 0 12px 0 0 !important;
	width: auto !important;
	max-width: none;
	clear: none !important;
}

.woocommerce-cart table.cart td.actions .continue-shopping .button,
.woocommerce-cart table.cart td.actions .continue-shopping .button-continue-shopping,
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
	float: none !important;
	white-space: nowrap;
	padding-left: 14px;
	padding-right: 14px;
	margin: 0 !important;
	position: static !important;
}

.woocommerce-cart table.cart td.actions .continue-shopping {
	margin-right: 12px !important;
}

.woocommerce-cart .coupon .input-text {
	background-color: var(--color-surface);
	border-color: var(--color-border);
	color: var(--color-text-primary);
}

/* Checkout — tech layout 4/6, full-width fields */
.woocommerce-checkout .checkout-container,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
	color: var(--color-text-secondary);
}

.woocommerce-checkout form.checkout > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
	margin-left: 0;
	margin-right: 0;
}

.woocommerce-checkout form.checkout > .row > .col {
	float: none;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding-left: 0;
	padding-right: 0;
	margin: 0;
	box-sizing: border-box;
}

@media (min-width: 850px) {
	.woocommerce-checkout form.checkout > .row {
		flex-wrap: nowrap;
	}

	/* 4 / 6 — form : order summary */
	.woocommerce-checkout form.checkout > .row > .col:first-child {
		flex: 4 1 0;
		max-width: 40%;
	}

	.woocommerce-checkout form.checkout > .row > .col:last-child {
		flex: 6 1 0;
		max-width: 60%;
	}
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background:
		linear-gradient(180deg, var(--color-accent-muted) 0%, transparent 48%),
		var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 14px 16px 4px;
	box-shadow: 0 10px 28px color-mix(in srgb, var(--color-text-primary) 4%, transparent);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	color: var(--color-text-primary);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin-bottom: 10px;
}

.woocommerce-checkout .checkout-sidebar,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment {
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout .checkout-sidebar {
	background:
		linear-gradient(160deg, var(--color-accent-muted) 0%, transparent 42%),
		var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 16px;
	box-shadow: 0 14px 36px color-mix(in srgb, var(--color-text-primary) 6%, transparent);
}

.woocommerce-checkout #order_review {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce-checkout .woocommerce-checkout-payment {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin-top: 12px;
}

/* Full-width inputs — compact vertical rhythm */
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .form-row {
	width: 100% !important;
	float: none !important;
	clear: both !important;
	margin: 0 0 8px !important;
	padding: 0;
}

.woocommerce-checkout .woocommerce-billing-fields .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields .form-row-last,
.woocommerce-checkout .woocommerce-shipping-fields .form-row-first,
.woocommerce-checkout .woocommerce-shipping-fields .form-row-last {
	width: 100% !important;
}

.woocommerce-checkout .form-row label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-text-primary);
}

.woocommerce-checkout .form-row .woocommerce-input-wrapper,
.woocommerce-checkout .form-row .select2-container {
	width: 100% !important;
	display: block;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--color-border);
	background: var(--color-section-soft);
	min-height: 40px;
	height: 40px;
	padding: 0 12px;
	font-size: 14px;
	transition: border-color var(--transition-fast) ease, box-shadow var(--transition-fast) ease, background-color var(--transition-fast) ease;
}

.woocommerce-checkout .form-row textarea {
	height: auto;
	min-height: 72px;
	padding: 10px 12px;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row .select2-container--default.select2-container--focus .select2-selection--single {
	background: var(--color-surface);
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px var(--color-accent-muted);
}

.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout .checkout-sidebar .shop_table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
	border-color: var(--color-border);
	padding: 10px 0;
	vertical-align: top;
}

/* Product name takes remaining space; price/tạm tính stays narrow */
.woocommerce-checkout #order_review .shop_table thead th.product-name,
.woocommerce-checkout #order_review .shop_table td.product-name {
	width: auto;
}

.woocommerce-checkout #order_review .shop_table thead th.product-total,
.woocommerce-checkout #order_review .shop_table td.product-total,
.woocommerce-checkout #order_review .shop_table tfoot td {
	width: 108px;
	max-width: 28%;
	text-align: right;
	white-space: nowrap;
	padding-left: 12px;
}

.woocommerce-checkout #order_review .shop_table tfoot th {
	width: auto;
	text-align: left;
	padding-right: 12px;
}

.woocommerce-checkout #order_review .product-name,
.woocommerce-checkout #order_review .product-name a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce-checkout #payment {
	background-color: var(--color-section-soft);
	border-radius: 14px;
	border: 1px solid var(--color-border);
	padding: 14px 16px;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--color-surface);
	color: var(--color-text-secondary);
	border-radius: 12px;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--color-surface);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-color: var(--color-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
	color: var(--color-text-primary);
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .button.alt {
	border-radius: 12px;
	min-height: 48px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.woocommerce-checkout .form-row .required {
	color: var(--color-performance);
}

.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received .woocommerce-thankyou-order-received {
	color: var(--color-text-secondary);
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
	color: var(--color-text-primary);
	font-weight: 600;
}

.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-table--order-details {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	padding: var(--space-md);
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	color: var(--color-text-secondary);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	padding: var(--space-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	color: var(--color-text-secondary);
	border-color: var(--color-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--color-text-primary);
	background-color: var(--color-section-soft);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--color-text-primary);
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.account-login-inner,
.account-register-inner {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	padding: var(--space-md);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: var(--color-surface);
	border-top: 3px solid var(--color-accent);
	border-radius: var(--radius-small);
	color: var(--color-text-primary);
	box-shadow: none;
}

.woocommerce-error {
	border-top-color: var(--color-performance);
}

.woocommerce-info {
	border-top-color: var(--color-accent);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--color-accent);
}

.woocommerce-error::before {
	color: var(--color-performance);
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: var(--color-text-primary);
	text-decoration: underline;
}

/* Widgets / filters */
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle {
	background-color: var(--color-accent);
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background-color: var(--color-border);
}

.widget .product_list_widget li,
.product_list_widget li {
	border-color: var(--color-border);
}

.widget .product_list_widget a {
	color: var(--color-text-primary);
}

.woocommerce .widget_layered_nav ul li a,
.woocommerce .widget_product_categories ul li a {
	color: var(--color-text-secondary);
}

.woocommerce .widget_layered_nav ul li a:hover,
.woocommerce .widget_product_categories ul li a:hover {
	color: var(--color-text-primary);
}

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
	color: var(--color-accent);
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-color: var(--color-border);
	background: transparent;
	color: var(--color-text-secondary);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: var(--color-text-primary);
	color: var(--color-surface);
	border-color: var(--color-text-primary);
}

/* Category description — clamp to ~4 lines, expand on demand */
.osram-cat-desc {
	margin-top: var(--space-md, 1rem);
	margin-bottom: var(--space-lg, 1.5rem);
}

.osram-cat-desc__content {
	position: relative;
	color: var(--color-text-secondary);
	font-size: 16px;
	line-height: 1.6;
}

.osram-cat-desc__content.is-collapsed {
	max-height: calc(1.6em * 4);
	overflow: hidden;
}

.osram-cat-desc__content.is-collapsed::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.4em;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--color-background) 0%, transparent),
		var(--color-background)
	);
}

.osram-cat-desc.is-expanded .osram-cat-desc__content.is-collapsed,
.osram-cat-desc.is-expanded .osram-cat-desc__content {
	max-height: none;
	overflow: visible;
}

.osram-cat-desc.is-expanded .osram-cat-desc__content::after {
	display: none;
}

.osram-cat-desc__toggle {
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	gap: 0.35em;
	margin-top: 0.65rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-accent);
	font-family: var(--font-main);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-transform: none !important;
	letter-spacing: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.osram-cat-desc__toggle:hover,
.osram-cat-desc__toggle:focus {
	color: var(--color-text-primary);
}

.osram-cat-desc__toggle .osram-cat-desc__less {
	display: none;
}

.osram-cat-desc.is-expanded .osram-cat-desc__toggle .osram-cat-desc__more {
	display: none;
}

.osram-cat-desc.is-expanded .osram-cat-desc__toggle .osram-cat-desc__less {
	display: inline;
}

.osram-cat-desc__toggle[hidden] {
	display: none !important;
}
