/* Auth specific layout */
.auth-wrap{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px}
.auth-card{width:100%;max-width:480px;position:relative;z-index:1}
.auth-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.auth-header .brand{display:flex;align-items:center;gap:10px}
.auth-header .brand img{height:36px}
.auth-header .brand .title{font-weight:900;font-size:20px}
.auth-actions a{font-weight:700}

.form-row{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.label{font-weight:700}
.input-group{position:relative}
.toggle-pass{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--text-dark);cursor:pointer}

.help{text-align:right}
.strength{height:8px;border-radius:8px;background:#00000010;overflow:hidden;margin-top:6px}
.strength .bar{height:100%;width:0;background:var(--pink);transition:width .2s ease}

/* Focus/accessible */
.btn:focus-visible,.toggle-pass:focus-visible,a:focus-visible{outline:3px solid var(--pink-soft)}

/* Header logo sizing on auth page */
.auth-page .header .brand img{height:40px;width:auto}

/* Blurred background logo behind the form */
.auth-page{position:relative;overflow-x:hidden}
.auth-page::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url('/logo.png');
  background-repeat:no-repeat;
  background-position: top 60px center; /* visible dès le haut, centré */
  background-size: clamp(700px, 95vw, 1300px); /* plus grand, déborde la carte */
  filter: blur(12px) opacity(.22);
  z-index:0;
  pointer-events:none;
}

/* Ajustement mobile: remonter un peu et réduire légèrement pour garder lisible */
@media (max-width: 600px){
  .auth-page::before{
    background-position: top 40px center;
    background-size: clamp(520px, 120vw, 900px);
    filter: blur(10px) opacity(.18);
  }
}
