/* ============================================================
   Auth pages (login / register), OTP modal, legal pages
   ============================================================ */

/* ---------- Auth split layout ---------- */
.auth-wrap{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1fr 1fr;}
.auth-aside{position:relative;background:#000 center/cover no-repeat;color:#fff;
  display:flex;flex-direction:column;justify-content:center;padding:56px;overflow:hidden;}
.auth-aside::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.78));}
.auth-aside .aside-inner{position:relative;z-index:2;max-width:420px;animation:rise .7s .05s both;}
.auth-aside .logo{height:34px;width:auto;margin-bottom:28px;}
.auth-aside h2{font-family:var(--font-display);text-transform:uppercase;font-size:40px;line-height:1.05;color:#fff;margin:0 0 16px;}
.auth-aside h2 em{color:var(--gold);font-style:normal;}
.auth-aside p{color:#d9d9de;font-size:16px;}
.auth-aside .aside-badges{display:flex;gap:18px;margin-top:26px;}
.auth-aside .aside-badges img{height:42px;width:auto;}

.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--c-bg);}
.auth-card{width:100%;max-width:440px;}
.auth-card .eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;
  font-size:12px;font-weight:700;color:var(--gold-deep);margin-bottom:8px;}
.auth-card h1{font-family:var(--font-display);text-transform:uppercase;font-size:32px;color:var(--c-text);margin:0 0 6px;}
.auth-card .sub{color:var(--c-muted);margin-bottom:26px;}

.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:12px;letter-spacing:.06em;color:var(--c-muted);margin-bottom:7px;}
.field input{width:100%;padding:14px 16px;font-size:16px;font-family:var(--font-body);
  color:var(--c-text);background:var(--c-input-bg);border:1px solid var(--c-input-border);border-radius:6px;
  transition:border-color .2s ease,box-shadow .2s ease;}
.field input::placeholder{color:#9a9aa2;}
.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,170,113,.25);}
.field.invalid input{border-color:var(--alert);box-shadow:0 0 0 3px rgba(221,55,55,.18);}
.field .err{display:none;color:var(--alert);font-size:13px;margin-top:6px;}
.field.invalid .err{display:block;}

.btn-submit{width:100%;background:var(--gold);color:#000;border:1px solid var(--gold);border-radius:50px;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  font-size:17px;padding:15px 20px;transition:background .2s ease,transform .15s ease;}
.btn-submit:hover{background:#d4c08e;}
.btn-submit:active{transform:scale(.99);}
.auth-alt{margin-top:20px;text-align:center;color:var(--c-muted);font-size:15px;}
.auth-alt a{color:var(--gold-headline);font-weight:700;}
.auth-alt a:hover{text-decoration:underline;}
.auth-legal{margin-top:18px;font-size:12px;color:var(--c-muted);text-align:center;line-height:1.6;}
.auth-legal a{text-decoration:underline;}

/* ---------- OTP modal ---------- */
.modal-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;
  background:rgba(10,10,12,.72);backdrop-filter:blur(4px);padding:20px;}
.modal-overlay.open{display:flex;animation:fade .25s ease both;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.modal{width:100%;max-width:440px;background:var(--ink);color:#fff;border:1px solid rgba(192,170,113,.4);
  border-radius:14px;padding:36px 32px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:rise .35s ease both;}
.modal .logo{height:30px;width:auto;margin:0 auto 18px;}
.modal h2{font-family:var(--font-display);text-transform:uppercase;font-size:26px;color:#fff;margin:0 0 8px;}
.modal p{color:#b9b9c0;font-size:15px;margin:0 0 24px;}
.modal p b{color:var(--gold);}
.otp-inputs{display:flex;gap:10px;justify-content:center;margin-bottom:26px;}
.otp-inputs input{width:52px;height:60px;text-align:center;font-family:var(--font-display);font-weight:700;
  font-size:26px;color:#fff;background:#000;border:1px solid #3a3a42;border-radius:8px;transition:border-color .2s,box-shadow .2s;}
.otp-inputs input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,170,113,.3);}
.modal .btn-submit{margin-bottom:12px;}
.modal .modal-resend{color:#b9b9c0;font-size:14px;}
.modal .modal-resend a{color:var(--gold);font-weight:700;}
.modal-close{position:absolute;}
.modal-x{background:none;border:0;color:#b9b9c0;font-size:14px;margin-top:6px;text-transform:uppercase;
  font-family:var(--font-display);font-weight:700;letter-spacing:.05em;}
.modal-x:hover{color:#fff;}

/* ---------- Legal pages ---------- */
.legal-hero{background:var(--surface);border-bottom:2px solid var(--gold-border);padding:54px 0;text-align:center;}
.legal-hero h1{font-family:var(--font-display);text-transform:uppercase;font-size:38px;color:var(--gold-headline);margin:0;}
.legal-hero p{color:#cfc7b3;margin:8px 0 0;}
.legal-body{padding:46px 0 60px;}
.legal-body .updated{color:var(--c-muted);font-size:13px;margin-bottom:26px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-display);font-weight:700;}

@media (max-width:1023px){
  .auth-wrap{grid-template-columns:1fr;}
  .auth-aside{display:none;}
}
@media (max-width:639px){
  .otp-inputs input{width:44px;height:54px;font-size:22px;}
  .legal-hero h1{font-size:28px;}
}
