/* Help & Support modal — shared across every page, wired by js/hrzn-support.js */

.hz-support-modal {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(1, 26, 59, .55);
}

.hz-support-modal[hidden] { display: none; }

.hz-support-modal > section {
  width: min(560px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--hz-line, #DCE4F5);
  border-radius: var(--hz-r-card, 16px);
  box-shadow: var(--hz-sh-deep, 0 26px 64px -22px rgba(10, 30, 70, .34));
}

.hz-support-modal > section > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--hz-line-soft, #E8EEFA);
}

.hz-support-modal header .hz-support-heading strong {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: var(--hz-ink, #0A1E46);
}

.hz-support-modal header .hz-support-heading span {
  display: block;
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--hz-ink-3, #3A4A66);
}

.hz-support-modal header button {
  flex: none;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--hz-ink-3, #3A4A66);
  background: #F3F6FA;
  border: 1px solid var(--hz-line, #DCE4F5);
  border-radius: var(--hz-r-input, 10px);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.hz-support-modal header button:hover { background: #E8EEFA; }

.hz-support-form { padding: 17px 19px; display: grid; gap: 13px; }

.hz-support-field { display: grid; gap: 6px; }

.hz-support-field label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--hz-ink-2, #24365C);
}

.hz-support-field input,
.hz-support-field select,
.hz-support-field textarea {
  width: 100%;
  padding: 10px 12px;
  font: inherit;
  font-size: 13.5px;
  color: var(--hz-ink, #0A1E46);
  background: #F9FAFD;
  border: 1px solid var(--hz-line, #DCE4F5);
  border-radius: var(--hz-r-input, 10px);
  outline: none;
}

.hz-support-field textarea { resize: vertical; min-height: 96px; }

.hz-support-field input:focus,
.hz-support-field select:focus,
.hz-support-field textarea:focus {
  border-color: var(--hz-blue, #2450E4);
  box-shadow: 0 0 0 3px rgba(36, 80, 228, .14);
}

.hz-support-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }

@media (max-width: 520px) {
  .hz-support-row { grid-template-columns: 1fr; }
}

.hz-support-modal footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 19px;
  background: #F7F9FC;
  border-top: 1px solid var(--hz-line, #DCE4F5);
}

.hz-support-modal footer .hz-support-note {
  margin-right: auto;
  font-size: 12px;
  color: var(--hz-ink-3, #3A4A66);
}

.hz-support-modal footer button {
  padding: 9px 16px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  border-radius: var(--hz-r-input, 10px);
  cursor: pointer;
}

.hz-support-modal footer button.is-secondary {
  color: var(--hz-ink-2, #24365C);
  background: #fff;
  border: 1px solid #C6D3E5;
}

.hz-support-modal footer button.is-primary {
  color: #fff;
  background: var(--hz-blue, #2450E4);
  border: 1px solid var(--hz-blue, #2450E4);
}

.hz-support-modal footer button.is-primary:hover { background: #1c40c2; }

.hz-support-modal footer button[disabled] {
  opacity: .6;
  cursor: default;
}

/* Confirmation state, shown after a successful submit */
.hz-support-done {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 34px 19px 30px;
  text-align: center;
}

.hz-support-done svg {
  width: 44px;
  height: 44px;
  color: var(--hz-ok, #127A45);
}

.hz-support-done strong { font-size: 16px; color: var(--hz-ink, #0A1E46); }
.hz-support-done span { font-size: 13px; color: var(--hz-ink-3, #3A4A66); max-width: 360px; }
