/* Styles partagés : login.html, register.html, register-coach.html */

.page{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:95px 1rem 3rem;
  position:relative;overflow:hidden;
}
.page::before{
  content:'';position:absolute;top:-20%;right:-10%;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,97,42,.15) 0%,transparent 70%);
  pointer-events:none;
}
.page::after{
  content:'';position:absolute;bottom:-20%;left:-5%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,97,42,.07) 0%,transparent 70%);
  pointer-events:none;
}

.card{
  width:100%;max-width:460px;
  background:var(--dark2);
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;padding:2rem;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
  position:relative;z-index:1;
  animation:fu .3s ease;
}
.hero-badge{
  display:inline-flex;align-items:center;
  background:rgba(232,97,42,.15);border:1px solid rgba(232,97,42,.3);
  border-radius:20px;padding:4px 12px;margin-bottom:1rem;
  font-size:11px;font-weight:600;color:var(--or3);letter-spacing:.06em;text-transform:uppercase;
}
.card h1{
  font-family:'Barlow Condensed',sans-serif;
  font-size:32px;font-weight:800;color:#fff;
  line-height:1.05;margin-bottom:.35rem;
}
.card .sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:1.4rem;line-height:1.5}

.sep{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.3);margin:.4rem 0 .9rem;
  display:flex;align-items:center;gap:8px;
}
.sep::before,.sep::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}

.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:.9rem}
label{font-size:11px;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.04em}

input,select,textarea{
  font-family:'Barlow',sans-serif;font-size:14px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.1);border-radius:9px;
  background:rgba(255,255,255,.05);color:#fff;
  width:100%;outline:none;
  transition:border-color .15s,background .15s;
}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.25)}
input:focus,select:focus,textarea:focus{border-color:var(--or);background:rgba(255,255,255,.07)}
select option{background:var(--dark2);color:#fff}
textarea{resize:vertical}

.hint{font-size:11px;color:rgba(255,255,255,.3);margin-top:3px;line-height:1.4}

.msg{border-radius:9px;padding:10px 13px;font-size:13px;margin-bottom:1rem;display:none;line-height:1.4}
.msg.err{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3);color:#fca5a5}
.msg.suc{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#86efac}

.btn{
  font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;
  width:100%;padding:12px;border-radius:9px;border:none;
  background:var(--or);color:#fff;cursor:pointer;
  transition:background .15s,transform .15s,box-shadow .15s;
  margin-top:.5rem;box-shadow:0 4px 20px rgba(232,97,42,.35);
}
.btn:hover{background:var(--or2);transform:translateY(-1px);box-shadow:0 6px 24px rgba(232,97,42,.45)}
.btn:disabled{background:rgba(255,255,255,.1);color:rgba(255,255,255,.3);box-shadow:none;transform:none;cursor:not-allowed}

.lnk{text-align:center;margin-top:.9rem;font-size:13px;color:rgba(255,255,255,.35)}
.lnk a{color:var(--or3);text-decoration:none;font-weight:500;transition:color .15s}
.lnk a:hover{color:var(--or)}
