@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");
* {
  margin: 0;
  padding: 0;
}

body, html {
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
}

.content {
  flex: 1;
}
.container .card:last-child {
    margin-bottom: 2rem; /* ajuste o valor conforme necessário */
  }
  
section {
  padding-block: min(20vh, 2rem);
  width: calc(min(76.5rem, 90%));
  margin-inline: auto;
  color: #111;



  a {
    display: inline-block;
    text-decoration: none;
  }

  .container {
    margin-top: 5em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
    gap: 2rem;

    .card {
      &:nth-child(1) .box .icon .iconBox {
        background: #c90404;
      }
      &:nth-child(2) .box .icon .iconBox {
        background: #c90404;
      }
      &:nth-child(3) .box .icon .iconBox {
        background: #a10202;
      }

      ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.625rem;

        li {
          text-transform: uppercase;
          background: var(--clr-tag);
          color: #282828;
          font-weight: 700;
          font-size: 0.8rem;
          padding: 0.375rem 0.625rem;
          border-radius: 0.188rem;
        }

        .branding {
          color: darken(#ff2121, 40%);
        }

        .packaging {
          color: darken(#ff2121, 40%);
        }

        .marketing {
          color: darken(#ff2121, 40%);
        }
      }

      .content {
        padding: 0.938rem 0.625rem;

        h3 {
          text-transform: capitalize;
          font-size: clamp(1.5rem, 1.3909rem + 0.4364vw, 1.8rem);
        }

        p {
          margin: 0.625rem 0 1.25rem;
          color: #565656;
        }
      }
    }

    .card-inner {
      position: relative;
      width: inherit;
      height: 18.75rem;
      background: var(--clr);
      border-radius: 1.25rem;
      border-bottom-right-radius: 0;
      overflow: hidden;

      .box {
        width: 100%;
        height: 100%;
        background: #fff;
        border-radius: 1.25rem;
        overflow: hidden;

        .imgBox {
          position: absolute;
          inset: 0;

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }

        .icon {
          position: absolute;
          bottom: -0.375rem;
          right: -0.375rem;
          width: 6rem;
          height: 6rem;
          background: var(--clr);
          border-top-left-radius: 50%;

          &:hover .iconBox {
            transform: scale(1.1);
          }

          &::before {
            position: absolute;
            content: "";
            bottom: 0.375rem;
            left: -1.25rem;
            background: transparent;
            width: 1.25rem;
            height: 1.25rem;
            border-bottom-right-radius: 1.25rem;
            box-shadow: 0.313rem 0.313rem 0 0.313rem #fff;
          }

          &::after {
            position: absolute;
            content: "";
            top: -1.25rem;
            right: 0.375rem;
            background: transparent;
            width: 1.25rem;
            height: 1.25rem;
            border-bottom-right-radius: 1.25rem;
            box-shadow: 0.313rem 0.313rem 0 0.313rem var(--clr);
          }

          .iconBox {
            position: absolute;
            inset: 0.625rem;
            background: #282828;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: 0.3s;

            span {
              color: #fff;
              font-size: 1.5rem;
            }
          }
        }
      }
    }
  }
}

.footer {
  width: 100%;
  background-color: red;
  text-align: center;
  padding: 20px 0;
  color: white;
  position: fixed;
  margin-top:50px;
  bottom: 0;
  left: 0;
}

.footer-logo {
  height: 20px;
  vertical-align: middle;
}


section > img {
  width: 30%;
  max-height: 200px;
  object-fit: cover;
}

@media (max-width: 760px) {

    section {
     margin-top: -10%;
    }
  section > img {
  width: 35%;
  margin-top: 10%;
  }

  body, html {
    display: flex;
    flex-direction: column;
  }
  .container .card:last-child {
    margin-bottom: 4rem; /* menor espaço para telas pequenas */
  }

  .footer {
    width: 111%;
    background-color: red;
    text-align: center;
    padding: 20px 0;
    color: white;
    position: relative;
    bottom: 0;
    left: -22px;
    top: 40px;
  }


  .footer-logo {
    height: 20px;
    vertical-align: middle;
  }
}
