/* Storto — popup mail (2026-10-21) */
.spop-veil {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(10, 10, 10, .45);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  opacity: 0; transition: opacity .3s ease;
  font-family: 'Archivo', system-ui, sans-serif;
}
.spop-veil[hidden] { display: none; }
.spop-veil.on { opacity: 1; }
.spop-card {
  position: relative;
  width: 100%; max-width: 430px;
  background: #fafaf8; color: #0a0a0a;
  border-radius: 18px;
  padding: 38px 34px 28px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
  transform: translateY(14px) scale(.98);
  transition: transform .3s ease;
}
.spop-veil.on .spop-card { transform: none; }
.spop-x {
  position: absolute; top: 10px; right: 14px;
  background: none; border: 0; cursor: pointer;
  font-size: 28px; line-height: 1; color: #0a0a0a; padding: 6px;
}
.spop-title {
  font-family: 'StortoDisplay', cursive;
  font-size: 34px; line-height: 1.08; margin: 0 0 10px;
}
.spop-sub { font-size: 15.5px; line-height: 1.5; color: #333; margin: 0 0 18px; }
.spop-form { display: flex; gap: 10px; flex-wrap: wrap; }
.spop-form input {
  flex: 1 1 200px; padding: 13px 16px;
  border-radius: 999px; border: 1.5px solid #0a0a0a;
  background: #fff; color: #0a0a0a; font-size: 15px;
}
.spop-form button, .spop-ok {
  padding: 13px 22px; border-radius: 999px; border: 0; cursor: pointer;
  background: #FF6B2B; color: #fafaf8; font-weight: 700; font-size: 15px;
}
.spop-form button:hover, .spop-ok:hover { background: #e85a1f; }
.spop-err { color: #b3261e; font-size: 14px; margin: 10px 0 0; }
.spop-no {
  display: inline-block; margin-top: 16px;
  background: none; border: 0; cursor: pointer;
  color: #6b6b6b; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; padding: 4px 0;
}
.spop-done { text-align: left; }
.spop-code {
  display: inline-block;
  font-size: 26px; font-weight: 800; letter-spacing: .06em;
  border: 2px dashed #FF6B2B; border-radius: 12px;
  padding: 10px 18px; margin: 0 0 14px; color: #0a0a0a;
}
@media (max-width: 520px) {
  .spop-card { padding: 30px 22px 22px; }
  .spop-title { font-size: 29px; }
}
