/* Acceso sin contraseña de Everiz (Mi cuenta, paso 1 del alta, cambio de correo y recuperar contraseña). */
.evz-auth {
	--a-brand: var(--evz-brand, #00a6ef);
	--a-brand-dark: var(--evz-brand-dark, #0078c4);
	--a-brand-soft: var(--evz-brand-soft, #e5f5fe);
	--a-ink: #0e1b22;
	--a-text: #2c3940;
	--a-muted: #6a7780;
	--a-line: #e4eaed;
	--a-bad: #e5322d;
	--a-ok: #1e9e4a;
	--a-night: #04161e;
	position: relative;
	max-width: 460px;
	margin: 8px auto 32px;
	isolation: isolate;
	font-family: inherit;
}
.evz-auth--register { margin: 0; max-width: none; }

/* Aurora detrás de la tarjeta */
.evz-auth__aura { position: absolute; inset: -40px -30px; z-index: -1; overflow: hidden; pointer-events: none; filter: blur(42px); opacity: .55; }
.evz-auth__aura i { position: absolute; width: 58%; aspect-ratio: 1; border-radius: 50%; }
.evz-auth__aura i:nth-child(1) { top: -6%; left: -8%; background: radial-gradient(circle, #1cc3ff 0%, transparent 65%); animation: evzAuthFloat 14s ease-in-out infinite; }
.evz-auth__aura i:nth-child(2) { bottom: -12%; right: -10%; background: radial-gradient(circle, #0082de 0%, transparent 65%); animation: evzAuthFloat 18s ease-in-out infinite reverse; }
.evz-auth__aura i:nth-child(3) { top: 30%; left: 35%; width: 40%; background: radial-gradient(circle, #4fe3ff 0%, transparent 65%); animation: evzAuthFloat 22s ease-in-out infinite; }
.evz-auth--register .evz-auth__aura { display: none; }
@keyframes evzAuthFloat {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(8%, 6%) scale(1.08); }
	66% { transform: translate(-6%, 4%) scale(.94); }
}

.evz-auth__card {
	position: relative;
	padding: 30px 26px 26px;
	border-radius: 24px;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, .7);
	box-shadow: 0 24px 60px -24px rgba(4, 22, 30, .35), 0 2px 8px rgba(4, 22, 30, .06);
	overflow: hidden;
}
.evz-auth--register .evz-auth__card { padding: 4px 0 0; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Marca */
.evz-auth__brand { position: relative; width: 72px; height: 72px; margin: 0 auto 18px; }
.evz-auth__mark { position: absolute; inset: 6px; display: grid; place-items: center; border-radius: 20px; background: #fff; box-shadow: 0 10px 24px -10px rgba(0, 130, 222, .55); animation: evzAuthPop .7s cubic-bezier(.2, .9, .25, 1.25) both; }
.evz-auth__mark img { width: 40px; height: auto; }
.evz-auth__ring { position: absolute; inset: 0; border-radius: 24px; background: conic-gradient(from 0deg, #1cc3ff, #0082de, #4fe3ff, #1cc3ff); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); animation: evzAuthSpin 6s linear infinite; opacity: .9; }
@keyframes evzAuthSpin { to { transform: rotate(360deg); } }
@keyframes evzAuthPop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Pasos */
.evz-auth__step[hidden] { display: none !important; }
.evz-auth__step.is-enter { animation: evzAuthEnter .45s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes evzAuthEnter { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.evz-auth__title { margin: 0 0 6px; font-size: 26px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: var(--a-ink); text-align: center; }
.evz-auth--register .evz-auth__title { text-align: left; font-size: 22px; }
.evz-auth__lead { margin: 0 0 20px; color: var(--a-muted); font-size: 15px; line-height: 1.5; text-align: center; }
.evz-auth--register .evz-auth__lead { text-align: left; }
.evz-auth__lead strong { color: var(--a-ink); word-break: break-all; }

/* Campo con etiqueta flotante */
.evz-auth__form { display: grid; gap: 14px; margin: 0; }
.evz-auth__field { position: relative; }
.evz-auth__input {
	width: 100%;
	height: 58px;
	padding: 22px 16px 6px 46px !important;
	border: 1.5px solid var(--a-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--a-ink);
	font-size: 16px !important;
	outline: none;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s;
}
.evz-auth__input:focus { border-color: var(--a-brand) !important; box-shadow: 0 0 0 4px rgba(0, 166, 239, .16) !important; }
.evz-auth__field label { position: absolute; left: 46px; top: 18px; margin: 0; color: var(--a-muted); font-size: 16px; pointer-events: none; transform-origin: left top; transition: transform .2s, color .2s; }
.evz-auth__input:focus + label,
.evz-auth__input:not(:placeholder-shown) + label { transform: translateY(-10px) scale(.76); color: var(--a-brand-dark); }
.evz-auth__icon { position: absolute; left: 15px; top: 18px; width: 22px; height: 22px; color: var(--a-muted); transition: color .2s; }
.evz-auth__input:focus ~ .evz-auth__icon { color: var(--a-brand); }
.evz-auth__field.is-error .evz-auth__input { border-color: var(--a-bad) !important; }

/* Botones */
.evz-auth__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 54px;
	border: 0;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .15s, box-shadow .2s, filter .2s;
}
.evz-auth__btn--primary { color: #fff; background: linear-gradient(135deg, #1cc3ff 0%, #00a6ef 45%, #0082de 100%); box-shadow: 0 12px 24px -12px rgba(0, 130, 222, .75); }
.evz-auth__btn--primary:hover { transform: translateY(-1px); box-shadow: 0 16px 28px -12px rgba(0, 130, 222, .85); }
.evz-auth__btn--primary:active { transform: translateY(0) scale(.99); }
.evz-auth__btn--ghost { color: var(--a-ink); background: #fff; border: 1.5px solid var(--a-line); }
.evz-auth__btn[disabled] { cursor: default; filter: saturate(.6); opacity: .8; transform: none; }
.evz-auth__spinner { display: none; width: 20px; height: 20px; border-radius: 50%; border: 2.5px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: evzAuthSpin .8s linear infinite; }
.evz-auth__btn.is-busy .evz-auth__spinner { display: inline-block; }
.evz-auth__btn.is-busy .evz-auth__btn-label { opacity: .85; }

.evz-auth__or { display: flex; align-items: center; gap: 12px; margin: 18px 0 14px; color: var(--a-muted); font-size: 13px; }
.evz-auth__or::before, .evz-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--a-line); }
.evz-auth__google { display: flex; justify-content: center; min-height: 44px; }

.evz-auth__alert { margin: 14px 0 0; padding: 12px 14px; border-radius: 14px; background: #fdecec; color: #b3261e; font-size: 14px; line-height: 1.45; animation: evzAuthEnter .3s ease both; }
.evz-auth__alert.is-ok { background: #e8f6ed; color: #1b6f37; }

.evz-auth__perks { margin: 22px 0 0; padding: 16px 0 0; border-top: 1px solid var(--a-line); list-style: none; display: grid; gap: 8px; }
.evz-auth__perks li { position: relative; padding-left: 26px; color: var(--a-text); font-size: 14px; }
.evz-auth__perks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--a-brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%230078c4' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Paso del código */
.evz-auth__back { display: inline-flex; align-items: center; gap: 4px; margin: -6px 0 6px -6px; padding: 6px 10px 6px 6px; border: 0; border-radius: 999px; background: none; color: var(--a-brand-dark); font-size: 14px; font-weight: 600; cursor: pointer; }
.evz-auth__back svg { width: 18px; height: 18px; }
.evz-auth__back:hover { background: var(--a-brand-soft); }
.evz-auth__envelope { position: relative; width: 74px; height: 74px; margin: 2px auto 12px; display: grid; place-items: center; border-radius: 24px; background: var(--a-brand-soft); }
.evz-auth__envelope svg { width: 46px; height: 46px; fill: none; stroke: var(--a-brand-dark); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; animation: evzAuthBob 2.6s ease-in-out infinite; }
.evz-auth__envelope span { position: absolute; top: 12px; right: 12px; width: 12px; height: 12px; border-radius: 50%; background: #ff8a00; box-shadow: 0 0 0 0 rgba(255, 138, 0, .6); animation: evzAuthPing 1.8s ease-out infinite; }
@keyframes evzAuthBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes evzAuthPing { 0% { box-shadow: 0 0 0 0 rgba(255, 138, 0, .55); } 80%, 100% { box-shadow: 0 0 0 12px rgba(255, 138, 0, 0); } }

.evz-auth__otp { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.evz-auth__digit {
	width: 100%;
	height: 60px;
	padding: 0 !important;
	border: 1.5px solid var(--a-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--a-ink);
	font-size: 26px !important;
	font-weight: 800;
	text-align: center;
	caret-color: var(--a-brand);
	outline: none;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s, transform .15s, background-color .2s;
}
.evz-auth__digit:focus { border-color: var(--a-brand) !important; box-shadow: 0 0 0 4px rgba(0, 166, 239, .16) !important; }
.evz-auth__digit.is-filled { border-color: var(--a-brand) !important; background: var(--a-brand-soft) !important; animation: evzAuthTick .22s ease both; }
@keyframes evzAuthTick { 0% { transform: scale(1); } 50% { transform: scale(1.08); } 100% { transform: scale(1); } }
.evz-auth__otp.is-error .evz-auth__digit { border-color: var(--a-bad) !important; background: #fff5f5 !important; }
.evz-auth__otp.is-error { animation: evzAuthShake .42s cubic-bezier(.36, .07, .19, .97) both; }
.evz-auth__otp.is-ok .evz-auth__digit { border-color: var(--a-ok) !important; background: #e8f6ed !important; }
@keyframes evzAuthShake { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-7px); } 40%, 60% { transform: translateX(7px); } }

.evz-auth__resend { margin: 14px 0 0; text-align: center; }
.evz-auth__link { border: 0; background: none; color: var(--a-brand-dark); font-size: 14px; font-weight: 700; cursor: pointer; padding: 6px 10px; border-radius: 999px; }
.evz-auth__link[disabled] { color: var(--a-muted); font-weight: 600; cursor: default; }
.evz-auth__link:not([disabled]):hover { background: var(--a-brand-soft); }
.evz-auth__hint { margin: 6px 0 0; color: var(--a-muted); font-size: 13px; text-align: center; }

/* Hecho */
.evz-auth__step--done { text-align: center; padding: 6px 0 4px; }
.evz-auth__check { width: 84px; height: 84px; margin: 4px auto 16px; }
.evz-auth__check svg { width: 100%; height: 100%; fill: none; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.evz-auth__check circle { stroke: var(--a-ok); stroke-dasharray: 152; stroke-dashoffset: 152; animation: evzAuthDraw .7s ease forwards; }
.evz-auth__check path { stroke: var(--a-ok); stroke-dasharray: 40; stroke-dashoffset: 40; animation: evzAuthDraw .45s .55s ease forwards; }
.evz-auth__check.is-info circle, .evz-auth__check.is-info path { stroke: var(--a-brand); }
.evz-auth__check.is-warn circle, .evz-auth__check.is-warn path { stroke: #ff8a00; }
.evz-auth__check.is-bad circle, .evz-auth__check.is-bad path { stroke: var(--a-bad); }
@keyframes evzAuthDraw { to { stroke-dashoffset: 0; } }
.evz-auth__step--done .evz-auth__title { text-align: center !important; }
.evz-auth__step--done .evz-auth__lead { text-align: center !important; }
.evz-auth__done-actions { display: grid; gap: 10px; margin-top: 4px; }

/* Alta: correo ya verificado */
.evz-reg__verified { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 8px 14px; border-radius: 999px; background: #e8f6ed; color: #1b6f37; font-size: 14px; }
.evz-reg__verified[hidden] { display: none; }
.evz-reg__verified strong { color: #0e1b22; word-break: break-all; }

/* Checkout: acceso compacto */
.evz-auth-mini { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 18px; padding: 14px 16px; border-radius: 16px; background: #e5f5fe; }
.evz-auth-mini p { margin: 0; color: #2c3940; }

/* Enlaces con forma de botón (recuperar contraseña) */
.evz-auth a.evz-auth__btn { text-decoration: none; }
.evz-auth a.evz-auth__btn--primary, .evz-auth a.evz-auth__btn--primary:hover { color: #fff; }
.evz-auth__staff { margin-top: 18px; }
.evz-auth__staff a { color: var(--a-muted); text-decoration: underline; text-underline-offset: 3px; }

/* Datos de la cuenta: correo de acceso y su cambio */
.evz-auth--email { margin: 0; max-width: none; }
.evz-auth--email .evz-auth__aura { display: none; }
.evz-auth--email .evz-auth__card { padding: 18px 0 2px; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; overflow: visible; }
.evz-auth--email .evz-auth__title { text-align: left; font-size: 20px; }
.evz-auth--email .evz-auth__lead { text-align: left; font-size: 14px; margin-bottom: 16px; }
.evz-auth--email .evz-auth__envelope { margin-left: 0; }
.evz-auth--email .evz-auth__otp { max-width: 420px; }
.evz-auth--email .evz-auth__resend, .evz-auth--email .evz-auth__hint { text-align: left; }
.evz-auth--email .evz-auth__btn { max-width: 420px; }

.evz-acct-email {
	--a-brand: var(--evz-brand, #00a6ef);
	--a-brand-dark: var(--evz-brand-dark, #0078c4);
	--a-brand-soft: var(--evz-brand-soft, #e5f5fe);
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 1px solid #e4eaed;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 30px -22px rgba(4, 22, 30, .45);
	transition: box-shadow .25s, border-color .25s;
}
.evz-acct-email.is-open { border-color: rgba(0, 166, 239, .45); box-shadow: 0 18px 40px -24px rgba(0, 130, 222, .55); }
.evz-acct-email__row { display: flex; align-items: center; gap: 14px; }
.evz-acct-email__icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--a-brand-soft); }
.evz-acct-email__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--a-brand-dark); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.evz-acct-email__body { flex: 1; min-width: 0; display: grid; gap: 2px; }
.evz-acct-email__label { color: #6a7780; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.evz-acct-email__value { color: #0e1b22; font-size: 16px; font-weight: 800; overflow-wrap: anywhere; }
.evz-acct-email__hint { color: #6a7780; font-size: 13px; line-height: 1.4; }
.evz-acct-email__btn { flex: none; height: 40px; padding: 0 18px; border: 1.5px solid var(--a-brand); border-radius: 999px; background: #fff; color: var(--a-brand-dark); font-size: 14px; font-weight: 700; cursor: pointer; transition: background-color .2s, color .2s; }
.evz-acct-email__btn:hover, .evz-acct-email.is-open .evz-acct-email__btn { background: var(--a-brand); color: #fff; }
.evz-acct-email__panel { margin-top: 6px; border-top: 1px solid #e4eaed; animation: evzAuthEnter .35s cubic-bezier(.2, .8, .2, 1) both; }
.evz-acct-email__panel[hidden] { display: none; }
.evz-acct-nopass { margin: 4px 0 18px; padding: 12px 14px; border-radius: 14px; background: #f3f7f9; color: #2c3940; font-size: 14px; line-height: 1.45; }

@media (max-width: 560px) {
	.evz-acct-email__row { flex-wrap: wrap; }
	.evz-acct-email__btn { width: 100%; }
}

@media (max-width: 480px) {
	.evz-auth__card { padding: 24px 18px 20px; border-radius: 20px; }
	.evz-auth__title { font-size: 23px; }
	.evz-auth__otp { gap: 7px; }
	.evz-auth__digit { height: 54px; font-size: 22px !important; border-radius: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.evz-auth *, .evz-auth *::before, .evz-auth *::after { animation: none !important; transition: none !important; }
	.evz-auth__check circle, .evz-auth__check path { stroke-dashoffset: 0; }
	.evz-acct-email, .evz-acct-email * { animation: none !important; transition: none !important; }
}
