/* ==========================================================================
   WooCommerce pages: cart, account, notices, product.
   Covers both classic shortcode pages and the Cart/Checkout blocks.
   (CheckoutWC, if active, styles its own checkout screen.)
   ========================================================================== */

.woo-body { --wc-primary: var(--red); }
.woo-body .wrap > .woocommerce,
.woo-body .wp-block-woocommerce-cart,
.woo-body .wp-block-woocommerce-checkout { margin-top: 8px; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px; padding: .7em 1.4em;
	border: 2px solid var(--ink); border-radius: 999px;
	background: var(--ink); color: var(--white);
	font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.1;
	box-shadow: 0 3px 0 0 rgba(23, 21, 19, .9);
	text-decoration: none;
	transition: transform .15s, background-color .15s;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .checkout-button,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--red) !important; border-color: var(--red) !important; color: var(--white) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover {
	transform: translateY(-1px); color: var(--white);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--red-deep) !important; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .45; padding: .7em 1.4em; }

/* Inputs */
.woocommerce form .input-text, .woocommerce select, .woocommerce-page form .input-text,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input {
	border: 2px solid var(--line-strong) !important; border-radius: 10px !important;
	background: var(--white) !important; padding: .7em .9em; font: inherit;
}
.woocommerce form .input-text:focus, .wc-block-components-text-input input:focus { border-color: var(--ink) !important; outline: none; box-shadow: 0 0 0 3px rgba(240, 179, 35, .45); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	border: 2px solid var(--ink) !important; border-radius: var(--radius) !important;
	background: var(--white) !important; color: var(--ink) !important;
	box-shadow: 0 4px 0 0 var(--ink);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--red) !important; }
.woocommerce-error { border-color: var(--red) !important; box-shadow: 0 4px 0 0 var(--red); }
.woocommerce-message { border-top-width: 2px !important; }

/* Classic cart table */
.woocommerce table.shop_table {
	border: 2px solid var(--ink); border-radius: var(--radius-lg); border-collapse: separate; overflow: hidden;
	background: var(--white);
}
.woocommerce table.shop_table th { font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; color: var(--muted); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line); padding: 14px 16px; }
.woocommerce table.cart img { width: 72px; border-radius: 10px; }
.woocommerce a.remove { color: var(--red) !important; border: 1px solid var(--line-strong); }
.woocommerce a.remove:hover { background: var(--red); color: var(--white) !important; }
.woocommerce td.product-name dl.variation { font-size: .88rem; color: var(--muted); }
.woocommerce td.product-name dl.variation dt { font-weight: 700; color: var(--ink-2); }

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
	background: var(--white); border: 2px solid var(--ink); border-radius: var(--radius-lg); padding: 22px;
	box-shadow: 0 6px 0 0 var(--ink);
}
.woocommerce .cart_totals h2 { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: 1.6rem; }
.woocommerce .cart_totals table.shop_table { border: 0; box-shadow: none; }

/* Cart/Checkout blocks */
.wc-block-cart, .wc-block-checkout { font-family: var(--font-body); }
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart .wc-block-components-sidebar {
	background: var(--white); border-radius: var(--radius-lg);
}
.wc-block-cart .wc-block-cart__sidebar { border: 2px solid var(--ink); border-radius: var(--radius-lg); padding: 20px !important; background: var(--white); box-shadow: 0 6px 0 0 var(--ink); }
.wc-block-cart-items { background: var(--white); border-radius: var(--radius-lg); }
.wc-block-components-product-name { font-weight: 700; color: var(--ink) !important; text-decoration: none; }
.wc-block-components-totals-item__label, .wc-block-components-totals-footer-item { font-family: var(--font-body); }
.wc-block-components-title, .wc-block-cart__totals-title {
	font-family: var(--font-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em;
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: .65em 1em; border-radius: 10px; text-decoration: none; font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: var(--white); }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--kraft); color: var(--ink); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon {
	border: 2px solid var(--ink) !important; border-radius: var(--radius-lg) !important; background: var(--white); padding: 24px !important;
}

/* Product pages / shop grid (rarely used, kept tidy) */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; font-weight: 700; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-weight: 800; }
.woocommerce span.onsale { background: var(--red); border-radius: 999px; min-height: 0; padding: .3em .8em; line-height: 1.4; }
.woocommerce div.product .product_title { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 4vw, 3rem); }
.woocommerce-breadcrumb { font-size: .88rem; color: var(--muted) !important; margin-top: 24px !important; }

@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive tr td::before { color: var(--muted); }
}
