/**
 * Black Ember: Cart, Checkout and My Account pages (Elementor Pro Cart / Checkout / My Account widgets).
 * Loaded only on those pages (handle be-cart-checkout).
 *
 * Colours, type, borders, paddings and button looks come from the widgets' own Style controls
 * (set in scripts/templates/build.php); this file only does what the controls cannot:
 * the reference layout (`.bagpage`, `.it.lg`, `.summary`, `.ship`, `.qty`, `.rm`, `.fine`, `.link`
 * in kit/reference-site/assets/site.css), WooCommerce's own default styles, and the extras printed by
 * includes/woo/class-cart-page.php. Every colour is a custom property with the reference value as
 * fallback; the "Black Ember extras" Style section of the Cart widget sets them.
 */

/* ======================================================================= shared */

.be-site .elementor-widget-woocommerce-cart .woocommerce,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce,
.be-site .elementor-widget-woocommerce-my-account .woocommerce {
	font-family: inherit;
	color: var(--text, #16120E);
}

/* WooCommerce notices (added to cart, coupon applied, errors) in the reference `.note` look. */
.be-site .woocommerce-notices-wrapper:empty { display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce-message,
.be-site .elementor-widget-woocommerce-cart .woocommerce-info,
.be-site .elementor-widget-woocommerce-cart .woocommerce-error,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-message,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-info,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-error,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-message,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-info,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 24px;
	padding: 16px 18px 16px 46px;
	background: var(--be-note-bg, #fff);
	border: 1px solid var(--line, #D8CCBB);
	border-radius: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted, #5F5346);
	list-style: none;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce-message::before,
.be-site .elementor-widget-woocommerce-cart .woocommerce-info::before,
.be-site .elementor-widget-woocommerce-cart .woocommerce-error::before,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-message::before,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-info::before,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-error::before,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-message::before,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-info::before,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-error::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	color: var(--amber, #B97F35);
}
.be-site .elementor-widget-woocommerce-cart .woocommerce-error::before,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-error::before,
.be-site .elementor-widget-woocommerce-my-account .woocommerce-error::before { color: var(--sale, #9A2E1A); }
.be-site .woocommerce-message .button,
.be-site .woocommerce-info .button,
.be-site .woocommerce-error .button {
	order: 2;
	margin-left: auto;
	float: none;
}
.be-site .woocommerce .woocommerce-message a.button,
.be-site .woocommerce .woocommerce-info a.button {
	min-height: 0;
	padding: 0;
	background: none;
	border: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--text, #16120E);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Keyboard focus (WooCommerce and Pro remove outlines on some controls). */
.be-site .elementor-widget-woocommerce-cart :is(a, button, input, select, textarea):focus-visible,
.be-site .elementor-widget-woocommerce-checkout-page :is(a, button, input, select, textarea):focus-visible,
.be-site .elementor-widget-woocommerce-my-account :is(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--amber, #B97F35);
	outline-offset: 2px;
}

/* ======================================================================= cart page */

/* Two columns 1.5fr / 1fr with a 48px gap, one column at 900px and below (`.bagpage`). */
.be-site .elementor-widget-woocommerce-cart .e-cart__container {
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	column-gap: var(--be-cart-gap, 48px);
	row-gap: var(--be-cart-gap, 48px);
}
@media (max-width: 900px) {
	.be-site .elementor-widget-woocommerce-cart .e-cart__container { grid-template-columns: minmax(0, 1fr); }
}
.be-site .elementor-widget-woocommerce-cart .e-cart__column { min-width: 0; }

/* ---- items list (`.it.lg`) */

.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-top: var(--order-summary-items-divider-weight, 1px) solid var(--order-summary-items-divider-color, #D8CCBB);
	border-radius: 0;
	border-collapse: collapse;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody { display: block; }

.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 130px max-content max-content minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr;
	grid-template-areas:
		"thumb name name name total"
		"thumb qty  rm   .    total";
	column-gap: 0;
	align-items: start;
	padding: 22px 0;
	border: 0;
	border-bottom: var(--order-summary-items-divider-weight, 1px) solid var(--order-summary-items-divider-color, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: start !important;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td::before { content: none; display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail { grid-area: thumb; display: block; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name { grid-area: name; min-width: 0; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-price { display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity { grid-area: qty; margin-top: 11px; align-self: start; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove { grid-area: rm; margin: 12px 0 0 14px; align-self: start; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-subtotal { grid-area: total; padding-inline-start: 20px; text-align: end !important; }

/* thumbnail (`.it .th`, v29 radial well) */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail a,
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail > img {
	display: block;
	width: 110px;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--be-thumb-bg, radial-gradient(85% 75% at 50% 32%, #FCF8F1 0%, #F1E7D9 55%, #E2D3BF 100%));
	box-shadow: inset 0 0 0 1px rgba(120, 90, 60, .10);
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	padding: 10%;
	box-sizing: border-box;
	filter: drop-shadow(0 4px 5px rgba(60, 38, 20, .22));
}

/* name + detail line */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart .be-it-name {
	--links-normal-color: var(--product-link-normal-color, var(--text, #16120E));
	--links-hover-color: var(--product-link-hover-color, var(--amber, #B97F35));
	display: block;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: -.01em;
	color: var(--product-link-normal-color, var(--text, #16120E));
	text-decoration: none;
	transition: color .2s;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart .be-it-meta {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--be-it-meta, var(--muted, #5F5346));
}

/* line total */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal,
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal span {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--be-it-price, var(--text, #16120E));
}

/* quantity stepper (`.qty`, `.it .qty button` 32 × 32) */
.be-site .elementor-widget-woocommerce-cart .be-qty {
	display: inline-flex;
	align-items: center;
	border: var(--order-summary-quantity-border-weight, 1px) solid var(--order-summary-quantity-border-color, #D8CCBB);
	background: var(--be-qty-bg, #fff);
	color: var(--be-qty-color, var(--text, #16120E));
}
.be-site .elementor-widget-woocommerce-cart .be-qty .quantity { display: block; margin: 0; }
.be-site.be-site .elementor-widget-woocommerce-cart .be-qty .be-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-height: 0;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.be-site.be-site .elementor-widget-woocommerce-cart .be-qty .be-qty-btn:hover { color: var(--amber, #B97F35); background: transparent; }
.be-site.be-site .elementor-widget-woocommerce-cart .woocommerce .be-qty .input-text.qty {
	width: 26px;
	min-width: 26px;
	height: 32px;
	min-height: 32px;
	max-height: none;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 32px;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
.be-site .elementor-widget-woocommerce-cart .be-qty .input-text.qty::-webkit-outer-spin-button,
.be-site .elementor-widget-woocommerce-cart .be-qty .input-text.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* the same input when the stepper is off */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity > .quantity .input-text.qty {
	width: 64px;
	min-height: 34px;
	max-height: none;
	text-align: center;
	background: #fff;
}

/* "Remove" (`.rm`) */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.cart a.remove {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	min-height: 32px;
	padding: 0;
	border-radius: 0;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
	background: transparent;
}

/* actions row (Update cart): hidden by Pro when "Update Cart Automatically" is on */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody tr:last-child:not(.cart_item) td.actions {
	display: block;
	padding: 16px 0 0;
	border: 0;
}

/* coupon under the items */
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon.e-cart-section { margin-top: 24px; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col { display: flex; gap: 12px; align-items: stretch; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col::before,
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col::after { content: none; display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col-start { flex: 1 1 0; min-width: 0; padding: 0; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col-end { flex: 0 0 auto; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon #coupon_code { width: 100%; height: 100%; min-height: 50px; margin: 0; padding: var(--forms-fields-padding, 12px 14px); line-height: 1.4; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .button { float: none; width: auto; min-height: 50px; margin: 0; }
@media (max-width: 480px) {
	.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .button { padding-inline: 20px; }
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-error-notice { flex-basis: 100%; margin: 6px 0 0; font-size: 12.5px; color: var(--sale, #9A2E1A); }

/* ---- order summary (`.summary`) */

.be-site .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
	display: flex;
	flex-direction: column;
	gap: 14px;
	float: none;
	width: 100%;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals > h2 { order: -1; margin: 0; padding: 0; line-height: 1.7; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals > .blockUI { order: 9; }

/* free-shipping progress (`.ship` with padding 0 / border 0) */
.be-site .elementor-widget-woocommerce-cart .be-cart-ship {
	padding: 0;
	border: 0;
	gap: 10px;
	font-size: 13px;
	line-height: 1.7;
	color: var(--be-ship-text, var(--muted, #5F5346));
}
.be-site .elementor-widget-woocommerce-cart .be-cart-ship .b { background: var(--be-ship-track, var(--line, #D8CCBB)); }
.be-site .elementor-widget-woocommerce-cart .be-cart-ship .b i { background: var(--be-ship-fill, var(--text, #16120E)); }

/* rows (`.summary .ln`) */
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tbody {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr {
	font-size: 14px;
	color: var(--totals-color, var(--muted, #5F5346));
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px 16px;
	padding: 0;
	border: 0;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th,
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table th {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.7;
	color: var(--totals-color, var(--muted, #5F5346));
	text-align: start;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	line-height: 1.7;
	text-align: end !important;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr td::before { content: none; display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr td .woocommerce-Price-amount { font-weight: inherit; }

/* Total (`.ln.t`) */
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total {
	padding-top: 14px;
	border-top: var(--totals-divider-weight, 1px) solid var(--totals-divider-color, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total td { border: 0; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total :is(th, td, td strong, td .woocommerce-Price-amount) {
	font-size: 15px;
	font-weight: 700;
	color: var(--be-total, var(--text, #16120E));
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; }

/* coupon line ("Coupon: welcome10  −$5.70 [Remove]") */
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr.cart-discount td a { margin-inline-start: 8px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

/* shipping: label on the left, one line per method on the right ((•) name … price) */
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals { flex-wrap: nowrap; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals td { flex: 1 1 auto; max-width: 300px; text-align: start !important; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	text-indent: 0;
	line-height: 1.5;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method li input {
	flex: none;
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--text, #16120E);
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method li label {
	display: flex;
	flex: 1;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	color: var(--sections-radio-buttons-color, var(--muted, #5F5346));
	cursor: pointer;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method li label .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals #shipping_method li input:checked + label { color: var(--text, #16120E); }
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination,
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-calculator {
	display: var(--be-ship-details, none);
	margin: 8px 0 0;
	font-size: 12px;
	text-align: start;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-totals .e-cart-content { font-size: 13px; }

/* checkout button, fine print, link */
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 0;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout::before,
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout::after,
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals::before,
.be-site .elementor-widget-woocommerce-cart .woocommerce .cart_totals::after { content: none; display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0;
	text-decoration: none;
	line-height: 1.2;
}
.be-site .elementor-widget-woocommerce-cart .be-fine {
	margin: 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--be-fine, var(--soft, #7A6D5E));
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .be-link {
	--links-normal-color: var(--be-link, var(--soft, #7A6D5E));
	--links-hover-color: var(--be-link-hover, var(--text, #16120E));
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	min-height: 40px;
	margin-top: 14px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .2s, gap .2s;
}
.be-site .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .be-link:hover { gap: 12px; }
.be-site .elementor-widget-woocommerce-cart .be-link svg { flex: none; width: 16px; height: 10px; }
.be-site .elementor-widget-woocommerce-cart .be-link i { font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
	.be-site .elementor-widget-woocommerce-cart .be-link,
	.be-site .elementor-widget-woocommerce-cart .be-cart-ship .b i { transition: none; }
}

/* empty cart (Elementor template chosen in the Cart widget → Additional Options) */
.be-site .elementor-widget-woocommerce-cart .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ======================================================================= checkout page */

/* Same grid as the cart: 1.5fr / 1fr, 48px gap, one column at 900px and below. */
.be-site .elementor-widget-woocommerce-checkout-page .e-checkout__container {
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	column-gap: var(--be-cart-gap, 48px);
	row-gap: 0;
}
@media (max-width: 900px) {
	.be-site .elementor-widget-woocommerce-checkout-page .e-checkout__container { grid-template-columns: minmax(0, 1fr); }
}
.be-site .elementor-widget-woocommerce-checkout-page .e-checkout__column { min-width: 0; }

/* fields (`.fld`): 50px tall inputs, selects and the select2 state picker in the same look */
.be-site .elementor-widget-woocommerce-my-account .woocommerce form .form-row { padding: 0; }
@media (max-width: 1024px) {
	.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout :is(.form-row-first, .form-row-last) { float: none; width: auto; }
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row :is(.input-text, select),
.be-site .elementor-widget-woocommerce-my-account .woocommerce form .form-row :is(.input-text, select) {
	min-height: 50px;
	line-height: 1.4;
	box-shadow: none;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row textarea.input-text { min-height: 120px; }
.be-site .elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single,
.be-site .elementor-widget-woocommerce-my-account .select2-container--default .select2-selection--single {
	height: 50px;
	background: var(--be-field-bg, #fff);
	border: 1px solid var(--line, #D8CCBB);
	border-radius: 0;
}
.be-site .elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered,
.be-site .elementor-widget-woocommerce-my-account .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 48px;
	padding-inline: 14px 34px;
	font-size: 14.5px;
	color: var(--text, #16120E);
}
.be-site .elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow,
.be-site .elementor-widget-woocommerce-my-account .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 10px; }
.be-site .elementor-widget-woocommerce-checkout-page .select2-container--focus .select2-selection--single,
.be-site .elementor-widget-woocommerce-checkout-page .select2-container--open .select2-selection--single { border-color: var(--text, #16120E); }
.be-site .woocommerce form .form-row .required { color: var(--sale, #9A2E1A); text-decoration: none; }
.be-site .woocommerce form .form-row label .optional { font-weight: 400; letter-spacing: .06em; text-transform: none; }
.be-site .woocommerce form .form-row.woocommerce-invalid :is(.input-text, select, .select2-selection) { border-color: var(--sale, #9A2E1A); }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row label.checkbox,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .woocommerce-form__label-for-checkbox {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
.be-site .elementor-widget-woocommerce-checkout-page input[type="checkbox"],
.be-site .elementor-widget-woocommerce-checkout-page input[type="radio"],
.be-site .elementor-widget-woocommerce-my-account input[type="checkbox"],
.be-site .elementor-widget-woocommerce-my-account input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--text, #16120E);
}

/* "Ship to a different address?" reads as a section title */
.be-site .elementor-widget-woocommerce-checkout-page #ship-to-different-address { margin: 0; }

/* order summary table: items, then rows like `.summary .ln` */
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table thead { display: none; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table :is(td, th) {
	padding-inline: 0;
	background: none;
	line-height: 1.6;
	vertical-align: top;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table tbody td.product-name { padding-inline-end: 16px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table :is(td.product-total, tfoot td) { text-align: end; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table tbody td.product-name .product-quantity { color: var(--muted, #5F5346); }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table tfoot th { font-weight: 400; text-align: start; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table.woocommerce-checkout-review-order-table tr.order-total :is(th, td, td strong, td .woocommerce-Price-amount) {
	font-size: 15px;
	font-weight: 700;
	color: var(--text, #16120E);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: start;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	text-indent: 0;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method li label { margin: 0; }

/* payment */
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods {
	padding: 0 0 18px;
	border-bottom: 1px solid var(--line, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; line-height: 1.5; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods li label { margin: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box {
	flex-basis: 100%;
	margin: 6px 0 0;
	padding: 14px 16px;
	border-radius: 0;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box p { margin: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment div.form-row.place-order { margin: 0; padding: 18px 0 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .woocommerce-privacy-policy-text p { margin: 0 0 14px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin-top: 18px;
	line-height: 1.2;
}

/* "Returning customer?" / "Have a code?" boxes and their forms */
.be-site .elementor-widget-woocommerce-checkout-page .e-woocommerce-login-anchor,
.be-site .elementor-widget-woocommerce-checkout-page .e-coupon-anchor { margin-top: 18px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .coupon-container-grid { gap: 12px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .coupon-container-grid .button { min-height: 50px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce .e-login-actions-wrap { gap: 12px; }

/* ======================================================================= my account page */

.be-site .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line, #D8CCBB); }
.be-site .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link a { display: block; text-decoration: none; }
.be-site .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content p { margin: 0 0 14px; }
.be-site .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content mark { background: none; color: var(--text, #16120E); font-weight: 600; }

/* signed out: login + register side by side as white cards */
.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}
.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set::before,
.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set::after { content: none; display: none; }
.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set .u-column1,
.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set .u-column2 { float: none; width: auto; max-width: none; }
@media (max-width: 767px) {
	.be-site .elementor-widget-woocommerce-my-account .u-columns.col2-set { grid-template-columns: minmax(0, 1fr); }
}
.be-site .elementor-widget-woocommerce-my-account .woocommerce form.login,
.be-site .elementor-widget-woocommerce-my-account .woocommerce form.register { margin: 0; border-radius: 0; }
.be-site .elementor-widget-woocommerce-my-account .woocommerce :is(form.login, form.register) .button { min-height: 52px; margin-top: 4px; }
.be-site .elementor-widget-woocommerce-my-account .woocommerce .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.be-site .elementor-widget-woocommerce-my-account .woocommerce .lost_password { margin: 14px 0 0; font-size: 13px; }

/* checkout: shipping method lines (name … price), the single-country field, checkbox labels */
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method li label {
	display: flex;
	flex: 1;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method li label .woocommerce-Price-amount { font-weight: inherit; color: inherit; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table #shipping_method li input:checked + label { color: var(--text, #16120E); }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row .woocommerce-input-wrapper > strong {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 0 14px;
	border: 1px solid var(--line, #D8CCBB);
	background: var(--paper, #F4EDE2);
	font-size: 14.5px;
	font-weight: 400;
	color: var(--text, #16120E);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row label.checkbox,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .woocommerce-form__label-for-checkbox {
	display: block;
	position: relative;
	padding-inline-start: 26px;
	line-height: 1.6;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form :is(label.checkbox, .woocommerce-form__label-for-checkbox) input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: .2em;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce form .form-row select,
.be-site .elementor-widget-woocommerce-my-account .woocommerce form .form-row select { width: 100%; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label { padding: 0; font-weight: 600; color: var(--text, #16120E); }

/* review table as flex rows (name … price), dividers under items and above the total */
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table :is(tbody, tfoot) { display: block; width: 100%; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 0;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr > :is(td, th) {
	display: block;
	max-width: none;
	padding-block: calc(var(--order-summary-rows-gap-top, 7px)) calc(var(--order-summary-rows-gap-bottom, 7px));
	border: 0;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.cart_item {
	border-bottom: var(--order-summary-items-divider-weight, 1px) solid var(--order-summary-items-divider-color, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.cart_item > td { border: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.cart_item:first-child > td { padding-top: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.cart_item td.product-name { flex: 1; min-width: 0; max-width: none; padding-inline-end: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table td.product-total { width: auto; white-space: nowrap; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { flex-direction: column; gap: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { width: 100%; padding-top: 0; text-align: start; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.order-total {
	margin-top: 7px;
	border-top: var(--order-summary-totals-divider-weight, 1px) solid var(--order-summary-totals-divider-color, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.order-total > :is(td, th) { border: 0; padding-top: 14px; padding-bottom: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce table.woocommerce-checkout-review-order-table tr.cart-discount td a { margin-inline-start: 6px; }

/* ======================================================================= order received / view order */

.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order,
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order :is(h2, h3, table, th, td, address, p, li) {
	font-family: var(--f, "Montserrat"), sans-serif;
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-order { display: flex; flex-direction: column; gap: 24px; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-order > p,
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-order > section { margin: 0; }
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-thankyou-order-received {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.7;
	color: var(--text, #16120E);
}
.be-site .elementor-widget-woocommerce-checkout-page .woocommerce-order p:not(.woocommerce-thankyou-order-received) { font-size: 14.5px; line-height: 1.7; color: var(--muted, #5F5346); }
.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 0;
	margin: 0;
	padding: 22px 26px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--line, #D8CCBB);
}
.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0 26px;
	border-right: 1px solid var(--line, #D8CCBB);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--soft, #7A6D5E);
}
.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview li:first-child { padding-inline-start: 0; }
.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview li:last-child { border-right: 0; }
.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview li strong {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--text, #16120E);
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order :is(.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-customer-details h2) {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--soft, #7A6D5E);
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table {
	width: 100%;
	margin: 0;
	padding: 12px 26px;
	background: #fff;
	border: 1px solid var(--line, #D8CCBB);
	border-radius: 0;
	border-collapse: separate;
	font-size: 14px;
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table :is(th, td) {
	padding: 12px 0;
	border: 0;
	border-top: 1px solid var(--line, #D8CCBB);
	background: none;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--muted, #5F5346);
	text-align: start;
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table thead :is(th, td) {
	border-top: 0;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--soft, #7A6D5E);
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table :is(td:last-child, th:last-child) { text-align: end; }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table tbody td.product-name { color: var(--text, #16120E); }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table tfoot tr:nth-last-child(2) :is(th, td) { font-size: 15px; font-weight: 700; color: var(--text, #16120E); }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-order-details table.shop_table a { color: var(--text, #16120E); }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details address {
	padding: 22px 26px;
	background: #fff;
	border: 1px solid var(--line, #D8CCBB);
	border-radius: 0;
	font-size: 14px;
	font-style: normal;
	line-height: 1.7;
	color: var(--muted, #5F5346);
}
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set::before,
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set::after { content: none; display: none; }
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set > .col-1,
.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set > .col-2 { float: none; width: auto; max-width: none; }
@media (max-width: 767px) {
	.be-site :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account) .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); }
	.be-site .elementor-widget-woocommerce-checkout-page ul.woocommerce-order-overview li { flex-basis: 50%; padding: 0; border: 0; }
}
.be-site .elementor-widget-woocommerce-my-account .woocommerce :is(.lost_password, .lost_password a, .woocommerce-privacy-policy-text) { font-family: var(--f, "Montserrat"), sans-serif; }
@media (max-width: 767px) {
	/* Pro equalises the login / register card heights; stacked, they keep their own height */
	.be-site .elementor-widget-woocommerce-my-account .woocommerce :is(form.login, form.register) { height: auto !important; }
}

/* lines without a stepper (sold one at a time, e.g. partials): "Remove" moves under the detail line */
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item:not(:has(.be-qty, input.qty:not([type="hidden"]))) > td.product-quantity { display: none; }
.be-site .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item:not(:has(.be-qty, input.qty:not([type="hidden"]))) > td.product-remove { grid-column: 2 / 4; margin-inline-start: 0; }
