.gks-select {
  position: relative;
  width: 100%;
  --gks-select-bg: rgba(255,255,255,.07);
  --gks-select-bg-hover: rgba(255,255,255,.095);
  --gks-select-border: rgba(255,255,255,.14);
  --gks-select-border-active: rgba(126,200,255,.4);
  --gks-select-text: #fff;
  --gks-select-muted: rgba(255,255,255,.72);
  --gks-select-menu-bg: rgba(14,31,52,.98);
  --gks-select-option-hover: rgba(126,200,255,.12);
  --gks-select-accent: #E85234;
  --gks-select-accent-mid: #F06A4C;
  --gks-select-accent-soft: #F9B8AF;
  --gks-select-focus: rgba(0,64,140,.18);
}

.field .gks-select,
.cf-field .gks-select,
.contact-form-box .gks-select,
.cfia-form-field .gks-select {
  --gks-select-bg: #F7F9FC;
  --gks-select-bg-hover: #fff;
  --gks-select-border: #D8E0EA;
  --gks-select-border-active: #00408C;
  --gks-select-text: #0A2540;
  --gks-select-muted: #4F6073;
  --gks-select-menu-bg: #fff;
  --gks-select-option-hover: rgba(0,64,140,.08);
  --gks-select-accent: #E85234;
  --gks-select-accent-mid: #F06A4C;
  --gks-select-accent-soft: #F9B8AF;
  --gks-select-focus: rgba(0,64,140,.12);
}

.field .gks-select .gks-select-menu,
.cf-field .gks-select .gks-select-menu,
.contact-form-box .gks-select .gks-select-menu,
.cfia-form-field .gks-select .gks-select-menu {
  border-color: rgba(35,91,169,.16);
  box-shadow: 0 18px 38px rgba(10,37,64,.16), inset 0 1px 0 rgba(255,255,255,.8);
}

.field .gks-select.open .gks-select-arrow,
.cf-field .gks-select.open .gks-select-arrow,
.contact-form-box .gks-select.open .gks-select-arrow,
.cfia-form-field .gks-select.open .gks-select-arrow {
  color: #00408C;
}

.gks-select select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.gks-select-trigger {
  width: 100%;
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px 12px 16px;
  border-radius: 10px;
  border: 1px solid var(--gks-select-border);
  background: var(--gks-select-bg);
  color: var(--gks-select-text);
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.gks-select-trigger:hover,
.gks-select.open .gks-select-trigger {
  border-color: var(--gks-select-border-active);
  background: var(--gks-select-bg-hover);
}

.gks-select-trigger:focus-visible,
.gks-select.open .gks-select-trigger {
  box-shadow: 0 0 0 3px var(--gks-select-focus);
}

.gks-select-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gks-select-arrow {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: rgba(255,255,255,.72);
  transform: rotate(45deg);
  transition: transform .22s ease, color .22s ease;
}

.gks-select.open .gks-select-arrow {
  color: #96ADD6;
  transform: translateY(3px) rotate(225deg);
}

.gks-select-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
  max-height: min(280px, 50vh);
  padding: 6px;
  border-radius: 14px;
  border: 1px solid rgba(126,200,255,.2);
  background: var(--gks-select-menu-bg);
  box-shadow: 0 18px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(.98);
  transform-origin: top center;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  overflow: auto;
}

.gks-select.open .gks-select-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.gks-select-option {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 9px 11px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--gks-select-muted);
  font: inherit;
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.gks-select-option:hover,
.gks-select-option:focus-visible {
  background: var(--gks-select-option-hover);
  color: var(--gks-select-text);
  transform: translateX(2px);
  outline: none;
}

.gks-select-option.is-selected {
  background:
    linear-gradient(135deg,
      var(--gks-select-accent) 0%,
      var(--gks-select-accent-mid) 72%,
      var(--gks-select-accent-soft) 150%);
  color: #fff;
  font-weight: 700;
}

.gks-select-option:disabled {
  cursor: default;
  opacity: .55;
}

.gks-select-option:disabled:hover,
.gks-select-option:disabled:focus-visible {
  background: transparent;
  color: var(--gks-select-muted);
  transform: none;
}

.gks-select:has(select.is-invalid) .gks-select-trigger,
.gks-select:has(select.err) .gks-select-trigger {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239,68,68,.12);
}

.select-wrap:has(.gks-select)::after {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .gks-select-menu,
  .gks-select-trigger,
  .gks-select-arrow,
  .gks-select-option {
    transition: none;
  }
}
