/* ======================================================
   RIDDLER'S PROJECT - CUSTOM LOGIN PAGE
   ====================================================== */

.rp-login-page{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:46px 22px 72px;
  color:#e0e0e0;
  font-family:"Inter",sans-serif;
}

.rp-login-shell{
  max-width:980px;
  margin:0 auto;
  padding:58px 54px 60px;
  text-align:center;
  border:1px solid rgba(218,188,115,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at top left, rgba(218,188,115,.10), transparent 32%),
    linear-gradient(145deg, rgba(34,34,31,.98), rgba(26,26,24,.98));
  box-shadow:0 30px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.035);
}

.rp-login-hero{
  max-width:780px;
  margin:0 auto 34px;
}

.rp-login-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:7px 14px;
  border:1px solid rgba(218,188,115,.28);
  border-radius:999px;
  background:rgba(218,188,115,.06);
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.rp-login-hero h1{
  margin:0 0 18px;
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:clamp(38px,3.2vw,54px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:.02em;
}

.rp-login-hero p{
  max-width:720px;
  margin:0 auto;
  color:rgba(224,224,224,.84);
  font-size:17px;
  font-weight:700;
  line-height:1.62;
}

.rp-login-alert{
  max-width:720px;
  margin:0 auto 24px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(218,188,115,.35);
  background:rgba(37,37,34,.96);
  color:#e0e0e0;
  font-size:15px;
  font-weight:800;
  line-height:1.55;
  text-align:center;
  box-shadow:0 18px 36px rgba(0,0,0,.35);
}

.rp-login-alert a{
  color:#dabc73;
  font-weight:900;
  text-decoration:none;
  border-bottom:1px solid rgba(218,188,115,.55);
}

.rp-login-alert--success{
  border-color:rgba(95,124,107,.9);
  background:radial-gradient(circle at top left, rgba(95,124,107,.18), transparent 35%), rgba(37,37,34,.96);
}

.rp-login-alert--error{
  border-color:rgba(214,54,55,.75);
  background:radial-gradient(circle at top left, rgba(214,54,55,.14), transparent 35%), rgba(37,37,34,.96);
}

.rp-login-card{
  max-width:640px;
  margin:0 auto;
  padding:36px 40px 38px;
  border:1px solid rgba(218,188,115,.25);
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(218,188,115,.12), transparent 34%),
    linear-gradient(145deg, rgba(37,37,34,.96), rgba(25,25,23,.96));
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}

.rp-login-card-head{
  margin-bottom:28px;
  text-align:center;
}

.rp-login-card-head span{
  display:inline-block;
  margin-bottom:10px;
  color:rgba(218,188,115,.8);
  font-family:"Chakra Petch",sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.rp-login-card-head h2{
  margin:0 0 12px;
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:30px;
  font-weight:900;
  line-height:1.15;
}

.rp-login-card-head p{
  max-width:500px;
  margin:0 auto;
  color:rgba(224,224,224,.72);
  font-size:14px;
  font-weight:700;
  line-height:1.58;
}

.rp-login-hp{display:none!important;}

.rp-login-field{
  margin-bottom:20px;
  text-align:left;
}

.rp-login-field label{
  display:block;
  margin-bottom:8px;
  color:#c7a969;
  font-family:"Chakra Petch",sans-serif;
  font-size:14px;
  font-weight:900;
}

.rp-login-field input{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(218,188,115,.48);
  border-radius:14px;
  background:rgba(52,52,49,.92);
  color:#eeeeee;
  font-family:"Inter",sans-serif;
  font-size:16px;
  font-weight:700;
  outline:none;
  box-sizing:border-box;
  transition:border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.rp-login-field input:hover{
  border-color:rgba(218,188,115,.76);
}

.rp-login-field input:focus{
  border-color:#dabc73;
  background:rgba(48,48,45,.98);
  box-shadow:0 0 0 3px rgba(218,188,115,.13), 0 0 24px rgba(218,188,115,.14);
}

.rp-login-field input:-webkit-autofill,
.rp-login-field input:-webkit-autofill:hover,
.rp-login-field input:-webkit-autofill:focus,
.rp-login-field input:-webkit-autofill:active{
  -webkit-text-fill-color:#eeeeee!important;
  caret-color:#eeeeee!important;
  border-color:rgba(218,188,115,.76)!important;
  background:rgba(48,48,45,.98)!important;
  -webkit-box-shadow:
    0 0 0 1000px rgb(48,48,45) inset,
    0 0 0 3px rgba(218,188,115,.13),
    0 0 24px rgba(218,188,115,.14)!important;
  box-shadow:
    0 0 0 1000px rgb(48,48,45) inset,
    0 0 0 3px rgba(218,188,115,.13),
    0 0 24px rgba(218,188,115,.14)!important;
  transition:background-color 9999s ease-in-out 0s, color 9999s ease-in-out 0s;
}

.rp-login-password-wrap{
  position:relative;
}

.rp-login-password-wrap input{
  padding-right:54px;
}

.rp-login-password-toggle{
  position:absolute;
  top:50%;
  right:12px;
  width:34px;
  height:34px;
  padding:0;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#dabc73;
  background:rgba(218,188,115,.08);
  border:1px solid rgba(218,188,115,.22);
  border-radius:10px;
  cursor:pointer;
}

.rp-login-password-toggle:hover{
  color:#f0d894;
  background:rgba(218,188,115,.13);
  border-color:rgba(218,188,115,.45);
}

.rp-login-eye{
  font-size:18px;
  line-height:1;
}

.rp-login-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:6px 0 28px;
}

.rp-login-remember{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(224,224,224,.82);
  font-family:"Inter",sans-serif;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.rp-login-remember input{
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin:0;
  border:1px solid rgba(218,188,115,.7);
  border-radius:6px;
  background:rgba(52,52,49,.95);
  cursor:pointer;
  position:relative;
}

.rp-login-remember input:checked{
  background:#dabc73;
  border-color:#dabc73;
}

.rp-login-remember input:checked::after{
  content:"✓";
  position:absolute;
  top:50%;
  left:50%;
  color:#1f1f1d;
  font-size:15px;
  font-weight:900;
  transform:translate(-50%,-55%);
}

.rp-login-forgot{
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  border-bottom:1px solid rgba(218,188,115,.45);
}

.rp-login-forgot:hover{
  color:#f0d894;
  border-color:rgba(240,216,148,.9);
}

.rp-login-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}

.rp-login-submit,
.rp-login-btn{
  min-height:50px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(218,188,115,.95);
  border-radius:999px;
  background:linear-gradient(135deg,#dabc73 0%,#b99b5e 100%);
  color:#22221f;
  font-family:"Chakra Petch",sans-serif;
  font-size:15px;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.035) inset;
  transition:background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.rp-login-submit:hover,
.rp-login-btn--gold:hover{
  background:#252522;
  color:#dabc73;
  border-color:#dabc73;
  box-shadow:0 16px 32px rgba(0,0,0,.42), 0 0 22px rgba(218,188,115,.13);
}

.rp-login-btn--ghost{
  background:transparent;
  color:#dabc73;
  box-shadow:none;
}

.rp-login-btn--ghost:hover{
  background:rgba(218,188,115,.08);
  color:#f0d894;
  border-color:#f0d894;
}

.rp-login-help-grid{
  max-width:720px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.rp-login-help-box{
  padding:24px 26px;
  text-align:left;
  border:1px solid rgba(218,188,115,.18);
  border-radius:18px;
  background:rgba(218,188,115,.045);
}

.rp-login-help-box h2{
  margin:0 0 10px;
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:21px;
  font-weight:900;
}

.rp-login-help-box p{
  margin:0 0 14px;
  color:rgba(224,224,224,.76);
  font-size:14px;
  font-weight:700;
  line-height:1.6;
}

.rp-login-help-box a{
  color:#dabc73;
  font-family:"Chakra Petch",sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
  border-bottom:1px solid rgba(218,188,115,.55);
}

.rp-login-help-box a:hover{
  color:#f0d894;
  border-color:rgba(240,216,148,.9);
}

@media (max-width:760px){
  .rp-login-page{padding:36px 16px 54px;}
  .rp-login-shell{padding:36px 18px 40px;border-radius:22px;}
  .rp-login-hero h1{font-size:34px;}
  .rp-login-card{padding:28px 18px 30px;}
  .rp-login-card-head h2{font-size:26px;}
  .rp-login-row{flex-direction:column;align-items:flex-start;}
  .rp-login-actions{flex-direction:column;}
  .rp-login-submit,.rp-login-btn{width:100%;}
  .rp-login-help-grid{grid-template-columns:1fr;}
}
