/*
 * WooCommerce branding for the SmartWatt block theme — brings Woo's default
 * block + classic markup in line with the design tokens. Loaded only when
 * WooCommerce is active.
 */

.woocommerce, .wc-block-grid, .wp-block-woocommerce-all-products, .woocommerce-page { font-family: 'Inter', system-ui, sans-serif; color: var(--sw-body); }

/* Shop header / breadcrumb */
.woocommerce-breadcrumb { color: var(--sw-muted); font-size: .8rem; margin-bottom: 1rem; }
.woocommerce-products-header__title { font-family: 'Golos Text', system-ui, sans-serif; font-weight: 700; color: var(--sw-contrast); }
.woocommerce-result-count, .woocommerce-ordering select { color: var(--sw-muted); font-size: .85rem; }

/* Product grid cards (block + classic) */
ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template li.wc-block-product {
	background: #fff; border: 1px solid var(--sw-border); border-radius: 1rem; padding: 1rem;
	transition: border-color .3s, box-shadow .3s;
}
ul.products li.product:hover,
.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template li.wc-block-product:hover {
	border-color: #cbd5e1; box-shadow: 0 10px 25px -5px rgba(15,23,42,.1);
}

/* Product titles → brand font + contrast (was Woo green) */
.woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-name,
li.wc-block-product .wp-block-post-title,
li.wc-block-product .wp-block-post-title a {
	font-family: 'Golos Text', system-ui, sans-serif !important; font-weight: 700 !important;
	color: var(--sw-contrast) !important; font-size: 1rem; text-decoration: none;
}

/* Neutralize the inline-green subtitle baked into imported product names */
.woocommerce .product-name a span, .woocommerce-loop-product__title span, .wp-block-post-title span, .wp-block-post-title a span, .single-product .product_title span, .wc-block-components-product-name span { color: inherit !important; }

/* Product title color in all Woo contexts (override imported green) */
.single-product .wp-block-post-title, .single-product .wp-block-post-title a, .single-product .product_title,
.post-type-archive-product .wp-block-post-title, .post-type-archive-product .wp-block-post-title a,
.tax-product_cat .wp-block-post-title, .tax-product_cat .wp-block-post-title a,
.wp-block-woocommerce-product-template .wp-block-post-title, .wp-block-woocommerce-product-template .wp-block-post-title a {
	color: var(--sw-contrast) !important; font-family: 'Golos Text', system-ui, sans-serif;
}

/* Product-title links everywhere (cart table, loop, related) — kill imported green */
.woocommerce-loop-product__title a, a.woocommerce-loop-product__title,
.woocommerce td.product-name a, .woocommerce-cart-form .product-name a,
.wc-block-grid__product-title a, .wc-block-cart-item__product-name a {
	color: var(--sw-contrast) !important;
}

/* Price */
.price, .wc-block-grid__product-price, .woocommerce-Price-amount, .wc-block-components-product-price {
	color: var(--sw-primary-hover) !important; font-weight: 700;
}

/* Buttons (classic + block) */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.wc-block-components-button, .wp-element-button.add_to_cart_button, .add_to_cart_button, .single_add_to_cart_button {
	background: var(--sw-primary) !important; color: #fff !important; border: 0 !important;
	border-radius: .5rem !important; font-weight: 700 !important; box-shadow: none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:hover,
.add_to_cart_button:hover, .single_add_to_cart_button:hover { background: var(--sw-primary-hover) !important; }

/* Single product */
.single-product .product_title, .single-product .wp-block-post-title { font-family: 'Golos Text', system-ui, sans-serif; color: var(--sw-contrast); }
.single-product div.product p.price, .single-product .wc-block-components-product-price { font-size: 1.5rem; }

/* WhatsApp buttons */
.swcs-wa-cart-btn, .swcs-wa-product-btn { background: #25D366 !important; color: #fff !important; }
.swcs-wa-product-btn { display: inline-flex; align-items: center; gap: .5rem; margin: .75rem 0 0; padding: .8rem 1.4rem; border-radius: .5rem; font-weight: 700; text-decoration: none; }
.swcs-wa-product-btn:hover { background: #1ebe5d !important; }

/* Cart / checkout (classic shortcode) padding inside our layout */
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { padding-block: 3rem; }

/* ── Cart restyled to the app design (cards + summary sidebar) ── */
body.woocommerce-cart .woocommerce { max-width: 80rem; margin-inline: auto; padding-inline: 1rem; }
@media (min-width: 640px) { body.woocommerce-cart .woocommerce { padding-inline: 1.5rem; } }
@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 0 2.5rem; align-items: start; padding-inline: 2rem; }
	body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
	body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals { grid-column: 2; grid-row: 2; }
}
.woocommerce-cart-form { margin: 0; }
.woocommerce-cart-form table.shop_table { display: block; border: 0; margin: 0; box-shadow: none; }
.woocommerce-cart-form table.shop_table thead { display: none; }
.woocommerce-cart-form table.shop_table tbody { display: flex; flex-direction: column; gap: 1rem; }
.woocommerce-cart-form__cart-item { position: relative; display: grid; grid-template-columns: 5.5rem 1fr; column-gap: 1rem; row-gap: .25rem; align-items: start; border: 1px solid var(--sw-border) !important; border-radius: 1rem; padding: 1rem; background: #fff; }
.woocommerce-cart-form__cart-item td { display: block; padding: 0 !important; border: 0 !important; }
.woocommerce-cart-form__cart-item .product-remove { position: absolute; top: .7rem; right: .9rem; }
.woocommerce-cart-form__cart-item .product-remove a { color: #94a3b8 !important; font-size: 1.1rem; font-weight: 700; text-decoration: none; background: none !important; width: auto !important; height: auto !important; line-height: 1 !important; }
.woocommerce-cart-form__cart-item .product-remove a:hover { color: #ef4444 !important; }
.woocommerce-cart-form__cart-item .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce-cart-form__cart-item .product-thumbnail img { width: 5.5rem; height: 5.5rem; object-fit: contain; border-radius: .6rem; background: #fff; border: 1px solid #f1f5f9; padding: .25rem; }
.woocommerce-cart-form__cart-item .product-name { grid-column: 2; grid-row: 1; font-family: 'Golos Text', system-ui, sans-serif; font-weight: 700; font-size: 1rem; padding-right: 1.5rem; }
.woocommerce-cart-form__cart-item .product-name a { color: var(--sw-contrast) !important; text-decoration: none; }
.woocommerce-cart-form__cart-item .product-name a:hover { color: var(--sw-primary) !important; }
.woocommerce-cart-form__cart-item .product-name .sw-cart-model { display: block; margin-top: .15rem; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .72rem; font-weight: 400; color: var(--sw-muted); }
.woocommerce-cart-form__cart-item .product-price { display: none; }
.woocommerce-cart-form__cart-item .product-quantity { grid-column: 2; grid-row: 2; margin-top: .6rem; }
.woocommerce-cart-form__cart-item .product-quantity .quantity { display: inline-flex; align-items: center; border: 1px solid #cbd5e1; border-radius: .5rem; overflow: hidden; }
.woocommerce-cart-form__cart-item .product-quantity .qty { width: 2.75rem; border: 0; text-align: center; font-weight: 700; padding: .5rem 0; background: #fff; -moz-appearance: textfield; }
.woocommerce-cart-form__cart-item .product-quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form__cart-item .product-quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* React-style −/+ steppers injected by cart.js */
.sw-cqty__btn { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.6rem; border: 0; background: #fff; color: var(--sw-contrast); font-size: 1.15rem; font-weight: 700; line-height: 1; cursor: pointer; }
.sw-cqty__btn:hover { background: #f1f5f9; color: var(--sw-primary); }
.sw-cqty__btn:first-child { border-right: 1px solid #e2e8f0; }
.sw-cqty__btn:last-child { border-left: 1px solid #e2e8f0; }
.woocommerce-cart-form.sw-cart-busy { opacity: .55; pointer-events: none; transition: opacity .15s; }
.woocommerce-cart-form__cart-item .product-subtotal { grid-column: 2; grid-row: 3; margin-top: .5rem; font-family: 'Golos Text', system-ui, sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--sw-contrast); }
.woocommerce-cart-form .actions { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.woocommerce-cart-form .actions .coupon { display: flex; gap: .5rem; }
.woocommerce-cart-form .actions .coupon .input-text { border: 1px solid #cbd5e1; border-radius: .5rem; padding: .6rem .9rem; }

/* Totals -> summary card */
.cart-collaterals { width: 100% !important; float: none !important; }
.cart-collaterals .cross-sells { display: none; }
/* Override WooCommerce's default `width:48%; float:right` so the totals card
   fills our summary column (otherwise it shrinks to ~188px → wrapped totals +
   clipped checkout buttons). */
.cart_totals { width: 100% !important; float: none !important; background: #fff; border: 1px solid var(--sw-border); border-radius: 1rem; padding: 1.5rem; }
@media (min-width: 1024px) { .cart_totals { position: sticky; top: 6.5rem; } }
.cart_totals h2 { font-family: 'Golos Text', system-ui, sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--sw-contrast); margin: 0 0 1rem; text-transform: none; }
.cart_totals table.shop_table { border: 0; width: 100%; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td { border: 0; padding: .35rem 0; }
.cart_totals table.shop_table th { text-align: left; font-weight: 600; color: var(--sw-body); }
.cart_totals table.shop_table td { text-align: right; font-weight: 700; color: var(--sw-contrast); white-space: nowrap; }
.cart_totals .order-total th, .cart_totals .order-total td { border-top: 1px solid var(--sw-border); padding-top: .9rem; font-family: 'Golos Text', system-ui, sans-serif; font-size: 1.25rem; color: var(--sw-contrast); }
.wc-proceed-to-checkout { padding-top: 1.25rem !important; }
.wc-proceed-to-checkout .checkout-button { width: 100%; }
.swcs-wa-cart-btn { margin-top: .75rem !important; }
.sw-cart-trust { margin-top: 1.25rem; display: flex; flex-direction: column; gap: .65rem; font-size: .8rem; color: var(--sw-body); }
.sw-cart-trust span { display: inline-flex; align-items: center; gap: .5rem; }
.sw-cart-trust svg { width: 1.05rem; height: 1.05rem; color: var(--sw-accent); flex: none; }

/* Shop / cart page heading (gives the cart page an h1) */
.sw-shop-head { padding-top: clamp(2rem, 1rem + 3vw, 3.5rem); }
.sw-shop-head .wp-block-post-title { margin: 0; font-family: 'Golos Text', system-ui, sans-serif; font-weight: 800; font-size: clamp(1.75rem, 1.3rem + 2vw, 2.5rem); color: var(--sw-contrast); }

/* WhatsApp-order flow has no shipping calculation — hide the cart shipping row/calculator */
.cart_totals .woocommerce-shipping-totals, .cart_totals tr.shipping, .woocommerce-shipping-calculator { display: none !important; }

/* Mobile: keep all WooCommerce-default form controls at 16px so iOS Safari never
   auto-zooms on focus (login / my-account / coupon / quantity fields). */
@media (max-width: 768px) {
	.woocommerce input.input-text,
	.woocommerce textarea,
	.woocommerce select,
	.woocommerce .quantity input.qty { font-size: 16px; }
}
