.form-cards-header {
  display: flex;
  width: 100%;
  padding: 40px 16px;
  position: relative;
  z-index: 3;

  transition: padding 0.3s ease-in-out;

  #solicita-informacion {
    transform: translateY(-50px);
  }

  .nested-selects-component {
    display: flex;
    gap: 8px;
  }

  .nested-selects-component.column {
    flex-direction: column;
  }

  .hidden {
    display: none;
  }

  #form-header-cards {
    box-shadow: 0 0px 0px #e1e1e1;

    display: block;
    border: none;
    margin: 0 auto;

    position: relative;

    width: 450px;
    height: fit-content;
    overflow: visible;

    &:has(.promotions-feature-wrapper) .form__header {
      padding: 16px 0;
    }

    .form__header {
      padding: 0 0 16px;
      display: flex;

      .form__header-title {
        font-family: var(--font-outfit);
        font-size: 22px;
        font-weight: 500;

        margin: 0;
        text-transform: none;
        line-height: 36px;

        color: #001845 !important;
      }
    }

    .form__body {
      display: flex;
      flex-direction: column;
      gap: 8px;

      padding: 0;
      margin: 0;

      >div:has(.terms_column),
      >button {
        grid-column: span 2;
      }

      >div:has(.terms_column) {
        margin: 4px 0;

        @media (min-width: 1440px) {
          margin: 4px 0;
        }
      }

      .form_column {
        position: relative;
        overflow: hidden;

        >input {
          font-family: var(--font-outfit);
          font-size: 16px;
          font-weight: 500;
          background: white;
          border: 2px solid #d8d9da;

          border-radius: 12px;
          width: 100%;
          max-height: 40px;
          padding: 15px;
          color: #0f3c71;
          outline: none;
          transition: all 0.15s ease-in-out;

          &:-webkit-autofill,
          &:-webkit-autofill:hover,
          &:-webkit-autofill:focus {
            -webkit-text-fill-color: #0f3c71 !important;
            caret-color: #0f3c71;
          }

          &.error {
            border-color: #ff00008c !important;
            background-color: #fff4f6;

            &:-webkit-autofill,
            &:-webkit-autofill:hover,
            &:-webkit-autofill:focus {
              -webkit-box-shadow: inset 0 0 0 1000px #fff4f6 !important;
            }
          }

          &.success {
            border: 2px solid #10a843 !important;
            background-color: #e1fdea !important;

            &:-webkit-autofill,
            &:-webkit-autofill:hover,
            &:-webkit-autofill:focus {
              -webkit-box-shadow: inset 0 0 0 1000px #e1fdea !important;
            }
          }

          &[type='email']&.success {
            background-color: #e1fdea !important;
          }
        }

        &:has(ul.show) {
          max-height: 235px;
          transition: all 0.3s ease-in-out;
          width: 100% !important;
        }

        &:has(ul#modalCountryList) ul {
          position: initial;
          box-shadow: unset;
        }

        &:has(input:focus),
        &:has(input.fill) {
          label {
            top: -10px;
          }
        }

        >label {
          position: absolute;
          display: flex;

          align-items: center;
          justify-content: space-between;

          font-family: var(--font-outfit);
          font-size: 14px;
          line-height: 20px;
          font-weight: 400;

          color: #0f3c71;
          cursor: text;
          width: calc(100% - 30px);
          top: 20px;
          left: 15px;
          transform: translate(0, -50%);
          transition: all 0.15s ease-in-out;

          &::after {
            content: '';
            display: inline-block;
            width: 20px;
            height: 20px;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
            margin-left: 10px;
            transition: transform 0.3s ease;
          }

          &.success::after {
            background-image: url('/wp-content/themes/templatePLG/resources/assets/images/svg/icon-success.svg');
            position: absolute;
            right: 0;
            top: 28px;
          }

          &.error::after {
            background-image: url('/wp-content/themes/templatePLG/resources/assets/images/svg/icon-alert.svg');
          }

          &[for='phone'] {

            &.success::after,
            &.error::after {
              position: absolute;
              right: 90px;
            }
          }
        }

        >span.class-error {
          display: block;
          font-family: var(--font-outfit);
          font-size: 13px;
          font-weight: 500;
          color: #d82c47;
          padding: 0 10px 0;
          min-height: 0;
          max-height: 0;
          line-height: 14px;
          transition: all 0.15s ease-in-out;

          &.show {
            padding: 4px 10px 0;
            max-height: 100%;
          }
        }

        >p {
          display: inline;
          font-family: var(--font-outfit);
          font-size: 13px !important;
          font-weight: 400;
          color: #134c8f;
          line-height: 1;
          text-align: start;

          &.clamped {
            display: -webkit-inline-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;

            @media (width >=1440px) {
              -webkit-line-clamp: 1;
              max-width: 580px;
            }
          }

          >span {
            display: inline;
            font-weight: 700;
            font-size: 100%;
            padding: 0;
            color: #134c8f;
            position: relative;

            &::after {
              content: '';
              position: absolute;
              left: 13px;
              bottom: 2px;
              width: 58px;
              height: 1px;
              background-color: #134c8f;
            }

            &#view-less-conditions::after {
              left: 1px;
              width: 75px;
            }
          }

          >a {
            font-weight: 600;
            color: #134c8f;
            text-decoration: underline;
          }

          &.text-conditions {
            font-size: 15px !important;
          }
        }

        >button {
          appearance: unset;
          background: unset;
          border: unset;
          display: inline;
          padding: 0;
          color: var(--color-primary-mid);
          cursor: pointer;
          font-size: 13px;
          font-weight: 700;
          outline: none;
        }

        &:has(ul) {
          position: relative;
          z-index: 1;
          display: flex;
          flex-direction: column;
          width: 100%;
          min-height: 40px;
          max-height: 40px;
          background-color: #FFFFFF;
          border: 2px solid #d8d9da;
          border-radius: 12px;
          transition: all 0.3s ease-in-out;

          img {
            &:has(+ span.loading) {
              &:first-of-type {
                opacity: 0.5;
              }
            }

            &:first-of-type {
              top: 18px;
              left: 12px;
            }

            &.loupe {
              position: absolute;
              top: calc(40px + (35px / 2) - 4px);
              right: 30px;
              left: unset;
              width: 16px;
              height: 16px;
              pointer-events: none;
            }
          }

          >div {
            display: flex;
            align-items: center;
            font-family: var(--font-outfit);
            font-size: 14px;
            line-height: 20px;
            font-weight: 400;
            background: white;
            border: none;
            border-radius: 10px;
            width: 100%;
            min-height: 36px;
            max-height: 36px;
            padding: 15px;
            color: #0f3c71;
            cursor: pointer;
            transition: all 0.15s ease-in-out;
            position: relative;

            .selectedText {
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
              flex: 1;
              width: calc(100% - 30px);
            }

            .findOptionInput {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              background: transparent;
              border: none;
              margin: 0;
              padding: 0 40px 0 15px;
              font-family: var(--font-outfit);
              color: var(--primary-color);
              font-weight: 400;
              z-index: -1;
              cursor: text;
              outline: none;
              -webkit-appearance: none;
              appearance: none;
              border-radius: unset;

              &.hidden {
                display: none !important;
              }
            }

            .findOptionInput:focus {
              background-color: white;
              z-index: 2;
            }

            &::after {
              content: '';
              position: absolute;
              top: 18px;
              right: 10px;
              transform: translate(0, -50%);
              width: 19px;
              height: 13px;
              background-image: url(/wp-content/themes/fpuniversae/assets/svg/dropdown-chevron-arrow.svg);
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              z-index: 3;
            }

            &.loading {
              opacity: 0.5;
              pointer-events: none;
            }
          }

          >div#phoneCode {
            padding: 0 12px;

            &::after {
              display: none;
            }

            +input {
              margin: 0 22px;
              width: auto;
            }

            >span {
              margin: auto;
            }
          }



          ul {
            margin: 0 0 10px 0;
            padding: 0px 22px;
            background-color: white;
            border-radius: 6px;
            box-shadow: unset;
            font-size: 16px;
            list-style: none;
            color: #134c8f;
            transform: translate(0px, 10px);
            width: 100%;
            height: max-content;
            max-height: 300px;
            overflow: auto;
            user-select: none;
            opacity: 0;
            z-index: 1;
            pointer-events: none;
            transition: all ease-in-out 0.3s;

            &.show {
              background-color: white;
              position: initial;
              opacity: 1;
              pointer-events: all;
            }

            li {
              font-family: var(--font-outfit);
              padding: 8px 0;
              font-size: 15px;
              line-height: 17px;
              cursor: pointer;
              transition: all 0.3s ease-in-out;

              &:hover,
              &.focused {
                background-color: #b6e1f938;
                margin-inline: -22px;
                padding-inline: 22px;
              }
            }
          }

          select {
            display: none;
          }
        }
      }

      .form_select_container {
        position: relative;
        min-height: 40px;
        width: 100%;
        z-index: 1;
        transition: all 0.3s ease-in-out;

        &:has(span.class-error.show) {

          .selectList,
          .form_column {
            border-color: #ff00008c !important;
            background-color: #fff4f6;
          }
        }

        &:has(.form_column select.success) {

          .selectList,
          .form_column {
            border-color: #10a843;
          }

          &:has(span.loading) {
            .form_column {
              border-color: #d8d9da;
            }
          }
        }

        &:has(ul.show) {
          z-index: 4;
        }

        .form_column {
          position: absolute;
          z-index: 1;
          display: flex;
          flex-direction: column;
          width: 100%;
          min-height: 40px;
          max-height: 40px;
          background-color: white;
          border: 2px solid #d8d9da;
          border-radius: 12px;
          overflow: hidden;
          transition: all 0.3s ease-in-out;
        }

        >span.class-error {
          display: block;
          font-family: var(--font-outfit);
          font-size: 13px;
          font-weight: 500;
          color: #d82c47;
          padding: 0 10px 0;
          margin-top: 40px;
          min-height: 0;
          max-height: 0;
          line-height: 14px;
          transition: all 0.15s ease-in-out;

          &.show {
            padding: 4px 10px 0;
            max-height: 100%;
          }
        }
      }

      .modality_column {
        position: relative;
        z-index: 2;

        .form_column {
          overflow: visible;

          ul {
            max-height: 250px;
            transform: translate(0px, 45px);
          }
        }
      }

      /* Campos de prefijo y teléfono */
      .phone_column {
        position: relative;
        z-index: 1;
        transition: all 0.3s ease-in-out;

        &:has(ul.show) {
          z-index: 4;
        }

        .form_column {
          flex: 1;

          &:first-of-type {
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;
            width: 90px;
            overflow: hidden;
          }

          &:last-of-type {
            label {
              left: 105px;
            }

            input {
              border: 2px solid #d8d9da;
              padding-left: 105px;
            }
          }

          &:has(.selectInitiator select.success) {
            background-color: white;
            border-color: #10a843 !important;
          }

          >div {
            background: white !important;
            border-radius: 10px;
            display: flex;
            align-items: center;
            font-family: var(--font-outfit);
            font-size: 14px;
            line-height: 20px;
            font-weight: 400;
            background: unset;
            border: none;
            border-radius: 10px;
            width: 100%;
            min-height: 36px;
            max-height: 36px;
            padding: 15px;
            color: #0f3c71;
            cursor: pointer;
            transition: all 0.15s ease-in-out;
            justify-content: space-between;
          }

          >div.error {
            border: 2px solid #ff00008c;
            background-color: #fff4f6 !important;
          }

          ul {
            width: 100%;
            top: 100%;
            max-height: 200px;

            @media (width >=1024px) {
              max-height: 250px;
            }
          }
        }

        span.class-error {
          display: block;
          font-family: var(--font-outfit);
          font-size: 13px;
          font-weight: 500;
          color: #d82c47;
          padding: 0 10px 0;
          min-height: 0;
          max-height: 0;
          line-height: 14px;
          transition: all 0.15s ease-in-out;

          &.show {
            padding: 4px 10px 0;
            max-height: 100%;
          }
        }
      }

      .terms_column {
        position: relative;
        overflow: hidden;

        margin: 8px 0 8px;

        input {
          &#terms {
            display: none;
          }
        }

        .checkmark {
          flex: 0 0 auto;
          display: block;
          position: relative;
          border: 2px solid var(--color-border-mid);
          border-radius: 2px;
          width: 16px;
          height: 16px;
          background-color: white;
          transition: background-color 0.2s ease;

          &::after {
            content: '';
            border: solid white;
            border-width: 0 2px 2px 0;
            position: absolute;
            display: none;
            left: 4px;
            top: 0;
            width: 5px;
            height: 10px;
            transform: rotate(45deg);
          }
        }

        >label {
          position: initial;
          display: flex;
          margin: 0;

          font-family: var(--font-outfit);
          font-size: 12px;
          font-weight: 400;

          color: var(--primary-color);
          line-height: 16px;
          cursor: pointer;
          transition: all 0.15s ease-in-out;
          gap: 8px;
        }

        span.class-error {
          display: block;
          font-family: var(--font-outfit);
          font-size: 13px;
          font-weight: 500;
          color: #d82c47;
          padding: 0 10px 0;
          min-height: 0;
          max-height: 0;
          line-height: 13px;
          transition: all 0.15s ease-in-out;

          &.show {
            padding: 10px 10px;
            max-height: 100%;
          }
        }

        &.checkbox input[type='checkbox']:checked+.checkmark:hover {
          background-color: var(--color-primary-mid);
          border-color: var(--color-primary-mid);
        }
      }

      .checkbox input:checked+.checkmark {
        background-color: var(--color-primary-mid);
        border-color: var(--color-primary-mid);
      }

      .checkbox input:checked+.checkmark::after {
        display: block;
      }

      .checkbox:hover .checkmark {
        background-color: #e6f0ff;
      }

      .checkbox-input:checked+.checkbox-label:hover .checkmark {
        background-color: blue;
        border-color: blue;
      }

      .form_buttom {
        button[type='submit'] {
          width: 100%;

          >div {
            position: relative;
          }

          img {
            filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(1%) hue-rotate(53deg) brightness(105%) contrast(101%);
            transition: all 0.3s ease-in-out;

            &:first-of-type {
              position: absolute;
              top: 0;
              left: 50%;
              transform: translate(-50%, 0);
              width: 10px;
              height: auto;
            }

            &:last-of-type {
              transform: translate(0, 4px);
              width: 16px;
            }
          }
        }
      }
    }
  }
}