/* ==========================================================================
   Cart & checkout styling only - zero WooCommerce logic touched here.
   Loaded on is_cart() / is_checkout() / is_account_page().
   ========================================================================== */

.elefantlas-trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	list-style: none;
	margin: 0 0 var(--elc-space-3, 1.5rem);
	padding: 0.85rem var(--elc-space-3, 1.5rem);
	background: var(--elc-bg-alt, #f0ede6);
	border-radius: var(--elc-radius-m, 10px);
	font-size: var(--elc-font-size-sm, 0.9375rem);
	font-weight: 600;
	color: var(--elc-text, #1e2422);
}
.elefantlas-trust-strip li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.elefantlas-trust-strip li::before {
	content: "";
	width: 0.9em;
	height: 0.9em;
	border-radius: 50%;
	background: var(--elc-accent, #2c5f4a);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 65% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 65% no-repeat;
	flex-shrink: 0;
}

/* Cart table */
.woocommerce-cart-form {
	font-size: var(--elc-font-size-base, 1rem);
}
.woocommerce-cart-form .product-name a {
	color: var(--elc-text, #1e2422);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-cart-form .product-name a:hover {
	color: var(--elc-accent, #2c5f4a);
}
.woocommerce-cart-form .quantity .input-text {
	min-height: 44px;
	border-radius: var(--elc-radius-s, 6px);
	border: 1px solid var(--elc-border, #ddd8cd);
}

.cart_totals .checkout-button,
.woocommerce-cart-form + .cart-collaterals .button,
a.checkout-button {
	background: var(--elc-accent, #2c5f4a) !important;
	color: #ffffff !important;
	border: none !important;
	font-weight: 700 !important;
	border-radius: var(--elc-radius-m, 10px) !important;
	min-height: 48px;
}
.cart_totals .checkout-button:hover,
a.checkout-button:hover {
	background: var(--elc-accent-hover, #204636) !important;
}

/* Checkout */
#customer_details .form-row input.input-text,
#customer_details .form-row select,
.woocommerce-additional-fields textarea {
	min-height: 48px;
	border-radius: var(--elc-radius-s, 6px);
	border: 1px solid var(--elc-border, #ddd8cd);
}

#place_order {
	background: var(--elc-accent, #2c5f4a) !important;
	border: none !important;
	font-weight: 700 !important;
	border-radius: var(--elc-radius-m, 10px) !important;
	min-height: 52px !important;
	width: 100%;
}
#place_order:hover {
	background: var(--elc-accent-hover, #204636) !important;
}

.woocommerce-checkout-review-order-table .product-name {
	font-weight: 600;
}

/* Touch target + spacing tidy-up for radio/checkbox rows (payment methods,
   shipping options) - accessibility: bigger hit area, no logic change. */
.woocommerce-checkout ul.wc_payment_methods li,
.woocommerce-shipping-methods li {
	padding-block: 0.5rem;
}
.woocommerce-checkout ul.wc_payment_methods input[type="radio"],
.woocommerce-shipping-methods input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
}

/* ==========================================================================
   WooCommerce Blocks (Cart/Checkout blocks) - this store's Cart and Checkout
   pages use wp:woocommerce/cart and wp:woocommerce/checkout, not the classic
   shortcode templates, so most content is client-rendered by WooCommerce's
   own JS against its documented, stable wc-block-components-* class names
   (WooCommerce Blocks' public styling API) rather than the classic markup
   targeted above. Both rule sets are kept - whichever actually applies on a
   given install, the other simply matches nothing.
   ========================================================================== */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-size: var(--elc-font-size-base, 1rem);
}

.wc-block-components-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
	background: var(--elc-accent, #2c5f4a) !important;
	border-color: var(--elc-accent, #2c5f4a) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: var(--elc-radius-m, 10px) !important;
	min-height: 48px;
}
.wc-block-components-button:hover {
	background: var(--elc-accent-hover, #204636) !important;
	border-color: var(--elc-accent-hover, #204636) !important;
}

.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select select,
.wc-block-components-combobox input {
	min-height: 48px;
	border-radius: var(--elc-radius-s, 6px) !important;
	border-color: var(--elc-border, #ddd8cd) !important;
}

.wc-block-components-radio-control__option,
.wc-block-components-checkbox {
	padding-block: 0.4rem;
	min-height: 44px;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 700;
}

.wc-block-components-product-name {
	color: var(--elc-text, #1e2422);
	font-weight: 600;
}

.wc-block-components-quantity-selector {
	border-radius: var(--elc-radius-s, 6px);
}
.wc-block-components-quantity-selector__input {
	min-height: 44px;
}
.wc-block-components-quantity-selector__button {
	min-width: 36px;
}
