/* Nice Select - Customized for African Conversations
 * Updated to use teal theme colors and improved compatibility
 */

.nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #ffffff;
  border-radius: 8px;
  border: 2px solid #E6E6E6;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  outline: none;
  padding: 12px 40px 12px 16px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  width: auto;
}

.nice-select:hover {
  border-color: #666666;
}

.nice-select:active,
.nice-select.open,
.nice-select:focus {
  border-color: #666666;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

/* Dropdown Arrow */
.nice-select:after {
  border-bottom: 2px solid #666666;
  border-right: 2px solid #666666;
  content: '';
  display: block;
  height: 10px;
  margin-top: -5px;
  pointer-events: none;
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform-origin: 66% 66%;
      -ms-transform-origin: 66% 66%;
          transform-origin: 66% 66%;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 10px;
}

.nice-select.open:after {
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.nice-select.open .list {
  opacity: 1;
  display: block;
  pointer-events: auto;
  -webkit-transform: scale(1) translateY(0);
      -ms-transform: scale(1) translateY(0);
          transform: scale(1) translateY(0);
}

.nice-select.disabled {
  border-color: #E6E6E6;
  color: #999;
  pointer-events: none;
  opacity: 0.6;
}

.nice-select.disabled:after {
  border-color: #999;
}

/* Full width variant */
.nice-select.wide {
  width: 100%;
}

.nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
  width: 100%;
}

.nice-select.right {
  float: right;
}

.nice-select.right .list {
  left: auto;
  right: 0;
}

.nice-select.small {
  font-size: 12px;
  padding: 8px 30px 8px 12px;
}

.nice-select.small:after {
  height: 8px;
  width: 8px;
  right: 12px;
}

.nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
  padding: 0px 8px;
}

/* Dropdown List */
.nice-select .list {
  background-color: #ffffff;
  border: 2px solid #666666;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-top: 4px;
  opacity: 0;
  width: 100%;
  display: none;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  -webkit-transform-origin: 50% 0;
      -ms-transform-origin: 50% 0;
          transform-origin: 50% 0;
  -webkit-transform: scale(0.95) translateY(-10px);
      -ms-transform: scale(0.95) translateY(-10px);
          transform: scale(0.95) translateY(-10px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 9999;
  max-height: 250px;
  overflow-y: auto;
}

.nice-select .list li:not(:last-child) {
  margin-right: 0 !important;
}

/* Dropdown Options */
.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  min-height: 40px;
  outline: none;
  padding: 0px 16px;
  text-align: left;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #696969;
  border-bottom: 1px solid #f0f0f0;
}

.nice-select .option:last-child {
  border-bottom: none;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
  background-color: #f8f9fa;
  color: #2d3748;
}

.nice-select .option.selected {
  font-weight: 600;
  color: #2d3748;
  background-color: #f8f9fa;
}

.nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
  opacity: 0.5;
}

/* Fallback for older browsers */
.no-csspointerevents .nice-select .list {
  display: none;
}

.no-csspointerevents .nice-select.open .list {
  display: block;
}

/* Prevent conflicts with contact form styling */
.contact-form .nice-select {
  border: 2px solid #E6E6E6;
  padding: 12px 40px 12px 16px;
  font-size: 14px;
}

.contact-form .nice-select:focus {
  border-color: #666666;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}
