/**
 * Site-wide WooCommerce styling for the Bench & Patio Africa design (Bricks child theme).
 *
 * How this site's WooCommerce markup looks - buttons, the header mini cart ("Your quote" dropdown)
 * and the checkout fields / quote summary table. Styles for markup the quote plugin outputs itself
 * (Customise panel, delivery picker, quote lines, thank-you blocks) stay in that plugin.
 *
 * Uses the --ba-* design tokens, which are Bricks global variables (Style manager > Variables >
 * "Bench Africa"). Loaded after the quote plugin's stylesheet (see functions.php).
 */

/* =====================================================================
   Buttons
   ===================================================================== */
/* Buttons (Add to quote, Submit quote request, cart buttons) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.checkout-button,
.woocommerce button[name="add-to-cart"],
.woocommerce .button.alt,
.woocommerce .checkout-button,
.single_add_to_cart_button,
.wc-block-components-product-button__button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
#place_order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: var(--ba-control-h) !important;
	padding: 0 var(--ba-space-5) !important;
	border: var(--ba-border-width) solid var(--ba-primary) !important;
	border-radius: var(--ba-radius) !important;
	background: var(--ba-primary) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: #fff !important;
	transition: background-color .15s ease, border-color .15s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce .button.alt:hover,
.woocommerce .checkout-button:hover,
.single_add_to_cart_button:hover,
.wc-block-components-product-button__button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-button.wc-block-components-product-button .wp-block-button__link:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
#place_order:hover {
	background: var(--ba-primary-dark) !important;
	border-color: var(--ba-primary-dark) !important;
	color: #fff !important;
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce .button.alt:focus-visible,
.single_add_to_cart_button:focus-visible,
.wc-block-cart__submit-button:focus-visible,
#place_order:focus-visible {
	outline: 2px solid var(--ba-primary) !important;
	outline-offset: 2px !important;
}

/* =====================================================================
   Header mini cart (Bricks "Mini cart" element) - quote icon, count, dropdown
   Icon colour/size can still be set in Bricks; these are sensible defaults.
   ===================================================================== */
.brxe-woocommerce-mini-cart .mini-cart-link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border-radius: var(--ba-radius); color: inherit; text-decoration: none; transition: background-color .15s ease; }
.brxe-woocommerce-mini-cart .mini-cart-link:hover { background: rgba(255, 255, 255, .14); }
.brxe-woocommerce-mini-cart .mini-cart-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.brxe-woocommerce-mini-cart .cart-icon { position: relative; display: inline-flex; line-height: 1; }
.brxe-woocommerce-mini-cart .cart-count {
	top: -8px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 0 0 2px var(--ba-primary-dark);
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	color: var(--ba-primary);
}

/* Dropdown / off-canvas panel */
.brxe-woocommerce-mini-cart .cart-detail { padding: var(--ba-space-4); border: var(--ba-border-width) solid var(--ba-border); border-radius: var(--ba-radius-lg); background: var(--ba-surface); box-shadow: 0 8px 24px rgba(0, 0, 0, .12); color: var(--ba-text); }
.brxe-woocommerce-mini-cart .cart-detail.off-canvas { border-radius: 0; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: var(--ba-space-3); align-items: start; margin: 0; padding: var(--ba-space-3) var(--ba-space-5) var(--ba-space-3) 0; border-bottom: var(--ba-border-width) solid var(--ba-border); font-size: var(--ba-fs-sm); line-height: 1.45; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item > a:not(.remove) { display: contents; font-size: var(--ba-fs); font-weight: 700; color: var(--ba-text); text-decoration: none; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item img { grid-row: span 3; width: 56px !important; height: 56px !important; margin: 0 !important; border-radius: var(--ba-radius); object-fit: cover; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item .quantity,
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item .variation { grid-column: 2; margin: 0; color: var(--ba-text-muted); }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item a.remove { position: absolute; top: var(--ba-space-3); right: 0; width: 20px; height: 20px; border-radius: 50%; font-size: 16px; line-height: 20px; text-align: center; color: var(--ba-text-muted) !important; text-decoration: none; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item a.remove:hover { background: var(--ba-tint); color: var(--ba-primary) !important; }
/* Off-canvas: items at the top (scroll if many), subtotal + buttons pinned to the bottom */
.brxe-woocommerce-mini-cart .cart-detail.off-canvas .widget_shopping_cart_content { display: flex; flex-direction: column; justify-content: flex-start !important; height: 100%; min-height: 0; }
.brxe-woocommerce-mini-cart .cart-detail.off-canvas .woocommerce-mini-cart { flex: 0 1 auto; min-height: 0; overflow-y: auto; }
.brxe-woocommerce-mini-cart .cart-detail.off-canvas .woocommerce-mini-cart__total { margin-top: auto !important; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; gap: var(--ba-space-3); margin: 0; padding: var(--ba-space-4) 0 var(--ba-space-3); border-top: var(--ba-border-width) solid var(--ba-border); font-size: var(--ba-fs); }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart-item:last-child { border-bottom: 0; }
/* Buttons stacked, full width (Bricks lays them out in columns via grid-auto-flow: column) */
.brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-auto-flow: row !important; gap: var(--ba-space-2); margin: 0; }
.brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a { width: 100%; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons .button { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 100%; min-height: var(--ba-control-h); margin: 0; white-space: nowrap; line-height: 1.2 !important; padding: 0 var(--ba-space-4) !important; border: var(--ba-border-width) solid var(--ba-primary) !important; border-radius: var(--ba-radius) !important; background: var(--ba-surface) !important; color: var(--ba-primary) !important; font-size: 15px !important; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons .button.checkout { background: var(--ba-primary) !important; color: #fff !important; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons .button:hover { border-color: var(--ba-primary-dark) !important; background: var(--ba-primary-dark) !important; color: #fff !important; }
.brxe-woocommerce-mini-cart .woocommerce-mini-cart__empty-message { margin: 0; padding: var(--ba-space-2) 0; font-size: var(--ba-fs); text-align: center; color: var(--ba-text-muted); }

/* =====================================================================
   Checkout fields and quote summary
   ===================================================================== */
/* Fields: 48px, same border, radius and focus ring as the product page */
form.woocommerce-checkout .form-row { margin-bottom: var(--ba-space-4); }
form.woocommerce-checkout .form-row label { margin-bottom: var(--ba-space-2); }
form.woocommerce-checkout .input-text,
form.woocommerce-checkout select,
form.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: var(--ba-control-h);
	min-height: var(--ba-control-h);
	padding: 0 var(--ba-control-px);
	border: var(--ba-border-width) solid var(--ba-border) !important;
	border-radius: var(--ba-radius) !important;
	background-color: var(--ba-surface);
	box-shadow: none;
	font-size: var(--ba-fs);
	color: var(--ba-text);
}
form.woocommerce-checkout textarea.input-text { height: auto; min-height: 104px; padding: var(--ba-space-3) var(--ba-control-px); line-height: 1.5; }
form.woocommerce-checkout .select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0; }
form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 calc(var(--ba-control-px) + 28px) 0 var(--ba-control-px); line-height: calc(var(--ba-control-h) - 2px); color: var(--ba-text); }
form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: calc(var(--ba-control-h) - 2px); right: var(--ba-control-px); }

/* Checkout dropdowns use the same FAQ-style arrow as the product page */
form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { display: flex; align-items: center; justify-content: flex-end; width: 20px; top: 0; right: var(--ba-control-px); }
form.woocommerce-checkout .woocommerce-input-wrapper:has(> select:not(.select2-hidden-accessible)) { position: relative; display: block; }
form.woocommerce-checkout .woocommerce-input-wrapper > select:not(.select2-hidden-accessible) { padding-right: calc(var(--ba-arrow-inset) + 28px); -webkit-appearance: none; appearance: none; cursor: pointer; }
form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow::after,
form.woocommerce-checkout .woocommerce-input-wrapper:has(> select:not(.select2-hidden-accessible))::after {
	content: "\f125";
	font-family: Ionicons;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	color: var(--ba-primary);
	-webkit-font-smoothing: antialiased;
}
form.woocommerce-checkout .woocommerce-input-wrapper:has(> select:not(.select2-hidden-accessible))::after { position: absolute; right: var(--ba-arrow-inset); top: calc(var(--ba-control-h) / 2); transform: translateY(-50%); pointer-events: none; }
form.woocommerce-checkout .input-text:focus,
form.woocommerce-checkout select:focus,
form.woocommerce-checkout .select2-container--focus .select2-selection--single,
form.woocommerce-checkout .select2-container--open .select2-selection--single { border-color: var(--ba-primary) !important; outline: none; box-shadow: var(--ba-focus-ring); }

/* Quote summary table */
form.woocommerce-checkout #order_review table.shop_table { width: 100%; margin: 0; table-layout: auto; border-color: var(--ba-border); border-radius: var(--ba-radius); background: var(--ba-surface); }
form.woocommerce-checkout #order_review table.shop_table th,
form.woocommerce-checkout #order_review table.shop_table td { padding: var(--ba-space-3) var(--ba-space-4); border-color: var(--ba-border); vertical-align: top; line-height: 1.4; }
form.woocommerce-checkout #order_review table.shop_table .product-total,
form.woocommerce-checkout #order_review table.shop_table tfoot td { width: 1%; text-align: right; white-space: nowrap; }
form.woocommerce-checkout #order_review table.shop_table .product-name { padding-right: var(--ba-space-2); }
form.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
form.woocommerce-checkout #order_review table.shop_table tfoot .order-total td { padding-block: var(--ba-space-4); font-size: 16px; }
/* The payment box only holds the submit area here; drop its nested border/background */
form.woocommerce-checkout #payment { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
form.woocommerce-checkout #order_review .place-order { margin: var(--ba-space-4) 0 0; padding: 0; border: 0; background: none; }

/* Even spacing between the address and "Additional information" blocks */
form.woocommerce-checkout #customer_details { gap: var(--ba-space-2); }
form.woocommerce-checkout #customer_details .col-1,
form.woocommerce-checkout #customer_details .col-2,
form.woocommerce-checkout .woocommerce-billing-fields,
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
form.woocommerce-checkout .woocommerce-shipping-fields,
form.woocommerce-checkout .woocommerce-additional-fields { margin: 0; padding: 0; }
form.woocommerce-checkout #place_order { width: 100%; }

/* Privacy line by the submit button */
form.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 var(--ba-space-4); font-size: 12px; line-height: 1.5; text-align: center; color: var(--ba-text-muted); }
form.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--ba-primary); }

/* =====================================================================
   Product description tables (sizes and prices)
   ===================================================================== */

/* Table blocks in a product description: replaces WordPress's default black grid
   (1px borders on every cell, 3px rule under the head) with the quote-table look. */
.woocommerce-Tabs-panel--description .wp-block-table { margin: var(--ba-space-5) 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.woocommerce-Tabs-panel--description .wp-block-table table { width: 100%; min-width: 480px; table-layout: auto; border-collapse: separate; border-spacing: 0; border: var(--ba-border-width) solid var(--ba-border); border-radius: var(--ba-radius-lg); overflow: hidden; background: var(--ba-surface); font-size: var(--ba-fs); }
.woocommerce-Tabs-panel--description .wp-block-table thead { border: 0; }
.woocommerce-Tabs-panel--description .wp-block-table th,
.woocommerce-Tabs-panel--description .wp-block-table td { padding: var(--ba-space-3) var(--ba-space-4); border: 0; border-bottom: var(--ba-border-width) solid var(--ba-border); text-align: left; vertical-align: middle; line-height: 1.4; word-break: normal; font-variant-numeric: tabular-nums; }
.woocommerce-Tabs-panel--description .wp-block-table thead th { background: var(--ba-tint); color: var(--ba-primary-dark); font-family: var(--ba-font-heading); font-size: var(--ba-fs-sm); font-weight: 600; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap; }
.woocommerce-Tabs-panel--description .wp-block-table tbody td { color: var(--ba-text); }
.woocommerce-Tabs-panel--description .wp-block-table tbody tr:nth-child(even) td { background: var(--ba-surface-muted); }
.woocommerce-Tabs-panel--description .wp-block-table tbody tr:last-child td { border-bottom: 0; }
/* First column names the size; the last column is the price */
.woocommerce-Tabs-panel--description .wp-block-table tbody td:first-child { font-weight: 600; }
.woocommerce-Tabs-panel--description .wp-block-table th:last-child,
.woocommerce-Tabs-panel--description .wp-block-table td:last-child { text-align: right; white-space: nowrap; }
/* Single-size products: no size column, so the first cell is a measurement, not a label */
.woocommerce-Tabs-panel--description .bench-africa-size-table--single tbody td:first-child { font-weight: inherit; }

/* Phones: each size becomes a block - the size name on top, then labelled values
   ("Length (mm) 1800" ... "Price (ex VAT) R9 995,00"). The cells carry data-label. */
@media (max-width: 600px) {
	.woocommerce-Tabs-panel--description .wp-block-table { overflow: visible; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table table { min-width: 0; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table table,
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody,
	.woocommerce-Tabs-panel--description .bench-africa-size-table tr,
	.woocommerce-Tabs-panel--description .bench-africa-size-table td { display: block; width: 100%; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody tr { padding: var(--ba-space-3) var(--ba-space-4); border-bottom: var(--ba-border-width) solid var(--ba-border); }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody tr:last-child { border-bottom: 0; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody tr:nth-child(even) { background: var(--ba-surface-muted); }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody td,
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody tr:nth-child(even) td { display: flex; justify-content: space-between; gap: var(--ba-space-3); padding: 2px 0; border: 0; background: none; text-align: right; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody td:first-child { padding-bottom: var(--ba-space-1); text-align: left; }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody td[data-label]::before { content: attr(data-label); font-weight: 400; text-align: left; color: var(--ba-text-muted); }
	.woocommerce-Tabs-panel--description .bench-africa-size-table tbody td:last-child[data-label] { font-weight: 600; }
	/* Single-size table: one block, no size name */
	.woocommerce-Tabs-panel--description .bench-africa-size-table--single tbody td:first-child { padding-bottom: 2px; }
}

/* =====================================================================
   Product page: gallery, tabs, "Explore more products"
   ===================================================================== */

/* Gallery thumbnails: Bricks fades the ones not shown to 30%, which read as disabled. Keep them clear. */
.woocommerce-product-gallery .flex-control-thumbs img { opacity: 1; border-radius: var(--ba-radius); transition: filter .15s ease; }
.woocommerce-product-gallery .flex-control-thumbs img:hover { filter: brightness(.92); }
/* Main image: same rounded corners as the thumbnails (clips the hover zoom too). */
.woocommerce-product-gallery .woocommerce-product-gallery__image { border-radius: var(--ba-radius); overflow: hidden; }

/* Only one tab (Description) is left, so its tab bar reads as a section heading */
.woocommerce-tabs .wc-tabs:has(> li:only-child) li { padding: 15px 0; border: 0; background: none; }
.woocommerce-tabs .wc-tabs:has(> li:only-child) li a { font-family: var(--ba-font-heading); font-size: var(--ba-fs-title); font-weight: 600; letter-spacing: 1px; color: var(--ba-text); pointer-events: none; }
.woocommerce-tabs .wc-tabs:has(> li:only-child) ~ .panel { padding-inline: 0; }

/* "Explore more products" carousel (single product template, Bricks element bpfvic):
   the whole card opens the product, and the card text is readable. */
#brxe-bpfvic .swiper-slide { position: relative; transition: box-shadow .15s ease, transform .15s ease; }
#brxe-bpfvic .swiper-slide:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
#brxe-bpfvic .swiper-slide h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
#brxe-bpfvic .swiper-slide .dynamic[data-field-id="siknbf"] a { position: relative; z-index: 2; }
#brxe-bpfvic .swiper-slide:hover h3 a { color: var(--ba-primary); }
#brxe-bpfvic .dynamic[data-field-id="siknbf"] { font-size: 10px !important; }
#brxe-bpfvic .dynamic[data-field-id="9fbfbf"] { font-size: 13px !important; line-height: 1.35; }
#brxe-bpfvic .dynamic[data-field-id="kusawh"] { font-size: 12px !important; font-style: normal !important; text-transform: none !important; }

/* =====================================================================
   Quote line details (size, Customise choices, extras) and totals
   ===================================================================== */

/* Checkout "Quote summary": WooCommerce stacks each label and value on separate lines. The product
   column in this card is narrow, so show flowing "Backrests: With (+30%)" lines instead */
form.woocommerce-checkout #order_review dl.variation { display: block; margin: var(--ba-space-2) 0 0; font-size: var(--ba-fs-sm); line-height: 1.45; color: var(--ba-text-muted); }
form.woocommerce-checkout #order_review dl.variation dt { display: inline; float: none; clear: none; margin: 0; padding: 0; font-weight: 600; color: var(--ba-text); }
form.woocommerce-checkout #order_review dl.variation dd { display: inline; float: none; margin: 0; padding: 0; }
form.woocommerce-checkout #order_review dl.variation dd::after { content: ""; display: block; margin-bottom: 2px; }
form.woocommerce-checkout #order_review dl.variation dd p { display: inline; margin: 0; }

/* Your Quote: keep "Estimated total" on one line when the "excludes extras" note sits beside it */
.cart_totals tr.order-total th { white-space: nowrap; }

/* Phones: details as flowing "Backrests: With (+30%)" lines instead of a squeezed two-column grid,
   and let long totals wrap between the amount and "ex VAT" so the summary fits its card */
@media (max-width: 767px) {
	#brxe-qcitem dl.variation,
	form.woocommerce-checkout #order_review dl.variation { display: block !important; }
	#brxe-qcitem dl.variation dt,
	#brxe-qcitem dl.variation dd,
	form.woocommerce-checkout #order_review dl.variation dt,
	form.woocommerce-checkout #order_review dl.variation dd { display: inline !important; }
	#brxe-qcitem dl.variation dd::after,
	form.woocommerce-checkout #order_review dl.variation dd::after { content: ""; display: block; }
	#brxe-qcitem dl.variation dd p,
	form.woocommerce-checkout #order_review dl.variation dd p { display: inline; }
	form.woocommerce-checkout #order_review table.shop_table .product-total,
	form.woocommerce-checkout #order_review table.shop_table tfoot td { white-space: normal; }
	form.woocommerce-checkout #order_review table.shop_table .woocommerce-Price-amount { white-space: nowrap; }
	/* Quote summary on phones: each product stacks (name and details, then its price), and the
	   totals are label | amount lines - so prices no longer squeeze into the narrow second column */
	form.woocommerce-checkout #order_review table.shop_table thead { display: none; }
	form.woocommerce-checkout #order_review table.shop_table tbody tr.cart_item,
	form.woocommerce-checkout #order_review table.shop_table tbody td { display: block; width: auto; }
	form.woocommerce-checkout #order_review table.shop_table tbody td.product-name { border-bottom: 0; padding-bottom: var(--ba-space-1); }
	form.woocommerce-checkout #order_review table.shop_table tbody td.product-total { width: auto; padding-top: 0; border-top: 0; text-align: left; font-weight: 600; white-space: normal; }
	form.woocommerce-checkout #order_review table.shop_table tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ba-space-3); }
	form.woocommerce-checkout #order_review table.shop_table tfoot th,
	form.woocommerce-checkout #order_review table.shop_table tfoot td { display: block; width: auto; }
	form.woocommerce-checkout #order_review table.shop_table tfoot th { flex: 0 0 auto; }
	form.woocommerce-checkout #order_review table.shop_table tfoot td { flex: 1 1 auto; text-align: right; }
}

/* Delivery is South Africa only (WooCommerce > Settings > General > Selling location), so the
   one-option Country field is hidden - it still submits "South Africa" */
form.woocommerce-checkout #billing_country_field:has(.country_to_state--single),
form.woocommerce-checkout #shipping_country_field:has(.country_to_state--single) { display: none; }
