
/* ============================================================================
   CORRECTIF 3 : PAGE DE CONNEXION — sélecteurs réels ILIAS 11.3 (vérifiés
   dans le DOM, remplacent les propositions génériques du bloc 11 ci-dessus
   qui ne correspondent à aucune classe de cette version : .ilLoginPage,
   #login_form, .ilLoginFormBox, .ilLoginBox, body.login n'existent pas ici).
   ============================================================================ */

/* Fond dégradé nuit, uniquement sur la page de connexion (identifiée par la
   présence du formulaire de connexion natif ILIAS) */
body:has(.ilStartupSection) {
  background: linear-gradient(179deg, #071120 0%, #0D1E33 38%, #16456A 74%, #1D5478 100%) !important;
  background-attachment: fixed !important;
}

/* Neutraliser les fonds intermédiaires pour laisser voir le dégradé */
body:has(.ilStartupSection) .il-layout-page,
body:has(.ilStartupSection) main.il-layout-page-content,
body:has(.ilStartupSection) #mainspacekeeper,
body:has(.ilStartupSection) #fixed_content,
body:has(.ilStartupSection) #mainscrolldiv,
body:has(.ilStartupSection) #ilContentContainer,
body:has(.ilStartupSection) .ilTabsContentOuter,
body:has(.ilStartupSection) #il_center_col {
  background: transparent !important;
}

/* En-tête assombri pour rester lisible sur le dégradé */
body:has(.ilStartupSection) header {
  background: var(--fp-navy-dark) !important;
  border-bottom: 1px solid var(--fp-border) !important;
}
body:has(.ilStartupSection) .il-pagetitle {
  color: #F2F5F8 !important;
}

/* Bandeau "Vous êtes déconnecté" éventuel : carte claire alignée avec le formulaire */
body:has(.ilStartupSection) .ilMessageBox {
  max-width: 440px !important;
  margin: 40px auto 0 !important;
  background: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
  color: var(--fp-navy) !important;
  font-size: 13.5px !important;
}

/* Carte de connexion : la première .ilStartupSection contient le <form> */
.ilStartupSection:has(form) {
  background: #FFFFFF !important;
  border: 0 !important;
  border-radius: var(--fp-r-lg, 6px) !important;
  box-shadow: none !important;
  max-width: 440px !important;
  margin: 56px auto 0 !important;
  padding: 40px 36px 34px !important;
}

/* Marque Flightpaper au-dessus du titre du formulaire */
.ilStartupSection:has(form)::before {
  content: "";
  display: block;
  width: 52px;
  height: 52px;
  margin: 0 auto 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='48' fill='%230D1E33'/%3E%3Cpath d='M2 50 A48 48 0 0 1 98 50 Z' fill='%231D5478'/%3E%3Crect x='8' y='48' width='84' height='4' fill='%23DDE4EA'/%3E%3Cpolygon points='50,26 60,46 50,41 40,46' fill='%23E8A33D'/%3E%3Crect x='49' y='62' width='2' height='14' fill='%238FA6B8'/%3E%3Crect x='24' y='68' width='52' height='2' fill='%238FA6B8'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Titre du formulaire (h2 "Connexion à ILIAS" après correctif de traduction) */
.ilStartupSection form h2 {
  font-family: var(--fp-font-title) !important;
  font-weight: 700 !important;
  font-size: 21px !important;
  color: var(--fp-navy) !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  margin: 0 0 26px !important;
}
.ilStartupSection form label:has(h2) {
  display: block !important;
}
.ilStartupSection form label:has(h2) .asterisk,
.ilStartupSection form label:has(h2) .sr-only {
  display: none !important;
}

/* Libellés de champ */
.ilStartupSection form label {
  font-family: var(--fp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--fp-ink-3, #5B6E80) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
}

/* Champs texte / mot de passe */
.ilStartupSection form .c-field-text,
.ilStartupSection form input[type="text"],
.ilStartupSection form input[type="password"] {
  border: 1px solid var(--fp-border-in, #DCE3E9) !important;
  border-radius: 4px !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
  font-family: var(--fp-font-body) !important;
  color: var(--fp-navy) !important;
  background: #FFFFFF !important;
  width: 100% !important;
}
.ilStartupSection form .c-field-text:focus,
.ilStartupSection form input:focus {
  border-color: var(--fp-sky, #1D5478) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(29, 84, 120, 0.12) !important;
}
.ilStartupSection form .c-input__field {
  margin-bottom: 16px !important;
}

/* Bouton "Se connecter" pleine largeur, ambre */
.ilStartupSection form button[type="submit"],
.ilStartupSection form .btn-primary,
.ilStartupSection form button:not(.btn-link) {
  width: 100% !important;
  background: var(--fp-amber, #E8A33D) !important;
  border: 0 !important;
  color: var(--fp-amber-ink, #2A1B04) !important;
  font-family: var(--fp-font-body) !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  border-radius: 3px !important;
  padding: 12px 18px !important;
  margin-top: 8px !important;
}
.ilStartupSection form button[type="submit"]:hover,
.ilStartupSection form .btn-primary:hover {
  background: var(--fp-amber-text, #C9891F) !important;
  color: #FFFFFF !important;
}

/* Bouton "oeil" de visibilité du mot de passe : conserver discret, aligné */
.ilStartupSection form button.btn-link {
  color: var(--fp-ink-3, #8FA6B8) !important;
}

/* Liens sous la carte (créer un compte / mot de passe oublié) : seconde
   .ilStartupSection, contient <ul class="ilStartupSectionRegistrationLinks"> */
.ilStartupSection:has(.ilStartupSectionRegistrationLinks) {
  max-width: 440px !important;
  margin: 18px auto 48px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.ilStartupSectionRegistrationLinks {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px 18px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ilStartupSectionRegistrationLinks a {
  font-family: var(--fp-font-body) !important;
  font-size: 13px !important;
  color: #C4D2DE !important;
}
.ilStartupSectionRegistrationLinks a:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

/* Pied de page (liens légaux) lisible sur fond sombre */
body:has(.ilStartupSection) .il-layout-page-footer,
body:has(.ilStartupSection) footer,
body:has(.ilStartupSection) [role="contentinfo"] {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}
body:has(.ilStartupSection) footer a,
body:has(.ilStartupSection) [role="contentinfo"] a,
body:has(.ilStartupSection) footer *,
body:has(.ilStartupSection) [role="contentinfo"] * {
  color: #8FA6B8 !important;
}
body:has(.ilStartupSection) footer a:hover,
body:has(.ilStartupSection) [role="contentinfo"] a:hover {
  color: #F2F5F8 !important;
}
/* ===== fin correctif 3 : page de connexion ===== */
