/* Core form styling */
#custom-signup-form {
  position: relative;
  margin: 0 auto;
  padding: 60px;
  background: #fff;
  border-radius: 8px;
}

#custom-signup-form .radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

#custom-signup-form .radio-group label {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  font-weight: 500;
  font-family: "Inter", Sans-serif;
  font-size: 16px;
  letter-spacing: 0px;
  color: inherit;
}

#custom-signup-form .radio-group input {
  display: inline-block;
  min-height: auto;
  max-height: auto;
  width: auto !important;
  margin: 0;
}

#custom-signup-form hr {
  display: inline-block !important;
  width: 100%;
  border: 1px solid inherit;
  margin-bottom: 20px;
}

#custom-signup-form h2 {
  letter-spacing: normal;
  font-family: "Inter", Sans-serif;
  font-size: 22px;
  font-weight: 700;
}

#custom-signup-form h3 {
  letter-spacing: normal;
  font-family: "Inter", Sans-serif;
  font-size: 18px;
  font-weight: 700;
}

#custom-signup-form .form-step {
  display: none;
  flex-direction: column;
  gap: 1.5em;
}

#custom-signup-form .form-step.active {
  display: flex;
}

#custom-signup-form h3 {
  font-size: 1.25em;
  margin-bottom: 0.5em;
}

#custom-signup-form label {
  display: flex;
  flex-direction: column;
  font-weight: 500;
  gap: 0.25em;
  font-family: "Inter", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0px;
  color: #043b7c;
}

#custom-signup-form input,
#custom-signup-form select {
  padding: 6px 16px;
  font-size: 16px;
  border: 1px solid #69727d;
  border-radius: 4px;
  width: 100%;
  height: 100%;
  min-height: 47px;
  max-height: 47px;
  box-sizing: border-box;
  color: #000;
}

#custom-signup-form .req {
  color: red;
  font-weight: bold;
  font-size: 20px;
  line-height: 1em;
  margin-left: 5px;
}

#custom-signup-form .select2-container--default .select2-selection--single {
  border-color: #69727d !important;
}

#custom-signup-form input:focus,
#custom-signup-form select:focus {
  border-color: #0073aa;
  outline: none;
}

#custom-signup-form span {
  font-size: 15px;
}

#custom-signup-form #form-waiting,
#custom-signup-form .already_registered_wait {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  line-height: 1em;
  font-weight: 700;
}

#additional-locations-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#custom-signup-form .error-msg {
  color: #ff0000;
  font-size: 12px;
  line-height: 12px;
  margin-bottom: 15px;
}

#password-tips {
  margin-top: 0.5em;
  padding-left: 0;
  list-style: none;
}

#password-tips .tip {
  color: grey;
  font-weight: 600 !important;
  margin: 0px 0px 0px 30px;
  list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free v5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="grey" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"/></svg>');
}

#password-tips .tip.valid {
  color: green;
  font-weight: 600;
  list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free v5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="green" d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"/></svg>');
}
#password-tips .tip.invalid {
  color: red;
  font-weight: 600;
  list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free v5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="red" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"/></svg>');
}

.tip::marker {
  font-size: 1.8em;
  vertical-align: middle;
}

#form-response {
  display: none;
  flex-direction: column;
  justify-content: center;
  padding: 50px;
  font-size: 20px;
  font-weight: 600;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  color: #043b7c;
  z-index: 1;
}
#form-response.show {
  display: flex;
}

#form-response .spinner {
  width: 30px;
  height: 30px;
  border: 3px solid #043b7c11;
  border-top-color: #043b7c;
  border-radius: 50%;
  animation: spin 500ms linear infinite;
  margin: 0 auto;
}

#form-response .message {
  text-align: center;
  margin-top: 10px;
  color: #043b7c;
}

.only_us_warning {
  font-weight: bold;
  color: #fff;
  justify-self: center;
  margin: 20px 0;
}
.only_us_warning {
  --r: 0.5em;
  padding: 5px calc(var(--r) + 0.3em);
  line-height: 1;
  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--r)) 50%,
    100% 100%,
    0 100%,
    var(--r) 50%
  );
  background: #b7111d;
  width: fit-content;
}

.us_only_modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.us_only_modal_overlay .us_only_modal {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  text-align: center;
  max-width: 800px;
  width: 90%;
}
