/* =========================================================
   Aula CCE – Login personalizado
   ========================================================= */
.acl {
	--o: #ffa200;          /* naranja Aula CCE */
	--o-d: #f08c00;
	--t: #00c4cc;          /* turquesa Aula CCE */
	--t-d: #00a9b0;
	--d: #303030;          /* gris oscuro de marca */
	--mute: #6b6f76;
	--line: #e6e8ec;
	--bg: #ffffff;
	--soft: #f6f7f9;
	--r: 14px;
	--shadow: 0 20px 50px -20px rgba(16, 24, 40, .25);

	font-family: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--d);
	background: var(--bg);
	min-height: 100vh;
	min-height: 100dvh;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	position: relative;
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}
.acl *, .acl *::before, .acl *::after { box-sizing: border-box; }
.acl svg { width: 1em; height: 1em; fill: currentColor; flex: none; }
.acl img { max-width: 100%; display: block; }

/* ---------- Panel visual ---------- */
.acl-hero {
	position: relative;
	margin: 16px 0 16px 16px;
	border-radius: 28px;
	overflow: hidden;
	background: linear-gradient(150deg, #ffb52e 0%, var(--o) 45%, #ff8a00 100%);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 40px;
	isolation: isolate;
}
.acl-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.acl-blob { position: absolute; border-radius: 50%; }
.acl-blob--1 { width: 520px; height: 520px; right: -160px; bottom: -180px; background: var(--t); opacity: .9; }
.acl-blob--2 { width: 260px; height: 260px; left: -90px; top: -90px; background: rgba(255,255,255,.18); }
.acl-dots {
	position: absolute; left: 8%; bottom: 10%; width: 140px; height: 140px;
	background-image: radial-gradient(rgba(255,255,255,.55) 2px, transparent 2.5px);
	background-size: 18px 18px;
}
.acl-hero__inner {
	width: 100%; max-width: 640px;
	display: grid; gap: 36px; justify-items: center; text-align: center;
}
.acl-badge {
	display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.22); color: #fff;
}
.acl-badge--o { background: #fff4e0; color: var(--o-d); }
.acl-hero__title {
	margin: 14px 0 8px; color: #fff; font-weight: 900;
	font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; letter-spacing: -.01em;
	text-shadow: 0 2px 0 rgba(0,0,0,.06);
}
.acl-hero__sub { margin: 0 auto; max-width: 460px; font-size: 16px; opacity: .95; }

/* Celular */
.acl-stage { position: relative; width: 100%; max-width: 520px; display: flex; justify-content: center; padding: 10px 0 6px; }
.acl-phone {
	position: relative; width: 250px; aspect-ratio: 9 / 18.5;
	background: #1d1d1f; border-radius: 40px; padding: 11px;
	box-shadow: 0 40px 60px -20px rgba(0,0,0,.45), inset 0 0 0 2px #3a3a3c;
	transform: rotate(-4deg);
	animation: acl-float 6s ease-in-out infinite;
}
.acl-phone__notch {
	position: absolute; top: 18px; left: 50%; transform: translateX(-50%);
	width: 74px; height: 20px; background: #1d1d1f; border-radius: 12px; z-index: 3;
}
.acl-phone__screen {
	position: relative; width: 100%; height: 100%; border-radius: 30px; overflow: hidden;
	background: linear-gradient(160deg, #2b2b2b, #111);
}
.acl-slide {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	opacity: 0; transform: scale(1.06); transition: opacity .9s ease, transform 6s ease;
}
.acl-slide.is-active { opacity: 1; transform: scale(1); }
.acl-slide--empty { background: linear-gradient(160deg, var(--t), var(--o)); }
.acl-phone__bar {
	position: absolute; left: 12px; right: 12px; bottom: 14px; z-index: 2;
	display: flex; align-items: center; gap: 10px;
	background: rgba(255,255,255,.92); border-radius: 14px; padding: 8px 10px;
	box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
.acl-phone__play {
	display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
	background: var(--o); color: #fff; font-size: 14px;
}
.acl-phone__progress { flex: 1; height: 5px; border-radius: 4px; background: #e3e3e3; overflow: hidden; }
.acl-phone__progress i { display: block; height: 100%; width: 0; background: var(--t); border-radius: 4px; animation: acl-progress 5s linear infinite; }

/* Chips flotantes */
.acl-chip {
	position: absolute; display: flex; align-items: center; gap: 10px; text-align: left;
	background: #fff; color: var(--d); border-radius: 16px; padding: 10px 14px 10px 10px;
	box-shadow: 0 18px 35px -12px rgba(0,0,0,.35);
	animation: acl-float 6s ease-in-out infinite;
}
.acl-chip strong { display: block; font-size: 14px; font-weight: 800; line-height: 1.2; }
.acl-chip small { display: block; font-size: 12px; color: var(--mute); line-height: 1.2; }
.acl-chip__ico {
	display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px;
	background: #e0f8f9; color: var(--t-d); font-size: 18px;
}
.acl-chip__ico--o { background: #fff2dc; color: var(--o-d); }
.acl-chip__ico--d { background: #ececec; color: var(--d); }
.acl-chip--1 { left: 0; top: 18%; animation-delay: -1s; }
.acl-chip--2 { right: 0; top: 42%; animation-delay: -3s; }
.acl-chip--3 { left: 4%; bottom: 10%; animation-delay: -4.5s; }

/* ---------- Formulario ---------- */
.acl-main {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 40px 28px; gap: 22px;
}
.acl-card { width: 100%; max-width: 420px; }
.acl-logo { display: inline-block; margin-bottom: 26px; }
.acl-logo img { height: 66px; width: auto; }
.acl-title { margin: 0 0 6px; font-size: 30px; line-height: 1.15; font-weight: 900; color: var(--d); letter-spacing: -.01em; }
.acl-lead { margin: 0 0 22px; color: var(--mute); font-size: 15.5px; }

.acl-alert { border-radius: 12px; padding: 12px 14px; font-size: 14px; font-weight: 600; margin-bottom: 18px; border: 1px solid; }
.acl-alert--error { background: #fff1f1; border-color: #ffd0d0; color: #b42318; }
.acl-alert--ok    { background: #ecfdf3; border-color: #b7ebc8; color: #067647; }
.acl-alert--info  { background: #e8fbfc; border-color: #b4eef1; color: #00757a; }

.acl-form { display: grid; gap: 16px; margin: 0; }
.acl-google { display: flex; justify-content: center; min-height: 44px; }
.acl-google > * { width: 100%; }
.acl-google iframe { margin: 0 auto !important; }

.acl-sep { display: flex; align-items: center; gap: 12px; color: #9aa0a6; font-size: 13px; font-weight: 600; }
.acl-sep::before, .acl-sep::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.acl-field { display: grid; gap: 6px; margin: 0; }
.acl-field__label { font-size: 14px; font-weight: 700; color: var(--d); }
.acl-field__box {
	position: relative; display: flex; align-items: center; gap: 10px;
	background: var(--soft); border: 1.5px solid var(--line); border-radius: var(--r);
	padding: 0 14px; height: 52px; color: #9aa0a6; font-size: 18px;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.acl-field__box:focus-within { border-color: var(--t); background: #fff; box-shadow: 0 0 0 4px rgba(0,196,204,.15); color: var(--t-d); }
.acl .acl-field__box input {
	all: unset; flex: 1; min-width: 0; height: 100%;
	font: 600 15.5px/1 "Nunito", system-ui, sans-serif; color: var(--d);
}
.acl .acl-field__box input::placeholder { color: #a7acb3; font-weight: 500; }
.acl-eye {
	all: unset; cursor: pointer; display: grid; place-items: center; width: 34px; height: 34px;
	border-radius: 10px; color: #9aa0a6; font-size: 20px;
}
.acl-eye:hover, .acl-eye.is-on { color: var(--t-d); background: #e0f8f9; }
.acl-eye:focus-visible { outline: 2px solid var(--t); }

.acl-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; }
.acl-check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 600; margin: 0; }
.acl-check input { width: 18px; height: 18px; accent-color: var(--t); margin: 0; }
.acl .acl-link {
	background: none; border: 0; padding: 0; cursor: pointer; font: inherit;
	color: var(--t-d); font-weight: 800; text-decoration: none;
}
.acl .acl-link:hover { text-decoration: underline; }

.acl .acl-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	height: 52px; border: 0; border-radius: var(--r); cursor: pointer;
	font: 800 16px/1 "Nunito", system-ui, sans-serif; letter-spacing: .01em;
	text-decoration: none; text-transform: none;
	transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.acl .acl-btn:hover { transform: translateY(-1px); }
.acl .acl-btn:active { transform: translateY(0); }
.acl .acl-btn--primary { background: var(--t); color: #fff; box-shadow: 0 12px 24px -10px rgba(0,196,204,.7); }
.acl .acl-btn--primary:hover { background: var(--t-d); color: #fff; }
.acl .acl-btn--orange { background: var(--o); color: #fff; box-shadow: 0 12px 24px -10px rgba(255,162,0,.75); }
.acl .acl-btn--orange:hover { background: var(--o-d); color: #fff; }
.acl .acl-btn--ghost { background: transparent; color: var(--d); border: 1.5px solid var(--line); margin-top: 10px; }

.acl-signup {
	margin-top: 22px; padding: 18px; border-radius: 18px;
	background: #fff8ec; border: 1.5px dashed #ffd38a;
	display: grid; gap: 10px; text-align: center; font-weight: 700; font-size: 15px;
}

.acl-help { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; max-width: 520px; }
.acl-help a {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 9px 14px; border-radius: 999px; font-size: 13.5px; font-weight: 700;
	color: var(--d); background: var(--soft); border: 1px solid var(--line); text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.acl-help a svg { color: var(--t-d); font-size: 16px; }
.acl-help a:hover { background: #e0f8f9; border-color: #b4eef1; color: var(--d); }

/* ---------- Popup ---------- */
.acl-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 16px; }
.acl-modal[hidden] { display: none; }
.acl-modal__overlay { position: absolute; inset: 0; background: rgba(20, 22, 26, .55); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s; }
.acl-modal__box {
	position: relative; width: 100%; max-width: 440px; max-height: calc(100dvh - 32px); overflow: auto;
	background: #fff; border-radius: 24px; padding: 34px 28px 26px; box-shadow: var(--shadow);
	transform: translateY(16px) scale(.98); opacity: 0; transition: transform .25s ease, opacity .25s ease;
	border-top: 6px solid var(--o);
}
.acl-modal.is-open .acl-modal__overlay { opacity: 1; }
.acl-modal.is-open .acl-modal__box { transform: none; opacity: 1; }
.acl-modal__box .acl-title { margin-top: 12px; font-size: 26px; }
.acl-modal__close {
	all: unset; position: absolute; top: 14px; right: 14px; cursor: pointer;
	width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%;
	background: var(--soft); color: var(--d); font-size: 20px;
}
.acl-modal__close:hover { background: #eceef1; }
.acl-modal__foot { margin: 18px 0 0; text-align: center; font-size: 14px; color: var(--mute); font-weight: 600; }
.acl-note { margin: -4px 0 0; font-size: 13px; color: var(--mute); }
.acl-google-slot:empty { display: none; }
html.acl-lock, html.acl-lock body { overflow: hidden; }

/* ---------- Animaciones ---------- */
@keyframes acl-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes acl-progress { from { width: 0; } to { width: 100%; } }
@media (prefers-reduced-motion: reduce) {
	.acl *, .acl *::before, .acl *::after { animation: none !important; transition: none !important; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 1180px) {
	.acl-chip--1 { left: -10px; }
	.acl-chip--2 { right: -10px; }
}

/* Tablet y móvil: el panel visual pasa arriba como cabecera compacta */
@media (max-width: 960px) {
	.acl { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.acl-hero { margin: 12px 12px 0; border-radius: 24px; padding: 28px 22px 30px; }
	.acl-hero__inner { gap: 18px; }
	.acl-hero__title { font-size: clamp(24px, 6vw, 34px); margin-top: 10px; }
	.acl-hero__sub { font-size: 15px; }
	.acl-stage { max-width: 420px; }
	.acl-phone { width: 170px; border-radius: 30px; padding: 8px; }
	.acl-phone__screen { border-radius: 23px; }
	.acl-phone__notch { top: 13px; width: 54px; height: 15px; }
	.acl-phone__bar { display: none; }
	.acl-chip { padding: 7px 10px 7px 7px; border-radius: 13px; }
	.acl-chip__ico { width: 30px; height: 30px; font-size: 15px; border-radius: 9px; }
	.acl-chip strong { font-size: 13px; }
	.acl-chip small { display: none; }
	.acl-chip--1 { left: 0; top: 14%; }
	.acl-chip--2 { right: 0; top: 46%; }
	.acl-chip--3 { left: 2%; bottom: 8%; }
	.acl-blob--1 { width: 360px; height: 360px; right: -140px; bottom: -170px; }
	.acl-main { padding: 30px 20px 36px; justify-content: flex-start; }
	.acl-logo { display: none; } /* el logo ya aparece arriba en móvil */
	.acl-card { text-align: left; }
}

@media (max-width: 560px) {
	.acl-hero { padding: 24px 18px; }
	.acl-hero__sub { display: none; }
	.acl-stage { display: none; } /* en celulares pequeños priorizamos el formulario */
	.acl-hero__inner { gap: 0; }
	.acl-blob--1 { width: 240px; height: 240px; right: -90px; bottom: -120px; }
	.acl-blob--2 { width: 160px; height: 160px; }
	.acl-dots { display: none; }
	.acl-main { padding: 24px 16px 30px; }
	.acl-title { font-size: 26px; }
	.acl-help a { font-size: 13px; padding: 8px 12px; }
	.acl-modal { padding: 0; place-items: end center; }
	.acl-modal__box { max-width: none; border-radius: 24px 24px 0 0; max-height: 92dvh; padding: 30px 20px 24px; transform: translateY(40px); }
}

/* Logo de cabecera solo en móvil/tablet */
.acl-hero__logo { display: none; }
@media (max-width: 960px) {
	.acl-hero__logo { display: inline-flex; background: #fff; border-radius: 14px; padding: 8px 14px; margin-bottom: 4px; box-shadow: 0 10px 20px -10px rgba(0,0,0,.3); }
	.acl-hero__logo img { height: 38px; width: auto; }
}

/* Espaciado del botón de Google dentro del popup */
.acl-modal__box .acl-google-slot { margin-bottom: 14px; }
.acl-modal__box .acl-sep { margin-bottom: 16px; }

/* =========================================================
   v1.1 – Celular con imágenes reales, recuperar contraseña,
   WhatsApp y registro de MasterStudy
   ========================================================= */

/* Imágenes que ya incluyen el celular (PNG transparente): sin marco dibujado */
.acl-stage--sin_marco .acl-phone {
	width: 300px; aspect-ratio: auto; background: none; padding: 0; border-radius: 0;
	box-shadow: none; transform: none;
}
.acl-stage--sin_marco .acl-phone__notch,
.acl-stage--sin_marco .acl-phone__bar { display: none; }
.acl-stage--sin_marco .acl-phone__screen { background: none; border-radius: 0; overflow: visible; display: grid; }
.acl-stage--sin_marco .acl-slide {
	position: static; grid-area: 1 / 1; height: auto; max-height: 560px; object-fit: contain;
	filter: drop-shadow(0 30px 35px rgba(0,0,0,.35));
}
/* Mientras se detecta, no mostrar el marco para evitar parpadeo */
.acl-stage--auto:not(.acl-stage--marco):not(.acl-stage--sin_marco) .acl-phone { visibility: hidden; }
@media (max-width: 960px) {
	.acl-stage--sin_marco .acl-phone { width: 210px; }
	.acl-stage--sin_marco .acl-slide { max-height: 380px; }
}

/* WhatsApp */
.acl-help a.acl-help__wa svg { color: #25d366; }
.acl-help a.acl-help__wa:hover { background: #e9fbef; border-color: #b9efcc; }

/* Popup turquesa (recuperar) */
.acl-modal__box--t { border-top-color: var(--t); }

/* Pasos */
.acl-steps {
	list-style: none; margin: 4px 40px 22px 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); position: relative;
}
.acl-steps::before {
	content: ""; position: absolute; top: 15px; left: 16.6%; right: 16.6%; height: 3px;
	background: var(--line); border-radius: 3px;
}
.acl-steps::after {
	content: ""; position: absolute; top: 15px; left: 16.6%; height: 3px; width: 0;
	background: var(--t); border-radius: 3px; transition: width .4s ease;
}
.acl-modal--lp[data-step="2"] .acl-steps::after { width: 33.4%; }
.acl-step { position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px; text-align: center; }
.acl-step__dot {
	width: 33px; height: 33px; border-radius: 50%; display: grid; place-items: center;
	background: #fff; border: 3px solid var(--line); color: #9aa0a6; font-size: 14px; font-weight: 900;
	transition: all .3s ease;
}
.acl-step__dot svg { display: none; font-size: 17px; }
.acl-step__txt { font-size: 12.5px; font-weight: 700; color: #9aa0a6; line-height: 1.2; }
/* Paso activo */
.acl-modal--lp[data-step="1"] .acl-step[data-n="1"] .acl-step__dot,
.acl-modal--lp[data-step="2"] .acl-step[data-n="2"] .acl-step__dot {
	border-color: var(--t); color: var(--t-d); box-shadow: 0 0 0 5px rgba(0,196,204,.15);
}
.acl-modal--lp[data-step="1"] .acl-step[data-n="1"] .acl-step__txt,
.acl-modal--lp[data-step="2"] .acl-step[data-n="2"] .acl-step__txt { color: var(--d); }
/* Paso completado */
.acl-modal--lp[data-step="2"] .acl-step[data-n="1"] .acl-step__dot { background: var(--t); border-color: var(--t); color: #fff; }
.acl-modal--lp[data-step="2"] .acl-step[data-n="1"] .acl-step__dot b { display: none; }
.acl-modal--lp[data-step="2"] .acl-step[data-n="1"] .acl-step__dot svg { display: block; }
.acl-modal--lp[data-step="2"] .acl-step[data-n="1"] .acl-step__txt { color: var(--t-d); }

.acl-lp[hidden] { display: none; }
.acl-lp { animation: acl-in .35s ease; }
.acl-lp__ico {
	display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px;
	background: #e0f8f9; color: var(--t-d); font-size: 28px; margin-bottom: 14px;
}
.acl-lp__ico--ok { background: #ecfdf3; color: #12a150; }
.acl-lp .acl-title { font-size: 25px; }
.acl-lp .acl-lead strong { color: var(--d); }
.acl-tips { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.acl-tips li {
	display: flex; gap: 12px; align-items: flex-start; background: var(--soft);
	border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; font-size: 14.5px;
}
.acl-tips b {
	flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
	background: var(--t); color: #fff; font-size: 13px;
}
.acl-lp--2 .acl-note { margin: 0 0 16px; }
@keyframes acl-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Registro de MasterStudy dentro del popup: se adapta al estilo del popup */
.acl-modal--reg .acl-modal__box { max-width: 520px; }
.acl-reg-sc { font-family: inherit; }
.acl-reg-sc > * { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.acl-reg-sc [class*="authorization"] { box-shadow: none !important; border: 0 !important; padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; }
.acl-reg-sc input[type="text"], .acl-reg-sc input[type="email"], .acl-reg-sc input[type="password"],
.acl-reg-sc input[type="tel"], .acl-reg-sc input[type="number"], .acl-reg-sc select, .acl-reg-sc textarea {
	width: 100% !important; min-height: 48px; border-radius: 12px !important; border: 1.5px solid var(--line) !important;
	background: var(--soft) !important; font: 600 15px "Nunito", system-ui, sans-serif !important; color: var(--d) !important;
	box-shadow: none !important;
}
.acl-reg-sc input:focus, .acl-reg-sc select:focus, .acl-reg-sc textarea:focus {
	border-color: var(--t) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(0,196,204,.15) !important; outline: 0 !important;
}
.acl-reg-sc label { font-weight: 700; color: var(--d); }
.acl-reg-sc button[type="submit"], .acl-reg-sc input[type="submit"], .acl-reg-sc [class*="button"][class*="register"], .acl-reg-sc .btn {
	background: var(--o) !important; border-color: var(--o) !important; color: #fff !important; border-radius: 14px !important;
	font: 800 16px "Nunito", system-ui, sans-serif !important; min-height: 52px; width: 100%; text-transform: none !important;
}
/* Ocultamos el botón "Iniciar sesión" propio del formulario de MasterStudy: el popup ya tiene el suyo */
.acl-reg-sc [class*="authorization__switch"], .acl-reg-sc [class*="authorization__header"] { display: none !important; }

@media (max-width: 560px) {
	.acl-steps { margin-right: 36px; }
	.acl-step__txt { font-size: 11.5px; }
}


/* v1.1.3 – Formulario de User Registration (id 11962) dentro del popup */
.acl-modal--reg .acl-modal__box { max-width: 580px; overflow-x: hidden; }
.acl .acl-reg-sc .ur-frontend-form { padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.acl .acl-reg-sc .ur-form-row { display: flex !important; flex-wrap: wrap; gap: 0 14px; margin: 0 !important; }
.acl .acl-reg-sc .ur-form-grid { flex: 1 1 220px; min-width: 0; width: auto !important; padding: 0 !important; float: none !important; }
.acl .acl-reg-sc .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.acl .acl-reg-sc .form-row label { display: block; font-size: 14px; margin-bottom: 6px; }
.acl .acl-reg-sc .select2-container, .acl .acl-reg-sc .ur-field-item, .acl .acl-reg-sc .input-wrapper { width: 100% !important; max-width: 100% !important; }
.acl .acl-reg-sc .select2-container .select2-selection--single { height: 48px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--soft); display: flex; align-items: center; }
.acl .acl-reg-sc .select2-container .select2-selection__arrow { height: 46px; }
.acl .acl-reg-sc .ur-submit-button, .acl .acl-reg-sc button.ur-submit-button { margin-top: 6px; }
.acl .acl-reg-sc .user-registration-password-hint, .acl .acl-reg-sc .description { font-size: 12.5px; color: var(--mute); }


/* === Fix: desplegable de País (Select2) visible por encima del modal de registro === */
html.acl-lock body > .select2-container--open,
html.acl-lock .select2-container--open .select2-dropdown { z-index: 100050 !important; }
html.acl-lock .select2-container--open .select2-dropdown { min-width: 240px; border: 1.5px solid #e3e8ec; border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px -18px rgba(0,0,0,.35); font-family: Nunito, system-ui, sans-serif; }
html.acl-lock .select2-container--open .select2-search__field { border: 1.5px solid #e3e8ec; border-radius: 10px; padding: 8px 10px; outline: none; }
html.acl-lock .select2-container--open .select2-results__option { padding: 8px 12px; }
html.acl-lock .select2-container--open .select2-results__option--highlighted[aria-selected] { background: #00C4CC !important; color: #fff !important; }

/* Fila País / Ciudad / WhatsApp: evitar columnas demasiado angostas en el modal */
.acl .acl-reg-sc .ur-form-row .ur-form-grid { flex: 1 1 190px; min-width: 0; }
