/* ==========================================================================
   CITSolar Theme – WooCommerce Styles (Complete Rewrite)
   Design System: Plus Jakarta Sans / JetBrains Mono
   Uses CSS variables defined in front-page.css
   ========================================================================== */

/* ==========================================================================
   0. GENERAL RESETS & BASE
   ========================================================================== */
.woocommerce,
.woocommerce-page {
	font-family: var(--font-body);
	color: var(--text);
}
.woocommerce .site-main a,
.woocommerce .shop-layout a,
.woocommerce .entry-content a {
	color: var(--blue);
	text-decoration: none;
	transition: color .25s ease;
}
.woocommerce .site-main a:hover,
.woocommerce .shop-layout a:hover,
.woocommerce .entry-content a:hover {
	color: var(--blue-dark);
}
.woocommerce img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   1. PAGE BANNERS (all WooCommerce pages)
   ========================================================================== */
.wc-page-banner {
	width: 100%;
	background: linear-gradient(135deg, #0F1629 0%, #1a2654 50%, #0F1629 100%);
	padding: clamp(2rem,5vw,3.5rem) 0;
	text-align: center;
	margin-bottom: 2.5rem;
	position: relative;
	overflow: hidden;
}
.wc-page-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(54,87,228,0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(54,87,228,0.04) 1px, transparent 1px);
	background-size: 64px 64px;
	pointer-events: none;
}
.wc-page-banner::after {
	content: '';
	position: absolute;
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(54,87,228,.20), transparent 65%);
	top: -120px; right: -80px;
	border-radius: 50%;
	pointer-events: none;
}
/* Yellow orb decoration */
.wc-page-banner .woocommerce-breadcrumb::after {
	content: '';
	position: absolute;
	width: 300px; height: 300px;
	background: radial-gradient(circle, rgba(255,196,16,.08), transparent 55%);
	bottom: -150px; left: -80px;
	border-radius: 50%;
	pointer-events: none;
}
.wc-page-banner .woocommerce-breadcrumb {
	padding: 0;
	margin: 0 0 .75rem;
	font-family: var(--font-mono);
	font-size: .75rem;
	color: rgba(255,255,255,.5);
	letter-spacing: .05em;
	position: relative;
}
.wc-page-banner .woocommerce-breadcrumb a {
	color: rgba(255,255,255,.65);
}
.wc-page-banner .woocommerce-breadcrumb a:hover {
	color: #fff;
}
.wc-page-banner-title {
	font-family: var(--font-body);
	font-size: clamp(1.6rem,4vw,2.4rem);
	font-weight: 800;
	color: #fff;
	margin: 0 0 .5rem;
	line-height: 1.15;
	letter-spacing: -.03em;
	position: relative;
	z-index: 1;
}
.wc-page-banner-sub {
	font-size: .95rem;
	color: rgba(255,255,255,.6);
	margin: 0;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   2. BREADCRUMBS (standalone)
   ========================================================================== */
.woocommerce-breadcrumb {
	padding: 16px 0;
	font-size: .813rem;
	color: var(--text-muted);
}
.woocommerce-breadcrumb a {
	color: var(--text-secondary);
}
.woocommerce-breadcrumb a:hover {
	color: var(--blue);
}
.breadcrumb-sep {
	margin: 0 6px;
	opacity: .4;
}

/* ==========================================================================
   3. NOTICES (success, error, info)
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 14px 20px;
	border-radius: 10px;
	margin-bottom: 20px;
	font-size: .938rem;
	list-style: none;
	font-family: var(--font-body);
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	font-size: 1.125rem;
	flex-shrink: 0;
}
.woocommerce-message {
	background: var(--green-light);
	color: #065f46;
	border-left: 4px solid var(--green);
}
.woocommerce-message::before {
	content: "\2713";
	color: var(--green);
}
.woocommerce-info {
	background: var(--blue-light);
	color: var(--blue-dark);
	border-left: 4px solid var(--blue);
}
.woocommerce-info::before {
	content: "\2139";
	color: var(--blue);
}
.woocommerce-error {
	background: #fef2f2;
	color: #991b1b;
	border-left: 4px solid #dc2626;
	padding: 0;
	display: block;
}
.woocommerce-error li {
	padding: 14px 20px;
}
.woocommerce-error li::before {
	content: "\26A0";
	margin-right: 8px;
	color: #dc2626;
}
.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	padding: 4px 14px;
	font-size: .813rem;
	background: transparent;
	border: 1.5px solid currentColor;
	border-radius: 10px;
	color: inherit;
	font-family: var(--font-body);
	font-weight: 600;
	cursor: pointer;
	margin-left: auto;
	transition: background .25s ease;
}
.woocommerce-message .button:hover {
	background: rgba(34,166,82,.1);
}
.woocommerce-info .button:hover {
	background: var(--blue-light);
}

/* ==========================================================================
   4. SHOP / PRODUCT ARCHIVE
   ========================================================================== */

/* --- Layout --- */
.shop-layout {
	padding: 0 0 60px;
	min-width: 0;
}
.shop-layout > main,
.shop-layout .site-main {
	min-width: 0;
	max-width: 100%;
}
.shop-layout.with-shop-sidebar {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 28px;
}
.shop-layout.with-shop-sidebar > .shop-sidebar {
	order: -1;
}

/* --- Shop Sidebar --- */
.shop-sidebar {
	padding-top: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	max-width: 100%;
}
/* Sidebar links: allow the name to wrap to 2 lines when it's long;
   the count pill stays on the right, vertically aligned to the top */
.shop-sidebar .sidebar-links li,
.shop-sidebar ul.product-categories li {
	min-width: 0;
}
.shop-sidebar .sidebar-link-name {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
	word-break: break-word;
	overflow-wrap: anywhere;
}
.shop-sidebar ul.product-categories li a,
.shop-sidebar .sidebar-links li a {
	align-items: flex-start;
	gap: 8px;
}
.shop-sidebar .sidebar-count {
	flex: 0 0 auto;
	margin-top: 2px;
}
.shop-sidebar .widget,
.shop-sidebar .sidebar-card {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 0;
}
.shop-sidebar .widget-title,
.shop-sidebar h3,
.shop-sidebar .sidebar-card__title {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .15em;
	color: var(--blue);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--blue-light);
}
.shop-sidebar ul,
.shop-sidebar .sidebar-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shop-sidebar ul.product-categories li,
.shop-sidebar .sidebar-links li {
	border-bottom: none;
}
.shop-sidebar ul.product-categories li a,
.shop-sidebar .sidebar-links li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 10px;
	font-size: .84rem;
	color: var(--text-secondary);
	border-radius: 8px;
	transition: all .15s;
	font-weight: 500;
}
.shop-sidebar ul.product-categories li a:hover,
.shop-sidebar ul.product-categories li.current > a,
.shop-sidebar ul.product-categories li.current-cat > a,
.shop-sidebar .sidebar-links li a:hover,
.shop-sidebar .sidebar-links li.active a {
	background: var(--blue-light);
	color: var(--blue);
	font-weight: 600;
}
.shop-sidebar ul.product-categories .count,
.shop-sidebar .sidebar-count {
	font-family: var(--font-mono);
	font-size: .68rem;
	color: var(--text-muted);
	background: var(--bg);
	padding: 2px 8px;
	border-radius: 50px;
	font-weight: 600;
	min-width: 28px;
	text-align: center;
}
.shop-sidebar .price-filter-links,
.shop-sidebar .sidebar-prices {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.shop-sidebar .price-link,
.shop-sidebar .sidebar-price-link {
	display: block;
	padding: 8px 10px;
	font-size: .84rem;
	color: var(--text-secondary);
	border-radius: 8px;
	transition: all .15s;
	font-weight: 500;
}
.shop-sidebar .price-link:hover,
.shop-sidebar .sidebar-price-link:hover {
	background: var(--blue-light);
	color: var(--blue);
}

/* When sidebar present, products grid becomes 3 cols */
.shop-layout.with-shop-sidebar ul.products,
.shop-layout.with-shop-sidebar .woocommerce ul.products,
.shop-layout.with-shop-sidebar .woocommerce ul.products[class*="columns-"] {
	grid-template-columns: repeat(3, 1fr) !important;
}

/* --- Archive Header (hidden when banner is shown) --- */
.woocommerce-products-header {
	margin-bottom: 24px;
}
.woocommerce-products-header__title,
.woocommerce-products-header .page-title {
	font-size: 1.875rem;
	font-weight: 800;
	color: var(--dark);
	letter-spacing: -.03em;
}
.term-description {
	color: var(--text-secondary);
	margin-top: 8px;
	font-size: .938rem;
	line-height: 1.6;
}

/* --- Toolbar (result count + ordering) --- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	float: none !important;
	display: inline-block;
	vertical-align: middle;
}
.woocommerce .woocommerce-result-count {
	font-size: .875rem;
	color: var(--text-muted);
	margin: 0;
}
.woocommerce .woocommerce-ordering {
	margin: 0;
}
/*
 * WooCommerce outputs result-count and ordering as siblings BEFORE ul.products.
 * We use the .site-main wrapper to make them a flex row above the grid,
 * aligned to the right.
 */
.site-main > .woocommerce,
.site-main .woocommerce-notices-wrapper + .woocommerce-result-count,
.site-main .woocommerce-notices-wrapper ~ .woocommerce-ordering {
	/* handled below */
}
.site-main > .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .75rem;
}
.site-main > .woocommerce > .woocommerce-result-count {
	margin-right: 0;
}
.site-main > .woocommerce > ul.products,
.site-main > .woocommerce > nav.woocommerce-pagination,
.site-main > .woocommerce > .woocommerce-notices-wrapper,
.site-main > .woocommerce > .woocommerce-products-header {
	width: 100%;
	flex-basis: 100%;
}
.woocommerce-ordering select {
	padding: 8px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 8px;
	font-size: .875rem;
	font-family: var(--font-body);
	background: var(--white);
	color: var(--text);
	cursor: pointer;
	transition: border-color .25s ease;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235A6178' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}
.woocommerce-ordering select:focus {
	border-color: var(--blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}

/* --- Product Grid --- */
.woocommerce ul.products[class*="columns-"],
.woocommerce ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 28px !important;
	margin: 1.5rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	clear: both;
	max-width: 100%;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

/* --- Product Cards --- */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
ul.products li.product {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	overflow: hidden;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	list-style: none;
	position: relative;
	display: flex;
	flex-direction: column;
}
ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 32px rgba(0,0,0,0.06);
	border-color: var(--card-hover);
}

/* Product Thumbnail */
ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
}
ul.products li.product a img,
ul.products li.product > a > img {
	margin: 0;
	padding: 24px;
	aspect-ratio: 4/3;
	object-fit: contain;
	background: var(--white);
	width: 100%;
	display: block;
	border-bottom: 1px solid var(--card-border);
}

/* Sale Badge */
ul.products li.product .onsale,
.woocommerce span.onsale {
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	font-family: var(--font-mono);
	font-size: .688rem;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 100px;
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	min-width: auto;
	min-height: auto;
	line-height: 1.5;
}

/* Category Label */
.product-loop-category {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 9px;
	color: var(--blue);
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: 4px 8px;
	margin: 14px 16px 0;
	background: var(--blue-light);
	border-radius: 5px;
	font-weight: 700;
}

/* Product Title */
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-body);
	font-size: .875rem;
	font-weight: 700;
	color: var(--dark);
	padding: 8px 16px 4px;
	margin: 0;
	line-height: 1.4;
	letter-spacing: -.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1;
}

/* Product Price */
ul.products li.product .price {
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--dark, #0F1629);
	padding: 8px 16px 0;
	margin: 0;
	letter-spacing: -.03em;
	border-top: 1px solid var(--card-border);
}
ul.products li.product .price small {
	font-weight: 400;
	font-size: .75rem;
}
ul.products li.product .price del {
	color: var(--text-muted);
	font-size: .875rem;
	font-weight: 400;
}
ul.products li.product .price ins {
	text-decoration: none;
	color: var(--blue);
	font-weight: 800;
}

/* Star Rating (loop) */
.star-rating {
	display: inline-flex;
	overflow: hidden;
	position: relative;
	height: 1em;
	width: 5.4em;
	font-family: star;
	font-size: .875rem;
	line-height: 1;
	color: var(--yellow);
	margin: 4px 16px;
}
.star-rating::before {
	content: 'sssss';
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	color: var(--card-border);
}
.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}
.star-rating span::before {
	content: 'SSSSS';
	top: 0;
	position: absolute;
	left: 0;
	color: var(--yellow);
}

/* Add to Cart Button (loop) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product .product_type_grouped,
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product .product_type_variable,
ul.products li.product .product_type_grouped {
	display: block !important;
	width: calc(100% - 32px) !important;
	margin: auto 16px 16px !important;
	padding: 11px !important;
	background: var(--dark) !important;
	color: #fff !important;
	border-radius: 10px !important;
	font-family: var(--font-mono);
	font-size: .7rem !important;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .08em;
	border: none !important;
	cursor: pointer;
	transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover {
	background: linear-gradient(135deg, var(--blue), #4A6CF7) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(54,87,228,0.25);
}
ul.products li.product .added_to_cart {
	display: block;
	text-align: center;
	font-size: .813rem;
	padding: 0 16px 16px;
	color: var(--blue);
	font-weight: 600;
}

/* ==========================================================================
   5. SINGLE PRODUCT
   ========================================================================== */

/* --- Pulse animation for stock dot --- */
@keyframes stockPulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .5; transform: scale(.85); }
}

/* --- Fade-in animation for tab content --- */
@keyframes tabFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* --- Two-Column Layout (using WooCommerce native floats) --- */
.woocommerce div.product {
	margin-bottom: 3rem;
	overflow: hidden; /* contain floats */
}

/* --- Gallery Column --- */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
	float: left !important;
	width: 50% !important;
	padding-right: 2rem;
	position: sticky;
	top: 120px;
}

/* Main gallery image */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a > img {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 18px;
	box-shadow: 0 8px 40px rgba(15,22,41,0.08), 0 0 0 4px rgba(54,87,228,0.06);
	aspect-ratio: 1;
	object-fit: contain;
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Badges container (sale + free shipping) */
.woocommerce div.product div.images .product-badges,
.woocommerce div.product .woocommerce-product-gallery .product-badges {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	z-index: 5;
}

/* Sale badge */
.woocommerce div.product span.onsale,
.woocommerce div.product div.images .onsale {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 5;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	font-family: var(--font-body);
	font-size: .75rem;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 50px;
	line-height: 1;
	margin: 0;
	min-width: 0;
	min-height: 0;
}

/* Free shipping badge */
.woocommerce div.product .badge-free-shipping {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--green-light);
	color: var(--green);
	font-family: var(--font-body);
	font-size: .72rem;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 50px;
	line-height: 1;
}

/* Zoom button */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 5;
	width: 40px;
	height: 40px;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
	content: "\1F50D";
	font-size: 1rem;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img {
	display: none !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}

/* Thumbnails */
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: .5rem;
	margin-top: .75rem;
	list-style: none;
	padding: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 10px;
	aspect-ratio: 1;
	overflow: hidden;
	cursor: pointer;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}
.woocommerce div.product div.images .flex-control-thumbs li:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(54, 87, 228, .12);
}
/* When the active class is on the img, style the parent li */
.woocommerce div.product div.images .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(54, 87, 228, .12);
}

/* --- Product Info / Summary Column --- */
.woocommerce div.product div.summary {
	float: right !important;
	width: 50% !important;
	padding-left: 2rem;
	padding-top: 0;
}

/* Brand pill */
.pi-brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--blue-light);
	color: var(--blue);
	font-family: var(--font-body);
	font-size: .75rem;
	font-weight: 600;
	padding: 6px 16px;
	border-radius: 100px;
	margin-bottom: 1rem;
	line-height: 1;
}

/* Product Title */
.woocommerce div.product .product_title,
.summary .product_title {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 800;
	color: var(--dark);
	line-height: 1.15;
	letter-spacing: -.03em;
	margin-bottom: .75rem;
}

/* SKU / Categoría / Brand meta row */
.woocommerce div.product .product_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	font-family: var(--font-mono);
	font-size: .72rem;
	color: var(--text-muted);
	padding: 0;
	border: none;
	margin-bottom: 1.25rem;
	line-height: 1.4;
}
.woocommerce div.product .product_meta > span {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 0;
	min-width: 0;
}
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as {
	font-size: .72rem;
	color: var(--text-muted);
}
.woocommerce div.product .product_meta .divider {
	width: 1px;
	height: 14px;
	background: var(--card-border);
}

/* Mobile: stack the meta vertically so long category names look clean */
@media (max-width: 640px) {
	.woocommerce div.product .product_meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.woocommerce div.product .product_meta > span {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}
	.woocommerce div.product .product_meta .divider {
		display: none;
	}
	.woocommerce div.product .product_meta a {
		display: inline;
		word-break: break-word;
	}
}
.woocommerce div.product .product_meta a {
	color: var(--blue);
}
.woocommerce div.product .product_meta a:hover {
	color: var(--blue-dark);
}
.woocommerce div.product .product_meta .star-rating {
	font-size: .72rem;
}

/* Short description */
.summary .woocommerce-product-details__short-description,
.woocommerce-product-details__short-description {
	color: var(--text-secondary);
	margin-bottom: 1.25rem;
	line-height: 1.7;
	font-size: .938rem;
}
.woocommerce-product-details__short-description p {
	margin-bottom: 8px;
}

/* --- Price Block --- */
.price-block,
.woocommerce div.product .price-block {
	background: var(--blue-light);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 1.5rem;
	position: relative;
	overflow: hidden;
	margin-bottom: 1.25rem;
}
.price-block::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--blue), #4A6CF7);
	border-radius: 4px 0 0 4px;
}

/* Price block head (label + currency) */
.price-block__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.price-block__label {
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--text-muted);
}
.price-block__currency {
	color: var(--blue);
	font-weight: 700;
}
/* Price block note (below price) */
.price-block__note {
	font-size: 12px;
	color: var(--text-muted);
	margin-top: 6px;
}

/* Main price */
.price-main,
.woocommerce div.product .price-main {
	font-family: var(--font-mono);
	font-size: 2rem;
	font-weight: 800;
	color: var(--dark);
	line-height: 1;
}

/* Currency label */
.price-currency {
	font-family: var(--font-mono);
	font-size: .9rem;
	color: var(--text-secondary);
	font-weight: 600;
}

/* Price note */
.price-note {
	font-size: .78rem;
	color: var(--text-muted);
	margin-top: .5rem;
	line-height: 1.4;
}

/* WooCommerce default price (fallback) */
.woocommerce div.product p.price,
.summary .price {
	font-family: var(--font-mono);
	font-size: 2rem;
	font-weight: 800;
	color: var(--dark);
	margin-bottom: 1rem;
	line-height: 1;
}
.summary .price small {
	font-weight: 400;
	font-size: .875rem;
}
.woocommerce div.product p.price del,
.summary .price del {
	color: var(--text-muted);
	font-size: 1.125rem;
	font-weight: 500;
}
.woocommerce div.product p.price ins,
.summary .price ins {
	text-decoration: none;
	color: var(--blue);
}

/* --- Stock Row --- */
.stock-row,
.woocommerce div.product .stock-row {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: 1.25rem;
}
.stock-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green);
	animation: stockPulse 2s ease-in-out infinite;
	flex-shrink: 0;
}
.stock-text {
	font-size: .813rem;
	font-weight: 600;
	color: var(--green);
}

/* WooCommerce default stock status */
.woocommerce div.product .stock,
.woocommerce div.product p.stock {
	font-size: .813rem;
	font-weight: 600;
	color: var(--green);
	margin-bottom: 1rem;
}
.woocommerce div.product .stock.out-of-stock {
	color: #dc3545;
}

/* --- Cart Row (Qty + Add to Cart) --- */
.woocommerce div.product form.cart,
.summary form.cart {
	display: flex;
	align-items: stretch;
	gap: .75rem;
	margin-bottom: 1rem;
}

/* Quantity selector */
.woocommerce div.product form.cart .quantity,
.summary .quantity,
.woocommerce .quantity {
	display: flex;
	align-items: center;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--white);
	transition: border-color .25s ease;
	flex-shrink: 0;
}
.woocommerce div.product form.cart .quantity:focus-within,
.summary .quantity:focus-within,
.woocommerce .quantity:focus-within {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}
/* Qty +/- buttons */
.woocommerce div.product form.cart .quantity .qty-btn,
.summary .quantity .qty-btn {
	width: 44px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	font-size: 1.1rem;
	color: var(--text-secondary);
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
	user-select: none;
}
.woocommerce div.product form.cart .quantity .qty-btn:hover {
	background: var(--bg);
	color: var(--dark);
}
/* Qty input */
.woocommerce div.product form.cart .quantity input.qty,
.summary .quantity .qty,
.woocommerce .quantity .qty {
	width: 48px;
	text-align: center;
	border: none;
	padding: 10px 0;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 600;
	color: var(--text);
	background: transparent;
	-moz-appearance: textfield;
}
.summary .quantity .qty::-webkit-outer-spin-button,
.summary .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
}
.summary .quantity .qty:focus,
.woocommerce .quantity .qty:focus {
	outline: none;
}

/* Add to Cart Button */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.summary .single_add_to_cart_button {
	flex: 1;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 700;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(54, 87, 228, .25);
	transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.summary .single_add_to_cart_button:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(54, 87, 228, .35);
}

/* --- WhatsApp Button --- */
.btn-wa {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 100%;
	padding: 14px 24px;
	background: #25D366;
	color: #fff;
	font-family: var(--font-body);
	font-size: .92rem;
	font-weight: 700;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	margin-bottom: 1.5rem;
	transition: background .2s ease, transform .2s ease;
	text-decoration: none;
}
.btn-wa:hover {
	background: #1ebd5a;
	transform: translateY(-1px);
	color: #fff !important;
}
.btn-wa svg {
	flex-shrink: 0;
}
.btn-wa,
.btn-wa:link,
.btn-wa:visited,
.btn-wa:active {
	color: #fff !important;
}

/* --- Trust Grid --- */
.trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
	margin-bottom: 1.5rem;
}
.trust-item {
	display: flex;
	align-items: center;
	gap: .75rem;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 10px;
	padding: .75rem;
}
.trust-icon {
	width: 34px;
	height: 34px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1rem;
}
.trust-icon.t-blue {
	background: var(--blue-light);
	color: var(--blue);
}
.trust-icon.t-yellow {
	background: var(--yellow-light);
	color: var(--yellow-dark);
}
.trust-icon.t-green {
	background: var(--green-light);
	color: var(--green);
}
.trust-label {
	font-size: .78rem;
	font-weight: 600;
	color: var(--dark);
	line-height: 1.3;
}
.trust-sub {
	font-size: .68rem;
	color: var(--text-muted);
	line-height: 1.3;
}

/* Product Brand Info */
.product-brand-info {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: .875rem;
}
.product-brand-label {
	color: var(--text-secondary);
}
.product-brand-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--dark);
}
.product-brand-link:hover {
	color: var(--blue);
}
.product-brand-logo {
	max-height: 24px;
	width: auto;
}

/* --- Product Tabs --- */
.woocommerce div.product .woocommerce-tabs,
.woocommerce-tabs {
	margin-top: 3rem;
	clear: both;
	width: 100%;
	background: var(--white);
	border-top: 1px solid var(--card-border);
}
.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--card-border);
	margin-bottom: 1.5rem;
	list-style: none;
	padding: 0;
	border-top: none;
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
	display: none;
}
.woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 24px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: .938rem;
	color: var(--text-muted);
	border-bottom: 2.5px solid transparent;
	margin-bottom: -1px;
	background: none;
	transition: color .25s ease, border-color .25s ease;
}
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--dark);
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--blue);
	border-bottom-color: var(--blue);
}
.woocommerce-tabs .panel {
	animation: tabFadeIn .4s ease both;
}
.woocommerce-tabs .panel h2 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 16px;
	color: var(--dark);
}
.woocommerce-tabs .panel p {
	color: var(--text-secondary);
	line-height: 1.7;
}

/* Specs / Attributes Table */
.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--card-border);
	font-size: .875rem;
	text-align: left;
}
.woocommerce-product-attributes th {
	font-weight: 600;
	color: var(--dark);
	width: 30%;
	background: var(--bg);
}
.woocommerce-product-attributes tr:nth-child(even) th {
	background: var(--blue-light);
}
.woocommerce-product-attributes td {
	color: var(--text-secondary);
}

/* Reviews */
.woocommerce-Reviews #comments {
	margin-bottom: 2rem;
}
.woocommerce-Reviews .commentlist {
	list-style: none;
	padding: 0;
}
.woocommerce-Reviews .commentlist li {
	padding: 20px 0;
	border-bottom: 1px solid var(--card-border);
}
.woocommerce-Reviews .commentlist .comment-text {
	margin-left: 0;
}
.woocommerce-Reviews .commentlist .meta {
	font-size: .813rem;
	color: var(--text-muted);
	margin-bottom: 8px;
}
.woocommerce-Reviews .commentlist .description p {
	color: var(--text-secondary);
	line-height: 1.7;
}
#review_form .comment-form label {
	display: block;
	font-size: .875rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--dark);
}
#review_form .comment-form input[type="text"],
#review_form .comment-form input[type="email"],
#review_form .comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: .938rem;
	color: var(--text);
	background: var(--white);
	transition: border-color .25s ease;
}
#review_form .comment-form input:focus,
#review_form .comment-form textarea:focus {
	border-color: var(--blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}
#review_form .comment-form .submit {
	padding: 10px 24px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-family: var(--font-body);
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(54,87,228,0.2);
	transition: background .3s ease, transform .3s ease;
}
#review_form .comment-form .submit:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
	transform: translateY(-1px);
}

/* --- Related / Upsells / Cross-sells --- */
.related.products,
.up-sells,
.cross-sells {
	clear: both;
	width: 100%;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--card-border);
}
.related.products > h2,
.up-sells > h2,
.cross-sells > h2 {
	font-size: 1.5rem;
	font-weight: 800;
	margin-bottom: 1.5rem;
	color: var(--dark);
	letter-spacing: -.03em;
}
.related.products ul.products,
.up-sells ul.products,
.cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 1rem;
}

/* ==========================================================================
   6. CART PAGE
   Selectors target the real WooCommerce HTML output which may lack
   standard classes (.shop_table, .product-thumbnail, etc).
   We use body.woocommerce-cart as the scope.
   ========================================================================== */

/* ── Cart page ──────────────────────────────────────────── */
.woocommerce-cart {
	background: var(--bg);
}
/* Hide page title on cart */
.woocommerce-cart .entry-header { display: none; }

/* Grid: JS-created or CSS fallback */
.cart-grid {
	display: grid !important;
	grid-template-columns: 1fr 420px !important;
	gap: 40px;
	align-items: start;
}
.cart-grid-right {
	position: sticky;
	top: 80px;
}

/* Cart layout handled by .cart-grid from cart.php template */
/* Hide cross-sells on cart page */
.woocommerce-cart .cross-sells { display: none; }

@media (max-width: 1024px) {
	.cart-grid {
		grid-template-columns: 1fr !important;
	}
	.cart-grid-right {
		position: static;
	}
}
/* ── Cart Table ── */
.woocommerce-cart table:not(.cart_totals table),
.shop_table,
.woocommerce-cart-form table,
.woocommerce-cart .woocommerce table:first-of-type {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 .75rem !important;
}
.woocommerce-cart table th,
.woocommerce-cart table td,
.shop_table th,
.shop_table td {
    border: none !important;
}
.woocommerce-cart table thead th,
.shop_table thead th {
    padding: 0 1rem .75rem !important;
    font-family: var(--font-mono) !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    background: transparent !important;
    text-align: left !important;
    border-bottom: 1px solid var(--card-border) !important;
}
/* Cart rows as cards */
.woocommerce-cart table tbody tr,
.shop_table tbody tr.cart_item {
    background: var(--white) !important;
    border: 1px solid var(--card-border) !important;
    transition: all .3s ease;
}
.woocommerce-cart table tbody tr:hover,
.shop_table tbody tr.cart_item:hover {
    border-color: rgba(54,87,228,.15) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}
.woocommerce-cart table tbody tr td:first-child {
    border-radius: 14px 0 0 14px !important;
}
.woocommerce-cart table tbody tr td:last-child {
    border-radius: 0 14px 14px 0 !important;
}
.woocommerce-cart table tbody td {
    padding: 1.25rem 1rem !important;
    vertical-align: middle !important;
}

/* Remove column (1st td) */
.woocommerce-cart table tbody td:first-child { width: 40px !important; text-align: center; }
.woocommerce-cart table tbody td:first-child a {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 8px;
    color: var(--text-muted) !important; font-size: 1.3rem;
    text-decoration: none !important; transition: all .2s;
}
.woocommerce-cart table tbody td:first-child a:hover {
    background: #fef2f2; color: #dc2626 !important;
}

/* Thumbnail (2nd td) */
.woocommerce-cart table tbody td:nth-child(2) { width: 100px !important; }
.woocommerce-cart table tbody td:nth-child(2) a { display: block; }
.woocommerce-cart table tbody td:nth-child(2) img {
    width: 80px !important; height: 80px !important; max-width: 80px !important;
    object-fit: contain !important; border-radius: 10px !important;
    background: var(--white) !important; border: 1px solid var(--card-border) !important;
    padding: 4px !important;
}

/* Product name (3rd td) */
.woocommerce-cart table tbody td:nth-child(3) a,
.woocommerce-cart table tbody td[data-title="Producto"] a {
    font-weight: 700 !important; font-size: .88rem !important;
    color: var(--dark) !important; text-decoration: none !important;
}
.woocommerce-cart table tbody td:nth-child(3) a:hover { color: var(--blue) !important; }

/* Price (4th td) */
.woocommerce-cart table tbody td:nth-child(4),
.woocommerce-cart table tbody td[data-title="Precio"] {
    font-family: var(--font-mono) !important; font-size: .95rem !important; font-weight: 600 !important;
}

/* Quantity (5th td) */
.woocommerce-cart table tbody td:nth-child(5) label,
.woocommerce-cart table tbody td[data-title="Cantidad"] label { display: none !important; }
.woocommerce-cart table tbody td:nth-child(5) br,
.woocommerce-cart table tbody td[data-title="Cantidad"] br { display: none !important; }
.woocommerce-cart table tbody td .qty,
.woocommerce-cart table tbody td input.qty {
    width: 60px !important; text-align: center !important; padding: 8px !important;
    border: 1.5px solid var(--card-border) !important; border-radius: 8px !important;
    font-family: var(--font-mono) !important; font-size: .88rem !important; font-weight: 600 !important;
    -moz-appearance: textfield !important;
}
.woocommerce-cart table tbody td .qty::-webkit-inner-spin-button,
.woocommerce-cart table tbody td .qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important; margin: 0 !important;
}

/* Subtotal (6th td) */
.woocommerce-cart table tbody td:nth-child(6),
.woocommerce-cart table tbody td:last-child,
.woocommerce-cart table tbody td[data-title="Subtotal"] {
    font-family: var(--font-mono) !important; font-size: 1rem !important;
    font-weight: 700 !important; color: var(--dark) !important; text-align: right !important;
}

/* Actions row (coupon + update button) */
.woocommerce-cart table tbody td[colspan] {
    background: var(--bg) !important;
    border-radius: 14px !important;
    padding: 1rem !important;
}
.woocommerce-cart .coupon,
.shop_table .coupon { display: inline-flex !important; gap: .4rem; }
.woocommerce-cart .coupon input {
    padding: 8px 12px !important; border: 1.5px solid var(--card-border) !important;
    border-radius: 8px !important; font-family: var(--font-mono) !important; font-size: .82rem !important;
}
.woocommerce-cart .coupon input:focus { border-color: var(--blue) !important; outline: none !important; }
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button {
    padding: 8px 16px !important; border: 1.5px solid var(--card-border) !important;
    border-radius: 8px !important; background: var(--white) !important;
    color: var(--text) !important; font-size: .82rem !important; font-weight: 600 !important; cursor: pointer;
}
.woocommerce-cart .coupon .button:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
.woocommerce-cart td[colspan] > button,
.woocommerce-cart td.actions > .button {
    float: right !important; padding: 8px 20px !important;
    border: 1.5px solid var(--card-border) !important; border-radius: 8px !important;
    background: transparent !important; color: var(--text) !important;
    font-size: .82rem !important; font-weight: 600 !important; cursor: pointer;
}
.woocommerce-cart td[colspan] > button:hover,
.woocommerce-cart td.actions > .button:hover {
    border-color: var(--blue) !important; color: var(--blue) !important;
}

/* ── Right Column: Cart Totals ── */
.cart-grid-right .cart_totals,
.woocommerce-cart .cart_totals,
.cart_totals {
    background: var(--white) !important;
    border-radius: 14px !important;
    border: 1px solid var(--card-border) !important;
    padding: 1.5rem !important;
}
.cart_totals > h2,
.woocommerce-cart .cart_totals h2 {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: var(--dark) !important;
    margin: 0 0 1rem !important;
}
.cart_totals > table,
.woocommerce-cart .cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.cart_totals table th,
.cart_totals table td,
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--card-border) !important;
    background: transparent !important;
}
.cart_totals table th,
.woocommerce-cart .cart_totals th {
    text-align: left !important;
    font-weight: 500 !important;
    font-size: .88rem !important;
    color: var(--text-secondary) !important;
}
.cart_totals table td,
.woocommerce-cart .cart_totals td {
    text-align: right !important;
    font-family: var(--font-mono) !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
}
/* Shipping - green label, hide address/calculator */
.cart_totals .shipping td,
.woocommerce-cart .cart_totals .shipping td {
    color: var(--green) !important;
    font-weight: 700 !important;
}
.cart_totals .shipping td p,
.cart_totals .shipping td form,
.cart_totals .shipping td section,
.cart_totals .shipping td a[role="button"],
.cart_totals .shipping td .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping td p,
.woocommerce-cart .cart_totals .shipping td form,
.woocommerce-cart .cart_totals .shipping td section,
.woocommerce-cart .cart_totals .shipping td a[role="button"] {
    display: none !important;
}
/* Total row */
.cart_totals tr.order-total th,
.cart_totals tr.order-total td,
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--dark) !important;
    border-bottom: none !important;
    padding-top: 16px !important;
    border-top: 1.5px solid var(--card-border) !important;
}
/* Checkout button */
.cart_totals .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 1.25rem !important;
}
.cart_totals .wc-proceed-to-checkout a,
.cart_totals .wc-proceed-to-checkout .button,
.cart_totals .checkout-button,
.wc-proceed-to-checkout a,
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 16px !important;
    background: linear-gradient(135deg, var(--blue), #4A6CF7) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: var(--font-body) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 16px rgba(54,87,228,.25) !important;
    transition: all .25s !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.cart_totals .wc-proceed-to-checkout a:hover,
.wc-proceed-to-checkout a:hover,
.woocommerce-cart .wc-proceed-to-checkout a:hover {
    background: linear-gradient(135deg, var(--blue-dark), var(--blue)) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(54,87,228,.30) !important;
}

/* Security note */
.cart-security-note {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .75rem 0 0; font-size: .72rem;
  color: var(--text-muted); font-weight: 500;
}

/* ── Cart item enhanced details ── */
.ci-cat {
	display: block;
	font-family: var(--font-mono);
	font-size: .62rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--text-muted);
	margin-bottom: 4px;
}
.ci-name {
	display: block;
	font-weight: 700;
	font-size: .88rem;
	line-height: 1.35;
	color: var(--dark);
	margin-bottom: 2px;
}
.ci-name a {
	color: var(--dark) !important;
	text-decoration: none !important;
}
.ci-name a:hover { color: var(--blue) !important; }
.ci-sku {
	display: block;
	font-family: var(--font-mono);
	font-size: .65rem;
	color: var(--text-muted);
	margin-top: 3px;
}
.ci-stock {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 5px;
	font-size: .72rem;
	font-weight: 600;
	color: var(--green);
}
.ci-sdot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--green);
	display: inline-block;
}
.ci-price-amount {
	display: block;
	font-family: var(--font-mono);
	font-size: .95rem;
	font-weight: 600;
	color: var(--dark);
}
.ci-price-note {
	display: block;
	font-size: .68rem;
	color: var(--text-muted);
	font-weight: 400;
	margin-top: 2px;
}

/* ── Responsive (scoped to CART page only) ── */
@media (max-width: 768px) {
  body.woocommerce-cart .shop_table thead { display: none; }
  body.woocommerce-cart .shop_table tbody tr.cart_item {
    display: grid; grid-template-columns: auto 1fr;
    gap: .5rem; padding: 1rem; border-radius: 14px;
    position: relative;
  }
  body.woocommerce-cart .shop_table tbody td { padding: .25rem 0 !important; }
  body.woocommerce-cart .shop_table tbody td.product-remove {
    position: absolute; top: .75rem; right: .75rem; width: auto;
  }
  body.woocommerce-cart .shop_table tbody td.product-thumbnail { grid-row: 1 / 3; }
  body.woocommerce-cart .shop_table tbody td.product-name { grid-column: 2; }
  body.woocommerce-cart .shop_table tbody td.product-price,
  body.woocommerce-cart .shop_table tbody td.product-quantity,
  body.woocommerce-cart .shop_table tbody td.product-subtotal { grid-column: 2; }
  body.woocommerce-cart .shop_table tbody td.product-price::before,
  body.woocommerce-cart .shop_table tbody td.product-quantity::before,
  body.woocommerce-cart .shop_table tbody td.product-subtotal::before {
    content: attr(data-title) ': ';
    font-weight: 600; color: var(--text-secondary); font-size: .75rem;
    margin-right: .5rem;
  }
  body.woocommerce-cart .shop_table tbody td.actions { grid-column: 1 / -1; }
}

/* ==========================================================================
   7. CHECKOUT PAGE
   ========================================================================== */

/* Two-column layout: form left, order review right */
.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin-bottom: 32px;
}
.woocommerce-checkout h3 {
	font-size: 1.25rem;
	font-weight: 800;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--blue);
	color: var(--dark);
}

/* Form Fields */
.woocommerce-checkout .form-row {
	margin-bottom: 16px;
}
.woocommerce-checkout label {
	display: block;
	font-family: var(--font-body);
	font-size: .813rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--dark);
}
.woocommerce-checkout label .required {
	color: #dc2626;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: .938rem;
	color: var(--text);
	background: var(--white);
	transition: border-color .25s ease, box-shadow .25s ease;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}
.woocommerce-checkout .input-text::placeholder {
	color: var(--text-muted);
}

/* Select2 (WooCommerce country/state dropdowns) */
.select2-container .select2-selection--single {
	height: auto;
	padding: 10px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
}
.select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.5;
	color: var(--text);
}
.select2-container .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 10px;
}
.select2-container--open .select2-selection--single {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}
.select2-dropdown {
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.1);
	overflow: hidden;
}
.select2-results__option {
	padding: 8px 14px;
	font-size: .875rem;
	font-family: var(--font-body);
}
.select2-results__option--highlighted {
	background: var(--blue-light) !important;
	color: var(--blue) !important;
}
.select2-results__option--selected {
	background: var(--blue-light) !important;
}

/* Order Review Box */
#order_review_heading {
	margin-top: 32px;
}
#order_review {
	background: var(--white);
	border-radius: 14px;
	padding: 28px;
	border: 1px solid var(--card-border);
	position: sticky;
	top: 100px;
}
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--card-border);
	font-size: .938rem;
}
.woocommerce-checkout-review-order-table thead th {
	font-weight: 600;
	text-align: left;
	color: var(--dark);
	font-family: var(--font-mono);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.woocommerce-checkout-review-order-table .cart_item td {
	color: var(--text-secondary);
}
.woocommerce-checkout-review-order-table .cart_item .product-name {
	font-weight: 500;
	color: var(--dark);
}
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--dark);
	border-bottom: none;
}
.woocommerce-checkout-review-order-table .order-total th {
	font-size: 1rem;
	font-weight: 700;
	border-bottom: none;
}

/* Payment Methods */
#payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
	border: none;
}
#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
}
#payment .payment_method {
	padding: 14px 0;
	border-bottom: 1px solid var(--card-border);
}
#payment .payment_method:last-child {
	border-bottom: none;
}
#payment .payment_method label {
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--dark);
	font-size: .938rem;
}
#payment .payment_method input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: var(--blue);
	margin: 0;
}
#payment .payment_box {
	padding: 12px 0 0 26px;
	color: var(--text-secondary);
	font-size: .875rem;
	line-height: 1.6;
}
#payment .payment_box p {
	margin: 0;
}
#payment #place_order {
	display: block;
	width: 100%;
	padding: 16px;
	background: linear-gradient(135deg, var(--yellow), #FFD44A);
	color: var(--dark);
	font-family: var(--font-body);
	font-size: 1.125rem;
	font-weight: 700;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(255,196,16,.3);
	transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
}
#payment #place_order:hover {
	background: linear-gradient(135deg, var(--yellow-dark), var(--yellow));
	transform: translateY(-1px);
	box-shadow: 0 8px 28px rgba(255,196,16,.35);
}
.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 16px;
	font-size: .875rem;
	color: var(--text-secondary);
}
.woocommerce-terms-and-conditions-wrapper a {
	color: var(--blue);
}
.woocommerce-privacy-policy-text {
	font-size: .813rem;
	color: var(--text-muted);
	margin-bottom: 12px;
}

/* ==========================================================================
   8. THANK YOU / ORDER RECEIVED
   ========================================================================== */
/* ==========================================================================
   Thank You / Order Received Page
   ========================================================================== */

.citsolar-thankyou {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem) 40px;
}
.citsolar-thankyou::before { display: none; }

/* --- Progress Bar (inside thankyou) --- */
.citsolar-thankyou .checkout-progress-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 1.75rem 0 2rem;
}
.citsolar-thankyou .cpb-step {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--text-muted);
}
.citsolar-thankyou .cpb-step.active { color: #3657E4; }
.citsolar-thankyou .cpb-step.done { color: #1a9d5c; }
.citsolar-thankyou .cpb-num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--card-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'JetBrains Mono', monospace;
	font-size: .75rem;
	font-weight: 700;
}
.citsolar-thankyou .cpb-step.active .cpb-num {
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border-color: #3657E4;
	box-shadow: 0 0 0 4px rgba(54,87,228,.15);
}
.citsolar-thankyou .cpb-step.done .cpb-num {
	background: var(--green-light);
	border-color: #1a9d5c;
	color: #1a9d5c;
}
.citsolar-thankyou .cpb-line {
	flex: 1;
	height: 2px;
	background: var(--card-border);
	min-width: 32px;
	margin: 0 10px;
}
.citsolar-thankyou .cpb-line.done {
	background: #1a9d5c;
}

/* --- Success Message --- */
.thankyou-success-msg {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--green-light);
	border: 1px solid rgba(34,166,82,0.2);
	border-radius: 12px;
	padding: 16px 20px;
	margin-bottom: 24px;
}
.thankyou-success-icon {
	flex-shrink: 0;
	color: var(--green);
}
.thankyou-success-msg p {
	margin: 0;
	font-size: .875rem;
	color: var(--dark);
	line-height: 1.5;
}

/* --- Overview Card --- */
.thankyou-overview {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 20px 24px;
	margin-bottom: 24px;
}
.thankyou-overview-item {
	text-align: center;
	padding: 8px 20px;
	flex: 1;
	min-width: 120px;
}
.thankyou-overview-item:not(:last-child) {
	border-right: 1px solid var(--card-border);
}
.thankyou-label {
	display: block;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--text-muted);
	margin-bottom: 4px;
}
.thankyou-value {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--dark);
}

/* --- Sections (order items, addresses) --- */
.thankyou-section {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 16px;
	text-align: left;
}
.citsolar-thankyou .thankyou-section-title {
	font-size: .9rem !important;
	font-weight: 700 !important;
	color: var(--dark);
	margin: 0 0 16px !important;
	letter-spacing: -.01em;
}

/* --- Order Items Table --- */
.citsolar-thankyou .thankyou-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.citsolar-thankyou .thankyou-table th,
.citsolar-thankyou .thankyou-table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--card-border);
	font-size: .8rem !important;
	color: var(--text-secondary);
	text-align: left;
	vertical-align: middle;
	word-break: break-word;
}
.citsolar-thankyou .thankyou-table thead th {
	font-weight: 700;
	color: var(--text-muted);
	font-size: .65rem !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 10px 0 !important;
	font-family: var(--font-mono);
}
/* First col auto, last col fits content right-aligned */
.citsolar-thankyou .thankyou-table thead th:last-child,
.citsolar-thankyou .thankyou-table tbody td:last-child,
.citsolar-thankyou .thankyou-table tfoot td {
	text-align: right;
	width: 42%;
	white-space: nowrap;
}
.thankyou-product-name {
	font-weight: 700;
	color: var(--dark);
	display: inline;
	line-height: 1.4;
}
.thankyou-product-qty {
	color: var(--text-muted);
	font-size: .72rem;
	margin-left: 6px;
	white-space: nowrap;
}
.thankyou-product-total {
	font-weight: 700;
	font-family: var(--font-mono);
	color: var(--dark);
	white-space: nowrap;
}
.citsolar-thankyou .thankyou-table tfoot th {
	font-weight: 500;
	color: var(--text-secondary);
	font-size: .8rem !important;
}
.citsolar-thankyou .thankyou-table tfoot td {
	font-family: var(--font-mono);
	font-weight: 700;
	color: var(--dark);
}
/* Shipping row: allow wrap if content is long */
.citsolar-thankyou .thankyou-table tfoot tr.thankyou-table-shipping td {
	white-space: normal;
}
.citsolar-thankyou .thankyou-table tfoot tr:last-child th,
.citsolar-thankyou .thankyou-table tfoot tr:last-child td {
	border-bottom: none;
}
.citsolar-thankyou .thankyou-table-total th,
.citsolar-thankyou .thankyou-table-total td {
	font-size: 1rem !important;
	font-weight: 800 !important;
	padding-top: 16px !important;
	padding-bottom: 4px !important;
	border-top: 2px solid var(--dark) !important;
	border-bottom: none !important;
}
.citsolar-thankyou .thankyou-table-total th {
	color: var(--dark) !important;
}
.citsolar-thankyou .thankyou-table-total td {
	color: var(--blue) !important;
	font-size: 1.15rem !important;
	letter-spacing: -.02em;
}

/* --- Addresses Grid --- */
.thankyou-addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}
.citsolar-thankyou .thankyou-address-card address {
	font-style: normal;
	line-height: 1.7;
	color: var(--text-secondary);
	font-size: .8rem !important;
}
.thankyou-address-extra {
	color: var(--text-muted);
	font-size: .75rem;
}

/* --- Failed Order --- */
.thankyou-failed {
	text-align: center;
	padding: 20px 0;
}
.thankyou-failed-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #FEF2F2;
	color: #DC2626;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	border: 3px solid rgba(220,38,38,0.2);
}
.thankyou-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 24px;
}
.thankyou-actions .btn-primary {
	background: var(--blue);
	color: #fff;
	padding: 12px 28px;
	border-radius: 10px;
	font-weight: 700;
	font-size: .875rem;
	text-decoration: none;
	transition: all .2s;
}
.thankyou-actions .btn-primary:hover {
	background: var(--blue-dark);
}
.thankyou-actions .btn-secondary {
	background: var(--white);
	color: var(--dark);
	padding: 12px 28px;
	border-radius: 10px;
	font-weight: 700;
	font-size: .875rem;
	text-decoration: none;
	border: 1px solid var(--card-border);
	transition: all .2s;
}
.thankyou-actions .btn-secondary:hover {
	background: var(--bg);
}

/* --- Bank transfer details (woocommerce_thankyou hook output) --- */
.citsolar-thankyou .woocommerce-bacs-bank-details {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 24px;
	margin-bottom: 24px;
	text-align: left;
}
.citsolar-thankyou .wc-bacs-bank-details-heading {
	font-size: 1rem;
	font-weight: 700;
	color: var(--dark);
	margin: 0 0 16px;
}
.citsolar-thankyou .wc-bacs-bank-details {
	list-style: none;
	padding: 0;
	margin: 0;
}
.citsolar-thankyou .wc-bacs-bank-details li {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px solid var(--card-border);
	font-size: .875rem;
}
.citsolar-thankyou .wc-bacs-bank-details li:last-child {
	border-bottom: none;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	/* Progress bar on thankyou: vertical stepper (circle on top, label below) */
	.citsolar-thankyou{padding:0 14px 40px!important}
	.citsolar-thankyou .checkout-progress-bar{
		display:flex;flex-wrap:nowrap;gap:0;
		padding:1.25rem 0 1rem;
		justify-content:space-between;
		align-items:flex-start;
		overflow-x:hidden;
	}
	.citsolar-thankyou .cpb-step{
		flex:0 0 auto;
		flex-direction:column;
		align-items:center;
		gap:6px;
		font-size:.7rem;
		text-align:center;
		max-width:92px;
		min-width:0;
	}
	.citsolar-thankyou .cpb-num{
		width:30px;height:30px;font-size:.72rem;flex-shrink:0;
	}
	.citsolar-thankyou .cpb-label{
		font-size:.68rem;line-height:1.25;
		white-space:normal;word-break:keep-all;
	}
	.citsolar-thankyou .cpb-line{
		flex:1;width:auto;min-width:16px;
		margin:14px 4px 0;   /* align with center of 30px circle */
		align-self:flex-start;
	}

	/* Compact tables on mobile */
	.citsolar-thankyou .thankyou-table th,
	.citsolar-thankyou .thankyou-table td{
		font-size:.75rem!important;padding:8px 0!important;
	}
	.citsolar-thankyou .thankyou-section{padding:16px!important}
}

@media (max-width: 640px) {
	.thankyou-overview {
		flex-direction: column;
		gap: 0;
	}
	.thankyou-overview-item {
		padding: 12px 0;
	}
	.thankyou-overview-item:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid var(--card-border);
	}
	.thankyou-addresses {
		grid-template-columns: 1fr;
	}
	.citsolar-thankyou .cpb-step{max-width:84px}
	.citsolar-thankyou .cpb-label{font-size:.65rem}
	.citsolar-thankyou .cpb-line{min-width:10px;margin:15px 3px 0}
}

/* Hide default WooCommerce order elements since we have custom template */
.citsolar-thankyou .woocommerce-order-overview,
.citsolar-thankyou .woocommerce-order-details,
.citsolar-thankyou .woocommerce-customer-details,
.citsolar-thankyou .woocommerce-thankyou-order-received {
	display: none;
}

/* --- Checkout Progress Bar --- */
.checkout-progress-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 20px 24px;
	margin-bottom: 28px;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}
.cpb-step {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--text-muted);
	white-space: nowrap;
}
.cpb-step.active {
	color: var(--blue);
}
.cpb-step.done {
	color: var(--green);
}
.cpb-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--bg);
	border: 1.5px solid var(--card-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
}
.cpb-step.active .cpb-num {
	background: var(--blue-light);
	border-color: var(--blue);
	color: var(--blue);
}
.cpb-step.done .cpb-num {
	background: var(--green-light);
	border-color: var(--green);
	color: var(--green);
}
.cpb-line {
	flex: 1;
	height: 2px;
	background: var(--card-border);
	min-width: 24px;
	margin: 0 8px;
}
.cpb-line.done {
	background: var(--green);
}

/* --- Cart Trust Bar --- */
.cart-trust-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 24px;
	margin-bottom: 60px;
}
.ctb-card {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 20px 16px;
	text-align: center;
	transition: all .3s;
}
.ctb-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.04);
}
.ctb-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 10px;
}
.ctb-blue { background: var(--blue-light); color: var(--blue); }
.ctb-yellow { background: var(--yellow-light); color: var(--yellow-dark); }
.ctb-green { background: var(--green-light); color: var(--green); }
.ctb-purple { background: #F3E8FD; color: #8B5CF6; }
.ctb-label {
	font-size: 13px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 2px;
}
.ctb-sub {
	font-size: 11px;
	color: var(--text-muted);
}

/* ==========================================================================
   9. MY ACCOUNT
   ========================================================================== */

/* Two-column layout: nav left, content right (only when logged in) */
.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	align-items: start;
}

/* Navigation Sidebar */
.woocommerce-MyAccount-navigation {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 16px;
	padding: 12px;
}
.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
	list-style: none;
	padding: 0;
	margin: 0;
	border-bottom: none;
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 14px;
	font-weight: 500;
	font-size: .82rem;
	color: var(--text-secondary);
	border-radius: 10px;
	border-bottom: none;
	margin-bottom: 0;
	text-decoration: none;
	transition: color .2s, background .2s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--blue);
	background: var(--blue-light);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--blue);
	background: var(--blue-light);
	font-weight: 700;
}
/* Logout separator */
.woocommerce-MyAccount-navigation ul li:last-child {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--card-border);
}
.woocommerce-MyAccount-navigation ul li:last-child a {
	color: var(--text-muted);
}
.woocommerce-MyAccount-navigation ul li:last-child a:hover {
	color: #DC2626;
	background: #FEF2F2;
}

/* Dashboard Content */
.woocommerce-MyAccount-content {
	min-width: 0;
}
.woocommerce-MyAccount-content a {
	color: var(--blue);
	font-weight: 600;
}
.woocommerce-MyAccount-content a:hover {
	color: var(--blue-dark);
}

/* ── Dashboard Welcome ───────────────────────────────────── */
.dashboard-welcome {
	margin-bottom: 24px;
}
.dashboard-welcome__title {
	font-size: 1.4rem !important;
	font-weight: 800;
	color: var(--dark);
	margin: 0 0 4px !important;
}
.dashboard-welcome__sub {
	font-size: .85rem;
	color: var(--text-muted);
	margin: 0;
}

/* ── Dashboard Stats ─────────────────────────────────────── */
.dashboard-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}
.dashboard-stat {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 18px 20px;
}
.dashboard-stat__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dashboard-stat__icon--blue { background: var(--blue-light); color: var(--blue); }
.dashboard-stat__icon--green { background: var(--green-light); color: var(--green); }
.dashboard-stat__icon--purple { background: #F3E8FD; color: #8B5CF6; }
.dashboard-stats--3 {
	grid-template-columns: 1fr 1fr 1fr;
}
.dashboard-stats--3 .dashboard-stat__num .woocommerce-Price-amount {
	font-family: var(--font-mono);
}
.dashboard-stat__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.dashboard-stat__num {
	font-size: .95rem;
	font-weight: 700;
	color: var(--dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dashboard-stat__label {
	font-size: .7rem;
	font-weight: 600;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-family: var(--font-mono);
}

/* ── Dashboard Quick Actions ─────────────────────────────── */
.dashboard-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 28px;
}
.dashboard-action {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.dashboard-action:hover {
	border-color: var(--blue);
	box-shadow: 0 2px 12px rgba(54,87,228,0.08);
}
.dashboard-action__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dashboard-action__icon--blue { background: var(--blue-light); color: var(--blue); }
.dashboard-action__icon--yellow { background: var(--yellow-light); color: var(--yellow-dark); }
.dashboard-action__icon--green { background: var(--green-light); color: var(--green); }
.dashboard-action__title {
	display: block;
	font-size: .85rem;
	font-weight: 700;
	color: var(--dark);
}
.dashboard-action__desc {
	display: block;
	font-size: .75rem;
	color: var(--text-muted);
	margin-top: 1px;
}
.dashboard-action__arrow {
	margin-left: auto;
	color: var(--text-muted);
	flex-shrink: 0;
}
.dashboard-action:hover .dashboard-action__arrow {
	color: var(--blue);
}

/* ── Loyalty Card ────────────────────────────────────────── */
.loyalty-card {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 24px;
	margin-bottom: 24px;
}
.loyalty-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	flex-wrap: wrap;
	gap: 8px;
}
.loyalty-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--tier-bg);
	color: var(--tier-color);
	padding: 6px 14px;
	border-radius: 100px;
	font-size: .8rem;
	font-weight: 700;
}
.loyalty-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--tier-color);
	flex-shrink: 0;
}
.loyalty-perk {
	font-size: .75rem;
	font-weight: 700;
	color: var(--green);
	background: var(--green-light);
	padding: 4px 12px;
	border-radius: 100px;
}

/* Progress bar */
.loyalty-progress {
	margin-bottom: 20px;
}
.loyalty-progress__bar {
	height: 8px;
	background: var(--bg);
	border-radius: 100px;
	overflow: hidden;
	margin-bottom: 8px;
}
.loyalty-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--tier-color), var(--blue));
	border-radius: 100px;
	transition: width .6s ease;
}
.loyalty-progress__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.loyalty-progress__text {
	font-size: .78rem;
	color: var(--text-secondary);
}
.loyalty-progress__text strong {
	color: var(--dark);
}
.loyalty-progress__text .woocommerce-Price-amount {
	font-weight: 700;
}
.loyalty-progress__pct {
	font-size: .75rem;
	font-weight: 700;
	color: var(--tier-color);
	font-family: var(--font-mono);
}
.loyalty-max {
	font-size: .82rem;
	color: var(--text-secondary);
	margin: 0 0 18px;
}

/* Tier steps */
.loyalty-tiers {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
.loyalty-tier {
	text-align: center;
	padding: 16px 10px;
	border-radius: 12px;
	border: 2px solid var(--card-border);
	background: var(--white);
	opacity: .4;
	transition: all .3s;
	position: relative;
}
.loyalty-tier--reached {
	opacity: .65;
	border-color: var(--t-color);
	border-style: dashed;
}
.loyalty-tier--active {
	opacity: 1;
	border-color: var(--t-color);
	border-style: solid;
	background: var(--t-bg);
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
	transform: translateY(-2px);
}
.loyalty-tier--active::after {
	content: 'TU NIVEL';
	position: absolute;
	top: -9px;
	left: 50%;
	transform: translateX(-50%);
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--white);
	background: var(--t-color);
	padding: 2px 8px;
	border-radius: 100px;
	font-family: var(--font-mono);
}
.loyalty-tier__name {
	display: block;
	font-size: .85rem;
	font-weight: 800;
	color: var(--t-color);
	margin-bottom: 2px;
}
.loyalty-tier__req {
	display: block;
	font-size: .68rem;
	color: var(--text-muted);
	font-family: var(--font-mono);
	margin-top: 2px;
}
.loyalty-tier__perk {
	display: inline-block;
	font-size: .65rem;
	font-weight: 700;
	color: var(--green);
	background: var(--green-light);
	padding: 2px 8px;
	border-radius: 100px;
	margin-top: 6px;
}

/* ── Dashboard Recent Orders ─────────────────────────────── */
.dashboard-recent {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 20px;
}
.dashboard-recent__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.dashboard-recent__title {
	font-size: .9rem !important;
	font-weight: 700;
	color: var(--dark);
	margin: 0 !important;
}
.dashboard-recent__link {
	font-size: .75rem;
	font-weight: 600;
	color: var(--blue);
	text-decoration: none;
}
.dashboard-recent__link:hover {
	text-decoration: underline;
}
.dashboard-recent__list {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.dashboard-recent__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid var(--card-border);
}
.dashboard-recent__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.dashboard-recent__item:first-child {
	padding-top: 0;
}
.dashboard-recent__num {
	font-size: .85rem;
	font-weight: 700;
	color: var(--dark);
	font-family: var(--font-mono);
}
.dashboard-recent__date {
	font-size: .75rem;
	color: var(--text-muted);
	margin-left: 10px;
}
.dashboard-recent__meta {
	display: flex;
	align-items: center;
	gap: 12px;
}
.dashboard-recent__total {
	font-size: .85rem;
	font-weight: 700;
	color: var(--dark);
	font-family: var(--font-mono);
}

/* Orders Table */
.woocommerce-orders-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	overflow: hidden;
}
.woocommerce-orders-table th {
	text-align: left;
	padding: 14px 18px;
	font-family: var(--font-mono);
	font-size: .68rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	background: var(--bg);
	border-bottom: 1px solid var(--card-border);
}
.woocommerce-orders-table td {
	padding: 16px 18px;
	border-bottom: 1px solid var(--card-border);
	font-size: .82rem;
	color: var(--text-secondary);
	vertical-align: middle;
}
.woocommerce-orders-table tr:last-child td {
	border-bottom: none;
}
.woocommerce-orders-table tbody tr {
	transition: background .15s;
}
.woocommerce-orders-table tbody tr:hover {
	background: var(--bg);
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	font-weight: 700;
	font-family: var(--font-mono);
	color: var(--dark);
	text-decoration: none;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
	color: var(--blue);
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-date {
	color: var(--text-muted);
	font-size: .8rem;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
	font-weight: 700;
	font-family: var(--font-mono);
	color: var(--dark);
}

/* Order Status Badges */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
}
.order-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 100px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: capitalize;
}
.order-status--on-hold {
	background: var(--yellow-light);
	color: var(--yellow-dark);
}
.order-status--processing {
	background: var(--blue-light);
	color: var(--blue);
}
.order-status--completed {
	background: var(--green-light);
	color: var(--green);
}
.order-status--cancelled,
.order-status--failed {
	background: #fef2f2;
	color: #991b1b;
}
.order-status--refunded {
	background: var(--bg);
	color: var(--text-muted);
}
.order-status--pending {
	background: var(--yellow-light);
	color: var(--yellow-dark);
}

.woocommerce-orders-table .button {
	padding: 7px 16px;
	background: var(--white);
	color: var(--blue);
	border-radius: 8px;
	font-size: .78rem;
	font-weight: 700;
	border: 1.5px solid var(--blue);
	cursor: pointer;
	transition: all .2s;
	text-decoration: none;
}
.woocommerce-orders-table .button:hover {
	background: var(--blue);
	color: #fff;
}

/* No Orders */
.woocommerce-message--info,
.woocommerce-info.woocommerce-Message {
	text-align: center;
}

/* ── View Order Detail ───────────────────────────────────── */

/* Order status summary bar */
.woocommerce-MyAccount-content > p:first-child {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	background: var(--blue-light);
	border: 1px solid rgba(54,87,228,0.15);
	border-radius: 12px;
	padding: 14px 20px;
	font-size: .82rem;
	color: var(--text-secondary);
	line-height: 1.6;
	margin-bottom: 20px;
}
.woocommerce-MyAccount-content > p:first-child mark {
	background: none;
	font-weight: 700;
	color: var(--dark);
}
.woocommerce-MyAccount-content > p:first-child mark.order-number {
	font-family: var(--font-mono);
}
.woocommerce-MyAccount-content > p:first-child mark.order-status {
	background: var(--blue);
	color: #fff;
	padding: 2px 10px;
	border-radius: 100px;
	font-size: .72rem;
	font-weight: 700;
}

/* Order details card */
.woocommerce-order-details {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 0;
	margin-bottom: 20px;
	overflow: hidden;
}
.woocommerce-order-details h2 {
	font-size: .82rem !important;
	font-weight: 700 !important;
	color: var(--dark);
	margin: 0 !important;
	padding: 16px 22px;
	background: var(--white);
	border-bottom: 1px solid var(--card-border);
}

/* Order details table */
.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin: 0 !important;
}
.woocommerce-table--order-details thead th {
	text-align: left;
	padding: 10px 22px;
	font-family: var(--font-mono);
	font-size: .65rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--card-border);
	background: var(--bg);
}
.woocommerce-table--order-details thead th:last-child {
	text-align: right;
}
.woocommerce-table--order-details td {
	padding: 14px 22px;
	border-bottom: 1px solid var(--card-border);
	font-size: .8rem;
	color: var(--text-secondary);
	vertical-align: middle;
}
.woocommerce-table--order-details tbody tr:hover {
	background: var(--bg);
}
.woocommerce-table--order-details .product-name {
	font-weight: 600;
	color: var(--dark);
	font-size: .8rem;
}
.woocommerce-table--order-details .product-name a {
	color: var(--dark);
	text-decoration: none;
}
.woocommerce-table--order-details .product-name a:hover {
	color: var(--blue);
}
.woocommerce-table--order-details .product-quantity {
	color: var(--text-muted);
	font-weight: 400;
	font-size: .75rem;
}
.woocommerce-table--order-details .product-total,
.woocommerce-table--order-details .woocommerce-table__product-total {
	font-weight: 700;
	font-family: var(--font-mono);
	color: var(--dark);
	text-align: right;
	font-size: .8rem;
}

/* Footer totals */
.woocommerce-table--order-details tfoot th {
	padding: 11px 22px;
	font-size: .78rem;
	font-weight: 600;
	color: var(--text-muted);
	text-align: left;
	border-bottom: 1px solid var(--card-border);
	background: var(--bg);
}
.woocommerce-table--order-details tfoot td {
	padding: 11px 22px;
	font-size: .8rem;
	font-weight: 600;
	font-family: var(--font-mono);
	color: var(--dark);
	text-align: right;
	border-bottom: 1px solid var(--card-border);
	background: var(--bg);
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	font-weight: 800;
	font-size: .88rem;
	border-bottom: none;
	padding-top: 14px;
	padding-bottom: 14px;
	color: var(--dark);
	background: var(--white);
}

/* Order actions */
.order-again {
	margin-top: 16px;
}
.order-again .button {
	padding: 10px 24px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff !important;
	border-radius: 10px;
	font-size: .8rem;
	font-weight: 700;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(54,87,228,0.15);
	transition: all .2s;
	text-decoration: none;
}
.order-again .button:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
	transform: translateY(-1px);
}

/* Customer details */
.woocommerce-customer-details {
	margin-top: 20px;
}
.woocommerce-customer-details h2 {
	font-size: .82rem !important;
	font-weight: 700 !important;
	margin: 0 0 12px !important;
	color: var(--dark);
}
.woocommerce-customer-details .woocommerce-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.woocommerce-customer-details .woocommerce-column {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 12px;
	padding: 18px 20px;
}
.woocommerce-customer-details .woocommerce-column h3,
.woocommerce-customer-details .woocommerce-column__title {
	font-size: .7rem !important;
	font-weight: 700 !important;
	color: var(--text-muted);
	margin: 0 0 8px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-family: var(--font-mono);
}
.woocommerce-customer-details address {
	font-style: normal;
	font-size: .8rem;
	color: var(--text-secondary);
	line-height: 1.7;
}
.woocommerce-customer-details address p {
	margin: 0;
}

/* Order notes */
.woocommerce-OrderUpdates {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.woocommerce-OrderUpdate {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 10px;
	padding: 14px 18px;
}
.woocommerce-OrderUpdate-meta {
	font-size: .68rem;
	color: var(--text-muted);
	font-family: var(--font-mono);
	margin-bottom: 4px;
}
.woocommerce-OrderUpdate-description p {
	font-size: .8rem;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.5;
}
.woocommerce-MyAccount-content > h2 {
	font-size: .85rem !important;
	font-weight: 700 !important;
	color: var(--dark);
	margin: 20px 0 10px !important;
}

/* Responsive */
@media (max-width: 768px) {
	.woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr;
	}
	.woocommerce-table--order-details td,
	.woocommerce-table--order-details tfoot td,
	.woocommerce-table--order-details tfoot th {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* ── Account Details Form & Edit Address ─────────────────── */
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
	background: var(--white);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	padding: 28px;
}
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
	margin-bottom: 18px;
}
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
	display: block;
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 600;
	margin-bottom: 5px;
	color: var(--dark);
}
.woocommerce-EditAccountForm label .required,
.woocommerce-address-fields label .required {
	color: var(--blue);
}
.woocommerce-EditAccountForm .input-text,
.woocommerce-address-fields .input-text,
.woocommerce-EditAccountForm select,
.woocommerce-address-fields select {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: .85rem;
	color: var(--text);
	background: var(--bg);
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce-address-fields .input-text:focus,
.woocommerce-EditAccountForm select:focus,
.woocommerce-address-fields select:focus {
	border-color: var(--blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
	background: var(--white);
}

/* Description text */
.woocommerce-EditAccountForm em {
	display: block;
	font-size: .75rem;
	color: var(--text-muted);
	font-style: normal;
	margin-top: -10px;
	margin-bottom: 18px;
}

/* Password change fieldset */
.woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--card-border);
	border-radius: 12px;
	padding: 20px;
	margin: 24px 0;
}
.woocommerce-EditAccountForm fieldset legend {
	font-size: .82rem;
	font-weight: 700;
	color: var(--dark);
	padding: 0 8px;
}

/* Save button */
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button {
	padding: 12px 32px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-family: var(--font-mono);
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(54,87,228,0.15);
	transition: all .2s;
	margin-top: 8px;
}
.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
	transform: translateY(-1px);
}

/* Intro text above addresses */
.woocommerce-MyAccount-content > p {
	font-size: .82rem;
	color: var(--text-muted);
	margin-bottom: 16px;
}

/* ── Addresses Grid ──────────────────────────────────────── */
.woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.woocommerce-Address {
	background: var(--white);
	padding: 22px;
	border-radius: 14px;
	border: 1px solid var(--card-border);
	transition: border-color .2s;
}
.woocommerce-Address:hover {
	border-color: var(--blue);
}
.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--card-border);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3,
.woocommerce-Addresses h2,
.woocommerce-Addresses h3 {
	font-size: .82rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--dark) !important;
}
.woocommerce-Address-title .edit {
	font-size: .72rem;
	font-weight: 700;
	color: var(--blue);
	text-decoration: none;
	background: var(--blue-light);
	padding: 4px 10px;
	border-radius: 6px;
	transition: all .2s;
}
.woocommerce-Address-title .edit:hover {
	background: var(--blue);
	color: #fff;
}
.woocommerce-Address address {
	font-style: normal;
	color: var(--text-secondary);
	line-height: 1.7;
	font-size: .8rem;
}

/* Login / Register Forms */
.woocommerce-form-login,
.woocommerce-form-register {
	max-width: 500px;
	margin: 0 auto;
	padding: 32px;
	background: var(--white);
	border-radius: 14px;
	border: 1px solid var(--card-border);
}
#customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}
#customer_login .woocommerce-form-login,
#customer_login .woocommerce-form-register {
	max-width: none;
}
#customer_login h2 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--dark);
	border: none;
	padding: 0;
}
.woocommerce-form .form-row {
	margin-bottom: 16px;
}
.woocommerce-form label {
	display: block;
	font-family: var(--font-body);
	font-size: .813rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--dark);
}
.woocommerce-form .input-text {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: .938rem;
	color: var(--text);
	background: var(--white);
	transition: border-color .25s ease;
}
.woocommerce-form .input-text:focus {
	border-color: var(--blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(54,87,228,.1);
}
.woocommerce-form .button {
	padding: 12px 28px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-family: var(--font-body);
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(54,87,228,0.2);
	transition: background .3s ease, transform .3s ease;
}
.woocommerce-form .button:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
	transform: translateY(-1px);
}
.woocommerce-form .lost_password {
	margin-top: 12px;
	font-size: .875rem;
}
.woocommerce-form .lost_password a {
	color: var(--blue);
}
.woocommerce-form .lost_password a:hover {
	color: var(--blue-dark);
}
.woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .875rem;
	color: var(--text-secondary);
	cursor: pointer;
}
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--blue);
}

/* ==========================================================================
   10. PAGINATION
   ========================================================================== */
.woocommerce-pagination {
	margin-top: 40px;
	text-align: center;
}
.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 4px;
	list-style: none;
	padding: 0;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius: 100px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--text-secondary);
	background: var(--white);
	border: 1px solid var(--card-border);
	transition: all .25s ease;
}
.woocommerce-pagination ul.page-numbers li a:hover {
	background: var(--blue-light);
	border-color: var(--blue);
	color: var(--blue);
}
.woocommerce-pagination ul.page-numbers li span.current {
	background: var(--blue);
	color: #fff;
	border-color: var(--blue);
}

/* ==========================================================================
   11. WIDGETS (sidebar)
   ========================================================================== */

/* General Spacing */
.woocommerce.widget,
.widget_shopping_cart,
.widget_product_search,
.widget_product_categories,
.widget_price_filter,
.widget_products,
.widget_recent_reviews,
.widget_top_rated_products,
.widget_recently_viewed_products,
.widget_rating_filter,
.widget_layered_nav {
	margin-bottom: 28px;
}
.woocommerce.widget .widget-title,
.widget_product_search .widget-title,
.widget_product_categories .widget-title,
.widget_price_filter .widget-title,
.widget_products .widget-title,
.widget_recent_reviews .widget-title,
.widget_top_rated_products .widget-title,
.widget_recently_viewed_products .widget-title,
.widget_rating_filter .widget-title,
.widget_layered_nav .widget-title {
	font-family: var(--font-body);
	font-size: .938rem;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--card-border);
}

/* Product Categories Widget */
.widget_product_categories ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.widget_product_categories ul li {
	padding: 0;
	margin: 0;
}
.widget_product_categories ul li a {
	display: block;
	padding: 8px 0;
	font-size: .875rem;
	color: var(--text-secondary);
	border-bottom: 1px solid var(--card-border);
	transition: color .2s ease;
}
.widget_product_categories ul li a:hover {
	color: var(--blue);
}
.widget_product_categories ul li .count {
	float: right;
	font-family: var(--font-mono);
	font-size: .75rem;
	color: var(--text-muted);
}
.widget_product_categories ul ul {
	padding-left: 16px;
}

/* Price Filter Widget */
.widget_price_filter .price_slider_wrapper {
	margin-top: 8px;
}
.widget_price_filter .ui-slider {
	background: var(--card-border);
	border-radius: 4px;
	height: 6px;
	position: relative;
	margin-bottom: 16px;
}
.widget_price_filter .ui-slider .ui-slider-range {
	background: var(--blue);
	border-radius: 4px;
	height: 100%;
}
.widget_price_filter .ui-slider .ui-slider-handle {
	width: 18px;
	height: 18px;
	background: var(--white);
	border: 2px solid var(--blue);
	border-radius: 50%;
	top: -6px;
	cursor: pointer;
	position: absolute;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	transition: box-shadow .2s ease;
}
.widget_price_filter .ui-slider .ui-slider-handle:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.widget_price_filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.widget_price_filter .price_slider_amount .button {
	padding: 6px 14px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-size: .813rem;
	font-weight: 600;
	cursor: pointer;
	font-family: var(--font-body);
	transition: background .3s ease;
}
.widget_price_filter .price_slider_amount .button:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
}
.widget_price_filter .price_slider_amount .price_label {
	font-size: .813rem;
	color: var(--text-secondary);
	line-height: 2.4;
}

/* Rating Filter Widget */
.widget_rating_filter ul {
	list-style: none;
	padding: 0;
}
.widget_rating_filter ul li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	font-size: .875rem;
	color: var(--text-secondary);
}
.widget_rating_filter ul li a:hover {
	color: var(--dark);
}

/* Layered Nav Widget (attribute filters) */
.widget_layered_nav ul {
	list-style: none;
	padding: 0;
}
.widget_layered_nav ul li {
	padding: 0;
}
.widget_layered_nav ul li a {
	display: block;
	padding: 6px 0;
	font-size: .875rem;
	color: var(--text-secondary);
	border-bottom: 1px solid var(--card-border);
}
.widget_layered_nav ul li a:hover {
	color: var(--blue);
}
.widget_layered_nav ul li .count {
	float: right;
	font-family: var(--font-mono);
	font-size: .75rem;
	color: var(--text-muted);
}
.widget_layered_nav ul li.chosen a {
	color: var(--blue);
	font-weight: 600;
}

/* Product Search Widget */
.widget_product_search .woocommerce-product-search {
	display: flex;
	gap: 0;
}
.widget_product_search .search-field {
	flex: 1;
	padding: 8px 12px;
	border: 1.5px solid var(--card-border);
	border-right: none;
	border-radius: 10px 0 0 10px;
	font-family: var(--font-body);
	font-size: .875rem;
	color: var(--text);
	transition: border-color .25s ease;
}
.widget_product_search .search-field:focus {
	border-color: var(--blue);
	outline: none;
}
.widget_product_search button[type="submit"] {
	padding: 8px 14px;
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
	border-radius: 0 10px 10px 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: .813rem;
	cursor: pointer;
	transition: background .3s ease;
}
.widget_product_search button[type="submit"]:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
}

/* Mini Cart Widget */
.widget_shopping_cart .cart_list {
	list-style: none;
	padding: 0;
}
.widget_shopping_cart .cart_list li {
	display: flex;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--card-border);
}
.widget_shopping_cart .cart_list li img {
	width: 50px;
	height: 50px;
	object-fit: contain;
	border-radius: 10px;
	background: var(--white);
	flex-shrink: 0;
}
.widget_shopping_cart .cart_list li a {
	font-weight: 600;
	color: var(--dark);
	font-size: .875rem;
}
.widget_shopping_cart .cart_list li a:hover {
	color: var(--blue);
}
.widget_shopping_cart .cart_list li .remove {
	margin-left: auto;
	color: var(--text-muted);
	font-size: 1rem;
}
.widget_shopping_cart .cart_list li .remove:hover {
	color: #dc2626;
}
.widget_shopping_cart .total {
	padding: 12px 0;
	font-weight: 700;
	color: var(--dark);
	border-top: 1.5px solid var(--card-border);
}
.widget_shopping_cart .buttons {
	display: flex;
	gap: 8px;
}
.widget_shopping_cart .buttons a {
	flex: 1;
	display: block;
	padding: 8px 16px;
	border-radius: 10px;
	font-size: .813rem;
	font-weight: 600;
	text-align: center;
	transition: all .25s ease;
}
.widget_shopping_cart .buttons a:first-child {
	background: var(--white);
	border: 1px solid var(--card-border);
	color: var(--dark);
}
.widget_shopping_cart .buttons a:first-child:hover {
	border-color: var(--blue);
	color: var(--blue);
}
.widget_shopping_cart .buttons a:last-child {
	background: linear-gradient(135deg, var(--blue), #4A6CF7);
	color: #fff;
	border: none;
}
.widget_shopping_cart .buttons a:last-child:hover {
	background: linear-gradient(135deg, var(--blue-dark), var(--blue));
}

/* Widget Product Lists (recent, top-rated, etc.) */
.widget_products ul,
.widget_recent_reviews ul,
.widget_top_rated_products ul,
.widget_recently_viewed_products ul {
	list-style: none;
	padding: 0;
}
.widget_products ul li,
.widget_recent_reviews ul li,
.widget_top_rated_products ul li,
.widget_recently_viewed_products ul li {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--card-border);
	align-items: center;
}
.widget_products ul li img,
.widget_top_rated_products ul li img,
.widget_recently_viewed_products ul li img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: 10px;
	background: var(--white);
	flex-shrink: 0;
}
.widget_products ul li a,
.widget_top_rated_products ul li a,
.widget_recently_viewed_products ul li a {
	font-size: .813rem;
	font-weight: 600;
	color: var(--dark);
}
.widget_products ul li a:hover,
.widget_top_rated_products ul li a:hover,
.widget_recently_viewed_products ul li a:hover {
	color: var(--blue);
}
.widget_products ul li .amount,
.widget_top_rated_products ul li .amount {
	font-size: .813rem;
	font-weight: 700;
	color: var(--text-secondary);
}

/* ==========================================================================
   12. VARIATION SWATCHES & VARIABLE PRODUCTS
   ========================================================================== */
.variations {
	width: 100%;
	margin-bottom: 16px;
}
.variations td,
.variations th {
	padding: 8px 0;
	vertical-align: middle;
	border: none;
}
.variations .label label {
	font-weight: 600;
	font-size: .875rem;
	color: var(--dark);
}
.variations select {
	padding: 8px 14px;
	border: 1.5px solid var(--card-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: .875rem;
	color: var(--text);
	background: var(--white);
	min-width: 160px;
}
.variations select:focus {
	border-color: var(--blue);
	outline: none;
}
.reset_variations {
	font-size: .813rem;
	color: var(--text-muted);
	margin-left: 8px;
}
.reset_variations:hover {
	color: var(--blue);
}
.woocommerce-variation-price .price {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 12px;
}

/* ==========================================================================
   13. LOADING & MISC STATES
   ========================================================================== */
.woocommerce .blockUI.blockOverlay {
	background: rgba(255,255,255,.7) !important;
	opacity: 1 !important;
}
.woocommerce .loader::before,
.woocommerce .blockUI.blockOverlay::before {
	border: 3px solid var(--card-border);
	border-top-color: var(--blue);
	border-radius: 50%;
	width: 24px;
	height: 24px;
	animation: wc-spin .6s linear infinite;
}
@keyframes wc-spin {
	to { transform: rotate(360deg); }
}

/* View Cart link after adding to cart */
.added_to_cart {
	font-size: .813rem;
	font-weight: 600;
	color: var(--blue);
}
.added_to_cart:hover {
	color: var(--blue-dark);
}

/* ==========================================================================
   14. RESPONSIVE
   ========================================================================== */

/* Tablet (<=1024px) */
@media (max-width: 1024px) {
	.woocommerce ul.products[class*="columns-"],
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.shop-layout.with-shop-sidebar {
		grid-template-columns: 200px minmax(0, 1fr);
		gap: 1.5rem;
	}
	.shop-layout.with-shop-sidebar ul.products,
	.shop-layout.with-shop-sidebar .woocommerce ul.products,
	.shop-layout.with-shop-sidebar .woocommerce ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.woocommerce div.product,
	.single-product-layout {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none !important;
		width: 100% !important;
		padding-left: 0;
		padding-right: 0;
	}
	.woocommerce div.product div.images {
		position: static;
	}
	.wc-page-banner-title {
		font-size: 1.875rem;
	}
	/* Cart: single column */
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
	}
	.cart_totals {
		grid-column: 1;
		position: static;
		max-width: none;
	}
	.cart-trust-bar {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Mobile landscape (<=768px) */
@media (max-width: 768px) {
	.wc-page-banner {
		padding: 2rem 0;
	}
	/* Shrink decorative orbs so they don't risk overflow on narrow viewports */
	.wc-page-banner::after {
		width: 220px; height: 220px;
		top: -80px; right: -60px;
	}
	.wc-page-banner .woocommerce-breadcrumb::after {
		width: 180px; height: 180px;
		bottom: -90px; left: -50px;
	}
	.wc-page-banner-title {
		font-size: 1.5rem;
	}
	/* Extra guard against horizontal overflow */
	.shop-layout,
	.wc-breadcrumb-row {
		max-width: 100%;
		overflow-x: hidden;
	}
	.woocommerce ul.products[class*="columns-"],
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
	.shop-layout.with-shop-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}
	.shop-sidebar {
		order: 2;
		border-top: 1px solid var(--card-border);
		padding-top: 1.5rem;
	}
	.woocommerce div.product,
	.single-product-layout {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.woocommerce div.product div.images,
	.woocommerce div.product .woocommerce-product-gallery {
		position: static;
		float: none !important;
		width: 100% !important;
		padding-right: 0;
	}
	.woocommerce div.product div.summary {
		float: none !important;
		width: 100% !important;
		padding-left: 0;
	}
	.trust-grid {
		grid-template-columns: 1fr 1fr;
	}
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}
	#order_review {
		position: static;
	}
	#customer_login {
		grid-template-columns: 1fr;
	}
	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 1fr;
	}
	.woocommerce-MyAccount-navigation {
		border-radius: 12px;
		padding: 8px;
	}
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 4px;
	}
	.woocommerce-MyAccount-navigation ul li a {
		padding: 6px 10px;
		font-size: .75rem;
	}
	.woocommerce-MyAccount-navigation ul li:last-child {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}
	.dashboard-stats,
	.dashboard-stats--3 {
		grid-template-columns: 1fr;
	}
	.loyalty-tiers {
		grid-template-columns: repeat(2, 1fr);
	}
	.dashboard-recent__item {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
	.woocommerce-order-overview {
		flex-direction: column;
		gap: 12px;
	}
	.woocommerce-order-overview li:not(:last-child) {
		padding-right: 0;
		padding-bottom: 12px;
		border-right: none;
		border-bottom: 1px solid var(--card-border);
	}
	.woocommerce-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Mobile portrait (<=480px) */
@media (max-width: 480px) {
	.wc-page-banner {
		padding: 1.5rem 0;
		margin-bottom: 2rem;
	}
	.wc-page-banner-title {
		font-size: 1.25rem;
	}
	.woocommerce ul.products[class*="columns-"],
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 10px !important;
	}
	ul.products li.product .woocommerce-loop-product__title {
		font-size: .813rem;
		padding: 6px 12px 4px;
	}
	ul.products li.product .price {
		font-size: .938rem;
		padding: 0 12px 6px;
	}
	ul.products li.product .button,
	ul.products li.product .add_to_cart_button,
	ul.products li.product .product_type_variable,
	ul.products li.product .product_type_grouped {
		margin: auto 8px 10px !important;
		width: calc(100% - 16px) !important;
		padding: 10px 6px !important;
		font-size: .7rem !important;
		letter-spacing: .04em !important;
		white-space: nowrap;
	}
	.product-loop-category {
		padding: 3px 8px !important;
		margin: 10px 8px 0 !important;
		font-size: .55rem !important;
		letter-spacing: .04em !important;
		white-space: nowrap;
		max-width: calc(100% - 16px);
		overflow: hidden;
		text-overflow: ellipsis;
	}
	ul.products li.product a img,
	ul.products li.product > a > img {
		padding: 10px;
	}
	.woocommerce div.product .product_title,
	.summary .product_title {
		font-size: 1.375rem;
	}
	.woocommerce div.product p.price,
	.summary .price,
	.price-main {
		font-size: 1.5rem;
	}
	.woocommerce div.product form.cart,
	.summary form.cart {
		flex-wrap: wrap;
	}
	.woocommerce div.product form.cart button.single_add_to_cart_button,
	.summary .single_add_to_cart_button {
		width: 100%;
	}
	.trust-grid {
		grid-template-columns: 1fr;
	}
	.woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(4, 1fr);
		gap: .35rem;
	}
	.price-block {
		padding: 1rem;
	}
	.woocommerce-cart tbody td:nth-child(2) img {
		width: 56px;
		height: 56px;
	}
	.woocommerce-cart tbody td:nth-child(3) a {
		font-size: .8rem;
	}
	.cart_totals {
		padding: 20px;
	}
	.cart_totals .order-total th,
	.cart_totals .order-total td {
		font-size: 1.15rem;
	}
	.cart-trust-bar {
		grid-template-columns: 1fr;
	}
	.woocommerce-cart .coupon {
		flex-wrap: wrap;
	}
	.woocommerce-checkout .form-row {
		margin-bottom: 12px;
	}
	#order_review {
		padding: 20px;
	}
	#payment #place_order {
		font-size: 1rem;
		padding: 14px;
	}
}
