/* ==========================================================================
   WooCommerce Global Overrides
   Jay Anderson Art — jay-anderson-art theme
   Replaces dequeued WooCommerce default stylesheets.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Hide WooCommerce coming soon block
   -------------------------------------------------------------------------- */

.wp-block-woocommerce-coming-soon {
	display: none !important;
}

/* --------------------------------------------------------------------------
   1. WooCommerce Notices — success, error, info
   -------------------------------------------------------------------------- */

.woocommerce-notices-wrapper {
	width: 100%;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding: 1rem var(--space-md);
	margin-block-end: var(--space-sm);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	list-style: none;
	border-left: 3px solid var(--color-brown-accent);
	background-color: var(--color-paper-dk-bg);
	color: var(--color-black);
}

.woocommerce-error {
	border-left-color: #c0392b;
	background-color: #fdf0ef;
}

.woocommerce-info {
	border-left-color: var(--color-reverse-type);
}

.woocommerce-message a.button,
.woocommerce-info a.button {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-paper-bg);
	background-color: var(--color-black);
	border: 1px solid var(--color-black);
	padding: 0.5rem 1.25rem;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base);
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover {
	background-color: var(--color-brown-dk-accent);
	border-color: var(--color-brown-dk-accent);
}

/* --------------------------------------------------------------------------
   2. Cart Page
   -------------------------------------------------------------------------- */

/* Page heading */
.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: var(--text-2xl);
	font-weight: 400;
	color: var(--color-black);
	margin-block-end: var(--space-md);
}

/* Empty cart state */
.woocommerce-cart .woocommerce-info {
	display: none;
}

.jaa-cart-empty__message {
	font-family: var(--font-sans);
	font-size: var(--text-lg);
	color: var(--color-black);
	margin-block-end: var(--space-sm);
	text-align: center;
}

.jaa-cart-empty__link {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-black);
	text-decoration: none;
	display: block;
	text-align: center;
	transition: color var(--transition-base);
}

.jaa-cart-empty__link:hover {
	color: var(--color-brown-accent);
}

/* Cart table */
.woocommerce-cart-form .shop_table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-sans);
}

.woocommerce-cart-form .shop_table thead th {
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-black);
	padding-block-end: var(--space-sm);
	border-bottom: var(--border-thin);
	text-align: left;
}

.woocommerce-cart-form .shop_table thead th.product-subtotal,
.woocommerce-cart-form .shop_table thead th.product-price {
	text-align: right;
}

.woocommerce-cart-form .shop_table tbody tr {
	border-bottom: 1px solid var(--color-paper-dk-bg);
}

.woocommerce-cart-form .shop_table tbody td {
	padding-block: var(--space-sm);
	vertical-align: middle;
	font-size: var(--text-sm);
	color: var(--color-black);
}

/* Remove button */
.woocommerce-cart-form .shop_table td.product-remove a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	font-size: var(--text-md);
	color: var(--color-reverse-type);
	text-decoration: none;
	transition: color var(--transition-base);
}

.woocommerce-cart-form .shop_table td.product-remove a.remove:hover {
	color: var(--color-black);
}

/* Product thumbnail */
.woocommerce-cart-form .shop_table td.product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	display: block;
}

/* Product name */
.woocommerce-cart-form .shop_table td.product-name a {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: var(--text-md);
	color: var(--color-black);
	text-decoration: none;
	transition: color var(--transition-base);
}

.woocommerce-cart-form .shop_table td.product-name a:hover {
	color: var(--color-brown-accent);
}

/* Price and subtotal */
.woocommerce-cart-form .shop_table td.product-price,
.woocommerce-cart-form .shop_table td.product-subtotal {
	text-align: right;
	font-size: var(--text-sm);
}

/* Quantity input */
.woocommerce-cart-form .shop_table td.product-quantity .qty {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	border: var(--border-thin);
	background-color: var(--color-paper-bg);
	color: var(--color-black);
	padding: 0.375rem 0.625rem;
	width: 4rem;
	text-align: center;
}

/* Update cart button */
.woocommerce-cart-form .actions .button[name="update_cart"] {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-reverse-type);
	background-color: transparent;
	border: 1px solid var(--color-paper-dk-bg);
	padding: 0.625rem 1.5rem;
	cursor: pointer;
	transition:
		color var(--transition-base),
		border-color var(--transition-base);
}

.woocommerce-cart-form .actions .button[name="update_cart"]:hover:not([disabled]) {
	color: var(--color-black);
	border-color: var(--color-black);
}

/* Cart totals */
.cart-collaterals .cart_totals {
	width: 50%;
	margin-inline-start: auto;
}

.cart_totals h2 {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: var(--text-lg);
	font-weight: 400;
	color: var(--color-black);
	margin-block-end: var(--space-sm);
}

.cart_totals .shop_table {
	width: 100%;
	border-collapse: collapse;
}

.cart_totals .shop_table tr th {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-black);
	padding-block: 0.75rem;
	border-bottom: 1px solid var(--color-paper-dk-bg);
	text-align: left;
	width: 40%;
}

.cart_totals .shop_table tr td {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	color: var(--color-black);
	padding-block: 0.75rem;
	border-bottom: 1px solid var(--color-paper-dk-bg);
	text-align: right;
}

.cart_totals .shop_table tr.order-total th,
.cart_totals .shop_table tr.order-total td {
	font-weight: 500;
	border-bottom: none;
}

/* Proceed to checkout button — brown accent */
.cart_totals .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
	color: var(--color-paper-bg);
	background-color: var(--color-brown-accent);
	border: 1px solid var(--color-brown-accent);
	padding: 1rem 2rem;
	text-decoration: none;
	margin-block-start: var(--space-sm);
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base);
}

.cart_totals .wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--color-brown-dk-accent);
	border-color: var(--color-brown-dk-accent);
}

/* --------------------------------------------------------------------------
   3. Checkout Page
   -------------------------------------------------------------------------- */

/* Page heading */
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: var(--text-2xl);
	font-weight: 400;
	color: var(--color-black);
	margin-block-end: var(--space-md);
}

/* Two-column layout */
.woocommerce-checkout #customer_details {
	width: 55%;
	float: left;
	padding-inline-end: var(--space-lg);
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	width: 40%;
	float: right;
}

.woocommerce-checkout::after {
	content: "";
	display: table;
	clear: both;
}

/* Section headings */
.woocommerce-checkout h3 {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: var(--text-lg);
	font-weight: 400;
	color: var(--color-black);
	margin-block-end: var(--space-sm);
}

/* Form fields */
.woocommerce-checkout .form-row {
	margin-block-end: var(--space-xs);
}

.woocommerce-checkout .form-row label {
	display: block;
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-black);
	margin-block-end: 0.375rem;
}

.woocommerce-checkout .form-row label .required {
	color: var(--color-brown-accent);
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	border: var(--border-thin);
	background-color: var(--color-paper-bg);
	color: var(--color-black);
	padding: 0.75rem 1rem;
	width: 100%;
	border-radius: 0;
	transition: border-color var(--transition-base);
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	outline: none;
	border-color: var(--color-brown-accent);
}

/* Half-width fields side by side */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
	width: 48%;
	display: inline-block;
}

.woocommerce-checkout .form-row-first {
	margin-inline-end: 4%;
}

/* Order review */
.woocommerce-checkout #order_review {
	background-color: var(--color-paper-dk-bg);
	padding: var(--space-md);
}

.woocommerce-checkout #order_review .shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-block-end: var(--space-sm);
}

.woocommerce-checkout #order_review .shop_table thead th {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-black);
	padding-block-end: var(--space-xs);
	border-bottom: var(--border-thin);
	text-align: left;
}

.woocommerce-checkout #order_review .shop_table thead th.product-total {
	text-align: right;
}

.woocommerce-checkout #order_review .shop_table tbody td {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	color: var(--color-black);
	padding-block: 0.625rem;
	border-bottom: 1px solid var(--color-paper-dk-bg);
}

.woocommerce-checkout #order_review .shop_table tbody td.product-total {
	text-align: right;
}

.woocommerce-checkout #order_review .shop_table tfoot tr th,
.woocommerce-checkout #order_review .shop_table tfoot tr td {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding-block: 0.625rem;
	border-bottom: 1px solid var(--color-paper-dk-bg);
}

.woocommerce-checkout #order_review .shop_table tfoot tr td {
	text-align: right;
}

.woocommerce-checkout #order_review .shop_table tfoot .order-total th,
.woocommerce-checkout #order_review .shop_table tfoot .order-total td {
	border-bottom: none;
	font-size: var(--text-sm);
}

/* Payment box */
.woocommerce-checkout #payment {
	background-color: var(--color-paper-bg);
	border: var(--border-thin);
	padding: var(--space-sm);
	margin-block-start: var(--space-sm);
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	color: var(--color-reverse-type);
	line-height: 1.6;
	margin-block-end: var(--space-sm);
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
	color: var(--color-brown-accent);
	text-decoration: none;
}

/* Place order button */
.woocommerce-checkout #payment #place_order {
	display: block;
	width: 100%;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
	color: var(--color-paper-bg);
	background-color: var(--color-black);
	border: 1px solid var(--color-black);
	padding: 1rem 2rem;
	cursor: pointer;
	border-radius: 0;
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base);
}

.woocommerce-checkout #payment #place_order:hover {
	background-color: var(--color-brown-dk-accent);
	border-color: var(--color-brown-dk-accent);
}

/* --------------------------------------------------------------------------
   4. Responsive — tablet (≤ 900px)
   -------------------------------------------------------------------------- */

@media (width <= 900px) {
	.cart-collaterals .cart_totals {
		width: 100%;
	}

	.woocommerce-checkout #customer_details {
		width: 100%;
		float: none;
		padding-inline-end: 0;
	}

	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		width: 100%;
		float: none;
	}
}

/* --------------------------------------------------------------------------
   5. Responsive — mobile (≤ 600px)
   -------------------------------------------------------------------------- */

@media (width <= 600px) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100%;
		display: block;
		margin-inline-end: 0;
	}

	.woocommerce-cart-form .shop_table thead th.product-price {
		display: none;
	}

	.woocommerce-cart-form .shop_table tbody td.product-price {
		display: none;
	}
}
