.consultation-form {
  position: relative;
}

.profile-prompt {
  margin-top: 24px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--copper);
  background: rgba(255, 253, 247, .82);
  padding: 28px 30px;
}

.profile-prompt[hidden] { display: none; }
.profile-prompt-copy span { font: 500 10px 'JetBrains Mono', monospace; letter-spacing: .08em; color: var(--copper); }
.profile-prompt-copy h3 { margin: 5px 0 6px; font: 600 19px 'Shippori Mincho', serif; color: var(--deep); }
.profile-prompt-copy p { margin: 0 0 20px; font-size: 12px; color: var(--soft); }
.profile-prompt-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.profile-prompt-copy p { margin-bottom: 0; }
.profile-prompt-buttons { display: flex; align-items: center; flex: 0 0 auto; gap: 8px; }
.profile-prompt-buttons .button { border: 0; cursor: pointer; white-space: nowrap; }
.profile-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.profile-form[hidden] { display: none; }
.profile-form-actions { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.profile-form-actions .button { border: 0; cursor: pointer; }
#profile-status { font-size: 12px; color: var(--soft); }

@media (max-width: 650px) {
  .profile-prompt { padding: 24px 20px; }
  .profile-prompt-summary { align-items: flex-start; flex-direction: column; }
  .profile-prompt-buttons { align-items: flex-start; flex-direction: column; }
  .profile-form { grid-template-columns: 1fr; }
}

.consultation-form.is-locked .form-field:not(.consultation-lock-notice),
.consultation-form.is-locked .form-notice,
.consultation-form.is-locked .form-actions {
  opacity: .42;
}

.consultation-form.is-locked input,
.consultation-form.is-locked select,
.consultation-form.is-locked textarea,
.consultation-form.is-locked button {
  cursor: not-allowed;
}

.consultation-lock-notice {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  border-left: 3px solid var(--copper);
  background: var(--paper);
  padding: 14px 16px;
  color: var(--soft);
}

.consultation-lock-notice[hidden] {
  display: none;
}

.consultation-lock-notice strong {
  flex: 0 0 auto;
  color: var(--deep);
  font-size: 13px;
}

.consultation-lock-notice span {
  font-size: 12px;
}

@media (max-width: 650px) {
  .consultation-lock-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}
