.sp-question-dialog {
  width: min(600px, calc(100% - 32px));
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 34px;
  overflow-y: auto;
  border: 1px solid #e7e7e4;
  border-radius: 24px;
  background: #fff;
  color: #151515;
  box-shadow: 0 24px 80px rgb(0 0 0 / 18%);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.sp-question-dialog::backdrop { background: rgb(15 20 28 / 48%); backdrop-filter: blur(3px); }
.sp-question-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #e7e7e4; border-radius: 50%; background: #fff; color: #151515; font: 26px/1 system-ui; cursor: pointer; }
.sp-question-dialog .sp-question-kicker { margin: 0 38px 12px 0; color: #727272; font-size: .74rem; font-weight: 700; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.sp-question-dialog h2 { margin: 0 36px 12px 0; font-size: clamp(1.6rem, 4vw, 2rem); line-height: 1.15; font-weight: 700; letter-spacing: -.04em; }
.sp-question-dialog .sp-question-intro { margin: 0 0 26px; color: #636363; font-size: .94rem; line-height: 1.5; }
.sp-question-form { display: grid; gap: 20px; margin: 0; }
.sp-question-form label { display: grid; gap: 8px; color: #252525; font-size: .88rem; font-weight: 600; line-height: 1.4; }
.sp-question-form input:not([type=hidden]):not([type=checkbox]), .sp-question-form textarea { width: 100%; min-width: 0; margin: 0; padding: 12px 14px; border: 1px solid #deded9; border-radius: 12px; background: #fafaf8; color: #151515; font: 400 1rem/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; box-sizing: border-box; }
.sp-question-form .sp-question-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; font-size: .8rem; font-weight: 400; line-height: 1.6; color: #636363; }
.sp-question-consent input[type=checkbox] { appearance: auto; width: 18px; height: 18px; margin: 3px 0 0; padding: 0; accent-color: #151515; cursor: pointer; }
.sp-question-consent a { color: #252525; text-decoration: underline; text-underline-offset: 3px; }
.sp-question-form .sp-question-privacy-note { margin: -10px 0 0 32px; color: #727272; font-size: .76rem; line-height: 1.5; }
.sp-question-privacy-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sp-question-form .sp-question-unavailable { margin: 0; color: #ab293b; font-size: .86rem; line-height: 1.5; }
.sp-question-form textarea { min-height: 145px; resize: vertical; }
.sp-question-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-question-form .sp-question-status { min-height: 1.5em; margin: 0; color: #636363; font-size: .86rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.sp-question-form .sp-question-status.is-error { color: #ab293b; }
.sp-question-form .sp-question-status.is-success { color: #236f44; }
.sp-question-form button.sp-question-submit, .sp-question-open { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 999px; background: #151515; color: #fff; font: 650 .96rem/1.4 Inter, system-ui, sans-serif; cursor: pointer; }
.sp-question-form button.sp-question-submit:hover, .sp-question-open:hover { background: #343434; }
.sp-question-form button.sp-question-submit:disabled { opacity: .6; cursor: wait; }
.sp-question-dialog :focus-visible, .sp-question-open:focus-visible { outline: 3px solid #5979ed; outline-offset: 3px; }
.sp-question-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 680px) {
  .sp-question-dialog { padding: 26px 22px; border-radius: 20px; max-height: calc(100dvh - 24px); }
  .sp-question-contacts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sp-question-close { top: 12px; right: 12px; }
}
