@font-face {
  font-family: "Prosto One";
  src: url(/fonts/ProstoOne-Regular.ttf);
}

@font-face {
  font-family: "Roboto";
  src: url(/fonts/Roboto-VariableFont_wdth\,wght.ttf);
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Roboto";
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  user-select: none;
}

header {
  color: #fff;

  .head1_back {
    background-color: #1F1F1F;

    .head1 {
      max-width: 80vw;
      height: 5vh;
      margin: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;

      .delivery,
      .phone {
        display: flex;
        align-items: center;
        gap: 0.5vw;
      }

      .social {
        display: flex;
        align-items: center;
        gap: 1vw;
      }

      nav {
        display: flex;
        gap: 2vw;

        a:after {
          display: block;
          content: "";
          height: 2px;
          width: 0%;
          background-color: #fff;
          transition: width 0.6s ease-in-out;
          -webkit-transition: width 0.6s ease-in-out;
          -moz-transition: width 0.6s ease-in-out;
          -ms-transition: width 0.6s ease-in-out;
          -o-transition: width 0.6s ease-in-out;
        }

        a:hover:after {
          width: 100%;
        }
      }
    }
  }

  .head2_back {
    border: 3px solid rgba(235, 235, 235, 1);

    .head2 {
      padding: 1vh 0;
      max-width: 80vw;
      margin: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-height: 9vh;
      .catalog {
        height: 6vh;
        display: flex;
        align-items: center;
        font-size: 1.1rem;
        gap: 2vw;
        background-color: #1F1F1F;
        padding: 0 2vw;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
      }

      form {
        display: flex;
        align-items: center;
        height: 6vh;
        button {
          font-size: 1.1rem;
          height: 6vh;
          background-color: #1F1F1F;
          padding: 0 2vw;
          color: #fff;
          border: none;
          border-radius: 0 10px 10px 0;
        }

        input {
          color: rgba(59, 59, 59, 1);
          border: 3px solid rgba(235, 235, 235, 1);
          width: 19vw;
          height: 6vh;
          padding: 0 2vw;
          border-radius: 10px 0 0 10px;
        }

        button:hover {
          background-color: #900000;
          transition: all ease-in-out 0.5s;
        }
      }

      nav {
        display: flex;
        align-items: center;
        gap: 1vw;
      }
    }
  }
}

main {
  max-width: 80vw;
  margin: auto;
  color: rgba(59, 59, 59, 1);
  padding: 7vh 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7vw;
  align-items: flex-start;

  h3 {
    font-size: 1.5rem;
    padding-bottom: 3vh;
    color: #1F1F1F;
  }

  p {
    font-size: 1.2rem;
  }

  iframe {
    padding-bottom: 5vh;
    height: 40vh;
    width: 40vw;
  }

  form {
    display: flex;
    flex-direction: column;

    .form1 {
      display: flex;
      justify-content: space-between;
    }
    .form2 {
      display: flex;
      flex-direction: column;
    }
    label {
      font-size: 1.2rem;
      padding-bottom: 2vh;
    }

    textarea {
      margin-bottom: 4vh;
      padding: 2vh;
      height: 10vh;
      width: 30vw;
      border-radius: 10px;
      border: 3px solid rgba(235, 235, 235, 1);
      font-size: 1rem;
    }

    input {
      padding: 1vh;
      height: 5h;
      width: 14vw;
      border-radius: 10px;
      border: 3px solid rgba(235, 235, 235, 1);
      font-size: 1rem;
    }

    button {
      display: flex;
      align-self: center;
      justify-content: center;
      align-items: center;
      margin-top: 5vh;
      width: 20vw;
      height: 7vh;
      font-size: 1.2rem;
      background-color: #1F1F1F;
      padding: 0 3vw;
      color: #fff;
      border: none;
      border-radius: 10px;
    }

    button:hover {
      background-color: #900000;
      transition: all ease-in-out 0.5s;
    }
  }
}

footer {
  .foot1_back {
    background-color: #1F1F1F;

    .foot1 {
      max-width: 80vw;
      margin: auto;
      color: #fff;
      display: flex;
      justify-content: space-between;
      padding: 4vh 0;

      .info1 {
        h3 {
          font-size: 1.5rem;
          padding-bottom: 2vh;
        }
        p {
          font-size: 1.1rem;
        }

        .number {
          font-size: 1.5rem;
          padding: 2vh 0;
        }
      }

      .info2 {
        display: flex;
        flex-direction: column;
        h4 {
          font-size: 1.3rem;
        }

        a {
          font-size: 1.1rem;
          padding-bottom: 1vh;
        }

        a:after {
          display: block;
          content: "";
          height: 2px;
          width: 0%;
          background-color: #fff;
          transition: width 0.6s ease-in-out;
          -webkit-transition: width 0.6s ease-in-out;
          -moz-transition: width 0.6s ease-in-out;
          -ms-transition: width 0.6s ease-in-out;
          -o-transition: width 0.6s ease-in-out;
        }

        a:hover:after {
          width: 100%;
        }

        .line {
          background-color: #fff;
          width: 13vw;
          height: 2px;
          margin-bottom: 2vh;
        }
      }
    }
  }

  .foot2 {
    text-align: center;
    padding: 2vh;
    color: #1F1F1F;
  }
}

/* Contact form "sent" modal */
#success-modal.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.55);
  z-index: 2000;
}

#success-modal .modal-content {
  width: min(520px, 100%);
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(59, 59, 59, 0.12);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
  padding: 18px 18px 16px;
  transform: translateY(6px);
  opacity: 0;
  transition: transform 180ms ease, opacity 180ms ease;
}

#success-modal.modal.show .modal-content {
  transform: translateY(0);
  opacity: 1;
}

#success-modal .modal-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

#success-modal .modal-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #fff;
  background: #1F1F1F;
}

#success-modal .modal-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  color: #1f1f1f;
  font-family: "Prosto One", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif;
  font-weight: 400;
}

#success-modal .modal-text {
  margin: 8px 0 0;
  color: rgba(59, 59, 59, 0.88);
  line-height: 1.4;
  font-size: 14px;
}

#success-modal .modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

#success-modal .modal-btn {
  border: none;
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
  background: rgba(59, 59, 59, 0.08);
  color: #1f1f1f;
}

#success-modal .modal-btn.primary {
  background: #1F1F1F;
  color: #fff;
}

#success-modal.error .modal-icon {
  background: #1F1F1F;
}

#success-modal.error .modal-btn.primary {
  background: #1F1F1F;
}

body.modal-open {
  overflow: hidden;
}


@media (max-width: 1240px) {
  header .head2_back .head2 .search input {
    width: 26vw;
  }
  main .hits .tovar_cards .tovar_card {
    width: 22vw;
  }
}
@media (max-width: 1040px) {
  header .head2_back .head2 .search input {
    width: 24vw;
  }
  main .categories .categories_card {
    flex-direction: column;
    gap: 2vh;
  }
  main .categories .category {
    width: 100%;
    height: auto;
  }
  main .categories .category2 .category3 {
    width: 100%;
  }
  main .hits .tovar_cards {
    justify-content: center;
    gap: 2vw;
  }
  main .hits .tovar_cards .tovar_card {
    width: 28vw;
    height: auto;
  }
}
@media (max-width: 840px) {
  header .head1_back {
    display: none;
  }
  header .head2_back .head2 .search {
    display: none;
  }
  header .head2_back .head2 {
    flex-wrap: wrap;
    gap: 10px;
  }
  header .head2_back .head2 .logo {
    height: 48px;
  }
  header .head2_back .head2 nav {
    order: 3;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 4vw;
  }
  main .hits .tovar_cards .tovar_card img {
    width: 60vw;
    height: auto;
  }
  main .hits .tovar_cards .tovar_card {
    width: 60vw;
  }
  main .market .market_cards {
    gap: 3vh;
  }
  main .market .market_cards .market_card {
    width: 44vw;
  }
}
@media (max-width: 640px) {
  main .banner .slide .slide_content {
    flex-direction: column;
    height: auto;
    padding: 4vh 0;
  }
  main .banner .slide .slide_content img {
    height: 32vh;
  }
  main .banner .slide .text_slide {
    padding: 4vh 6vw;
  }
  main .categories .categories_card {
    gap: 3vh;
  }
  main .hits .tovar_cards .tovar_card {
    width: 86vw;
  }
  main .hits .tovar_cards .tovar_card img {
    width: 80vw;
  }
  main .market .market_cards .market_card {
    width: 86vw;
  }
  main input,
  main textarea {
    width: 100%;
  }
  footer .foot1_back .foot1 {
    flex-direction: column;
    gap: 3vh;
  }
  footer .foot1_back .foot1 .info2 .line {
    width: 40vw;
  }
}
@media (max-width: 540px) {
  h2 {
    font-size: 2rem;
  }
  main .banner .slide .text_slide h1 {
    font-size: 2.2rem;
  }
  main .banner .slide .text_slide p {
    font-size: 1.1rem;
  }
  header .head2_back .head2 .catalog {
    gap: 2vw;
    padding: 0 4vw;
  }
}
@media (max-width: 440px) {
  .back-to-top {
    right: 12px;
    bottom: 12px;
    width: 42px;
    height: 42px;
  }
  .mobile-nav {
    width: 88vw;
  }
}
