/* Elementor forms: use .sapura-form for new forms; .sw-form remains supported. */
.elementor-widget-form.sw-form,
.elementor-widget-form.sapura-form {
  --sapura-form-surface: #ffffff;
  --sapura-form-border: #d7d3cc;
  --sapura-form-text: #4b4a49;
  --sapura-form-accent: #ebcd8d;
}

.elementor-widget-form.sw-form .elementor-field-group,
.elementor-widget-form.sapura-form .elementor-field-group {
  position: relative;
}

.elementor-widget-form.sw-form .elementor-field-group:not(.elementor-field-type-acceptance):not(.elementor-field-type-checkbox):not(.elementor-field-type-radio) .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-group:not(.elementor-field-type-acceptance):not(.elementor-field-type-checkbox):not(.elementor-field-type-radio) .elementor-field-label {
  position: absolute;
  top: 50%;
  left: 1rem;
  z-index: 1;
  margin: 0;
  padding: 0 0.25rem;
  color: #74716e;
  background: var(--sapura-form-surface);
  font-size: 0.875rem;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
  transform-origin: left center;
  transition: color 160ms ease, transform 160ms ease, top 160ms ease;
}

.elementor-widget-form.sw-form .elementor-field-group:focus-within .elementor-field-label,
.elementor-widget-form.sw-form .elementor-field-group.sapura-field-has-value .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-group:focus-within .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-group.sapura-field-has-value .elementor-field-label {
  top: -0.35rem !important;
  color: var(--sapura-form-text) !important;
  transform: translateY(0) scale(0.84) !important;
}

.elementor-widget-form.sw-form .elementor-field,
.elementor-widget-form.sw-form .elementor-field-textual,
.elementor-widget-form.sapura-form .elementor-field,
.elementor-widget-form.sapura-form .elementor-field-textual {
  box-sizing: border-box;
  min-height: 3.1rem;
  padding: 1rem 1.25rem;
  color: var(--sapura-form-text);
  background: var(--sapura-form-surface);
  border: 1px solid var(--sapura-form-border);
  border-radius: 10px;
  box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.35;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.elementor-widget-form.sw-form textarea.elementor-field,
.elementor-widget-form.sapura-form textarea.elementor-field {
  min-height: 8rem;
  padding-top: 1.35rem;
  resize: vertical;
}

.elementor-widget-form.sw-form .elementor-field-type-textarea .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-textarea .elementor-field-label {
  top: 1.35rem !important;
  transform: translateY(0) !important;
}

.elementor-widget-form.sw-form .elementor-field::placeholder,
.elementor-widget-form.sapura-form .elementor-field::placeholder {
  color: transparent !important;
  opacity: 1;
}

.elementor-widget-form.sw-form .elementor-field-type-textarea:focus-within .elementor-field-label,
.elementor-widget-form.sw-form .elementor-field-type-textarea.sapura-field-has-value .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-textarea:focus-within .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-textarea.sapura-field-has-value .elementor-field-label {
  top: -0.35rem !important;
  transform: translateY(0) scale(0.84) !important;
}

.elementor-widget-form.sw-form .elementor-field:focus,
.elementor-widget-form.sw-form .elementor-field-textual:focus,
.elementor-widget-form.sapura-form .elementor-field:focus,
.elementor-widget-form.sapura-form .elementor-field-textual:focus {
  border-color: var(--sapura-form-text);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(75, 74, 73, 0.1);
}

.elementor-widget-form.sw-form .elementor-button[type="submit"],
.elementor-widget-form.sapura-form .elementor-button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: 0.75rem 1.75rem;
  color: #ffffff;
  background: var(--sapura-form-text);
  border: 1px solid var(--sapura-form-text);
  border-radius: 999px;
  box-shadow: none;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.elementor-widget-form.sw-form .elementor-button[type="submit"]:hover,
.elementor-widget-form.sw-form .elementor-button[type="submit"]:focus-visible,
.elementor-widget-form.sapura-form .elementor-button[type="submit"]:hover,
.elementor-widget-form.sapura-form .elementor-button[type="submit"]:focus-visible {
  color: var(--sapura-form-text);
  background: var(--sapura-form-accent);
  border-color: var(--sapura-form-accent);
}

.elementor-widget-form.sw-form .elementor-button[type="submit"]:focus-visible,
.elementor-widget-form.sapura-form .elementor-button[type="submit"]:focus-visible {
  outline: 3px solid rgba(235, 205, 141, 0.45);
  outline-offset: 2px;
}

.elementor-widget-form.sw-form .elementor-field-type-acceptance .elementor-field-label,
.elementor-widget-form.sw-form .elementor-field-type-checkbox .elementor-field-label,
.elementor-widget-form.sw-form .elementor-field-type-radio .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-acceptance .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-checkbox .elementor-field-label,
.elementor-widget-form.sapura-form .elementor-field-type-radio .elementor-field-label {
  position: static;
  padding: 0;
  pointer-events: auto;
  transform: none;
}

.elementor-widget-form.sw-form .elementor-field-subgroup,
.elementor-widget-form.sapura-form .elementor-field-subgroup {
  width: 100%;
  margin-top: 0;
  padding-left: 0;
}

.elementor-widget-form.sw-form .elementor-field-option,
.elementor-widget-form.sapura-form .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}

.elementor-widget-form.sw-form .elementor-field-option input[type="checkbox"],
.elementor-widget-form.sw-form .elementor-field-option input[type="radio"],
.elementor-widget-form.sapura-form .elementor-field-option input[type="checkbox"],
.elementor-widget-form.sapura-form .elementor-field-option input[type="radio"] {
  position: absolute;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  opacity: 0;
}

.elementor-widget-form.sw-form .sapura-form-choice,
.elementor-widget-form.sapura-form .sapura-form-choice {
  position: relative;
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.16rem;
  background: var(--sapura-form-surface);
  border: 1.5px solid var(--sapura-form-text);
  border-radius: 50%;
  cursor: pointer;
}

.elementor-widget-form.sw-form .sapura-form-choice::after,
.elementor-widget-form.sapura-form .sapura-form-choice::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--sapura-form-text);
  border-radius: 50%;
  content: "";
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition: opacity 160ms ease, transform 160ms ease;
}

.elementor-widget-form.sw-form .elementor-field-option.sapura-choice-checked .sapura-form-choice::after,
.elementor-widget-form.sapura-form .elementor-field-option.sapura-choice-checked .sapura-form-choice::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.elementor-widget-form.sw-form .elementor-field-option.sapura-choice-focused .sapura-form-choice,
.elementor-widget-form.sapura-form .elementor-field-option.sapura-choice-focused .sapura-form-choice {
  box-shadow: 0 0 0 3px rgba(235, 205, 141, 0.45);
}

.elementor-widget-form.sw-form .elementor-field-option label,
.elementor-widget-form.sapura-form .elementor-field-option label {
  flex: 1 1 auto;
  margin: 0;
  font-family: inherit !important;
  font-size: 0.875rem !important;
  line-height: 1.45 !important;
}

.elementor-widget-form.sw-form .elementor-field-type-acceptance,
.elementor-widget-form.sw-form .elementor-field-type-checkbox,
.elementor-widget-form.sw-form .elementor-field-type-radio,
.elementor-widget-form.sapura-form .elementor-field-type-acceptance,
.elementor-widget-form.sapura-form .elementor-field-type-checkbox,
.elementor-widget-form.sapura-form .elementor-field-type-radio {
  font-family: inherit !important;
  font-size: 0.875rem !important;
  line-height: 1.45 !important;
}

.elementor-widget-form.sw-form .elementor-message,
.elementor-widget-form.sapura-form .elementor-message {
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.elementor-widget-form.sw-form .elementor-message-success,
.elementor-widget-form.sapura-form .elementor-message-success {
  color: #1f6d45;
  background: #edf7f0;
}

.elementor-widget-form.sw-form .elementor-message-danger,
.elementor-widget-form.sapura-form .elementor-message-danger {
  color: #9d2525;
  background: #fdf0f0;
}

/* Vertrag widerrufen: Germanized supplies this withdrawal form outside of
   Elementor. Keep its fields visually consistent with the contact form. */
/* The legal footer already contains the withdrawal link. Hide Germanized's
   duplicate standalone button wherever it is injected. */
.eu-owb-order-withdraw-from-contract-button {
  display: none !important;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request {
  max-width: 700px;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .eu-owb-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 21px;
  row-gap: 24px;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row,
body.page-id-823 .woocommerce-form-order-withdrawal-request .eu-owb-notice-wrapper {
  position: relative;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}

/* Germanized adds these empty helpers between the fields. They must not
   create their own grid rows or reduce the two name fields to 48 %. */
body.page-id-823 .woocommerce-form-order-withdrawal-request .eu-owb-order-item-select-wrapper,
body.page-id-823 .woocommerce-form-order-withdrawal-request .clear {
  display: none;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-first,
body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-last {
  float: none !important;
  width: 100% !important;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-full,
body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-submit,
body.page-id-823 .woocommerce-form-order-withdrawal-request .eu-owb-notice-wrapper {
  grid-column: 1 / -1;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-submit {
  margin-top: 24px !important;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row label {
  position: absolute;
  top: -0.35rem;
  left: 1rem;
  z-index: 1;
  margin: 0;
  padding: 0 0.25rem;
  color: #4b4a49;
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  transform: scale(0.84);
  transform-origin: left center;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row input.input-text,
body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row select {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 55.6px;
  margin: 0;
  padding: 16px 20px;
  color: #4b4a49;
  background: #fff;
  border: 1px solid #d7d3cc;
  border-radius: 10px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row input.input-text:focus,
body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row select:focus {
  border-color: #4b4a49;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(75, 74, 73, 0.1);
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 49.6px;
  margin: 0;
  padding: 12px 28px;
  color: #fff !important;
  background: #4b4a49 !important;
  border: 1px solid #4b4a49 !important;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease;
}

body.page-id-823 .woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit:hover,
body.page-id-823 .woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit:focus-visible {
  color: #4b4a49 !important;
  background: #ebcd8d !important;
  border-color: #ebcd8d !important;
}

@media (max-width: 767px) {
  .elementor-widget-form.sw-form .elementor-button[type="submit"],
  .elementor-widget-form.sapura-form .elementor-button[type="submit"] {
    width: 100%;
  }

  body.page-id-823 .woocommerce-form-order-withdrawal-request .eu-owb-form-fields {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
  }

  body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row,
  body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-full,
  body.page-id-823 .woocommerce-form-order-withdrawal-request .form-row-submit {
    grid-column: 1;
  }

  body.page-id-823 .woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit {
    width: 100%;
  }
}
