.required-label {
  font-size: 12px; /* Smaller font size */
  vertical-align: top; /* Align at the top */

}
label.required-fail,
p.required-fail {
    color: #EB0000;
}
input.required-fail,
select.required-fail {
    border: solid 1px #EB0000;
    --tw-ring-color: #EB0000;
}

/* Target dropdown validation errors - match input field styling exactly */
div.required-fail .bootstrap-select .btn.btn-default,
div.required-fail .bootstrap-select button.btn-default,
.bootstrap-select.required-fail .btn.btn-default,
.bootstrap-select.required-fail button.btn-default {
    border: solid 1px #EB0000 !important;
    --tw-ring-color: #EB0000 !important;
    box-shadow: 0 0 0 1px #EB0000 !important; /* Match Tailwind ring-1 effect */
}
.alert-danger {
    color: #EB0000;
    width: 100%;
    border: solid 1px #EB0000;
    border-radius: 5px;
    background-color:#ffe2e2;
    padding: 10px;
    margin-top: 10px;
    display: none;
}

input:focus-visible {
  --tw-ring-offset-width: 3px;
}

.container {
    width: 100vw;
    height: 100vh;
    display:none;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,0.7);
    z-index: 1;
    position: absolute;
    &:hover {
      cursor: pointer;
      .cradle-wrap {
        .sphere {
          background: #CCDD44;
        }
        &:first-child {
          transform: rotate(120deg);
          .sphere {
            background: #60BB46;
          }
        }
        &:last-child {
          transform: rotate(240deg);
          .sphere {
            background: #ac0101;
          }
        }
      }
    }
  }
  .cradle-wrap {
    position: absolute;
    &:first-child {
      transform: rotate(120deg);
    }
    &:last-child {
      transform: rotate(240deg);
    }
  }
  .cradle {
    margin: 0 auto;
    width: 175px;
    height: 50px;
    position: relative;
    animation-name: turn;
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-delay: 0;
    animation-iteration-count: infinite;
  }
  .sphere {
    background: #333;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    position: absolute;
    top: 0px;
    animation-name: slide;
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    animation-delay: 0;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-play-state: running;
    transition: background 0.3s ease;
  }

  .lang-selector-old {
    justify-content: end;
    display: none;
  }

  .lang-btn-active {
    background-color: transparent;
    color: #111827;
    border: none;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
  }

  .lang-btn-inactive {
    background-color: transparent;
    color: #9ca3af;
    border: none;
    text-decoration: none;
  }

  .lang-btn-inactive:hover {
    color: #6b7280;
  }

  .header {
    border-top: none;
  }

  .dropdown.bootstrap-select {
    width: 100% !important;
    padding: 0px;
  }

  .dropdown.bootstrap-select .btn-default {
    padding: 0.375rem !important; /* Match Tailwind p-1.5 */
    height: 2.25rem !important; /* Match input field height */
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    border-radius: 0.375rem !important; /* Match Tailwind rounded-md */
    background-color: white !important;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important; /* Match Tailwind shadow-sm */
    border: 1px solid rgb(209 213 219) !important; /* Match ring-light-gray */
    font-size: 0.875rem !important; /* Match Tailwind text-sm */
    line-height: 1.5rem !important; /* Match Tailwind leading-6 */
  }

  .dropdown.bootstrap-select .btn-default:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 1px #6366f1 !important;
  }

  /* Style dropdown arrow */
  .dropdown.bootstrap-select .dropdown-toggle .caret {
    border-top: 4px solid #666 !important;
    border-right: 4px solid transparent !important;
    border-left: 4px solid transparent !important;
    border-bottom: 0 !important;
  }

  html {
    font-family: unset !important;;
    -webkit-text-size-adjust: unset !important;;
    font-size: unset !important;
  }

  @keyframes slide {
      0% {left: 0px; width: 50px; height: 50px; opacity: 1;}
      100% {left: 150px; top: 12px; width: 25px; height: 25px; opacity: 0.2;}
  }
  @keyframes turn {
      0% {transform: rotate(0deg);}
      100% {transform: rotate(360deg);}
  }