/* stylelint-disable selector-id-pattern */

/**
 * ==========================================================================
 * Gravity Forms - Site Specific Styles for RDI
 * ==========================================================================
 *
 * Table of Contents:
 * 1. Global Form Inputs
 * 2. Select Dropdowns
 * 3. Gravity Forms – Base Overrides
 * 4. Gravity Forms – Floating Labels
 * 5. Gravity Forms – Dark Background Variant (.is-style-dark-bg-white-text)
 * 6. Gravity Forms – Field-Specific Overrides
 * 7. Gravity Forms – Footer Newsletter
 * 8. Gravity Forms – Subscribe Inline Form
 */

/* ==========================================================================
   1. Global Form Inputs
   ========================================================================== */

   input[type="text"],
   input[type="email"],
   input[type="url"],
   input[type="password"],
   input[type="search"],
   input[type="number"],
   input[type="tel"],
   input[type="range"],
   input[type="date"],
   input[type="month"],
   input[type="week"],
   input[type="time"],
   input[type="datetime"],
   input[type="datetime-local"],
   input[type="color"],
   textarea {
       border-radius: 4px;
       font-size: var(--wp--preset--font-size--small);
       color: var(--global-palette3);
       padding: 12px 15px;
   }

   input[type="text"],
   input[type="email"],
   input[type="url"],
   input[type="password"],
   input[type="search"],
   input[type="number"],
   input[type="tel"],
   input[type="range"],
   input[type="date"],
   input[type="month"],
   input[type="week"],
   input[type="time"],
   input[type="datetime"],
   input[type="datetime-local"],
   input[type="color"],
   textarea,
   body select,
   body .select2-container--default .select2-selection--single,
   .select2-container--default
       .select2-selection--single
       .select2-selection__rendered {
       border-color: var(--global-palette6);
       color: var(--global-palette3);
       border-radius: 4px;
   }

   input[type="text"]:focus,
   input[type="email"]:focus,
   input[type="url"]:focus,
   input[type="password"]:focus,
   input[type="search"]:focus,
   input[type="number"]:focus,
   input[type="tel"]:focus,
   input[type="range"]:focus,
   input[type="date"]:focus,
   input[type="month"]:focus,
   input[type="week"]:focus,
   input[type="time"]:focus,
   input[type="datetime"]:focus,
   input[type="datetime-local"]:focus,
   input[type="color"]:focus,
   textarea:focus,
   .gform_wrapper.gravity-theme .gfield textarea:focus,
   select:focus {
       border-color: var(--global-palette3);
       outline: -webkit-focus-ring-color auto 1px !important;
   }


   /* ==========================================================================
      2. Select Dropdowns
      ========================================================================== */

   body select,
   body select.orderby {
       background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' class='kadence-svg-icon kadence-arrow-down-svg' fill='currentColor' version='1.1' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M5.293 9.707l6 6c0.391 0.391 1.024 0.391 1.414 0l6-6c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'%3E%3C/path%3E%3C/svg%3E");
   }


   /* ==========================================================================
      3. Gravity Forms – Base Overrides
      ========================================================================== */

   .gform_wrapper.gravity-theme input[type="color"],
   .gform_wrapper.gravity-theme input[type="date"],
   .gform_wrapper.gravity-theme input[type="datetime-local"],
   .gform_wrapper.gravity-theme input[type="datetime"],
   .gform_wrapper.gravity-theme input[type="email"],
   .gform_wrapper.gravity-theme input[type="month"],
   .gform_wrapper.gravity-theme input[type="number"],
   .gform_wrapper.gravity-theme input[type="password"],
   .gform_wrapper.gravity-theme input[type="search"],
   .gform_wrapper.gravity-theme input[type="tel"],
   .gform_wrapper.gravity-theme input[type="text"],
   .gform_wrapper.gravity-theme input[type="time"],
   .gform_wrapper.gravity-theme input[type="url"],
   .gform_wrapper.gravity-theme input[type="week"],
   .gform_wrapper.gravity-theme select,
   .gform_wrapper.gravity-theme textarea {
       font-size: var(--wp--preset--font-size--small);
   }

   .gform_wrapper.gravity-theme .gform_footer,
   .gform_wrapper.gravity-theme .gform_page_footer {
       margin: 0;
   }

   #gform_1_validation_container {
       display: none;
   }

   .gform_heading {
        margin-bottom: var(--wp--preset--spacing--xs);
   }

   .gform_required_legend {
        margin-bottom: 10px !important;
        font-style: italic;
        font-size: 1rem;
    }


   /* ==========================================================================
      4. Gravity Forms – Floating Labels
      Add the .floating-label class to desired Gravity Forms fields.
      ========================================================================== */

   .floating-label {
       position: relative;
   }

   .floating-label label {
       position: absolute;
       top: 12px;
       left: 0;
       margin: 0;
       opacity: 0;
       line-height: 1.4;
       font-size: 1rem;
       transition: all ease 0.4s;
   }

   .floating-label:focus-within label,
   .floating-label input:focus ~ label,
   .floating-label textarea:focus ~ label,
   .floating-label input.valid ~ label,
   .floating-label textarea.valid ~ label,
   .floating-label input:visited ~ label,
   .floating-label textarea:visited ~ label,
   .floating-label input:-webkit-autofill ~ label,
   .floating-label textarea:-webkit-autofill ~ label,
   .floating-label.input-active label {
       top: 0;
       left: 8px;
       font-size: var(--wp--preset--font-size--small) !important;
       color: var(--global-palette3);
       opacity: 1;
   }

   .floating-label:focus-within input::placeholder {
       opacity: 0;
   }


   /* ==========================================================================
      5. Gravity Forms – Dark Background Variant (.is-style-dark-bg-white-text)
      ========================================================================== */

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield_required,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme input::placeholder,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield select::placeholder,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .ginput_counter {
       color: var(--global-palette9);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme input,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield select,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield textarea {
       min-height: 50px;
       border-radius: 4px;
       border-color: var(--global-palette9);
       background-color: transparent;
       color: var(--global-palette9);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme input[type="radio"],
   .is-style-dark-bg-white-text .gform_wrapper.gform_wrapper.gravity-theme input[type="checkbox"] {
       min-height: 0;
   }

   .is-style-dark-bg-white-text .gform_wrapper.gform_wrapper.gravity-theme .gfield--type-choice label {
       font-size: 1rem;
       margin-left: 4px;
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield select {
       background-image: url("data:image/svg+xml,%3Csvg viewBox='-182 0 1024 658.285714286' preserveAspectRatio='xMinYMin meet' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath d='M614.286 420.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z'%3E%3C/path%3E%3C/svg%3E");
       background-size: 24px 24px;
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
       background: var(--global-palette5);
       border-color: var(--global-palette5);
       border-radius: 4px;
       font-weight: 600;
       text-transform: uppercase;
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:focus {
       background: var(--global-palette9);
       border-color: var(--global-palette9);
       color: var(--global-palette1);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gf_progressbar_title {
       color: var(--global-palette9);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield_error label,
   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield_error legend {
       color: var(--global-palette2);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme a {
       color: var(--global-palette9);
   }

   .is-style-dark-bg-white-text .gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] {
       border-color: var(--global-palette9);
   }


   /* ==========================================================================
      6. Gravity Forms – Field-Specific Overrides
      ========================================================================== */

   .gfield_radio .gchoice:not(:last-child) {
       margin-bottom: var(--wp--preset--spacing--xxs);
   }

   .gform_wrapper.gravity-theme .gfield .gfield_radio input {
       margin-right: 5px;
   }

   .gform_wrapper.gravity-theme .ginput_container_address span.address_zip {
       flex: 0 0 100%;
   }

   .gform_wrapper.gravity-theme .ginput_complex label {
       margin-bottom: var(--wp--preset--spacing--xxs);
       font-weight: 700;
   }

   /* Address form (form ID 2) */
   #gform_wrapper_2.gform_wrapper.gravity-theme .ginput_container_address span {
       flex: 0 0 100%;
       margin-bottom: 0;
   }

   #gform_wrapper_2.gform_wrapper.gravity-theme .gfield--type-address .gfield_label {
       padding-top: 6px;
   }


   /* ==========================================================================
      7. Gravity Forms – Footer Newsletter
      ========================================================================== */

   footer .gform_wrapper {
       width: 100%;
   }

   footer .gform_wrapper.gravity-theme .gform_fields {
       display: flex;
       column-gap: 10px;
   }

   footer .gform_wrapper.gravity-theme .gfield {
       width: 100%;
   }

   footer .gform_wrapper.gravity-theme .gfield--type-submit {
       min-width: 115px;
       width: 115px;
   }

   footer .gform_wrapper.gravity-theme .gfield--type-submit input {
       height: 50px;
       padding: 16px 20px;
       background: transparent;
       border: 2px solid var(--global-palette-btn-bg);
       border-radius: 4px;
       color: var(--global-palette-highlight);
       font-weight: 600;
       text-transform: uppercase;
       line-height: 1;
   }
   footer .gform_wrapper.gravity-theme .gfield--type-submit input:hover,
   footer .gform_wrapper.gravity-theme .gfield--type-submit input:focus {
         background: var(--global-palette-btn-bg-hover);
         border-color: var(--global-palette-btn-bg-hover);
         color: var(--global-palette-btn-hover);
         box-shadow: none;
   }

   footer .gform_wrapper.gravity-theme input[type="email"] {
       height: 50px;
       border-radius: 4px;
   }

   footer .gform_wrapper.gravity-theme .gform_footer {
       padding: 0;
       margin: 0;
   }


   /* ==========================================================================
      8. Gravity Forms – Subscribe Inline Form
      ========================================================================== */

   @media screen and (min-width: 800px) {
       .form-subscribe_wrapper {
           width: 640px;
           max-width: 100%;
       }
   }

   .gform_wrapper.gravity-theme .form-subscribe .gform_fields {
       display: flex;
       column-gap: var(--wp--preset--spacing--xxs);
   }

   .form-subscribe .ginput_container_email,
   .form-subscribe .ginput_container_email input,
   .form-subscribe #field_submit input {
       height: 52px;
   }

   @media screen and (min-width: 768px) {
       .gform_wrapper.gravity-theme .form-subscribe .gform_fields {
           column-gap: var(--wp--preset--spacing--sm);
       }

       .form-subscribe .ginput_container_email,
       .form-subscribe .ginput_container_email input,
       .form-subscribe #field_submit input {
           height: 58px;
       }
   }

   .gform_wrapper.gravity-theme .form-subscribe .gform_footer {
       display: none;
   }

   .form-subscribe .ginput_container_email input {
       padding-left: 15px !important;
       padding-right: 15px !important;
   }

   .form-subscribe .gfield--type-email {
       width: 100%;
   }

   .form-subscribe .ginput_container_email {
       flex-grow: 1;
   }

   .gform_wrapper.gravity-theme .form-subscribe #field_submit {
       flex-shrink: 0;
       align-self: start;
   }

   .gform_wrapper.gravity-theme .form-subscribe #field_submit input {
       line-height: 1;
   }

   .form-subscribe--white-btn #field_submit input {
       border: 2px solid var(--global-palette1);
       background-color: var(--global-palette9);
       color: var(--global-palette1);
   }

   .form-subscribe--transparent-btn #field_submit input {
       border: 2px solid var(--global-palette9);
       background-color: transparent;
       color: var(--global-palette9);
   }

   .form-subscribe--white-btn #field_submit input:hover,
   .form-subscribe--white-btn #field_submit input:focus,
   .form-subscribe--transparent-btn #field_submit input:hover,
   .form-subscribe--transparent-btn #field_submit input:focus {
       border-color: var(--global-palette5);
       background-color: var(--global-palette5);
       color: var(--global-palette9);
   }

   /** End Gravity Forms - Subscribe Form Styles */
