@import url("./reset.css");
@import url("./base.css");
@import url("./header.css");
@import url("./footer.css");

/*=============== HOME ===============*/


#home {
  height: 100vh;
  padding-top: var(--header-height);
  margin-top: 0; /* Remove margem negativa para mobile */
}

#home > :first-child {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1 0;
}

#home h1 {
  font-size: 5rem;
}

#home p {
  margin-bottom: 6rem;
  font-size: var(--bigger-font-size);
  color: white;
  text-align: justify;
}

#home a {
  align-self: flex-start;
  font-size: 1.75rem;
}

#home img {
  flex: 0 1;
  height: 512px;
  width: auto;
}

@media screen and (max-width: 1023px) {
  #home {
    height: calc(100vh - var(--header-height));
    flex-direction: column;
    align-items: stretch;
    padding-top: 0;
    height: initial;
    margin-bottom: 6rem;
  }

  #home > :first-child {
    display: flex;
    flex-direction: column;
    flex: 0 1;
    /* background: green; */
  }

  #home h1 {
    font-size: 3rem;
  }

  #home p {
    font-size: 1.25rem;
    margin-bottom: 3rem;
  }

  #home a {
    align-self: center;
    font-size: 1.125rem;
  }

  #home img {
    flex: 0 1;
    height: auto;
    width: min(100%, 512px);
    align-self: center;
    /* background: red; */
  }
  
}

.form_contacto {
  margin: 10px auto;
   padding: 30px;
    background: var(--back-color);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 10px;
}




/*=============== ABOUT ===============*/

/* #choose-us {
  padding-top: 8rem;
} */

.program__container {
  grid-template-columns: 225px;
  justify-content: center;
  row-gap: 2rem;
}

.program__card {
  display: grid;
  background-color: var(--back-color);
  padding: 1.5rem 2rem;
  border: 2px solid transparent;
  transition: background 0.5s, border 0.4s;
}

.program__img {
  width: 45px;
}

.program__shape {
  width: 50px;
  height: 50px;
  background-color: var(--first-color-gray);
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  transition: background 0.5s;
}

.program__title {
  font-size: var(--h3-font-size);
  margin-bottom: 1rem;
}

.program__description {
  font-size: var(--small-font-size);
  letter-spacing: 0.5px;
  line-height: 150%;
}

.program__title,
.program__description {
  transition: color 0.5s;
}

.program__button {
  justify-self: flex-end;
  margin-top: 1.5rem;
  font-size: 1.25rem;
  color: var(--title-color-black);
  opacity: 0;
  transition: opacity 0.4s;
}

.program__button i {
  display: block;
  transition: transform 0.3s;
}

.program__button:hover i {
  transform: translateX(0.25rem);
}

.program__card:hover {
  background-color: var(--first-color);
  border: 2px solid var(--first-color-light);
}

.program__card:hover .program__shape {
  background-color: var(--first-color-light);
}

.program__card:hover .program__title,
.program__card:hover .program__description {
  color: #000000;
}

.program__card:hover .program__button {
  opacity: 1;
}

.choose {
  padding-bottom: 0;
}

.choose__overflow {
  position: relative;
}

.choose__container {
  row-gap: 3rem;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  padding: 6rem 2rem;
}

.choose__content .section__data {
  margin-bottom: 2rem;
  text-align: initial;
  order: 1;
  justify-content: initial;
}

.choose__description {
  text-align: center;
  margin-bottom: 2.5rem;
}

.choose__data {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 2rem;
  justify-items: flex-start;
}

.choose__group {
  text-align: center;
}

.choose__number {
  font-size: var(--h1-font-size);
  font-family: var(--second-font);
  font-weight: 400;
  margin-bottom: 0.25rem;
}

.choose__subtitle {
  font-size: var(--small-font-size);
}

/*=============== SERVICES ===============*/

#mobile-app {
  display: flex;
  flex-flow: row-reverse nowrap;
  align-items: center;
  justify-content: space-between;
  height: calc(100vh - var(--header-height) - 8rem);
}

#mobile-app p {
  font-size: larger;
  text-align: justify;
}

#mobile-app .app-buttons {
  display: flex;
  gap: 1rem;
  flex-direction: row;
}

#mobile-app .app-buttons img {
  width: 8rem;
  height: auto;
}

#mobile-app .background {
  position: relative;
  overflow: hidden;
}

#mobile-app [class^="line-"] {
  position: absolute;
  top: -50%;
  left: 0;
  bottom: 0;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  --line-color: var(--first-color);
  background: var(--line-color);
  /*
    --line-start: 0%;
    --line-middle: 70%;
    background: linear-gradient(
      var(--body-color) 0%, 
      var(--line-color) var(--line-start), 
      var(--line-color) var(--line-middle), 
      var(--body-color) 100%
    ); 
    */
}

#mobile-app .line-1 {
  width: 100%;
  --line-color: var(--first-color);
}

#mobile-app .line-2 {
  width: 66%;
  --line-color: var(--first-color-alt);
}

#mobile-app .line-3 {
  width: 33%;
  --line-color: var(--first-color-dark);
}

#mobile-app .background > img {
  position: relative;
  z-index: 1;
  animation: phone-animation 3s ease-in-out infinite;
  /* transition: background-color 1s ease, color 1s ease; */
  /* Adiciona otimização para a transformação */
  will-change: transform;
}

@keyframes phone-animation {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-10px) rotate(-3deg);
  }
}

/*=============== STORE ===============*/

#store {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  align-items: center;
  padding-top: 8rem;
  height: calc(100vh - var(--header-height) - 8rem);
}


/*=============== PRR FUNDING ===============*/

#prr-funding {
  display: flex;
  justify-content: center;
  padding: 3rem 1.5rem 1.5rem;
}

.prr-funding__content {
  width: min(100%, 900px);
  background: var(--container-color);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.prr-funding__content h1 {
  font-size: var(--normal-font-size);
  font-weight: 700;
  color: var(--title-color);
  margin: 0;
}

.prr-funding__media {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.prr-funding__content img {
  width: 173px;
  max-width: 100%;
  height: auto;
  display: block;
}

.prr-funding__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border-radius: 0.5rem;
  background: var(--first-color);
  color: var(--title-color-black);
  font-weight: 700;
  text-decoration: none;
}

.prr-funding__link:hover {
  background: var(--first-color-alt);
}

@media screen and (max-width: 767px) {
  #prr-funding {
    padding: 2rem 1rem 1rem;
  }

  .prr-funding__content {
    padding: 1.25rem;
  }
}

#store .card {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  /* justify-content: center; */
  gap: 2rem;
  background-color: var(--back-color);
  padding: 0rem;
  border-radius: 16px;
  overflow: hidden;
  /* Smooth corners for a better effect */
  transition: transform 0.3s ease, box-shadow 0.3s ease;

}

#store .card:hover {
  box-shadow: var(--pricing__card-shadow);
}

#store header {
  display: flex;
  flex-direction: column;
  padding: 1rem 0 0 1rem;
  /* background: red; */
}

#store h3 {
  margin: 0;
}

#store .card h3 {
  font-size: var(--h3-font-size);
  color: var(--text-color);
}

#store .card > img {
  width: 80%;
  height: auto;
  align-self: center;
}

#store a {
  display: block;
  background-color: var(--button-store);
  border: 0px;
  padding: 18px 32px;
  color: var(--title-color-black);
  font-weight: var(--font-bold);
  cursor: pointer;
  transition: background 0.3s;
  text-align: center;
}

#store a:hover {
  background-color: var(--button-store-hover);
}




.swiper-container {
  width: 100%;
  max-width: 1100px; /* Mantém uma largura máxima em telas grandes */
  padding-top: 50px;
  padding-bottom: 50px;
}

.swiper-slide {
  width: 300px; /* Mantém um tamanho adequado nos desktops */
}


/* To do: color and icons */
/*
.swiper-pagination {

}
*/

.pricing__card,
.pricing__shape,
.pricing__list {
  display: grid;
}

/* Pricing card styles */
.pricing__card {
  row-gap: 2rem;
  background-color: var(--back-color);
  padding: 2rem 2.5rem;
  border-radius: 15px;
  /* Smooth corners for a better effect */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pricing__card:hover {
  transform: scale(1.05) translateY(-10px);
  /* Scale up and move up */
  box-shadow: var(--pricing__card-shadow);
  /* Stronger outer glow */
}

/* Pricing image styles */
.pricing__img {
  width: 35px;
}

/* Shape styles inside the card */
.pricing__shape {
  width: 60px;
  height: 60px;
  background-color: var(--first-color-gray);
  border-radius: 50%;
  place-items: center;
  margin-bottom: 1rem;
}

/* Title styles */
.pricing__title {
  font-size: var(--h3-font-size);
  color: var(--text-color);
  margin-bottom: 1rem;
}

/* Number styles */
.pricing__number {
  font-size: var(--h1-font-size);
}

/* List styles */
.pricing__list {
  row-gap: 1rem;
}

/* Individual item styles */
.pricing__item {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
  font-size: var(--small-font-size);
}

/* Icon styles inside each item */
.pricing__item i {
  font-size: 1.25rem;
  color: var(--first-color);
}

/* Opacity for certain items */
.pricing__item-opacity {
  opacity: 0.3;
}

/* Button styles */
.pricing__button {
  background-color: var(--button-price);
  border: 0px;
}

/* Button hover effect */
.pricing__button:hover {
  background-color: var(--button-hover);
}

/* Active card state styles */
.pricing__card-active {
  background-color: var(--first-color);
  border: 2px solid var(--first-color-light);
}

.pricing__card-active .pricing__shape {
  background-color: var(--first-color-light);
}

.pricing__card-active .pricing__item i {
  color: var(--title-color);
}

.pricing__card-active .pricing__title,
.pricing__card-active .pricing__number,
.pricing__card-active .pricing__item {
  color: var(--title-color-black);
}



    #porque-escolher-nos {
        text-align: center;
        padding: 50px 20px;
        background-color: #f4f4f4;
    }

    .botao-saber-mais {
      position: absolute;
      bottom: 10px;
      right: 10px;
      background-color: #007bff;
      color: white;
      border: none;
      padding: 8px 12px;
      font-size: 14px;
      border-radius: 5px;
      cursor: pointer;
      transition: background 0.3s;
  }
  
  .botao-saber-mais:hover {
      background-color: #0056b3;
  }
    .banner-rega {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--back-color);
        padding: 20px;
        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        margin-top: 20px;
      
    }

    .banner-rega img:hover {
      transform: scale(1.05) translateY(-10px);
  /* Scale up and move up */
      box-shadow: var(--pricing__card-shadow);
      
  }

    .banner-rega img {
        max-width: 40%;
        border-radius: 10px;
    }
    .banner-texto {
        max-width: 50%;
        padding-left: 20px;
        text-align: left;
    }
    .banner-texto h3 {
        color: #2c7a2c;
        font-size: 1.8em;
    }
    .banner-texto p {
        font-size: 1.2em;
        color: #555;
    }
    @media (max-width: 768px) {
        .banner-rega {
            flex-direction: column;
            text-align: center;
        }
        .banner-texto {
            max-width: 100%;
            padding-left: 0;
        }
        .banner-rega img {
            max-width: 80%;
            margin-bottom: 15px;
        }
    }





@media (max-width: 767px) {
  .swiper-button-next,
  .swiper-button-prev {
      display: none !important;
  }
  .swiper-container {
    width: 100%;
    max-width: 350px; /* Define um tamanho máximo */
    overflow: hidden; /* Evita que o layout estoure */
}

.swiper-slide {
    width: 90%; /* Mantém os cartões dentro da tela */
}
}