/**
 * @license EUPL-1.2
 * Copyright (c) 2020-2024 Frameless B.V.
 * Copyright (c) 2021-2024 Gemeente Utrecht
 */
.utrecht-textbox {
  --_utrecht-textbox-value-char: 0.667em + 0.334ch;
  --_utrecht-textbox-max-inline-size: calc(
    calc(var(--utrecht-textbox-value-max-length) * var(--_utrecht-textbox-value-char)) +
      var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-control-padding-inline-end, 0)) +
      var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-control-padding-inline-start, 0)) +
      var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width, 0)) +
      var(--utrecht-textbox-autocomplete-ui-size, 44px)
  );
  background-color: var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color));
  block-size: initial;
  border-width: var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width));
  border-block-end-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width)));
  border-color: var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color));
  border-radius: var(--utrecht-textbox-border-radius, var(--utrecht-form-control-border-radius, 0));
  border-style: solid;
  box-sizing: border-box;
  color: var(--utrecht-textbox-color, var(--utrecht-form-control-color));
  font-family: var(--utrecht-textbox-font-family, var(--utrecht-form-control-font-family));
  font-size: var(--utrecht-textbox-font-size, var(--utrecht-form-control-font-size, inherit));
  font-weight: var(--utrecht-textbox-font-weight, var(--utrecht-form-control-font-weight, initial));
  inline-size: 100%;
  line-height: var(--utrecht-textbox-line-height, var(--utrecht-form-control-line-height, initial));
  min-block-size: var(--utrecht-pointer-target-min-size, 44px);
  min-inline-size: var(--utrecht-pointer-target-min-size, 44px);
  max-inline-size: min(var(--_utrecht-textbox-max-inline-size, 100%), var(--utrecht-textbox-max-inline-size, var(--utrecht-form-control-max-inline-size)));
  padding-block-end: var(--utrecht-textbox-padding-block-end, var(--utrecht-form-control-padding-block-end, 0));
  padding-block-start: var(--utrecht-textbox-padding-block-start, var(--utrecht-form-control-padding-block-start, 0));
  padding-inline-end: var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-control-padding-inline-end, initial));
  padding-inline-start: var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-control-padding-inline-start, initial));
}

.utrecht-textbox--invalid {
  --_utrecht-textbox-border-width: var(
    --utrecht-textbox-invalid-border-width,
    var(
      --utrecht-form-control-invalid-border-width,
      var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width))
    )
  );
  background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-width: var(--_utrecht-textbox-border-width);
  border-block-end-width: var(--utrecht-textbox-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textbox-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textbox-border-width)))));
  border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}

.utrecht-textbox--disabled {
  background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
  cursor: var(--utrecht-action-disabled-cursor, not-allowed);
}

.utrecht-textbox--focus {
  background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}

.utrecht-textbox--focus-visible {
  --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
    var(--utrecht-focus-inverse-outline-color, transparent);
  box-shadow: var(--_utrecht-focus-ring-box-shadow);
  outline-color: var(--utrecht-focus-outline-color, revert);
  outline-offset: var(--utrecht-focus-outline-offset, revert);
  outline-style: var(--utrecht-focus-outline-style, revert);
  outline-width: var(--utrecht-focus-outline-width, revert);
  z-index: 1;
}

.utrecht-textbox--read-only {
  background-color: var(--utrecht-textbox-read-only-background-color, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}

.utrecht-textbox__placeholder {
  color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
  font-style: var(--utrecht-form-control-placeholder-font-style);
  opacity: 100%;
}

.utrecht-textbox--numeric {
  -moz-appearance: textfield;
  font-variant-numeric: lining-nums tabular-nums;
}

.utrecht-textbox--password {
  font-variant-ligatures: none;
  font-variant-numeric: slashed-zero;
}

.utrecht-textbox--postal-code-nl-size {
  --utrecht-textbox-value-max-length: 7;
}

.utrecht-textbox--house-number-size {
  --utrecht-textbox-value-max-length: 5;
}

.utrecht-textbox--house-letter-size {
  --utrecht-textbox-value-max-length: 1;
}

.utrecht-textbox--house-addition-size {
  --utrecht-textbox-value-max-length: 4;
}

.utrecht-textbox--voorvoegsel-size {
  --utrecht-textbox-value-max-length: 10;
}

.utrecht-textbox--tel-size {
  --utrecht-textbox-value-max-length: 19;
}

.utrecht-textbox--tel-nl-size {
  --utrecht-textbox-value-max-length: 13;
}

.utrecht-textbox--iban-size {
  --utrecht-textbox-value-max-length: 41;
}

.utrecht-textbox--iban-nl-size {
  --utrecht-textbox-value-max-length: 22;
}
.utrecht-textbox--placeholder-ltr::placeholder, .utrecht-textbox--placeholder-ltr:placeholder-shown {
  direction: ltr;
}
.utrecht-textbox--placeholder-rtl::placeholder, .utrecht-textbox--placeholder-rtl:placeholder-shown {
  direction: rtl;
}

.utrecht-textbox--url {
  font-variant-ligatures: none;
}

.utrecht-textbox--html-input {
}
.utrecht-textbox--html-input:focus {
  background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}
.utrecht-textbox--html-input:focus-visible {
  --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
    var(--utrecht-focus-inverse-outline-color, transparent);
  box-shadow: var(--_utrecht-focus-ring-box-shadow);
  outline-color: var(--utrecht-focus-outline-color, revert);
  outline-offset: var(--utrecht-focus-outline-offset, revert);
  outline-style: var(--utrecht-focus-outline-style, revert);
  outline-width: var(--utrecht-focus-outline-width, revert);
  z-index: 1;
}
.utrecht-textbox--html-input:user-invalid, .utrecht-textbox--html-input[aria-invalid=true] {
  --_utrecht-textbox-border-width: var(
    --utrecht-textbox-invalid-border-width,
    var(
      --utrecht-form-control-invalid-border-width,
      var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width))
    )
  );
  background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-width: var(--_utrecht-textbox-border-width);
  border-block-end-width: var(--utrecht-textbox-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textbox-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textbox-border-width)))));
  border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}
.utrecht-textbox--html-input:read-only {
  background-color: var(--utrecht-textbox-read-only-background-color, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
}
.utrecht-textbox--html-input:disabled {
  background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
  border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
  color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
  cursor: var(--utrecht-action-disabled-cursor, not-allowed);
}
.utrecht-textbox--html-input::placeholder {
  color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
  font-style: var(--utrecht-form-control-placeholder-font-style);
  opacity: 100%;
}
.utrecht-textbox--html-input[type=password i] {
  font-variant-ligatures: none;
  font-variant-numeric: slashed-zero;
}
.utrecht-textbox--html-input[type=url i], .utrecht-textbox--html-input[type=email i], .utrecht-textbox--html-input[inputMode=email i], .utrecht-textbox--html-input[inputMode=url i] {
  font-variant-ligatures: none;
}
.utrecht-textbox--html-input[pattern="\\d*"], .utrecht-textbox--html-input[pattern="[0-9]*"], .utrecht-textbox--html-input[type=number i], .utrecht-textbox--html-input[type=tel i], .utrecht-textbox--html-input[inputMode=numeric i], .utrecht-textbox--html-input[inputMode=decimal i], .utrecht-textbox--html-input[inputMode=tel i] {
  -moz-appearance: textfield;
  font-variant-numeric: lining-nums tabular-nums;
}