/* ==========================================================================
   Makhanza — shop.css (WooCommerce). Loaded only when WooCommerce is active.
   ========================================================================== */

/* Buttons: bring every WooCommerce button onto the brand pill */
.woocommerce :is(a, button, input).button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
	min-height: 48px; padding: 0 var(--s-5);
	border: 1.5px solid var(--c-black) !important; border-radius: var(--r-pill) !important;
	background: var(--c-black) !important; color: var(--c-white) !important;
	font-family: var(--f-body); font-weight: 600; font-size: var(--t-sm); line-height: 1;
	text-decoration: none; box-shadow: none;
	transition: background-color 160ms var(--ease), border-color 160ms var(--ease);
}
.woocommerce :is(a, button, input).button:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--c-teal-deep) !important; border-color: var(--c-teal-deep) !important; color: var(--c-white) !important;
}
.woocommerce :is(a, button).button.mkz-btn--sm { min-height: 40px; padding: 0 var(--s-4); font-size: var(--t-xs); }
.woocommerce a.button.loading { opacity: 0.6; }
.woocommerce a.button.added::after { content: none; }
.woocommerce a.added_to_cart { display: inline-block; padding-top: var(--s-1); color: var(--c-teal-ink); font-weight: 600; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
	border: 1px solid var(--c-line) !important; border-left: 4px solid var(--c-teal) !important;
	border-radius: var(--r-md) !important; background: var(--c-mist) !important; color: var(--c-black) !important;
	padding: var(--s-4) var(--s-5) !important; margin-bottom: var(--s-5) !important; list-style: none;
}
.woocommerce-error { border-left-color: #C0243A !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button { float: right; }

/* Forms */
.woocommerce form .input-text, .woocommerce form select, .woocommerce .quantity .qty,
.woocommerce-page form .input-text {
	min-height: 48px; padding: 0 var(--s-4);
	border: 1.5px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-white);
}
.woocommerce form textarea.input-text { padding: var(--s-3) var(--s-4); }
.woocommerce form .input-text:focus, .woocommerce .quantity .qty:focus { outline: none; border-color: var(--c-teal); box-shadow: 0 0 0 3px rgba(3, 170, 178, 0.2); }

/* Archive ----------------------------------------------------------------- */
.mkz-wc--archive { padding-bottom: var(--section); }
.woocommerce-breadcrumb { font-size: var(--t-xs); color: var(--c-muted); margin-bottom: var(--s-3); }
.woocommerce-breadcrumb a { color: var(--c-muted); }
.mkz-wc--archive .woocommerce-result-count { margin: 0; color: var(--c-muted); font-size: var(--t-sm); float: left; line-height: 48px; }
.mkz-wc--archive .woocommerce-ordering { float: right; margin: 0 0 var(--s-5); }
.mkz-wc--archive ul.products { clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; float: none; }
.woocommerce ul.products li.product a img { margin: 0; }
.woocommerce-pagination { margin-top: var(--s-7); }
.woocommerce-pagination ul { display: flex; gap: var(--s-2); list-style: none; padding: 0; border: 0 !important; }
.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce-pagination .page-numbers { display: grid !important; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--c-line) !important; border-radius: var(--r-pill); color: var(--c-black); text-decoration: none; }
.woocommerce-pagination .page-numbers.current { background: var(--c-black) !important; color: var(--c-white) !important; }
.woocommerce .star-rating { color: var(--c-teal-ink); font-size: var(--t-xs); margin-bottom: var(--s-3); }

/* Single product ------------------------------------------------------------ */
.mkz-wc--single { padding-block: var(--s-6) var(--section); }
.mkz-wc--single div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--s-5) clamp(2rem, 1rem + 4vw, 5rem); align-items: start; position: relative; }
.mkz-wc--single div.product > .onsale { position: absolute; z-index: 5; top: var(--s-4); left: var(--s-4); padding: var(--s-1) var(--s-3); border-radius: var(--r-pill); background: var(--c-gold); color: var(--c-black); font-weight: 700; font-size: var(--t-xs); min-height: 0; line-height: 1.6; }
.mkz-wc--single .woocommerce-product-gallery {
	width: 100% !important; float: none !important; margin: 0 !important;
	position: sticky; top: calc(var(--header-h) + var(--s-4));
	padding: clamp(1rem, 0.5rem + 2vw, 2rem); border-radius: var(--r-xl);
	background: var(--mkz-c) var(--swirl); background-size: 260px;
}
.mkz-wc--single .woocommerce-product-gallery img { border-radius: var(--r-md); }
.mkz-wc--single .woocommerce-product-gallery__trigger { top: var(--s-5) !important; right: var(--s-5) !important; background: var(--c-white); border-radius: 50%; }
.mkz-wc--single .flex-control-thumbs { display: flex; gap: var(--s-2); margin: var(--s-3) 0 0 !important; padding: 0; list-style: none; }
.mkz-wc--single .flex-control-thumbs li { width: 72px !important; float: none !important; }
.mkz-wc--single .flex-control-thumbs img { border-radius: var(--r-sm); background: var(--c-white); opacity: 0.7; }
.mkz-wc--single .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--c-white); }

.mkz-wc--single .summary { width: 100% !important; float: none !important; margin: 0 !important; }
.mkz-wc--single .product_title { font-size: var(--t-2xl); line-height: 1.05; letter-spacing: -0.025em; margin-bottom: var(--s-3); }
.mkz-wc--single .summary .price { font-family: var(--f-display); font-weight: 800; font-size: var(--t-xl); color: var(--c-black) !important; margin-bottom: var(--s-4); }
.mkz-wc--single .summary .price del { font-family: var(--f-body); font-weight: 400; font-size: var(--t-base); color: var(--c-muted); }
.mkz-wc--single .summary .price ins { text-decoration: none; }
.mkz-wc--single .woocommerce-product-details__short-description { color: var(--c-muted); font-size: var(--t-lg); }
.mkz-wc--single form.cart { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: stretch; margin: var(--s-5) 0 !important; }
.mkz-wc--single form.cart::before, .mkz-wc--single form.cart::after { display: none; }
.mkz-wc--single form.cart .quantity { margin: 0 !important; float: none !important; }
.mkz-wc--single form.cart .qty { width: 88px; height: 52px; text-align: center; border-radius: var(--r-pill); font-weight: 600; }
.mkz-wc--single form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 52px; font-size: var(--t-base); float: none !important; }
.mkz-wc--single .product_meta { font-size: var(--t-xs); color: var(--c-muted); display: grid; gap: var(--s-1); }
.mkz-wc--single .stock { font-weight: 600; }
.mkz-wc--single .stock.in-stock { color: var(--c-teal-ink); }

.mkz-claims { list-style: none; margin: var(--s-5) 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.mkz-claims li { display: inline-flex; align-items: center; gap: var(--s-2); padding: var(--s-2) var(--s-3); border: 1px solid var(--c-line); border-radius: var(--r-pill); font-size: var(--t-xs); font-weight: 600; }
.mkz-claims .mkz-icon { color: var(--mkz-c-ink); }
.mkz-single-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); font-size: var(--t-sm); font-weight: 600; color: var(--c-muted); }
.mkz-single-meta span { margin-right: var(--s-4); }

/* Full-width blocks under the product */
.mkz-wc--single div.product > :is(.mkz-pd, .woocommerce-tabs, .related, .upsells) { grid-column: 1 / -1; }
.mkz-pd { margin-top: var(--s-7); display: grid; gap: var(--s-6); }
.mkz-pd__cook { background: var(--c-black); color: var(--c-white); border-radius: var(--r-xl); padding: clamp(1.5rem, 1rem + 3vw, 3rem); }
.mkz-pd__cook .mkz-h3 { color: var(--c-white); margin-bottom: var(--s-5); }
.mkz-steps--compact p { font-size: var(--t-base); }
.mkz-steps--compact li::before { font-size: 2.5rem; }
.mkz-pd__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--s-7); }
.mkz-pd__grid p { color: var(--c-muted); max-width: 64ch; }
.mkz-ntable { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.mkz-ntable th, .mkz-ntable td { padding: var(--s-3) 0; border-bottom: 1px solid var(--c-line); text-align: left; }
.mkz-ntable th { font-weight: 500; color: var(--c-muted); }
.mkz-ntable td { text-align: right; font-weight: 700; }

.woocommerce-tabs { margin-top: var(--s-7); }
.woocommerce-tabs ul.tabs { display: flex; gap: var(--s-2); list-style: none; margin: 0 0 var(--s-5) !important; padding: 0 !important; border: 0; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after, .woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 1.5px solid var(--c-line) !important; border-radius: var(--r-pill) !important; background: var(--c-white) !important; }
.woocommerce-tabs ul.tabs li a { display: block; padding: var(--s-2) var(--s-5) !important; color: var(--c-black) !important; font-weight: 600; text-decoration: none; }
.woocommerce-tabs ul.tabs li.active { background: var(--c-black) !important; border-color: var(--c-black) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--c-white) !important; }
.woocommerce-tabs .panel { max-width: 72ch; }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.related > h2, .upsells > h2 { font-size: var(--t-2xl); margin: var(--s-8) 0 var(--s-5); }

/* Reviews */
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--c-line); }
#reviews img.avatar { border-radius: 50%; width: 44px; height: 44px; }
#reviews .comment-text { flex: 1; }

/* Cart & checkout (blocks + classic) --------------------------------------- */
.mkz-page--wc { max-width: calc(var(--wrap) + var(--gutter) * 2); }
.mkz-page--wc .mkz-h1 { margin-bottom: var(--s-6); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-size: var(--t-base); }
.wc-block-components-totals-item__value, .wc-block-components-product-price { font-weight: 700; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-blocks-components-select__select {
	border-radius: var(--r-sm) !important; border-color: var(--c-line) !important;
}
.wc-block-components-text-input.is-active input:focus, .wc-block-components-text-input input:focus { box-shadow: 0 0 0 3px rgba(3, 170, 178, 0.2) !important; border-color: var(--c-teal) !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { min-height: 56px !important; font-size: var(--t-base) !important; }
.woocommerce table.shop_table { border-radius: var(--r-lg); border-color: var(--c-line); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--c-mist); border-radius: var(--r-lg); padding: var(--s-5); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: var(--s-1); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); color: var(--c-black); text-decoration: none; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--c-black); color: var(--c-white); }

/* Responsive ------------------------------------------------------------------ */
@media (max-width: 860px) {
	.mkz-wc--single div.product { grid-template-columns: 1fr; }
	.mkz-wc--single .woocommerce-product-gallery { position: relative; top: 0; border-radius: var(--r-lg); }
	.mkz-pd__grid { grid-template-columns: 1fr; gap: var(--s-6); }
	.mkz-wc--archive .woocommerce-result-count, .mkz-wc--archive .woocommerce-ordering { float: none; line-height: 1.5; margin-bottom: var(--s-3); }
}
@media (max-width: 600px) {
	.mkz-wc--single form.cart { position: sticky; bottom: 0; z-index: 20; background: var(--c-white); padding: var(--s-3) 0 calc(var(--s-3) + env(safe-area-inset-bottom)); margin-inline: calc(var(--gutter) * -1) !important; padding-inline: var(--gutter); border-top: 1px solid var(--c-line); }
}

/* Card buttons stay outlined everywhere (home and shop) so the grid reads calm */
.woocommerce .mkz-card :is(a, button).button.mkz-btn--sm { background: transparent !important; color: var(--c-black) !important; }
.woocommerce .mkz-card :is(a, button).button.mkz-btn--sm:hover { background: var(--c-black) !important; color: var(--c-white) !important; border-color: var(--c-black) !important; }
