/*
Theme Name: Laptop Hub

WooCommerce styles override
*/

/* ==========================================================================
   0. Custom variables and base
   ========================================================================== */
:root {
	--lh-color-primary: #0f2942;
	--lh-color-primary-light: #1c4a73;
	--lh-color-accent: #ff7a1a;
	--lh-color-accent-dark: #e36500;
	--lh-color-text: #222222;
	--lh-color-text-light: #6b6b6b;
	--lh-color-border: #e3e3e3;
	--lh-color-bg-light: #f5f6f8;
	--lh-color-white: #ffffff;
	--lh-color-success: #1f8a3b;
	--lh-color-danger: #d92d20;

	--lh-radius: 6px;
	--lh-shadow: 0 1px 3px rgba(0,0,0,0.08);
	--lh-shadow-hover: 0 4px 12px rgba(0,0,0,0.12);
	--lh-max-width: 1280px;
	--lh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body {
	font-family: var(--lh-font);
	color: var(--lh-color-text);
}

a {
	text-decoration: none;
	color: inherit;
}

.lh-container {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   1. Header — Row 1: Top utility bar
   ========================================================================== */
.top-bar {
	background: var(--lh-color-primary);
	color: var(--lh-color-white);
	font-size: 13px;
}

.top-bar-inner {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	padding: 6px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top-bar-links a {
	margin-left: 16px;
	opacity: 0.9;
}

.top-bar-links a:hover {
	opacity: 1;
	text-decoration: underline;
}

/* ==========================================================================
   2. Header — Row 2: Logo, search, account, cart
   ========================================================================== */
.header-main {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.site-branding {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}

.site-branding img {
	max-height: 48px;
	width: auto;
}

.site-title {
	font-size: 22px;
	font-weight: 700;
	margin: 0;
	color: var(--lh-color-primary);
}

.site-description {
	font-size: 12px;
	color: var(--lh-color-text-light);
	margin: 0;
}

.header-search {
	flex: 1 1 380px;
	min-width: 200px;
}

.header-search .search-form {
	display: flex;
	width: 100%;
}

.header-search .search-field {
	flex: 1;
	padding: 10px 14px;
	border: 2px solid var(--lh-color-primary);
	border-right: none;
	border-radius: var(--lh-radius) 0 0 var(--lh-radius);
	font-size: 14px;
}

.header-search .search-field:focus {
	outline: none;
	border-color: var(--lh-color-accent);
}

.header-search .search-submit {
	background: var(--lh-color-accent);
	color: var(--lh-color-white);
	border: none;
	padding: 0 16px;
	border-radius: 0 var(--lh-radius) var(--lh-radius) 0;
	cursor: pointer;
	display: flex;
	align-items: center;
}

.header-search .search-submit:hover {
	background: var(--lh-color-accent-dark);
}

.header-search .search-submit .lh-icon {
	font-size: 16px;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-left: auto;
}

.lh-icon {
	font-size: 18px;
	line-height: 1;
	flex-shrink: 0;
}

.header-account-link {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--lh-color-primary);
	white-space: nowrap;
}

.header-account-link .lh-icon {
	font-size: 20px;
}

.header-account-link:hover {
	color: var(--lh-color-accent);
}

.header-cart-wrapper {
	position: relative;
}

.cart-icon-wrap {
	position: relative;
	display: inline-flex;
}

.cart-icon-wrap .count {
	position: absolute;
	top: -8px;
	right: -10px;
	background: var(--lh-color-accent);
	color: var(--lh-color-white);
	font-size: 11px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	padding: 0 4px;
	line-height: 1;
}

.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--lh-color-primary);
	font-size: 22px;
	padding: 4px 8px;
}

/* ==========================================================================
   3. Header — Row 3: Primary nav + category mega-menu
   ========================================================================== */
.main-navigation {
	background: var(--lh-color-white);
	border-top: 1px solid var(--lh-color-border);
	border-bottom: 1px solid var(--lh-color-border);
}

.main-navigation ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: var(--lh-max-width);
	display: flex;
	flex-wrap: wrap;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lh-color-text);
}

.main-navigation a:hover {
	color: var(--lh-color-accent);
}

.category-navigation {
	background: var(--lh-color-bg-light);
	border-bottom: 1px solid var(--lh-color-border);
}

.category-menu-list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: var(--lh-max-width);
	display: flex;
	flex-wrap: wrap;
}

.category-menu-list > li > a {
	display: block;
	padding: 10px 16px;
	font-size: 13px;
	color: var(--lh-color-text);
}

.category-menu-list > li:hover > a {
	color: var(--lh-color-accent);
}

.category-menu-list ul {
	list-style: none;
	margin: 0;
	padding: 8px 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: var(--lh-color-white);
	border: 1px solid var(--lh-color-border);
	border-radius: 0 0 var(--lh-radius) var(--lh-radius);
	box-shadow: var(--lh-shadow-hover);
	display: none;
	z-index: 40;
}

.category-menu-list li:hover > ul {
	display: block;
}

.category-menu-list ul a {
	padding: 8px 16px;
	font-size: 13px;
}

.category-menu-list ul a:hover {
	background: var(--lh-color-bg-light);
}

/* ==========================================================================
   4. Mobile responsiveness for header
   ========================================================================== */
@media (max-width: 768px) {
	.top-bar-links a:first-child {
		margin-left: 0;
	}

	.header-main {
		flex-wrap: wrap;
	}

	.header-search {
		order: 3;
		flex: 1 1 100%;
	}

	.mobile-menu-toggle {
		display: block;
		order: 2;
	}

	.main-navigation,
	.category-navigation {
		display: none;
	}
}

/* ==========================================================================
   5. Shop tables
   ========================================================================== */
table.shop_table_responsive thead {
	display: none;
}

table.shop_table_responsive tbody th {
	display: none;
}

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
}

table.shop_table_responsive tr td.product-remove a {
	text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
	display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

@media screen and (min-width: 48em) {
	table.shop_table_responsive thead {
		display: table-header-group;
	}

	table.shop_table_responsive tbody th {
		display: table-cell;
	}

	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td {
		text-align: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
	}

	table.shop_table_responsive tr td::before {
		display: none;
	}
}

/* ==========================================================================
   6. Products — base (float system removed, replaced by CSS Grid in section 20)
   ========================================================================== */
ul.products {
	margin: 0;
	padding: 0;
}

ul.products::after {
	content: '';
	display: table;
	clear: both;
}

ul.products li.product {
	list-style: none;
	position: relative;
	margin-bottom: 0;
}

ul.products li.product img {
	display: block;
}

ul.products li.product .button {
	display: block;
}

/* ==========================================================================
   7. Single product gallery/thumbnails
   ========================================================================== */
.single-product div.product {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li { width: 48.1%; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) { margin-right: 0; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) { clear: both; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li { width: 30.79667%; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) { margin-right: 0; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) { clear: both; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li { width: 22.15%; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) { margin-right: 0; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) { clear: both; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li { width: 16.96%; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) { margin-right: 0; }
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) { clear: both; }

.stock:empty::before { display: none; }
.stock.in-stock { color: #0f834d; }
.stock.out-of-stock { color: #e2401c; }

/* ==========================================================================
   8. Checkout
   ========================================================================== */
@media screen and (min-width: 768px) {
	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}
}

/* ==========================================================================
   9. Header cart
   ========================================================================== */
.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
	display: none;
}

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
}

/* ==========================================================================
   10. Star rating — gold stars
   ========================================================================== */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.3em;
	font-family: star;
	font-weight: 400;
}

.star-rating::before {
	content: "\53\53\53\53\53";
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	color: #f5a623;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "\53";
	color: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "\53";
	color: #f5a623;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: #f5a623;
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: #f5a623;
	opacity: 1;
}

/* ==========================================================================
   11. Tabs
   ========================================================================== */
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/* ==========================================================================
   12. Password strength meter
   ========================================================================== */
.woocommerce-password-strength { text-align: right; }
.woocommerce-password-strength.strong { color: #0f834d; }
.woocommerce-password-strength.short { color: #e2401c; }
.woocommerce-password-strength.bad { color: #e2401c; }
.woocommerce-password-strength.good { color: #3d9cd2; }

/* ==========================================================================
   13. Forms
   ========================================================================== */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required { color: #f00; }

/* ==========================================================================
   14. Notices
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: #0f834d;
	clear: both;
	padding: 12px 16px;
	border-radius: var(--lh-radius);
	color: var(--lh-color-white);
	font-size: 14px;
	margin-bottom: 16px;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: #3d9cd2;
}

.woocommerce-error {
	background-color: #e2401c;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: var(--lh-color-white);
	text-decoration: underline;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	z-index: 9999;
}

@media screen and (min-width: 48em) {
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}
}

/* ==========================================================================
   15. Price Filter widget — accent colour
   ========================================================================== */
.widget_price_filter .price_slider { margin-bottom: 1.5em; }
.widget_price_filter .price_slider_amount { text-align: right; line-height: 2.4; }
.widget_price_filter .price_slider_amount .button { float: left; }
.widget_price_filter .ui-slider { position: relative; text-align: left; }

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: var(--lh-color-accent);
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child { margin-left: -1em; }

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: var(--lh-color-accent);
}

.widget_price_filter .price_slider_wrapper .ui-widget-content { background: rgba(0, 0, 0, 0.1); }
.widget_price_filter .ui-slider-horizontal { height: 0.5em; }
.widget_price_filter .ui-slider-horizontal .ui-slider-range { height: 100%; }

/* ==========================================================================
   16. Footer — Newsletter bar
   ========================================================================== */
.footer-newsletter {
	background: var(--lh-color-primary-light);
	color: var(--lh-color-white);
	padding: 32px 20px;
}

.footer-newsletter-inner {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.footer-newsletter-text h2 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 4px;
	color: var(--lh-color-white);
}

.footer-newsletter-text p {
	font-size: 13px;
	margin: 0;
	opacity: 0.85;
}

.footer-newsletter-form { flex: 0 0 360px; }

.footer-newsletter-form input[type="email"] {
	width: 100%;
	padding: 10px 14px;
	border: none;
	border-radius: var(--lh-radius) 0 0 var(--lh-radius);
	font-size: 14px;
}

.footer-newsletter-form input[type="submit"],
.footer-newsletter-form button[type="submit"] {
	background: var(--lh-color-accent);
	color: var(--lh-color-white);
	border: none;
	padding: 10px 20px;
	border-radius: 0 var(--lh-radius) var(--lh-radius) 0;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.footer-newsletter-form input[type="submit"]:hover,
.footer-newsletter-form button[type="submit"]:hover {
	background: var(--lh-color-accent-dark);
}

/* ==========================================================================
   17. Footer — Multi-column widget area
   ========================================================================== */
.footer-columns {
	background: var(--lh-color-primary);
	color: var(--lh-color-white);
	padding: 48px 20px;
}

.footer-columns-inner {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
	gap: 40px;
}

@media (max-width: 1024px) {
	.footer-columns-inner { grid-template-columns: 1fr 1fr 1fr; }
	.footer-col-about { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
	.footer-columns-inner { grid-template-columns: 1fr 1fr; }
	.footer-col-about { grid-column: 1 / -1; }
}

.footer-col img { max-height: 40px; width: auto; margin-bottom: 12px; }

.footer-about-text {
	font-size: 13px;
	line-height: 1.6;
	opacity: 0.8;
	margin: 12px 0 20px;
}

.footer-social-links { display: flex; gap: 12px; }

.footer-social-links a {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255,255,255,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lh-color-white);
	font-size: 14px;
	transition: background 0.2s;
}

.footer-social-links a:hover { background: var(--lh-color-accent); }

.footer-col .widget-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--lh-color-white);
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--lh-color-accent);
	display: inline-block;
}

.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,0.75); transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--lh-color-accent); }

/* ==========================================================================
   18. Footer — Trust badges bar
   ========================================================================== */
.footer-trust-bar {
	background: var(--lh-color-primary-light);
	padding: 20px;
	border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-trust-bar-inner {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

.footer-trust-item { display: flex; align-items: center; gap: 10px; color: var(--lh-color-white); }
.footer-trust-item i { font-size: 22px; color: var(--lh-color-accent); }
.footer-trust-item span { font-size: 13px; font-weight: 600; }

/* ==========================================================================
   19. Footer — Bottom copyright bar
   ========================================================================== */
footer#colophon .site-info {
	background: #071b2d;
	color: rgba(255,255,255,0.6);
	padding: 16px 20px;
}

.site-info-inner {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.footer-copyright { font-size: 12px; margin: 0; }

.footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.footer-nav ul li a { font-size: 12px; color: rgba(255,255,255,0.6); }
.footer-nav ul li a:hover { color: var(--lh-color-accent); }

/* ==========================================================================
   20. Shop page layout — archive-product.php
   ========================================================================== */
.lh-shop-wrap {
	background: var(--lh-color-bg-light);
	padding: 24px 0 48px;
}

.lh-shop-layout {
	display: grid;
	gap: 24px;
	align-items: start;
}

.lh-shop-layout.has-sidebar {
	grid-template-columns: 260px 1fr;
}

.lh-shop-layout.no-sidebar {
	grid-template-columns: 1fr;
}

/* Shop sidebar */
.shop-widget-area {
	background: var(--lh-color-white);
	border-radius: var(--lh-radius);
	box-shadow: var(--lh-shadow);
	overflow: hidden;
}

.shop-widget-area .widget {
	padding: 16px 20px;
	border-bottom: 1px solid var(--lh-color-border);
}

.shop-widget-area .widget:last-child { border-bottom: none; }

.shop-widget-area .widget-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--lh-color-primary);
	margin: 0 0 12px;
}

/* Main product area */
.lh-shop-main { min-width: 0; }

.lh-shop-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--lh-color-primary);
	margin: 0 0 16px;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--lh-color-text-light);
	margin-bottom: 12px;
}

.woocommerce-breadcrumb a { color: var(--lh-color-primary); }
.woocommerce-breadcrumb a:hover { color: var(--lh-color-accent); }

/* Toolbar */
.lh-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	background: var(--lh-color-white);
	padding: 10px 16px;
	border-radius: var(--lh-radius);
	margin-bottom: 16px;
	box-shadow: var(--lh-shadow);
}

.woocommerce-result-count {
	font-size: 13px;
	color: var(--lh-color-text-light);
	margin: 0;
}

.woocommerce-ordering select {
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	padding: 6px 10px;
	font-size: 13px;
	color: var(--lh-color-text);
	background: var(--lh-color-white);
	cursor: pointer;
}

/* Product grid — CSS Grid replaces _s floats */
ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 0 !important;
	padding: 0 !important;
}

@media screen and (min-width: 48em) {
	ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
	ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
	ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
	ul.products.columns-1 { grid-template-columns: 1fr; }

	ul.products li.product {
		width: auto !important;
		float: none !important;
		margin-right: 0 !important;
	}
}

/* Pagination */
.lh-shop-pagination {
	margin-top: 24px;
	display: flex;
	justify-content: center;
}

.woocommerce-pagination ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 4px;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	font-size: 13px;
	color: var(--lh-color-text);
	background: var(--lh-color-white);
}

.woocommerce-pagination ul li a:hover {
	border-color: var(--lh-color-accent);
	color: var(--lh-color-accent);
}

.woocommerce-pagination ul li span.current {
	background: var(--lh-color-accent);
	border-color: var(--lh-color-accent);
	color: var(--lh-color-white);
	font-weight: 700;
}

/* No products */
.lh-no-products {
	background: var(--lh-color-white);
	padding: 48px;
	text-align: center;
	border-radius: var(--lh-radius);
}

/* Mobile shop layout */
@media (max-width: 768px) {
	.lh-shop-layout.has-sidebar,
	.lh-shop-layout.no-sidebar {
		grid-template-columns: 1fr;
	}

	.shop-widget-area { order: 2; }
	.lh-shop-main { order: 1; }

	ul.products,
	ul.products.columns-4,
	ul.products.columns-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   21. Product card — content-product.php
   ========================================================================== */
.lh-product-card {
	background: var(--lh-color-white);
	border-radius: var(--lh-radius);
	box-shadow: var(--lh-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s, transform 0.2s;
	position: relative;
}

.lh-product-card:hover {
	box-shadow: var(--lh-shadow-hover);
	transform: translateY(-2px);
}

.lh-product-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
}

.lh-product-card__image-wrap {
	position: relative;
	overflow: hidden;
	background: var(--lh-color-bg-light);
	aspect-ratio: 1 / 1;
}

.lh-product-card__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 12px;
	transition: transform 0.3s ease;
}

.lh-product-card:hover .lh-product-card__image-wrap img {
	transform: scale(1.04);
}

.lh-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	z-index: 2;
	line-height: 1.4;
}

.lh-badge--sale { background: var(--lh-color-danger); color: var(--lh-color-white); }
.lh-badge--out-of-stock { background: var(--lh-color-text-light); color: var(--lh-color-white); top: auto; bottom: 10px; left: 10px; }
.lh-badge--featured { background: var(--lh-color-accent); color: var(--lh-color-white); top: 10px; right: 10px; left: auto; }

.lh-product-card__info {
	padding: 12px 14px 8px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lh-product-card__category {
	font-size: 11px;
	color: var(--lh-color-text-light);
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.lh-product-card__title {
	font-size: 13px;
	font-weight: 600;
	color: var(--lh-color-text);
	line-height: 1.4;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lh-product-card__rating {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 2px;
}

.lh-product-card__rating .star-rating { font-size: 12px; color: #f5a623; }
.lh-product-card__rating-count { font-size: 11px; color: var(--lh-color-text-light); }

.lh-product-card__price { margin-top: auto; padding-top: 6px; }

.lh-product-card__price .price {
	font-size: 15px;
	font-weight: 700;
	color: var(--lh-color-primary);
}

.lh-product-card__price .price del {
	font-size: 12px;
	font-weight: 400;
	color: var(--lh-color-text-light);
	margin-right: 4px;
}

.lh-product-card__price .price ins {
	text-decoration: none;
	color: var(--lh-color-danger);
}

.lh-product-card__footer { padding: 8px 14px 14px; }

.lh-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 9px 16px;
	border-radius: var(--lh-radius);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: background 0.2s, color 0.2s;
}

.lh-btn--cart { background: var(--lh-color-accent); color: var(--lh-color-white); }
.lh-btn--cart:hover { background: var(--lh-color-accent-dark); color: var(--lh-color-white); }
.lh-btn--cart.loading { opacity: 0.7; cursor: wait; }
.lh-btn--cart.added { background: var(--lh-color-success); }

.lh-btn--out-of-stock {
	background: var(--lh-color-bg-light);
	color: var(--lh-color-text-light);
	border: 1px solid var(--lh-color-border);
}

.lh-btn--out-of-stock:hover {
	border-color: var(--lh-color-primary);
	color: var(--lh-color-primary);
}



















/* ==========================================================================
   22. Single Product Marketplace Grid System (Amazon/Daraz Style)
   ========================================================================== */
.lh-single-product-wrap {
	background: var(--lh-color-white);
	padding: 24px 0 64px;
}

.lh-product-marketplace-grid {
	display: grid;
	grid-template-columns: minmax(340px, 480px) 1fr 300px;
	gap: 32px;
	align-items: start;
	margin-bottom: 48px;
}

/* Column 1: Gallery */
.lh-product-gallery-panel {
	position: sticky;
	top: 20px;
}

.lh-product-gallery-panel .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
}

.lh-product-gallery-panel .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	object-fit: contain;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	background: var(--lh-color-bg-light);
}

/* Column 2: Details */
.lh-product-details-panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.lh-product-meta-top .woocommerce-breadcrumb {
	margin-bottom: 6px;
	padding: 0;
	font-size: 12px;
}

.lh-product-brand-category {
	font-size: 13px;
	color: var(--lh-color-text-light);
	margin-bottom: 8px;
}

.lh-product-brand-category a {
	color: var(--lh-color-primary-light);
	font-weight: 500;
}

.lh-product-brand-category a:hover {
	color: var(--lh-color-accent);
	text-decoration: underline;
}

.lh-product-title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--lh-color-text);
	margin: 8px 0 12px;
}

.lh-product-rating-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.lh-product-rating-row .star-rating { font-size: 14px; }

.lh-rating-count-link {
	font-size: 13px;
	color: var(--lh-color-primary-light);
}

.lh-no-rating-text {
	font-size: 12px;
	color: var(--lh-color-text-light);
	font-style: italic;
}

.lh-product-divider {
	border: 0;
	border-top: 1px solid var(--lh-color-border);
	margin: 12px 0 16px;
}

.lh-product-primary-price .price {
	font-size: 26px;
	font-weight: 700;
	color: var(--lh-color-primary);
}

.lh-product-primary-price .price del {
	font-size: 16px;
	color: var(--lh-color-text-light);
	font-weight: 400;
	margin-right: 6px;
}

.lh-product-primary-price .price ins {
	text-decoration: none;
	color: var(--lh-color-danger);
}

.lh-product-short-description-wrapper { margin-top: 20px; }

.lh-section-micro-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--lh-color-text);
	margin: 0 0 8px;
}

.lh-short-desc-content {
	font-size: 14px;
	line-height: 1.6;
	color: var(--lh-color-text);
}

.lh-short-desc-content ul { padding-left: 18px; margin: 8px 0; }
.lh-short-desc-content li { margin-bottom: 6px; }

/* Column 3: Buy Box */
.lh-product-buy-box-panel {
	position: sticky;
	top: 20px;
	min-width: 0;
}

.lh-buy-box-sticky-card {
	border: 1px solid var(--lh-color-border);
	border-radius: 8px;
	padding: 20px;
	background: var(--lh-color-white);
	box-shadow: var(--lh-shadow);
}

.lh-buy-box-price-row { margin-bottom: 12px; }

.lh-buy-box-label {
	font-size: 12px;
	color: var(--lh-color-text-light);
	display: block;
	margin-bottom: 2px;
}

.lh-buy-box-amount .price {
	font-size: 22px;
	font-weight: 700;
	color: var(--lh-color-danger);
}

.lh-buy-box-amount .price del { display: none; }

.lh-buy-box-stock-status { margin-bottom: 16px; }

.lh-buy-box-stock-status .stock {
	font-size: 15px;
	font-weight: 600;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

.lh-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
}

.lh-status-dot.green { background: var(--lh-color-success); }
.lh-status-dot.red { background: var(--lh-color-danger); }

.lh-buy-box-meta {
	border-top: 1px solid var(--lh-color-bg-light);
	border-bottom: 1px solid var(--lh-color-bg-light);
	padding: 10px 0;
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12px;
}

.lh-meta-row { display: flex; justify-content: space-between; }
.lh-meta-row .lh-lbl { color: var(--lh-color-text-light); }
.lh-meta-row .lh-val { font-weight: 600; color: var(--lh-color-text); }
.lh-meta-row .theme-accent-color { color: var(--lh-color-accent-dark); }

/* Add to cart form inside buy box */
.lh-buy-box-actions-area form.cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.lh-buy-box-actions-area .quantity {
	display: flex;
	align-items: center;
}

.lh-buy-box-actions-area .quantity .qty {
	width: 100%;
	padding: 8px;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	text-align: center;
	font-size: 14px;
}

/* Variable product select dropdowns */
.lh-buy-box-actions-area .variations select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	font-size: 13px;
	color: var(--lh-color-text);
	background: var(--lh-color-white);
	margin-bottom: 8px;
}

.lh-buy-box-actions-area .variations th {
	font-size: 12px;
	font-weight: 600;
	color: var(--lh-color-text-light);
	text-align: left;
	padding: 4px 0;
}

.lh-buy-box-actions-area .variations td { padding-bottom: 8px; }

/* Add to cart button — pill shape */
.lh-buy-box-actions-area .single_add_to_cart_button.button {
	background: var(--lh-color-accent) !important;
	color: var(--lh-color-white) !important;
	border: none !important;
	width: 100% !important;
	padding: 12px 20px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	border-radius: 24px !important;
	cursor: pointer;
	transition: background 0.2s ease !important;
	box-shadow: 0 2px 4px rgba(255,122,26,0.15);
}

.lh-buy-box-actions-area .single_add_to_cart_button.button:hover {
	background: var(--lh-color-accent-dark) !important;
}

/* SKU / meta below add to cart */
.lh-buy-box-actions-area .product_meta {
	font-size: 12px;
	color: var(--lh-color-text-light);
	margin-top: 8px;
}

/* Trust signals — Font Awesome icons replacing Dashicons */
.lh-buy-box-trust-signals {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lh-trust-signal-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--lh-color-text-light);
}

.lh-trust-signal-item i {
	font-size: 14px;
	color: var(--lh-color-primary-light);
	width: 16px;
	text-align: center;
	flex-shrink: 0;
}

/* Tabs + related products footer */
.lh-product-tabs-footer-area {
	border-top: 1px solid var(--lh-color-border);
	padding-top: 32px;
	margin-top: 32px;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 24px;
	border-bottom: 1px solid var(--lh-color-border);
	margin-bottom: 24px;
	padding: 0;
}

.woocommerce-tabs ul.tabs li {
	display: inline-block;
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	font-size: 14px;
	font-weight: 600;
	color: var(--lh-color-text-light);
	padding: 12px 4px;
	position: relative;
	display: block;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--lh-color-accent);
}

.woocommerce-tabs ul.tabs li.active a::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--lh-color-accent);
}

/* Related products use ul.products — restore spacing for this context */
.lh-product-tabs-footer-area ul.products li.product {
	margin-bottom: 16px;
}

/* ==========================================================================
   23. Single Product — Responsive reflow
   ========================================================================== */

/* Tablet: gallery left, details+buybox right in two rows */
@media (max-width: 1100px) {
	.lh-product-marketplace-grid {
		grid-template-columns: 45% 1fr;
		grid-template-rows: auto auto;
	}

	.lh-product-gallery-panel {
		grid-column: 1;
		grid-row: 1 / 3;
	}

	.lh-product-details-panel {
		grid-column: 2;
		grid-row: 1;
	}

	.lh-product-buy-box-panel {
		grid-column: 2;
		grid-row: 2;
		position: relative;
		top: 0;
	}
}

/* Mobile: single column stack */
@media (max-width: 768px) {
	.lh-product-marketplace-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 24px;
	}

	.lh-product-gallery-panel,
	.lh-product-details-panel,
	.lh-product-buy-box-panel {
		grid-column: 1;
		grid-row: auto;
		position: relative;
		top: 0;
	}

	.lh-product-title { font-size: 18px; }

	.lh-product-primary-price .price { font-size: 20px; }
}
















/* ==========================================================================
   24. Mobile menu — JS-powered slide-in panel
   ========================================================================== */

/* Overlay behind the open mobile menu */
.lh-mobile-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.4);
	z-index: 98;
}

.lh-mobile-overlay.is-visible {
	display: block;
}

/* Prevent body scroll when menu is open */
body.mobile-menu-open {
	overflow: hidden;
}

/* Mobile nav slides in from left when .is-open is added by JS */
@media (max-width: 768px) {
	.main-navigation {
		position: fixed;
		top: 0;
		left: -280px;
		width: 280px;
		height: 100vh;
		background: var(--lh-color-white);
		z-index: 99;
		overflow-y: auto;
		transition: left 0.28s ease;
		border-right: 1px solid var(--lh-color-border);
		display: block; /* override the display:none from section 4 */
	}

	.main-navigation.is-open {
		left: 0;
	}

	.category-navigation {
		position: fixed;
		top: 0;
		left: -280px;
		width: 280px;
		height: 100vh;
		background: var(--lh-color-bg-light);
		z-index: 98;
		overflow-y: auto;
		transition: left 0.28s ease;
		padding-top: 60vh; /* pushes category nav below primary nav items */
		display: block;
	}

	.category-navigation.is-open {
		left: 0;
	}

	.main-navigation ul {
		flex-direction: column;
		padding: 16px 0;
	}

	.main-navigation a {
		padding: 12px 20px;
		border-bottom: 1px solid var(--lh-color-border);
	}

	.category-menu-list {
		flex-direction: column;
	}

	.category-menu-list > li > a {
		padding: 10px 20px;
		border-bottom: 1px solid var(--lh-color-border);
	}

	/* Submenus inside mobile: show below parent instead of absolute */
	.category-menu-list ul {
		position: static;
		display: none;
		box-shadow: none;
		border: none;
		border-radius: 0;
		background: var(--lh-color-white);
		padding: 0;
	}

	.category-menu-list li.is-open > ul {
		display: block;
	}

	.category-menu-list ul a {
		padding: 8px 20px 8px 32px;
		border-bottom: 1px solid var(--lh-color-border);
	}
}

/* ==========================================================================
   25. Cart badge pulse animation
   ========================================================================== */
@keyframes lh-pulse {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.35); }
	100% { transform: scale(1); }
}

.cart-icon-wrap .count.lh-badge-pulse {
	animation: lh-pulse 0.6s ease;
}












/* ==========================================================================
   33. Cart page
   ========================================================================== */
.lh-cart-wrap {
	background: var(--lh-color-bg-light);
	padding: 32px 0 64px;
}

/* Header row */
.lh-cart-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	flex-wrap: wrap;
	gap: 12px;
}

.lh-cart-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--lh-color-primary);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.lh-cart-count {
	font-size: 15px;
	font-weight: 400;
	color: var(--lh-color-text-light);
}

.lh-cart-continue-link {
	font-size: 13px;
	font-weight: 600;
	color: var(--lh-color-primary);
	display: flex;
	align-items: center;
	gap: 6px;
}

.lh-cart-continue-link:hover {
	color: var(--lh-color-accent);
}

/* Two-column layout */
.lh-cart-layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 24px;
	align-items: start;
}

/* ==========================================================================
   Cart items column
   ========================================================================== */
.lh-cart-items-list {
	background: var(--lh-color-white);
	border-radius: var(--lh-radius);
	box-shadow: var(--lh-shadow);
	overflow: hidden;
	margin-bottom: 16px;
}

/* Single cart item row */
.lh-cart-item {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 16px;
	padding: 20px;
	border-bottom: 1px solid var(--lh-color-border);
	align-items: start;
}

.lh-cart-item:last-child {
	border-bottom: none;
}

.lh-cart-item__image {
	width: 100px;
	height: 100px;
	background: var(--lh-color-bg-light);
	border-radius: var(--lh-radius);
	overflow: hidden;
	flex-shrink: 0;
}

.lh-cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.lh-cart-item__info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.lh-cart-item__name-wrap {
	flex: 1;
}

.lh-cart-item__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--lh-color-primary);
	margin: 0 0 4px;
	line-height: 1.4;
}

.lh-cart-item__name a {
	color: inherit;
}

.lh-cart-item__name a:hover {
	color: var(--lh-color-accent);
}

.lh-cart-item__backorder {
	font-size: 12px;
	color: var(--lh-color-text-light);
	margin: 4px 0 0;
}

.lh-cart-item__price {
	font-size: 13px;
	color: var(--lh-color-text-light);
}

/* Actions row: qty + subtotal + remove */
.lh-cart-item__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* Quantity input — WooCommerce outputs .quantity wrapper */
.lh-cart-item__qty .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	overflow: hidden;
}

.lh-cart-item__qty .qty {
	width: 52px;
	text-align: center;
	padding: 6px 4px;
	border: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--lh-color-text);
	background: var(--lh-color-white);
	-moz-appearance: textfield;
}

.lh-cart-item__qty .qty::-webkit-inner-spin-button,
.lh-cart-item__qty .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

.lh-cart-item__qty-fixed {
	font-size: 14px;
	font-weight: 600;
	color: var(--lh-color-text);
}

.lh-cart-item__subtotal {
	font-size: 15px;
	font-weight: 700;
	color: var(--lh-color-primary);
	margin-left: auto;
}

.lh-cart-remove {
	color: var(--lh-color-text-light);
	font-size: 14px;
	display: flex;
	align-items: center;
	padding: 6px;
	border-radius: 4px;
	transition: color 0.2s, background 0.2s;
}

.lh-cart-remove:hover {
	color: var(--lh-color-danger);
	background: rgba(217,45,32,0.06);
}

/* Coupon + update row */
.lh-cart-form-footer {
	background: var(--lh-color-white);
	border-radius: var(--lh-radius);
	box-shadow: var(--lh-shadow);
	padding: 16px 20px;
	display: flex;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.lh-cart-coupon {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	min-width: 200px;
}

.lh-cart-coupon__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--lh-color-text-light);
	display: flex;
	align-items: center;
	gap: 5px;
}

.lh-cart-coupon__input-wrap {
	display: flex;
}

.lh-cart-coupon__input {
	flex: 1;
	padding: 9px 12px;
	border: 1px solid var(--lh-color-border);
	border-right: none;
	border-radius: var(--lh-radius) 0 0 var(--lh-radius);
	font-size: 13px;
}

.lh-cart-coupon__input:focus {
	outline: none;
	border-color: var(--lh-color-accent);
}

.lh-btn-coupon {
	background: var(--lh-color-primary);
	color: var(--lh-color-white);
	border: none;
	padding: 9px 16px;
	border-radius: 0 var(--lh-radius) var(--lh-radius) 0;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.lh-btn-coupon:hover {
	background: var(--lh-color-primary-light);
}

.lh-btn-update {
	background: var(--lh-color-bg-light);
	color: var(--lh-color-text);
	border: 1px solid var(--lh-color-border);
	padding: 9px 16px;
	border-radius: var(--lh-radius);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.lh-btn-update:hover {
	border-color: var(--lh-color-primary);
	color: var(--lh-color-primary);
}

/* WhatsApp support strip */
.lh-cart-whatsapp-strip {
	background: #f0fdf4;
	border: 1px solid #86efac;
	border-radius: var(--lh-radius);
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.lh-cart-whatsapp-strip i {
	font-size: 22px;
	color: #25d366;
	flex-shrink: 0;
}

.lh-cart-whatsapp-strip span {
	font-size: 13px;
	color: #166534;
	flex: 1;
}

.lh-cart-whatsapp-btn {
	background: #25d366;
	color: var(--lh-color-white);
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.lh-cart-whatsapp-btn:hover {
	background: #1ebe59;
	color: var(--lh-color-white);
}

/* ==========================================================================
   Cart summary column (right)
   ========================================================================== */
.lh-cart-summary-col {
	position: sticky;
	top: 20px;
}

.lh-cart-summary {
	background: var(--lh-color-white);
	border-radius: var(--lh-radius);
	box-shadow: var(--lh-shadow);
	overflow: hidden;
}

.lh-cart-summary__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--lh-color-primary);
	margin: 0;
	padding: 18px 20px;
	border-bottom: 1px solid var(--lh-color-border);
}

/* COD badge */
.lh-cart-cod-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	background: #f0fdf4;
	border-bottom: 1px solid #bbf7d0;
}

.lh-cart-cod-badge i {
	font-size: 22px;
	color: #16a34a;
	flex-shrink: 0;
}

.lh-cart-cod-badge strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #166534;
}

.lh-cart-cod-badge span {
	font-size: 11px;
	color: #15803d;
}

/* WooCommerce cart totals table override */
.lh-cart-summary .cart_totals {
	padding: 0;
}

.lh-cart-summary .cart_totals h2 {
	display: none; /* We show our own title above */
}

.lh-cart-summary .shop_table {
	width: 100%;
	border-collapse: collapse;
}

.lh-cart-summary .shop_table tr th,
.lh-cart-summary .shop_table tr td {
	padding: 12px 20px;
	font-size: 13px;
	border-bottom: 1px solid var(--lh-color-border);
	text-align: left;
}

.lh-cart-summary .shop_table tr:last-child th,
.lh-cart-summary .shop_table tr:last-child td {
	border-bottom: none;
}

.lh-cart-summary .shop_table tr th {
	font-weight: 600;
	color: var(--lh-color-text-light);
	width: 50%;
}

.lh-cart-summary .shop_table .order-total th,
.lh-cart-summary .shop_table .order-total td {
	font-size: 16px;
	font-weight: 700;
	color: var(--lh-color-primary);
	padding-top: 16px;
	padding-bottom: 16px;
}

/* Proceed to checkout button */
.lh-cart-summary .wc-proceed-to-checkout {
	padding: 16px 20px;
}



/* ==========================================================================
   WooCommerce Shipping Methods Override (Fix for ul#shipping_method)
   ========================================================================== */
.lh-cart-summary .shop_table #shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lh-cart-summary .shop_table #shipping_method li {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	font-size: 13px;
	color: var(--lh-color-text);
}

.lh-cart-summary .shop_table #shipping_method label {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	width: 100%;
}

/* Formats the currency/price amount within the shipping label */
.lh-cart-summary .shop_table #shipping_method .woocommerce-Price-amount {
	font-weight: 700;
	color: var(--lh-color-primary);
}

/* If there are radio buttons present (multiple shipping methods) */
.lh-cart-summary .shop_table #shipping_method input[type="radio"] {
	margin: 0 8px 0 0;
	accent-color: var(--lh-color-accent);
	cursor: pointer;
}

.lh-cart-summary .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 20px;
	background: var(--lh-color-accent);
	color: var(--lh-color-white);
	font-size: 16px;
	font-weight: 700;
	border-radius: 28px;
	border: none;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
	box-shadow: 0 4px 14px rgba(255,122,26,0.3);
}

.lh-cart-summary .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--lh-color-accent-dark);
	transform: translateY(-1px);
}

/* Trust list */
.lh-cart-trust-list {
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid var(--lh-color-border);
}

.lh-cart-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--lh-color-text-light);
}

.lh-cart-trust-item i {
	font-size: 14px;
	color: var(--lh-color-primary-light);
	width: 16px;
	text-align: center;
	flex-shrink: 0;
}

/* WhatsApp in summary */
.lh-cart-summary-whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 20px;
	border-top: 1px solid var(--lh-color-border);
	font-size: 13px;
	font-weight: 600;
	color: #166534;
	background: #f0fdf4;
	transition: background 0.2s;
}

.lh-cart-summary-whatsapp i {
	font-size: 18px;
	color: #25d366;
}

.lh-cart-summary-whatsapp:hover {
	background: #dcfce7;
	color: #166534;
}

/* Empty cart */
.lh-cart-wrap .woocommerce-cart-form ~ * .cart-empty,
.woocommerce-cart .cart-empty {
	text-align: center;
	padding: 64px 20px;
	font-size: 16px;
	color: var(--lh-color-text-light);
}

/* ==========================================================================
   Cart mobile
   ========================================================================== */
@media (max-width: 900px) {
	.lh-cart-layout {
		grid-template-columns: 1fr;
	}

	.lh-cart-summary-col {
		position: static;
	}
}

@media (max-width: 600px) {
	.lh-cart-item {
		grid-template-columns: 80px 1fr;
		gap: 12px;
		padding: 16px;
	}

	.lh-cart-item__image {
		width: 80px;
		height: 80px;
	}

	.lh-cart-item__actions {
		gap: 10px;
	}

	.lh-cart-form-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.lh-cart-whatsapp-strip {
		flex-direction: column;
		text-align: center;
	}
}











/* ==========================================================================
   34. WooCommerce notices — cart, checkout, account pages
   ========================================================================== */
.woocommerce-notices-wrapper {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	padding: 16px 20px 0;
}

.woocommerce-message {
	background: #f0fdf4 !important;
	color: #166534 !important;
	border-left: 4px solid #22c55e;
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 16px !important;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 500;
}

.woocommerce-message .button {
	margin-left: auto;
	background: none !important;
	border: 1px solid #22c55e !important;
	color: #166534 !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}

.woocommerce-message .button:hover {
	background: #22c55e !important;
	color: var(--lh-color-white) !important;
}

.woocommerce-error {
	background: #fef2f2 !important;
	color: #991b1b !important;
	border-left: 4px solid var(--lh-color-danger);
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 16px !important;
	list-style: none !important;
	font-size: 14px;
}

.woocommerce-info {
	background: #eff6ff !important;
	color: #1e40af !important;
	border-left: 4px solid #3b82f6;
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 16px !important;
	font-size: 14px;
}

/* Shipping calculator */
.woocommerce-shipping-calculator .shipping-calculator-button {
	font-size: 12px;
	color: var(--lh-color-primary-light);
	text-decoration: underline;
}

.woocommerce-shipping-calculator .shipping-calculator-form {
	margin-top: 12px;
}

.woocommerce-shipping-calculator .shipping-calculator-form .form-row {
	margin-bottom: 8px;
}

.woocommerce-shipping-calculator .shipping-calculator-form label {
	font-size: 12px;
	color: var(--lh-color-text-light);
	display: block;
	margin-bottom: 4px;
}

.woocommerce-shipping-calculator .shipping-calculator-form input,
.woocommerce-shipping-calculator .shipping-calculator-form select {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	font-size: 13px;
}

.woocommerce-shipping-calculator .shipping-calculator-form .button {
	background: var(--lh-color-primary);
	color: var(--lh-color-white);
	border: none;
	padding: 8px 16px;
	border-radius: var(--lh-radius);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 8px;
}

.woocommerce-shipping-destination {
	font-size: 12px;
	color: var(--lh-color-text-light);
	margin-top: 6px;
}

.woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-shipping-methods li {
	font-size: 13px;
	padding: 4px 0;
}

/* ==========================================================================
   35. WooCommerce notices — styled properly
   ========================================================================== */

/* Position notices above the cart wrap with proper spacing */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
	max-width: var(--lh-max-width);
	margin: 0 auto;
	padding: 16px 20px 0;
}

.woocommerce-message {
	background: #f0fdf4 !important;
	color: #166534 !important;
	border-left: 4px solid #22c55e;
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 0 !important;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 500;
}

.woocommerce-message::before {
	content: "\f058";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 16px;
	color: #22c55e;
	flex-shrink: 0;
}

.woocommerce-message .button {
	margin-left: auto;
	background: none !important;
	border: 1px solid #22c55e !important;
	color: #166534 !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}

.woocommerce-message .button:hover {
	background: #22c55e !important;
	color: var(--lh-color-white) !important;
}

.woocommerce-error {
	background: #fef2f2 !important;
	color: #991b1b !important;
	border-left: 4px solid var(--lh-color-danger);
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 0 !important;
	list-style: none !important;
	font-size: 14px;
}

.woocommerce-info {
	background: #eff6ff !important;
	color: #1e40af !important;
	border-left: 4px solid #3b82f6;
	border-radius: var(--lh-radius);
	padding: 12px 16px !important;
	margin-bottom: 0 !important;
	font-size: 14px;
}

/* Shipping calculator styling */
.woocommerce-shipping-calculator .shipping-calculator-button {
	font-size: 12px;
	color: var(--lh-color-primary-light);
	text-decoration: underline;
}

.woocommerce-shipping-calculator .shipping-calculator-form {
	margin-top: 12px;
}

.woocommerce-shipping-calculator .shipping-calculator-form .form-row {
	margin-bottom: 8px;
}

.woocommerce-shipping-calculator .shipping-calculator-form label {
	font-size: 12px;
	color: var(--lh-color-text-light);
	display: block;
	margin-bottom: 4px;
}

.woocommerce-shipping-calculator .shipping-calculator-form input,
.woocommerce-shipping-calculator .shipping-calculator-form select {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid var(--lh-color-border);
	border-radius: var(--lh-radius);
	font-size: 13px;
}

.woocommerce-shipping-calculator .shipping-calculator-form .button {
	background: var(--lh-color-primary);
	color: var(--lh-color-white);
	border: none;
	padding: 8px 16px;
	border-radius: var(--lh-radius);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 8px;
}

/* Shipping destination text */
.woocommerce-shipping-destination {
	font-size: 12px;
	color: var(--lh-color-text-light);
	margin-top: 6px;
}

/* Shipping methods list */
.woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-shipping-methods li {
	font-size: 13px;
	padding: 4px 0;
}