/* GBB calm-curator layer: compact purchase UI, server-rendered cart and clear focus. */
:root {
	--gbb-paper: #f7f4ee;
	--gbb-surface: #fffdfa;
	--gbb-ink: #292824;
	--gbb-muted: #615d56;
	--gbb-line: #e5dfd6;
	--gbb-red: #e30613;
	--gbb-red-text: #a50813;
}
html { scroll-behavior: smooth; }
body { color: var(--gbb-ink); }
body :is(a,button,input,select,textarea):focus-visible {
	outline: 3px solid var(--gbb-red) !important;
	outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* The previous inset red border disappeared visually inside the dark header. */
.whb-header .whb-gbb_product_search .searchform:focus-within {
	outline: 3px solid #fff !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 6px var(--gbb-red) !important;
}
.whb-header .whb-gbb_product_search .searchform :is(input,.s):focus-visible {
	outline: 0 !important;
}

/* Preserve the bold GBB character without a full-screen first fold. */
.gbb-home-hero { min-height: 450px !important; background: var(--gbb-paper) !important; }
.gbb-home-hero__copy { padding: clamp(28px,4vw,62px) !important; }
.gbb-home-hero__lead { margin-top: 18px !important; }
.gbb-home-hero__actions { margin-top: 23px !important; }
.gbb-home-button { min-height: 48px !important; font-size: 14px !important; }
.gbb-home-section { padding-top: clamp(38px,5vw,65px) !important; }
.gbb-home-section__heading { margin-bottom: 20px !important; }
.gbb-home__eyebrow { color: var(--gbb-red-text) !important; }

/* The classic Woo cart is present in the first HTML response; no React wait. */
body.woocommerce-cart .main-page-wrapper { background: var(--gbb-paper) !important; }
body.woocommerce-cart .woocommerce { min-width: 0; }
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals {
	padding: clamp(18px,2vw,30px) !important;
	border: 1px solid var(--gbb-line) !important;
	border-radius: 22px !important;
	background: var(--gbb-surface) !important;
	box-shadow: 0 10px 32px rgba(30,25,18,.045) !important;
}
body.woocommerce-cart .woocommerce-cart-form table,
body.woocommerce-cart .cart_totals table { width: 100%; border: 0 !important; background: transparent !important; }
body.woocommerce-cart .woocommerce-cart-form :is(th,td),
body.woocommerce-cart .cart_totals :is(th,td) { border: 0 !important; background: transparent !important; color: var(--gbb-ink) !important; }
body.woocommerce-cart .woocommerce-cart-form thead th {
	padding: 0 10px 15px !important; border-bottom: 1px solid var(--gbb-line) !important;
	color: var(--gbb-muted) !important; font-size: 12px !important; font-weight: 650 !important;
	letter-spacing: .02em !important; text-transform: none !important;
}
body.woocommerce-cart .woocommerce-cart-form tr.cart_item td { padding-block: 22px !important; border-bottom: 1px solid var(--gbb-line) !important; }
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 86px !important; height: 86px !important; padding: 5px !important;
	border-radius: 15px !important; background: #f4f0e9 !important; object-fit: contain !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-name a { color: var(--gbb-ink) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.35 !important; }
body.woocommerce-cart .woocommerce-cart-form .product-name a:hover { color: var(--gbb-red-text) !important; }
body.woocommerce-cart .woocommerce-cart-form .product-subtotal { font-weight: 750 !important; }
body.woocommerce-cart .woocommerce-cart-form .quantity { min-width: 110px !important; border: 1px solid var(--gbb-line) !important; border-radius: 999px !important; background: #fff !important; }
body.woocommerce-cart .woocommerce-cart-form .quantity :is(button,input) { min-height: 40px !important; background: transparent !important; color: var(--gbb-ink) !important; }
body.woocommerce-cart .woocommerce-cart-form .quantity input { width: 40px !important; text-align: center !important; }
body.woocommerce-cart .woocommerce-cart-form .remove { color: var(--gbb-muted) !important; }
body.woocommerce-cart .woocommerce-cart-form .wd-cart-action-row td { padding: 18px 0 0 !important; }
body.woocommerce-cart .woocommerce-cart-form .cart-actions { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 10px !important; }
body.woocommerce-cart .woocommerce-cart-form .coupon {
	display: flex !important; flex: 1 1 250px !important; align-items: center !important; gap: 8px !important;
	min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon input {
	flex: 1 1 140px !important; min-width: 0 !important; min-height: 45px !important;
	height: 45px !important; max-height: 45px !important;
	padding: 0 14px !important; border: 1px solid var(--gbb-line) !important;
	border-radius: 12px !important; background: #fff !important; color: var(--gbb-ink) !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon button,
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] {
	width: auto !important; min-height: 45px !important; margin: 0 !important; padding: 0 16px !important;
	height: 45px !important; max-height: 45px !important;
	border-radius: 12px !important; background: var(--gbb-ink) !important; color: #fff !important;
	font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important;
}
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled { display: none !important; }
body.woocommerce-cart .cart_totals h2 { margin: 0 0 18px !important; color: var(--gbb-ink) !important; font-size: 25px !important; letter-spacing: -.035em !important; }
body.woocommerce-cart .cart_totals tr { border-bottom: 1px solid var(--gbb-line) !important; }
body.woocommerce-cart .cart_totals :is(th,td) { padding: 13px 0 !important; vertical-align: top !important; }
body.woocommerce-cart .cart_totals th { min-width: 90px !important; padding-right: 15px !important; color: var(--gbb-muted) !important; font-weight: 600 !important; }
body.woocommerce-cart .cart_totals td { text-align: right !important; }
body.woocommerce-cart .woocommerce-shipping-methods { margin: 0 !important; padding: 0 !important; text-align: left !important; }
body.woocommerce-cart .woocommerce-shipping-methods li {
	display: grid !important; grid-template-columns: 20px minmax(0,1fr) !important; align-items: start !important;
	gap: 10px !important; margin: 0 0 7px !important; padding: 10px !important;
	border: 1px solid var(--gbb-line) !important; border-radius: 12px !important; background: #fff !important;
}
body.woocommerce-cart .woocommerce-shipping-methods li:has(input:checked) { border-color: var(--gbb-red) !important; background: #fff8f7 !important; }
body.woocommerce-cart .woocommerce-shipping-methods input { width: 18px !important; height: 18px !important; margin: 2px 0 0 !important; accent-color: var(--gbb-red); }
body.woocommerce-cart .woocommerce-shipping-methods label { margin: 0 !important; color: var(--gbb-ink) !important; font-size: 14px !important; font-weight: 650 !important; line-height: 1.35 !important; cursor: pointer; }
body.woocommerce-cart .woocommerce-shipping-methods small { display: block; margin-top: 4px; color: var(--gbb-muted) !important; font-size: 12px !important; font-weight: 450 !important; line-height: 1.35 !important; }
body.woocommerce-cart .cart_totals :is(.woocommerce-shipping-destination,.woocommerce-shipping-calculator) { text-align: left !important; font-size: 13px !important; }
body.woocommerce-cart .cart_totals .order-total :is(th,td) { color: var(--gbb-ink) !important; font-size: 19px !important; font-weight: 800 !important; }
body.woocommerce-cart .cart_totals .checkout-button {
	display: flex !important; min-height: 54px !important; align-items: center !important; justify-content: center !important;
	margin-top: 16px !important; border-radius: 13px !important; background: var(--gbb-red) !important;
	color: #fff !important; font-size: 16px !important; font-weight: 750 !important; line-height: 1.2 !important;
}
body.woocommerce-cart .cart_totals .checkout-button:hover { background: var(--gbb-red-text) !important; }

/* Checkout: one readable purchase task at a time, not scattered panels. */
body.woocommerce-checkout .main-page-wrapper { background: var(--gbb-paper) !important; }
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	border: 1px solid var(--gbb-line) !important; border-radius: 20px !important;
	background: var(--gbb-surface) !important; box-shadow: 0 8px 28px rgba(30,25,18,.035) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step { margin-bottom: 12px !important; padding: clamp(18px,2vw,26px) !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__title { color: var(--gbb-ink) !important; font-size: clamp(20px,2vw,25px) !important; font-weight: 730 !important; letter-spacing: -.035em !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-payment-method-description { color: var(--gbb-muted) !important; font-size: 14px !important; line-height: 1.45 !important; }
body.woocommerce-checkout :is(.wc-block-components-text-input input,.wc-block-components-combobox input,.wc-blocks-components-select select) {
	min-height: 52px !important; border: 1px solid var(--gbb-line) !important; border-radius: 11px !important;
	background: #fff !important; color: var(--gbb-ink) !important; font-size: 16px !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option { min-width: 0 !important; border: 1px solid var(--gbb-line) !important; border-radius: 12px !important; background: #fff !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) { border-color: var(--gbb-red) !important; background: #fff8f7 !important; }
body.page-id-9.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) :is(label,span,strong,small,.wc-block-components-radio-control__label,.wc-block-components-radio-control__secondary-label) {
	color: var(--gbb-ink) !important;
}
body.page-id-9.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.page-id-9.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.page-id-9.woocommerce-checkout .wc-block-components-text-input input[type="tel"] {
	border: 1px solid #bcb5aa !important; background: #fff !important; color: var(--gbb-ink) !important;
}
body.page-id-9.woocommerce-checkout .wc-block-components-text-input:focus-within input {
	border-color: var(--gbb-red) !important; box-shadow: 0 0 0 3px rgba(227,6,19,.14) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__label { color: var(--gbb-ink) !important; font-size: 15px !important; font-weight: 700 !important; }
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label { color: var(--gbb-ink) !important; font-size: 14px !important; font-weight: 700 !important; }
body.woocommerce-checkout .wc-block-components-checkbox > label { min-width: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkbox__label { overflow-wrap: anywhere !important; white-space: normal !important; color: var(--gbb-ink) !important; font-size: 14px !important; line-height: 1.45 !important; }
body.woocommerce-checkout .wc-block-checkout__actions { margin-top: 16px !important; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { min-height: 54px !important; border-radius: 13px !important; background: var(--gbb-red) !important; color: #fff !important; font-size: 16px !important; font-weight: 750 !important; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background: var(--gbb-red-text) !important; }

/* Order received: state comes from persisted Woo order, not a bank redirect. */
.gbb-order-confirmation__prelude,
.gbb-order-confirmation__next,
.gbb-order-confirmation__suggestions { max-width: 980px; margin: 18px auto; }
.gbb-order-confirmation__prelude { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: 16px; background: var(--gbb-surface); color: var(--gbb-ink); font-size: 16px; font-weight: 700; }
.gbb-order-confirmation__symbol { display: grid; width: 34px; height: 34px; flex: none; place-items: center; border-radius: 50%; background: var(--gbb-ink); color: #fff; }
.gbb-order-confirmation__prelude--paid .gbb-order-confirmation__symbol { background: var(--gbb-red); }
.gbb-order-confirmation__next { display: flex; flex-wrap: wrap; gap: 10px; }
.gbb-order-confirmation__next a { display: inline-flex; min-height: 46px; align-items: center; padding: 10px 18px; border-radius: 12px; font-size: 14px; font-weight: 700; }
.gbb-order-confirmation__primary { background: var(--gbb-red); color: #fff !important; }
.gbb-order-confirmation__secondary { border: 1px solid var(--gbb-line); background: var(--gbb-surface); color: var(--gbb-ink) !important; }
.gbb-order-confirmation__suggestions { padding: 22px; border-radius: 20px; background: var(--gbb-surface); }
.gbb-order-confirmation__suggestions h2 { margin: 0 0 6px; font-size: 25px; }
.gbb-order-confirmation__suggestions p { color: var(--gbb-muted); font-size: 13px; }
.gbb-order-confirmation__suggestion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.gbb-order-confirmation__suggestion { display: flex; gap: 14px; padding: 12px; border: 1px solid var(--gbb-line); border-radius: 14px; }
.gbb-order-confirmation__suggestion-image { width: 84px; height: 84px; flex: none; border-radius: 12px; background: var(--gbb-paper); }
.gbb-order-confirmation__suggestion-image img { width: 100%; height: 100%; object-fit: contain; }
.gbb-order-confirmation__suggestion h3 { margin: 0 0 6px; font-size: 15px; line-height: 1.3; }
.gbb-order-confirmation__suggestion strong,
.gbb-order-confirmation__suggestion article a { display: block; }

@media (max-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form .cart-actions,
	body.woocommerce-cart .woocommerce-cart-form .wd-cart-action-row,
	body.woocommerce-cart .woocommerce-cart-form .wd-cart-action-row td { height: auto !important; min-height: 0 !important; }
	body.woocommerce-cart .woocommerce-cart-form .coupon { flex: 0 1 auto !important; height: auto !important; }
	.gbb-cart-fulfilment-summary > div > span { grid-template-columns: 36px minmax(0,1fr) !important; }
	.gbb-cart-fulfilment-summary > div > span em { grid-column: 2 !important; justify-self: start !important; }
}

@media (max-width: 767px) {
	.gbb-home-hero { min-height: 0 !important; }
	.gbb-home-hero__copy { min-height: 0 !important; padding: 27px 22px !important; }
	.gbb-home-hero h1 { font-size: clamp(40px,11vw,54px) !important; }
	.gbb-home-hero__lead { font-size: 16px !important; }
	.gbb-home-hero__visual { min-height: 190px !important; }
	.gbb-home-section { padding-top: 38px !important; }
	/* The global 60px toolbar covered Woodmart's fixed purchase action. */
	body.single-product .wd-toolbar { display: none !important; }
	body.single-product .wd-sticky-btn { z-index: 380 !important; bottom: 0 !important; }
	body.single-product .single-product-page .woocommerce-product-gallery :is(.woocommerce-product-gallery__image,.wd-carousel-item) > a { min-height: 0 !important; height: min(70vw,205px) !important; }
	body.single-product .single-product-page .woocommerce-product-gallery :is(.woocommerce-product-gallery__image,.wd-carousel-item) img { max-height: min(70vw,195px) !important; object-fit: contain !important; }
	body.single-product { padding-bottom: 68px; }
	.trp-floating-switcher { --bottom: 74px !important; }
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart_totals { padding: 16px !important; border-radius: 17px !important; }
	.gbb-cart-fulfilment-summary { gap: 8px !important; padding: 12px !important; }
	.gbb-cart-fulfilment-summary header { display: grid !important; gap: 2px !important; }
	.gbb-cart-fulfilment-summary header strong { font-size: 13px !important; text-align: left !important; }
	.gbb-cart-fulfilment-summary > div { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	.gbb-cart-fulfilment-summary > div > span { display: grid !important; grid-template-columns: 1fr !important; min-height: 62px !important; gap: 1px !important; padding: 9px !important; }
	.gbb-cart-fulfilment-summary i { display: none !important; }
	.gbb-cart-fulfilment-summary > div > span strong { font-size: 13px !important; }
	.gbb-cart-fulfilment-summary > div > span em { font-size: 12px !important; }
	.gbb-cart-fulfilment-summary > p { font-size: 12px !important; }
	body.woocommerce-cart .woocommerce-cart-form tr.cart_item td { padding-block: 10px !important; }
	body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width: 68px !important; height: 68px !important; }
	body.woocommerce-cart .woocommerce-cart-form .product-name a { font-size: 15px !important; }
	body.woocommerce-cart .woocommerce-cart-form .coupon { display: grid !important; grid-template-columns: minmax(0,1fr) !important; flex: 0 1 auto !important; align-items: stretch !important; width: 100% !important; height: auto !important; }
	body.woocommerce-cart .woocommerce-cart-form .coupon input { flex: 1 1 100% !important; }
	body.woocommerce-cart .woocommerce-cart-form .coupon button { width: 100% !important; max-width: none !important; flex: 1 1 100% !important; }
	body.woocommerce-cart .woocommerce-shipping-methods li { padding: 9px !important; }
	body.woocommerce-cart .cart_totals td { text-align: left !important; }
	body.woocommerce-checkout .wc-block-components-checkout-step { padding: 18px !important; border-radius: 17px !important; }
	body.woocommerce-checkout .wc-block-components-radio-control__option { padding: 11px !important; }
	.gbb-order-confirmation__suggestion-grid { grid-template-columns: 1fr; }
}
