/* =============================================================================
   ADAPT — MEMBER LOG IN / CREATE ACCOUNT  (assets/css/pages/login.css)
   Site Standard v2.1 tokens only. Used by login.html with adapt-standard.css.
   ============================================================================= */
.auth-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:64px;align-items:start;padding:72px var(--pad) 84px;background:linear-gradient(180deg,var(--off-black) 0%,var(--black) 100%);border-bottom:1px solid rgba(200,168,75,.1)}
.auth-intro{position:relative;z-index:1;padding-top:10px}
.auth-intro .ch-title{font-size:clamp(60px,7.6vw,112px)}
.auth-intro .ch-sub{margin:24px 0 0}
.auth-points{list-style:none;display:grid;gap:var(--gap);margin-top:34px;max-width:540px}
.auth-points li{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;background:rgba(26,26,26,.85);border:1px solid var(--line);padding:16px 18px}
.auth-points b{font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1;color:var(--accent)}
.auth-points h3{font-family:var(--f-cond);font-size:15px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}
.auth-points p{font-size:13px;line-height:1.6;color:var(--light-muted)}
.auth-fine{margin-top:22px;max-width:540px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.auth-fine a{color:var(--accent)}

/* card + tabs */
.auth-card{position:relative;z-index:1;background:rgba(20,20,20,.96);border:1px solid var(--line-2);border-top:2px solid var(--accent);padding:0 30px 28px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 -30px 26px;border-bottom:1px solid var(--line-2)}
.auth-tab{font-family:var(--f-cond);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:18px 10px;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}
.auth-tab:hover{color:var(--off-white)}
.auth-tab[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}
.auth-panel h2{font-family:var(--f-display);font-weight:400;font-size:38px;line-height:1;letter-spacing:.02em;margin-bottom:6px}
.auth-panel .form-sub{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:22px}
.auth-panel .form-sub b{color:var(--off-white);font-weight:500;word-break:break-all}
.auth-panel.solo{padding-top:30px}

/* fields */
.auth-form{display:grid;gap:16px}
.auth-form .form-grid{gap:16px}
.pw-wrap{position:relative}
.pw-wrap .input{padding-right:70px}
.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--f-cond);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:none;border:0;padding:10px 10px;cursor:pointer;transition:color var(--t-fast)}
.pw-toggle:hover{color:var(--accent)}
.field-hint{font-size:11.5px;line-height:1.5;color:var(--muted)}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-4px}
.link-btn{font-family:var(--f-cond);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:none;border:0;padding:4px 0;cursor:pointer;transition:color var(--t-fast)}
.link-btn:hover{color:var(--accent-bright)}
.auth-check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:12.5px;line-height:1.6;color:var(--light-muted);cursor:pointer}
.auth-check input{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:3px 0 0;display:grid;place-content:center;background:var(--black);border:1px solid rgba(200,168,75,.5);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}
.auth-check input::after{content:'';width:8px;height:4px;border-left:2px solid var(--black);border-bottom:2px solid var(--black);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.auth-check input:checked{background:var(--accent);border-color:var(--accent)}
.auth-check input:checked::after{opacity:1}
.auth-check.err input{border-color:#e0604f}
.auth-check a{color:var(--accent)}
.auth-check.err{color:#e0604f}
.auth-form .btn-primary{width:100%}
.auth-form .btn-primary[disabled]{opacity:.55;cursor:progress}
.code-input{font-family:var(--f-display);font-size:30px;letter-spacing:.42em;text-align:center;padding-left:.42em}
.auth-msg{min-height:20px;font-size:13px;line-height:1.55;color:var(--accent)}
.auth-msg.err{color:#e0604f}
.auth-note{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}
.auth-note .link-btn{font-size:11px}
.auth-done .hero-actions{margin-top:22px}
.auth-done .hero-actions .btn-primary,.auth-done .hero-actions .btn-ghost{flex:1}

/* reCAPTCHA — Google's floating badge is hidden; .rc-note in each form carries the notice Google requires */
.grecaptcha-badge{visibility:hidden}
.auth-captcha{min-height:78px}
.auth-captcha[hidden]{display:none}
.rc-note{margin-top:-6px;font-size:11px;line-height:1.6;color:var(--muted)}
.rc-note[hidden]{display:none}
.rc-note a{color:var(--light-muted);text-decoration:underline}

@media (max-width:1024px){
  .auth-hero{grid-template-columns:1fr;gap:44px}
  .auth-card{order:-1;max-width:560px;width:100%}
}
@media (max-width:620px){
  .auth-hero{padding:36px var(--pad) 52px;gap:36px}
  .auth-card{padding:0 20px 24px}
  .auth-tabs{margin:0 -20px 22px}
  .auth-panel h2{font-size:34px}
}
@media (max-width:380px){
  .auth-captcha{transform:scale(.88);transform-origin:0 0;min-height:69px;margin-bottom:-9px}
}