.support-page { max-width: 720px; }
.support-page h1 { margin-bottom: 12px; }
.support-intro { margin-bottom: 8px !important; }
.support-note { color: var(--muted); font-size: 14px; }
.form-status { margin: 30px 0; padding: 16px 18px; border: 1px solid #c9d9ce; border-radius: 6px; background: #f4f8f4; color: #224a32; font-size: 14px; }
.form-status--error { border-color: #e6c7c7; background: #fdf6f6; color: #8c3232; }
#support-form { margin-top: 32px; }
#support-fields { padding: 0; margin: 0; border: 0; min-width: 0; }
.form-field { margin-bottom: 26px; }
.form-field label { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 650; }
.required, .optional { display: inline-block; margin-left: 8px; font-size: 11px; font-weight: 600; vertical-align: 1px; }
.required { color: #a53232; }
.optional { color: var(--muted); }
.form-field input:not([type="file"]), .form-field select, .form-field textarea { display: block; width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #b9c4bb; border-radius: 5px; background: #fff; color: var(--text); font: inherit; font-size: 16px; line-height: 1.5; }
.form-field select { appearance: auto; }
.form-field textarea { min-height: 180px; resize: vertical; }
.form-field input[type="file"] { display: block; width: 100%; max-width: 100%; padding: 10px; border: 1px solid #b9c4bb; border-radius: 5px; background: #fff; font: inherit; font-size: 14px; }
.form-field :is(input, select, textarea):focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.field-help { margin: 6px 0 0 !important; color: var(--muted); font-size: 13px; line-height: 1.6; }
.field-error, .submit-error { color: #9a2c2c; font-size: 14px; }
.field-error { margin: 5px 0 0; }
.turnstile-container { min-height: 70px; margin: 10px 0 20px; }
.form-privacy { margin: 8px 0 20px !important; color: var(--muted); font-size: 13px; }
.form-privacy a { color: var(--green); }
.submit-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; max-width: 360px; min-height: 50px; padding: 10px 24px; border: 1px solid var(--green); border-radius: 5px; background: var(--green); color: #fff; font: inherit; font-size: 16px; font-weight: 650; cursor: pointer; }
.submit-button:hover:not(:disabled) { background: #104b30; }
.submit-button:disabled { opacity: .55; cursor: not-allowed; }
.submit-error { margin: 14px 0 0 !important; }
.success-message { margin-top: 32px; padding: 24px; border: 1px solid #c9d9ce; border-radius: 6px; background: #f4f8f4; }
.success-message h2 { margin: 0 0 15px; color: var(--green); font-size: 20px; }
.success-message p { margin-bottom: 9px; }
.ticket-line { margin-top: 22px !important; overflow-wrap: anywhere; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .support-page h1 { font-size: 28px; }
  .form-field { margin-bottom: 23px; }
  .submit-button { max-width: none; }
  .success-message { padding: 18px; }
}
