/* Elementor Form — Custom Checkbox (acceptance field)
 * Elementor generates per-page CSS with high specificity selectors like:
 * .elementor-1305 .elementor-element.elementor-element-88bbc92 .elementor-field-group .elementor-field:not(.elementor-select-wrapper)
 * (7 class-level selectors, loaded late). We chain 8 classes to guarantee the win. */

/* Flex layout: checkbox + label side by side */
.elementor-widget-form
  .elementor-field-type-acceptance
  .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

/* Custom checkbox box — 8 class-level specificity */
.elementor-widget.elementor-widget-form
  .elementor-field-group.elementor-field-type-acceptance.elementor-column
  .elementor-field.elementor-acceptance-field {
  appearance: none;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 1px solid var(--e-global-color-primary);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  margin: 2px 0 0;
  transition: background-color 0.15s ease;
}

/* Focus visible — WCAG 2.4.7 */
.elementor-widget.elementor-widget-form
  .elementor-field-group.elementor-field-type-acceptance.elementor-column
  .elementor-field.elementor-acceptance-field:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 2px;
}

/* Checked state — filled background */
.elementor-widget.elementor-widget-form
  .elementor-field-group.elementor-field-type-acceptance.elementor-column
  .elementor-field.elementor-acceptance-field:checked {
  background-color: var(--e-global-color-primary);
}

/* Checkmark (white "L" rotated 45deg) */
.elementor-widget.elementor-widget-form
  .elementor-field-group.elementor-field-type-acceptance.elementor-column
  .elementor-field.elementor-acceptance-field:checked::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Submit button fixed width */
.elementor-widget.elementor-widget-form
  .elementor-field-type-submit
  .elementor-button {
  width: 241px;
}

.elementor-widget.elementor-widget-form .elementor-field-type-submit {
  width: 100% !important;
}

/* Label text */
.elementor-widget-form
  .elementor-field-type-acceptance
  .elementor-field-option
  label {
  max-width: 790px;
  cursor: pointer;
}
