#page-connexion {
  position: fixed; inset: 0; z-index: 99998;
  background: #fff;
  align-items: center; justify-content: center;
  padding: 16px;
  font-family: 'Open Sans', sans-serif;
  overflow-y: auto;
}
#page-connexion .conn-box {
  width: 100%; max-width: 380px;
  display: flex; flex-direction: column; gap: 14px;
  padding: 48px 8px;
}
/* Empêche les enfants flex de refuser de rétrécir (le texte déborderait
   sinon au lieu de passer à la ligne sur petit écran). */
#page-connexion .conn-box > * {
  min-width: 0;
}
#page-connexion .conn-tag {
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #9ca3af; margin: 0;
}
#page-connexion .conn-titre {
  font-family: 'Lora', serif; font-size: 28px;
  color: #1a1a2e; margin: 0 0 10px;
}
#page-connexion .phone-form {
  width: 100%; align-items: stretch; gap: 12px; flex-direction: column;
}
#page-connexion .phone-form input {
  width: 100% !important; box-sizing: border-box;
  border: 1px solid #e5e7eb !important; border-radius: 8px !important;
  padding: 12px 14px !important; font-size: 15px !important;
  background: #fff !important; color: #1a1a2e !important;
}
#page-connexion .phone-form input:focus { outline: none; border-color: #2563eb !important; }
#page-connexion .phone-form > div {
  display: flex; flex-direction: column; gap: 12px; width: 100%;
}
#page-connexion .phone-btn {
  background: #2563eb !important; color: #fff !important; border: none !important;
  border-radius: 8px !important; padding: 12px !important;
  font-size: 14px !important; font-weight: 700; cursor: pointer; width: 100%;
}
#page-connexion .pin-message-error,
#page-connexion .pin-message-info,
#page-connexion .phone-input-erreur {
  font-size: 12.5px; border-radius: 6px; padding: 8px 12px;
  background: #fef2f2; border: 1px solid #fecaca; color: #dc2626;
}
#btn-fermer-connexion {
  background: none; border: none; color: #9ca3af;
  font-size: 12px; cursor: pointer; align-self: center;
  text-decoration: underline; font-family: 'Open Sans', sans-serif; padding: 0;
}
#btn-fermer-connexion:hover { color: #6b7280; }
