/* Portal: portada, entrada y registro comparten esta pantalla.

   La portada es la credencial. Quien llega decide una de tres cosas: entrar,
   crear cuenta, o mirar el directorio sin ninguna de las dos. Esa tercera
   salida está a la vista a propósito —buscar psicólogo no exige registrarse—
   pero abajo, porque no es lo que trae a la mayoría.

   Fondo claro y ancho: es la única pantalla sin feed y aquí el aire es el
   mensaje. */

body.landing {
  background: var(--blanco);
  min-height: 100svh;
  display: flex;
}

.portada {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  min-height: 100svh;
  padding: 36px 24px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
  color: var(--tinta);
}

/* --- Marca --- */
.portada-marca {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.marca-enlace { display: block; line-height: 0; }
.marca-logo { display: block; width: 96px; height: 96px; }

.marca-nombre {
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.035em;
  margin: 0;
  color: var(--marino);
}

.marca-lema {
  font-size: 18px;
  line-height: 1.4;
  margin: 0;
  color: var(--tinta-2);
  max-width: 22ch;
}

/* --- Panel de credencial --- */
.portal {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: var(--r);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.portal-titulo {
  margin: 0;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--marino);
}

.portal-aviso {
  margin: 0;
  padding: 10px 12px;
  background: var(--alerta);
  border-radius: var(--r);
  font-size: 13.5px;
  color: var(--marino);
}

.portal .proveedores { gap: 8px; }
.portal .formulario { gap: 12px; }

/* Botón secundario: mismo peso visual que el primario en tamaño, distinto en
   color. Crear cuenta no es una acción menor, es la otra mitad de la puerta. */
.portal-alterna {
  width: 100%;
  padding: 12px;
  text-align: center;
  text-decoration: none;
}

/* --- Lo que no exige cuenta --- */
.portal-olvide {
  align-self: center;
  font-size: 13px;
  color: var(--tinta-2);
  text-decoration: none;
}

.portal-olvide:hover { color: var(--naranja-hondo); text-decoration: underline; }

.portal-libre {
  border-top: 1px solid var(--borde);
  padding-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.portal-libre-titulo {
  margin: 0 0 2px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--tinta-2);
}

.portal-libre a {
  font-size: 14px;
  color: var(--marino);
  text-decoration: none;
}

.portal-libre a:hover { color: var(--naranja-hondo); text-decoration: underline; }

.portal-libre-nota { margin: 4px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--tinta-2); }

/* --- Pie --- */
.portada-pie {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--tinta-2);
  text-align: center;
}

.portada-pie a { color: var(--naranja-hondo); }

/* Dos columnas cuando hay ancho: la marca a la izquierda, la puerta a la
   derecha. Debajo de eso se apila, que es como llega la mayoría. */
@media (min-width: 860px) {
  .portada {
    display: grid;
    grid-template-columns: 1fr 380px;
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 64px;
    row-gap: 20px;
    padding: 48px 32px;
  }

  .portada-marca { grid-column: 1; grid-row: 1 / span 2; align-self: center; gap: 20px; }
  .portal { grid-column: 2; grid-row: 1; align-self: center; }
  .portada-pie { grid-column: 2; grid-row: 2; text-align: left; }

  .marca-logo { width: 128px; height: 128px; }
  .marca-nombre { font-size: 64px; }
  .marca-lema { font-size: 21px; }
}
