.btn {
    text-decoration: none;
    background-color: var(--ar-green);
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    border:solid 2px var(--ar-green);
    display: inline-block;
    margin-top: 20px;

    &:is(.alt) {
      background-color: transparent;
      color: var(--ar-green);
    }
  }
  .btn.dark {
    text-decoration: none;
    background-color: white;
    color: var(--ar-green);
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    border:solid 2px white;
    display: inline-block;
    margin-top: 20px;

    &:is(.alt) {
      background-color: transparent;
      color: white;
    }
  }
  .green {
    background-color: var(--ar-green);
    color: white;
  }
  .blue {
    background-color: var(--ar-blue);
    color: white;
  }
  .white {
    background-color: white;

    &:is(.text) {
        background-color: transparent;
        color:white;
    }
  }
  .cta-banner {
    text-align: center;
    padding: 3rem;

    h4 {
        font-size: 2.5rem;
        line-height: 2.5rem;
        margin-bottom: 20px;
    }
    .btn {
        min-width: 300px;
        padding: 1rem 2rem;
    }
  }
  #o-produto {
    h2 {
        font-size: clamp(1rem, 4rem, 8rem);
        margin-bottom: 0;
        line-height: clamp(1rem, 4rem, 8rem);
        text-transform: uppercase;
        font-weight: 700;
    }
    h3 {
      text-transform: uppercase;
      font-weight: 600;
      margin-bottom: 15px;
      letter-spacing: 2px;
      font-size: 1.3rem;
      color: var(--ar-green);
    }
    .subtitle {
        font-weight: 600;
        text-transform: uppercase;
    }
    section:not(.full) {
      padding: 4rem;
    }
    section.top {
      margin-top: 80px;
      padding: 8rem 4rem;
      background-image: linear-gradient(25deg, rgba(47, 166, 83, 0.9), rgba(47, 166, 83, 0.5)), url(/assets/forest.jpg);
      color: white;
    }

    #o-que-e {
      display: flex;
      flex-direction: row;
      gap: 20px;

      p {
        margin: 20px 0;
      }
      .text-content {
        flex-grow: 1;
      }
      .img-content {
        flex-grow: 1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: center;

        .img-container {
          padding: 30px;

          img {
            max-width: 150px;
          }
        }
      }
    }

    #beneficios {
        background-color: rgba(0, 255, 0, .1);
      h3 {
        text-align: center;
      }
      .beneficio {
        outline: solid var(--ar-green) 2px;
        color: white;
        background-color: var(--ar-green);
        padding: 1rem;
        border-radius: 5px;

        p:not(:last-child) {
            font-weight: bold;
            text-transform: uppercase;
            font-size: 1rem;
            letter-spacing: 1px;
            margin-bottom: 10px;
        }
        i {
          font-size: 1.6rem;
          margin-bottom: 10px;
        }
      }
      .grid-container {
        --columns-number: 3;
        margin-top: 50px;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        grid-template-columns: repeat(var(--columns-number), 1fr);
        grid-template-rows: auto auto auto; /* Duas linhas */
        padding: 1rem 3rem;
        justify-content: center;

        .beneficio {
          min-width: 300px;
          max-width: 350px;
          min-height: 100px;
        }
      }

      /* Responsividade: telas menores (por exemplo, abaixo de 768px) */
      @media (max-width: 768px) {
        .grid-container {
          grid-template-columns: repeat(2, 1fr); /* 2 colunas */
          padding: 1rem 2rem;

          .beneficio {
            min-width: 350px;
            min-height: 100px;
          }
        }
      }

      /* Responsividade para telas muito pequenas (por exemplo, abaixo de 480px) */
      @media (max-width: 480px) {
        .grid-container {
          grid-template-columns: 1fr; /* 1 coluna */
          padding: 1rem 0;
        }
      }
    }

    #certificado, #apoio {
        text-align: center;

        h3 {
          margin-bottom: 30px;
          span {
            font-weight: bold;
            background-color: var(--ar-green);
            color: white;
            padding: 5px 20px;
          }
        }
        p {
            max-width: fit-content;
            margin-bottom: 30px;
        }
        .img-container {
          display: flex;
          gap: 1rem;
          flex-direction: row;
          flex-wrap: wrap;
          justify-content: center;
          img {
              max-height: 150px;
              margin: 20px;
          }
        }
    }
    #apoio {
      .img-container {
        display: flex;
        gap: 1rem;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        img {
            max-height: 150px;
            margin: 20px;
        }
      }
  }

    #como-funciona {
      background-color: ghostwhite;
      text-align: center;

      p {
        max-width: 100%;
        margin-bottom: 20px;
      }
      img {
        margin: 3rem 0;
      }
    }

    #mercado-e-diferenciais {
        display: flex;
        flex-wrap: nowrap;
        text-align: center;

        .mercado, .diferenciais {
            padding: 3rem;
            width: 50%;

            .item {
                display: flex;
                justify-content: center;
                grid-template-columns: 40px fit-content;
                margin-bottom: 30px;

                i{
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    margin-right: 20px;
                }
            }
        }
        h4 {
            margin-bottom: 30px;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 600;
        }
    }
    /* Responsividade: telas menores (por exemplo, abaixo de 768px) */
    @media (max-width: 768px) {
        section.top {
            padding: 8rem 1rem;
            text-align: center;
        }
        section:not(.full) {
          text-align: center;
          padding: 4rem 2rem;
        }
        #o-que-e {
          flex-direction: column;

          .img-content {
            width: 100%;
            grid-template-columns: 1fr;

            .img-container {
              img {
                margin: 0 auto;
              }
            }
          }
        }
        #como-funciona {
          padding-left: 0;
          padding-right: 0;

          p {
            margin-right: 2rem;
            margin-left: 2rem;
          }
        }
        #mercado-e-diferenciais {
            flex-wrap: wrap;
    
            .mercado, .diferenciais {
                width: 100%;
                padding: 3rem 1rem;
            }
        }
    }
  }