* {
  font-family: "Kufam", serif;
  font-weight: 500;
  font-style: normal;
  color: #4d4d4d;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

body {
  background-color: whitesmoke;
}

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: #4d4d4d;
}

button {
  display: flex;
  justify-content: center;
  align-items: center;
}

.whatsapp-icon {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999; /* Garante que o ícone ficará acima de outros elementos */
  background-color: #25d366; /* Cor de fundo do ícone */
  border-radius: 50%;
  padding: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.whatsapp-icon img {
  width: 50px; /* Tamanho do ícone */
  height: 50px; /* Tamanho do ícone */
  display: block;
  border-radius: 50%;
}

/* HEADER */

.menu-container {
  display: flex;
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  justify-content: space-evenly;
  align-items: center;
  height: 96px;
  background-color: whitesmoke;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.menu-container.scrolled {
  background-color: #e4f8f8;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.logo-menu-container img {
  width: 132px;
  height: auto;
}

.links-menu-container ul {
  display: flex;
  gap: 32px;
}

.links-menu-container ul li a {
  font-size: 20px;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
}

.links-menu-container ul li a:hover {
  color: #49a6a6;
}

.button-menu-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.button-menu-container > button {
  background-color: #49a6a6;
  border: none;
  padding: 12px;
  border-radius: 12px;
  color: whitesmoke;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.07em;
  transition: background-color 0.3s ease;
}

.button-menu-container > button:hover {
  background-color: #278686;
}

.redes-container {
  display: flex;
  gap: 12px;
  margin-left: 12px;
}

.redes-container button {
  width: 42px;
  height: 42px;
  border: 1px solid #49a6a6;
  padding: 8px;
  border-radius: 12px;
  background-color: #e4f8f8;
}

.redes-container button a img {
  width: 22px;
  height: 22px;
}

/* MAIN */

.carousel-container {
  margin-top: 100px;
}

.item-carousel img {
  width: 100%;
  height: auto;
  border-top-left-radius: 74px;
  border-bottom-right-radius: 74px;
}

.banner-container {
  display: flex;
  margin-top: 24px;
}

.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.banner-info-container {
  background-color: #49a6a6;
  padding: 62px;
  height: 524px;
  border-bottom-left-radius: 78px;
  background-image: url("/assets/img/pata-cachorro.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.banner-container h1 {
  color: whitesmoke;
  font-size: 48px;
  font-weight: 600;
}

.banner-container p {
  color: whitesmoke;
  font-size: 18px;
  font-weight: 300;
}

.banner-img-container {
  background-image: url("/assets/img/dachshund.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-bottom-right-radius: 78px;
  border-top-right-radius: 78px;
}

.banner-container button {
  margin-top: 36px;
  border: none;
  background-color: whitesmoke;
  padding: 12px;
  border-radius: 12px;
  border: 2px solid whitesmoke;
  transition: background-color 0.3s ease;
}

.banner-container button a {
  color: #49a6a6;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.07em;
  transition: color 0.3s ease;
}

.banner-container button:hover {
  background-color: #49a6a6;
}

.banner-container button:hover a {
  color: whitesmoke;
}

.numeros-container {
  display: flex;
  align-items: center;
  margin-top: 52px;
  gap: 48px;
}

.numero h3 {
  font-size: 40px;
  font-weight: 600;
  color: whitesmoke;
  padding: 0;
  margin: 0;
}

.numero p {
  font-size: 18px;
  font-weight: 300;
  color: whitesmoke;
  padding: 0;
  margin: 0;
}

/* SERVIÇOS */

.servicos-container {
  margin-top: 86px;
}

.servicos-container h1 {
  text-align: center;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 62px;
}

.servicos-lista-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 20px 0;
  flex-wrap: wrap;
}

.servico {
  width: 300px;
  height: 424px;
  border-radius: 32px;
  padding: 32px;
  background-color: whitesmoke;
  flex: 0 0 auto;
  transition: background-color 0.7s ease;
}

.servicos-img {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #49a6a6;
  border-radius: 12px;
  margin-bottom: 32px;
}

.servicos-img img {
  width: 32px;
  height: 32px;
}

.servico h3 {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 24px;
  padding: 0;
  transition: color 0.7s ease;
}

.servico p {
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 32px;
  transition: color 0.7s ease;
}

.button-servicos {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.button-servicos button {
  width: 100%;
  padding: 12px;
  border: none;
  background-color: #c5e9e5;
  border-radius: 12px;
  color: #49a6a6;
}

.servico:hover {
  background-color: #49a6a6;
}

.servico:hover h3,
.servico:hover p {
  color: whitesmoke;
}

/* Personaliza a barra de rolagem no Chrome, Edge e Safari */
.servicos-lista-container::-webkit-scrollbar {
  height: 8px; /* Altura da barra de rolagem */
}

.servicos-lista-container::-webkit-scrollbar-track {
  background-color: #f1f1f1; /* Cor do fundo da barra de rolagem */
  border-radius: 10px; /* Arredondar as bordas do fundo */
}

.servicos-lista-container::-webkit-scrollbar-thumb {
  background-color: #49a6a6; /* Cor da parte da barra de rolagem que se move */
  border-radius: 10px; /* Arredondar as bordas da parte da barra de rolagem */
  border: 2px solid #f1f1f1; /* Adiciona uma borda ao redor da parte da barra */
}

/* Personaliza a barra de rolagem no Firefox */
.servicos-lista-container {
  scrollbar-width: thin; /* Deixa a barra de rolagem mais fina */
  scrollbar-color: #49a6a6 #f1f1f1; /* Cor da parte que se move e o fundo da barra */
}

/* SOBRE NOS */

.sobrenos-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 84px;
}
.sobrenos-img {
  width: 50%;
  height: 642px;
  border-bottom-left-radius: 78px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.sobrenos-img img {
  width: 752px;
}

.sobrenos-texto {
  margin-top: 64px;
}

.sobrenos-texto h1 {
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 24px;
}

.sobrenos-texto p {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
}

/* AVALIACAO */

#avaliacao {
  margin: 24px 0 0 0;
  padding: 86px;
  background: linear-gradient(to top, #c4fafa, whitesmoke);
}

.carousel-star {
  display: flex;
  margin-top: 12px;
}

.carousel-star img {
  width: 24px;
}

.carousel-avaliacao {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.carousel-avaliacao h3 {
  margin-top: 18px;
  padding: 0;
  font-weight: 600;
}

.carousel-avaliacao p {
  margin: 0;
  padding: 0;
}

/* MAPA */

.mapa-container {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

/* CONTATO */

.contato-container {
  margin-top: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.contato-container > div {
  display: flex;
}

.contato-box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 32px;
}

.contato-icon {
  width: 56px;
  height: 56px;
  padding: 12px;
  margin: 12px;
  border-radius: 12px;
  background-color: #c4fafa;
}

.contato-icon img {
  width: 32px;
  height: 32px;
}

.contato-info h6 {
  padding: 0;
  margin: 0;
}

.contato-info a h4 {
  font-weight: 600;
}

/* FOOTER */

.footer-container {
  display: flex;
  justify-content: space-around;
  margin: 84px 0 84px 0;
}

.footer-logo-container img {
  width: 184px;
  height: auto;
  margin-bottom: 32px;
}

.footer-nav-container h5,
.footer-servicos-container h5 {
  font-weight: 600;
  margin-bottom: 24px;
  color: #383737;
}

.footer-nav-container ul li,
.footer-servicos-container ul li {
  margin-bottom: 12px;
}

.footer-redes {
  display: flex;
  gap: 12px;
}

.footer-redes > div {
  width: 42px;
  height: 42px;
  background-color: #49a6a6;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
}

.footer-redes div a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.footer-redes div a img {
  width: 28px;
  height: auto;
  margin-top: 32px;
}

.nav-footer-container {
  display: flex;
  width: 100%;
  justify-content: space-evenly;
}

.mobile-menu-container {
  display: none;
}

strong {
  color: whitesmoke;
  font-weight: 800;
  text-decoration: underline;
}

#hamburger-menu {
  margin: 20px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  border-radius: 5px;
  border: none;
  background: #ffffff;
  padding: 6px 12px 6px 12px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
  display: none;
}

#hamburger-menu img {
  width: 20px;
  color: #093a3a;
}

.mobile-nav {
  display: none;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  background-color: #fff;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
  padding-top: 44px;
  height: 100vh;
}

#close-container {
  position: absolute;
  top: 15px;
  right: 32px;
  font-size: 22px;
}

#close-container img {
  width: 20px;
  color: #093a3a;
}

.mobile-nav ul {
  list-style: none;
  padding: 20px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mobile-nav li a {
  color: #093a3a;
  font-size: 18px;
}

.servicos-page {
  margin-top: 100px;
}

.servicos-page h1 {
  margin: 162px 0 32px 0;
  text-align: center;
  font-weight: 600;
}

.text-servico-page p {
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.1em;
}

.img-servico-page img {
  width: 100%;
  height: auto;
  border-top-left-radius: 52px;
  border-bottom-right-radius: 52px;
}

.button-agendar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px;
}

.button-agendar button {
  background-color: #49a6a6;
  width: 324px;
  height: 64px;
  border: none;
  border-radius: 12px;
}

.button-agendar button a {
  color: whitesmoke;
}

.button-agendar button a img {
  width: 28px;
  height: auto;
  margin-right: 28px;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .button-menu-container {
    display: none;
  }

  .contato-info h6 {
    font-size: 18px;
  }

  .contato-info a h4 {
    font-size: 32px;
  }

  .contato-container > div {
    flex-direction: column;
  }

  .contato-box {
    justify-content: start;
  }

  .item-carousel img {
    border-top-left-radius: 52px;
    border-bottom-right-radius: 0;
  }

  .img-servico-page img {
    margin-bottom: 24px;
  }
}

@media (max-width: 768px) {
  .menu-container {
    display: none;
  }

  .mobile-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 32px;
  }

  .mobile-menu-container img {
    width: 128px;
    height: auto;
  }

  .banner-info-container {
    padding: 32px;
    margin-left: 0;
    height: 524px;
  }

  .banner-container {
    margin-top: 0;
    width: 100%;
  }

  .banner-img-container {
    display: none;
  }

  .banner-container h1 {
    font-size: 32px;
  }

  .banner-container p {
    font-size: 16px;
    margin-top: 24px;
  }

  .banner-container button a {
    font-size: 16px;
    width: 100%;
  }

  .numeros-container {
    gap: 12px;
  }

  .numero h3 {
    font-size: 28px;
  }

  .banner-container p {
    margin-top: 2px;
  }

  .servicos-container h1 {
    text-align: center;
    font-size: 32px;
    margin-bottom: 12px;
  }

  .sobrenos-container {
    margin-top: 24px;
  }

  .servico {
    padding: 18px;
    border: solid 1px #c5e9e5;
  }

  .sobrenos-img {
    width: 100%;
    display: flex;
  }

  .sobrenos-img img {
    width: 160%;
  }

  .sobrenos-texto {
    margin-top: 24px;
    padding: 24px;
  }

  .sobrenos-texto h1 {
    margin-bottom: 12px;
    font-size: 32px;
  }

  .carousel-avaliacao p {
    text-align: center;
    font-size: 14px;
  }

  .carousel-avaliacao h3 {
    text-align: center;
    font-size: 20px;
  }

  #avaliacao {
    margin: 0;
  }

  .contato-container > div {
    flex-direction: column;
  }

  .contato-box {
    justify-content: start;
  }

  .footer-container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .nav-footer-container {
    margin-top: 46px;
    gap: 42px;
  }

  .footer-redes {
    justify-content: center;
    align-items: center;
    margin-top: 32px;
  }

  #hamburger-menu {
    display: block;
  }

  .hamburger-menu {
    display: flex;
  }

  .mobile-nav.active {
    display: flex;
  }

  .item-carousel img {
    width: 180%;
    height: auto;
    border-top-left-radius: 32px;
    border-bottom-right-radius: 32px;
  }

  .carousel-container {
    margin-top: 0;
    margin-bottom: 12px;
  }

  .servicos-page {
    margin-top: 0;
  }

  .servicos-page h1 {
    margin: 32px 0 12px 0;
  }

  .img-servico-page img {
    margin-bottom: 24px;
  }
}
