/* Public support form — Foxy contact-page rhythm */
.foxy-support-form-band,
.foxy-section.foxy-support-form-band {
  background: var(--foxy-cream, #f7f0f2);
}

.foxy-support-form-wrap {
  max-width: 36rem;
  margin: 0 auto;
}

.foxy-support-form-module__intro {
  margin-bottom: 1.5rem;
  text-align: center;
}

.foxy-support-form-module__intro h2 {
  margin: 0 0 0.5rem;
  font-family: "Playfair Display", "Josefin Sans", serif;
  font-weight: 600;
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  letter-spacing: 0.01em;
  color: var(--foxy-text, #231f20);
  line-height: 1.25;
}

.foxy-support-form-module__intro .foxy-lede {
  margin: 0 auto;
  max-width: 32rem;
  color: var(--foxy-muted, #6b6466);
}

.foxy-support-form .foxy-form__field {
  margin: 0 0 1rem;
}

.foxy-support-form__stack > .foxy-form__field {
  margin-bottom: 1rem;
}

.foxy-support-form__categories {
  border: 0;
  margin: 0 0 1.25rem;
  padding: 0;
}

.foxy-support-form__categories legend {
  display: block;
  margin-bottom: 0.65rem;
  font-size: var(--text-sm, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--foxy-text-soft, #5c5557);
}

.foxy-support-form__category-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

@media (max-width: 560px) {
  .foxy-support-form__category-grid {
    grid-template-columns: 1fr;
  }
}

.foxy-support-form__category {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--foxy-line, rgba(232, 145, 152, 0.45));
  border-radius: var(--radius-btn, 2px);
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.foxy-support-form__category:hover {
  border-color: var(--foxy-accent, #e89198);
}

.foxy-support-form__category:has(input:checked) {
  border-color: var(--foxy-accent-deep, #d46a74);
  background: rgba(232, 145, 152, 0.1);
  box-shadow: inset 0 0 0 1px var(--foxy-accent, #e89198);
}

.foxy-support-form__category input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--foxy-accent-deep, #d46a74);
}

.foxy-support-form__category span {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--foxy-text, #231f20);
  line-height: 1.3;
  white-space: normal;
  overflow: visible;
}

.foxy-support-form__files input[type="file"] {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.85rem 1rem;
  border: 1px dashed var(--foxy-accent, #e89198);
  border-radius: var(--radius-btn, 2px);
  background: rgba(255, 255, 255, 0.7);
  font: inherit;
  color: var(--foxy-text, #231f20);
}

.foxy-support-form__hint {
  margin: 0.45rem 0 0;
  font-size: 0.85rem;
  color: var(--foxy-muted, #6b6466);
  line-height: 1.45;
}

.foxy-support-form__actions {
  margin: 1.25rem 0 0;
}

.foxy-support-form__actions .foxy-btn {
  width: 100%;
}

.foxy-support-topics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
  max-width: 40rem;
  margin: 1.75rem auto 0;
}

@media (max-width: 640px) {
  .foxy-support-topics {
    grid-template-columns: 1fr;
  }
}

.foxy-support-topics__item {
  padding: 1rem 1.05rem;
  background: rgba(247, 240, 242, 0.85);
  border-left: 3px solid var(--foxy-accent, #e89198);
}

.foxy-support-topics__item h3 {
  margin: 0 0 0.3rem;
  font-family: "Josefin Sans", sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--foxy-text, #231f20);
}

.foxy-support-topics__item p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--foxy-muted, #6b6466);
  line-height: 1.45;
}

.foxy-support-page__help {
  max-width: 38rem;
  margin: 0 auto;
  text-align: center;
}

.foxy-support-page__help p {
  margin: 0 0 0.85rem;
  line-height: 1.65;
  color: var(--foxy-text-soft, #5c5557);
}

/* Exact mode: match contact form tokens */
body.foxy-exact-mode .foxy-support-form-band {
  background: var(--foxy-cream, #f7f0f2) !important;
}

body.foxy-exact-mode .foxy-support-form-wrap,
body.foxy-exact-mode .foxy-support-form-module {
  max-width: 36em !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.foxy-exact-mode .foxy-support-form-module__intro h2 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 600 !important;
  text-align: center !important;
}

body.foxy-exact-mode.foxy-support-page .foxy-contact-help .foxy-btn--ghost-light {
  color: var(--foxy-accent-deep, #d46a74) !important;
  border-color: var(--foxy-accent, #e89198) !important;
  background: #fff !important;
}

body.foxy-exact-mode .foxy-support-form input,
body.foxy-exact-mode .foxy-support-form select,
body.foxy-exact-mode .foxy-support-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
