@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --tema: #004ab1;
}

.modal form input[type='text'],
.modal form input[type='email'],
.modal form input[type='tel'] {
  background: #efefef !important;
}

.modal form .onm-btn,
.modal form .onm-btn:hover {
  background: var(--tema) !important;
}

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  color: inherit;
}

html {
  font-family: 'Public Sans', sans-serif;
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  color: #1a1a1a;
  background-color: #efefef;
}

img {
  user-select: none;
}

a {
  text-decoration: none;
}

#frete-gratis-desktop,
#frete-gratis-mobile,
#header,
footer {
  display: none !important;
}

.onm-btn {
  width: 15.97vw;
  padding: 1.16vw 0 1.27vw;
  font-size: 1.04vw;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0vw;
  border-radius: 1.97vw;
  text-align: center;
  transition: filter 0.3s;
  color: #fff;
  background-color: #104798;
  position: relative;
  overflow: hidden;
  z-index: 8;
}

.onm-btn img {
  position: absolute;
  width: 16vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.05);
  z-index: -1;
}

.onm-btn:hover {
  filter: brightness(115%);
}

.s01 {
  width: 100%;
  position: fixed;
  top: 0;
  background-color: #efefef;
  /* background: rgb(239 239 239 / 50%);
  mix-blend-mode: normal;
  backdrop-filter: blur(0.8rem);
  -webkit-backdrop-filter: blur(0.8rem); */
  z-index: 88;
}

.s01-wrap {
  width: 79.17vw;
  margin: 0 auto;
  padding: 2.03vw 0 1.1vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0.1rem solid #c7c7d0;
}

.s01 img {
  width: 8.51vw;
  height: auto;
}

.s01 p {
  font-size: 0.92vw;
  line-height: 1.3;
  text-align: right;
  color: #c7c7d0;
}

.s02 {
  margin: 11vw 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.s02-bg {
  position: absolute;
  width: 92.59vw;
  top: 0.12vw;
  left: 50%;
  transform: translate(-50%);
  z-index: -1;
}

.s02-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s02 h1 {
  width: 31.48vw;
  font-size: 2.31vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.06vw;
  text-align: center;
}

.s02 h1 span {
  background: linear-gradient(273deg, #1a1a1a 6.27%, #e7a09a 87.46%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s02-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s02 p {
  width: 28vw;
  padding: 3.24vw 0 3.59vw;
  font-size: 1.16vw;
  line-height: 1.1;
  letter-spacing: -0vw;
  text-align: center;
  color: #1a1a1a;
}

.s02 p span {
  font-weight: bold;
}

.hide-desktop {
  display: none;
}

@media screen and (max-width: 600px) {
  .onm-btn {
    width: 50vw;
    padding: 2.82vw 0 3.85vw;
    font-size: 3.59vw;
    border-radius: 12.82vw;
  }
  .onm-btn img {
    width: 100%;
  }
  .s01-wrap {
    width: 89.74vw;
    padding: 8.21vw 0 3.85vw;
  }
  .s01 p {
    font-size: 2.56vw;
    color: #282831;
  }
  .s01 img {
    width: 22.82vw;
  }
  .s02 {
    margin: 25.64vw 0 0;
  }
  .s02 h1 {
    width: 72.82vw;
    padding: 0 0 8.72vw;
    font-size: 5.64vw;
    letter-spacing: -0.2vw;
  }
  .s02-bg {
    position: relative;
    top: initial;
    left: initial;
    transform: none;
  }
  .s02-cta {
    padding: 4vw 0 0;
    flex-direction: column-reverse;
  }
  .s02 p {
    width: 69.23vw;
    padding: 7.18vw 0 0;
    font-size: 3.08vw;
    letter-spacing: -0.1vw;
  }
  .sfooter {
    padding: 13.33vw 0 4.62vw;
    gap: 7.69vw;
  }
  .sfooter-item img {
    width: 10vw;
  }
  .sfooter h2 {
    padding: 0 0 3.08vw;
    font-size: 3.08vw;
  }
  .sfooter-item p {
    font-size: 3.08vw;
  }
  .sfooter-item {
    width: 88.46vw;
    padding: 7.69vw 6.67vw;
    gap: 5.9vw;
    border-radius: 5.13vw;
    align-items: flex-start;
  }
  .sfooter-logo {
    width: 21.54vw;
  }

  .hide-desktop {
    display: inline-block;
  }
  .hide-mobile {
    display: none;
  }
}
