/*
 * Heavenkey – Form Styles (v1.0.3)
 * These styles apply only to the [heavenkey_form] shortcode markup.
 * No external fonts are loaded; system‑UI fallbacks only.
 * License: GPL‑2.0‑or‑later
 */

@keyframes heavenkey-fadein {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.heavenkey-form {
  max-width: 410px;
  margin: 2.5em auto 0 auto;
  background: #fff;
  border: none;
  border-radius: 26px;
  box-shadow: 0 6px 26px #b4cfff24, 0 2px 8px #c7d9fa1a;
  padding: 1.4em 1.1em 1.1em 1.1em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  position: relative;
  animation: heavenkey-fadein 0.8s both;
}

.heavenkey-form .badge {
  background: linear-gradient(87deg, #6d5afd 16%, #41d1ff 88%);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.28em 1.1em;
  border-radius: 1.3em;
  display: inline-block;
  letter-spacing: 0.03em;
  margin-bottom: 1.3em;
}

.heavenkey-form .form-group {
  margin-bottom: 1.25em;
}

.heavenkey-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.2em;
  font-size: 1.02em;
  color: #252b41;
  letter-spacing: 0.01em;
}

.heavenkey-form .form-control {
  width: 100%;
  padding: 0.48em 0.94em;
  font-size: 1em;
  border-radius: 0.7em;
  border: 1.5px solid #e2e5f3;
  background: #f7faff;
  margin-top: 0.05em;
  margin-bottom: 0.2em;
  outline: none;
  transition: border 0.2s;
  font-family: inherit;
}

.heavenkey-form .form-control:focus {
  border-color: #8e9bf9;
  background: #fff;
}

.heavenkey-form textarea.form-control {
  min-height: 100px;
  resize: vertical;
}

.btn-primary {
  width: 100%;
  background: linear-gradient(92deg, #5a7efd 11%, #49dbff 92%);
  color: #fff;
  border: none;
  padding: 0.65em 0.7em;
  font-size: 1.08em;
  font-weight: 600;
  border-radius: 1.2em;
  cursor: pointer;
  box-shadow: 0 1px 8px #a3c8f425;
  transition: background 0.22s;
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(92deg, #4c6ff5 8%, #22bdf6 91%);
  color: #fff;
}

#heavenkey-output {
  font-size: 0.98em;
  color: #194976;
  background: #f5f7ff;
  border-radius: 1em;
  margin-top: 1.5em;
  padding: 1.1em 1em;
  word-break: break-all;
}

@media (max-width: 480px) {
  .heavenkey-form {
    max-width: 98vw;
    padding: 1em;
  }
}
