fieldset.custom-wp-form {
  margin: 0;
  padding: 0;
  border: none;
}

.custom-wp-form legend {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
}

.custom-wp-form .wpforms-container-full {
  margin: 0 !important;
}

.custom-wp-form .wpforms-field-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 25px 0;
}

.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field {
  width: var(--form-field-width, 100%);
  max-width: var(--form-field-max-width, 100%);
  padding: 0;
  line-height: 1;
}

.custom-wp-form
  .wpforms-container-full
  .wpforms-form
  .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern) {
  overflow: visible;
}

.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field-label {
  display: inline-block;
  flex-shrink: 0;
  margin: 0 0 3px;
  color: black;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-required-label {
  color: var(--color-danger);
}

.custom-wp-form .wpforms-container input.wpforms-field-medium,
.custom-wp-form .wpforms-container select.wpforms-field-medium,
.custom-wp-form .wpforms-container .wpforms-field-row.wpforms-field-medium,
.custom-wp-form .wp-core-ui div.wpforms-container input.wpforms-field-medium,
.custom-wp-form .wp-core-ui div.wpforms-container select.wpforms-field-medium,
.custom-wp-form .wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
  max-width: 100%;
}

.custom-wp-form .wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block:first-child {
  padding-inline-start: 0;
}

.custom-wp-form .wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block:last-child {
  padding-inline-end: 0;
}

.custom-wp-form .wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block {
  padding: 0 15px;
}

/* Form fields */
.custom-wp-form .wpforms-container-full .wpforms-form :is(input[type="text"], input[type="email"], select, textarea) {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: var(--form-field-height, 42px);
  margin: 0;
  padding: var(--form-field-padding-top, 0) var(--form-field-padding-right, 12px) var(--form-field-padding-bottom, 0)
    var(--form-field-padding-left, 12px) !important;
  border-width: var(--form-field-border-width, 1px) !important;
  border-color: var(--form-field-border-color, #ccc) !important;
  border-style: solid !important;
  border-radius: var(--form-field-border-radius, 2px) !important;
  background-color: var(--form-field-background-color, white) !important;
  color: var(--form-field-input-color, var(--color-text-primary)) !important;
  text-align: var(--form-field-text-align, left);
  font-family: inherit;
  font-size: var(--form-field-font-size, 16px) !important;
  line-height: var(--form-field-line-height, 1.15) !important;
  box-shadow: none !important;
  appearance: none;
  transition: border-color 250ms linear;
}

/* .custom-wp-form .wpforms-container-full .wpforms-field-select-style-classic {
  position: relative;
}

.custom-wp-form .wpforms-container-full .wpforms-form select {
  --form-field-padding-right: 30px;

  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.5897e-07%203.75L5.24537e-07%203L0.857143%203L6%207.5L11.1429%203L12%203L12%203.75L6%209L4.5897e-07%203.75Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  background-size: 12px 12px;
  background-position: right 10px center;
  background-repeat: no-repeat;
}

.custom-wp-form .wpforms-container-full .wpforms-form select option {
  color: black !important;
  background: white !important;
} */

.custom-wp-form .wpforms-container-full .wpforms-form textarea {
  --form-field-height: 144px;
  --form-field-padding-top: 16px;
  --form-field-padding-bottom: 16px;

  resize: vertical;
}

.custom-wp-form
  .wpforms-container-full
  .wpforms-form
  :is(input[type="text"], input[type="email"], textarea)::placeholder {
  opacity: 1;
  color: var(--color-text-dimmed) !important;
}

.custom-wp-form
  .wpforms-container-full
  .wpforms-form
  :is(input[type="text"], input[type="email"], select, textarea):focus {
  outline: none;
  border-color: var(--color-primary) !important;
}

/* Checkbox and Radio */
.custom-wp-form .wpforms-field-checkbox .wpforms-field-label,
.custom-wp-form .wpforms-field-radio .wpforms-field-label {
  margin-bottom: 14px !important;
}

.custom-wp-form .wpforms-field-checkbox ul,
.custom-wp-form .wpforms-field-radio ul {
  gap: 0 !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

.custom-wp-form .wpforms-field-checkbox ul li,
.custom-wp-form .wpforms-field-radio ul li {
  display: flex;
  align-items: center;
}

.custom-wp-form .wpforms-container-full .wpforms-form ul li {
  margin-bottom: 16px !important;
}

.custom-wp-form .wpforms-container-full ul li:last-of-type {
  margin-bottom: 0 !important;
}

.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field-label-inline {
  padding-left: 34px;
  color: black;
  font-size: 16px;
}

.custom-wp-form input[type="checkbox"],
.custom-wp-form input[type="radio"] {
  display: block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0;
  margin: -1px !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.custom-wp-form input[type="checkbox"]:not(checked) + label::before,
.custom-wp-form input[type="radio"]:not(checked) + label::before,
.wpforms-form input[type="checkbox"]:not(checked) + label::before,
.wpforms-form input[type="radio"]:not(checked) + label::before
{
  width: 23px;
  height: 23px;
  top: -1px;
  border-color: rgba(204, 204, 204, 1);
}

.custom-wp-form input[type="checkbox"]:checked + label::before,
.custom-wp-form input[type="radio"]:checked + label::before ,
.wpforms-form input[type="checkbox"]:checked + label::before,
.wpforms-form input[type="radio"]:checked + label::before
{
  width: 23px;
  height: 23px;
  top: -1px;
  border-color: var(--color-primary);
}

.custom-wp-form input[type="checkbox"]:checked + label::after,
.wpforms-form input[type="checkbox"]:checked + label::after {
  left: 6px;
  width: calc(8px * 1.5);
  height: calc(4px * 1.5);
  border-color: var(--color-primary);
}

.custom-wp-form input[type="checkbox"]:checked + label::before,
.wpforms-form input[type="checkbox"]:checked + label::before {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.128%200.956146C11.194%201.02194%2011.2463%201.10011%2011.2821%201.18617C11.3178%201.27222%2011.3361%201.36448%2011.3361%201.45765C11.3361%201.55082%2011.3178%201.64307%2011.2821%201.72913C11.2463%201.81518%2011.194%201.89335%2011.128%201.95915L4.75305%208.33415C4.68725%208.40011%204.60908%208.45245%204.52303%208.48815C4.43697%208.52386%204.34472%208.54225%204.25155%208.54225C4.15838%208.54225%204.06612%208.52386%203.98006%208.48815C3.89401%208.45245%203.81584%208.40011%203.75005%208.33415L0.916712%205.50081C0.783706%205.36781%200.708984%205.18741%200.708984%204.99931C0.708984%204.81121%200.783706%204.63082%200.916712%204.49781C1.04972%204.36481%201.23011%204.29008%201.41821%204.29008C1.60631%204.29008%201.78671%204.36481%201.91971%204.49781L4.25155%206.83106L10.125%200.956146C10.1908%200.890182%2010.269%200.837846%2010.3551%200.802137C10.4411%200.766428%2010.5334%200.748047%2010.6265%200.748047C10.7197%200.748047%2010.812%200.766428%2010.898%200.802137C10.9841%200.837846%2011.0622%200.890182%2011.128%200.956146Z%22%20fill%3D%22%233573b9%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.custom-wp-form input[type="radio"]:checked + label::after,
.wpforms-form input[type="radio"]:checked + label::after {
  width: 11px;
  height: 11px;
  left: 6px;
  top: 5px;
  background: var(--color-primary);
}

.custom-wp-form input[type="checkbox"]:focus-visible ~ label::before,
.custom-wp-form input[type="radio"]:focus-visible ~ label::before {
  border-color: var(--color-primary) !important;
}

/* Submit Button */
.custom-wp-form .wpforms-submit-container {
  margin-top: 20px !important;
  padding: 0 !important;
}

.wpforms-container-full .wpforms-form :is(input[type="submit"], button[type="submit"]) {
  flex-shrink: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  margin: 0;
  padding: 10.5px 32px;
  border: 1px solid var(--color-secondary);
  border-radius: 100px;
  background: var(--color-secondary) !important;
  color: var(--color-text-primary) !important;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  font-family: inherit;
  font-size: 100%;
  font-weight: 500;
  line-height: normal;
  -moz-appearance: button;
  appearance: button;
  -webkit-appearance: button;
  cursor: pointer;
}

.wpforms-container-full .wpforms-form :is(input[type="submit"], button[type="submit"]):hover,
.wpforms-container-full .wpforms-form :is(input[type="submit"], button[type="submit"]):focus-visible {
  border-color: var(--color-secondary-darker);
  background: var(--color-secondary-darker) !important;
}

.wpforms-container-full .wpforms-form :is(input[type="submit"], button[type="submit"]):focus-visible {
  outline: var(--focus-style);
}

/* Errors */
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-required-label {
  color: var(--color-danger);
}

.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field input.wpforms-error,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field input.user-invalid,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-error,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field textarea.user-invalid,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field select.wpforms-error,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field select.user-invalid,
.custom-wp-form .wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error .choices__inner {
  color: var(--color-danger) !important;
}

.custom-wp-form .wpforms-container-full .wpforms-form label.wpforms-error {
  margin-top: 8px;
  font-size: 14px;
  color: var(--color-danger) !important;
}

/* Select2 */
.select2 {
  width: 100% !important;
}

.select2 .select2-selection {
  height: 42px;
  border-width: var(--form-field-border-width, 1px) !important;
  border-color: var(--form-field-border-color, #ccc) !important;
  border-style: solid !important;
  border-radius: var(--form-field-border-radius, 2px) !important;
  transition: border-color 250ms linear;
}

.select2.select2-container--focus .select2-selection {
  border-color: var(--color-primary) !important;
}

.select2 .select2-selection__rendered {
  display: flex !important;
  align-items: center;
  height: 42px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  font-size: var(--form-field-font-size, 16px) !important;
  line-height: 1 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  font-size: var(--form-field-font-size, 16px) !important;
}

.select2-results__option {
  padding-left: 12px !important;
  padding-right: 12px !important;
  font-size: var(--form-field-font-size, 16px) !important;
}

.select2-results__option[aria-selected=true] {
  background-color: var(--color-neutral-100) !important; 
}

.select2-results__option--highlighted[aria-selected] {
  background-color: var(--color-primary) !important;
}

.select2 .select2-selection .select2-selection__clear {
  display: none;
}

.select2 .select2-selection .select2-selection__arrow {
  top: auto;
  bottom: 14px;
  right: 12px;
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.5897e-07%203.75L5.24537e-07%203L0.857143%203L6%207.5L11.1429%203L12%203L12%203.75L6%209L4.5897e-07%203.75Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.select2.select2-container--focus .select2-selection .select2-selection__arrow {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.5897e-07%203.75L5.24537e-07%203L0.857143%203L6%207.5L11.1429%203L12%203L12%203.75L6%209L4.5897e-07%203.75Z%22%20fill%3D%22%233573b9%22%2F%3E%3C%2Fsvg%3E");
}

.select2 .select2-selection[aria-expanded="true"] .select2-selection__arrow {
  transform: rotate(180deg);
}

.select2 .select2-selection--single .select2-selection__arrow b {
  display: none;
}

