/* Public survey take / thanks — matches revamp cream chrome (not legacy purple card) */
.survey-hero { margin-bottom: 0; }
.survey-section { padding-top: 28px; padding-bottom: 72px; background: #fff; }
.survey-wrap { max-width: 720px; }

.survey-form.contact__form { max-width: none; }
.survey-form .form-group,
.survey-form .survey-q { margin: 0 0 1.35rem; }
.survey-label {
  display: block; margin-bottom: .5rem;
  font-weight: 700; color: var(--ink, #16133f); font-size: 1.02rem;
}
.survey-req { color: var(--magenta, #C41E85); }

.survey-choices { display: grid; gap: .45rem; }
.survey-choices--inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) {
  .survey-choices--inline { grid-template-columns: 1fr; }
}

.survey-choice {
  display: flex; align-items: center; gap: .7rem;
  border: 1px solid var(--line, #e3e0d8); border-radius: var(--r, 6px);
  padding: .7rem .85rem; cursor: pointer; background: #fff;
}
.survey-choice:has(input:checked) {
  border-color: var(--magenta, #C41E85);
  background: #fdf4fa;
}
.survey-choice input { accent-color: var(--magenta, #C41E85); width: 1.05rem; height: 1.05rem; }

.survey-scale { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .4rem; }
.survey-scale__opt { display: flex; flex-direction: column; align-items: center; gap: .25rem; cursor: pointer; }
.survey-scale__opt span {
  display: flex; align-items: center; justify-content: center;
  width: 2.35rem; height: 2.35rem;
  border: 1px solid var(--line, #e3e0d8); border-radius: var(--r, 6px);
  font-weight: 700; color: var(--ink, #16133f); background: #fff;
}
.survey-scale__opt input { position: absolute; opacity: 0; pointer-events: none; }
.survey-scale__opt:has(input:checked) span {
  background: var(--ink, #16133f); color: #fff; border-color: var(--ink, #16133f);
}
.survey-scale__opt em {
  font-style: normal; font-size: .62rem; color: var(--muted, #5d5b6a);
  text-align: center; max-width: 4.4rem;
}
.survey-scale__hint { font-size: .72rem; color: var(--muted, #5d5b6a); align-self: center; }

.survey-stars { display: flex; flex-wrap: wrap; gap: .4rem; }
.survey-stars__opt { cursor: pointer; }
.survey-stars__opt input { position: absolute; opacity: 0; }
.survey-stars__opt span { color: var(--line-2, #d2cec4); font-size: 1.4rem; letter-spacing: .08em; }
.survey-stars__opt:has(input:checked) span,
.survey-stars__opt:hover span { color: var(--magenta, #C41E85); }

.survey-form input[type=text],
.survey-form input[type=number],
.survey-form input[type=email],
.survey-form input:not([type]),
.survey-form textarea,
.survey-form select {
  width: 100%; min-height: 46px;
  border: 1px solid var(--line, #e3e0d8); border-radius: var(--r, 6px);
  padding: .65rem .85rem; font: inherit; background: #fff; color: var(--text, #1c1a2b);
}
.survey-form textarea { min-height: 7.5rem; resize: vertical; }
.survey-form input:focus,
.survey-form textarea:focus,
.survey-form select:focus {
  outline: 2px solid color-mix(in srgb, var(--magenta, #C41E85) 35%, transparent);
  border-color: var(--magenta, #C41E85);
}

.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.file-drop__ui {
  display: flex; align-items: center; gap: .7rem;
  border: 1px dashed var(--line, #e3e0d8); border-radius: var(--r, 6px); padding: .5rem;
  background: var(--paper, #f5f3ee);
}
.file-drop__btn {
  background: var(--ink, #16133f); color: #fff; border-radius: var(--r, 6px);
  padding: .4rem .75rem; font-size: .82rem; font-weight: 700;
}
.file-drop__input { position: absolute; opacity: 0; width: 1px; height: 1px; }

.survey-form .btn { margin-top: .5rem; }
