/* Focused commerce shell: one decision per section, no storefront noise. */
:is(.woocommerce-cart,.woocommerce-checkout) .whb-header,
:is(.woocommerce-cart,.woocommerce-checkout) .wd-page-title { display:none !important; }
:is(.woocommerce-cart,.woocommerce-checkout) .main-page-wrapper {
	padding-top:0 !important;
	background:#f4f3ef;
}
.gbb-commerce-focusbar {
	display:grid;
	position:relative;
	z-index:1200;
	grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
	align-items:center;
	min-height:76px;
	padding:12px clamp(18px,3vw,46px);
	border-bottom:1px solid #e8e7e3;
	background:#fff;
}
.gbb-commerce-focusbar a { text-decoration:none !important; }
.gbb-commerce-focusbar__back {
	display:inline-flex;
	align-items:center;
	gap:10px;
	width:max-content;
	color:#171717 !important;
}
.gbb-commerce-focusbar__back span { color:#e30613; font-size:22px; line-height:1; }
.gbb-commerce-focusbar__back strong { font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.gbb-commerce-focusbar__brand { display:grid; justify-items:center; color:#171717 !important; line-height:1; }
.gbb-commerce-focusbar__brand strong { font-size:26px; font-weight:950; letter-spacing:-.075em; }
.gbb-commerce-focusbar__brand small { margin-top:5px; font-size:6px; font-weight:800; letter-spacing:.12em; }
.gbb-commerce-focusbar__status { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.gbb-commerce-focusbar__status span { display:none; }
.gbb-commerce-focusbar__status em {
	display:flex;
	width:36px;
	height:36px;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#e30613;
	color:#fff;
	font-size:11px;
	font-style:normal;
	font-weight:850;
}

.woocommerce-checkout .gbb-footer,
.woocommerce-checkout .wd-toolbar,
.woocommerce-cart .wd-toolbar { display:none !important; }
.woocommerce-checkout .site-content { padding:28px 0 46px; }
.woocommerce-checkout .wc-block-checkout { max-width:1320px; margin-inline:auto; }
/* Server-rendered only until Woo Blocks is ready: visible immediately, with
 * stable geometry instead of an empty screen or a full-page blocking overlay. */
.woocommerce-checkout .wp-block-woocommerce-checkout.is-loading { display:none !important; }
.woocommerce-checkout .gbb-checkout-initial-loader:has(+ .wp-block-woocommerce-checkout:not(.is-loading)) { display:none !important; }
.woocommerce-checkout .gbb-checkout-initial-loader { width:100%; max-width:1320px; margin:0 auto; padding:28px 12px 0; }
.gbb-checkout-loader__heading { display:flex; align-items:center; gap:14px; margin:0 0 24px; color:#292929; }
.gbb-checkout-loader__mark { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:12px; background:#e30613; color:#fff; font-size:24px; font-weight:900; letter-spacing:-.08em; }
.gbb-checkout-loader__heading strong { display:block; font-size:19px; line-height:1.3; }
.gbb-checkout-loader__heading p { margin:2px 0 0; color:#666; font-size:13px; line-height:1.4; }
.gbb-checkout-loader__grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.65fr); align-items:start; gap:24px; }
.gbb-checkout-loader__steps { display:grid; gap:10px; }
.gbb-checkout-loader__card { display:grid; align-content:start; gap:18px; min-height:126px; padding:22px; border:1px solid #eae9e4; border-radius:18px; background:#fff; }
.gbb-checkout-loader__steps .gbb-checkout-loader__card:first-child { min-height:278px; }
.gbb-checkout-loader__summary { min-height:336px; }
.gbb-checkout-loader__line { height:16px; border-radius:8px; background:#eeede9; animation:gbb-checkout-shimmer 1.4s ease-in-out infinite alternate; }
.gbb-checkout-loader__line:nth-child(1) { width:42%; height:20px; }
.gbb-checkout-loader__line:nth-child(2) { width:100%; }
.gbb-checkout-loader__line:nth-child(3) { width:86%; }
.gbb-checkout-loader__line:nth-child(4) { width:94%; }
.gbb-checkout-loader__line:nth-child(5) { width:62%; }
@keyframes gbb-checkout-shimmer { from { background:#eeede9; } to { background:#e3e2dd; } }
@media (max-width:1024px) {
	.gbb-checkout-loader__grid { grid-template-columns:minmax(0,1fr); gap:10px; }
	.gbb-checkout-loader__summary { min-height:140px; }
}
@media (prefers-reduced-motion:reduce) {
	.gbb-checkout-loader__line { animation:none; }
}
/* Keep Woo's real per-section pending states visible and quiet while shipping
 * and totals recalculate; never cover or disable the rest of the form. */
.woocommerce-checkout .wc-block-components-skeleton__element {
	border-radius:7px;
	background:#eeede9;
	animation:gbb-checkout-shimmer 1.4s ease-in-out infinite alternate;
}
.woocommerce-checkout .wc-block-components-spinner {
	color:#e30613;
}
@media (prefers-reduced-motion:reduce) {
	.woocommerce-checkout .wc-block-components-skeleton__element { animation:none; }
}
.woocommerce-checkout .wc-block-components-checkout-step {
	margin:0 0 10px !important;
	padding:18px 20px !important;
	border:0 !important;
	border-radius:18px;
	background:#fff !important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading { margin-bottom:14px !important; }
.woocommerce-checkout .wc-block-checkout__main { counter-reset:gbb-checkout-step; }
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__title {
	display:flex;
	align-items:center;
	gap:10px;
	font-size:18px !important;
	letter-spacing:-.025em;
}
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__title::before {
	display:flex;
	width:26px;
	height:26px;
	flex:0 0 26px;
	align-items:center;
	justify-content:center;
	border:1px solid #deddd8;
	border-radius:50%;
	color:#e30613;
	content:counter(gbb-checkout-step);
	counter-increment:gbb-checkout-step;
	font-size:10px;
	font-weight:850;
}
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__title[data-gbb-label] {
	font-size:0 !important;
}
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__title[data-gbb-label]::after {
	color:#171717;
	content:attr(data-gbb-label);
	font-size:18px;
	font-weight:inherit;
	letter-spacing:-.025em;
	line-height:1.2;
}
.woocommerce-checkout .wc-block-components-checkout-step__description { color:#686868 !important; font-size:11px !important; }
.woocommerce-checkout .wc-block-components-radio-control { border:0 !important; border-radius:15px !important; background:#f4f3ef !important; }
.woocommerce-checkout .wc-block-components-radio-control__option {
	min-height:58px;
	margin:5px !important;
	padding:13px 14px !important;
	border:0 !important;
	border-radius:12px !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
	background:#171717 !important;
	color:#fff !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) :is(span,strong,label) { color:#fff !important; }
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-address-form select {
	min-height:52px !important;
	border:1px solid transparent !important;
	border-radius:13px !important;
	background:#f4f3ef !important;
	box-shadow:none !important;
}
.woocommerce-checkout .wc-block-components-text-input {
	display:flex !important;
	flex-direction:column !important;
	gap:6px !important;
}
.woocommerce-checkout .wc-block-components-text-input label {
	position:static !important;
	order:0 !important;
	margin:0 !important;
	padding:0 !important;
	transform:none !important;
	background:transparent !important;
	color:#363636 !important;
	font-size:14px !important;
	font-weight:750 !important;
	line-height:1.25 !important;
}
.woocommerce-checkout .wc-block-components-text-input input {
	order:1 !important;
	padding:0 14px !important;
}
.woocommerce-checkout .wc-block-components-text-input .wc-block-components-validation-error {
	order:2 !important;
	margin:0 !important;
	font-size:12px !important;
	line-height:1.45 !important;
	color:#b00010 !important;
}
.woocommerce-checkout .wc-block-components-text-input .wc-block-components-validation-error p { margin:0 !important; }
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-address-form select:focus { border-color:#e30613 !important; box-shadow:0 0 0 3px rgba(227,6,19,.1) !important; }
body.woocommerce-checkout.gbb-courier-selected .wc-block-components-text-input :is(#shipping-address_1,#shipping-city) {
	background:#faf9f6 !important;
	border:1.5px solid #a69f95 !important;
	box-shadow:0 1px 2px rgba(26,23,20,.05) !important;
}
body.woocommerce-checkout.gbb-courier-selected .wc-block-components-text-input :is(#shipping-address_1,#shipping-city):focus {
	background:#fff !important;
	border-color:#e30613 !important;
	box-shadow:0 0 0 3px rgba(227,6,19,.12) !important;
}
body.woocommerce-checkout.gbb-courier-selected label[data-gbb-required-label] { font-size:0 !important; }
body.woocommerce-checkout.gbb-courier-selected label[data-gbb-required-label]::after {
	content:attr(data-gbb-required-label);
	font-size:14px;
	font-weight:750;
	line-height:1.25;
}
body.woocommerce-checkout .gbb-delivery-selection-status {
	margin:12px 4px 0 !important;
	padding:10px 13px !important;
	border-radius:10px;
	background:#f6f3ee;
	color:#332e29;
	font-size:13px;
	font-weight:650;
	line-height:1.4;
}
body.woocommerce-checkout .gbb-delivery-selection-status::after { content:attr(data-gbb-status); }
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	min-height:58px !important;
	border-radius:14px !important;
	background:#e30613 !important;
	color:#fff !important;
	font-size:12px !important;
	font-weight:850 !important;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background:#171717 !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text[data-gbb-label] {
	font-size:0 !important;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text[data-gbb-label]::after {
	content:attr(data-gbb-label);
	font-size:12px;
	font-weight:850;
	letter-spacing:.06em;
	line-height:1.3;
}
.woocommerce-checkout .wc-block-checkout__terms {
	color:#686868 !important;
	font-size:11px !important;
	font-weight:550 !important;
	line-height:1.45 !important;
}
.woocommerce-checkout .wc-block-checkout__actions_row,
.woocommerce-checkout .wc-block-components-checkout-place-order-button { width:100% !important; max-width:none !important; }
.woocommerce-checkout .trp-floating-switcher {
	position:absolute !important;
	top:224px !important;
	right:24px !important;
	bottom:auto !important;
}
.woocommerce-checkout .gbb-language-switcher {
	position:absolute !important;
	z-index:1300 !important;
	top:14px !important;
	right:calc(clamp(18px,3vw,46px) + 48px) !important;
	bottom:auto !important;
}

/* Stable order-summary geometry on the desktop sidebar. */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item {
	display:grid !important;
	grid-template-columns:64px minmax(0,1fr) !important;
	grid-template-rows:auto auto !important;
	gap:4px 12px !important;
	align-items:center !important;
	padding:12px 0 !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image {
	display:grid !important;
	position:relative !important;
	grid-column:1 !important;
	grid-row:1 / 3 !important;
	width:64px !important;
	min-width:64px !important;
	height:76px !important;
	padding:7px !important;
	place-items:center !important;
	overflow:hidden !important;
	border-radius:13px !important;
	background:#f4f3ef !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img {
	display:block !important;
	width:100% !important;
	height:100% !important;
	max-width:58px !important;
	max-height:70px !important;
	padding:0 !important;
	background:transparent !important;
	object-fit:contain !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity {
	top:-5px !important;
	right:-5px !important;
	width:20px !important;
	min-width:20px !important;
	height:20px !important;
	padding:0 !important;
	border-radius:50% !important;
	background:#171717 !important;
	color:#fff !important;
	font-size:9px !important;
	line-height:20px !important;
	text-align:center !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity > span[aria-hidden="true"] { display:block !important; color:#fff !important; line-height:20px !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__description {
	grid-column:2 !important;
	grid-row:1 !important;
	min-width:0 !important;
	padding:0 !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-product-name {
	margin:0 !important;
	font-size:14px !important;
	line-height:1.35 !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices { display:none !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price {
	grid-column:2 !important;
	grid-row:2 !important;
	justify-self:end !important;
	align-self:end !important;
	margin:0 !important;
	white-space:nowrap;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item {
	display:grid !important;
	grid-template-columns:minmax(0,1fr) auto !important;
	gap:7px 14px !important;
	align-items:start !important;
	padding:7px 0 !important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__value { margin-left:auto !important; text-align:right !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__description { grid-column:1 / -1 !important; font-size:10px !important; line-height:1.35 !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-panel__button { display:flex !important; align-items:center !important; gap:8px !important; width:100% !important; }

@media (min-width:1025px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout {
		padding-top:28px !important;
	}
	body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
		display:grid !important;
		grid-template-columns:minmax(0,1.55fr) minmax(340px,.65fr) !important;
		gap:24px !important;
		align-items:start !important;
		padding-top:0 !important;
	}
	body.woocommerce-checkout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		width:100% !important;
		max-width:none !important;
		margin:0 !important;
	}
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		position:sticky !important;
		top:118px !important;
		align-self:start !important;
		padding:20px !important;
		border:0 !important;
		border-radius:18px !important;
		background:#fff !important;
	}
}

/* Pickup address is persisted by the checkout controller; the shopper only
 * supplies recipient contacts. Courier methods reveal the delivery fields. */
.woocommerce-checkout.gbb-pickup-selected :is(
	.wc-block-components-address-form__address_1,
	.wc-block-components-address-form__address_2,
	.wc-block-components-address-form__city,
	.wc-block-components-address-form__state,
	.wc-block-components-address-form__postcode,
	.wc-block-components-address-form__country
) { display:none !important; }
.woocommerce-checkout :is(
	.wc-block-components-address-form__company,
	.wc-block-components-address-form__address_2,
	.wc-block-components-address-form__state,
	.wc-block-components-address-form__postcode,
	.wc-block-components-address-form__country
) { display:none !important; }
.woocommerce-checkout.gbb-pickup-selected .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__description { display:none; }
.woocommerce-checkout.gbb-pickup-selected .wc-block-checkout__use-address-for-billing { display:none !important; }
.woocommerce-checkout.gbb-pickup-selected .wc-block-components-address-card {
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:14px !important;
	margin-bottom:14px !important;
	padding:12px 14px !important;
	border:0 !important;
	border-radius:13px !important;
	background:#f4f3ef !important;
}
.woocommerce-checkout.gbb-pickup-selected .wc-block-components-address-card address {
	margin:0 !important;
	color:#363636 !important;
	font-size:11px !important;
	font-style:normal !important;
	line-height:1.35 !important;
}
.woocommerce-checkout.gbb-pickup-selected .wc-block-components-address-card__edit {
	flex:0 0 auto !important;
	color:#e30613 !important;
	font-size:10px !important;
	font-weight:800 !important;
	letter-spacing:.035em !important;
	text-transform:uppercase !important;
}

/* Woo moves the order summary above the mobile submit button. Restore a clear
 * product row and separate totals after that responsive relocation. */
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-woocommerce-checkout-order-summary-block {
	padding:16px !important;
	border:0 !important;
	border-radius:18px;
	background:#f5f4f1;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item {
	display:grid !important;
	grid-template-columns:54px minmax(0,1fr) !important;
	grid-template-rows:auto auto !important;
	gap:4px 10px !important;
	align-items:center !important;
	padding:12px 0 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image {
	position:relative !important;
	width:54px !important;
	min-width:54px !important;
	grid-column:1 !important;
	grid-row:1 / 3 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image img {
	display:block !important;
	width:54px !important;
	height:64px !important;
	object-fit:contain !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__quantity {
	top:-5px !important;
	right:-5px !important;
	width:20px !important;
	min-width:20px !important;
	max-width:20px !important;
	height:20px !important;
	padding:0 5px !important;
	border-radius:999px !important;
	background:#171717 !important;
	color:#fff !important;
	font-size:9px !important;
	line-height:20px !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__quantity > span[aria-hidden="true"] {
	display:block !important;
	color:#fff !important;
	font-size:9px !important;
	line-height:20px !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__description {
	grid-column:2 !important;
	grid-row:1 !important;
	min-width:0 !important;
	padding:0 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__total-price {
	grid-column:2 !important;
	grid-row:2 !important;
	justify-self:end !important;
	align-self:end !important;
	margin:0 !important;
	white-space:nowrap;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-product-name {
	margin:0 !important;
	font-size:14px !important;
	line-height:1.35 !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__individual-prices { display:none !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-panel__button {
	display:flex !important;
	align-items:center !important;
	gap:8px !important;
	width:100% !important;
	padding:10px 0 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-panel__button-icon {
	display:none !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-totals-coupon .wc-block-components-panel__button::after {
	content:"+";
	display:flex;
	width:22px;
	height:22px;
	margin-left:auto;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#fff;
	font-size:16px;
	font-weight:700;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"]::after { content:"−"; }
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-totals-item {
	display:grid !important;
	grid-template-columns:minmax(0,1fr) auto !important;
	align-items:flex-start !important;
	gap:16px !important;
	padding:5px 0 !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-totals-item__value {
	margin-left:auto !important;
	text-align:right !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-totals-item__description {
	grid-column:1 / -1 !important;
	font-size:10px !important;
	line-height:1.35 !important;
}

@media (max-width:767px) {
	.gbb-commerce-focusbar { grid-template-columns:1fr auto 1fr; min-height:64px; padding:9px 14px; }
	.gbb-commerce-focusbar__back strong { display:none; }
	.gbb-commerce-focusbar__back span { font-size:24px; }
	.gbb-commerce-focusbar__brand strong { font-size:22px; }
	.gbb-commerce-focusbar__brand small { font-size:5px; }
	.gbb-commerce-focusbar__status span { display:none; }
	.gbb-commerce-focusbar__status em { width:32px; height:32px; font-size:10px; }
	.woocommerce-checkout .trp-floating-switcher { top:12px !important; right:54px !important; }
	.woocommerce-checkout .gbb-language-switcher { top:8px !important; right:50px !important; }
	.woocommerce-checkout .site-content { padding:20px 0; }
	.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout,
	.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout { padding-top:0 !important; }
	.woocommerce-checkout .wc-block-checkout { padding-inline:12px !important; }
	.woocommerce-checkout .wc-block-components-checkout-step { padding:15px 14px !important; border-radius:15px; }
	.woocommerce-checkout .wc-block-components-checkout-step__title { font-size:16px !important; }
	.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__title[data-gbb-label]::after { font-size:16px !important; }
	.woocommerce-checkout .wc-block-components-checkout-place-order-button { width:100% !important; }
	.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wp-block-woocommerce-checkout-order-summary-block { padding:14px !important; border-radius:15px; }
}

/* Cart and checkout control system. Keep native Block behaviour while making
 * every field, radio and checkbox share one deliberate visual proportion. */
:is(.woocommerce-cart,.woocommerce-checkout) input[type="radio"] {
	appearance:none !important;
	width:20px !important;
	height:20px !important;
	min-width:20px !important;
	min-height:20px !important;
	margin:0 12px 0 0 !important;
	border:2px solid #b8b7b2 !important;
	border-radius:50% !important;
	background:#fff !important;
	box-shadow:inset 0 0 0 4px #fff !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) input[type="radio"]:checked {
	border-color:#e30613 !important;
	background:#e30613 !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) input[type="checkbox"] {
	appearance:none !important;
	width:22px !important;
	height:22px !important;
	min-width:22px !important;
	min-height:22px !important;
	max-width:22px !important;
	max-height:22px !important;
	margin:0 !important;
	border:1.5px solid #a9a8a3 !important;
	border-radius:6px !important;
	background:#fff !important;
	box-shadow:none !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) input[type="checkbox"]:checked {
	border-color:#e30613 !important;
	background-color:#e30613 !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:15px 15px !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-checkbox__mark { display:none !important; }
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-checkbox > label {
	grid-template-columns:22px minmax(0,1fr) !important;
	column-gap:12px !important;
	align-items:center !important;
}
.woocommerce-checkout .wc-block-components-checkbox > label > .wc-block-components-validation-error {
	display:block !important;
	grid-column:1 / -1 !important;
	width:100% !important;
	min-width:0 !important;
	max-width:none !important;
	margin:8px 0 0 !important;
	padding:10px 12px !important;
	border-radius:10px !important;
	background:#fff1f2 !important;
	color:#9f0712 !important;
	font-size:11px !important;
	font-weight:700 !important;
	line-height:1.4 !important;
	overflow-wrap:normal !important;
	word-break:normal !important;
}
.woocommerce-checkout .wc-block-components-checkbox > label > .wc-block-components-validation-error p {
	dis:grid !important;
	grid-template-columns:18px minmax(0,1fr) !important;
	gap:8px !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
	align-items:start !important;
}
.woocommerce-checkout .wc-block-components-checkbox > label > .wc-block-components-validation-error svg {
	width:18px !important;
	height:18px !important;
	margin:0 !important;
	fill:#e30613 !important;
}
.woocommerce-checkout .wc-block-components-checkbox > label > .wc-block-components-validation-error span {
	display:block !important;
	min-width:0 !important;
	white-space:normal !important;
	overflow-wrap:break-word !important;
	word-break:normal !important;
}

/* Cart: product cards and summary use the same geometry as checkout. */
.woocommerce-cart .site-content { padding:26px 0 48px !important; }
.woocommerce-cart .wp-block-woocommerce-cart {
	width:min(1320px,calc(100% - 40px)) !important;
	max-width:1320px !important;
	margin-inline:auto !important;
	padding-top:24px !important;
}
.woocommerce-cart .wc-block-cart-items thead {
	border:0 !important;
	border-radius:14px !important;
	background:#f4f3ef !important;
	color:#6b6a66 !important;
}
.woocommerce-cart .wc-block-cart-items thead span {
	color:#6b6a66 !important;
	font-size:9px !important;
	letter-spacing:.1em !important;
}
.woocommerce-cart .wc-block-cart-items tbody tr {
	border-bottom:10px solid #fff !important;
	background:#fff !important;
}
.woocommerce-cart .wc-block-cart-item__image {
	width:104px !important;
	padding:14px 14px 14px 0 !important;
}
.woocommerce-cart .wc-block-cart-item__image a {
	display:grid !important;
	position:relative !important;
	width:90px !important;
	height:108px !important;
	place-items:center !important;
	overflow:hidden !important;
	border-radius:15px !important;
	background:#f4f3ef !important;
}
.woocommerce-cart .wc-block-cart-item__image img {
	display:block !important;
	position:absolute !important;
	inset:8px !important;
	width:100% !important;
	height:100% !important;
	max-width:calc(100% - 16px) !important;
	max-height:calc(100% - 16px) !important;
	min-width:0 !important;
	min-height:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	object-fit:contain !important;
}
.woocommerce-cart .wc-block-cart-item__product { padding:18px 12px !important; vertical-align:middle !important; }
.woocommerce-cart .wc-block-cart-item__total { min-width:112px !important; padding:18px 0 18px 12px !important; vertical-align:middle !important; }
.woocommerce-cart .wc-block-cart-item__wrap { display:grid !important; gap:7px !important; }
.woocommerce-cart .wc-block-components-product-name {
	font-size:15px !important;
	font-weight:750 !important;
	letter-spacing:-.025em !important;
	line-height:1.25 !important;
}
.woocommerce-cart .wc-block-cart-item__prices { margin:0 !important; }
.woocommerce-cart .wc-block-cart-item__quantity { display:flex !important; align-items:center !important; gap:9px !important; padding-top:2px !important; }
.woocommerce-cart .wc-block-components-quantity-selector {
	display:grid !important;
	grid-template-columns:36px 40px 36px !important;
	width:112px !important;
	min-width:112px !important;
	max-width:112px !important;
	height:42px !important;
	margin:0 !important;
	overflow:hidden !important;
	border:0 !important;
	border-radius:12px !important;
	background:#f4f3ef !important;
}
.woocommerce-cart .wc-block-components-quantity-selector :is(button,input) {
	width:auto !important;
	min-width:0 !important;
	height:42px !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	color:#171717 !important;
	font-size:13px !important;
	font-weight:750 !important;
}
.woocommerce-cart .wc-block-cart-item__remove-link {
	display:grid !important;
	width:42px !important;
	height:42px !important;
	min-width:42px !important;
	place-items:center !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:12px !important;
	background:#f4f3ef !important;
	color:#171717 !important;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover { background:#171717 !important; color:#fff !important; }
.woocommerce-cart .wc-block-cart-item__remove-link svg { width:18px !important; height:18px !important; }
.woocommerce-cart .wc-block-components-sidebar {
	padding:22px !important;
	border:0 !important;
	border-radius:20px !important;
	background:#f4f3ef !important;
}
.woocommerce-cart .wc-block-components-sidebar .wc-block-components-title { text-align:left !important; }
.woocommerce-cart .wc-block-cart__submit-button {
	min-height:56px !important;
	border:0 !important;
	border-radius:14px !important;
	background:#e30613 !important;
	color:#fff !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) .gbb-language-switcher {
	position:absolute !important;
	z-index:1300 !important;
	top:14px !important;
	right:calc(clamp(18px,3vw,46px) + 48px) !important;
	bottom:auto !important;
}

/* Product rows inside the responsive checkout summary. */
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item {
	grid-template-columns:74px minmax(0,1fr) !important;
	min-height:92px !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image {
	width:70px !important;
	min-width:70px !important;
	height:82px !important;
	padding:7px !important;
	overflow:hidden !important;
	border-radius:13px !important;
	background:#fff !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image img {
	width:100% !important;
	height:100% !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	object-fit:contain !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__quantity {
	top:-6px !important;
	right:-6px !important;
}

@media (min-width:768px) and (max-width:1024px) {
	.woocommerce-cart .wp-block-woocommerce-cart { width:min(100% - 48px,920px) !important; }
	.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart { display:block !important; }
	.woocommerce-cart .wc-block-cart__sidebar { position:static !important; margin-top:24px !important; }
	.woocommerce-cart .wc-block-cart-item__image { width:118px !important; }
	.woocommerce-cart .wc-block-cart-item__image a { width:96px !important; height:116px !important; }
	.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item {
		grid-template-columns:82px minmax(0,1fr) !important;
	}
	.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image {
		width:78px !important;
		min-width:78px !important;
		height:90px !important;
	}
}

@media (max-width:767px) {
	.woocommerce-cart .site-content { padding:18px 0 82px !important; }
	.woocommerce-cart .wp-block-woocommerce-cart { width:100% !important; padding:0 14px !important; }
	.woocommerce-cart .gbb-language-switcher,
	.woocommerce-checkout .gbb-language-switcher { top:8px !important; right:50px !important; }
	.woocommerce-cart .gbb-cart-fulfilment-summary { margin-bottom:18px !important; }
	.woocommerce-cart .wc-block-cart-items,
	.woocommerce-cart .wc-block-cart-items tbody { display:block !important; width:100% !important; }
	.woocommerce-cart .wc-block-cart-items tbody tr.wc-block-cart-items__row {
		display:grid !important;
		grid-template-columns:82px minmax(0,1fr) !important;
		grid-template-rows:auto auto !important;
		gap:0 10px !important;
		width:100% !important;
		min-height:132px !important;
		margin-bottom:10px !important;
		padding:14px !important;
		border:0 !important;
		border-radius:18px !important;
		background:#fff !important;
		box-shadow:0 10px 28px rgba(0,0,0,.045) !important;
	}
	.woocommerce-cart .wc-block-cart-item__image {
		display:block !important;
		grid-column:1 !important;
		grid-row:1 / 3 !important;
		width:82px !important;
		padding:0 !important;
	}
	.woocommerce-cart .wc-block-cart-item__image a { width:82px !important; height:104px !important; }
	.woocommerce-cart .wc-block-cart-item__image img { padding:7px !important; }
	.woocommerce-cart .wc-block-cart-item__product {
		display:block !important;
		grid-column:2 !important;
		grid-row:1 !important;
		min-width:0 !important;
		padding:2px 0 !important;
	}
	.woocommerce-cart .wc-block-cart-item__total {
		display:flex !important;
		grid-column:2 !important;
		grid-row:2 !important;
		min-width:0 !important;
		align-items:center !important;
		justify-content:flex-start !important;
		padding:7px 0 0 !important;
		text-align:left !important;
	}
	.woocommerce-cart .wc-block-cart-item__prices { display:none !important; }
	.woocommerce-cart .wc-block-components-product-name { font-size:13px !important; }
	.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount { font-size:13px !important; line-height:1.25 !important; }
	.woocommerce-cart .wc-block-cart-item__quantity { gap:7px !important; margin-top:8px !important; }
	.woocommerce-cart .wc-block-components-quantity-selector {
		grid-template-columns:32px 34px 32px !important;
		width:98px !important;
		min-width:98px !important;
		max-width:98px !important;
		height:38px !important;
	}
	.woocommerce-cart .wc-block-components-quantity-selector :is(button,input) { height:38px !important; }
	.woocommerce-cart .wc-block-cart-item__remove-link { width:38px !important; height:38px !important; min-width:38px !important; }
	.woocommerce-cart .wc-block-cart__sidebar { margin-top:18px !important; padding:18px !important; border-radius:18px !important; }
	.woocommerce-cart .wc-block-cart__submit-button { min-height:54px !important; }
	.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item {
		grid-template-columns:66px minmax(0,1fr) !important;
		min-height:84px !important;
	}
	.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-order-summary-item__image {
		width:62px !important;
		min-width:62px !important;
		height:74px !important;
	}
}
