/* ==========================================================================
   AURELYA · Carrito, Pago, Login, Mi cuenta
   ========================================================================== */

/* ---------- CARRITO ---------- */
.au-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; align-items: start; }
@media (max-width: 1024px) { .au-cart .woocommerce { grid-template-columns: 1fr; } }
.au-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.au-cart .woocommerce-notices-wrapper:empty { display: none; }
.au-cart .woocommerce-cart-form { min-width: 0; }
.au-cart table.shop_table.cart { display: block; border: 0; margin: 0; }
.au-cart table.shop_table.cart thead { display: none; }
.au-cart table.shop_table.cart tbody { display: flex; flex-direction: column; gap: 24px; }
.au-cart table.shop_table.cart tr.cart_item {
	display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb qty price";
	gap: 12px 24px; padding: 24px; background: var(--au-white); border: 1px solid var(--au-light-gray);
}
.au-cart table.shop_table.cart td { display: block; padding: 0; border: 0; background: transparent; }
.au-cart td.product-thumbnail { grid-area: thumb; }
.au-cart td.product-thumbnail img { width: 100%; height: 180px; object-fit: cover; border: 1px solid var(--au-surface-container); }
.au-cart td.product-name { grid-area: name; }
.au-cart td.product-name > a { font-family: var(--au-font-headline); font-size: 22px; font-weight: 600; color: var(--au-teal); display: block; margin-bottom: 6px; }
.au-cart td.product-name .variation { font-family: var(--au-font-body); font-size: 14px; color: var(--au-on-surface); display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0; }
.au-cart td.product-name .variation dt, .au-cart td.product-name .variation dd, .au-cart td.product-name .variation p { margin: 0; display: inline; font-weight: 400; }
.au-cart table.shop_table.cart td.product-price { display: none; }
.au-cart td.product-remove { grid-area: remove; text-align: right; }
.au-cart td.product-remove a.remove { color: var(--au-on-surface) !important; font-size: 18px; width: 28px; height: 28px; line-height: 28px; border-radius: 0; text-align: center; display: inline-block; }
.au-cart td.product-remove a.remove:hover { background: var(--au-surface-container); color: var(--au-error) !important; }
.au-cart td.product-quantity { grid-area: qty; align-self: end; }
.au-cart td.product-subtotal { grid-area: price; align-self: end; text-align: right; font-family: var(--au-font-headline); font-size: 24px; font-weight: 700; color: var(--au-teal); }
.au-cart td.product-subtotal .amount { color: inherit; }
.au-cart table.shop_table.cart tr:not(.cart_item) { display: block; }
.au-cart table.shop_table.cart td.actions { display: flex; justify-content: flex-end; padding-top: 4px; }
.au-cart td.actions .coupon { display: none; }
.au-cart td.actions button[name="update_cart"] { padding: 10px 16px; font-size: 11px; background: transparent; color: var(--au-copper); border-color: var(--au-copper); }
.au-cart td.actions button[name="update_cart"]:disabled { opacity: .4; }
.au-cart .cart-collaterals { width: 100%; }
.au-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; padding: 32px; background: var(--au-white); border: 1px solid var(--au-light-gray); }
.au-cart .cart_totals h2 { font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; color: var(--au-teal); margin: 0 0 20px; }
.au-cart .cart_totals table.shop_table { border: 0; margin: 0 0 8px; display: table; width: 100%; }
.au-cart .cart_totals table.shop_table th, .au-cart .cart_totals table.shop_table td { border: 0; padding: 10px 0; font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); font-weight: 400; background: transparent; vertical-align: top; }
.au-cart .cart_totals table.shop_table th { text-align: left; width: 40%; }
.au-cart .cart_totals table.shop_table td { text-align: right; }
.au-cart .cart_totals .order-total th, .au-cart .cart_totals .order-total td { padding-top: 22px; font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; color: var(--au-teal); border-top: 1px solid var(--au-light-gray); }
.au-cart .cart_totals .order-total .amount { color: var(--au-teal); }
.au-cart .cart_totals .woocommerce-shipping-totals ul { margin: 0; padding: 0; list-style: none; }
.au-cart .cart_totals .woocommerce-shipping-totals li { font-size: 14px; }
.au-cart .cart_totals .woocommerce-shipping-destination, .au-cart .cart_totals .shipping-calculator-button { font-size: 12px; color: var(--au-on-surface-variant); }
.au-cart .cart_totals .tax-rate th { font-size: 14px; }
.au-cart-coupon { margin: 16px 0 24px; }
.au-cart-coupon .au-label { display: block; font-size: 11px; margin-bottom: 8px; color: var(--au-on-surface); }
.au-cart-coupon__row { display: flex; align-items: center; gap: 12px; }
.au-cart-coupon__row input { flex: 1; padding: 10px 0; border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; font-family: var(--au-font-body); font-size: 15px; background: transparent; border-radius: 0; }
.au-cart-coupon__row input:focus { outline: 0; border-bottom-color: var(--au-copper) !important; }
.au-cart-coupon__apply { background: transparent !important; border: 0 !important; color: var(--au-copper) !important; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 0 !important; cursor: pointer; }
.au-cart .wc-proceed-to-checkout { padding: 0; margin: 0; display: flex; flex-direction: column; }
.au-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; justify-content: center; align-items: center; gap: 10px; width: 100%; margin: 0 0 12px; padding: 18px 24px; font-size: 14px; }
.au-cart .wc-proceed-to-checkout a.checkout-button::after { content: "→"; }
.au-secure { display: flex; justify-content: center; align-items: center; gap: 8px; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-on-surface); margin: 8px 0 16px; }
.au-cart__continue { width: 100%; justify-content: center; }
.au-cart .cart-empty, .au-cart .return-to-shop { grid-column: 1 / -1; text-align: center; }
.au-cart .cart-empty { font-family: var(--au-font-headline); font-size: 22px; color: var(--au-teal); border: 0; background: transparent; padding: 0; }
.au-cart .cart-empty::before { display: none; }

/* Cantidad ± */
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--au-light-gray); background: var(--au-white); }
.quantity .au-qty__btn { width: 36px; height: 40px; border: 0 !important; background: transparent !important; color: var(--au-on-surface) !important; font-size: 16px; cursor: pointer; padding: 0 !important; font-family: var(--au-font-body); }
.quantity .au-qty__btn:hover { background: var(--au-surface-container) !important; }
.quantity input.qty { width: 44px; height: 40px; border: 0 !important; text-align: center; font-family: var(--au-font-body); font-size: 15px; padding: 0 !important; background: transparent; -moz-appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

@media (max-width: 767px) {
	.au-cart table.shop_table.cart tr.cart_item { grid-template-columns: 1fr auto; grid-template-areas: "thumb thumb" "name remove" "qty price"; padding: 16px; gap: 10px 12px; }
	.au-cart td.product-thumbnail img { height: 160px; }
	.au-cart .cart_totals { border-top: 3px solid var(--au-teal); padding: 24px 20px; }
	.au-cart .cart_totals h2 { display: none; }
}

/* ---------- PAGO ---------- */
.au-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; }
@media (max-width: 1024px) { .au-checkout form.checkout { grid-template-columns: 1fr; } }
.au-checkout .woocommerce-notices-wrapper, .au-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.au-checkout .au-checkout__card { background: var(--au-white); border: 1px solid var(--au-light-gray); padding: 32px; margin-bottom: 24px; }
.au-checkout .au-checkout__card .col2-set { width: 100%; }
.au-checkout .au-checkout__card .col2-set .col-1, .au-checkout .au-checkout__card .col2-set .col-2 { width: 100%; float: none; }
.au-checkout__title { display: flex; align-items: center; gap: 12px; font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; color: var(--au-teal); margin: 0 0 20px; }
.au-checkout__title i { color: var(--au-teal); font-size: 18px; }
.au-checkout .woocommerce-billing-fields h3, .au-checkout .woocommerce-additional-fields h3 { display: none; }
.au-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px 24px; }
.au-checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr; gap: 20px; }
.au-checkout .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.au-checkout .form-row-wide { grid-column: 1 / -1; }
.au-checkout .form-row-first, .au-checkout .form-row-last { grid-column: span 3; }
.au-checkout .form-row.au-third { grid-column: span 2; }
.au-checkout .form-row label { display: block; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-on-surface); margin-bottom: 6px; }
.au-checkout .form-row label .optional { display: none; }
.au-checkout .form-row label .required { color: var(--au-copper); text-decoration: none; }
.au-checkout .form-row .woocommerce-input-wrapper { display: block; }
.au-checkout .form-row input.input-text, .au-checkout .form-row textarea, .au-checkout .form-row select, .au-checkout .select2-container .select2-selection--single {
	width: 100%; padding: 10px 12px; border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; background: transparent; font-family: var(--au-font-body); font-size: 15px; height: auto; border-radius: 0 !important; box-shadow: none;
}
.au-checkout .select2-container .select2-selection--single { height: 42px; }
.au-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding-left: 0; color: var(--au-on-surface); }
.au-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 40px; }
.au-checkout .form-row input:focus, .au-checkout .form-row textarea:focus { border-bottom-color: var(--au-copper) !important; outline: 0; }
.au-checkout .form-row.woocommerce-invalid input { border-bottom-color: var(--au-error) !important; }
.au-checkout #billing_country_field { display: none; }
.au-checkout .woocommerce-additional-fields { margin-top: 24px; }
.au-checkout .woocommerce-additional-fields textarea { min-height: 90px; }
.au-checkout #payment { background: var(--au-white); border: 1px solid var(--au-light-gray); padding: 32px; border-radius: 0; }
.au-checkout #payment ul.payment_methods { padding: 0; border: 0; margin: 0 0 20px; display: flex; flex-direction: column; gap: 12px; }
.au-checkout #payment ul.payment_methods li { padding: 16px 18px; border: 1px solid var(--au-light-gray); background: var(--au-white); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; line-height: 1.4; }
.au-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--au-copper); border-left-width: 3px; }
.au-checkout #payment ul.payment_methods li input[type="radio"] { appearance: none; width: 16px !important; height: 16px !important; border-radius: 50% !important; border: 1px solid var(--au-outline-variant) !important; margin: 0; display: grid; place-content: center; padding: 0 !important; }
.au-checkout #payment ul.payment_methods li input[type="radio"]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--au-copper); transform: scale(0); }
.au-checkout #payment ul.payment_methods li input[type="radio"]:checked { border-color: var(--au-copper) !important; }
.au-checkout #payment ul.payment_methods li input[type="radio"]:checked::before { transform: scale(1); }
.au-checkout #payment ul.payment_methods li label { font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); margin: 0; display: inline-flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.au-checkout #payment ul.payment_methods li label img { max-height: 24px; }
.au-checkout #payment div.payment_box { width: 100%; background: var(--au-surface-low); border-radius: 0; padding: 12px 16px; font-family: var(--au-font-body); font-size: 13px; margin: 8px 0 0; }
.au-checkout #payment div.payment_box::before { display: none; }
.au-checkout #payment .place-order { padding: 0; margin: 0; }
.au-checkout #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 16px; font-family: var(--au-font-body); font-size: 13px; }
.au-checkout #payment .woocommerce-privacy-policy-text p { font-size: 12px; color: var(--au-on-surface-variant); }
.au-checkout #payment button#place_order { width: 100%; padding: 20px 24px; font-size: 16px; display: flex; justify-content: center; align-items: center; gap: 12px; float: none; }
.au-checkout #order_review_heading { display: none; }
.au-checkout #order_review { background: var(--au-white); border: 1px solid var(--au-light-gray); padding: 32px; }
.au-checkout #order_review::before { content: var(--au-t-resumen, "Resumen del Pedido"); display: block; font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; color: var(--au-teal); padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--au-light-gray); }
.au-checkout table.shop_table.woocommerce-checkout-review-order-table { border: 0; margin: 0; width: 100%; }
.au-checkout table.shop_table thead { display: none; }
.au-checkout table.shop_table td, .au-checkout table.shop_table th { border: 0; padding: 12px 0; font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); background: transparent; font-weight: 400; vertical-align: middle; }
.au-checkout table.shop_table tbody td.product-name { display: flex; align-items: center; gap: 14px; }
.au-review__thumb { position: relative; flex: 0 0 72px; }
.au-review__thumb img { width: 72px; height: 72px; object-fit: cover; border: 1px solid var(--au-light-gray); display: block; }
.au-review__qty { position: absolute; top: -8px; left: -8px; width: 22px; height: 22px; border-radius: 50%; background: var(--au-blush-dark); color: var(--au-white); font-size: 11px; font-weight: 600; display: grid; place-content: center; font-family: var(--au-font-body); }
.au-review__name { font-family: var(--au-font-headline); font-size: 18px; font-weight: 600; color: var(--au-teal); line-height: 1.25; }
.au-checkout table.shop_table tbody td.product-name .variation { font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--au-on-surface-variant); margin: 4px 0 0; }
.au-checkout table.shop_table tbody td.product-name .variation dt, .au-checkout table.shop_table tbody td.product-name .variation dd, .au-checkout table.shop_table tbody td.product-name .variation p { display: inline; margin: 0; font-weight: 400; }
.au-checkout table.shop_table td.product-total { text-align: right; font-weight: 600; white-space: nowrap; }
.au-checkout table.shop_table tfoot th { text-align: left; }
.au-checkout table.shop_table tfoot td { text-align: right; }
.au-checkout table.shop_table tfoot tr:first-child th, .au-checkout table.shop_table tfoot tr:first-child td { border-top: 1px solid var(--au-light-gray); padding-top: 20px; }
.au-checkout table.shop_table tfoot .order-total th, .au-checkout table.shop_table tfoot .order-total td { border-top: 1px solid var(--au-outline-variant); padding-top: 18px; font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; color: var(--au-teal); }
.au-checkout table.shop_table tfoot .order-total td::before { content: "COP"; font-family: var(--au-font-body); font-size: 10px; letter-spacing: 0.1em; margin-right: 8px; color: var(--au-on-surface-variant); vertical-align: middle; }
.au-checkout table.shop_table tfoot .order-total .amount { color: var(--au-teal); }
.au-checkout .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.au-checkout .woocommerce-shipping-methods li { font-size: 14px; display: flex; gap: 8px; align-items: center; }
.au-checkout .woocommerce-shipping-methods label { font-size: 14px; }
.au-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .au-checkout .woocommerce-form-login-toggle .woocommerce-info { background: var(--au-white); border: 1px solid var(--au-light-gray); border-top: 0; color: var(--au-on-surface); font-family: var(--au-font-body); font-size: 14px; padding: 14px 18px; margin-bottom: 16px; }
.au-checkout .woocommerce-info::before { display: none; }
.au-checkout .woocommerce-info a { color: var(--au-copper); font-weight: 600; }
.au-checkout form.checkout_coupon { border: 1px solid var(--au-light-gray); border-radius: 0; padding: 20px; background: var(--au-white); display: flex; gap: 12px; align-items: center; margin-bottom: 24px; }
.au-checkout form.checkout_coupon p { margin: 0; }
.au-checkout form.checkout_coupon .form-row-first { flex: 1; }
.au-checkout form.checkout_coupon input { width: 100%; padding: 10px 0; border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; font-family: var(--au-font-body); border-radius: 0; }
.au-checkout form.checkout_coupon button { padding: 12px 20px; font-size: 11px; }
@media (max-width: 767px) {
	.au-checkout .au-checkout__card, .au-checkout #payment, .au-checkout #order_review { padding: 20px 16px; }
	.au-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.au-checkout .form-row-first, .au-checkout .form-row-last, .au-checkout .form-row.au-third { grid-column: 1 / -1; }
	.au-checkout .au-checkout__title { font-size: 22px; }
}

/* Stepper (mobile checkout) */
.au-stepper { display: flex; justify-content: space-between; align-items: flex-start; position: relative; padding: 8px 0 0; width: 100%; }
.au-stepper::before { content: ""; position: absolute; left: 12%; right: 12%; top: 24px; height: 1px; background: var(--au-light-gray); }
.au-stepper__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1; font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-outline); }
.au-stepper__num { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--au-outline-variant); background: var(--au-white); display: grid; place-content: center; font-weight: 600; color: var(--au-outline); font-size: 13px; }
.au-stepper__step.is-active { color: var(--au-teal); font-weight: 600; }
.au-stepper__step.is-active .au-stepper__num { background: var(--au-teal); border-color: var(--au-teal); color: var(--au-white); }

/* ---------- LOGIN ---------- */
.au-login { position: relative; }
.au-login::before, .au-login::after { content: ""; position: absolute; width: 140px; height: 1px; background: var(--au-copper); opacity: .7; pointer-events: none; }
.au-login::before { top: 40px; left: 24px; right: auto; bottom: auto; transform: rotate(45deg); transform-origin: left; }
.au-login::after { bottom: 40px; right: 24px; left: auto; top: auto; transform: rotate(45deg); transform-origin: right; }
.au-login .u-columns { display: block; max-width: 448px; margin: 0 auto; width: 100%; }
.au-login .u-columns .u-column1, .au-login .u-columns .u-column2 { width: 100%; float: none; max-width: none; }
.au-login .u-columns .u-column2 { display: none; }
.au-login .u-columns.is-register .u-column1 { display: none; }
.au-login .u-columns.is-register .u-column2 { display: block; }
.au-login .u-columns h2 { display: none; }
.au-login form.woocommerce-form-login, .au-login form.woocommerce-form-register, .au-login form.woocommerce-ResetPassword {
	position: relative; margin: 0 auto; max-width: 448px; padding: 40px 48px 44px; background: var(--au-white); border: 1px solid var(--au-light-gray); border-radius: 0;
}
.au-login form::before, .au-login form::after { content: ""; position: absolute; width: 18px; height: 18px; border-color: var(--au-teal); border-style: solid; pointer-events: none; }
.au-login form::before { top: -1px; left: -1px; right: auto; bottom: auto; border-width: 2px 0 0 2px; }
.au-login form::after { bottom: -1px; right: -1px; top: auto; left: auto; border-width: 0 2px 2px 0; }
.au-login__brand { text-align: center; margin: 0 auto; max-width: 448px; padding: 40px 48px 0; background: var(--au-white); border: 1px solid var(--au-light-gray); border-bottom: 0; }
.au-login__brand-wrap { margin: 0 auto; }
.au-login__brand img { width: 64px; height: 64px; margin: 0 auto 12px; display: block; }
.au-login__brand strong { display: block; font-family: var(--au-font-headline); font-size: 24px; font-weight: 700; letter-spacing: 0.16em; color: var(--au-teal); }
.au-login__brand span { display: block; font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--au-on-surface-variant); margin-top: 4px; }
.au-login .au-login__brand-wrap + .elementor-widget-shortcode form.woocommerce-form-login { border-top: 0; }
.au-login .au-login__brand-wrap + .elementor-widget-shortcode form.woocommerce-form-login::before { display: none; }
.au-login__badge .elementor-icon { background: var(--au-teal); color: var(--au-white); padding: 18px; border-radius: 0 !important; }
.au-login form .form-row { margin: 0 0 20px; padding: 0; }
.au-login form .form-row label { display: block; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-on-surface); margin-bottom: 6px; }
.au-login form .form-row label .required { color: var(--au-copper); text-decoration: none; }
.au-login form .form-row input.input-text, .au-login form .password-input { width: 100%; }
.au-login form .form-row input.input-text { padding: 12px 8px; border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; background: transparent; border-radius: 0 !important; font-family: var(--au-font-body); font-size: 15px; box-shadow: none; }
.au-login form .form-row input.input-text:focus { outline: 0; border-bottom-color: var(--au-copper) !important; }
.au-login form .show-password-input { top: 10px; right: 6px; }
.au-login form .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--au-on-surface); margin: 0 0 8px; }
.au-login form .woocommerce-form-login__rememberme input { appearance: none; width: 16px !important; height: 16px !important; border: 1px solid var(--au-outline-variant) !important; border-radius: 0 !important; margin: 0; display: grid; place-content: center; padding: 0 !important; }
.au-login form .woocommerce-form-login__rememberme input::before { content: ""; width: 10px; height: 10px; background: var(--au-teal); transform: scale(0); }
.au-login form .woocommerce-form-login__rememberme input:checked::before { transform: scale(1); }
.au-login form .woocommerce-LostPassword { display: inline-block; margin: 0 0 24px 12px; font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
.au-login form .woocommerce-LostPassword a { color: var(--au-copper); }
.au-login form button.woocommerce-button, .au-login form button.woocommerce-form-login__submit, .au-login form button.woocommerce-form-register__submit, .au-login form button.woocommerce-Button {
	width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; padding: 18px 24px; font-size: 14px; float: none;
}
.au-login form button.woocommerce-form-login__submit::after { content: "→"; }
.au-login .au-login__new { text-align: center; margin: 24px 0 0; font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); }
.au-login .au-login__new a { color: var(--au-teal); font-weight: 600; border-bottom: 1px solid var(--au-teal); }
.au-login .woocommerce-privacy-policy-text { font-size: 12px; color: var(--au-on-surface-variant); font-family: var(--au-font-body); margin-bottom: 16px; }
.au-login .woocommerce-notices-wrapper { max-width: 448px; margin: 0 auto; width: 100%; }
@media (max-width: 767px) {
	.au-login::before, .au-login::after { display: none; }
	.au-login form.woocommerce-form-login, .au-login form.woocommerce-form-register { padding: 32px 24px 28px; }
}

/* ---------- MI CUENTA ---------- */
.au-account .woocommerce { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
@media (max-width: 1024px) { .au-account .woocommerce { grid-template-columns: 1fr; } }
.au-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.au-account .woocommerce-notices-wrapper:empty { display: none; }
.au-account nav.woocommerce-MyAccount-navigation { width: 100%; float: none; background: var(--au-white); border: 1px solid var(--au-light-gray); padding: 28px; }
.au-account nav.woocommerce-MyAccount-navigation::before { content: var(--au-t-cuenta, "Mi cuenta"); display: block; font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; text-transform: uppercase; color: var(--au-teal); padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--au-outline-variant); }
.au-account nav.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.au-account nav.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; font-family: var(--au-font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-on-surface); border-left: 3px solid transparent; }
.au-account nav.woocommerce-MyAccount-navigation li a::before { font-family: "Font Awesome 5 Free"; font-weight: 400; font-size: 18px; color: var(--au-teal); width: 22px; text-align: center; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f015"; font-weight: 900; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f290"; font-weight: 900; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f004"; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f3c5"; font-weight: 900; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; }
.au-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; font-weight: 900; }
.au-account nav.woocommerce-MyAccount-navigation li a:hover { background: var(--au-surface-low); color: var(--au-teal); }
.au-account nav.woocommerce-MyAccount-navigation li.is-active a { background: var(--au-surface-low); color: var(--au-copper); border-left-color: var(--au-copper); }
.au-account nav.woocommerce-MyAccount-navigation li.is-active a::before { color: var(--au-copper); }
.au-account .woocommerce-MyAccount-content { width: 100%; float: none; min-width: 0; font-family: var(--au-font-body); }
.au-account .woocommerce-MyAccount-content > h2, .au-account .woocommerce-MyAccount-content h3 { font-family: var(--au-font-headline); color: var(--au-teal); }
.au-account .woocommerce-MyAccount-content table.shop_table { border: 1px solid var(--au-light-gray); border-radius: 0; background: var(--au-white); }
.au-account .woocommerce-MyAccount-content table.shop_table th { font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-on-surface-variant); }
.au-account .woocommerce-MyAccount-content table.shop_table td, .au-account .woocommerce-MyAccount-content table.shop_table th { border-color: var(--au-surface-container); }
.au-account .woocommerce-MyAccount-content .woocommerce-button, .au-account .woocommerce-MyAccount-content .button { padding: 10px 16px; font-size: 11px; }
.au-account .woocommerce-MyAccount-content form .form-row label { font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.au-account .woocommerce-MyAccount-content form .form-row input.input-text { border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; border-radius: 0 !important; padding: 10px 8px; background: var(--au-white); }
.au-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address { background: var(--au-white); border: 1px solid var(--au-light-gray); padding: 24px; }
.au-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 { font-size: 20px; }
.au-account .woocommerce-MyAccount-content .woocommerce-Address-title a { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-copper); }
.au-account .woocommerce-MyAccount-content .woocommerce-message, .au-account .woocommerce-MyAccount-content .woocommerce-info { background: var(--au-white); border: 1px solid var(--au-light-gray); color: var(--au-on-surface); }

/* Dashboard */
.au-dash { display: flex; flex-direction: column; gap: 24px; }
.au-dash__title { font-family: var(--au-font-headline); font-size: 36px; font-weight: 700; color: var(--au-on-surface); margin: 0 0 6px; letter-spacing: -0.01em; }
.au-dash__sub { font-family: var(--au-font-body); font-size: 16px; color: var(--au-on-surface-variant); margin: 0; }
.au-dash__tiles { display: none; grid-template-columns: 1fr 1fr; gap: 12px; }
.au-dash__tile { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 28px 12px; background: var(--au-white); border: 1px solid var(--au-light-gray); color: var(--au-teal); text-align: center; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.au-dash__tile i { font-size: 32px; }
.au-dash__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.au-dash__latest { padding: 28px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.au-dash__latest-head { display: flex; justify-content: space-between; align-items: flex-start; }
.au-dash__latest-icon { position: absolute; top: -1px; right: -1px; width: 72px; height: 72px; display: grid; place-content: center; background: var(--au-surface-low); border: 1px solid var(--au-light-gray); color: var(--au-teal); font-size: 20px; }
.au-dash__order-no { font-family: var(--au-font-headline); font-size: 26px; font-weight: 600; color: var(--au-teal); margin: 8px 0 0; }
.au-dash__order-date { font-family: var(--au-font-body); font-size: 14px; color: var(--au-on-surface-variant); margin: 0; }
.au-dash__order-items { font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); margin: 0; }
.au-dash__order-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: auto; padding-top: 12px; }
.au-dash__order-total { font-family: var(--au-font-headline); font-size: 20px; font-weight: 700; color: var(--au-on-surface); }
.au-dash__order-total .amount { color: inherit; }
.au-dash__order-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.au-dash__kpis { display: flex; flex-direction: column; gap: 24px; }
.au-dash__kpi { flex: 1; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; padding: 24px 28px; gap: 4px 12px; }
.au-dash__kpi .au-label { grid-column: 1; color: var(--au-on-surface); font-size: 11px; }
.au-dash__kpi strong { grid-column: 1; font-family: var(--au-font-headline); font-size: 28px; font-weight: 700; color: var(--au-teal); }
.au-dash__kpi i { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 28px; color: var(--au-outline-variant); }
.au-dash__previous { padding: 28px; }
.au-dash__section-title { font-family: var(--au-font-headline); font-size: 24px; font-weight: 600; text-transform: uppercase; color: var(--au-teal); margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--au-outline-variant); }
.au-dash__list { list-style: none; margin: 0; padding: 0; }
.au-dash__list li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--au-surface-container); }
.au-dash__list-thumb { width: 56px; height: 56px; border: 1px solid var(--au-light-gray); background: var(--au-surface-low); display: grid; place-content: center; color: var(--au-teal); overflow: hidden; }
.au-dash__list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.au-dash__list-main { display: flex; flex-direction: column; gap: 4px; font-family: var(--au-font-body); font-size: 15px; }
.au-dash__list-main strong { font-weight: 600; }
.au-dash__list-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.au-dash__list-side .au-label { font-size: 10px; color: var(--au-on-surface-variant); }
.au-dash__list-side a { font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--au-copper); }
.au-dash__center { display: flex; justify-content: center; padding-top: 24px; }
.au-dash__empty { font-family: var(--au-font-body); color: var(--au-on-surface-variant); }
.au-dash__help { display: none; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 32px 24px; background: var(--au-surface-low); border: 1px solid var(--au-light-gray); }
.au-dash__help i { font-size: 28px; color: var(--au-teal); }
.au-dash__help h2 { font-family: var(--au-font-headline); font-size: 22px; color: var(--au-teal); margin: 0; }
.au-dash__help p { font-family: var(--au-font-body); font-size: 15px; color: var(--au-on-surface); margin: 0; }
.au-btn--outline-teal { background: transparent !important; color: var(--au-teal) !important; border: 1px solid var(--au-teal) !important; }
.au-btn--outline-teal:hover { background: var(--au-teal) !important; color: var(--au-white) !important; }
@media (max-width: 1024px) {
	.au-account nav.woocommerce-MyAccount-navigation { padding: 20px; }
	.au-account nav.woocommerce-MyAccount-navigation::before { font-size: 18px; }
	.au-account nav.woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.au-account nav.woocommerce-MyAccount-navigation li a { padding: 8px 12px; border: 1px solid var(--au-light-gray); font-size: 10px; }
	.au-account nav.woocommerce-MyAccount-navigation li a::before { font-size: 14px; width: auto; }
	.au-dash__tiles { display: grid; }
	.au-dash__grid { grid-template-columns: 1fr; }
	.au-dash__kpis { display: none; }
	.au-dash__latest-icon { display: none; }
	.au-dash__help { display: flex; }
	.au-dash__title { font-size: 28px; }
	.au-dash__previous { display: none; }
}

/* ---------- Barra inferior mobile ---------- */
.au-bottom-nav { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--au-white); border-top: 1px solid var(--au-light-gray); box-shadow: 0 -6px 20px rgba(26, 28, 28, .06); }
.au-bottom-nav .elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.au-bottom-nav .elementor-icon-box-icon { margin: 0 !important; }
.au-bottom-nav .elementor-icon-box-title { font-family: var(--au-font-body); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; margin: 0; }
.au-bottom-nav .elementor-icon-box-icon .elementor-icon { font-size: 20px; }
.au-bottom-nav .is-active .elementor-icon-box-title { font-weight: 700; }
.au-pattern-45-soft { background-image: repeating-linear-gradient(45deg, var(--au-surface-container) 0 1px, transparent 1px 36px); }
.au-pattern-check-soft { background-image: linear-gradient(45deg, var(--au-surface-low) 25%, transparent 25%), linear-gradient(-45deg, var(--au-surface-low) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--au-surface-low) 75%), linear-gradient(-45deg, transparent 75%, var(--au-surface-low) 75%); background-size: 32px 32px; background-position: 0 0, 0 16px, 16px -16px, -16px 0; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background-color: var(--au-teal); color: var(--au-white); border-radius: 0; font-family: var(--au-font-headline); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: 13px; padding: 16px 32px; line-height: 1; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background-color: var(--au-teal-dark); color: var(--au-white); }
.woocommerce a.button.alt:disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background-color: var(--au-teal); color: var(--au-white); opacity: .5; padding: 16px 32px; }
.au-checkout #payment::before { content: "\f09d\00a0\00a0 Método de pago"; font-family: "Font Awesome 5 Free", var(--au-font-headline); font-weight: 600; font-size: 24px; color: var(--au-teal); display: block; margin-bottom: 20px; }
.au-checkout #payment::before { font-family: var(--au-font-headline); }
.au-checkout p#billing_country_field, .au-checkout .form-row#billing_country_field { display: none !important; }
.au-checkout #payment::before { content: var(--au-t-pago, "Método de pago"); display: block; font-family: var(--au-font-headline); font-weight: 600; font-size: 24px; color: var(--au-teal); margin-bottom: 20px; }
.au-checkout form.checkout > * { grid-column: 1; }
.au-checkout form.checkout > #order_review { grid-column: 2; grid-row: 1 / span 4; }
.au-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
@media (max-width: 1024px) { .au-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; } }
.au-login form .woocommerce-LostPassword { display: none; }
.au-login form .au-login__lost { text-align: right; margin: 0 0 -26px; position: relative; z-index: 1; font-family: var(--au-font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
.au-login form .au-login__lost a { color: var(--au-copper); }
.au-login form label.woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 0 20px !important; }
.au-login form .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-direction: column; align-items: flex-start; }
.au-login form .form-row:has(.woocommerce-form-login__submit) button { width: 100%; }
.au-account nav.woocommerce-MyAccount-navigation { width: 100% !important; max-width: none !important; margin: 0 !important; grid-column: 1; }
.au-account .woocommerce-MyAccount-content { width: 100% !important; max-width: none !important; margin: 0 !important; grid-column: 2; }
@media (max-width: 1024px) { .au-account .woocommerce-MyAccount-content { grid-column: 1; } }

/* Overrides de la tabla responsive de Woo en mobile */
@media (max-width: 768px) {
	.au-cart table.shop_table.shop_table_responsive tr.cart_item { display: grid; }
	.au-cart table.shop_table.shop_table_responsive tr td { text-align: left; display: block; }
	.au-cart table.shop_table.shop_table_responsive tr td::before { display: none !important; content: none; }
	.au-cart table.shop_table.shop_table_responsive tr td.product-remove, .au-cart table.shop_table.shop_table_responsive tr td.product-subtotal { text-align: right; }
	.au-cart table.shop_table.shop_table_responsive tr td.product-name > a { text-align: left; }
	.au-cart table.shop_table.cart td.actions { justify-content: center; }
	.au-cart td.actions button[name="update_cart"], .au-cart td.actions button[name="update_cart"]:disabled { width: auto; background: transparent; color: var(--au-copper); border: 1px solid var(--au-copper); opacity: 1; padding: 10px 16px; font-size: 11px; }
	.au-cart td.actions button[name="update_cart"]:disabled { opacity: .45; }
}
.elementor-widget-html:has(.au-stepper) { width: 100% !important; max-width: 100%; }
@media (max-width: 1024px) {
	.au-checkout form.checkout > *, .au-checkout form.checkout > #order_review { grid-column: 1 / -1; grid-row: auto; min-width: 0; max-width: 100%; }
	.au-checkout #order_review, .au-checkout #payment, .au-checkout .au-checkout__card { overflow: hidden; }
	.au-checkout table.shop_table.woocommerce-checkout-review-order-table { table-layout: fixed; }
	.au-checkout table.shop_table td.product-total { white-space: normal; }
	.au-checkout table.shop_table tfoot .order-total th, .au-checkout table.shop_table tfoot .order-total td { font-size: 20px; }
	.au-checkout table.shop_table tfoot .order-total td small, .au-checkout table.shop_table tfoot .order-total td .includes_tax { font-size: 12px; display: block; }
	.au-checkout .woocommerce-shipping-methods li { flex-wrap: wrap; }
	.au-checkout .woocommerce-shipping-methods label { text-align: left; }
	body.au-account-dashboard .au-account nav.woocommerce-MyAccount-navigation { display: none; }
}
.au-checkout .woocommerce-form-coupon-toggle { display: none; }
.au-review__coupon td { padding: 8px 0 16px !important; border-bottom: 1px solid var(--au-light-gray) !important; }
.au-review__coupon-row { display: flex; gap: 12px; align-items: center; }
.au-review__coupon-row input { flex: 1; padding: 10px 0; border: 0 !important; border-bottom: 1px solid var(--au-light-gray) !important; background: transparent; font-family: var(--au-font-body); font-size: 14px; border-radius: 0; }
.au-review__coupon-row input:focus { outline: 0; border-bottom-color: var(--au-copper) !important; }
.au-review__coupon-btn { background: transparent !important; color: var(--au-copper) !important; border: 1px solid var(--au-copper) !important; padding: 10px 16px !important; font-family: var(--au-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.au-review__coupon-msg .woocommerce-error, .au-review__coupon-msg .woocommerce-message { margin-bottom: 16px; }
.au-cart__shipping-row td { font-size: 14px; }
.au-cart .cart_totals .tax-rate th, .au-cart .cart_totals .tax-total th { font-family: var(--au-font-body); }
.au-cart .includes_tax, .au-checkout .includes_tax { display: none; }
.au-checkout .woocommerce-shipping-methods label, .au-checkout table.shop_table tr.woocommerce-shipping-totals label { font-family: var(--au-font-body); font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 400; white-space: normal; text-align: left; margin: 0; }
.au-checkout .woocommerce-shipping-methods li { justify-content: flex-end; }
.au-checkout #payment button#place_order, .woocommerce #payment #place_order { background: var(--au-teal) !important; color: var(--au-white) !important; opacity: 1; border-color: var(--au-teal) !important; }
.au-checkout #payment button#place_order:hover { background: var(--au-teal-dark) !important; }
.au-cart .cart_totals .tax-total th, .au-cart .cart_totals .tax-rate th { display: none; }
.au-cart .cart_totals .tax-total, .au-cart .cart_totals .tax-rate, .au-checkout .tax-total, .au-checkout .tax-rate { display: none; }
.au-checkout .woocommerce-form-login-toggle { display: none; }
