/* ============================================
 * AUTH PREMIUM CSS
 * Login + Register - Sade ama premium
 * ============================================ */

.auth-page{
  min-height:calc(100vh - 200px);
  padding:40px 20px 60px;
  background:linear-gradient(135deg,#f8fafc 0%,#eff6ff 45%,#faf5ff 100%);
  position:relative;
  overflow:hidden;
}
.auth-page::before,
.auth-page::after{
  content:'';position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;
}
.auth-page::before{
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(29,78,216,.15),transparent 70%);
  top:-200px;right:-100px;
}
.auth-page::after{
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(167,139,250,.15),transparent 70%);
  bottom:-150px;left:-80px;
}

.auth-container{
  position:relative;
  z-index:1;
  max-width:460px;
  margin:0 auto;
}

.auth-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:36px 40px;
  box-shadow:
    0 4px 6px -1px rgba(0,0,0,.02),
    0 20px 60px -20px rgba(29,78,216,.12),
    0 0 0 1px rgba(255,255,255,.5) inset;
  animation:authFadeIn .5s cubic-bezier(.4,0,.2,1);
}

@keyframes authFadeIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

/* Logo */
.auth-logo{
  display:flex;
  justify-content:center;
  margin-bottom:24px;
  text-decoration:none;
}
.auth-logo img{
  height:42px;
  width:auto;
  display:block;
}
.auth-logo-text{
  font-family:'Sora',sans-serif;
  font-size:22px;
  font-weight:800;
  color:#0e1b33;
  letter-spacing:-.3px;
}

/* Header */
.auth-head{
  text-align:center;
  margin-bottom:28px;
}
.auth-head h1{
  font-family:'Sora',sans-serif;
  font-size:26px;
  font-weight:800;
  color:#0e1b33;
  margin:0 0 6px;
  letter-spacing:-.4px;
  line-height:1.2;
}
.auth-head p{
  color:#64748b;
  font-size:14.5px;
  margin:0;
  line-height:1.5;
}

/* Alerts */
.auth-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 16px;
  border-radius:10px;
  font-size:13.5px;
  font-weight:600;
  margin-bottom:20px;
  line-height:1.5;
}
.auth-alert svg{
  width:18px;height:18px;
  flex:none;
  margin-top:1px;
}
.auth-alert ul{
  padding-left:16px;
  margin:0;
}
.auth-alert-error{
  background:#fef2f2;
  color:#991b1b;
  border:1px solid #fecaca;
}
.auth-alert-success{
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #a7f3d0;
}

/* Form */
.auth-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.auth-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.auth-field label{
  font-size:13px;
  font-weight:700;
  color:#334155;
  letter-spacing:.2px;
}
.auth-field label small{
  color:#94a3b8;
  font-weight:500;
  margin-left:4px;
}

.auth-label-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
}
.auth-forgot{
  font-size:12.5px;
  color:#1d4ed8;
  text-decoration:none;
  font-weight:600;
  transition:.2s;
}
.auth-forgot:hover{
  color:#1e40af;
  text-decoration:underline;
}

/* Input wrapper */
.auth-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.auth-input-icon{
  position:absolute;
  left:14px;
  color:#94a3b8;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s;
}
.auth-input-icon svg{
  width:18px;height:18px;
}
.auth-input-wrap input{
  width:100%;
  height:48px;
  padding:0 16px 0 44px;
  border:1.5px solid #e2e8f0;
  border-radius:10px;
  background:#fafbfc;
  font-size:14.5px;
  font-family:inherit;
  color:#0e1b33;
  font-weight:500;
  transition:.2s;
  outline:none;
}
.auth-input-wrap input::placeholder{
  color:#94a3b8;
}
.auth-input-wrap input:focus{
  border-color:#1d4ed8;
  background:#fff;
  box-shadow:0 0 0 4px rgba(29,78,216,.08);
}
.auth-input-wrap input:focus + .auth-input-icon,
.auth-input-wrap:focus-within .auth-input-icon{
  color:#1d4ed8;
}
.auth-eye{
  position:absolute;
  right:12px;
  width:32px;
  height:32px;
  background:transparent;
  border:none;
  border-radius:6px;
  color:#94a3b8;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.2s;
}
.auth-eye svg{
  width:16px;height:16px;
}
.auth-eye:hover{
  color:#1d4ed8;
  background:rgba(29,78,216,.06);
}

/* Checkbox */
.auth-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  font-size:13px;
  color:#475569;
  line-height:1.55;
  padding:2px 0;
}
.auth-check input[type="checkbox"]{
  width:16px;
  height:16px;
  margin-top:2px;
  accent-color:#1d4ed8;
  cursor:pointer;
  flex:none;
}
.auth-check a{
  color:#1d4ed8;
  text-decoration:none;
  font-weight:600;
}
.auth-check a:hover{
  text-decoration:underline;
}

/* Submit button */
.auth-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  height:50px;
  padding:0 24px;
  background:linear-gradient(135deg,#1d4ed8,#3b82f6);
  color:#fff;
  border:none;
  border-radius:10px;
  font-family:'Sora',sans-serif;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:.25s;
  letter-spacing:.2px;
  box-shadow:0 8px 20px -6px rgba(29,78,216,.4);
  margin-top:4px;
}
.auth-btn svg{
  width:16px;height:16px;
  transition:transform .25s;
}
.auth-btn:hover{
  background:linear-gradient(135deg,#1e40af,#2563eb);
  transform:translateY(-2px);
  box-shadow:0 14px 32px -8px rgba(29,78,216,.5);
}
.auth-btn:hover svg{
  transform:translateX(4px);
}
.auth-btn:active{
  transform:translateY(0);
}

/* Footer link */
.auth-foot{
  text-align:center;
  padding-top:24px;
  margin-top:24px;
  border-top:1px solid #f1f5f9;
  font-size:14px;
  color:#64748b;
}
.auth-foot a{
  color:#1d4ed8;
  text-decoration:none;
  font-weight:700;
  transition:.2s;
}
.auth-foot a:hover{
  color:#1e40af;
  text-decoration:underline;
}

/* Trust badges below card */
.auth-trust{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
  font-size:12px;
  color:#94a3b8;
  font-weight:500;
}
.auth-trust span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.auth-trust svg{
  width:12px;height:12px;
}

/* Mobile */
@media(max-width:640px){
  .auth-page{padding:24px 16px 40px;min-height:auto}
  .auth-card{padding:26px 22px;border-radius:16px}
  .auth-head h1{font-size:22px}
  .auth-head p{font-size:13.5px}
  .auth-input-wrap input{height:46px;font-size:15px} /* 16px+ iOS zoom önleme */
  .auth-btn{height:48px;font-size:14.5px}
}
