/* =========================================================
   Pizza Schuss (LS) – Legal Pages (Impressum / Datenschutz)
   ========================================================= */

body { overflow-y: auto; }

.ps-legal-page {
  max-width: 600px;
  margin: 0 auto;
  padding: 30px 20px 40px;
}
.ps-legal-page h1 {
  color: var(--ps-gold);
  font-size: 24px;
  margin-bottom: 4px;
}
.ps-legal-page h2 {
  color: var(--ps-primary);
  font-size: 13px;
  font-weight: normal;
  margin-bottom: 24px;
  opacity: 0.8;
}
.ps-legal-page h3 {
  color: var(--ps-gold);
  font-size: 14px;
  margin-top: 20px;
  margin-bottom: 8px;
}
.ps-legal-page p,
.ps-legal-page li {
  font-size: 12px;
  line-height: 1.7;
  color: var(--ps-cream);
  opacity: 0.85;
}
.ps-legal-page ul {
  list-style: none;
  padding-left: 0;
}
.ps-legal-page li::before {
  content: '• ';
  color: var(--ps-primary);
}
.ps-legal-page a {
  color: var(--ps-primary);
  text-decoration: none;
}
.ps-legal-page a:hover {
  color: var(--ps-gold);
}
.ps-legal-back {
  display: inline-block;
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--ps-primary);
  text-decoration: none;
}
.ps-legal-back:hover {
  color: var(--ps-gold);
}
.ps-legal-note {
  margin-top: 30px;
  font-size: 11px;
  color: rgba(255,245,230,0.4);
}

/* ── E-Mail-Schutz ─────────────────────────────────────── */

.protected-email {
  display: inline-flex; align-items: center; gap: 4px;
  cursor: pointer; color: var(--ps-primary); text-decoration: underline;
  text-underline-offset: 2px; transition: color 0.2s;
}
.protected-email:hover, .protected-email:focus-visible { color: var(--ps-gold); }
.protected-email-icon { width: 1em; height: 1em; flex-shrink: 0; }

.email-modal-overlay {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(13,6,4,0.85); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center; padding: 1.5rem;
}
.email-modal-overlay[hidden] { display: none; }
.email-modal-box {
  position: relative; background: var(--ps-bg2); border: 1px solid var(--ps-brown);
  border-radius: 8px; box-shadow: 0 24px 64px rgba(0,0,0,0.5);
  padding: 2rem 2rem 1.5rem; max-width: 420px; width: 100%; text-align: center;
  animation: modal-in 0.2s ease;
}
@keyframes modal-in {
  from { opacity: 0; transform: scale(0.94) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
.email-modal-close {
  position: absolute; top: 8px; right: 8px; width: 2rem; height: 2rem;
  border: none; background: transparent; cursor: pointer; color: var(--ps-cream);
  display: flex; align-items: center; justify-content: center; border-radius: 4px;
  transition: color 0.2s; opacity: 0.5;
}
.email-modal-close:hover { opacity: 1; }
.email-modal-close svg { width: 1.1rem; height: 1.1rem; }
.email-modal-title {
  font-size: 16px; font-weight: 700; color: var(--ps-gold);
  margin: 0 0 8px; font-family: 'Courier New', monospace;
}
.email-modal-desc {
  font-size: 12px; color: var(--ps-cream); opacity: 0.7; margin: 0 0 16px; line-height: 1.5;
}
.email-modal-code-display {
  font-size: 2rem; font-weight: 800; letter-spacing: 0.3em; color: var(--ps-gold);
  background: rgba(255,200,87,0.1); border: 2px solid var(--ps-brown); border-radius: 6px;
  padding: 8px 20px; margin: 0 auto 16px; display: inline-block; min-width: 7rem;
  user-select: none; font-family: 'Courier New', monospace;
}
.email-modal-input-row {
  display: flex; flex-direction: column; gap: 10px; max-width: 240px; margin: 0 auto;
}
.email-modal-input {
  width: 100%; box-sizing: border-box; text-align: center; font-size: 1.2rem;
  font-weight: 700; letter-spacing: 0.2em; border: 2px solid var(--ps-brown);
  border-radius: 6px; padding: 8px; background: var(--ps-bg); color: var(--ps-cream);
  outline: none; transition: border-color 0.2s; font-family: 'Courier New', monospace;
}
.email-modal-input:focus { border-color: var(--ps-gold); }
.email-modal-btn {
  width: 100%; padding: 10px; font-family: 'Courier New', monospace; font-size: 13px;
  font-weight: bold; color: var(--ps-cream); cursor: pointer;
  background: linear-gradient(180deg, var(--ps-primary) 0%, #cc4a18 100%);
  border: 2px solid var(--ps-gold); border-radius: 6px; transition: transform 0.1s;
}
.email-modal-btn:hover { transform: scale(1.03); }
.email-modal-error { margin-top: 10px; font-size: 12px; color: var(--ps-red); font-weight: 500; }
.email-modal-result {
  margin-top: 16px; padding: 12px; background: rgba(255,107,53,0.1);
  border: 1px solid rgba(255,107,53,0.3); border-radius: 6px;
}
.email-modal-success-label {
  display: block; font-size: 10px; color: var(--ps-cream); opacity: 0.5;
  text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px;
}
.email-modal-address { font-size: 14px; font-weight: 600; color: var(--ps-primary); word-break: break-all; text-decoration: none; }
.email-modal-address:hover { color: var(--ps-gold); }
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
.email-modal-input.shake { animation: shake 0.35s ease; }
