/**
 * @file
 * Styles for Beneficiaries Registration Form validation.
 */

/* Hide error messages from status area for this form */
#beneficiaries-register-form ~ .messages--error,
form[id*="beneficiaries"] ~ .messages--error,
form[id*="register"] ~ .messages--error {
  display: none !important;
}

/* Inline error messages below fields */
.form-item--error-message,
.js-form-item--error-message {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.5rem;
  margin-bottom: 0;
  display: block;
  clear: both;
}

.form-item--error-message strong,
.js-form-item--error-message strong {
  font-weight: 600;
}

/* Error styling for form fields */
input.error,
select.error,
textarea.error,
.form-item.error input,
.form-item.error select,
.form-item.error textarea,
.js-form-item.error input,
.js-form-item.error select,
.js-form-item.error textarea {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

/* Hide intl-tel-input's default error message (we show our own) */
.phone-error-msg {
  display: none !important;
}

/* Error styling for phone number field */
.phone-number-field.error input.iti__tel-input,
.phone-number-field.error input[type="tel"],
.phone-number-field.error .iti__tel-input {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.phone-number-field.error .iti,
.phone-number-field.error .iti__country-container {
  border-color: #dc3545 !important;
}

.phone-number-field.error .iti__selected-country {
  border-color: #dc3545 !important;
}

/* Error messages after phone-number-field wrapper */
.phone-number-field + .form-item--error-message,
.phone-number-field + .js-form-item--error-message {
  margin-top: 0.5rem;
  display: block;
}

/* Error styling for Select2 fields */
.select2-container.error .select2-selection--single,
.select2-container.error .select2-selection--multiple {
  border-color: #dc3545 !important;
}

.select2-container.error.select2-container--focus .select2-selection--single,
.select2-container.error.select2-container--focus .select2-selection--multiple,
.select2-container.error.select2-container--open .select2-selection--single,
.select2-container.error.select2-container--open .select2-selection--multiple {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

input.error:focus,
select.error:focus,
textarea.error:focus,
.form-item.error input:focus,
.form-item.error select:focus,
.form-item.error textarea:focus,
.js-form-item.error input:focus,
.js-form-item.error select:focus,
.js-form-item.error textarea:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
  outline: none;
}

/* Ensure error messages appear after description or field */
.form-item .description + .form-item--error-message,
.form-item .description + .js-form-item--error-message,
.js-form-item .description + .form-item--error-message,
.js-form-item .description + .js-form-item--error-message {
  margin-top: 0.5rem;
}

/* Error messages after Select2 containers */
.select2-container + .form-item--error-message,
.select2-container + .js-form-item--error-message {
  margin-top: 0.5rem;
  display: block;
}

/* For checkboxes */
.form-check.error .form-item--error-message,
.form-check.error .js-form-item--error-message {
  margin-top: 0.5rem;
  margin-left: 0;
}

/* Ensure error messages are visible and properly positioned */
.form-group.error .form-item--error-message,
.form-group.error .js-form-item--error-message,
.form-item.error .form-item--error-message,
.form-item.error .js-form-item--error-message,
.js-form-item.error .form-item--error-message,
.js-form-item.error .js-form-item--error-message {
  display: block !important;
  visibility: visible !important;
}

/* .form-item-privacy-consent {
  padding-left: 28px;
}

.form-item-privacy-consent .form-checkbox {
  position: absolute;
  left: 0px;
  top: -3px;
}
.form-item--error-message, .messages--error {
  background: none !important;
  border-radius: 0px !important;
  align-items: center !important;
  padding: 0px !important;
  border: none !important;
  font-weight: 400;


}
.form-item--error-message::before, .messages--error::before {
  display: none;
}
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group input[type="password"], .form-group select, .form-group textarea, .form-input, .form-select, .form-tel, .form-email {
  border-width: 1px !important;
}
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group input[type="password"], .form-group select, .form-group textarea, .form-input, .form-select, .form-tel, .form-email {
  box-shadow: none !important;
}
.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover, .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary {
  background: none !important;
}
.phone-number-field .iti__selected-country {
  min-width: 57px !important;
  background: #fff !important;  
  height: 40px !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline {
  min-width: 100% !important;
}
 
.select2-container--default .select2-selection--multiple .select2-search--inline textarea.select2-search__field {
  display: none !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline input.select2-search__field {
  display: inline-block !important;
  min-height: auto !important;
  padding: 0px 10px !important;
  height: 33px !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  resize: none !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline {
  height: 30px !important;
  min-width: 100px !important;
}

.select2-container--default .select2-selection--multiple {
  min-height: 44px !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 0px 10px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #e4e4e4 !important;
  border: 1px solid #aaa !important;
  color: #333 !important;
  padding-left: 14px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #333 !important;
  top: 6px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 4px !important;
}
.select2-container--default .select2-selection--multiple .select2-search--inline input.select2-search__field {
  min-width: 0 !important;
  width: 0px !important;
}
.form-item--error-message strong {
  font-weight: 400 !important;
}
.form-item--error .form-input, .form-item--error .form-select, .form-input.error, .form-select.error {
  background-color: #fff !important;
}
.phone-number-field .iti__tel-input.error {
  background: #fff !important;
}
.modern-registration-form .field--type-telephone input[type="tel"], .modern-registration-form .field--name-field-phone-number input[type="tel"], .modern-registration-form .field--name-field-phone input[type="tel"], .modern-registration-form .phone-number-field input[type="tel"] {
  padding-left: 67px !important;

}
label.form-label.option {
	font-weight: 450 !important;
} */
