/* ==========================================================================
   ON VOUGA — auth.css (connexion.html / inscription.html)
   ========================================================================== */

.auth-body{ background: var(--white); }

.auth-shell{
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
}

.auth-visual{
  background: radial-gradient(ellipse at 30% 0%, #131c3d 0%, var(--navy-950) 60%);
  color: var(--white);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.auth-visual .logo{ position: relative; z-index: 2; }
.auth-visual-copy{ position: relative; z-index: 2; max-width: 360px; }
.auth-visual-copy h2{ font-size: clamp(24px, 3vw, 32px); margin-bottom: 14px; }
.auth-visual-copy p{ color: rgba(255,255,255,.6); font-size: 15px; line-height: 1.6; }
.auth-ticket{
  position: absolute;
  bottom: -30px; right: -30px;
  width: 130px; height: 300px;
  background: var(--green-500);
  border-radius: 16px;
  transform: rotate(-18deg);
  display: flex; align-items: center; justify-content: center;
  writing-mode: vertical-rl;
  font-family: var(--font-display); font-weight: 700; font-size: 18px; letter-spacing: 2px;
  color: rgba(0,0,0,.7);
  box-shadow: var(--shadow-pop);
}

.auth-form-panel{
  padding: 40px clamp(24px, 6vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.auth-back{
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; color: var(--ink-soft); margin-bottom: 30px; width: fit-content;
}
.auth-back:hover{ color: var(--ink); }
.auth-form-wrap{ max-width: 420px; width: 100%; margin: 0 auto; }
.auth-form-wrap h1{ font-size: clamp(24px, 3vw, 28px); margin-bottom: 8px; }
.auth-sub{ color: var(--ink-soft); font-size: 14.5px; margin-bottom: 28px; }

.auth-form-wrap form label{ display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 16px; }
.auth-form-wrap input{
  width: 100%; margin-top: 8px; padding: 12px 14px; border-radius: 10px;
  border: 1px solid var(--grey-300); font-family: inherit; font-size: 14px; font-weight: 400;
}
.auth-form-wrap input:focus{ outline: none; border-color: var(--green-500); box-shadow: 0 0 0 3px rgba(111,217,60,.18); }
.auth-form-wrap input.is-invalid{ border-color: var(--pink-500); }
.field-error{ display: block; color: var(--pink-500); font-size: 12px; font-weight: 500; margin-top: 5px; min-height: 15px; }

.password-field{ position: relative; margin-top: 8px; }
.password-field input{ margin-top: 0; padding-right: 44px; }
.toggle-pass{
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  background: none; border: none; color: var(--ink-soft); display: flex;
}

.form-row-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.auth-row{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; font-size: 13.5px; }
.checkbox{ display: flex !important; align-items: center; gap: 8px; font-weight: 500 !important; }
.checkbox input{ width: auto !important; margin: 0 !important; accent-color: var(--green-500); }
.auth-link{ color: var(--blue-500); font-weight: 600; }
.auth-link:hover{ text-decoration: underline; }

.form-success{ color: var(--green-600); font-size: 13.5px; font-weight: 600; margin-top: 14px; text-align: center; }
.auth-switch{ text-align: center; font-size: 13.5px; color: var(--ink-soft); margin-top: 24px; }
.auth-switch a{ color: var(--green-600); font-weight: 700; }

@media (max-width: 900px){
  .auth-shell{ grid-template-columns: 1fr; }
  .auth-visual{ display: none; }
  .auth-form-panel{ padding: 32px 20px; }
}
