/* AEQR · Escáner de puerta — mismo lenguaje visual que la credencial:
   tarjeta blanca con cabecera oscura. El veredicto de cada escaneo sí va a
   pantalla completa en color plano, para que se lea bajo sol directo. */
.aeqr-esc{
	--ink:#14131A; --soft:#6b6760; --line:#e3ddd2; --paper:#fbf9f4;
	--gold:var(--aeqr-acento,#F4BD4D); --gold-deep:#c8901f;
	--ok:#15803D; --warn:#B45309; --bad:#B91C1C;
	font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	color:var(--ink);
	-webkit-tap-highlight-color:transparent;
}
.aeqr-esc *{ box-sizing:border-box; }
/* el atributo hidden debe ganar siempre, sin importar qué display se le
   asigne a estos bloques (veredicto, error fatal, aviso de cámara,
   panel de reposo): si no, quedan visibles aunque JS los oculte. */
.aeqr-esc [hidden]{ display:none !important; }

.aeqr-esc__gate, .aeqr-esc__app{ max-width:380px; margin:24px auto; padding:0 14px; }

/* --- tarjeta (mismo patrón que .aeqr-cred__card) --- */
.aeqr-esc__card{
	background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;
	box-shadow:0 1px 2px rgba(20,19,26,.06), 0 24px 48px -24px rgba(20,19,26,.35);
}
.aeqr-esc__top{
	background:var(--ink); height:78px; overflow:hidden; display:flex; flex-direction:column; align-items:center;
	justify-content:center; gap:8px; padding:0 18px; text-align:center;
}
.aeqr-esc__ev{ font-family:Georgia,'Times New Roman',serif; font-size:15px; color:#fff; letter-spacing:.02em; }
/* !important necesario: Elementor inyecta ".elementor img{height:auto; max-width:100%;}"
   con más especificidad que una sola clase (clase+elemento vs. clase sola) y se come
   nuestro tamaño si no lo forzamos aquí. */
.aeqr-esc__logo{ height:50px !important; width:auto !important; max-width:none !important; object-fit:contain !important; }

/* --- acceso por PIN --- */
.aeqr-esc__gate-body{ padding:26px 22px 28px; display:flex; flex-direction:column; gap:10px; text-align:center; }
.aeqr-esc__gate-body h2{ margin:0 0 4px; font-size:18px; font-weight:600; }
.aeqr-esc__label{ font-size:12px; color:var(--soft); text-align:left; font-weight:500; }
.aeqr-esc__input{
	font:inherit; font-size:14px; padding:12px 13px; border-radius:10px; border:1px solid var(--line);
	background:var(--paper); color:var(--ink); width:100%;
}
.aeqr-esc__input:focus{ outline:none; background:#fff; border-color:var(--gold-deep); box-shadow:0 0 0 3px rgba(244,189,77,.28); }
.aeqr-esc__input--pin{ font-size:22px; letter-spacing:.35em; text-align:center; }
.aeqr-esc__gate-error{ color:var(--bad); font-size:13px; margin-top:2px; }

/* --- botón dorado compartido --- */
.aeqr-esc__cta{
	margin-top:4px; padding:13px 18px; border:0; border-radius:10px; background:var(--gold);
	color:#1c1710; font-weight:700; font-size:14.5px; cursor:pointer; width:100%;
	transition:filter .15s ease, transform .12s ease;
}
.aeqr-esc__cta:hover{ filter:brightness(1.04); }
.aeqr-esc__cta:active{ transform:translateY(1px); }

/* --- cuerpo de la app --- */
.aeqr-esc__body{ padding:20px 20px 24px; display:flex; flex-direction:column; gap:14px; }
.aeqr-esc__row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.aeqr-esc__select{
	flex:1; padding:9px 10px; border-radius:9px; border:1px solid var(--line); background:var(--paper);
	color:var(--ink); font-size:13.5px;
}
.aeqr-esc__count{ font-size:12.5px; color:var(--soft); white-space:nowrap; font-variant-numeric:tabular-nums; }
.aeqr-esc__count b{ color:var(--ink); font-size:14px; }

/* --- panel de escaneo (la "CTA" central) --- */
.aeqr-esc__panel{
	position:relative; aspect-ratio:1/1; border:1px solid var(--line); border-radius:14px;
	background:var(--paper); overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.aeqr-esc__panel-rest{
	display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px; text-align:center;
	color:var(--soft);
}
.aeqr-esc__panel-rest svg{ color:var(--gold-deep); }
.aeqr-esc__panel-rest p{ margin:0; font-size:13.5px; font-weight:500; color:var(--ink); }
.aeqr-esc__panel-rest .aeqr-esc__cta{ width:auto; padding:11px 22px; }
.aeqr-esc__reader{ position:absolute; inset:0; }
.aeqr-esc__reader video, .aeqr-esc__reader canvas{ width:100% !important; height:100% !important; object-fit:cover; }
.aeqr-esc__camerr{
	position:absolute; left:14px; right:14px; top:50%; transform:translateY(-50%);
	background:rgba(185,16,28,.94); color:#fff; padding:14px; border-radius:10px; font-size:13.5px; text-align:center;
}

/* --- campo manual --- */
.aeqr-esc__manual label{ display:block; font-size:11.5px; color:var(--soft); margin-bottom:6px; font-weight:500; }
.aeqr-esc__manual-row{ display:flex; gap:8px; }
.aeqr-esc__manual-row input{
	flex:1; padding:11px 12px; border-radius:9px; border:1px solid var(--line); background:var(--paper);
	color:var(--ink); font-family:"Courier New",ui-monospace,monospace; font-size:15px; letter-spacing:.1em;
	text-transform:uppercase;
}
.aeqr-esc__manual-row input:focus{ outline:none; background:#fff; border-color:var(--gold-deep); box-shadow:0 0 0 3px rgba(244,189,77,.28); }
.aeqr-esc__manual-row button{
	padding:0 18px; border:0; border-radius:9px; background:var(--ink); color:#fff; font-weight:600;
	font-size:13.5px; cursor:pointer;
}

/* --- veredicto a pantalla completa (sin cambios de fondo/alto contraste) --- */
.aeqr-esc__verdict{
	position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center;
}
.aeqr-esc__verdict-face{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
	width:100%; height:100%; text-align:center; padding:24px; color:#fff;
}
.aeqr-esc__verdict-big{ font-family:Georgia,'Times New Roman',serif; font-size:clamp(34px,10vw,58px); font-weight:700; letter-spacing:.02em; }
.aeqr-esc__verdict-sub{ font-size:clamp(16px,4vw,22px); opacity:.95; }
.aeqr-esc__verdict-face.ok{ background:var(--ok); }
.aeqr-esc__verdict-face.duplicado-ok{ background:var(--ok); }
.aeqr-esc__verdict-face.duplicado{ background:var(--warn); }
.aeqr-esc__verdict-face.bad{ background:var(--bad); }

/* --- error fatal --- */
.aeqr-esc__err{
	position:fixed; inset:0; z-index:2147483000; display:flex; flex-direction:column; gap:10px;
	align-items:center; justify-content:center; background:var(--ink); color:#fff; padding:32px; text-align:center;
}
.aeqr-esc__err b{ font-size:18px; }
.aeqr-esc__err span{ color:#cfc9c3; font-size:14px; max-width:320px; }

.aeqr-esc-msg{ padding:40px; text-align:center; font-family:system-ui,sans-serif; color:#666; }

@media (prefers-reduced-motion:reduce){ .aeqr-esc *{ transition:none !important; } }
