@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;
}

html,
body {
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}

footer {
    margin-top: auto;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

h2{
    font-family: "Prosto One";
    color: #1F1F1F;
    font-weight: normal;
    font-size: 2rem;
    width: 100%;
    text-align: left;
    align-self: flex-start;
}

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;
    width: 80vw;
    margin: 0 auto;
    color: #1F1F1F;
    padding: 5vh 0;
    
    .center{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        img{
            width: 10vw;
            margin-bottom: 4vh;
        }

        p{
            font-size: 1.5rem;
        }
    }

    .fav-grid{
      display: grid;
      grid-template-columns: repeat(4, minmax(180px, 1fr));
      gap: 18px;
      margin-top: 4vh;
    }
    .fav-card{
      border: 3px solid rgba(235, 235, 235, 1);
      border-radius: 14px;
      padding: 14px;
      background: #fff;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .fav-img img{
      width: 100%;
      height: 180px;
      object-fit: contain;
      display: block;
    }
    .fav-name{
      font-size: 1.05rem;
      line-height: 1.25;
      min-height: 44px;
    }
    .fav-bottom{
      margin-top: auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .fav-actions{
      display: flex;
      gap: 10px;
    }
    .fav-btn{
      flex: 1;
      height: 44px;
      border: none;
      border-radius: 12px;
      background: #1F1F1F;
      color: #fff;
      font-size: 1rem;
    }
    .fav-btn:hover{
      background: #900000;
      transition: all ease-in-out .35s;
    }
    .fav-del{
      height: 44px;
      border: none;
      border-radius: 12px;
      background: rgba(205, 0, 0, 0.08);
      color: rgba(205, 0, 0, 1);
      padding: 0 14px;
      font-weight: 700;
    }
}

@media (max-width: 1240px) {
  main .fav-grid{ grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (max-width: 940px) {
  main .fav-grid{ grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 640px) {
  main .fav-grid{ grid-template-columns: 1fr; }
}

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;
  }
}




@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;
  }
}
