.elementor-form {
  --required: #EC1A07;
  --accent: var(--e-global-color-3abe850); /* #5D29EC */
  --border: var(--e-global-color-47d9010); /* cbd2d9 */
  --disabled: #b4b4b4;
  --hover-bg: #F5F7FA;
  --white: #fff;
  --shadow: 0 0 0 / 8%;
}

/* Base form elements */
.elementor-form label {
  line-height: 1.57;
}

.elementor-form .elementor-field-group {
  gap: 8px;
  margin-bottom: 24px; /* clear column-gap and row-gap from elementor dashboard */
}

.elementor-form .e-form__buttons {
  margin-bottom: 0;
}

.elementor-form .elementor-field-type-radio {
  gap: 16px;
}

.elementor-form .elementor-field-textual {
  border: 1px solid var(--border, #cbd2d9);
  border-radius: 4px;
}

/* Radio button styles */
.elementor-form input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.elementor-form input[type="radio"] + label {
  margin-bottom: 0 !important;
}

.elementor-form input[type="radio"] + label::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: var(--white);
  border: 1px solid var(--border, #cbd2d9);
  border-radius: 50%;
  vertical-align: top;
  cursor: pointer;
  transition: all 250ms ease;
}

.elementor-form input[type="radio"]:checked + label::before {
  background-color: var(--accent, #5D29EC);
  border-color: var(--accent, #5D29EC);
  box-shadow: inset 0 0 0 4px var(--white);
}

.elementor-form input[type="radio"]:focus + label::before {
  background-color: var(--accent, #5D29EC);
  border-color: var(--accent, #5D29EC);
  box-shadow: inset 0 0 0 4px var(--white);
  outline: none;
}

.elementor-form input[type="radio"]:disabled + label::before {
  background: var(--disabled, #b4b4b4);
  border-color: var(--disabled, #b4b4b4);
  box-shadow: inset 0 0 0 4px var(--white);
}

.elementor-form input[type="radio"] + label:empty::before {
  margin-right: 0;
}

/* Custom Select Dropdown */
.custom-select {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-select-button {
  position: relative;
  width: 100%;
  padding: 12px 40px 12px 16px;
  background: var(--white);
  border: 1px solid var(--border, #cbd2d9);
  border-radius: 4px;
  color: var(--e-global-color-7dcc065);
  text-align: left;
  white-space: break-spaces;
  cursor: pointer;
}

.custom-select-button:hover,
.custom-select-button:focus {
  background: var(--white);
  color: var(--e-global-color-7dcc065);
}

.custom-select-button:focus {
  outline: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.select-caret-down-wrapper {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  transition: transform 0.2s ease;
}

.elementor-select-wrapper .select-caret-down-wrapper.active {
  transform: translateY(-50%) rotate(180deg);
}

.custom-select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  max-height: 400px;
  margin-top: 8px;
  padding: 16px 0 24px;
  background: var(--white);
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  overflow-y: auto;
}

.custom-select-dropdown[hidden] {
  display: none;
}

.custom-select-option {
  padding: 8px 16px;
  cursor: pointer;
}

.custom-select-option:hover,
.custom-select-option:focus,
.custom-select-option.selected,
.custom-select-option[aria-selected="true"] {
  background: var(--hover-bg);
  outline: none;
}
