/* ============================================================
   AuraBricks WooCommerce Stylesheet
   Version: 1.0.0
   Package: AuraBricks Theme
   ============================================================
   
   Table of Contents:
   ──────────────────────────────────────────────────────────
   00. CSS Variables & Resets
   01. Global Layout          ← Part 1
   02. Products Grid          ← Part 2
   03. Archive / Shop Page    ← Part 3
   04. Product Card           ← Part 4
   05. Single Product         ← Part 5
   06. Notices                ← Part 6
   07. Cart                   ← Part 7
   08. Checkout               ← Part 8
   09. My Account             ← Part 9
   10. Responsive             ← Added progressively
   11. RTL Support            ← Added at end
   ============================================================ */


/* ============================================================
   00. CSS Variables & WooCommerce Resets
   ============================================================ */

:root {
	/* WooCommerce spacing */
	--abr-woo-gap:            24px;
	--abr-woo-card-radius:    12px;
	--abr-woo-btn-radius:     8px;

	/* WooCommerce product card */
	--abr-woo-card-bg:        #ffffff;
	--abr-woo-card-shadow:    0 2px 12px rgba(0, 0, 0, 0.06);
	--abr-woo-card-shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.12);

	/* Badge */
	--abr-woo-badge-bg:       #ef4444;
	--abr-woo-badge-color:    #ffffff;

	/* Rating */
	--abr-woo-star-color:     #f59e0b;
	--abr-woo-star-empty:     #e2e8f0;

	/* Price */
	--abr-woo-price-color:    var(--abr-color-primary, #6366f1);
	--abr-woo-price-del:      #94a3b8;

	/* Overlay Actions */
	--abr-woo-action-bg:      rgba(255, 255, 255, 0.95);
	--abr-woo-action-radius:  8px;

	/* Transition */
	--abr-woo-transition:     all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── WooCommerce Base Reset ── */
.woocommerce,
.woocommerce-page {
	/* Normalize base */
}

/* Remove WooCommerce default breadcrumb styling (we use our own) */
.woocommerce .woocommerce-breadcrumb {
	display: none;
}

/* Remove default WooCommerce notices margin we'll re-add later */
.woocommerce-notices-wrapper {
	width: 100%;
}

/* Remove WC default .products ul reset */
.woocommerce ul.products,
.woocommerce-page ul.products {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ── WooCommerce Button Base ── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 20px;
	background-color: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	border: none;
	border-radius: var(--abr-woo-btn-radius);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: var(--abr-woo-transition);
	white-space: nowrap;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--abr-color-primary-dark, #4f46e5);
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--abr-color-primary, #6366f1);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--abr-color-primary-dark, #4f46e5);
}

/* Disabled button state */
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}


/* ============================================================
   01. Global Layout
   (Wrappers — temporary until archive-product.php in Part 3)
   ============================================================ */

/* WooCommerce content area — keeps content centered in the page */
.abr-woo-container {
	width: 100%;
	max-width: var(--abr-container-width, 1280px);
	margin-inline: auto;
	padding-inline: var(--abr-container-padding, 24px);
	box-sizing: border-box;
}

@media (max-width: 480px) {
	.abr-woo-container {
		padding-inline: 16px;
	}
}

/* Inner content wrapper */
.abr-woo-main {
	width: 100%;
	box-sizing: border-box;
}

/* Ensure WooCommerce breadcrumb uses our styling (not WC's default) */
.woocommerce-breadcrumb {
	display: none; /* hidden — aurabricks_breadcrumbs() used instead */
}

/* Fix: WooCommerce body class — ensure woocommerce default styles scope properly */
.woocommerce .abr-woo-container ul.products,
.woocommerce-page .abr-woo-container ul.products {
	margin: 0;
	padding: 0;
	list-style: none;
}



/* ============================================================
   02. Products Grid
   (Populated in Part 2 — woocommerce/loop/loop-*.php)
   ============================================================ */

body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.woocommerce ul.products.abr-products-grid,
body.woocommerce-page ul.products.abr-products-grid,
ul.products.abr-products-grid,
ul.products {
	display: grid;
	grid-template-columns: repeat(var(--abr-woo-columns, 3), minmax(0, 1fr));
	gap: var(--abr-woo-gap, 24px);
	list-style: none;
	margin: 0 0 var(--abr-spacing-xl, 3rem) 0;
	padding: 0;
}

/* ── Fix: Clearfix Pseudo-elements on Grid Containers ──
   WooCommerce core injects ::before and ::after with content: " " and display: table
   for legacy float clearfix. In CSS Grid, these pseudo-elements become active grid items!
   The ::before item occupies row 1, col 1 (leaving it completely blank/empty),
   which forces the actual first product into column 2.
   Setting display: none and content: none removes them cleanly without !important. */
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after,
body.woocommerce ul.products.abr-products-grid::before,
body.woocommerce ul.products.abr-products-grid::after,
body.woocommerce-page ul.products.abr-products-grid::before,
body.woocommerce-page ul.products.abr-products-grid::after,
ul.products.abr-products-grid::before,
ul.products.abr-products-grid::after,
ul.products::before,
ul.products::after {
	content: none;
	display: none;
	width: 0;
	height: 0;
}

/* Clear default WooCommerce float and width on all loop items */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.woocommerce ul.products.abr-products-grid li.product,
body.woocommerce-page ul.products.abr-products-grid li.product,
body.woocommerce ul.products[class*="columns-"] li.product,
body.woocommerce-page ul.products[class*="columns-"] li.product,
ul.products.abr-products-grid li.product,
ul.products li.product {
	margin: 0;
	float: none;
	width: 100%;
	max-width: 100%;
	clear: none;
	box-sizing: border-box;
	min-width: 0; /* prevent grid blowout from long content */
	overflow: hidden;
}

/* Neutralize legacy WooCommerce first/last float & clear */
body.woocommerce ul.products li.product.first,
body.woocommerce-page ul.products li.product.first,
body.woocommerce ul.products li.product.last,
body.woocommerce-page ul.products li.product.last,
body.woocommerce ul.products.abr-products-grid li.product.first,
body.woocommerce-page ul.products.abr-products-grid li.product.first,
body.woocommerce ul.products.abr-products-grid li.product.last,
body.woocommerce-page ul.products.abr-products-grid li.product.last {
	clear: none;
	margin: 0;
	float: none;
}

/* Explicit columns modifiers */
body.woocommerce ul.products.columns-1,
body.woocommerce-page ul.products.columns-1,
body.woocommerce ul.products.abr-products-grid.columns-1 { grid-template-columns: 1fr; }

body.woocommerce ul.products.columns-2,
body.woocommerce-page ul.products.columns-2,
body.woocommerce ul.products.abr-products-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

body.woocommerce ul.products.columns-3,
body.woocommerce-page ul.products.columns-3,
body.woocommerce ul.products.abr-products-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

body.woocommerce ul.products.columns-4,
body.woocommerce-page ul.products.columns-4,
body.woocommerce ul.products.abr-products-grid.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

body.woocommerce ul.products.columns-5,
body.woocommerce-page ul.products.columns-5,
body.woocommerce ul.products.abr-products-grid.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

body.woocommerce ul.products.columns-6,
body.woocommerce-page ul.products.columns-6,
body.woocommerce ul.products.abr-products-grid.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* ── Responsive: Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
	body.woocommerce ul.products.columns-4,
	body.woocommerce ul.products.columns-5,
	body.woocommerce ul.products.columns-6,
	body.woocommerce-page ul.products.columns-4,
	body.woocommerce-page ul.products.columns-5,
	body.woocommerce-page ul.products.columns-6,
	body.woocommerce ul.products.abr-products-grid.columns-4,
	body.woocommerce ul.products.abr-products-grid.columns-5,
	body.woocommerce ul.products.abr-products-grid.columns-6,
	body.woocommerce-page ul.products.abr-products-grid.columns-4,
	body.woocommerce-page ul.products.abr-products-grid.columns-5,
	body.woocommerce-page ul.products.abr-products-grid.columns-6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ── Responsive: Small Tablet / Large Phone (≤ 768px) → Max 2 columns ── */
@media (max-width: 768px) {
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.woocommerce ul.products.abr-products-grid,
	body.woocommerce-page ul.products.abr-products-grid,
	body.woocommerce ul.products[class*="columns-"],
	body.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	/* Ensure WC default floats are fully neutralized on mobile */
	body.woocommerce ul.products li.product,
	body.woocommerce-page ul.products li.product {
		float: none;
		width: 100%;
		margin: 0;
		clear: none;
	}
}

/* ── Responsive: Phone (≤ 480px) → 2 columns (compact) ── */
@media (max-width: 480px) {
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.woocommerce ul.products.abr-products-grid,
	body.woocommerce-page ul.products.abr-products-grid,
	body.woocommerce ul.products[class*="columns-"],
	body.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* ── No Products Found State ── */
.abr-no-products {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--abr-spacing-2xl, 4rem) var(--abr-spacing-lg, 1.5rem);
	background: var(--abr-color-surface, #ffffff);
	border: 1px dashed var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 12px);
	margin: 2rem 0;
}

.abr-no-products__icon {
	color: var(--abr-color-muted, #94a3b8);
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.abr-no-products__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--abr-color-heading, #1e293b);
	margin: 0 0 0.5rem;
}

.abr-no-products__desc {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 0.95rem;
	max-width: 480px;
	margin: 0 0 1.5rem;
	line-height: 1.6;
}


/* ============================================================
   03. Archive / Shop Page
   (Populated in Part 3 — woocommerce/archive-product.php)
   ============================================================ */

/* ── Shop / Archive Header ── */
body.woocommerce .abr-shop-header,
body.woocommerce-page .abr-shop-header {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce .abr-shop-header .aurabricks-breadcrumbs,
body.woocommerce-page .abr-shop-header .aurabricks-breadcrumbs {
	margin-bottom: 1rem;
}

body.woocommerce .abr-shop-header__title,
body.woocommerce-page .abr-shop-header__title {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: var(--abr-color-heading, #0f172a);
	line-height: 1.2;
	margin: 0 0 0.5rem 0;
	letter-spacing: -0.02em;
}

body.woocommerce .abr-shop-header .page-description,
body.woocommerce .abr-shop-header .term-description,
body.woocommerce-page .abr-shop-header .page-description,
body.woocommerce-page .abr-shop-header .term-description {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 1rem;
	line-height: 1.65;
	max-width: 720px;
	margin: 0.5rem 0 0 0;
}

/* ── Shop Toolbar (Result Count & Ordering) ── */
body.woocommerce .abr-shop-toolbar,
body.woocommerce-page .abr-shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 2rem 0;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce .abr-shop-toolbar .woocommerce-result-count,
body.woocommerce-page .abr-shop-toolbar .woocommerce-result-count {
	margin: 0;
	float: none;
	font-size: 0.925rem;
	font-weight: 500;
	color: var(--abr-color-text-muted, #64748b);
}

body.woocommerce .abr-shop-toolbar .woocommerce-ordering,
body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering {
	margin: 0;
	float: none;
	position: relative;
}

body.woocommerce .abr-shop-toolbar .woocommerce-ordering select,
body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering select {
	appearance: none;
	-webkit-appearance: none;
	padding: 10px 38px 10px 16px;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--abr-color-heading, #1e293b);
	background-color: var(--abr-color-surface, #ffffff);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition: var(--abr-woo-transition);
	box-sizing: border-box;
}

body.woocommerce .abr-shop-toolbar .woocommerce-ordering select:hover,
body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering select:hover {
	border-color: var(--abr-color-primary, #6366f1);
}

body.woocommerce .abr-shop-toolbar .woocommerce-ordering select:focus,
body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--abr-color-primary, #6366f1);
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

/* ── Pagination ── */
body.woocommerce nav.woocommerce-pagination,
body.woocommerce-page nav.woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin: 3.5rem 0 2rem 0;
	padding: 0;
	text-align: center;
}

body.woocommerce nav.woocommerce-pagination ul,
body.woocommerce-page nav.woocommerce-pagination ul {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: none;
	white-space: nowrap;
}

body.woocommerce nav.woocommerce-pagination ul li,
body.woocommerce-page nav.woocommerce-pagination ul li {
	margin: 0;
	padding: 0;
	float: none;
	display: inline-block;
	border: none;
}

body.woocommerce nav.woocommerce-pagination ul li .page-numbers,
body.woocommerce-page nav.woocommerce-pagination ul li .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	font-size: 0.925rem;
	font-weight: 600;
	color: var(--abr-color-heading, #1e293b);
	text-decoration: none;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-surface, #ffffff);
	transition: var(--abr-woo-transition);
	box-sizing: border-box;
}

body.woocommerce nav.woocommerce-pagination ul li span.current,
body.woocommerce-page nav.woocommerce-pagination ul li span.current {
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	border-color: var(--abr-color-primary, #6366f1);
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.35);
}

body.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.woocommerce-page nav.woocommerce-pagination ul li a.page-numbers:hover {
	border-color: var(--abr-color-primary, #6366f1);
	color: var(--abr-color-primary, #6366f1);
	background: var(--abr-color-surface-hover, #f8fafc);
	transform: translateY(-1px);
}

/* ── Mobile Responsive for Shop Toolbar ── */
@media (max-width: 640px) {
	body.woocommerce .abr-shop-toolbar,
	body.woocommerce-page .abr-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body.woocommerce .abr-shop-toolbar .woocommerce-ordering,
	body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering {
		width: 100%;
	}

	body.woocommerce .abr-shop-toolbar .woocommerce-ordering select,
	body.woocommerce-page .abr-shop-toolbar .woocommerce-ordering select {
		width: 100%;
	}

	body.woocommerce nav.woocommerce-pagination ul,
	body.woocommerce-page nav.woocommerce-pagination ul {
		gap: 6px;
		flex-wrap: wrap;
		justify-content: center;
	}

	body.woocommerce nav.woocommerce-pagination ul li .page-numbers,
	body.woocommerce-page nav.woocommerce-pagination ul li .page-numbers {
		min-width: 38px;
		height: 38px;
		padding: 0 10px;
		font-size: 0.875rem;
	}
}


/* ============================================================
   04. Product Card
   (Populated in Part 4 — woocommerce/content-product.php)
   ============================================================ */

/* ── Card Container ── */
body.woocommerce ul.products li.product.abr-product-card,
body.woocommerce-page ul.products li.product.abr-product-card,
ul.products li.product.abr-product-card {
	position: relative;
	list-style: none;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
}

body.woocommerce ul.products li.product.abr-product-card .abr-product-card__inner,
body.woocommerce-page ul.products li.product.abr-product-card .abr-product-card__inner,
.abr-product-card__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #f1f5f9);
	border-radius: var(--abr-woo-card-radius, 14px);
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            border-color 0.3s ease;
	box-sizing: border-box;
}

body.woocommerce ul.products li.product.abr-product-card:hover .abr-product-card__inner,
body.woocommerce-page ul.products li.product.abr-product-card:hover .abr-product-card__inner {
	transform: translateY(-4px);
	border-color: rgba(99, 102, 241, 0.2);
	box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.08), 0 4px 10px -2px rgba(0, 0, 0, 0.03);
}

/* ── Thumbnail & Image ── */
.abr-product-card__thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--abr-color-surface-hover, #f8fafc);
	overflow: hidden;
	box-sizing: border-box;
}

.abr-product-card__thumb-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.abr-product-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

body.woocommerce ul.products li.product.abr-product-card:hover .abr-product-card__thumb img,
body.woocommerce-page ul.products li.product.abr-product-card:hover .abr-product-card__thumb img {
	transform: scale(1.06);
}

/* ── Sale Badge ── */
body.woocommerce .abr-product-card .abr-badge--sale,
body.woocommerce-page .abr-product-card .abr-badge--sale,
.abr-badge--sale {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--abr-woo-badge-color, #ffffff);
	background: var(--abr-woo-badge-bg, #ef4444);
	border-radius: 9999px;
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
	line-height: 1;
	pointer-events: none;
}

/* ── Actions (Add to Cart) — Always Visible ── */
.abr-product-card .abr-product-card__content .abr-product-card__actions {
	position: relative;
	opacity: 1;
	pointer-events: auto;
	transform: none;
	margin-top: 14px;
	z-index: 1;
}

/* Action Button Styling */
body.woocommerce .abr-product-card .abr-product-card__actions a.button,
body.woocommerce-page .abr-product-card .abr-product-card__actions a.button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	font-size: 0.875rem;
	font-weight: 600;
	color: #ffffff;
	background: var(--abr-color-primary, #6366f1);
	border: 1px solid var(--abr-color-primary, #6366f1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.25);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	cursor: pointer;
}

body.woocommerce .abr-product-card .abr-product-card__actions a.button:hover,
body.woocommerce-page .abr-product-card .abr-product-card__actions a.button:hover {
	background: var(--abr-color-primary-hover, #4f46e5);
	border-color: var(--abr-color-primary-hover, #4f46e5);
	box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
	transform: translateY(-1px);
}

body.woocommerce .abr-product-card .abr-product-card__actions a.button:active,
body.woocommerce-page .abr-product-card .abr-product-card__actions a.button:active {
	transform: translateY(0);
	box-shadow: 0 1px 4px rgba(99, 102, 241, 0.2);
}

/* Added to cart message link */
body.woocommerce .abr-product-card .abr-product-card__actions a.added_to_cart,
body.woocommerce-page .abr-product-card .abr-product-card__actions a.added_to_cart {
	display: block;
	text-align: center;
	margin-top: 6px;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--abr-color-primary, #6366f1);
	background: var(--abr-color-surface-hover, #f1f5f9);
	padding: 6px 12px;
	border-radius: 6px;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

body.woocommerce .abr-product-card .abr-product-card__actions a.added_to_cart:hover,
body.woocommerce-page .abr-product-card .abr-product-card__actions a.added_to_cart:hover {
	color: var(--abr-color-primary-hover, #4f46e5);
	background: var(--abr-color-border, #e2e8f0);
}

/* ── Content Details ── */
.abr-product-card__content {
	padding: 16px 18px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
}

/* Category */
.abr-product-card__cat {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--abr-color-text-muted, #94a3b8);
	margin-bottom: 6px;
	line-height: 1.3;
}

.abr-product-card__cat a {
	color: var(--abr-color-text-muted, #94a3b8);
	text-decoration: none;
	transition: color 0.2s ease;
}

.abr-product-card__cat a:hover {
	color: var(--abr-color-primary, #6366f1);
}

/* Product Title */
body.woocommerce .abr-product-card__title,
body.woocommerce-page .abr-product-card__title,
.abr-product-card__title {
	font-size: 1.025rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 8px 0;
	color: var(--abr-color-heading, #0f172a);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.abr-product-card__title-link {
	color: var(--abr-color-heading, #0f172a);
	text-decoration: none;
	transition: color 0.2s ease;
}

.abr-product-card__title-link:hover {
	color: var(--abr-color-primary, #6366f1);
}

/* Star Rating */
body.woocommerce .abr-product-card .star-rating,
body.woocommerce-page .abr-product-card .star-rating {
	margin: 0 0 8px 0;
	font-size: 0.85rem;
	color: var(--abr-woo-star-color, #f59e0b);
}

/* Price Wrap */
.abr-product-card__price-wrap {
	margin-top: auto;
	padding-top: 4px;
}

body.woocommerce .abr-product-card .price,
body.woocommerce-page .abr-product-card .price {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--abr-color-primary, #6366f1);
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	flex-wrap: wrap;
}

body.woocommerce .abr-product-card .price del,
body.woocommerce-page .abr-product-card .price del {
	font-size: 0.9rem;
	font-weight: 400;
	color: var(--abr-color-muted, #94a3b8);
	opacity: 0.75;
}

body.woocommerce .abr-product-card .price ins,
body.woocommerce-page .abr-product-card .price ins {
	text-decoration: none;
}

/* ── Mobile / Touch Screen Actions ── */
@media (max-width: 768px), (hover: none) {
	body.woocommerce .abr-product-card .abr-product-card__actions a.button,
	body.woocommerce-page .abr-product-card .abr-product-card__actions a.button {
		padding: 9px 14px;
		font-size: 0.825rem;
	}
}

/* ── Mobile Product Card Compact Styling ── */
@media (max-width: 768px) {
	/* Reduce card content padding on mobile */
	body.woocommerce .abr-product-card__content,
	body.woocommerce-page .abr-product-card__content {
		padding: 12px 12px 14px;
	}

	/* Compact title on mobile */
	body.woocommerce .abr-product-card__title,
	body.woocommerce-page .abr-product-card__title {
		font-size: 0.9rem;
		margin: 0 0 6px 0;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		display: -webkit-box;
	}

	/* Compact category label */
	body.woocommerce .abr-product-card__cat,
	body.woocommerce-page .abr-product-card__cat {
		font-size: 0.65rem;
		margin-bottom: 4px;
	}

	/* Compact price */
	body.woocommerce .abr-product-card .price,
	body.woocommerce-page .abr-product-card .price {
		font-size: 0.95rem;
	}

	/* Compact star rating */
	body.woocommerce .abr-product-card .star-rating,
	body.woocommerce-page .abr-product-card .star-rating {
		font-size: 0.75rem;
		margin: 0 0 4px 0;
	}

	/* Compact sale badge */
	body.woocommerce .abr-product-card .abr-badge--sale,
	body.woocommerce-page .abr-product-card .abr-badge--sale {
		top: 8px;
		left: 8px;
		padding: 3px 8px;
		font-size: 0.7rem;
	}

	/* Compact card actions */
	body.woocommerce .abr-product-card .abr-product-card__actions,
	body.woocommerce-page .abr-product-card .abr-product-card__actions {
		padding: 0;
		margin-top: 10px;
	}

	body.woocommerce .abr-product-card .abr-product-card__actions a.button,
	body.woocommerce-page .abr-product-card .abr-product-card__actions a.button {
		padding: 8px 12px;
		font-size: 0.8rem;
		min-height: 38px;
	}

	/* Disable hover lift on mobile */
	body.woocommerce ul.products li.product.abr-product-card:hover .abr-product-card__inner,
	body.woocommerce-page ul.products li.product.abr-product-card:hover .abr-product-card__inner {
		transform: none;
	}

	/* Card border radius slightly smaller on mobile */
	.abr-product-card__inner {
		border-radius: 10px;
	}

	.abr-product-card__thumb img {
		border-radius: 0;
	}
}

/* ── Extra Small Phone (≤ 480px) — tighter spacing ── */
@media (max-width: 480px) {
	body.woocommerce .abr-product-card__content,
	body.woocommerce-page .abr-product-card__content {
		padding: 10px 10px 12px;
	}

	body.woocommerce .abr-product-card__title,
	body.woocommerce-page .abr-product-card__title {
		font-size: 0.825rem;
		line-height: 1.35;
	}

	body.woocommerce .abr-product-card .price,
	body.woocommerce-page .abr-product-card .price {
		font-size: 0.875rem;
	}

	body.woocommerce .abr-product-card .price del,
	body.woocommerce-page .abr-product-card .price del {
		font-size: 0.75rem;
	}

	body.woocommerce .abr-product-card .abr-product-card__actions,
	body.woocommerce-page .abr-product-card .abr-product-card__actions {
		padding: 0;
		margin-top: 8px;
	}

	body.woocommerce .abr-product-card .abr-product-card__actions a.button,
	body.woocommerce-page .abr-product-card .abr-product-card__actions a.button {
		padding: 7px 10px;
		font-size: 0.75rem;
		min-height: 34px;
	}

	/* Hide category label on very small screens to save space */
	body.woocommerce .abr-product-card__cat,
	body.woocommerce-page .abr-product-card__cat {
		display: none;
	}
}


/* ============================================================
   05. Single Product
   (Populated in Part 5 — woocommerce/single-product.php)
   ============================================================ */

.woocommerce div.product {
	position: relative;
	margin-bottom: var(--abr-spacing-2xl, 3rem);
	box-sizing: border-box;
}

/* ── Desktop 2-Column Grid (min-width: 769px) ── */
@media (min-width: 769px) {
	body.woocommerce div.product,
	body.woocommerce-page div.product {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: clamp(24px, 4vw, 48px);
		row-gap: 36px;
		align-items: start;
	}

	body.woocommerce div.product div.images,
	body.woocommerce-page div.product div.images {
		grid-column: 1;
		width: 100%;
		max-width: 100%;
		float: none;
		margin: 0;
	}

	body.woocommerce div.product div.summary,
	body.woocommerce-page div.product div.summary {
		grid-column: 2;
		width: 100%;
		max-width: 100%;
		float: none;
		margin: 0;
	}

	body.woocommerce div.product .woocommerce-tabs,
	body.woocommerce div.product .related.products,
	body.woocommerce div.product .upsells.products,
	body.woocommerce-page div.product .woocommerce-tabs,
	body.woocommerce-page div.product .related.products,
	body.woocommerce-page div.product .upsells.products {
		grid-column: 1 / -1;
		width: 100%;
		float: none;
	}
}

/* ── Mobile & Tablet Stacking (max-width: 768px) ── */
@media (max-width: 768px) {
	body.woocommerce div.product,
	body.woocommerce-page div.product {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	body.woocommerce div.product div.images,
	body.woocommerce-page div.product div.images {
		width: 100%;
		max-width: 100%;
		float: none;
		margin: 0 0 1.5rem 0;
	}

	body.woocommerce div.product div.summary,
	body.woocommerce-page div.product div.summary {
		width: 100%;
		max-width: 100%;
		float: none;
		margin: 0 0 2rem 0;
	}

	body.woocommerce div.product .woocommerce-tabs,
	body.woocommerce div.product .related.products,
	body.woocommerce div.product .upsells.products,
	body.woocommerce-page div.product .woocommerce-tabs,
	body.woocommerce-page div.product .related.products,
	body.woocommerce-page div.product .upsells.products {
		width: 100%;
		max-width: 100%;
		float: none;
	}
}

/* ── Gallery & Product Images ── */
.woocommerce div.product div.images {
	box-sizing: border-box;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
	padding: 0;
}

.woocommerce div.product div.images img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--abr-woo-card-radius, 12px);
	object-fit: cover;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 9;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	transition: var(--abr-woo-transition);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	background: #ffffff;
	transform: scale(1.08);
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

body.woocommerce div.product div.images .flex-control-thumbs li,
body.woocommerce-page div.product div.images .flex-control-thumbs li {
	width: calc(25% - 8px);
	float: none;
	margin: 0;
	cursor: pointer;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 8px;
	border: 2px solid transparent;
	transition: border-color 0.2s ease, opacity 0.2s ease;
	opacity: 0.7;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--abr-color-primary, #6366f1);
}

/* ── Product Summary Details ── */
.woocommerce div.product div.summary {
	box-sizing: border-box;
}

.woocommerce div.product div.summary .product_title {
	font-size: clamp(1.4rem, 3.5vw, 2.25rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 0.75rem 0;
}

.woocommerce div.product div.summary .price {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--abr-color-primary, #6366f1);
	margin-bottom: 1.25rem;
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.woocommerce div.product div.summary .price del {
	font-size: 1.1rem;
	font-weight: 400;
	color: var(--abr-color-muted, #94a3b8);
	opacity: 0.75;
}

.woocommerce div.product div.summary .price ins {
	text-decoration: none;
}

.woocommerce div.product div.summary .woocommerce-product-details__short-description {
	color: var(--abr-color-text-muted, #475569);
	font-size: 0.975rem;
	line-height: 1.65;
	margin-bottom: 1.5rem;
}

/* ── Add to Cart & Form ── */
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 1.5rem 0;
	width: 100%;
}

.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	margin: 0;
	float: none;
}

.woocommerce div.product form.cart .quantity input.qty {
	width: 68px;
	height: 48px;
	padding: 0 8px;
	text-align: center;
	font-weight: 600;
	font-size: 1rem;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-surface, #ffffff);
	box-sizing: border-box;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button {
	height: 48px;
	padding: 0 32px;
	font-size: 1rem;
	font-weight: 600;
	border-radius: var(--abr-woo-btn-radius, 8px);
	flex: 1 1 200px;
	min-width: 160px;
	box-sizing: border-box;
}

/* Variations Form Responsiveness */
.woocommerce div.product form.cart table.variations {
	width: 100%;
	border: none;
	margin-bottom: 1.25rem;
}

.woocommerce div.product form.cart table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.woocommerce div.product form.cart table.variations td {
	padding: 0;
	border: none;
	background: none;
}

.woocommerce div.product form.cart table.variations td.label {
	font-weight: 600;
	color: var(--abr-color-heading, #1e293b);
	font-size: 0.9rem;
}

.woocommerce div.product form.cart table.variations select {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border-radius: var(--abr-woo-btn-radius, 8px);
	border: 1px solid var(--abr-color-border, #cbd5e1);
	background: var(--abr-color-surface, #ffffff);
	font-size: 0.95rem;
	box-sizing: border-box;
}

@media (max-width: 480px) {
	.woocommerce div.product form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	.woocommerce div.product form.cart .quantity {
		width: 100%;
		justify-content: center;
	}

	.woocommerce div.product form.cart .quantity input.qty {
		width: 100%;
		max-width: 120px;
	}

	.woocommerce div.product form.cart .button.single_add_to_cart_button {
		width: 100%;
		max-width: 100%;
		flex: none;
	}
}

/* ── Product Meta (SKU, Categories, Tags) ── */
.woocommerce div.product .product_meta {
	font-size: 0.875rem;
	color: var(--abr-color-text-muted, #64748b);
	border-top: 1px solid var(--abr-color-border, #e2e8f0);
	padding-top: 1rem;
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.woocommerce div.product .product_meta > span {
	display: block;
}

.woocommerce div.product .product_meta a {
	color: var(--abr-color-primary, #6366f1);
	text-decoration: none;
}

.woocommerce div.product .product_meta a:hover {
	text-decoration: underline;
}

/* ── Single Product Tabs ── */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--abr-color-border, #e2e8f0);
	box-sizing: border-box;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0 0 12px 0;
	margin: 0 0 1.5rem 0;
	border-bottom: 2px solid var(--abr-color-border, #e2e8f0);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 8px 16px;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--abr-color-text-muted, #64748b);
	text-decoration: none;
	border-radius: 8px;
	transition: var(--abr-woo-transition);
	white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--abr-color-primary, #6366f1);
	background: var(--abr-color-surface-hover, #eef2ff);
}

.woocommerce div.product .woocommerce-tabs .panel {
	color: var(--abr-color-text, #334155);
	line-height: 1.7;
	font-size: 0.95rem;
	box-sizing: border-box;
}

/* ── Related & Upsells Products ── */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--abr-color-border, #e2e8f0);
	box-sizing: border-box;
}

.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
	font-size: 1.35rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	color: var(--abr-color-heading, #0f172a);
}

/* ── Product Reviews & Comment Form ── */
.woocommerce div.product #reviews #comments ol.commentlist {
	padding: 0;
	margin: 0 0 2rem 0;
	list-style: none;
}

.woocommerce div.product #reviews #comments ol.commentlist li {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

.woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
	float: left;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	margin-right: 14px;
}

.woocommerce div.product #reviews #comments ol.commentlist li .comment-text {
	overflow: hidden;
	border: none;
	padding: 0;
}

.woocommerce div.product #reviews #review_form #respond {
	background: var(--abr-color-surface-hover, #f8fafc);
	padding: clamp(1rem, 3vw, 1.5rem);
	border-radius: var(--abr-woo-card-radius, 12px);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	box-sizing: border-box;
}

.woocommerce div.product #reviews #review_form input[type="text"],
.woocommerce div.product #reviews #review_form input[type="email"],
.woocommerce div.product #reviews #review_form textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: #ffffff;
	font-family: inherit;
	box-sizing: border-box;
}


/* ============================================================
   06. Notices
   (Populated in Part 6 — woocommerce/notices/*.php)
   ============================================================ */

/* Notice Container & Wrapper */
body.woocommerce .woocommerce-notices-wrapper,
body.woocommerce-page .woocommerce-notices-wrapper {
	width: 100%;
	margin-bottom: 1.5rem;
}

body.woocommerce .abr-notices,
body.woocommerce-page .abr-notices {
	margin-bottom: 1.25rem;
}

/* Base Notice Styling */
body.woocommerce .abr-notice,
body.woocommerce-page .abr-notice,
body.woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce-info,
body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-radius: var(--abr-woo-card-radius, 12px);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0 0 1rem 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

/* Clear default WooCommerce notice pseudo icons and borders */
body.woocommerce .woocommerce-message::before,
body.woocommerce-page .woocommerce-message::before,
body.woocommerce .woocommerce-info::before,
body.woocommerce-page .woocommerce-info::before,
body.woocommerce .woocommerce-error::before,
body.woocommerce-page .woocommerce-error::before {
	display: none;
}

/* Notice Icon Wrapper */
.abr-notice__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Notice Text & Content */
.abr-notice__text {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	flex-grow: 1;
}

/* ── Success Notice ── */
body.woocommerce .abr-notice--success,
body.woocommerce-page .abr-notice--success,
body.woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce-message {
	background-color: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}

body.woocommerce .abr-notice--success .abr-notice__icon,
body.woocommerce-page .abr-notice--success .abr-notice__icon {
	color: #16a34a;
}

/* ── Error Notice ── */
body.woocommerce .abr-notice--error,
body.woocommerce-page .abr-notice--error,
body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error {
	background-color: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
	list-style: none;
	flex-direction: column;
	align-items: stretch;
}

body.woocommerce .abr-notice--error .abr-notice__icon,
body.woocommerce-page .abr-notice--error .abr-notice__icon {
	color: #dc2626;
}

body.woocommerce .woocommerce-error li.abr-notice__item,
body.woocommerce-page .woocommerce-error li.abr-notice__item {
	display: flex;
	align-items: center;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ── Info Notice ── */
body.woocommerce .abr-notice--info,
body.woocommerce-page .abr-notice--info,
body.woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce-info {
	background-color: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

body.woocommerce .abr-notice--info .abr-notice__icon,
body.woocommerce-page .abr-notice--info .abr-notice__icon {
	color: #2563eb;
}

/* ── Action Buttons inside Notices (e.g. "View cart") ── */
body.woocommerce .abr-notice a.button,
body.woocommerce-page .abr-notice a.button,
body.woocommerce .woocommerce-message a.button,
body.woocommerce-page .woocommerce-message a.button,
body.woocommerce .woocommerce-info a.button,
body.woocommerce-page .woocommerce-info a.button {
	float: none;
	margin-inline-start: auto;
	padding: 7px 16px;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: var(--abr-woo-btn-radius, 8px);
	text-decoration: none;
	transition: var(--abr-woo-transition);
	white-space: nowrap;
}

body.woocommerce .abr-notice--success a.button,
body.woocommerce-page .abr-notice--success a.button,
body.woocommerce .woocommerce-message a.button,
body.woocommerce-page .woocommerce-message a.button {
	background-color: #16a34a;
	color: #ffffff;
}

body.woocommerce .abr-notice--success a.button:hover,
body.woocommerce-page .abr-notice--success a.button:hover,
body.woocommerce .woocommerce-message a.button:hover,
body.woocommerce-page .woocommerce-message a.button:hover {
	background-color: #15803d;
	color: #ffffff;
	transform: translateY(-1px);
}

body.woocommerce .abr-notice--info a.button,
body.woocommerce-page .abr-notice--info a.button,
body.woocommerce .woocommerce-info a.button,
body.woocommerce-page .woocommerce-info a.button {
	background-color: #2563eb;
	color: #ffffff;
}

body.woocommerce .abr-notice--info a.button:hover,
body.woocommerce-page .abr-notice--info a.button:hover,
body.woocommerce .woocommerce-info a.button:hover,
body.woocommerce-page .woocommerce-info a.button:hover {
	background-color: #1d4ed8;
	color: #ffffff;
	transform: translateY(-1px);
}

/* ── Mobile Notice Responsiveness ── */
@media (max-width: 640px) {
	body.woocommerce .abr-notice,
	body.woocommerce-page .abr-notice,
	body.woocommerce .woocommerce-message,
	body.woocommerce-page .woocommerce-message,
	body.woocommerce .woocommerce-info,
	body.woocommerce-page .woocommerce-info {
		flex-wrap: wrap;
		padding: 12px 14px;
	}

	.abr-notice__text {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 10px;
	}

	body.woocommerce .abr-notice a.button,
	body.woocommerce-page .abr-notice a.button,
	body.woocommerce .woocommerce-message a.button,
	body.woocommerce-page .woocommerce-message a.button,
	body.woocommerce .woocommerce-info a.button,
	body.woocommerce-page .woocommerce-info a.button {
		margin-inline-start: 0;
		width: 100%;
		text-align: center;
		justify-content: center;
	}
}


/* ============================================================
   07. Cart
   (Populated in Part 7 — woocommerce/cart/cart.php)
   ============================================================ */

/* ── Checkout Steps Indicator ── */
.abr-checkout-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 620px;
	margin: 0 auto 3rem auto;
	gap: 12px;
}

.abr-checkout-step {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--abr-color-text-muted, #94a3b8);
	white-space: nowrap;
}

.abr-checkout-step__num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 700;
	background: var(--abr-color-surface-hover, #f1f5f9);
	border: 2px solid var(--abr-color-border, #cbd5e1);
	color: var(--abr-color-text-muted, #64748b);
	transition: var(--abr-woo-transition);
}

.abr-checkout-step--active {
	color: var(--abr-color-heading, #0f172a);
}

.abr-checkout-step--active .abr-checkout-step__num {
	background: var(--abr-color-primary, #6366f1);
	border-color: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.35);
}

.abr-checkout-step__divider {
	flex-grow: 1;
	height: 2px;
	background: var(--abr-color-border, #e2e8f0);
	min-width: 20px;
}

/* ── Cart Layout (2-Column Desktop Grid) ── */
.abr-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(360px, 1.1fr);
	gap: 36px;
	align-items: start;
	margin-bottom: 3rem;
}

.abr-cart-layout__main {
	min-width: 0;
}

.abr-cart-layout__sidebar {
	position: sticky;
	top: 100px;
}

/* ── Cart Table ── */
body.woocommerce table.shop_table.cart,
body.woocommerce-page table.shop_table.cart {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	overflow: hidden;
	margin-bottom: 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

body.woocommerce table.shop_table.cart thead th,
body.woocommerce-page table.shop_table.cart thead th {
	background: var(--abr-color-surface-hover, #f8fafc);
	color: var(--abr-color-text-muted, #64748b);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 16px 20px;
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce table.shop_table.cart tbody td,
body.woocommerce-page table.shop_table.cart tbody td {
	padding: 18px 20px;
	vertical-align: middle;
	border: none;
	border-top: 1px solid var(--abr-color-border, #f1f5f9);
	font-size: 0.95rem;
}

/* Remove Item Button */
body.woocommerce table.shop_table.cart a.remove,
body.woocommerce-page table.shop_table.cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #ef4444;
	background: transparent;
	text-decoration: none;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	transition: var(--abr-woo-transition);
}

body.woocommerce table.shop_table.cart a.remove:hover,
body.woocommerce-page table.shop_table.cart a.remove:hover {
	background: #fee2e2;
	color: #b91c1c;
}

/* Thumbnail */
body.woocommerce table.shop_table.cart td.product-thumbnail img,
body.woocommerce-page table.shop_table.cart td.product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--abr-color-border, #e2e8f0);
	display: block;
}

/* Product Name */
body.woocommerce table.shop_table.cart td.product-name a,
body.woocommerce-page table.shop_table.cart td.product-name a {
	font-weight: 600;
	color: var(--abr-color-heading, #0f172a);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.woocommerce table.shop_table.cart td.product-name a:hover,
body.woocommerce-page table.shop_table.cart td.product-name a:hover {
	color: var(--abr-color-primary, #6366f1);
}

/* Quantity Input */
body.woocommerce table.shop_table.cart td.product-quantity .qty,
body.woocommerce-page table.shop_table.cart td.product-quantity .qty {
	width: 60px;
	height: 40px;
	padding: 0 6px;
	text-align: center;
	font-weight: 600;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-surface, #ffffff);
}

/* Subtotal */
body.woocommerce table.shop_table.cart td.product-subtotal,
body.woocommerce-page table.shop_table.cart td.product-subtotal {
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
}

/* ── Cart Table Actions (Coupon & Buttons) ── */
body.woocommerce table.shop_table.cart td.actions,
body.woocommerce-page table.shop_table.cart td.actions {
	padding: 20px;
	background: var(--abr-color-surface-hover, #f8fafc);
	border-top: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce table.shop_table.cart td.actions .coupon,
body.woocommerce-page table.shop_table.cart td.actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	float: left;
}

body.woocommerce table.shop_table.cart td.actions .coupon input.input-text,
body.woocommerce-page table.shop_table.cart td.actions .coupon input.input-text {
	height: 42px;
	padding: 0 14px;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: #ffffff;
	font-size: 0.9rem;
	width: 150px;
	box-sizing: border-box;
}

body.woocommerce table.shop_table.cart td.actions .coupon button.button,
body.woocommerce-page table.shop_table.cart td.actions .coupon button.button {
	height: 42px;
	padding: 0 18px;
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-heading, #1e293b);
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 600;
}

body.woocommerce table.shop_table.cart td.actions .coupon button.button:hover,
body.woocommerce-page table.shop_table.cart td.actions .coupon button.button:hover {
	background: #0f172a;
}

.abr-cart-action-buttons {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	float: right;
}

.abr-cart-action-buttons a.button.abr-btn-secondary {
	height: 42px;
	padding: 0 18px;
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: #ffffff;
	color: var(--abr-color-heading, #1e293b);
	border: 1px solid var(--abr-color-border, #cbd5e1);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: var(--abr-woo-transition);
}

.abr-cart-action-buttons a.button.abr-btn-secondary:hover {
	background: var(--abr-color-surface-hover, #f1f5f9);
	border-color: #94a3b8;
}

body.woocommerce table.shop_table.cart td.actions button[name="update_cart"],
body.woocommerce-page table.shop_table.cart td.actions button[name="update_cart"] {
	height: 42px;
	padding: 0 18px;
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 600;
}

body.woocommerce table.shop_table.cart td.actions button[name="update_cart"]:hover,
body.woocommerce-page table.shop_table.cart td.actions button[name="update_cart"]:hover {
	background: var(--abr-color-primary-dark, #4f46e5);
}

/* ── Cart Totals Box ── */
body.woocommerce .cart-collaterals .cart_totals,
body.woocommerce-page .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 24px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

body.woocommerce .cart-collaterals .cart_totals h2,
body.woocommerce-page .cart-collaterals .cart_totals h2 {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 1.25rem 0;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce .cart-collaterals .cart_totals table.shop_table,
body.woocommerce-page .cart-collaterals .cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	margin-bottom: 1.5rem;
}

body.woocommerce .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-page .cart-collaterals .cart_totals table.shop_table th {
	font-weight: 600;
	color: var(--abr-color-text-muted, #64748b);
	font-size: 0.925rem;
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #f1f5f9);
	background: none;
}

body.woocommerce .cart-collaterals .cart_totals table.shop_table td,
body.woocommerce-page .cart-collaterals .cart_totals table.shop_table td {
	text-align: right;
	padding: 12px 0;
	font-size: 0.95rem;
	color: var(--abr-color-heading, #0f172a);
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #f1f5f9);
}

body.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total th,
body.woocommerce-page .cart-collaterals .cart_totals table.shop_table tr.order-total th,
body.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total td,
body.woocommerce-page .cart-collaterals .cart_totals table.shop_table tr.order-total td {
	border-top: 2px solid var(--abr-color-border, #e2e8f0);
	border-bottom: none;
	padding-top: 16px;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--abr-color-primary, #6366f1);
}

/* Proceed to Checkout Button */
body.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	font-size: 1rem;
	font-weight: 700;
	border-radius: var(--abr-woo-btn-radius, 10px);
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
	transition: var(--abr-woo-transition);
	margin-bottom: 0;
}

body.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--abr-color-primary-dark, #4f46e5);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(99, 102, 241, 0.45);
}

/* ── Empty Cart Screen ── */
.abr-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 4rem 1.5rem;
	background: var(--abr-color-surface, #ffffff);
	border: 1px dashed var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	margin: 2rem 0;
}

.abr-cart-empty__icon {
	color: var(--abr-color-muted, #94a3b8);
	margin-bottom: 1.25rem;
}

.abr-cart-empty__title {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 0.5rem 0;
}

.abr-cart-empty__text {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 1rem;
	max-width: 440px;
	margin: 0 0 1.75rem 0;
	line-height: 1.6;
}

.abr-cart-empty .return-to-shop a.button {
	padding: 12px 28px;
	font-size: 1rem;
	font-weight: 600;
	border-radius: var(--abr-woo-btn-radius, 8px);
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	text-decoration: none;
}

/* ── Mobile Cart Responsiveness (< 992px) ── */
@media (max-width: 991px) {
	.abr-cart-layout {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.abr-cart-layout__sidebar {
		position: static;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.abr-checkout-steps {
		gap: 6px;
		margin-bottom: 2rem;
	}

	.abr-checkout-step {
		font-size: 0.85rem;
	}

	body.woocommerce table.shop_table.cart td.actions .coupon,
	body.woocommerce-page table.shop_table.cart td.actions .coupon,
	.abr-cart-action-buttons {
		float: none;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	body.woocommerce table.shop_table.cart td.actions .coupon input.input-text,
	body.woocommerce-page table.shop_table.cart td.actions .coupon input.input-text,
	body.woocommerce table.shop_table.cart td.actions .coupon button.button,
	body.woocommerce-page table.shop_table.cart td.actions .coupon button.button,
	.abr-cart-action-buttons a.button,
	.abr-cart-action-buttons button.button {
		width: 100%;
		text-align: center;
		justify-content: center;
	}

	body.woocommerce table.shop_table.cart td.actions,
	body.woocommerce-page table.shop_table.cart td.actions {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
}


/* ============================================================
   08. Checkout
   (Populated in Part 8 — woocommerce/checkout/form-checkout.php)
   ============================================================ */

/* ── Checkout Login & Coupon Toggles ── */
body.woocommerce .woocommerce-form-login-toggle,
body.woocommerce-page .woocommerce-form-login-toggle,
body.woocommerce .woocommerce-form-coupon-toggle,
body.woocommerce-page .woocommerce-form-coupon-toggle {
	margin-bottom: 1rem;
}

body.woocommerce form.woocommerce-form-login,
body.woocommerce-page form.woocommerce-form-login,
body.woocommerce form.checkout_coupon,
body.woocommerce-page form.checkout_coupon {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 12px);
	padding: 20px 24px;
	margin-bottom: 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* ── Checkout 2-Column Grid Layout ── */
.abr-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(380px, 1.1fr);
	gap: 36px;
	align-items: start;
	margin-bottom: 3rem;
}

.abr-checkout-layout__main {
	min-width: 0;
}

.abr-checkout-layout__sidebar {
	position: sticky;
	top: 100px;
}

/* ── Customer Details (Billing & Shipping Cards) ── */
body.woocommerce .col2-set#customer_details,
body.woocommerce-page .col2-set#customer_details {
	width: 100%;
	float: none;
	margin: 0;
}

body.woocommerce .col2-set#customer_details .col-1,
body.woocommerce-page .col2-set#customer_details .col-1,
body.woocommerce .col2-set#customer_details .col-2,
body.woocommerce-page .col2-set#customer_details .col-2 {
	width: 100%;
	float: none;
	margin: 0 0 24px 0;
}

body.woocommerce .woocommerce-billing-fields,
body.woocommerce-page .woocommerce-billing-fields,
body.woocommerce .woocommerce-shipping-fields,
body.woocommerce-page .woocommerce-shipping-fields,
body.woocommerce .woocommerce-additional-fields,
body.woocommerce-page .woocommerce-additional-fields {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 28px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
	box-sizing: border-box;
}

body.woocommerce .woocommerce-billing-fields h3,
body.woocommerce-page .woocommerce-billing-fields h3,
body.woocommerce .woocommerce-shipping-fields h3,
body.woocommerce-page .woocommerce-shipping-fields h3,
body.woocommerce .woocommerce-additional-fields h3,
body.woocommerce-page .woocommerce-additional-fields h3 {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 1.25rem 0;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

/* Form Row Fields */
body.woocommerce form.checkout .form-row,
body.woocommerce-page form.checkout .form-row {
	margin: 0 0 16px 0;
	padding: 0;
}

body.woocommerce form.checkout .form-row label,
body.woocommerce-page form.checkout .form-row label {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--abr-color-heading, #334155);
	margin-bottom: 6px;
	display: block;
}

body.woocommerce form.checkout .form-row label .required,
body.woocommerce-page form.checkout .form-row label .required {
	color: #ef4444;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce form.checkout .form-row input.input-text,
body.woocommerce-page form.checkout .form-row input.input-text,
body.woocommerce form.checkout .form-row select,
body.woocommerce-page form.checkout .form-row select,
body.woocommerce form.checkout .form-row textarea,
body.woocommerce-page form.checkout .form-row textarea {
	width: 100%;
	height: 46px;
	border: 1px solid var(--abr-color-border, #cbd5e1);
	border-radius: var(--abr-woo-btn-radius, 8px);
	padding: 0 14px;
	font-size: 0.95rem;
	background: var(--abr-color-surface, #ffffff);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition: var(--abr-woo-transition);
	box-sizing: border-box;
}

body.woocommerce form.checkout .form-row textarea,
body.woocommerce-page form.checkout .form-row textarea {
	height: 110px;
	padding: 12px 14px;
	line-height: 1.5;
}

body.woocommerce form.checkout .form-row input.input-text:focus,
body.woocommerce-page form.checkout .form-row input.input-text:focus,
body.woocommerce form.checkout .form-row select:focus,
body.woocommerce-page form.checkout .form-row select:focus,
body.woocommerce form.checkout .form-row textarea:focus,
body.woocommerce-page form.checkout .form-row textarea:focus {
	outline: none;
	border-color: var(--abr-color-primary, #6366f1);
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

/* ── Order Review Card ── */
.abr-checkout-review-card {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 24px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

.abr-checkout-review__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 1.25rem 0;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

/* Review Order Table */
body.woocommerce table.woocommerce-checkout-review-order-table,
body.woocommerce-page table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	border: none;
	margin-bottom: 1.5rem;
}

body.woocommerce table.woocommerce-checkout-review-order-table th,
body.woocommerce-page table.woocommerce-checkout-review-order-table th {
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #f1f5f9);
	color: var(--abr-color-text-muted, #64748b);
	font-weight: 600;
	font-size: 0.925rem;
	background: none;
}

body.woocommerce table.woocommerce-checkout-review-order-table td,
body.woocommerce-page table.woocommerce-checkout-review-order-table td {
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #f1f5f9);
	color: var(--abr-color-heading, #0f172a);
	font-size: 0.95rem;
	text-align: right;
}

body.woocommerce table.woocommerce-checkout-review-order-table td.product-name,
body.woocommerce-page table.woocommerce-checkout-review-order-table td.product-name {
	text-align: left;
	font-weight: 500;
}

body.woocommerce table.woocommerce-checkout-review-order-table td.product-name strong.product-quantity,
body.woocommerce-page table.woocommerce-checkout-review-order-table td.product-name strong.product-quantity {
	color: var(--abr-color-primary, #6366f1);
	font-weight: 700;
}

body.woocommerce table.woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-page table.woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce table.woocommerce-checkout-review-order-table tr.order-total td,
body.woocommerce-page table.woocommerce-checkout-review-order-table tr.order-total td {
	border-top: 2px solid var(--abr-color-border, #e2e8f0);
	border-bottom: none;
	padding-top: 16px;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--abr-color-primary, #6366f1);
}

/* ── Payment Methods Section ── */
body.woocommerce #payment,
body.woocommerce-page #payment {
	background: var(--abr-color-surface-hover, #f8fafc);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 12px);
	padding: 18px;
	margin-top: 1.5rem;
}

body.woocommerce #payment ul.payment_methods,
body.woocommerce-page #payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

body.woocommerce #payment ul.payment_methods li,
body.woocommerce-page #payment ul.payment_methods li {
	margin: 0 0 12px 0;
	padding: 0 0 12px 0;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce #payment ul.payment_methods li:last-child,
body.woocommerce-page #payment ul.payment_methods li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

body.woocommerce #payment ul.payment_methods li label,
body.woocommerce-page #payment ul.payment_methods li label {
	font-weight: 600;
	color: var(--abr-color-heading, #0f172a);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.95rem;
}

body.woocommerce #payment div.payment_box,
body.woocommerce-page #payment div.payment_box {
	background: #ffffff;
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 0.9rem;
	color: var(--abr-color-text-muted, #475569);
	margin-top: 8px;
	line-height: 1.6;
}

body.woocommerce #payment div.payment_box::before,
body.woocommerce-page #payment div.payment_box::before {
	display: none;
}

body.woocommerce #payment .place-order,
body.woocommerce-page #payment .place-order {
	padding: 16px 0 0 0;
	margin: 0;
}

/* Place Order Button */
body.woocommerce #payment #place_order,
body.woocommerce-page #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	font-size: 1.05rem;
	font-weight: 700;
	border-radius: var(--abr-woo-btn-radius, 10px);
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
	cursor: pointer;
	transition: var(--abr-woo-transition);
	margin-top: 1rem;
}

body.woocommerce #payment #place_order:hover,
body.woocommerce-page #payment #place_order:hover {
	background: var(--abr-color-primary-dark, #4f46e5);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(99, 102, 241, 0.45);
}

/* Terms and Conditions */
body.woocommerce .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-page .woocommerce-terms-and-conditions-wrapper {
	font-size: 0.85rem;
	color: var(--abr-color-text-muted, #64748b);
	margin: 14px 0;
	line-height: 1.5;
}

/* ── Order Received (Thankyou) Page ── */
.abr-order-received {
	max-width: 800px;
	margin: 0 auto 3rem auto;
}

.abr-order-success-card,
.abr-order-failed-card {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 32px;
	text-align: center;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	margin-bottom: 2rem;
}

.abr-order-success__icon {
	color: #16a34a;
	margin-bottom: 1rem;
}

.abr-order-failed__icon {
	color: #dc2626;
	margin-bottom: 1rem;
}

.abr-order-success__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 0.5rem 0;
}

.abr-order-success__desc {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 1rem;
	margin: 0 0 2rem 0;
}

/* Order Overview Grid */
.abr-order-overview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	background: var(--abr-color-surface-hover, #f8fafc);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: 12px;
	padding: 20px;
	margin: 2rem 0 0 0;
	list-style: none;
	text-align: left;
}

.abr-order-overview-grid li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	border: none;
	margin: 0;
	padding: 0;
}

.abr-order-meta__label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--abr-color-text-muted, #94a3b8);
}

.abr-order-meta__val {
	font-size: 1rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
}

/* ── Mobile Checkout Responsiveness ── */
@media (max-width: 991px) {
	.abr-checkout-layout {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.abr-checkout-layout__sidebar {
		position: static;
		width: 100%;
	}
}

@media (max-width: 640px) {
	body.woocommerce .woocommerce-billing-fields,
	body.woocommerce-page .woocommerce-billing-fields,
	.abr-checkout-review-card {
		padding: 20px 16px;
	}

	.abr-order-overview-grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		padding: 16px;
	}
}


/* ============================================================
   09. My Account
   (Populated in Part 9 — woocommerce/myaccount/*.php)
   ============================================================ */

/* ── My Account Layout (2-Column Grid) ── */
.abr-myaccount-layout {
	display: grid;
	grid-template-columns: minmax(260px, 290px) minmax(0, 1fr);
	gap: 36px;
	align-items: start;
	margin-bottom: 3.5rem;
}

.abr-myaccount-layout__nav {
	min-width: 0;
}

.abr-myaccount-layout__content {
	min-width: 0;
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 32px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
	box-sizing: border-box;
}

/* ── Navigation Sidebar & User Profile Card ── */
body.woocommerce .abr-myaccount-nav,
body.woocommerce-page .abr-myaccount-nav {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
	box-sizing: border-box;
}

.abr-myaccount-user-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 16px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

.abr-myaccount-user-card__avatar img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 2px solid var(--abr-color-primary, #6366f1);
}

.abr-myaccount-user-card__info {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.abr-myaccount-user-card__name {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.abr-myaccount-user-card__email {
	font-size: 0.775rem;
	color: var(--abr-color-text-muted, #64748b);
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* Nav Menu Items */
.abr-myaccount-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.abr-myaccount-nav__item {
	margin: 0;
	padding: 0;
}

.abr-myaccount-nav__link {
	display: flex;
	align-items: center;
	padding: 11px 16px;
	font-weight: 600;
	font-size: 0.925rem;
	color: var(--abr-color-text, #475569);
	text-decoration: none;
	border-radius: var(--abr-woo-btn-radius, 8px);
	transition: var(--abr-woo-transition);
}

.abr-myaccount-nav__link:hover {
	color: var(--abr-color-primary, #6366f1);
	background: var(--abr-color-surface-hover, #f8fafc);
	transform: translateX(3px);
}

.abr-myaccount-nav__item.is-active .abr-myaccount-nav__link,
.abr-myaccount-nav__link[aria-current="page"] {
	color: var(--abr-color-primary, #6366f1);
	background: rgba(99, 102, 241, 0.08);
	font-weight: 700;
}

/* ── Dashboard Welcome & Quick Shortcuts ── */
.abr-myaccount-welcome-card {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

.abr-myaccount-welcome__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 8px 0;
}

.abr-myaccount-welcome__title span {
	color: var(--abr-color-primary, #6366f1);
}

.abr-myaccount-welcome__desc {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 0.95rem;
	line-height: 1.65;
	margin: 0;
}

.abr-myaccount-welcome__desc a {
	color: var(--abr-color-primary, #6366f1);
	font-weight: 600;
	text-decoration: none;
}

.abr-myaccount-welcome__desc a:hover {
	text-decoration: underline;
}

/* Dashboard Shortcut Cards */
.abr-myaccount-shortcuts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}

.abr-shortcut-card {
	display: flex;
	flex-direction: column;
	padding: 22px;
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 12px);
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
	transition: var(--abr-woo-transition);
}

.abr-shortcut-card:hover {
	transform: translateY(-3px);
	border-color: rgba(99, 102, 241, 0.3);
	box-shadow: 0 10px 24px -4px rgba(0, 0, 0, 0.08);
}

.abr-shortcut-card__icon {
	color: var(--abr-color-primary, #6366f1);
	margin-bottom: 14px;
	display: inline-flex;
}

.abr-shortcut-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin-bottom: 4px;
}

.abr-shortcut-card__desc {
	font-size: 0.825rem;
	color: var(--abr-color-text-muted, #94a3b8);
	line-height: 1.4;
}

/* ── Login & Register Auth Forms ── */
.abr-login-register-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	max-width: 940px;
	margin: 0 auto 3rem auto;
}

#customer_login:not(.col2-set) .abr-auth-card,
.abr-login-card:only-child .abr-auth-card {
	max-width: 460px;
	margin: 0 auto;
}

.abr-auth-card {
	background: var(--abr-color-surface, #ffffff);
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 14px);
	padding: 32px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

.abr-auth-card__title {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 1.5rem 0;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

.abr-auth-card__extras {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 12px 0 20px 0;
	font-size: 0.875rem;
}

.abr-auth-card__extras a.lost_password {
	color: var(--abr-color-primary, #6366f1);
	text-decoration: none;
	font-weight: 500;
}

.abr-auth-card__extras a.lost_password:hover {
	text-decoration: underline;
}

.abr-auth-card button.button {
	width: 100%;
	height: 48px;
	border-radius: var(--abr-woo-btn-radius, 8px);
	font-weight: 700;
	font-size: 1rem;
	background: var(--abr-color-primary, #6366f1);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

.abr-auth-card button.button:hover {
	background: var(--abr-color-primary-dark, #4f46e5);
}

.abr-auth-card__notice {
	font-size: 0.875rem;
	color: var(--abr-color-text-muted, #64748b);
	line-height: 1.5;
	margin: 12px 0 18px 0;
}

/* ── Customer Orders Table ── */
.abr-myaccount-orders__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--abr-color-heading, #0f172a);
	margin: 0 0 1.25rem 0;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce table.woocommerce-orders-table,
body.woocommerce-page table.woocommerce-orders-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--abr-color-border, #e2e8f0);
	border-radius: var(--abr-woo-card-radius, 12px);
	overflow: hidden;
}

body.woocommerce table.woocommerce-orders-table th,
body.woocommerce-page table.woocommerce-orders-table th {
	background: var(--abr-color-surface-hover, #f8fafc);
	padding: 14px 18px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--abr-color-text-muted, #64748b);
	border: none;
	border-bottom: 1px solid var(--abr-color-border, #e2e8f0);
}

body.woocommerce table.woocommerce-orders-table td,
body.woocommerce-page table.woocommerce-orders-table td {
	padding: 16px 18px;
	font-size: 0.925rem;
	border: none;
	border-top: 1px solid var(--abr-color-border, #f1f5f9);
	vertical-align: middle;
}

.abr-order-number-link {
	font-weight: 700;
	color: var(--abr-color-primary, #6366f1);
	text-decoration: none;
}

.abr-order-number-link:hover {
	text-decoration: underline;
}

/* Status Badges */
.abr-order-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 9999px;
	font-size: 0.775rem;
	font-weight: 600;
	text-transform: capitalize;
	line-height: 1.3;
}

.abr-order-badge--completed {
	background-color: #ecfdf5;
	color: #065f46;
}

.abr-order-badge--processing {
	background-color: #eff6ff;
	color: #1e40af;
}

.abr-order-badge--on-hold,
.abr-order-badge--pending {
	background-color: #fefce8;
	color: #854d0e;
}

.abr-order-badge--cancelled,
.abr-order-badge--failed {
	background-color: #fef2f2;
	color: #991b1b;
}

body.woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button,
body.woocommerce-page table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
	padding: 6px 14px;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: 6px;
}

/* Empty Orders State */
.abr-no-orders-card {
	text-align: center;
	padding: 3rem 1.5rem;
}

.abr-no-orders__icon {
	color: var(--abr-color-muted, #94a3b8);
	margin-bottom: 1rem;
}

.abr-no-orders__text {
	color: var(--abr-color-text-muted, #64748b);
	font-size: 1rem;
	margin: 0 0 1.5rem 0;
}

/* ── Mobile Responsiveness for My Account ── */
@media (max-width: 991px) {
	.abr-myaccount-layout {
		display: flex;
		flex-direction: column;
		gap: 28px;
	}

	.abr-myaccount-layout__nav,
	.abr-myaccount-layout__content {
		width: 100%;
	}

	.abr-login-register-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 640px) {
	.abr-myaccount-layout__content,
	.abr-auth-card {
		padding: 20px 16px;
	}

	.abr-myaccount-nav__list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
	}

	.abr-myaccount-nav__link {
		padding: 8px 12px;
		font-size: 0.85rem;
	}
}


/* ============================================================
   10. Responsive Utilities
   ============================================================ */

@media (max-width: 768px) {
	/* Universal touch-friendly tap targets */
	body.woocommerce a.button,
	body.woocommerce button.button,
	body.woocommerce input.button {
		min-height: 44px;
	}
}


/* ============================================================
   11. RTL Support (Arabic & Hebrew)
   ============================================================ */

body.rtl.woocommerce .abr-badge--sale,
body.rtl.woocommerce-page .abr-badge--sale {
	right: 12px;
	left: auto;
}

@media (max-width: 768px) {
	body.rtl.woocommerce .abr-product-card .abr-badge--sale,
	body.rtl.woocommerce-page .abr-product-card .abr-badge--sale {
		right: 8px;
		left: auto;
	}
}

body.rtl.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
body.rtl.woocommerce-page div.product div.images .woocommerce-product-gallery__trigger {
	left: 12px;
	right: auto;
}

body.rtl.woocommerce .abr-shop-toolbar .woocommerce-ordering select,
body.rtl.woocommerce-page .abr-shop-toolbar .woocommerce-ordering select {
	background-position: left 12px center;
	padding-right: 16px;
	padding-left: 38px;
}

body.rtl.woocommerce .abr-myaccount-nav__link:hover {
	transform: translateX(-3px);
}

body.rtl.woocommerce table.woocommerce-checkout-review-order-table td,
body.rtl.woocommerce-page table.woocommerce-checkout-review-order-table td,
body.rtl.woocommerce .cart-collaterals .cart_totals table.shop_table td,
body.rtl.woocommerce-page .cart-collaterals .cart_totals table.shop_table td {
	text-align: left;
}

body.rtl.woocommerce table.woocommerce-checkout-review-order-table td.product-name,
body.rtl.woocommerce-page table.woocommerce-checkout-review-order-table td.product-name {
	text-align: right;
}

body.rtl.woocommerce .abr-order-overview-grid {
	text-align: right;
}

