/* Lock screen */
body { min-height: 100vh; display: flex; flex-direction: column; }
.lock-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  /*padding: 120px 32px 80px; */
  min-height:100vh;
  position: relative;
  z-index: 1;
}
.lock-card {
  /* background: var(--bg-card); */
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 0px solid var(--border-card);
  border-radius: 24px;
  padding: 56px 48px;
  max-width: 460px;
  width: 100%;
  text-align: center;
  /* box-shadow: var(--shadow-card); */
  transition: background var(--transition), border-color var(--transition);
}
.lock-icon {
  width: 64px; height: 64px;
  border-radius: 18px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  margin: 0 auto 28px;
}
.lock-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.55rem;
  font-weight: 500;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
.lock-sub {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 32px;
}
.lock-input {
  width: 100%;
  background: var(--bg-layer);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 13px 18px;
  color: var(--text-primary);
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.22s;
  margin-bottom: 14px;
  box-sizing: border-box;
}
.lock-input:focus { border-color: var(--gold); }
.lock-btn {
  width: 100%;
  background: var(--gold);
  color: var(--text-on-gold);
  padding: 13px;
  border-radius: 100px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  border: none;
  cursor: pointer;
  transition: transform 0.18s, background 0.22s;
}
.lock-btn:hover { transform: translateY(-2px); background: var(--gold-deep); }
.lock-btn:active { transform: translateY(0); }
.lock-msg {
  font-family: 'Poppins', sans-serif;
  font-size: 0.82rem;
  margin-top: 14px;
  min-height: 20px;
}
.lock-msg.info  { color: var(--text-secondary); }
.lock-msg.error { color: #f87171; }
.lock-divider { border: none; border-top: 0px solid var(--border-subtle); margin: 24px 0; }
.lock-contact {
  font-family: 'Poppins', sans-serif;
  font-size: 0.84rem;
  color: var(--text-secondary);
}
.lock-contact a { color: var(--gold); text-decoration: none; font-weight: 500; }
.lock-contact a:hover { text-decoration: underline; }

/* Hide/show logic */
.page-content { display: none; }
.ds-unlocked .lock-screen { display: none; }
.ds-unlocked .page-content { display: block; }

@keyframes shake {
  0%,100% { transform: translateX(0); }
  20%      { transform: translateX(-8px); }
  40%      { transform: translateX(8px); }
  60%      { transform: translateX(-5px); }
  80%      { transform: translateX(5px); }
}
