/* ════════════════════════════════════════════════
   New Dawn — Shared Password Gate
   (incluso da ogni pagina che richiede auth)
   ════════════════════════════════════════════════ */

.gate {
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:#1a1208; z-index:9000;
}
.gate-box {
  background:linear-gradient(160deg,#2a1a08,#1a0e04);
  border:2px solid var(--gold); border-radius:4px;
  padding:2.5rem 3rem; text-align:center; max-width:380px; width:90%;
}
.gate-title  { font-family:'Cinzel',serif; font-size:2rem; font-weight:700; color:var(--gold-light); letter-spacing:.12em; margin-bottom:.3rem; }
.gate-subtitle { font-family:'Crimson Text',serif; font-style:italic; color:var(--parchment-deep); font-size:1rem; margin-bottom:2rem; }
.gate-form   { display:flex; flex-direction:column; gap:.75rem; }
.gate-input-wrap { position:relative; display:flex; align-items:center; }
.gate-input-wrap .gate-input { flex:1; padding-right:2.4rem; }
.gate-input  {
  font-family:'Cinzel',serif; font-size:.85rem; padding:.7rem 1rem; border-radius:2px;
  border:1px solid rgba(184,134,11,0.5); background:rgba(30,15,5,0.8);
  color:var(--parchment-dark); text-align:center; letter-spacing:.15em; width:100%;
}
.gate-input:focus { outline:none; border-color:var(--gold); }
.gate-eye {
  position:absolute; right:.6rem; background:none; border:none; cursor:pointer;
  color:var(--ink-faint); font-size:1rem; padding:0; line-height:1; transition:color .15s;
}
.gate-eye:hover { color:var(--gold); }
.gate-btn {
  font-family:'Cinzel',serif; font-size:.82rem; padding:.7rem 1.5rem; border-radius:2px;
  border:1px solid var(--gold); background:linear-gradient(160deg,var(--gold),#9a7008);
  color:var(--ink); cursor:pointer; font-weight:600; letter-spacing:.1em; transition:all .18s;
}
.gate-btn:hover { background:linear-gradient(160deg,var(--gold-light),var(--gold)); }
.gate-error       { color:var(--red-wax); font-style:italic; font-size:.9rem; margin-top:.5rem; min-height:1.2em; }
.gate-google-wrap { display:flex; justify-content:center; margin:.25rem 0; min-height:44px; }
