/* X Life Core · carrito, checkout y formularios de WooCommerce con el diseño de X Life. */
:root {
	--xlt-tinta: var(--e-global-color-primary, #23231F);
	--xlt-verde: var(--e-global-color-secondary, #3B5B10);
	--xlt-lima: var(--e-global-color-accent, #A4CE39);
	--xlt-limatx: #4F6B0E;
	--xlt-linea: #E3E3DB;
	--xlt-panel: #F4F5F0;
	--xlt-caja: #FAFAF7;
	--xlt-suave: #6B6B63;
	--xlt-err: #8E2B21;
	--xlt-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}

/* Campos */
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce-page form .input-text,
.woocommerce .quantity .qty,
.e-checkout__container .input-text,
.e-cart__container .input-text {
	min-height: 46px; border: 1.5px solid var(--xlt-linea) !important; border-radius: 10px !important;
	background: var(--xlt-panel) !important; padding: 8px 12px !important; font-size: 14.5px; color: var(--xlt-tinta); box-shadow: none !important;
}
.woocommerce form .input-text:focus, .woocommerce form select:focus { outline: none; border-color: var(--xlt-limatx) !important; }
.woocommerce form textarea.input-text { min-height: 96px; }
.woocommerce .select2-container--default .select2-selection--single {
	height: 46px; border: 1.5px solid var(--xlt-linea); border-radius: 10px; background: var(--xlt-panel);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 43px; padding-left: 12px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce form .form-row label { font-size: 12.5px; font-weight: 700; color: var(--xlt-tinta); }
.woocommerce form .form-row .required { color: var(--xlt-err); text-decoration: none; }

/* Botones */
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce #place_order,
.woocommerce a.checkout-button, .e-cart__container .button, .e-checkout__container .button {
	background: var(--xlt-tinta) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important;
	font-weight: 800 !important; letter-spacing: .04em; min-height: 48px; padding: 0 22px !important; text-transform: none;
}
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce #place_order:hover, .woocommerce a.checkout-button:hover { background: #3A3A34 !important; color: #fff !important; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; }
.woocommerce #place_order, .woocommerce a.checkout-button { width: 100%; min-height: 54px; font-size: 15px; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > div {
	border: 1px solid var(--xlt-linea) !important; border-left: 4px solid var(--xlt-lima) !important; border-radius: 12px !important;
	background: var(--xlt-caja) !important; color: var(--xlt-tinta) !important; font-size: 14px;
}
.woocommerce-error { border-left-color: var(--xlt-err) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--xlt-limatx) !important; }
.woocommerce-error::before { color: var(--xlt-err) !important; }

/* Cajas del carrito y del checkout (widgets de Elementor Pro) */
.e-cart-section, .e-checkout__order_review, .e-checkout__column-start > div, .e-coupon-box, .e-cart-totals {
	border-radius: 16px !important;
}
.e-cart__container .shop_table td.product-name a { color: var(--xlt-tinta); font-weight: 800; text-decoration: none; }
.e-cart__container .shop_table .product-price, .e-cart__container .shop_table .product-subtotal,
.woocommerce .cart_totals .amount, .woocommerce-checkout-review-order-table .amount { font-family: var(--xlt-mono); font-weight: 500; }
.woocommerce .cart_totals .order-total .amount, .woocommerce-checkout-review-order-table .order-total .amount { font-size: 19px; }
.woocommerce a.remove { color: var(--xlt-suave) !important; }
.woocommerce a.remove:hover { background: var(--xlt-err) !important; color: #fff !important; }
.woocommerce .variation dt, .woocommerce .variation dd { font-size: 12.5px; color: var(--xlt-suave); }

/* Casilla de investigación en el checkout */
.xl-ruo-checkout { background: var(--xlt-caja); border: 1.5px solid var(--xlt-linea); border-radius: 12px; padding: 12px 14px !important; margin: 0 0 14px !important; }
.xl-ruo-checkout label.checkbox { display: flex !important; gap: 10px; align-items: flex-start; font-size: 13px !important; font-weight: 600 !important; line-height: 1.45; cursor: pointer; }
.xl-ruo-checkout input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--xlt-verde); flex-shrink: 0; }
.woocommerce-invalid .xl-ruo-checkout, .xl-ruo-checkout.woocommerce-invalid { border-color: var(--xlt-err); }

/* Métodos de pago */
.woocommerce-checkout #payment { background: var(--xlt-caja) !important; border-radius: 14px !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }

/* Botones principales a su alto completo */
.woocommerce a.checkout-button, .woocommerce #place_order, .e-cart__container a.checkout-button, .e-checkout__container #place_order {
	display: flex !important; align-items: center; justify-content: center; min-height: 54px !important; height: auto !important;
	line-height: 1.2 !important; padding: 12px 22px !important;
}
.woocommerce button.button, .woocommerce a.button { display: inline-flex !important; align-items: center; justify-content: center; line-height: 1.2 !important; padding-top: 10px !important; padding-bottom: 10px !important; }

/* Enlaces dentro del carrito y el checkout con el verde de la marca */
.e-cart__container a:not(.button):not(.remove):not(.checkout-button),
.e-checkout__container a:not(.button),
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-order a:not(.button) { color: var(--xlt-limatx) !important; font-weight: 700; }
.e-cart__container .product-name a { color: var(--xlt-tinta) !important; font-weight: 800; }

/* Página de pedido recibido: el aviso de WooCommerce hace de título */
body.woocommerce-order-received .elementor .e-con > .elementor-widget-heading,
body.woocommerce-order-received .elementor .e-con > .elementor-widget-text-editor,
body.woocommerce-order-received .elementor .e-con-inner > .elementor-widget-heading,
body.woocommerce-order-received .elementor .e-con-inner > .elementor-widget-text-editor { display: none; }
.woocommerce-thankyou-order-received {
	font-size: clamp(26px, 4vw, 40px); font-weight: 900; letter-spacing: -.03em; line-height: 1.1; color: var(--xlt-tinta); margin: 0 0 18px;
}
.woocommerce-order ul.order_details {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; padding: 14px; margin: 0 0 24px;
	background: var(--xlt-caja); border: 1px solid var(--xlt-linea); border-radius: 14px; list-style: none;
}
.woocommerce-order ul.order_details li { border: 0 !important; margin: 0 !important; padding: 0 !important; font-size: 10px; letter-spacing: .1em; color: var(--xlt-suave); text-transform: uppercase; }
.woocommerce-order ul.order_details li strong { display: block; margin-top: 4px; font-family: var(--xlt-mono); font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--xlt-tinta); font-weight: 500; }
.woocommerce-order h2, .woocommerce-order-details__title, .woocommerce-column__title, .wc-bacs-bank-details-heading {
	font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.02em; color: var(--xlt-tinta) !important; margin: 24px 0 10px !important;
}
.woocommerce-order .woocommerce-table, .woocommerce-order address { border-radius: 12px; }
