/**
 * 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,
.elementor-widget-shortcode,
.elementor-widget-text-editor {
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-widget-woocommerce-my-account .elementor-widget-container,
.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;
}

#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;
}

/* ========================================
   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;
	padding: 0 !important;
	max-width: 450px;
	margin: 0 auto;
}

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

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

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

.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;
}

/* ========================================
   CAMPOS
   Mismos estilos que form[name=checkout]
   ======================================== */
.ailin-field,
div.ailin-field,
p.ailin-field {
	position: relative;
	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;
	align-items: center;
	gap: 8px;
	color: #F46A6B;
	font-size: 13px;
	font-weight: 300;
	/*margin-top: -10px;
	margin-bottom: 15px;*/
	animation: ailinFadeIn 0.2s ease;
}

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

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

.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;
}

/* 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;
	align-items: center;
	gap: 10px;
	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;
	transition: border-color 0.2s;
	box-sizing: border-box !important;
	width: 100% !important;
	z-index: 10;
	cursor: pointer;
}

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

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

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

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

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

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

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

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

.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;
	overflow-y: auto;
	padding: 5px 0;
}

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

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

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

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

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

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

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

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

.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;
}

.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);
	}
}

.ailin-btn__arrow {
	margin-left: 12px;
	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;
	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 {
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--e-global-color-primary, #051947) !important;
	line-height: 1.2 !important;
}

.ailin-auth__forms .woocommerce-form__label-for-checkbox span::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::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;
}

/* ========================================
   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;
}

.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--country-code {
		flex: unset !important;
		max-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;
		transform: translateY(10px);
	}

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

#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;
	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;
}

#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;
	}
}

/* ========================================
   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;
}