/* ================================================================
   ManufactureX — WooCommerce stylesheet
   Integrates WooCommerce with Xometry design tokens
   ================================================================ */

/* Store Notice */
p.demo_store, .woocommerce-store-notice {
	background-color: var(--xom-blue-100);
	color: var(--xom-white);
}

/* Notices, Errors, Info */
.woocommerce-message, 
.woocommerce-error, 
.woocommerce-info {
	background-color: var(--xom-blue-5);
	color: var(--xom-primary);
	border-top-color: var(--xom-blue-100);
	border-radius: var(--xom-radius);
	box-shadow: var(--xom-shadow-sm);
}
.woocommerce-message::before, 
.woocommerce-info::before {
	color: var(--xom-blue-100);
}
.woocommerce-error {
	border-top-color: #e7364f;
}
.woocommerce-error::before {
	color: #e7364f;
}

/* Buttons */
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt {
	background-color: var(--xom-blue-100);
	color: var(--xom-white);
	border-radius: var(--xom-radius);
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	transition: var(--xom-transition);
	font-family: var(--xom-font);
}
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover {
	background-color: var(--xom-blue-125);
	color: var(--xom-white);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(14,106,237,0.35);
}

.woocommerce #respond input#submit.disabled, 
.woocommerce #respond input#submit:disabled, 
.woocommerce #respond input#submit:disabled[disabled], 
.woocommerce a.button.disabled, 
.woocommerce a.button:disabled, 
.woocommerce a.button:disabled[disabled], 
.woocommerce button.button.disabled, 
.woocommerce button.button:disabled, 
.woocommerce button.button:disabled[disabled], 
.woocommerce input.button.disabled, 
.woocommerce input.button:disabled, 
.woocommerce input.button:disabled[disabled] {
	color: var(--xom-body-light);
	background-color: var(--xom-light-grey);
}

/* Forms & Inputs */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea {
	border-radius: var(--xom-radius);
	border: 1.5px solid var(--xom-border);
	padding: 0.65rem 0.875rem;
	font-family: var(--xom-font);
}
.woocommerce form .form-row input.input-text:focus, 
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: var(--xom-blue-100);
	box-shadow: 0 0 0 3px rgba(14,106,237,0.12);
}

/* Typography */
.woocommerce ul.products li.product h3, 
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--xom-primary);
	font-weight: 700;
	font-size: 1.1rem;
}
.woocommerce div.product .product_title {
	color: var(--xom-primary);
	font-weight: 800;
	font-size: 2rem;
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
	color: var(--xom-blue-100);
	font-weight: 700;
}

/* Product Grid */
.woocommerce ul.products li.product {
	background: var(--xom-white);
	border: 1.5px solid var(--xom-border);
	border-radius: var(--xom-radius-lg);
	padding: 1rem;
	transition: var(--xom-transition);
}
.woocommerce ul.products li.product:hover {
	box-shadow: var(--xom-shadow);
	border-color: var(--xom-blue-100);
	transform: translateY(-2px);
}
.woocommerce ul.products li.product a img {
	border-radius: var(--xom-radius);
	margin-bottom: 1rem;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: 1px solid var(--xom-border);
}
.woocommerce nav.woocommerce-pagination ul li {
	border-right: 1px solid var(--xom-border);
}
.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--xom-blue-10);
	color: var(--xom-blue-100);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	border-bottom: 2px solid var(--xom-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
}
.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 {
	padding: 0.75rem 1.25rem;
	font-family: var(--xom-font);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--xom-body-light);
	display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--xom-blue-100);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--xom-primary);
}

/* Tables (Cart / Checkout) */
.woocommerce table.shop_table {
	border-collapse: separate;
	border-radius: var(--xom-radius-lg);
	border: 1.5px solid var(--xom-border);
}
.woocommerce table.shop_table th {
	background: var(--xom-blue-5);
	color: var(--xom-primary);
	font-weight: 700;
}
.woocommerce table.shop_table td {
	border-top: 1px solid var(--xom-border);
}

/* Sale Badge */
.woocommerce span.onsale {
	background-color: var(--xom-light-green);
	color: var(--xom-primary);
	border-radius: 100px;
	padding: 0.25rem 0.75rem;
	font-weight: 700;
	font-size: 0.8rem;
	min-height: auto;
	min-width: auto;
	line-height: 1.5;
	border: 1px solid rgba(220,242,125,0.3);
}
