/**
 * Ailin Auth - Estilos My Account Login/Registro
 * Basado en los design tokens del checkout de Ailin
 * Compatible con Elementor + wpautop
 */

/* ========================================
   MATAR <p> FANTASMA de wpautop
   ======================================== */
#ailin-auth-layout>p,
#ailin-auth-layout>div:empty,
.ailin-auth__forms>p,
.ailin-auth__forms>div:empty,
.ailin-field>p,
.ailin-field>br,
.form-row>p,
.form-row>br,
.ailin-field-row>p,
.ailin-field-row>br {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

.ailin-field br,
.ailin-field label+br,
.ailin-field span+br,
.ailin-field__icon+br,
.ailin-field__input-wrapper+br,
.ailin-actions br,
.ailin-switch br {
	display: none !important;
}

/* ========================================
   ELEMENTOR OVERRIDES
   ======================================== */
.elementor-widget-woocommerce-my-account,
#content .elementor-widget-shortcode,
.elementor-widget-text-editor {
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-widget-woocommerce-my-account .elementor-widget-container,
#content .elementor-widget-shortcode .elementor-widget-container,
.elementor-widget-text-editor .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

.elementor-section:has(#ailin-auth-layout),
.elementor-column:has(#ailin-auth-layout),
.elementor-widget:has(#ailin-auth-layout),
.elementor-widget-container:has(#ailin-auth-layout),
.e-con:has(#ailin-auth-layout),
.e-con-inner:has(#ailin-auth-layout) {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.e-con:has(#ailin-auth-layout) {
	--content-width: 100% !important;
	--container-max-width: 100% !important;
}

.elementor-widget-container>.woocommerce {
	width: 100% !important;
	max-width: 100% !important;
}

/* ========================================
   LAYOUT PRINCIPAL
   flex para que columnas NO fuercen misma altura
   ======================================== */
#ailin-auth-layout {
	display: flex !important;
	flex-direction: row !important;
	max-width: 65vw !important;
	margin: 0 auto !important;
	background: #fff !important;
	overflow: visible !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	min-height: 0 !important;
	/* Quitamos el flex-start para que las columnas tengan la misma altura */
	font-family: 'Sharp Grotesk', sans-serif !important;
	border-radius: 30px !important;
}

#ailin-auth-layout>*:not(p) {
	max-width: 100% !important;
	float: none !important;
}

/* ========================================
   COLUMNA IMAGEN
   Sticky + altura fija del viewport
   ======================================== */
.ailin-auth__image {
	position: sticky !important;
	top: 0 !important;
	width: 50% !important;
	flex: 0 0 50% !important;
	height: auto !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border-radius: 30px 0 0 30px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ailin-auth__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 30px !important;
}

/* ========================================
   COLUMNA FORMULARIOS
   ======================================== */
.ailin-auth__forms {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 48px 56px !important;
	width: 50% !important;
	flex: 0 0 50% !important;
	box-sizing: border-box !important;
	min-height: auto !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
	background: #fff !important;
	border-radius: 0 30px 30px 0 !important;
}

/* ========================================
   PANELES (Login / Registro)
   ======================================== */
.ailin-panel {
	display: none !important;
}

.ailin-panel.ailin-panel--active {
	display: block !important;
	animation: ailinFadeIn 0.35s ease !important;
	padding: 0 !important;
	max-width: 450px !important;
	margin: 0 auto !important;
}

@keyframes ailinFadeIn {
	from {
		opacity: 0 !important;
		transform: translateY(12px) !important;
	}

	to {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

/* ========================================
   HEADER
   Estilo del checkout-title
   ======================================== */
.ailin-panel__header {
	margin-bottom: 30px !important;
	padding-bottom: 25px !important;
	/*border-bottom: 1px solid #051947 !important;*/
	padding: 0 0 !important;
}

.ailin-panel__header h2 {
	font-size: 20px !important;
	font-weight: 400 !important;
	color: var(--e-global-color-primary, #051947) !important;
	/*text-transform: uppercase !important;*/
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: "Agrandir", Sans-serif !important;
	text-align: center !important;
	border: none !important;
	letter-spacing: 0.02em !important;

}

.ailin-panel__header p {
	font-size: 14px !important;
	color: #69738C !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	text-align: center !important;
}

/* ========================================
   CAMPOS
   Mismos estilos que form[name=checkout]
   ======================================== */
.ailin-field,
div.ailin-field,
p.ailin-field {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	margin-bottom: 0px !important;
	padding: 0 !important;
	width: 100% !important;
}

.ailin-field label,
.ailin-auth__forms .form-row label {
	display: block !important;
	width: 100% !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--e-global-color-primary, #051947) !important;
	margin-bottom: 6px !important;
	text-align: left !important;
}

.ailin-field__input-wrapper {
	position: relative !important;
	width: 100% !important;
}

.ailin-field__icon {
	position: absolute !important;
	left: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #051947 !important;
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: none !important;
}

/* Inputs: copiados del checkout */
.ailin-auth__forms input[type="text"],
.ailin-auth__forms input[type="email"],
.ailin-auth__forms input[type="password"],
.ailin-auth__forms input[type="tel"],
.ailin-auth__forms select {
	width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
	padding: 15px 20px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--e-global-color-primary, #051947) !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	box-sizing: border-box !important;
	height: auto !important;
	line-height: normal !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

/* Solo si tiene icono inyectado, dar padding extra (Resiliente a inyecciones de WP) */
.ailin-auth__forms .ailin-field__icon~input,
.ailin-auth__forms .ailin-field__icon~input[type],
.ailin-auth__forms .ailin-field__icon~.password-input input {
	padding-left: 45px !important;
}

.ailin-auth__forms input:focus,
.ailin-auth__forms select:focus {
	outline: none !important;
	border: 1px solid var(--e-global-color-primary, #051947) !important;
	box-shadow: none !important;
}

/* Error States */
.ailin-auth__forms .ailin-field__input--error {
	border-color: #F46A6B !important;
	background: #FFF9F9 !important;
}

.ailin-field__error {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #F46A6B !important;
	font-size: 13px !important;
	font-weight: 300 !important;
	/*margin-top: -10px!important;
	margin-bottom: 15px!important;*/
	animation: ailinFadeIn 0.2s ease !important;
}

.ailin-field__error a {
	color: inherit !important;
	text-decoration: underline !important;
	font-weight: 400 !important;
	cursor: pointer !important;
}

.ailin-field__error svg {
	flex-shrink: 0 !important;
}

.ailin-auth__forms input::placeholder {
	color: #9ca3af !important;
	font-weight: 300 !important;
}

.ailin-field--country-code {
	flex: 0 0 140px !important;
	max-width: 140px !important;
	width: 140px !important;
}

.ailin-field--phone {
	flex: 1 !important;
}

/* ========================================
   SELECTOR DE BANDERAS (Personalizado)
   ======================================== */
.ailin-field--country-code .ailin-field__input-wrapper {
	cursor: pointer !important;
}

/* Ocultar el select nativo pero mantenerlo accesible para accesibilidad y JS */
#reg_billing_country_code {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	z-index: -1 !important;
}

.ailin-flag-selector {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 15px 15px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	background: #fff !important;
	height: 50px !important;
	line-height: normal !important;
	position: relative !important;
	transition: border-color 0.2s !important;
	box-sizing: border-box !important;
	width: 100% !important;
	z-index: 10 !important;
	cursor: pointer !important;
}

.ailin-flag-selector:hover {
	border-color: #051947 !important;
}

.ailin-flag-selector__flag {
	width: 16px !important;
	height: 11px !important;
	object-fit: contain !important;
	flex-shrink: 0 !important;
}

.ailin-flag-selector__prefix {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #051947 !important;
}

.ailin-flag-selector__arrow {
	margin-left: auto !important;
	width: 12px !important;
	height: 12px !important;
	color: #051947 !important;
	transition: transform 0.2s !important;
}

.ailin-flag-selector--open .ailin-flag-selector__arrow {
	transform: rotate(180deg) !important;
}

/* Lista desplegable */
.ailin-flag-dropdown {
	position: absolute !important;
	top: calc(100% + 5px) !important;
	left: 0 !important;
	width: 250px !important;
	background: #fff !important;
	border: 1px solid #E6EAF2 !important;
	border-radius: 10px !important;
	box-shadow: 0 10px 30px rgba(5, 25, 71, 0.1) !important;
	z-index: 999 !important;
	display: none !important;
	overflow: hidden !important;
	animation: ailinFadeInUp 0.2s ease-out !important;
}

.ailin-flag-selector--open+.ailin-flag-dropdown {
	display: block !important;
}

.ailin-flag-dropdown__search {
	padding: 10px !important;
	border-bottom: 1px solid #E6EAF2 !important;
	position: sticky !important;
	top: 0 !important;
	background: #fff !important;
	z-index: 2 !important;
}

.ailin-flag-dropdown__search input {
	width: 100% !important;
	padding: 8px 12px !important;
	font-size: 13px !important;
	border: 1px solid #E6EAF2 !important;
	border-radius: 6px !important;
}

.ailin-flag-dropdown__list {
	max-height: 250px !important;
	overflow-y: auto !important;
	padding: 5px 0 !important;
}

.ailin-flag-dropdown__option {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 15px !important;
	cursor: pointer !important;
	transition: background 0.1s !important;
}

.ailin-flag-dropdown__option:hover {
	background: #F8FAFC !important;
}

.ailin-flag-dropdown__option--selected {
	background: #EEF2FF !important;
}

.ailin-flag-dropdown__option img {
	width: 16px !important;
	height: 11px !important;
}

.ailin-flag-dropdown__option .country-name {
	font-size: 13px !important;
	color: #051947 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	flex: 1 !important;
}

.ailin-flag-dropdown__option .prefix {
	font-size: 13px !important;
	color: #69738C !important;
	text-align: right !important;
}

/* Scrollbar personalizado para la lista */
.ailin-flag-dropdown__list::-webkit-scrollbar {
	width: 6px !important;
}

.ailin-flag-dropdown__list::-webkit-scrollbar-thumb {
	background: #D1D5DB !important;
	border-radius: 10px !important;
}

.ailin-field--phone {
	flex: 1 !important;
}

/* Forzar que los select ocupen el 100% del wrapper */
.ailin-field__input-wrapper select {
	padding-left: 20px !important;
	/* El país no lleva icono de momento, o si lo lleva ajustar */
}

/* ========================================
   FILAS DE CAMPOS (inyectados por hooks)
   ======================================== */
.ailin-field-row {
	display: flex !important;
	gap: 16px !important;
	width: 100% !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
}

/* Evitar que pseudo-elementos (clearfix) o tags vacíos (wpautop) se conviertan en items flex */
/* Evitar que pseudo-elementos (clearfix) o tags vacíos (wpautop) se conviertan en items flex */
.ailin-field-row::before,
.ailin-field-row::after,
.ailin-field-row>p,
.ailin-field-row>br {
	display: none !important;
	content: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
}

.ailin-field-row .ailin-field {
	flex: 1 !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	width: auto !important;
	max-width: none !important;
}

.ailin-field-row--half .ailin-field {
	flex: 1 !important;
	max-width: none !important;
}

.ailin-field label {
	display: block !important;
}

.ailin-field-row--phone {
	display: flex !important;
	gap: 16px !important;
	width: 100% !important;
}

/* ========================================
   BOTONES
   ======================================== */
.ailin-auth__forms .ailin-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 15px 25px !important;
	border-radius: 50px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
	border: none !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
	text-decoration: none !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

.ailin-auth__forms .ailin-btn--primary {
	background: var(--e-global-color-primary, #051947) !important;
	color: white !important;
}

.ailin-auth__forms .ailin-btn--primary:hover {
	background: var(--e-global-color-primary, #051947) !important;
	opacity: 0.8 !important;
}

.ailin-auth__forms .ailin-btn--outline {
	background: #FFFFFF !important;
	color: var(--e-global-color-primary, #051947) !important;
	border: 1px solid var(--e-global-color-primary, #051947) !important;
}

.ailin-auth__forms .ailin-btn--outline:hover {
	background: #e5e1e0 !important;
}

/* Spinner */
.ailin-btn--loading {
	position: relative !important;
	color: transparent !important;
	pointer-events: none !important;
}

.ailin-btn--loading::after {
	content: "" !important;
	position: absolute !important;
	width: 20px !important;
	height: 20px !important;
	top: calc(50% - 10px) !important;
	left: calc(50% - 10px) !important;
	border: 2px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 50% !important;
	border-top-color: #fff !important;
	animation: ailinSpin 0.6s linear infinite !important;
}

.ailin-btn--outline.ailin-btn--loading::after {
	border: 2px solid rgba(5, 25, 71, 0.1) !important;
	border-top-color: #051947 !important;
}

@keyframes ailinSpin {
	to {
		transform: rotate(360deg) !important;
	}
}

.ailin-btn__arrow {
	margin-left: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ailin-btn__arrow svg {
	display: block !important;
}

/* ========================================
   ACCIONES Y LINKS
   ======================================== */
.ailin-actions {
	margin-top: 20px !important;
}

.ailin-lost-password {
	text-align: center !important;
	margin-top: 12px !important;
}

.ailin-lost-password a {
	color: #6b7280 !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	text-decoration: underline !important;
}

.ailin-lost-password a:hover {
	color: var(--e-global-color-primary, #051947) !important;
}

.ailin-switch {
	margin-top: 16px !important;
	padding: 0 0 !important;
}

/* ========================================
   CHECKBOX "Recuérdame"
   Estilo del checkout (círculo verde)
   ======================================== */
.ailin-auth__forms .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	padding-left: 35px !important;
	cursor: pointer !important;
	margin-bottom: 16px !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	position: absolute !important;
	opacity: 0 !important;
	cursor: pointer !important;
	height: 0 !important;
	width: 0 !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox span:not(.checkbox-text) {
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--e-global-color-primary, #051947) !important;
	line-height: 1.2 !important;
	width: 0 !important;
	flex-shrink: 0 !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox span:not(.checkbox-text)::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	height: 22px !important;
	width: 22px !important;
	background-color: #fff !important;
	border: 1.5px solid #00D19E !important;
	border-radius: 50% !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox input:checked~span:not(.checkbox-text)::after {
	content: "" !important;
	position: absolute !important;
	left: 5px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 12px !important;
	height: 12px !important;
	background-color: #00D19E !important;
	border-radius: 50% !important;
}

/* Texto del checkbox (incluyendo enlace) en un solo bloque flex */
.ailin-auth__forms .woocommerce-form__label-for-checkbox .checkbox-text {
	display: block !important;
	flex: 1 !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--e-global-color-primary, #051947) !important;
	line-height: 1.4 !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox .checkbox-text a {
	display: inline !important;
	color: #00ABEA !important;
	text-decoration: underline !important;
}

/* ========================================
   PRIVACY / NOTAS (si se inyectan via hook)
   Estilo del step-privacy-notice del checkout
   ======================================== */
.ailin-auth__forms .woocommerce-privacy-policy-text {
	margin-top: 20px !important;
	display: none !important;
}

.ailin-auth__forms .woocommerce-privacy-policy-text p {
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: var(--e-global-color-primary, #051947) !important;
	font-weight: 300 !important;
	display: block !important;
	height: auto !important;
}

.ailin-auth__forms .woocommerce-privacy-policy-text a {
	color: var(--e-global-color-primary, #051947) !important;
	text-decoration: underline !important;
}

/* ========================================
   ERRORES
   Estilo del checkout
   ======================================== */
.ailin-auth__forms .woocommerce-message {
	display: none !important;
}

.ailin-auth__forms .woocommerce-error {
	display: none !important;
}

/* ========================================
   Ocultar título "Mi cuenta" del tema
   ======================================== */
/*
.woocommerce-account .entry-title,
.woocommerce-account .page-title {
	display: none !important;
}
*/

/* ========================================
   MENSAJES DE ERROR PERSONALIZADOS
   ======================================== */

.ailin-custom-error {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	background: #FFF9F9 !important;
	border-left: 3px solid #F46A6B !important;
	padding: 16px 20px !important;
	border-radius: 8px !important;
	margin-bottom: 30px !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ailin-custom-error svg {
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.ailin-custom-error span {
	color: #F46A6B !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 960px) {
	#ailin-auth-layout {
		flex-direction: column !important;
		max-width: 100% !important;
	}

	.ailin-auth__image {
		position: relative !important;
		width: 100% !important;
		flex: none !important;
		height: 240px !important;
		max-height: 240px !important;
		border-radius: 30px 30px 0 0 !important;
	}

	.ailin-auth__forms {
		width: 100% !important;
		flex: none !important;
		padding: 32px 24px !important;
		min-height: auto !important;
		border-radius: 0 0 30px 30px !important;
	}
}

@media (max-width: 520px) {
	.ailin-auth__image {
		height: 180px !important;
		max-height: 180px !important;
	}

	.ailin-auth__forms {
		padding: 24px 16px !important;
	}

	.ailin-panel__header h2 {
		font-size: 14px !important;
	}

	.ailin-field-row {
		flex-direction: column !important;
		gap: 0 !important;
	}

	.ailin-field-row .form-row,
	.ailin-field-row .ailin-field,
	.ailin-field-row .woocommerce-form-row {
		width: 100% !important;
		flex: none !important;
		margin-bottom: 15px !important;
	}

	.ailin-field--country-code {
		flex: unset !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}


/* CUSTOM */

.woocommerce form.login,
.woocommerce form.register {
	border: none !important;
	padding: 0 0 !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Forzar que las filas de WooCommerce no tengan anchos restrictivos ni floats */
.ailin-auth__forms .form-row,
.ailin-auth__forms .woocommerce-form-row {
	width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.ailin-field-row .form-row,
.ailin-field-row .ailin-field,
.ailin-field-row .woocommerce-form-row {
	width: 0 !important;
	flex: 1 1 0% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
}

.ailin-field-row .form-row::before,
.ailin-field-row .form-row::after,
.ailin-field-row .ailin-field::before,
.ailin-field-row .ailin-field::after,
.ailin-field-row .form-row>p,
.ailin-field-row .ailin-field>p,
.ailin-field-row .form-row>br,
.ailin-field-row .ailin-field>br {
	display: none !important;
	content: none !important;
}

/* Ajuste de ancho del prefijo de teléfono */
.ailin-field-row .ailin-field--country-code {
	flex: 0 0 100px !important;
	width: 100px !important;
	max-width: 100px !important;
}

.ailin-field label,
.ailin-auth__forms .form-row label {
	margin-top: 0 !important;
	margin-bottom: 6px !important;
	line-height: normal !important;
	height: auto !important;
	display: block !important;
}

@keyframes ailinFadeInUp {
	from {
		opacity: 0 !important;
		transform: translateY(10px) !important;
	}

	to {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

#ailin-register-panel .ailin-field-row,
#ailin-register-panel .woocommerce form .form-row-wide,
.woocommerce-page form .form-row-wide {
	margin-bottom: 15px !important;
}

.privacy-disclaimer {
	color: #69738C !important;
	font-size: 14px !important;
}

.privacy-disclaimer a {
	color: #00ABEA !important;
	font-size: 14px !important;
	text-decoration: none !important;
}

/* ========================================
   COGNITO OTP LOGIN (Fase Futura)
   ======================================== */

#ailin-cognito-login-form {
	width: 100% !important;
	max-width: 100% !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

#ailin-cognito-login-form h3 {
	font-size: 20px !important;
	font-weight: 500 !important;
	color: #051947 !important;
	margin-bottom: 20px !important;
	text-align: left !important;
}

#ailin-cognito-login-form .form-row {
	margin-bottom: 20px !important;
	display: flex !important;
	flex-direction: column !important;
}

#ailin-cognito-login-form label {
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	margin-bottom: 6px !important;
}

/* Input dentro de wrapper con icono en formulario Cognito */
#ailin-cognito-login-form .ailin-field__icon ~ input,
#ailin-cognito-login-form .ailin-field__icon ~ input[type] {
	padding-left: 45px !important;
}

#ailin-cognito-login-form .ailin-field__input-wrapper {
	position: relative !important;
	width: 100% !important;
}

#ailin-cognito-login-form .ailin-field__icon {
	position: absolute !important;
	left: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #051947 !important;
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: none !important;
}

#ailin-cognito-login-form input.input-text {
	width: 100% !important;
	padding: 15px 20px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	height: auto !important;
	line-height: normal !important;
}

/* Botones principales de Cognito */
#ailin-cognito-send-otp-login,
#ailin-cognito-verify-otp-login {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 15px 25px !important;
	border-radius: 50px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
	border: none !important;
	background: #051947 !important;
	color: white !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

#ailin-cognito-send-otp-login:hover,
#ailin-cognito-verify-otp-login:hover {
	opacity: 0.9 !important;
}

/* Botón Secundario (Reenviar) */
#ailin-cognito-resend-otp-login {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 20px !important;
	border-radius: 50px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	background: white !important;
	color: #051947 !important;
	border: 1px solid #051947 !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
	transition: all 0.2s !important;
	cursor: pointer !important;
}

#ailin-cognito-resend-otp-login:hover {
	background: #f5f5f4 !important;
}

/* Descripciones y Errores */
#ailin-cognito-login-form .description {
	display: block !important;
	font-size: 12px !important;
	color: #69738C !important;
	margin-top: 5px !important;
	font-weight: 300 !important;
}

.woocommerce-error#ailin-cognito-error-login,
.woocommerce-error#ailin-cognito-otp-error-login {
	background: #FFF9F9 !important;
	border-left: 3px solid #F46A6B !important;
	color: #F46A6B !important;
	padding: 12px 15px !important;
	font-size: 13px !important;
	border-radius: 8px !important;
	margin: 15px 0 !important;
	list-style: none !important;
}

/* Ajuste de los botones en la fila del OTP */
#ailin-cognito-otp-step-login .form-row[style*="display: flex"] {
	flex-direction: row !important;
	gap: 16px !important;
}

@media (max-width: 520px) {
	#ailin-cognito-otp-step-login .form-row[style*="display: flex"] {
		flex-direction: column !important;
	}
	    .ailin-field-row .form-row,
    .ailin-field-row .ailin-field,
    .ailin-field-row .woocommerce-form-row {
        width: 100% !important;
        flex: none !important;
        margin-bottom: 15px !important;
    }
    .ailin-field--country-code {
        width: 100% !important;
    }
	.ailin-field-row--phone {
        flex-direction: row !important;
        gap: 10px !important; /* Espacio entre los dos campos */
        align-items: flex-start !important;
    }
    /* Ajustar el ancho del código de país para que no ocupe el 100% */
    .ailin-field-row--phone .ailin-field--country-code {
        width: 100px !important; 
        flex: 0 0 100px !important;
        margin-bottom: 0 !important;
    }
    /* Hacer que el campo de teléfono ocupe el resto del espacio */
    .ailin-field-row--phone .ailin-field--phone {
        width: auto !important;
        flex: 1 !important;
        margin-bottom: 0 !important;
    }
}

/* ========================================
   OCULTAR MENSAJES NATIVOS DE WOOCOMMERCE
   ======================================== */

.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message {
	display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
	display: none !important;
}

/* ========================================
   COGNITO OTP REGISTRO
   ======================================== */

#ailin-cognito-register-form {
	width: 100% !important;
	max-width: 100% !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

#ailin-cognito-register-form .form-row {
	margin-bottom: 20px !important;
	display: flex !important;
	flex-direction: column !important;
}

#ailin-cognito-register-form label {
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	margin-bottom: 6px !important;
}

#ailin-cognito-register-form input.input-text {
	width: 100% !important;
	padding: 15px 20px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	height: auto !important;
	line-height: normal !important;
}

/* Botones principales de Cognito Registro */
#ailin-cognito-register,
#ailin-cognito-verify-otp-register {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 15px 25px !important;
	border-radius: 50px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
	border: none !important;
	background: #051947 !important;
	color: white !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

#ailin-cognito-register:hover,
#ailin-cognito-verify-otp-register:hover {
	opacity: 0.9 !important;
}

/* Botón Secundario (Reenviar Registro) */
#ailin-cognito-resend-otp-register {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 20px !important;
	border-radius: 50px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	background: white !important;
	color: #051947 !important;
	border: 1px solid #051947 !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
	transition: all 0.2s !important;
	cursor: pointer !important;
}

#ailin-cognito-resend-otp-register:hover {
	background: #f5f5f4 !important;
}

/* Descripciones y Errores del Registro */
#ailin-cognito-register-form .description {
	display: block !important;
	font-size: 12px !important;
	color: #69738C !important;
	margin-top: 5px !important;
	font-weight: 300 !important;
}

.woocommerce-error#ailin-cognito-register-error,
.woocommerce-error#ailin-cognito-otp-error-register {
	background: #FFF9F9 !important;
	border-left: 3px solid #F46A6B !important;
	color: #F46A6B !important;
	padding: 12px 15px !important;
	font-size: 13px !important;
	border-radius: 8px !important;
	margin: 15px 0 !important;
	list-style: none !important;
}

/* Ajuste OTP row registro */
#ailin-cognito-otp-step-register .form-row[style*="display: flex"] {
	flex-direction: row !important;
	gap: 16px !important;
}

@media (max-width: 520px) {
	#ailin-cognito-otp-step-register .form-row[style*="display: flex"] {
		flex-direction: column !important;
	}
}

/* ========================================
   BOTONES OTP — FIX OVERFLOW (PLAT-45)
   ======================================== */
#ailin-cognito-verify-otp-login,
#ailin-cognito-verify-otp-register,
#ailin-cognito-resend-otp-login,
#ailin-cognito-resend-otp-register {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	padding: 12px 20px !important;
	min-height: 46px !important;
}

/* ========================================
   CHECKBOXES REGISTRO COGNITO
   ======================================== */
#ailin-cognito-register-form .form-checkbox {
	margin-bottom: 12px !important;
}

#ailin-cognito-register-form .form-checkbox a {
	color: #00ABEA !important;
	text-decoration: none !important;
}

/* ============================================
   CHECKOUT: Login Inline (Collapsible)
   ============================================ */

/* Banner Wrapper */
.ailin-checkout-login-banner {
	margin-bottom: 20px !important;
}

/* Banner Content */
.ailin-checkout-login-notice {
	background: #F1EDEC !important;
	border-radius: 10px !important;
	padding: 15px 20px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #051947 !important;
	font-size: 14px !important;
	flex-wrap: wrap !important;
}

.ailin-checkout-login-notice__icon {
	color: #00ABEA !important;
	display: flex !important;
	align-items: center !important;
}

.ailin-checkout-toggle-login {
	color: #00ABEA !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	margin-left: auto !important; /* Push to right */
	cursor: pointer !important;
}

.ailin-checkout-toggle-login:hover {
	text-decoration: underline !important;
}

/* Form Wrapper (Collapsible) */
.ailin-checkout-login-form-wrapper {
	background: #fff !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 10px !important;
	padding: 24px !important;
	margin-bottom: 30px !important;
	box-shadow: 0 4px 12px rgba(5, 25, 71, 0.05) !important;
}

.ailin-checkout-login-form-inner {
	max-width: 480px !important;
}

.ailin-checkout-login-form-intro {
	font-size: 14px !important;
	color: #6b7280 !important;
	margin-bottom: 20px !important;
}

/* Inputs & Fields (Reuse ailin-field styles) */
.ailin-checkout-login-form-wrapper .ailin-field {
	margin-bottom: 16px !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__input-wrapper {
	position: relative !important;
	width: 100% !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon {
	position: absolute !important;
	left: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #051947 !important;
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	pointer-events: none !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon ~ input {
	padding-left: 45px !important;
}

/* MATCHING OLD STYLES (White, 10px Radius) */
.ailin-checkout-login-form-wrapper .input-text {
	width: 100% !important;
	padding: 15px 20px !important;
	padding-left: 45px !important; /* Icon space */
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ailin-checkout-login-form-wrapper .input-text:focus {
	outline: none !important;
	border-color: #051947 !important;
}

.ailin-checkout-login-form-wrapper label {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #051947 !important;
	margin-bottom: 6px !important;
	display: block !important;
}

/* Buttons */
.ailin-btn--checkout {
	width: auto !important;
	min-width: 180px !important;
	background: #051947 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	transition: background 0.2s !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

.ailin-btn--checkout:hover {
	background: #00ABEA !important;
}

.ailin-btn--link {
	background: none !important;
	border: none !important;
	color: #6b7280 !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	font-weight: 400 !important;
}

.ailin-btn--link:hover {
	color: #051947 !important;
}

.ailin-checkout-otp-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 20px !important;
}

/* Loading & Error */
.ailin-checkout-login-loading {
	margin-top: 15px !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 14px !important;
	color: #6b7280 !important;
}

.ailin-spinner {
	width: 18px !important;
	height: 18px !important;
	border: 2px solid #E5E7EB !important;
	border-top-color: #00ABEA !important;
	border-radius: 50% !important;
	animation: spin 1s linear infinite !important;
}

.ailin-checkout-login-error {
	color: #D32F2F !important;
	background: #FDECEA !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	font-size: 13px !important;
	margin-top: 16px !important;
	border: 1px solid #f5c6cb !important;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 600px) {
	.ailin-checkout-login-notice {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.ailin-checkout-toggle-login {
		margin-left: 0 !important;
		padding-left: 28px !important; /* Align with text */
	}

	.ailin-checkout-login-form-wrapper {
		padding: 16px !important;
	}
	
	.ailin-btn--checkout {
		width: 100% !important;
	}
	
	.ailin-checkout-otp-actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	
	.ailin-btn--link {
		text-align: center !important;
		padding: 12px !important;
	}
}
.ailin-checkout-login-notice__icon {
	color: #00ABEA !important;
	display: flex !important;
	align-items: center !important;
}

.ailin-checkout-toggle-login {
	color: #00ABEA !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	margin-left: auto !important; /* Push to right */
	cursor: pointer !important;
}

.ailin-checkout-toggle-login:hover {
	text-decoration: underline !important;
}

/* Form Wrapper (Collapsible) */
.ailin-checkout-login-form-wrapper {
	background: #fff !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 8px !important; /* Slightly larger than inputs */
	padding: 24px !important;
	margin-bottom: 30px !important;
	box-shadow: 0 4px 12px rgba(5, 25, 71, 0.05) !important;
}

.ailin-checkout-login-form-inner {
	max-width: 480px !important;
}

.ailin-checkout-login-form-intro {
	font-size: 14px !important;
	color: #6b7280 !important;
	margin-bottom: 20px !important;
}

/* Inputs & Fields (Reuse ailin-field styles) */
.ailin-checkout-login-form-wrapper .ailin-field {
	margin-bottom: 16px !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__input-wrapper {
	position: relative !important;
	width: 100% !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon {
	position: absolute !important;
	left: 12px !important;
	top: 50%;
	transform: translateY(-50%) !important;
	color: #6B7280 !important; /* Grey icon like placeholder */
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	pointer-events: none !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon ~ input {
	padding-left: 40px !important; /* Space for icon */
}

/* INPUT STYLE MATCHING REQUESTS (Legacy Look) */
.ailin-checkout-login-form-wrapper .input-text {
	width: 100% !important;
	padding: 12px 16px !important;
	padding-left: 40px !important; /* Keep space for icon */
	border: 1px solid #E1E4EB !important; /* Subtle border */
	border-radius: 4px !important;        /* Standard corner radius */
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #333 !important;
	background: #F2F4F8 !important;      /* Light Blue/Grey background */
	box-sizing: border-box !important;
	font-family: inherit !important;
	transition: all 0.2s ease !important;
}

.ailin-checkout-login-form-wrapper .input-text:focus {
	outline: none !important;
	background: #fff !important;          /* White on focus */
	border-color: #051947 !important;     /* Blue border on focus */
	box-shadow: 0 0 0 1px #051947 !important;
}

.ailin-checkout-login-form-wrapper label {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #333 !important;
	margin-bottom: 6px !important;
	display: block !important;
}

/* Buttons */
.ailin-btn--checkout {
	width: auto !important;
	min-width: 120px !important;
	background: #051947 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 5px !important; /* Matches legacy button radius */
	padding: 12px 24px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	transition: background 0.2s !important;
}

.ailin-btn--checkout:hover {
	background: #00ABEA !important;
}

.ailin-btn--link {
	background: none !important;
	border: none !important;
	color: #051947 !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	font-weight: 500 !important;
}

.ailin-btn--link:hover {
	color: #00ABEA !important;
}

.ailin-checkout-otp-actions {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	margin-top: 20px !important;
}

/* Loading & Error */
.ailin-checkout-login-loading {
	margin-top: 15px !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 14px !important;
	color: #6b7280 !important;
}

.ailin-spinner {
	width: 18px !important;
	height: 18px !important;
	border: 2px solid #E5E7EB !important;
	border-top-color: #00ABEA !important;
	border-radius: 50% !important;
	animation: spin 1s linear infinite !important;
}

.ailin-checkout-login-error {
	color: #D32F2F !important;
	background: #FDECEA !important;
	border-radius: 4px !important;
	padding: 10px 14px !important;
	font-size: 13px !important;
	margin-top: 16px !important;
	border: 1px solid #f5c6cb !important;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 600px) {
	.ailin-checkout-login-notice {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.ailin-checkout-toggle-login {
		margin-left: 0 !important;
		padding-left: 28px !important; /* Align with text */
	}

	.ailin-checkout-login-form-wrapper {
		padding: 16px !important;
	}
	
	.ailin-btn--checkout {
		width: 100% !important;
	}
	
	.ailin-checkout-otp-actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	
	.ailin-btn--link {
		text-align: center !important;
		padding: 12px !important;
	}
}
.ailin-checkout-login-notice__icon {
	color: #00ABEA !important;
	display: flex !important;
	align-items: center !important;
}

.ailin-checkout-toggle-login {
	color: #00ABEA !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	margin-left: auto !important; /* Push to right */
	cursor: pointer !important;
}

.ailin-checkout-toggle-login:hover {
	text-decoration: underline !important;
}

/* Form Wrapper (Collapsible) */
.ailin-checkout-login-form-wrapper {
	background: #fff !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 10px !important;
	padding: 24px !important;
	margin-bottom: 30px !important;
	box-shadow: 0 4px 12px rgba(5, 25, 71, 0.05) !important;
}

.ailin-checkout-login-form-inner {
	max-width: 480px !important;
}

.ailin-checkout-login-form-intro {
	font-size: 14px !important;
	color: #6b7280 !important;
	margin-bottom: 20px !important;
}

/* Inputs & Fields (Reuse ailin-field styles) */
.ailin-checkout-login-form-wrapper .ailin-field {
	margin-bottom: 16px !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__input-wrapper {
	position: relative !important;
	width: 100% !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon {
	position: absolute !important;
	left: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #051947 !important;
	z-index: 5 !important;
	display: flex !important;
	align-items: center !important;
	pointer-events: none !important;
}

.ailin-checkout-login-form-wrapper .ailin-field__icon ~ input {
	padding-left: 45px !important;
}

.ailin-checkout-login-form-wrapper .input-text {
	width: 100% !important;
	padding: 15px 20px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

.ailin-checkout-login-form-wrapper .input-text:focus {
	outline: none !important;
	border-color: #051947 !important;
}

.ailin-checkout-login-form-wrapper label {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #051947 !important;
	margin-bottom: 6px !important;
	display: block !important;
}

/* Buttons */
.ailin-btn--checkout {
	width: auto !important;
	min-width: 180px !important;
	background: #051947 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	transition: background 0.2s !important;
}

.ailin-btn--checkout:hover {
	background: #00ABEA !important;
}

.ailin-btn--link {
	background: none !important;
	border: none !important;
	color: #6b7280 !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}

.ailin-btn--link:hover {
	color: #051947 !important;
}

.ailin-checkout-otp-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 20px !important;
}

/* Loading & Error */
.ailin-checkout-login-loading {
	margin-top: 15px !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 14px !important;
	color: #6b7280 !important;
}

.ailin-spinner {
	width: 18px !important;
	height: 18px !important;
	border: 2px solid #E5E7EB !important;
	border-top-color: #00ABEA !important;
	border-radius: 50% !important;
	animation: spin 1s linear infinite !important;
}

.ailin-checkout-login-error {
	color: #D32F2F !important;
	background: #FDECEA !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	font-size: 13px !important;
	margin-top: 16px !important;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 600px) {
	.ailin-checkout-login-notice {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.ailin-checkout-toggle-login {
		margin-left: 0 !important;
		padding-left: 28px !important; /* Align with text */
	}

	.ailin-checkout-login-form-wrapper {
		padding: 16px !important;
	}
	
	.ailin-btn--checkout {
		width: 100% !important;
	}
	
	.ailin-checkout-otp-actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	
	.ailin-btn--link {
		text-align: center !important;
		padding: 12px !important;
	}
}

/* ========================================
   MODAL DE REGISTRO
   ======================================== */
.register-form-modal {
	display: none; /* JS añade .show */
	position: fixed;
	z-index: 999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(5, 25, 71, 0.6);
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(5px);
}

.register-form-modal.show {
	display: flex !important;
}

.register-modal-content {
	background-color: #fff !important;
	margin: auto;
	padding: 24px !important; /* Match login form */
	border: 1px solid #E5E7EB !important; /* Match login form */
	width: 90% !important;
	max-width: 550px !important;
	border-radius: 10px !important; /* Match login form */
	position: relative !important;
	box-shadow: 0 4px 12px rgba(5, 25, 71, 0.05) !important; /* Match login form */
	font-family: 'Sharp Grotesk', sans-serif !important;
}

/* Modal Inputs matching login form */
.register-form-modal .ailin-field {
	margin-bottom: 30px !important; 
	position: relative;
}

.register-form-modal .ailin-field__input-wrapper {
	position: relative;
	width: 100%;
}

.register-form-modal .ailin-field__icon {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: #051947;
	z-index: 5;
	display: flex;
	align-items: center;
	pointer-events: none;
}

.register-form-modal .input-text {
	width: 100% !important;
	padding: 15px 20px !important;
	border: 1px solid #AAAAAA !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: #051947 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	font-family: 'Sharp Grotesk', sans-serif !important;
}

/* Excluir OTP digits del estilo genérico de inputs del modal */
.register-form-modal input.ailin-otp-digit,
.register-form-modal .ailin-otp-inputs-wrapper input.ailin-otp-digit,
.register-form-modal input.ailin-otp-digit-checkout,
#ailin-cognito-otp-step-register-checkout .ailin-otp-digit,
body .register-form-modal .ailin-otp-inputs-wrapper input[type="text"].ailin-otp-digit {
	width: 42px !important;
	height: 48px !important;
	min-height: 48px !important;
	max-width: 42px !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	text-align: center !important;
	border: 1px solid #d8e2f3;
	border-radius: 8px !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #051947 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
	margin: 0 3px !important;
	box-sizing: border-box !important;
	outline: none !important;
	line-height: 48px !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.register-form-modal .ailin-field__icon ~ .input-text {
	padding-left: 45px !important;
}

.register-form-modal .input-text:focus {
	outline: none !important;
	border-color: #051947 !important;
}

/* Flex group for Name/Surname */
.ailin-modal-row-group {
	display: flex;
	gap: 20px;
}

.ailin-modal-row-group .form-row {
	flex: 1;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Checkbox alignment in modal */
.register-form-modal .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	line-height: 1.4 !important;
	font-size: 14px !important;
}

.register-form-modal .woocommerce-form__input-checkbox {
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
}

.register-modal-content h3 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 24px;
	font-weight: 500;
	color: #051947;
	display: flex;
	justify-content: center; /* Center title */
	align-items: center;
	/* position: relative; REMOVED */
}

.register-title-text {
	flex: 1;
}

.close-register-modal {
	color: #aaa;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
	line-height: 1;
	transition: color 0.2s;
	position: absolute;
	right: 24px; /* Align with padding */
	top: 24px; /* Align with padding */
}

.ailin-modal-subtitle {
	text-align: center;
	font-size: 14px;
	color: #6b7280;
	margin-bottom: 20px !important; /* Balanced */
	line-height: 1.4;
}

.register-form-modal .woocommerce-privacy-policy-text {
	margin-top: 10px !important; /* Reduced space */
	margin-bottom: 20px !important;
}

.close-register-modal:hover,
.close-register-modal:focus {
	color: #051947;
	text-decoration: none;
	cursor: pointer;
}

/* Ocultar checkbox nativo de WooCommerce y sección de cuenta */
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .create-account {
	display: none !important;
}

/* Estilo para el enlace de registro inyectado */
.ailin-checkout-registration-link a {
	color: #00ABEA !important;
	text-decoration: underline !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	transition: color 0.2s;
	white-space: nowrap !important;
}


.ailin-checkout-registration-link a:hover {
	color: #051947 !important;
}

/* Fix total apariencia botón Registrarse en Mi Cuenta */
#ailin-cognito-register.ailin-btn--primary {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 25px !important;
	width: 100% !important;
	height: 48px !important;
	line-height: 0px !important;
	border-radius: 50px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	border: none !important;
	margin-top: 15px !important;
}
