.dropdown {
  position: relative;
  font-size: 14px;
  color: #333;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.dropdown .dropdown-list {
  padding: 12px;
  background: #fff;
  position: absolute;
  top: 35px;
  left: -0.5px;
  right: -0.5px;
  border: 1px solid #d1d5dc;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  transform-origin: 50% 0;
  transform: scale(1, 0);
  transition: transform 0.15s ease-in-out 0.15s;
  max-height: 250px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 0;
  z-index: 2 !important;
}

.dropdown .dropdown-option {
  display: block;
  padding: 8px 12px;
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.dropdown .dropdown-label {
  display: block;
  width: 100%;
  font-weight: 400;
  background-color: #fff;
  background-clip: padding-box;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
  position: relative;
  right: 0.5px;
  width: calc(100% + 1px);
}

.dropdown .dropdown-label:before {
  content: '▼';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-gray-900) !important;
}

.dropdown.on .dropdown-list {
  transform: scale(1, 1);
  transition-delay: 0s;
}

.dropdown.on .dropdown-option {
  opacity: 1;
  transition-delay: 0.2s;
}

.dropdown.on .dropdown-label:before {
  content: '▲';
  color: var(--color-gray-900) !important;
}

.dropdown [type="checkbox"], .dropdown [type="radio"] {
  position: relative;
  top: -1px;
  margin-right: 4px;
}

.hidden-option {
  display: none !important;
}

.dropdown-list * {
  z-index: 2 !important;
}

/* Open upward modifications */
.dropdown.open-up .dropdown-list {
  top: auto;
  bottom: 35px;
  transform-origin: 50% 100%;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Fixed: Keep scale(1, 0) as the default (closed) state for both directions */
.dropdown .dropdown-list {
  transform: scale(1, 0);
}

/* When open, scale to 1,1 regardless of direction */
.dropdown.on .dropdown-list {
  transform: scale(1, 1);
}

/* When closed, scale back to 1,0 regardless of direction */
.dropdown:not(.on) .dropdown-list {
  transform: scale(1, 0);
}