/* Pantallas de acceso: login, registro, códigos */
.acceso { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); min-height: calc(100vh - var(--alto-header) - 40px); }
.acceso__marca { position: relative; overflow: hidden; border-right: 1px solid var(--linea); min-height: 280px; }
.acceso__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1); opacity: 0.55; }
.acceso__velo { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(245, 230, 223, 0.15), rgba(245, 230, 223, 0.94)); }
.acceso__marca-contenido { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(24px, 4vw, 56px); gap: 30px; }
.acceso__logo { display: block; width: clamp(110px, 12vw, 160px); }
.acceso__frase { font-size: clamp(48px, 6.5vw, 104px); line-height: 0.92; max-width: 10ch; }
.acceso__dir { font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--papel-2); }
.acceso__panel { display: grid; align-items: center; padding: clamp(28px, 5vw, 72px) var(--gutter); }
.acceso__form { width: 100%; max-width: 480px; margin-inline: auto; display: grid; gap: 22px; }
.acceso__titulo { font-size: clamp(44px, 6vw, 80px); }
.acceso__campos { display: grid; gap: 18px; }
.acceso__fila { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.acceso__alternativas { display: grid; gap: 10px; }
.acceso__pie { font-size: 14px; color: var(--apagado); }
.separador { display: flex; align-items: center; gap: 14px; color: var(--apagado); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.separador::before, .separador::after { content: ""; flex: 1; height: 1px; background: var(--linea); }
.boton-google svg { width: 20px; height: 20px; }
.demo { padding: 14px 16px; border: 2px dashed var(--linea-fuerte); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.demo__titulo { font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--apagado); }
.demo__botones { display: flex; gap: 8px; }
.tilde--error span { color: var(--rojo); }
.texto-papel { color: var(--papel); }
.codigo__input { font-family: var(--ff-titulo); font-size: 42px; letter-spacing: 0.4em; text-align: center; min-height: 72px; }
.codigo-demo { font-family: var(--ff-titulo); font-size: 22px; letter-spacing: 0.2em; }
.codigo__reenviar { justify-self: start; }
.codigo__reenviar button[disabled] { opacity: 0.4; pointer-events: none; }

@media (max-width: 860px) {
  .acceso { grid-template-columns: 1fr; }
  .acceso__marca { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--linea); }
  .acceso__marca-contenido { flex-direction: row; align-items: flex-end; }
  .acceso__frase { font-size: 40px; max-width: 12ch; }
  .acceso__dir { display: none; }
}
