/* Auth layout (OVH-like) */
.auth-layout{
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.auth-card{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 32px 16px;
  background: #fff;
}

.auth-card-inner{
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}

.auth-logo{ margin-bottom: 16px; }
.auth-title{ margin: 0 0 6px; font-size: 24px; }
.auth-subtitle{ margin: 0 0 18px; font-size: 14px; opacity: .9; }

.auth-alert{
  background: #fff3cd;
  border: 1px solid #ffecb5;
  color:#664d03;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 14px;
  font-size: 14px;
}
.auth-alert a{ color: inherit; text-decoration: underline; }

.auth-alert-success{
  background: #d1e7dd;
  border-color: #badbcc;
  color:#0f5132;
}

.auth-form{ display:flex; flex-direction:column; gap: 10px; }
.auth-label{ font-size: 13px; font-weight: 600; }

.auth-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.15);
  outline: none;
}

.auth-input:focus{
  border-color: #0d6efd;
  box-shadow: 0 0 0 3px rgba(99,132,58,.18);
}

.auth-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-top: 6px;
}

.auth-checkbox{ display:flex; align-items:center; gap: 8px; font-size: 13px; }
.auth-link{ font-size: 13px; text-decoration: underline; }

.auth-btn{
  margin-top: 10px;
  width:100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: none;
  background: #63843a;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.auth-footer{
  margin-top: 14px;
  font-size: 13px;
  text-align: center;
}

.auth-footer a{ text-decoration: underline; }

.auth-side{
  position: relative;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 32px;

  color: #fff;
  background-image: url('/img/bg/bg-login.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.auth-side::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13, 27, 42, 0.7); /* overlay sombre */
  z-index: 0;  
}

.auth-side-inner{
  position: relative; /* important pour passer au-dessus de l’overlay */
  z-index: 2;
}

.auth-side-inner{ max-width: 520px; }
.auth-side-inner h2{ margin: 0 0 10px; font-size: 22px; }
.auth-side-note{ margin-top: 18px; opacity: .85; }

/* Mobile: hide side panel */
@media (max-width: 900px){
  .auth-layout{ grid-template-columns: 1fr; }
  .auth-side{ display:none; }
}