.at-form-shell {
  font-family: var(--at-font-family, inherit);
  font-size: var(--at-font-size, 16px);
  background: var(--at-background-color, #fff);
  color: inherit;
  border: var(--at-form-border-width, 1px) solid var(--at-border-color, #d6dbe6);
  border-radius: var(--at-border-radius, 10px);
  padding: calc(var(--at-gap, 16px) * 1.5);
  max-width: var(--at-form-max-width, 760px);
  margin: 0 auto;
  box-sizing: border-box;
}
.at-form-shell * { box-sizing: border-box; }
.at-step { display: none; }
.at-step.is-active { display: block; }
.at-step h3 { margin-top: 0; }
.at-section-description { opacity: .8; margin-bottom: var(--at-gap, 16px); }
.at-field { margin-bottom: var(--at-gap, 16px); }
.at-field label, .at-field legend { display: block; font-weight: 600; margin-bottom: 6px; }
.at-field input[type="text"],
.at-field input[type="email"],
.at-field input[type="tel"],
.at-field input[type="url"],
.at-field input[type="number"],
.at-field input[type="date"],
.at-field textarea,
.at-field select {
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--at-border-color, #d6dbe6);
  border-radius: var(--at-border-radius, 10px);
  padding: var(--at-field-padding, 12px);
  font: inherit;
  background: #fff;
}
.at-field textarea { min-height: 130px; resize: vertical; }
.at-options, .at-icon-options { display: flex; flex-wrap: wrap; gap: 14px 22px; }
.at-field-radio fieldset,
.at-field-checkboxes fieldset,
.at-icon-captcha-fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
.at-field-radio legend,
.at-field-checkboxes legend,
.at-icon-captcha-fieldset legend { display: block; float: none; width: 100%; padding: 0; margin: 0 0 8px; }
.at-option, .at-check-label { display: inline-flex !important; align-items: flex-start; gap: 10px; font-weight: 400 !important; cursor: pointer; margin: 0; }
.at-option input, .at-check-label input { flex: 0 0 auto; margin-top: .25em; }
.at-options .at-option input[type="radio"],
.at-options .at-option input[type="checkbox"] { margin-right: 0; }
.at-check-label span { line-height: inherit; }
.at-icon-option {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 58px;
  border: 1px solid var(--at-border-color, #d6dbe6);
  border-radius: var(--at-border-radius, 10px);
  cursor: pointer;
  background: #fff;
}
.at-icon-option input { position: absolute; opacity: 0; }
.at-icon-option:has(input:checked), .at-icon-option.is-selected { border-color: var(--at-primary-color, #0f5fff); box-shadow: 0 0 0 2px color-mix(in srgb, var(--at-primary-color, #0f5fff) 20%, transparent); }
.at-icon-symbol { font-size: 28px; line-height: 1; }
.at-icon-captcha.is-checking { opacity: .75; pointer-events: none; }
.at-required-mark { color: var(--at-error-color, #b42318); }
.at-field-error { color: var(--at-error-color, #b42318); font-size: .9em; min-height: 1.2em; margin-top: 4px; }
.at-alert { padding: 12px 14px; border-radius: var(--at-border-radius, 10px); margin-bottom: var(--at-gap, 16px); }
.at-alert-success { border: 1px solid var(--at-success-color, #027a48); color: var(--at-success-color, #027a48); }
.at-alert-error { border: 1px solid var(--at-error-color, #b42318); color: var(--at-error-color, #b42318); }
.at-actions { display: flex; gap: 10px; justify-content: space-between; margin-top: calc(var(--at-gap, 16px) * 1.25); }
.at-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--at-button-border-width, 1px) solid var(--at-primary-color, #0f5fff);
  background: var(--at-primary-color, #0f5fff);
  color: var(--at-button-text-color, #fff);
  border-radius: var(--at-border-radius, 10px);
  padding: 12px 18px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.at-button-secondary { background: transparent; color: var(--at-primary-color, #0f5fff); }
.at-button[hidden] { display: none; }
.at-progress { margin-bottom: var(--at-gap, 16px); }
.at-progress-bar { height: 8px; background: color-mix(in srgb, var(--at-border-color, #d6dbe6) 70%, transparent); border-radius: 999px; overflow: hidden; }
.at-progress-bar span { display: block; height: 100%; width: 0; background: var(--at-progress-color, var(--at-primary-color, #0f5fff)); transition: width .2s ease; }
.at-progress-text { font-size: .9em; opacity: .75; margin-top: 6px; text-align: right; }
.at-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.at-hidden { display: none !important; }
.at-field.has-error input,
.at-field.has-error textarea,
.at-field.has-error select { border-color: var(--at-error-color, #b42318); }
@media (max-width: 640px) {
  .at-form-shell { padding: var(--at-gap, 16px); }
  .at-actions { flex-direction: column; }
  .at-button { width: 100%; }
}
.at-local-icon-svg {
  display: block;
  width: 30px;
  height: 30px;
}
.at-icon-option:hover,
.at-icon-option:focus-within {
  color: var(--at-primary-color, #0f5fff);
}

.at-button:disabled,
.at-button[disabled] {
  opacity: .45;
  cursor: not-allowed;
}
