/* LFAB Taverna — checkout (lfab-checkout-pro) en dark según diseño */

.woocommerce-checkout .lt-main { max-width: 1320px; margin: 0 auto; padding: 26px 24px 60px; }

/* Tarjetas: pasos, cupón y stepper */
.lfabco-native-step,
.lfabco-coupon-container,
.lfabco-native-progress {
	background: var(--lt-surface) !important;
	border: 1px solid var(--lt-border) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	color: var(--lt-text) !important;
}

/* Stepper: el círculo es __icon; el __num es un span interno sin fondo propio */
.lfabco-native-progress__name { color: var(--lt-muted) !important; }
.lfabco-native-progress__step.is-active .lfabco-native-progress__name,
.lfabco-native-progress__step.is-complete .lfabco-native-progress__name { color: var(--lt-strong) !important; }
body .lfabco-native-progress__icon {
	width: 40px !important; height: 40px !important;
	border-radius: 999px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	background: rgba(17,17,17,.08) !important;
	border: 1px solid var(--lt-border-strong) !important;
	color: var(--lt-muted-2) !important;
}
body .lfabco-native-progress__num {
	background: transparent !important;
	border: none !important;
	color: inherit !important;
	width: auto !important; height: auto !important;
	line-height: 1 !important;
	font-weight: 600;
}
body .lfabco-native-progress__step.is-active .lfabco-native-progress__icon,
body .lfabco-native-progress__step.is-complete .lfabco-native-progress__icon {
	background: var(--lt-copper) !important;
	color: var(--lt-bg) !important;
	border-color: var(--lt-copper) !important;
}
body .lfabco-native-progress__step.is-active .lfabco-native-progress__num,
body .lfabco-native-progress__step.is-complete .lfabco-native-progress__num { color: var(--lt-bg) !important; }
.lfabco-native-progress__line { background: rgba(17,17,17,.14) !important; }

/* Títulos y textos de paso */
.lfabco-native-step__title { color: var(--lt-strong) !important; font-family: var(--lt-font-display) !important; }
.lfabco-native-step__desc { color: var(--lt-muted) !important; }
.lfabco-native-step__header { border-color: var(--lt-border) !important; background: transparent !important; }

/* Campos */
.lfabco-native-step label,
.lfabco-native-step .form-row label { color: var(--lt-muted-2) !important; }
.lfabco-native-step input.input-text,
.lfabco-native-step select,
.lfabco-native-step textarea {
	background: rgba(17,17,17,.05) !important;
	border: 1px solid var(--lt-border-strong) !important;
	border-radius: 11px !important;
	color: var(--lt-strong) !important;
}
.lfabco-native-step input.input-text:focus,
.lfabco-native-step select:focus,
.lfabco-native-step textarea:focus { border-color: var(--lt-copper) !important; box-shadow: none !important; }

/* Interior del cupón y footer del paso (vienen claros del plugin) */
body #lfabco-coupon-container .woocommerce-form-coupon-toggle .woocommerce-info,
body .lfabco-coupon-container .woocommerce-info,
body .lfabco-coupon-container .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .lfabco-coupon-container .woocommerce-info {
	background: transparent !important;
	color: var(--lt-muted-2) !important;
	border: none !important;
	box-shadow: none !important;
}
body .lfabco-coupon-container .woocommerce-info a { color: var(--lt-copper) !important; }
body #lfabco-coupon-container form.checkout_coupon.woocommerce-form-coupon,
body .lfabco-coupon-container form.checkout_coupon,
body #lfabco-coupon-container form.checkout_coupon,
.lfabco-coupon-container form.checkout_coupon {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--lt-muted-2) !important;
}
body #lfabco-coupon-container form.checkout_coupon.woocommerce-form-coupon input#coupon_code,
body .lfabco-coupon-container form.checkout_coupon input#coupon_code {
	background: rgba(17,17,17,.05) !important;
	border: 1px solid var(--lt-border-strong) !important;
	border-radius: 11px !important;
	color: var(--lt-strong) !important;
	height: 48px;
}
body #lfabco-coupon-container form.checkout_coupon.woocommerce-form-coupon button,
body .lfabco-coupon-container form.checkout_coupon button {
	background: var(--lt-copper) !important;
	color: var(--lt-bg) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
}
.lfabco-native-step__nav {
	background: transparent !important;
	border-top: 1px solid var(--lt-border) !important;
	box-shadow: none !important;
}

/* Botones */
body.woocommerce-checkout button.lfabco-btn-next,
.lfabco-btn-next,
button.lfabco-btn-next {
	background: var(--lt-copper) !important;
	color: var(--lt-bg) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	box-shadow: 0 14px 30px -12px rgba(184,145,112,.5) !important;
}
.lfabco-btn-prev,
button.lfabco-btn-prev {
	background: transparent !important;
	color: var(--lt-muted-2) !important;
	border: 1px solid var(--lt-border-strong) !important;
	border-radius: 999px !important;
}

/* Sidebar "Tu pedido" */
.lfabco-native-sidebar {
	background: var(--lt-surface) !important;
	border: 1px solid var(--lt-copper-line) !important;
	border-radius: 16px !important;
	color: var(--lt-text) !important;
	box-shadow: none !important;
}
.lfabco-native-sidebar__title {
	background: transparent !important;
	color: var(--lt-strong) !important;
	font-family: var(--lt-font-display) !important;
	border-color: var(--lt-border) !important;
}
.lfabco-native-sidebar table,
.lfabco-native-sidebar th,
.lfabco-native-sidebar td { background: transparent !important; color: var(--lt-muted-2) !important; border-color: var(--lt-border) !important; }
.lfabco-native-sidebar .order-total th,
.lfabco-native-sidebar .order-total td,
body #order_review .order-total th,
body #order_review .order-total td,
body #order_review .order-total .woocommerce-Price-amount { color: var(--lt-cream) !important; font-family: var(--lt-font-display); font-size: 17px; }
body #order_review table, body #order_review th, body #order_review td { color: var(--lt-muted-2); }
.lfabco-native-sidebar .woocommerce-Price-amount { color: inherit !important; }

/* Cupón */
.lfabco-coupon-container,
.lfabco-coupon-container a { color: var(--lt-muted-2) !important; }
.lfabco-coupon-container a:hover { color: var(--lt-copper) !important; }
body .lfabco-coupon-container,
body #lfabco-coupon-container { padding: 16px 22px !important; min-height: 0 !important; }
body .lfabco-coupon-container .woocommerce-form-coupon-toggle .woocommerce-info {
	padding: 0 !important; margin: 0 !important;
	font-size: 14px; line-height: 1.5;
}
body #lfabco-coupon-container .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon,
body .lfabco-coupon-container .woocommerce-info a.showcoupon,
body .lfabco-coupon-container a.showcoupon {
	color: var(--lt-copper) !important;
	font-weight: 600;
	text-decoration: underline;
}

/* Carrito: inputs oscuros */
.woocommerce-cart input#coupon_code,
.woocommerce-cart .quantity input.qty {
	background: rgba(17,17,17,.05) !important;
	border: 1px solid var(--lt-border-strong) !important;
	border-radius: 11px !important;
	color: var(--lt-strong) !important;
	height: 44px;
	padding: 0 12px;
}

/* Botón de compra final */
body #place_order,
body.woocommerce-checkout button#place_order {
	background: var(--lt-copper) !important;
	color: var(--lt-bg) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	box-shadow: 0 14px 30px -12px rgba(184,145,112,.5) !important;
}
body #place_order:hover { filter: brightness(1.08); }

/* ── Envío: celda a ancho completo (colspan en cart-shipping.php) ── */
body .lt-shipping-cell {
	padding: 16px 0 6px !important;
	border: none !important;
	text-align: left !important;
}
body tr.lt-shipping-row { border-top: 1px solid var(--lt-border) !important; }
.lt-shipping-label {
	font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--lt-copper); font-weight: 600;
	margin-bottom: 12px; font-family: var(--lt-font-body);
}
body ul#shipping_method {
	list-style: none; margin: 0 0 8px; padding: 0;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	width: 100%;
}
body ul#shipping_method li { margin: 0; padding: 0; display: flex; min-width: 0; }
body ul#shipping_method li:only-child { grid-column: 1 / -1; }
body ul#shipping_method label { height: 100%; }
body ul#shipping_method label {
	display: flex; align-items: flex-start; gap: 11px;
	border: 1px solid var(--lt-border-strong); border-radius: 12px;
	padding: 13px 15px; cursor: pointer; width: 100%;
	color: var(--lt-muted-2) !important; font-size: 13.5px; line-height: 1.45;
	transition: border-color .2s, background .2s, color .2s;
	margin: 0 !important;
}
body ul#shipping_method li:has(input:checked) label {
	border-color: var(--lt-copper);
	background: var(--lt-copper-soft);
	color: var(--lt-strong) !important;
}
/* El input es hermano del label: lo ocultamos, la tarjeta marca la selección */
body ul#shipping_method li { position: relative; }
body input.shipping_method {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px; height: 1px;
	pointer-events: none;
}
body ul#shipping_method li:has(input:checked) label::after {
	content: '✓';
	margin-left: auto;
	color: var(--lt-copper);
	font-weight: 700;
	padding-left: 10px;
}
body ul#shipping_method .woocommerce-Price-amount {
	color: var(--lt-cream) !important;
	font-family: var(--lt-font-display);
	font-weight: 600;
}

/* ── Mobile: más ancho + resumen colapsable ───────── */
@media (max-width: 900px) {
	.woocommerce-checkout .lt-container,
	.woocommerce-cart .lt-container { padding-left: 10px; padding-right: 10px; padding-top: 16px; }

	/* Resumen "Tu pedido" colapsado: título clickeable + solo la fila Total */
	.lfabco-native-sidebar__title { cursor: pointer; position: relative; padding-right: 30px !important; margin-bottom: 0 !important; }
	.lfabco-native-sidebar__title { padding-right: 90px !important; }
	.lfabco-native-sidebar__title::after {
		content: 'Ver menos ▾'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
		color: var(--lt-copper); font-size: 12.5px; font-weight: 600;
		font-family: var(--lt-font-body); letter-spacing: 0; white-space: nowrap;
	}
	.lfabco-native-sidebar.lt-collapsed .lfabco-native-sidebar__title::after { content: 'Ver más ▸'; }
	.lfabco-native-sidebar.lt-collapsed thead,
	.lfabco-native-sidebar.lt-collapsed tbody,
	.lfabco-native-sidebar.lt-collapsed tfoot tr:not(.order-total):not(.woocommerce-shipping-totals) { display: none; }
	.lfabco-native-sidebar.lt-collapsed table { margin: 0 !important; }
	.lfabco-native-sidebar.lt-collapsed .order-total th,
	.lfabco-native-sidebar.lt-collapsed .order-total td { border-top: none !important; padding-top: 8px !important; }
}

/* Flecha de globo del payment_box de Woo: fuera */
body #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }

/* Métodos de pago (paso 3) */
.lfabco-native-step .wc_payment_method label { color: var(--lt-text) !important; }
.lfabco-native-step .payment_box {
	background: rgba(17,17,17,.05) !important;
	color: var(--lt-muted-2) !important;
	border-radius: 10px;
}
