/* ==========================================================================
   Kitabby Publishing - Publisher Auth UI
   Login matches the purple reference, register is a clean modern variant.
   ========================================================================== */

.kpb-auth-page{
  min-height: 100vh;
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 16px;
  position:relative;
  background: url("../img/auth-bg.jpg") center/cover no-repeat fixed;
  box-sizing: border-box;
}

.kpb-auth-page *{
  box-sizing: border-box;
}

.kpb-auth-page::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 30% 15%, rgba(168,85,247,.35), transparent 45%),
    radial-gradient(circle at 70% 25%, rgba(59,130,246,.25), transparent 45%),
    rgba(7, 7, 20, .55);
  pointer-events:none;
}

.kpb-auth-card{
  width: min(460px, 100%);
  position:relative;
  z-index:1;
  border-radius:18px;
  padding:28px 22px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.kpb-auth-title{
  margin: 0 0 18px;
  text-align:center;
  font-size:32px;
  font-weight:800;
  color:#fff;
  letter-spacing:.3px;
}

.kpb-auth-notice{
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
}

.kpb-auth-notice.is-error{
  background: rgba(239,68,68,.15);
  border-color: rgba(239,68,68,.25);
}

.kpb-auth-notice.is-success{
  background: rgba(34,197,94,.15);
  border-color: rgba(34,197,94,.25);
}

.kpb-auth-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.kpb-field label{
  display:block;
  margin: 0 0 8px;
  font-size:14px;
  color: rgba(255,255,255,.92);
}

.kpb-input{
  position:relative;
}

.kpb-input input,
.kpb-input textarea{
  width:100%;
  border-radius: 999px;
  padding: 0 44px 0 16px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  color:#fff;
  outline:none;
  transition: .15s ease;
  font-size: 14px;
}

.kpb-input input{
  height:46px;
}

.kpb-input textarea{
  min-height: 110px;
  padding: 12px 16px;
  border-radius: 18px;
  resize: vertical;
}

.kpb-input input::placeholder,
.kpb-input textarea::placeholder{
  color: rgba(255,255,255,.60);
}

.kpb-input input:focus,
.kpb-input textarea:focus{
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.13);
}

.kpb-icon{
  position:absolute;
  right:14px;
  top:50%;
  transform: translateY(-50%);
  width:18px;
  height:18px;
  opacity:.9;
  pointer-events:none;
  fill: rgba(255,255,255,.95);
}

.kpb-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top: 2px;
}

.kpb-row .kpb-remember{
  display:flex;
  align-items:center;
  gap:8px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
}

.kpb-row .kpb-remember input{
  width: 14px;
  height: 14px;
  accent-color: #fff;
}

.kpb-row a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-size: 13px;
  opacity:.9;
}

.kpb-row a:hover{ opacity:1; text-decoration: underline; }

.kpb-btn{
  height:46px;
  border:0;
  border-radius: 999px;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  color:#1b1033;
  background: rgba(255,255,255,.95);
  transition:.15s ease;
}

.kpb-btn:hover{
  transform: translateY(-1px);
  background:#fff;
}

.kpb-auth-footer{
  margin-top: 6px;
  text-align:center;
  color: rgba(255,255,255,.92);
  font-size: 13px;
}

.kpb-auth-footer a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
}

.kpb-auth-footer a:hover{ text-decoration: underline; }

/* Register grid (nicer layout) */
.kpb-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}

@media (min-width: 680px){
  .kpb-grid.two{
    grid-template-columns: 1fr 1fr;
  }
}

/* Hide page titles in most themes (optional but helps keep it clean) */
.page .entry-title,
.page-title,
h1.entry-title{
  display:none !important;
}
