/* ==========================================================================
   Rumifay – Formulario checkout PREMIUM (override total WooCommerce)
   Falabella / Amazon / Shopify Plus – mobile first
   ========================================================================== */

/* --- Reset agresivo WC en checkout --- */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form * {
	box-sizing: border-box;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .col2-set,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .col2-set .col-1,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .col2-set .col-2,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #customer_details {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row::before,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row::after {
	display: none !important;
	content: none !important;
}

/* Tipografía Inter */
.rf-checkout-multistep-active.rf-woo-checkout-page,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Variables formulario */
.rf-checkout-multistep-active.rf-woo-checkout-page {
	--rf-field-h: 56px;
	--rf-field-radius: 12px;
	--rf-field-border: var(--rf-border, #e5eeff);
	--rf-field-border-focus: var(--rf-primary, #0057ff);
	--rf-field-bg: var(--rf-bg, #ffffff);
	--rf-label-size: 12px;
	--rf-label-color: var(--rf-text-muted, #6b7280);
	--rf-input-size: 16px;
	--rf-input-color: var(--rf-navy, #0b1b3a);
	--rf-field-gap: 14px;
	--rf-card-radius: 24px;
	--rf-card-pad: 20px;
}

@media (min-width: 768px) {
	.rf-checkout-multistep-active.rf-woo-checkout-page {
		--rf-card-pad: 28px;
	}
}

/* Anular estilos globales woocommerce.css dentro del form */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form.woocommerce-checkout {
	display: block !important;
	grid-template-columns: unset !important;
	gap: 0 !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-billing-fields,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #order_review {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Card premium */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__card {
	background: var(--rf-field-bg);
	border: none;
	border-radius: var(--rf-card-radius);
	box-shadow: 0 2px 16px rgba(11, 27, 58, 0.06), 0 0 0 1px rgba(11, 27, 58, 0.04);
	padding: var(--rf-card-pad);
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__header {
	margin-bottom: 12px;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__subtitle {
	font-size: 0.8125rem;
	font-weight: 400;
	color: #9ca3af;
}

/* Grid campos */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-billing-fields__field-wrapper,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-shipping-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--rf-field-gap);
	width: 100%;
}

@media (min-width: 560px) {
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr 1fr;
	}

	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row-wide,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_email_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_phone_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_address_1_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_city_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_state_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_country_field,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #billing_referencia_field {
		grid-column: 1 / -1;
	}
}

/* Labels modernas – arriba, pequeñas */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row label,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row .woocommerce-input-wrapper + label {
	display: block !important;
	font-family: Inter, sans-serif !important;
	font-size: var(--rf-label-size) !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: var(--rf-label-color) !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	letter-spacing: 0.01em;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row label .required,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row label abbr.required {
	color: #ef4444;
	text-decoration: none;
	font-weight: 500;
	border: 0;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

/* Inputs premium 56px */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input.input-text,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input[type="email"],
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input[type="tel"],
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input[type="number"],
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input[type="password"],
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row select,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row textarea {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: var(--rf-field-h) !important;
	min-height: var(--rf-field-h) !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid var(--rf-field-border) !important;
	border-radius: var(--rf-field-radius) !important;
	background: var(--rf-field-bg) !important;
	color: var(--rf-input-color) !important;
	font-family: Inter, sans-serif !important;
	font-size: var(--rf-input-size) !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row textarea {
	height: auto !important;
	min-height: 88px !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	resize: vertical;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input::placeholder,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row textarea::placeholder {
	color: #c4cdd8;
	opacity: 1;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input:hover,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row select:hover {
	border-color: #cbd5e1 !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row input:focus,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row select:focus,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row textarea:focus {
	border-color: var(--rf-field-border-focus) !important;
	outline: none !important;
	box-shadow: 0 0 0 4px rgba(0, 87, 255, 0.12) !important;
	background: #fff !important;
}

/* Select2 país / provincia */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container {
	width: 100% !important;
	max-width: 100% !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container--default .select2-selection--single {
	height: var(--rf-field-h) !important;
	min-height: var(--rf-field-h) !important;
	border: 1px solid var(--rf-field-border) !important;
	border-radius: var(--rf-field-radius) !important;
	background: var(--rf-field-bg) !important;
	padding: 0 !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container--default.select2-container--focus .select2-selection--single,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--rf-field-border-focus) !important;
	box-shadow: 0 0 0 4px rgba(0, 87, 255, 0.12) !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: calc(var(--rf-field-h) - 2px) !important;
	padding-left: 16px !important;
	padding-right: 36px !important;
	color: var(--rf-input-color) !important;
	font-family: Inter, sans-serif !important;
	font-size: var(--rf-input-size) !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: calc(var(--rf-field-h) - 2px) !important;
	right: 12px !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .select2-dropdown {
	border: 1px solid var(--rf-field-border) !important;
	border-radius: var(--rf-field-radius) !important;
	box-shadow: 0 8px 24px rgba(11, 27, 58, 0.1) !important;
	font-family: Inter, sans-serif !important;
	overflow: hidden;
}

/* Errores */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row.woocommerce-invalid input,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .form-row.woocommerce-invalid select {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12) !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step-error {
	margin: 0 0 14px !important;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	font-size: 0.8125rem !important;
	border: none !important;
	background: #fef2f2 !important;
	color: #b91c1c !important;
}

/* Ocultar textos WC redundantes */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-account-fields,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form #ship-to-different-address,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-shipping-fields,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-form .woocommerce-additional-fields {
	display: none !important;
}

/* Shell minimalista */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-woo-shell {
	background: var(--rf-bg-page, #f5f9ff) !important;
	padding-top: 16px;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-woo-shell__inner {
	max-width: 480px;
	margin: 0 auto;
}

@media (min-width: 992px) {
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-woo-shell__inner {
		max-width: 1100px;
	}
}

/* Progress compacto */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-progress {
	margin-bottom: 20px;
}

/* Nav escritorio; móvil solo sticky */
@media (max-width: 767px) {
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__nav--delivery,
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step__nav--payment {
		display: none !important;
	}

	.rf-checkout-multistep-active.rf-woo-checkout-page {
		--rf-ms-sticky-h: 80px;
	}
}

/* Sticky Falabella */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky {
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-top: 1px solid #eef2f7;
	box-shadow: 0 -4px 24px rgba(11, 27, 58, 0.08);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky__label {
	font-size: 11px;
	font-weight: 500;
	color: #9ca3af;
	text-transform: none;
	letter-spacing: 0;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky__amount {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky .rf-checkout-btn,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky #place_order,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky #place_order_sticky,
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-sticky .rf-falabella-cta {
	min-height: 52px !important;
	height: 52px !important;
	padding: 0 28px !important;
	border-radius: 999px !important;
	font-family: Inter, sans-serif !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	background: var(--rf-primary, #0057ff) !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(0, 87, 255, 0.35) !important;
}

/* Botones paso */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-btn {
	font-family: Inter, sans-serif;
	font-weight: 600;
	min-height: 52px;
	border-radius: 999px;
}

/* Resumen entrega */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-delivery-summary {
	border-radius: 16px;
	border: none;
	box-shadow: 0 1px 8px rgba(11, 27, 58, 0.05);
	padding: 12px 14px;
	margin-bottom: 12px;
}

/* Pago – tarjetas */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step--payment .rf-checkout-step__card--payment {
	padding: var(--rf-card-pad);
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step--payment #payment .payment_methods > li {
	border-radius: 16px;
	border: 1px solid #e2e8f0;
	padding: 14px 16px;
	margin-bottom: 10px;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step--payment #payment .payment_methods li label {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step--payment #payment #place_order {
	display: none !important;
}

@media (min-width: 768px) {
	.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-step--payment #payment #place_order {
		display: inline-flex !important;
	}
}

/* Cupón discreto */
.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-coupon-wrap {
	margin-bottom: 12px;
	font-size: 0.8125rem;
}

.rf-checkout-multistep-active.rf-woo-checkout-page .rf-checkout-coupon-wrap .input-text {
	height: 48px !important;
	min-height: 48px !important;
	border-radius: 12px !important;
}

/* Notices */
.rf-checkout-multistep-active.rf-woo-checkout-page .woocommerce-error,
.rf-checkout-multistep-active.rf-woo-checkout-page .woocommerce-message,
.rf-checkout-multistep-active.rf-woo-checkout-page .woocommerce-info {
	font-family: Inter, sans-serif;
	font-size: 0.8125rem;
	border-radius: 12px;
	margin-bottom: 12px;
}
