/* The Last Empire — login and registration share the index.php visual identity.
   Isolated from the legacy dashboard, donation and account styles. */
.page-auth-nc .nc-auth-scene,
.page-auth-nc .nc-auth-scene * { box-sizing: border-box; }

.page-auth-nc .nc-auth-scene {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  background: #080d13;
}
.page-auth-nc .nc-auth-scene > .nc-scene-bg,
.page-auth-nc .nc-auth-scene > .nc-scene-overlay,
.page-auth-nc .nc-auth-scene > .nc-scene-atmosphere,
.page-auth-nc .nc-auth-tint {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.page-auth-nc .nc-auth-scene > .nc-scene-bg { filter: brightness(.91) saturate(.82); }
.page-auth-nc .nc-auth-scene > .nc-scene-overlay { opacity: .96; }
.page-auth-nc .nc-auth-tint {
  background:
    linear-gradient(90deg, rgba(6,10,16,.53) 0%, rgba(6,11,18,.35) 43%, rgba(4,8,13,.64) 100%),
    linear-gradient(180deg, rgba(5,8,12,.26) 0%, transparent 25%, rgba(5,9,14,.28) 77%, #080d13 100%);
}
.page-auth-nc .nc-auth-layout {
  position: relative;
  z-index: 1;
  width: min(1270px, calc(100% - 96px));
  margin: auto;
  padding: 132px 0 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 460px);
  align-items: center;
  gap: clamp(48px, 7vw, 120px);
}
.page-auth-nc .nc-auth-identity { padding: 10px 0 24px; }
.page-auth-nc .nc-auth-identity-kicker {
  display: block;
  margin-bottom: 28px;
  font: 600 13px/1.3 Georgia, 'Times New Roman', serif;
  letter-spacing: .36em;
  color: #f3e7d1;
  text-shadow: 0 3px 12px rgba(0,0,0,.5);
}
.page-auth-nc .nc-auth-identity-kicker span { color: #d2b17c; margin: 0 9px; }
.page-auth-nc .nc-auth-wordmark {
  display: flex;
  flex-direction: column;
  width: max-content;
  max-width: 100%;
  color: #e9cf9e;
  background: linear-gradient(180deg, #fff8e6 0%, #f0d9a9 34%, #c79a59 72%, #957047 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font: 700 clamp(64px, 6.6vw, 112px)/.89 Georgia, 'Times New Roman', serif;
  letter-spacing: -.068em;
  text-shadow: 0 14px 48px rgba(0,0,0,.22);
}
.page-auth-nc .nc-auth-rule {
  display: block;
  height: 1px;
  width: 140px;
  margin: 34px 0 25px;
  background: linear-gradient(90deg, #e9c48b 0%, rgba(227,193,135,.5) 55%, transparent 100%);
}
.page-auth-nc .nc-auth-identity p {
  max-width: 445px;
  margin: 0;
  font: 400 clamp(22px,2.15vw,32px)/1.3 Georgia, 'Times New Roman', serif;
  color: #f2e7d2;
  text-shadow: 0 4px 22px #000b;
}

.page-auth-nc .nc-auth-card-wrap { width: 100%; }
.page-auth-nc .nc-auth-card {
  position: relative;
  width: 100%;
  padding: 34px clamp(25px,3.1vw,44px) 36px;
  color: #eee8dc;
  border: 1px solid rgba(228,199,149,.28);
  background: linear-gradient(150deg, rgba(13,19,25,.88), rgba(7,12,18,.91));
  box-shadow: 0 26px 90px rgba(0,0,0,.37), inset 0 1px rgba(255,238,200,.055);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.page-auth-nc .nc-auth-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 40px;
  width: 98px;
  height: 2px;
  background: linear-gradient(90deg, rgba(244,217,163,.96), rgba(244,217,163,0));
}
.page-auth-nc .nc-auth-card-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 19px;
}
.page-auth-nc .nc-auth-card-top span { color: #d7b984; font: 400 27px/1 Georgia,serif; }
.page-auth-nc .nc-auth-card-top i {
  width: 78px;
  height: 1px;
  background: linear-gradient(90deg, rgba(222,188,134,.6), transparent);
}
.page-auth-nc .nc-auth-eyebrow {
  display: block;
  margin-bottom: 9px;
  color: #e0c08b;
  font: 750 10px/1.5 Inter, 'Segoe UI', Arial, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.page-auth-nc .nc-auth-card h1 {
  margin: 0;
  color: #fbf0dd;
  font: 500 clamp(36px, 3vw, 46px)/1.04 Georgia, 'Times New Roman', serif;
  letter-spacing: -.036em;
  text-wrap: balance;
}
.page-auth-nc .nc-auth-description {
  margin: 14px 0 24px;
  font: 400 13px/1.65 Inter, 'Segoe UI', Arial, sans-serif;
  color: #bbc0c0;
}
.page-auth-nc .nc-auth-form { display: flex; flex-direction: column; gap: 15px; }
.page-auth-nc .nc-auth-form > label:not(.nc-auth-check) {
  display: block;
  margin: 0;
  color: #e5ded1;
  font: 650 11px/1.45 Inter, 'Segoe UI', Arial, sans-serif;
  letter-spacing: .04em;
}
.page-auth-nc .nc-auth-form input:not([type="checkbox"]) {
  display: block;
  width: 100%;
  height: 48px;
  min-height: 48px;
  margin: 7px 0 0;
  padding: 0 15px;
  border: 1px solid rgba(219,201,165,.25);
  border-radius: 2px;
  outline: 0;
  background: rgba(4,9,14,.62);
  color: #fff8ec;
  font: 500 14px/1.2 Inter, 'Segoe UI', Arial, sans-serif;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.page-auth-nc .nc-auth-form input:not([type="checkbox"]):focus {
  border-color: #dfba80;
  background: rgba(4,9,14,.85);
  box-shadow: 0 0 0 3px rgba(225,187,124,.13);
}
.page-auth-nc .nc-auth-form .password-field { display: block; position: relative; width: 100%; }
.page-auth-nc .nc-auth-form .password-field input { padding-right: 91px !important; }
.page-auth-nc .nc-auth-form .password-visibility { top: calc(50% + 3px); right: 10px; color: #e4c28b; }
.page-auth-nc .nc-auth-check {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0;
  cursor: pointer;
  color: #d0d3d0;
  font: 400 11px/1.6 Inter, 'Segoe UI', Arial, sans-serif;
}
.page-auth-nc .nc-auth-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  margin: 2px 0 0;
  accent-color: #d8b77c;
  cursor: pointer;
}
.page-auth-nc .nc-auth-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 4px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  position: relative;
  border: 1px solid #e9cb97;
  border-radius: 2px;
  background: linear-gradient(115deg, #f0d7a8, #d5ad72);
  color: #17160f;
  font: 800 11px/1.2 Inter, 'Segoe UI', Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, filter .2s ease, transform .2s ease;
}
.page-auth-nc .nc-auth-submit > span { position: absolute; right: 18px; font: 400 20px/1 Arial,sans-serif; }
.page-auth-nc .nc-auth-submit:hover { filter: brightness(1.09); transform: translateY(-1px); }
.page-auth-nc .nc-auth-submit:active { transform: translateY(0); }
.page-auth-nc .nc-auth-foot {
  border-top: 1px solid rgba(231,204,158,.16);
  margin-top: 25px;
  padding-top: 20px;
  text-align: center;
  color: #bfc6c7;
  font: 400 12px/1.6 Inter, 'Segoe UI', Arial, sans-serif;
}
.page-auth-nc .nc-auth-foot a { margin-left: 3px; color: #f0ce96; font-weight: 750; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; }
.page-auth-nc .nc-auth-foot a:hover { text-decoration-color: currentColor; }
.page-auth-nc .nc-auth-card .form-error { margin: 0 0 18px; border-radius: 2px; }
.page-auth-nc .nc-header-link[href*="login.php"],
.page-auth-nc .nc-header-link[href*="register.php"] { transition: color .18s ease; }

@media (max-width: 1080px) {
  .page-auth-nc .nc-auth-layout { width: min(1100px, calc(100% - 60px)); gap: 35px; grid-template-columns: minmax(0,1fr) minmax(350px,440px); }
  .page-auth-nc .nc-auth-wordmark { font-size: clamp(57px, 6.5vw, 80px); }
  .page-auth-nc .nc-auth-identity-kicker { letter-spacing: .25em; }
}
@media (max-width: 790px) {
  .page-auth-nc .nc-auth-layout { grid-template-columns: minmax(0,1fr); width: min(520px, calc(100% - 36px)); gap: 29px; padding: 108px 0 56px; }
  .page-auth-nc .nc-auth-identity { padding: 0; text-align: center; }
  .page-auth-nc .nc-auth-identity-kicker { margin-bottom: 13px; font-size: 10px; }
  .page-auth-nc .nc-auth-wordmark { width: auto; max-width: 100%; font-size: clamp(49px, 10vw, 75px); }
  .page-auth-nc .nc-auth-rule { margin: 20px auto 14px; }
  .page-auth-nc .nc-auth-identity p { margin: 0 auto; max-width: 360px; font-size: clamp(18px,4vw,23px); }
  .page-auth-nc .nc-auth-card { padding: 28px clamp(20px,5vw,36px) 30px; }
  .page-auth-nc .nc-auth-card h1 { font-size: clamp(33px, 7vw, 41px); }
  .page-auth-nc .nc-auth-scene > .nc-scene-bg { background-position: 57% center; }
}
@media (max-width: 420px) {
  .page-auth-nc .nc-auth-layout { width: calc(100% - 26px); padding-top: 95px; padding-bottom: 30px; gap: 25px; }
  .page-auth-nc .nc-auth-wordmark { font-size: clamp(42px,11vw,57px); }
  .page-auth-nc .nc-auth-identity p { font-size: 18px; }
  .page-auth-nc .nc-auth-card { padding: 24px 21px 26px; }
  .page-auth-nc .nc-auth-form { gap: 13px; }
  .page-auth-nc .nc-auth-identity-kicker { letter-spacing: .16em; }
  .page-auth-nc .nc-auth-submit > span { right: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-auth-nc .nc-auth-scene *, .page-auth-nc .nc-auth-scene *::before, .page-auth-nc .nc-auth-scene *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* V23 - account email verification */
.page-auth-nc .empire-email-card .empire-email-success,
.page-auth-nc .nc-auth-card .empire-email-success {padding:16px 18px;margin:18px 0;color:#e9ddc6;background:rgba(46,96,73,.29);border:1px solid rgba(139,206,153,.5);font-size:13px;line-height:1.6;}
.page-auth-nc .empire-email-action {display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;margin:19px 0;color:#18130c!important;}
.page-auth-nc .empire-email-hint {color:#b5a58c;font-size:12px;line-height:1.7;margin:16px 0;}
.page-auth-nc .empire-email-hint a {color:#eac58b!important;text-decoration:underline;}

/* V24: recuperación de cuenta, accesible también en celulares. */
.page-auth-nc .empire-account-recovery-links {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:8px 22px; margin:16px 0 12px; font-size:12px; line-height:1.55;
}
.page-auth-nc .empire-account-recovery-links a {
  color:#eac58b !important; text-decoration:underline; text-underline-offset:3px;
}
.page-auth-nc .empire-account-recovery-links a:hover,
.page-auth-nc .empire-account-recovery-links a:focus-visible { color:#fff1d8 !important; }
@media(max-width:540px) {
  .page-auth-nc .empire-account-recovery-links { flex-direction:column; gap:11px; }
}

/* V28: Turnstile dentro de tarjetas de login/registro, incluido móvil. */
.page-auth-nc .l2-turnstile-wrap { display:flex; flex-direction:column; gap:10px; width:100%; max-width:100%; margin:7px 0 12px; }
.page-auth-nc .l2-turnstile-label {font-size:12px; letter-spacing:.03em; color:#cfbd9f;}
.page-auth-nc .cf-turnstile {max-width:100%; min-height:65px;}
.page-auth-nc .l2-turnstile-unavailable {color:#ffd8b2; font-size:13px; margin:8px 0 14px;}
@media(max-width:370px){.page-auth-nc .l2-turnstile-wrap{overflow-x:auto;}}
