/* Targeted Forminator overrides for the dark SV Polling theme. */
.forminator-ui.forminator-custom-form,
.entry-content .forminator-ui,
.kontakt-extra-content .forminator-ui {
  width: 100%;
  max-width: 860px;
  margin: 26px 0 0;
  color: var(--white, #f5f5f5);
  font-family: var(--font-body, 'Inter', Arial, sans-serif);
}

.forminator-ui .forminator-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0 0 18px;
}

.forminator-ui .forminator-col {
  flex: 1 1 260px;
  min-width: 0;
}

.forminator-ui .forminator-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.forminator-ui .forminator-label {
  display: block;
  color: rgba(245, 245, 245, .86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.6px;
  line-height: 1.35;
  text-transform: uppercase;
}

.forminator-ui .forminator-required {
  color: #9ac4fa;
}

.forminator-ui input.forminator-input,
.forminator-ui textarea.forminator-textarea,
.forminator-ui select.forminator-select,
.forminator-ui .forminator-select2 + .select2 .select2-selection {
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
    #121212;
  color: var(--white, #f5f5f5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  font-family: var(--font-body, 'Inter', Arial, sans-serif);
  font-size: 15px;
  line-height: 1.45;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.forminator-ui textarea.forminator-textarea {
  min-height: 170px;
  resize: vertical;
}

.forminator-ui input.forminator-input::placeholder,
.forminator-ui textarea.forminator-textarea::placeholder {
  color: rgba(245, 245, 245, .42);
}

.forminator-ui input.forminator-input:focus,
.forminator-ui textarea.forminator-textarea:focus,
.forminator-ui select.forminator-select:focus,
.forminator-ui .forminator-select2 + .select2 .select2-selection:focus,
.forminator-ui .forminator-field--error input.forminator-input:focus,
.forminator-ui .forminator-field--error textarea.forminator-textarea:focus {
  border-color: rgba(154, 196, 250, .78);
  background:
    linear-gradient(180deg, rgba(154, 196, 250, .12), rgba(255, 255, 255, .03)),
    #121212;
  box-shadow:
    0 0 0 3px rgba(154, 196, 250, .16),
    inset 0 1px 0 rgba(255, 255, 255, .07);
}

.forminator-ui .forminator-field--error input.forminator-input,
.forminator-ui .forminator-field--error textarea.forminator-textarea,
.forminator-ui .forminator-field--error select.forminator-select {
  border-color: rgba(255, 112, 112, .72);
  box-shadow: 0 0 0 3px rgba(255, 112, 112, .12);
}

.forminator-ui .forminator-error-message,
.forminator-ui .forminator-description {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.55;
}

.forminator-ui .forminator-error-message {
  color: #ff9b9b;
}

.forminator-ui .forminator-description {
  color: rgba(245, 245, 245, .62);
}

.forminator-ui .forminator-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 2px 0 0;
}

.forminator-ui .forminator-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.forminator-ui .forminator-checkbox-box {
  position: relative;
  display: grid;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 4px;
  background: #121212;
  transition: border-color .2s, background .2s, box-shadow .2s;
}

.forminator-ui .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box,
.forminator-ui .forminator-checkbox input[type="checkbox"]:checked ~ .forminator-checkbox-box {
  border-color: #9ac4fa;
  background: #9ac4fa;
}

.forminator-ui .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box::after,
.forminator-ui .forminator-checkbox input[type="checkbox"]:checked ~ .forminator-checkbox-box::after {
  content: '';
  width: 9px;
  height: 5px;
  border-bottom: 2px solid #0a0a0a;
  border-left: 2px solid #0a0a0a;
  transform: rotate(-45deg) translate(1px, -1px);
}

.forminator-ui .forminator-checkbox input[type="checkbox"]:focus-visible + .forminator-checkbox-box,
.forminator-ui .forminator-checkbox input[type="checkbox"]:focus-visible ~ .forminator-checkbox-box {
  box-shadow: 0 0 0 3px rgba(154, 196, 250, .18);
}

.forminator-ui .forminator-checkbox-label,
.forminator-ui .forminator-consent__label {
  color: rgba(245, 245, 245, .76);
  font-size: 13px;
  line-height: 1.65;
}

.forminator-ui .forminator-checkbox-label a,
.forminator-ui .forminator-consent__label a {
  color: #9ac4fa;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.forminator-ui .forminator-button,
.forminator-ui .forminator-button-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 28px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 3px;
  background: var(--white, #f5f5f5);
  color: #0a0a0a;
  box-shadow: none;
  font-family: var(--font-body, 'Inter', Arial, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.2px;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .2s, background .2s, border-color .2s, box-shadow .2s;
}

.forminator-ui .forminator-button:hover,
.forminator-ui .forminator-button-submit:hover {
  background: #d9e9ff;
  border-color: rgba(154, 196, 250, .55);
  transform: translateY(-2px);
}

.forminator-ui .forminator-button:focus-visible,
.forminator-ui .forminator-button-submit:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 196, 250, .22);
}

.forminator-ui .forminator-response-message {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid rgba(154, 196, 250, .28);
  border-radius: 8px;
  background: rgba(154, 196, 250, .1);
  color: rgba(245, 245, 245, .9);
  font-size: 14px;
  line-height: 1.6;
}

.forminator-ui .forminator-response-message.forminator-error {
  border-color: rgba(255, 112, 112, .36);
  background: rgba(255, 112, 112, .1);
}

@media (max-width: 700px) {
  .forminator-ui.forminator-custom-form,
  .entry-content .forminator-ui,
  .kontakt-extra-content .forminator-ui {
    margin-top: 22px;
  }

  .forminator-ui .forminator-row {
    display: grid;
    gap: 16px;
  }

  .forminator-ui .forminator-col {
    flex-basis: auto;
  }

  .forminator-ui input.forminator-input,
  .forminator-ui textarea.forminator-textarea,
  .forminator-ui select.forminator-select {
    font-size: 16px;
  }

  .forminator-ui .forminator-button,
  .forminator-ui .forminator-button-submit {
    width: 100%;
  }
}
