/* Global refinements that Elementor's Site Kit can't express. Keep this small. */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:focus-visible { outline: 2px solid #B8964F; outline-offset: 3px; }

/* WooCommerce buttons — locked colour system (Homepage Blueprint, "Homepage framing and buttons"):
   primary actions in Deep Eucalyptus #43533B; supporting actions as a restrained eucalyptus outline. */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button {
	background: transparent; color: #43533B; border: 1px solid #43533B; border-radius: 3px;
	font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: 14px; letter-spacing: .14em; text-transform: uppercase;
	padding: 13px 22px; line-height: 1.2; transition: background .2s, color .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce-page a.button:hover, .woocommerce-page button.button:hover, .woocommerce-page input.button:hover {
	background: #F3F6EF; color: #37452F; border-color: #37452F;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.woocommerce a.checkout-button, .woocommerce #place_order, .woocommerce .single_add_to_cart_button {
	background: #43533B; color: #FAF8F0; border-color: #43533B;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce a.checkout-button:hover, .woocommerce #place_order:hover, .woocommerce .single_add_to_cart_button:hover {
	background: #37452F; color: #FAF8F0; border-color: #37452F;
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce button.button.disabled {
	opacity: .5; cursor: not-allowed; background: transparent; color: #43533B;
}
.woocommerce a.checkout-button, .woocommerce #place_order { font-size: 15px; padding: 16px 24px; }

/* Gallery zoom trigger: WooCommerce draws it in black; use the text colour. */
.woocommerce-product-gallery__trigger > span { display: none; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before { border-color: #4B3A2F; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after { background: #4B3A2F; }

/* Zip's "learn more" pop-up sets overflow:hidden on <body>, which removes the page scrollbar in browsers that
   show one (Chrome with scroll bars always on), so the page jumped sideways as it opened (client 19/10/2026).
   Giving <html> the scrollbar keeps it in place; Zip's setting then only stops the page scrolling behind the pop-up. */
html:has(.zip-widget__wrapper) { overflow-y: scroll; }

/* Zip pop-up shaking (client video 20/10/2026, cart page): the pop-up's overlay scrolls, and when Zip's content is about
   the window's height its scrollbar appears and disappears, the width changes, the text re-wraps, Zip resizes its frame,
   and it repeats. Reserving the scrollbar's space keeps the width fixed (no empty track is drawn when nothing scrolls). */
.zip-widget__popup__overlay-external-modal { scrollbar-gutter: stable; }

/* Header cart drawer (Elementor menu cart, 21/10/2026): item prices were Elementor's default light grey (#D5D8DC),
   now the text colour; "View cart" wrapped onto two lines in the 137px button, so both buttons keep one line with
   less side padding. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .quantity,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price .amount { color: #4B3A2F; }
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button {
	white-space: nowrap; padding-left: 12px; padding-right: 12px;
}
