.p-form {
  --color-error: #881337;
  --color-error--light: #ffe4e6;
  --color-success: #14532d;
  --color-success--light: #dcfce7;

  --spacing: 1.5rem;
  --spacing-repeater-buttons: 2.3rem;

  --border-radius: var(--v-border-radius-xs);

  --v-field-padding: 0.5rem;
  --v-field-border: 1px solid #686e77;
  --v-field-height: 2.5rem;
  --v-field-font-size: 1rem;
  --v-field-border-radius: var(--v-border-radius-sm);
  --v-field-shadow: var(--v-shadow-xs);
}

.p-form fieldset {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
}

.p-form fieldset > :last-child {
  margin-bottom: 0 !important;
}

.p-form legend {
  display: block !important;
  font-size: var(--v-font-size__h3) !important;
  font-weight: var(--v-font-weight__default--bold);
  margin: 0 0 var(--v-form__spacing) 0 !important;
}

.p-form input[type="radio"],
.p-form input[type="checkbox"] {
  margin: 0;
  width: 1.2rem;
  height: 1.2rem;
}

.p-form .select2-selection,
.p-form input[type="text"],
.p-form input[type="email"],
.p-form input[type="search"],
.p-form input[type="password"],
.p-form input[type="tel"],
.p-form select,
.p-form textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 var(--v-field-padding);
  border: var(--v-field-border) !important;
  height: var(--v-field-height);
  line-height: var(--v-field-height);
  font-size: var(--v-field-font-size);
  border-radius: var(--v-field-border-radius) !important;
  box-sizing: border-box !important;
  box-shadow: var(--v-field-shadow);
}

.p-form textarea {
  line-height: 1.3;
  height: 10rem;
}

.p-form__field--comment {
  font-style: italic;
  font-size: 80%;
  line-height: 1.3;
}

.p-form__fields {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--spacing);
  margin: 0 calc(var(--spacing) / 2 * -1);
}

.p-form__field {
  flex-basis: 100%;
  padding: 0 calc(var(--spacing) / 2);
}

.p-form .select2-selection {
  height: auto !important;
  padding-right: calc( var(--v-field-padding) * 2 );
}

.p-form span.select2-container,
.p-form span.select2-container span {
  display: block;
}

.p-form .select2-selection__rendered {
  --spacing: 0.4rem;

  padding: var(--spacing) 0 var(--spacing) 0 !important;
  margin: 0 !important;
  float: none;
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--spacing);
  align-items: center;
  line-height: 1.2;
  position: relative !important;
  overflow: visible !important;
}

.p-form input[type="search"].select2-search__field {
  max-width: 100% !important;
  border: none !important;
}

.p-form input[type="search"].select2-search__field,
.p-form .select2-selection__choice {
  height: calc( var(--v-field-height) - ( var(--spacing) * 2 ) );
}

.p-form .select2-selection__clear,
.p-form .select2-selection__choice__remove,
.p-form .select2-search,
.p-form .select2-selection__choice {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.p-form .select2-selection__clear,
.p-form .select2-selection__choice__remove {
  line-height: 1;
}

.p-form .select2-selection__clear {
  position: absolute;
  top: 50%;
  right: -0.7rem;
  transform: translateY(-50%);
}

.p-form .select2-selection__choice {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0 var(--spacing) !important;
}

.select2-results__option {
  font-size: 1rem;
  line-height: 1.2;
  padding: 0.5rem !important;
}

@media (min-width: 700px) {
  .p-form__field--50 {
    flex-basis: 50%;
  }

  .p-form__field--33 {
    flex-basis: 33.33%;
  }
}
