/* WooCommerce restyle on brand tokens. Cosmetic only: no template overrides,
   so cart, checkout, account and emails keep WooCommerce's own markup and flow. */

/* Buttons → pills */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button:not(.is-link), .wp-block-button__link.add_to_cart_button,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.single_add_to_cart_button {
	border-radius: 999px !important;
	background: var(--m-mustard) !important;
	color: #2C4C3B !important;
	font: 700 16px/1.2 var(--font-body) !important;
	min-height: 48px; padding: 12px 26px !important; border: 0 !important;
}
.woocommerce a.button:hover, .wc-block-components-button:not(.is-link):hover, .single_add_to_cart_button:hover {
	background: #C4A65C !important;
}
.product_type_external, .ms-external .single_add_to_cart_button, a.ms-external { background: var(--m-forest) !important; color: var(--m-oat) !important; }
.product_type_external::after, .ms-external .single_add_to_cart_button::after, a.ms-external::after { content: " ↗"; }

/* Product grids (Product Collection / classic loop) */
.wc-block-product-template, ul.products { gap: 24px !important; }
.wc-block-components-product-image img, .wc-block-grid__product-image img, ul.products li.product img,
.wp-block-woocommerce-product-image img {
	border-radius: 28px; aspect-ratio: 4 / 5; object-fit: cover;
	filter: var(--ms-wash); transition: filter .6s;
}
.wp-block-post-title a, .woocommerce-loop-product__title, .wc-block-components-product-name {
	font-family: var(--font-heading) !important; font-weight: 400 !important; font-size: 22px !important; color: var(--m-forest) !important; text-decoration: none;
}
.wc-block-components-product-price, .price, .wp-block-woocommerce-product-price {
	font-weight: 700; color: var(--m-forest) !important;
}
.wc-block-components-product-sale-badge, .onsale {
	border-radius: 999px !important; background: var(--m-mustard) !important; color: #2C4C3B !important; border: 0 !important;
	font: 700 13px var(--font-body) !important; padding: 5px 14px !important;
}

/* Single product */
.wp-block-woocommerce-product-image-gallery img, .woocommerce-product-gallery img { border-radius: 28px; filter: var(--ms-wash); }
.single-product .wp-block-post-title { font-size: var(--wp--preset--font-size--title); }
.stock { font-weight: 700; }
.stock.out-of-stock { color: var(--m-terra-text); }
.quantity input.qty { border-radius: 999px; min-height: 48px; width: 5em; text-align: center; }
.woocommerce-tabs ul.tabs li a, .wc-tabs li a { border-radius: 999px; }

/* Notices */
.wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: 24px !important; border: 1px solid var(--m-line) !important;
	background: var(--m-surface) !important; color: var(--m-forest) !important;
}

/* Cart + checkout blocks */
.wc-block-components-sidebar-layout .wc-block-components-panel, .wc-block-components-totals-wrapper,
.wc-block-cart-items, .wc-block-checkout__form .wc-block-components-checkout-step {
	border-color: var(--m-line) !important;
}
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea {
	border-radius: 999px !important; background: var(--m-surface) !important; color: var(--m-forest) !important; border-color: var(--m-line) !important;
}
.wc-block-components-text-input label { color: var(--m-forest) !important; }
.wc-block-components-checkout-step__title, .wc-block-cart__totals-title, .wc-block-components-title {
	font-family: var(--font-heading) !important; font-weight: 400 !important; text-transform: none !important; font-size: 22px !important;
}
.wc-block-components-radio-control__option, .wc-block-components-checkbox { color: var(--m-forest); }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option-layout { border-radius: 20px; }

/* Breadcrumbs, pagination */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 14px; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span {
	min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; border-radius: 999px;
}

/* Offline mode keeps form fields readable */
[data-mode="offline"] .wc-block-components-text-input input,
[data-mode="offline"] .wc-block-components-text-input label { color: var(--m-forest) !important; }
