/* ==========================================================================
   Gravity Forms Theme Styles
   ========================================================================== */

/*------------------------------
  1. Theme Variables & Root
------------------------------*/
body .gform-theme--orbital {
  /* Main color variables */
  --gf-ctrl-input-color-primary: var(--contrast) !important;
  --gf-ctrl-label-color-primary: var(--contrast) !important;
  --gf-ctrl-label-font-size-primary: 14px !important;
  --gf-ctrl-label-font-weight-primary: 400 !important;
  --gf-ctrl-input-border-radius-primary: 0px !important;
  --gf-ctrl-input-font-size-primary: 14px !important;
  --gf-ctrl-outline-color-focus: none !important;
  --gf-ctrl-multiselect-selected-item-bg-color: var(--accent) !important;
  --gf-ctrl-select-dropdown-option-bg-color-hover: var(--accent) !important;
  --gf-ctrl-select-dropdown-option-shadow-hover: var(--accent) !important;
  --gf-ctrl-color-focus: var(--accent) !important;
  --gf-ctrl-date-picker-cell-content-bg-color-selected: var(--accent) !important;
  --gf-local-bg-color: var(--accent) !important;
  --gf-color-in-ctrl-primary: var(--accent) !important;
  --gf-ctrl-input-border-color-primary: var(--contrast) !important;
  --gf-ctrl-border-width: 1px;
  --gf-field-pg-prog-bar-bg-color-blue: var(--accent) !important;
  --gf-ctrl-line-height: 50px !important;
  --gf-ctrl-line-height: 50px !important;
  --gf-ctrl-input-bg-primary: var(--base, #fff) !important;
}

/*------------------------------
  2. Autocomplete & PAC Styles
------------------------------*/
.pac-container-gpaa-position-managed .pac-item {
  transition: .3s ease-in-out;
}
.pac-container-gpaa-position-managed .pac-item:hover {
  background-color: var(--accent) !important;
  color: #fff !important;
}

/*------------------------------
  3. Framework & API Theme Variables
------------------------------*/

.gform-theme--framework {
  --gf-ctrl-border-color-focus: var(--accent) !important;
}
.gform-theme--api, .gform-theme--foundation {
  --gf-form-gap-x: 20px;
  --gf-form-gap-y: 20px;
  --gf-field-gap-x: 20px;
  --gf-field-gap-y: 20px;
}

/*------------------------------
  4. File Delete & Trash Icon Styles
------------------------------*/
.gform_delete_file:hover,
.dashicons.dashicons-trash:hover,
.dashicons.dashicons-trash:hover::before,
.dashicons.dashicons-trash::before {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: var(--contrast) !important;
  outline: none !important;
  background-color: #fff !important;
  box-shadow: none !important;
}
.gform_delete_file.gform-theme-button,
.gform_delete_file.gform-theme-button:hover {
  background-color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/*------------------------------
  5. Field Focus & Multiselect
------------------------------*/

/* Focus states for various controls */
.gform-theme--framework .gfield:where(.gfield--type-multiselect, .gfield--input-type-multiselect) .chosen-container-multi:focus,
.gform-theme--framework .gfield:where(.gfield--type-select, .gfield--input-type-select) .chosen-search input[type=text]:focus,
.gform-theme--framework .gfield:where(.gfield--type-select, .gfield--input-type-select) .chosen-single:focus,
.gform-theme--framework .gform-theme-field-control:focus,
.gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):focus,
.gform-theme--framework select:focus,
.gform-theme--framework select[multiple]:focus,
.gform-theme--framework textarea:focus,
.gform-theme--framework.gform-theme.gform_wrapper .button:focus,
.gform-theme--framework.gform-theme.gform_wrapper .gform-theme-button:focus,
.gform-theme--framework.gform-theme.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):focus,
.gform-theme--framework.gform-theme.gform_wrapper button.button:focus,
.gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:focus,
.gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]):focus,
.gform-theme--framework.gform-theme.gform_wrapper input[type=submit].button.gform_button:focus {
  --gf-local-bg-color: var(--gf-ctrl-bg-color-focus);
  --gf-local-border-color: var(--gf-ctrl-border-color-focus);
  --gf-local-color: var(--gf-ctrl-color-focus);
  --gf-local-outline-color: var(--gf-ctrl-outline-color-focus);
  --gf-local-outline-width: var(--gf-ctrl-outline-width-focus);
  outline: none !important;
  border-color: var(--accent) !important;
}

/* Multiselect highlight and selected */
.ginput_container_multiselect .result-selected {
  background-color: var(--accent) !important;
  color: #fff !important;
}
.ginput_container_multiselect .highlighted,
.ginput_container_multiselect *:hover {
  color: #fff !important;
}

body .gform-theme--orbital input[type="checkbox"], body .gform-theme--orbital input[type="radio"] {
    accent-color: var(--accent) !important;
    background: var(--base,#fff) !important;
}
.gform_drop_area.gform-theme-field-control,
.gform-theme--foundation .gfield .ginput_password.large, .gform-theme--foundation .gfield input.large, .gform-theme--foundation .gfield select.large,
.gform-theme--foundation .ginput_complex select,
.gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi .chosen-choices{
  background: var(--base,#fff) !important;
}

/*------------------------------
  6. Input & Select Styles
------------------------------*/

.ginput_subtotal.ginput_product_price, 
.ginput_tax.ginput_product_price{ 
  font-weight: 600 !important;
  font-size: 14px !important; 
}



.gfield_consent_description{ 
  padding-left: 0 !important;
  border: none !important;}

/* General input focus/hover */
body .gform-theme input:is(:focus, :hover),
body .gform-theme textarea:is(:focus, :hover) {
  border-color: var(--accent) !important;
  box-shadow: none !important;
}

/* File upload container */
.ginput_container_fileupload .gform_drop_area {
  border: 1px solid var(--contrast) !important;
}

/* Datepicker highlight */
.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day a,
.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day span {
  --gf-local-bg-color: var(--gf-ctrl-date-picker-cell-content-bg-color-selected);
  --gf-local-color: var(--gf-ctrl-date-picker-cell-content-color-selected);
}
.ui-datepicker-calendar .ui-state-highlight,
.ui-datepicker-calendar td:hover a {
  background-color: var(--accent) !important;
  color: #fff !important;
  opacity: 0.8 !important;
}

/* Remove border radius and shadow from inputs */
body .gform-theme textarea,
body .gform-theme input {
  border-radius: 0px !important;
  box-shadow: none !important;
}

/* Checkbox and radio accent color */
body .gform-theme--orbital input[type="checkbox"],
body .gform-theme--orbital input[type="radio"] {
  accent-color: var(--accent) !important;
}

/* Select styling */
body .gform-theme select,
body .gform-theme select[multiple="multiple"] {
  border: none !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.5) !important;
  border-radius: 0 !important;
}
body .chosen-container-multi {
  border: none !important;
  outline: none;
  box-shadow: none !important;
  border-bottom: 1px solid var(--contrast) !important;
}
body .chosen-container-multi:is(:focus, :hover) {
  box-shadow: none !important;
  outline: none !important;
}


/* Orbital input and textarea styling */
body .gform-theme--orbital input[type="text"],
body .gform-theme--orbital input[type="email"],
body .gform-theme--orbital input[type="url"],
body .gform-theme--orbital input[type="tel"],
body .gform-theme--orbital input[type="number"],
body .gform-theme--orbital input[type="password"],
body .gform-theme--orbital input[type="search"],
body .gform-theme--orbital input[type="date"],
body .gform-theme--orbital input[type="datetime-local"],
body .gform-theme--orbital input[type="month"],
body .gform-theme--orbital input[type="week"],
body .gform-theme--orbital input[type="time"],
body .gform-theme--orbital input[type="color"],
body .gform-theme--orbital input[type="file"],
body .gform-theme--orbital textarea {
  border-radius: var(--gf-ctrl-input-border-radius-primary, 0px) !important;
  border-color: var(--gf-ctrl-input-border-color-primary, #ccc);
  background-color: var(--gf-ctrl-input-bg-primary, #fff);
  color: var(--gf-ctrl-input-color-primary, var(--accent));
  font-size: var(--gf-ctrl-input-font-size-primary, 1em);
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/*------------------------------
  7. Label & Placeholder Styling
------------------------------*/

body .gform-theme--orbital .gform-field-label {
  color: var(--gf-ctrl-label-color-primary, var(--accent)) !important;
  font-size: var(--gf-ctrl-label-font-size-primary, 20px);
}
input::placeholder {
  color: var(--contrast) !important;
  opacity: 0.5 !important;
}

/*------------------------------
  8. Button Styles
------------------------------*/

.gform_button,
.gform-theme-button,
input[type="submit"],
body .gform-theme--orbital .gform_footer input[type="submit"],
body .gform-theme--orbital .gform_footer button,
body .gform-theme--orbital .gform_page_footer input[type="button"] {
  background: var(--gf-ctrl-button-bg-primary, var(--contrast));
  color: var(--gf-ctrl-button-color-primary, #fff);
  border-radius: var(--gf-ctrl-button-border-radius-primary, 0px);
}
.gform-theme-button:hover {
  background-color: var(--contrast) !important;
}
.gform_button.button {
  border-radius: 0px !important;
  font-weight: 400 !important;
  padding-bottom: 10px !important;
  padding-top: 8px !important;
  font-size: 14px !important;
  transition: .3s ease-in-out !important;
  background-color: var(--accent) !important;
}
.gform-theme--orbital .add_list_item {
  background-color: var(--accent) !important;
  transition: .3s ease-in-out !important;
}
.gform-theme--orbital .add_list_item:hover {
  background-color: var(--contrast) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.gform_button.button:hover {
  background-color: var(--contrast) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/*------------------------------
  9. File Upload Button Styles
------------------------------*/

input[type="file"]::file-selector-button {
  border-radius: 0px;
  padding: 0 16px;
  height: 20px;
  cursor: pointer;
  background-color: var(--accent) !important;
  color: #fff !important;
  border: none !important;
}
input[type="file"]::file-selector-button:hover {
  background-color: var(--contrast) !important;
  color: #fff !important;
}
input[type="file"]::file-selector-button:active {
  background-color: var(--accent) !important;
  color: #fff !important;
  border-radius: 0 !important;
}
input[type="file"] {
  border: none !important;
}

/*------------------------------
  10. Progress Bar & Steps
------------------------------*/

.gform-theme--api, .gform-theme--framework {
  --gf-field-pg-prog-color: var(--gf-color-out-ctrl-dark);
  --gf-field-pg-prog-font-family: var(--gf-font-family-base);
  --gf-field-pg-prog-font-size: 14px;
  --gf-field-pg-prog-font-style: var(--gf-font-style-base);
  --gf-field-pg-prog-font-weight: 600;
  --gf-field-pg-prog-letter-spacing: 0;
  --gf-field-pg-prog-line-height: 1;
  --gf-field-pg-prog-text-transform: uppercase;
  --gf-field-pg-prog-margin-y-end: 24px;
  --gf-field-pg-prog-title-margin-y-end: 16px;
  --gf-field-pg-prog-bar-bg-color: var(--gf-color-out-ctrl-light);
  --gf-field-pg-prog-bar-bg-color-blue: var(--accent) !important;
  --gf-field-pg-prog-bar-bg-color-gray: var(--gf-color-out-ctrl-dark);
  --gf-field-pg-prog-bar-bg-color-green: #31c48d;
  --gf-field-pg-prog-bar-bg-color-orange: #ff5a1f;
  --gf-field-pg-prog-bar-bg-color-red: #c02b0a;
  --gf-field-pg-prog-bar-bg-gradient-spring: linear-gradient(270deg, #9cd790 0%, #76d7db 100%);
  --gf-field-pg-prog-bar-bg-gradient-blues: linear-gradient(270deg, #00c2ff 0%, #7838e2 100%);
  --gf-field-pg-prog-bar-bg-gradient-rainbow: linear-gradient(274.73deg, #74b551 -5.58%, #f3ca30 44.81%, #cd302b 93.15%);
  --gf-field-pg-prog-bar-height: 10px;
  --gf-field-pg-prog-bar-radius: 100px;
  --gf-field-pg-steps-step-gap: 12px;
  --gf-field-pg-steps-number-bg-color: transparent;
  --gf-field-pg-steps-number-bg-color-active: var(--gf-color-out-ctrl-light);
  --gf-field-pg-steps-number-bg-color-complete: var(--gf-color-primary);
  --gf-field-pg-steps-number-border-color: var(--gf-color-out-ctrl-light-darker);
  --gf-field-pg-steps-number-border-color-active: transparent;
  --gf-field-pg-steps-number-border-color-complete: var(--gf-color-primary);
  --gf-field-pg-steps-number-radius: 50%;
  --gf-field-pg-steps-number-border-style: solid;
  --gf-field-pg-steps-number-border-width: 2px;
  --gf-field-pg-steps-number-color: var(--gf-color-out-ctrl-dark);
  --gf-field-pg-steps-number-color-active: var(--gf-field-pg-steps-number-color);
  --gf-field-pg-steps-number-color-complete: var(--gf-color-primary-contrast);
  --gf-field-pg-steps-number-size: 32px;
  --gf-field-pg-steps-icon-font-size: var(--gf-icon-font-size);
}

/*------------------------------
  11. Miscellaneous
------------------------------*/

select option:hover{ background-color: var(--accent) !important;}

select option {
  color: var(--contrast) !important;
}
select, ::picker(select) {
  appearance: base-select;
}
select option:checked {
  background-color: var(--accent);
  color: #fff !important;
  font-weight: bold;
}

/*------------------------------
  12. Utility Classes
------------------------------*/

.gfield_fileupload_filesize,
.gfield_fileupload_filename {
  font-size: 14px !important;
}
.iti__selected-country:hover {
  background-color: var(--accent) !important;
  color: #fff !important;
}
.gform-theme--framework .iti * {
  transition: none !important;
  font-size: 14px !important;
}

.gchoice.gchoice_select_all{
  display: flex !important;
}

/*------------------------------
 Select default Styles
------------------------------*/



select {
  appearance: base-select !important;
  color: #71717a;
  background-color: transparent;
  box-sizing: border-box;
  border: 1px solid #e4e4e7;
  border-radius: calc(0.5rem - 2px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  cursor: pointer;

  & > button {
    display: flex;
    width: 100%;
    font-family: inherit;
    color: currentColor;

    & > svg {
      margin-left: auto;
      width: 1.2rem;
      height: 1.2rem;
    }
  }

  &:has(option:not([hidden]):checked) {
    color: #18181b;
  }

  &:focus-visible {
    outline: 2px solid #a1a1aa;
    outline-offset: -1px;
  }

  &::picker-icon {
    display: none;
  }

  &::picker(select) {
    appearance: base-select;
    border: 1px solid #e4e4e7;
    padding: 0.25rem;
    margin-top: 0.25rem;
    border-radius: calc(0.5rem - 2px);
    cursor: default;
    transition: opacity 225ms ease-in-out, transform 225ms ease-in-out;
    transform-origin: top;
    transform: translateY(0);
    opacity: 1;

    @starting-style {
      transform: translateY(-0.25rem) scale(0.95);
      opacity: 0;
    }
  }

  & optgroup label {
    display: block;
    padding: 0.375rem 0.5rem;
  }

  & option {
    padding: 0.375rem 1rem;
    border-radius: calc(0.5rem - 4px);
    outline: none;
    appearance: none;
    background-image: none !important;
    background: none !important;

    &::after {
      content: "";
      width: 1rem;
      height: 1.5rem;
      margin-left: auto;
      opacity: 0;
    }

    &::checkmark {
      display: none;
    }

    &:checked,
    &[selected] {
      background: var(--accent) !important;
      opacity: 0.8 !important;
      color: #fff !important;
      font-weight: bold;
    }

    &:disabled {
      background-color: var(--gf-ctrl-input-bg-primary, #fff) !important;
      color: #bdbdbd !important;
      font-style: italic;
    }

    &:hover,
    &:focus-visible {
      background-color: var(--accent) !important;
      opacity: 0.6 !important;
      color: #fff !important;
    }
  }
}

select {
    & option {
        &:checked {
            &::after {
                opacity: 0;
            }
        }
    }
}

/* MULTISELECT: Chosen plugin selected item styling */
.chosen-container-multi .search-choice {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: 0.25rem;
}

/* MULTISELECT: Placeholder for native select (fallback, limited browser support) */
select[multiple]::placeholder {
  background: var(--gf-ctrl-input-bg-primary, #fff) !important;
  color: #bdbdbd !important;
  opacity: 1 !important;
}

.chosen-container-multi{ width: 100% !important;}

.gform-theme--framework .gfield--type-choice .gfield_choice_all_toggle{ min-width: 22px !important; }

select option { padding: 0.375rem 1rem !important;}

select  option.gf_placeholder:hover,
select  option.gf_placeholder{
  background-color: transparent !important;
  color: var(--contrast) !important;
  font-weight: 400;
} 

.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:focus-within,
.gfield-image-choice-wrapper-outer:focus{
  outline: none !important;
  box-shadow: none !important;
  /* border: none !important; */
  /* border-color: var(--accent) !important; */
}



/*------------------------------
  End of Gravity Forms Theme Styles
------------------------------*/