.personalizar {
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 45dvh;
  padding-block: 50px;
  transition: 0.2s all;

  @media (width > 1024px) {
    max-width: 768px;
  }

  @media (width > 1200px) {
    max-width: 1024px;
  }

  @media (width > 1440px) {
    max-width: 1200px;
  }

  h1 {
    color: #00364e;
    font-weight: 600;
    font-size: 26px;
    font-family: Montserrat;
    line-height: 1.3;

    strong {
      font-weight: 800;
    }
  }

  &.block {
    opacity: 0.25;
    pointer-events: none;
    cursor: not-allowed;
    user-select: none;
  }

  .button {
    display: inline-flex;
    background-color: #ffffff;
    font-family: "Montserrat", Sans-serif;
    font-size: 18px;
    font-weight: 500;
    fill: #00364e;
    color: #00364e;
    border: 1px solid;
    border-color: #00364e;
    border-radius: 8px;
    padding: 10px 25px;
    transition: 0.2s all;

    &.button-green {
      background-color: #6bb141;
      border-color: #6bb141;
      color: #ffffff;
      fill: #ffffff;
    }

    &:hover {
      background-color: #00364e;
      color: #ffffff;
      fill: #ffffff;
    }
  }

  .etapas {
    --gap: 50px;
    display: flex;
    max-width: 100%;
    flex-direction: column;
    gap: var(--gap);
    counter-reset: counter;

    @media (width > 1024px) {
      --gap: 100px;
    }

    .etapa {
      --grid-template-columns: 1fr;
      --gap: 25px;
      counter-increment: counter;
      display: grid;
      grid-template-columns: var(--grid-template-columns);
      gap: var(--gap);
      align-items: center;
      justify-content: space-between;

      @media (width > 767px) {
        --grid-template-columns: repeat(2, 1fr);
        --gap: 50px;
      }

      .container-imagens {
        --spacing: 25px;
        --height: 250px;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        min-height: var(--height);
        background: #f2f5f6;
        padding: var(--spacing);

        @media (width > 767px) {
          --spacing: 50px;
          --height: 500px;
        }

        .imagens {
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: hidden;

          .inner-imagens {
            display: flex;
            transition: 0.3s ease;
            width: 100%;

            .imagem {
              --size: 100%;
              flex: none;
              width: var(--size);
              object-fit: contain;
              aspect-ratio: 1 / 1;
            }
          }
        }
      }

      .heading {
        --gap: 25px;
        display: flex;
        flex-direction: column;
        gap: var(--gap);

        @media (width > 1024px) {
          --padding: 50px;
          --gap: 50px;
          padding-left: var(--padding);
        }

        p,
        h2,
        h3,
        h4 {
          margin: 0;
        }

        p {
          color: #6bb141;
          font-weight: 600;
          font-size: 18px;
          font-family: Roboto;
          line-height: 26px;
          text-decoration: underline;
          text-decoration-thickness: 2px;
          text-underline-offset: 12px;
        }

        h1,
        h2 {
          --font-size: 26px;
          color: #00364e;
          font-weight: 700;
          font-size: var(--font-size);
          font-family: Montserrat;

          @media (width > 1024px) {
            --font-size: 36px;
          }
        }

        h3 {
          color: #00364e;
          font-weight: 500;
          font-size: 22px;
          font-family: Montserrat;
        }

        h4 {
          color: #005faa;
          font-weight: 700;
          font-size: 20px;
          font-family: Montserrat;
        }

        h4::before {
          content: counter(counter) " - ";
        }

        .nome-produto {
          display: flex;
          flex-direction: column;
          gap: 10px;
        }

        .container-options {
          display: flex;
          flex-direction: column;
          gap: 15px;

          .opcoes {
            --grid-template-columns: repeat(2, 1fr);
            display: grid;
            grid-template-columns: var(--grid-template-columns);
            gap: 15px;

            @media (width > 1366px) {
              --grid-template-columns: repeat(3, 1fr);
            }

            .opcao {
              display: flex;
              align-items: center;
              justify-content: center;
              gap: 15px;
              background-color: #00364e;
              color: #ffffff;
              font-family: Montserrat;
              font-size: 18px;
              border-radius: 8px;
              font-weight: 600;
              padding: 15px 25px;
              transition: 0.2s all;
              box-shadow: 0px 16px 40px 0px #00000026;
              cursor: pointer;

              input {
                display: none;
              }

              &.cores {
                &::before {
                  --size: 25px;
                  content: "";
                  border-radius: 50%;
                  background-color: var(--cor);
                  width: var(--size);
                  height: var(--size);
                  border: 2px solid;
                }
              }

              &:has(input:checked) {
                background-color: #005faa;
              }
            }
          }
        }
      }
    }

    .form {
      display: flex;
      align-items: center;
      justify-content: center;

      .form-container {
        width: 768px;
        max-width: 90%;
        .form-group {
          display: flex;
          justify-content: flex-start;
          flex-direction: column;
          gap: 20px;
          margin-bottom: 15px;

          @media (width > 767px) {
            flex-direction: row;
            align-items: center;
          }

          @media (width < 767px) {
            .-order-1 {
              order: -1;
            }
          }

          label {
            font-size: 18px;
            font-weight: 400;
            font-family: Montserrat;
            flex: 1;
            color: #0d3b66;
            display: block;

            p {
              margin: 0;
            }

            input,
            textarea {
              margin-top: 10px;
              border-color: #00364e;
              border-width: 1px;
              border-radius: 10px;
            }

            textarea {
              height: 100px;
              resize: none;
            }
          }

          .return-message {
            color: #00364e;
            font-size: 18px;
            font-weight: 400;
            font-family: Montserrat;
            margin-top: 10px;
          }
        }
      }
    }
  }
}
