@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400&display=swap');

:root {
   --main-color: #2980b9;
   --red: #e74c3c;
   --orange: #f39c12;
   --light-color: #666;
   --light-bg: #eee;
   --white: #fff;
   --black: #2c3e50;
   --border: .1rem solid rgba(0, 0, 0, .3);
   --box-shodow: 0 .5rem 1rem rgba(0, 0, 0, .1);
}

* {
   font-family: 'Montserrat', sans-serif;
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   outline: none;
   border: none;
   text-decoration: none;
}

*::selection {
   background-color: var(--main-color);
   color: var(--white);
}

*::-webkit-scrollbar {
   height: .5rem;
   width: 1rem;
}

*::-webkit-scrollbar-track {
   background-color: transparent;
}

*::-webkit-scrollbar-thumb {
   background-color: var(--main-color);
}

html {
   font-size: 62.5%;
   overflow-x: hidden;
}

body {
   background: var(--light-bg);
   /* padding-bottom: 8rem; */
}

section {
   padding: 2.5rem 2rem;
   max-width: 1200px;
   margin: 0 auto;
}

.heading {
   text-align: center;
   padding-bottom: 2.5rem;
   font-size: 3rem;
   color: var(--black);
   text-transform: capitalize;
}

.empty {
   width: 100%;
   background-color: var(--white);
   padding: 1.5rem;
   text-align: center;
   font-size: 2rem;
   color: var(--red);
   border-radius: .5rem;
   text-transform: capitalize;
   box-shadow: var(--box-shodow);
   border: var(--border);
}

.btn,
.delete-btn {
   display: block;
   text-align: center;
   width: 100%;
   margin-top: 1rem;
   padding: 1rem 3rem;
   color: var(--white);
   cursor: pointer;
   font-size: 1.8rem;
   text-transform: capitalize;
   border-radius: .5rem;
}

.btn {
   background-color: var(--main-color);
}

.delete-btn {
   background-color: var(--red);
}

.btn:hover,
.delete-btn:hover {
   background-color: var(--black);
}

.header {
   position: sticky;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1000;
   box-shadow: var(--box-shodow);
   background-color: var(--black);
}

.header .flex {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1.5rem;
}

.header .flex .logo {
   font-size: 2.5rem;
   color: var(--white);
}

.header .flex .navbar a {
   color: var(--white);
   margin-left: 2rem;
   font-size: 1.8rem;
   text-transform: capitalize;
}

.header .flex .navbar a:hover {
   text-decoration: underline;
}

.header .flex .navbar a span {
   margin-left: 1rem;
   padding: .3rem .7rem;
   background-color: var(--white);
   color: var(--black);
   border-radius: .5rem;
}

#menu-btn {
   font-size: 2.5rem;
   color: var(--white);
   display: none;
}

.product-form {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: calc(100vh - 15rem);
}

.product-form form {
   border: var(--border);
   border-radius: .5rem;
   padding: 2rem;
   width: 50rem;
   background-color: var(--white);
   box-shadow: var(--box-shodow);
}

.product-form form h3 {
   padding-bottom: 1rem;
   font-size: 2.5rem;
   color: var(--black);
   text-transform: capitalize;
   text-align: center;
}

.product-form form p {
   padding-top: 1rem;
   font-size: 1.7rem;
   color: var(--light-color);
}

.product-form form p span {
   color: red;
}

.product-form form .box {
   width: 100%;
   border-radius: .5rem;
   background-color: var(--light-bg);
   margin: 1rem 0;
   font-size: 1.8rem;
   color: var(--black);
   padding: 1.4rem;
}

.products .box-container {
   display: grid;
   grid-template-columns: repeat(auto-fit, 35rem);
   align-items: flex-start;
   justify-content: center;
   gap: 1.5rem;
}

.products .box-container .box {
   border: var(--border);
   box-shadow: var(--box-shodow);
   background-color: var(--white);
   padding: 2rem;
   border-radius: .5rem;
}

.products .box-container .box .image {
   height: 20rem;
   width: 100%;
   object-fit: contain;
   margin-bottom: 2rem;
}

.products .box-container .box .name {
   font-size: 2rem;
   color: var(--black);
}

.products .box-container .box .flex {
   padding-bottom: 1rem;
   display: flex;
   gap: 1rem;
   align-items: flex-end;
}

.products .box-container .box .price {
   font-size: 1.7rem;
   color: var(--red);
   margin-right: auto;
}

.products .box-container .box .flex .qty {
   border: var(--border);
   border-radius: .5rem;
   padding: .5rem 1rem;
   width: 6.5rem;
   font-size: 1.8rem;
   color: var(--black);
}

.products .box-container .box .flex .fa-edit {
   background-color: var(--orange);
   border-radius: .5rem;
   font-size: 1.7rem;
   color: var(--white);
   height: 3.5rem;
   width: 4.5rem;
   cursor: pointer;
}

.products .box-container .box .flex .fa-edit:hover {
   background-color: var(--black);
}

.products .box-container .box .sub-total {
   padding-bottom: 1rem;
   font-size: 1.7rem;
   color: var(--light-color);
}

.products .box-container .box .sub-total span {
   color: var(--red);
}

.products .cart-total {
   max-width: 40rem;
   margin: 0 auto;
   background-color: var(--white);
   margin-top: 2rem;
   border-radius: .5rem;
   border: var(--border);
   padding: 2rem;
   box-shadow: var(--box-shodow);
}

.products .cart-total p {
   padding-bottom: 1rem;
   font-size: 2rem;
   color: var(--light-color);
}

.products .cart-total p span {
   color: var(--red);
}

.checkout .row {
   display: flex;
   flex-wrap: wrap;
   gap: 2rem;
   align-items: flex-end;
   flex-wrap: wrap-reverse;
}

.checkout .row form {
   flex: 1 1 50rem;
   background-color: var(--white);
   box-shadow: var(--box-shodow);
   padding: 2rem;
   border-radius: .5rem;
   border: var(--border);
}

.checkout .row form h3 {
   font-size: 2.5rem;
   color: var(--black);
   padding-bottom: 1rem;
   text-align: center;
   text-transform: capitalize;
}

.checkout .row form .input {
   width: 100%;
   background-color: var(--light-bg);
   border-radius: .5rem;
   padding: 1.4rem;
   color: var(--black);
   font-size: 1.8rem;
   margin: 1rem 0;
}

.checkout .row form .flex {
   display: flex;
   column-gap: 1.5rem;
   flex-wrap: wrap;
}

.checkout .row form .flex .box {
   flex: 1 1 30rem;
}

.checkout .row form p {
   padding-top: 1rem;
   font-size: 1.6rem;
   color: var(--light-color);
}

.checkout .row form p span {
   color: var(--red);
}

.checkout .row form textarea {
   height: 15rem;
   resize: none;
}

.checkout .row .summary {
   background-color: var(--white);
   box-shadow: var(--box-shodow);
   padding: 2rem;
   border-radius: .5rem;
   border: var(--border);
   flex: 1 1 30rem;
}

.checkout .row .summary .title {
   font-size: 2.2rem;
   color: var(--black);
   border-bottom: var(--border);
   margin-bottom: .5rem;
   text-transform: capitalize;
   padding-bottom: 1.5rem;
}

.checkout .row .summary .flex {
   display: flex;
   align-items: center;
   gap: 1.5rem;
   padding: 1rem 0;
}

.checkout .row .summary .flex img {
   height: 6rem;
   width: 6rem;
   object-fit: contain;
}

.checkout .row .summary .flex .name {
   font-size: 1.8rem;
   color: var(--black);
   padding-bottom: .5rem;
}

.checkout .row .summary .flex .price {
   font-size: 1.6rem;
   color: var(--red);
}

.checkout .row .summary .grand-total {
   background-color: var(--light-bg);
   border-radius: .5rem;
   padding: 1.5rem 2rem;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1.5rem;
   flex-wrap: wrap;
   font-size: 2rem;
   margin-top: 1.5rem;
}

.checkout .row .summary .grand-total span {
   color: var(--light-color);
}

.checkout .row .summary .grand-total p {
   color: var(--red);
}

.orders .box-container {
   display: grid;
   grid-template-columns: repeat(auto-fit, 35rem);
   align-items: flex-start;
   justify-content: center;
   gap: 1.5rem;
}

.orders .box-container .box {
   background-color: var(--white);
   border-radius: .5rem;
   border: var(--border);
   padding: 2rem;
   overflow-x: hidden;
}

.orders .box-container .box .date {
   padding: 1rem 1.5rem;
   color: var(--light-color);
   background-color: var(--light-bg);
   font-size: 1.6rem;
   display: inline-block;
   margin-bottom: 1.5rem;
   border-radius: .5rem;
}

.orders .box-container .box .date i {
   margin-right: 1rem;
   color: var(--main-color);
}

.orders .box-container .box .image {
   height: 20rem;
   width: 100%;
   object-fit: contain;
   margin: 1rem 0;
}

.orders .box-container .box .name {
   font-size: 2rem;
   color: var(--black);
   text-overflow: ellipsis;
   margin: 1rem 0;
   overflow-x: hidden;
}

.orders .box-container .box .price {
   color: var(--red);
   font-size: 1.8rem;
   padding: .5rem 0;
}

.orders .box-container .box .status {
   padding-top: .5rem;
   font-size: 1.7rem;
}

.orders .box-container .box:hover {
   box-shadow: var(--box-shodow);
}

.orders .box-container .box:hover .date {
   background-color: var(--black);
   color: var(--white);
}

.orders .box-container .box:hover .date i {
   color: var(--white);
}

.order-details .box-container {
   background-color: var(--white);
   border: var(--border);
   border-radius: .5rem;
   padding: 2rem;
   box-shadow: var(--box-shodow);
}

.order-details .box-container .box {
   display: flex;
   gap: 1.5rem;
   flex-wrap: wrap;
   align-items: flex-start;
   overflow-x: hidden;
}

.order-details .box-container .box .col {
   flex: 1 1 40rem;
}

.order-details .box-container .box .col .image {
   height: 17rem;
   width: 100%;
   object-fit: contain;
   margin: 1rem 0;
}

.order-details .box-container .box .col .title {
   border-radius: .5rem;
   margin-bottom: 1rem;
   padding: 1rem 1.5rem;
   font-size: 1.7rem;
   color: var(--light-color);
   background-color: var(--light-bg);
   display: inline-block;
   text-transform: capitalize;
}

.order-details .box-container .box .col .title i {
   margin-right: 1rem;
   color: var(--black);
}

.order-details .box-container .box .col .price {
   color: var(--red);
   font-size: 1.8rem;
   padding: .5rem 0;
}

.order-details .box-container .box .col .name {
   font-size: 2rem;
   color: var(--black);
   text-overflow: ellipsis;
   overflow-x: hidden;
}

.order-details .box-container .box .col .user {
   padding: .7rem 0;
   font-size: 1.7rem;
   color: var(--light-color);
   line-height: 1.5;
}

.order-details .box-container .box .col .user i {
   margin-right: 1rem;
   color: var(--main-color);
}

.order-details .box-container .box .col .grand-total {
   background-color: var(--black);
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1.5rem;
   flex-wrap: wrap;
   padding: 1.5rem;
   font-size: 2rem;
   color: var(--white);
   border-radius: .5rem;
   text-transform: capitalize;
   margin-top: 1.5rem;
}

.order-details .box-container .box .col .grand-total span {
   color: var(--orange);
}

.order-details .box-container .box .col .status {
   font-size: 1.8rem;
   padding: .5rem 0;
}











.banner img {
   width: 100%;
   height: 10vh;
   object-fit: cover;
   border-radius: 0px 0px 20px 20px;
}

.container {
   position: fixed;
   width: 100%;
   top: 0;
   color: white;
   transition: 0.8s;
}

.container .row-navbar.sticky {
   background-color: white;
   box-shadow: 0px 2px 10px rgba(187, 185, 185, 0.768);
}

.container .row-navbar.sticky .navbar {
   display: none;
}

.container .navbar {
   margin: 0px 40px 0px 40px;
   padding: 10px 0px;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.container .navbar h1 {
   font-size: 15px;
}


.container .navbar .col a {
   color: white;
   margin-left: 10px;
   font-size: 14px;
   text-decoration: none;
   text-transform: capitalize;
}



.container .row-navbar {
   position: fixed;
   width: 100%;
   top: 0;
   color: white;
   transition: 0.8s;
}

.container .row-navbar.sticky {
   background-color: white;
   box-shadow: 0px 2px 10px rgba(187, 185, 185, 0.768);
}

.container .row-navbar.sticky .navbar {
   display: none;
}

.container .row-navbar .navbar {
   margin: 0px 40px 0px 40px;
   padding: 10px 0px;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.menu {
   display: flex;
   align-items: center;
}

.menu a {
   margin: 0 10px;
   text-decoration: none;
   color: #333;
   position: relative;
}

.menu input {
   margin: 0 10px;
   padding: 5px;
   border: 1px solid #ccc;
   border-radius: 5px;
}  

.container .row-navbar h1 {
   font-size: 30px;
}

.container .row-navbar .navbar .menu a {
   color: white;
   margin-left: 10px;
   font-size: 18px;
   text-decoration: none;
   text-transform: capitalize;
   display: inline-block;
   margin: 0 10px;
   position: relative;
}

.container .row-navbar .navbar .menu a::after {
   content: '';
   position: absolute;
   width: 0;
   height: 2px;
   bottom: -5px;
   left: 0;
   background-color: #ffffff;
   transition: width 0.3s;
}

.container .row-navbar .navbar .menu a:hover::after {
   width: 100%;
}

.container .row-navbar .navbar .menu a.active::after {
   width: 100%;
}

span {
   display: block;
   width: 100%;
   height: 1px;
   background-color: rgb(154, 154, 154);
   border-radius: 3px;
}


.menu-toggle {
   display: none;
}



@media (max-width:991px) {

   html {
      font-size: 55%;
   }



   .banner img{
      width: 100%;
      height: 25vh;
      object-fit: cover;
      border-radius: 0px 0px 20px 20px;
  }
  .container .row-navbar {
      position: fixed;
      width: 100%;
      top: 0;
      color: white;
      transition: 0.8s;
  }

  .container .row-navbar h1 {
      font-size: 15px;
  }

  .container .row-navbar .navbar .menu a {
      font-size: 10px;
  }

  .container .row-navbar .navbar .menu a::after {
      bottom: 5px;
  }

  .menu input {
      width: 50px;
      font-size: 10px;
      margin: 0 10px;
      padding: 5px;
      border: 1px solid #ccc;
      border-radius: 5px;
  }
  .scroll-nav {
      white-space: nowrap;
      overflow-x: auto;
  }   

  .scroll-nav a {
      display: inline-block;
      color: rgb(255, 230, 230);
      background-color: rgba(187, 185, 185, 0.768);
      padding: 5px 30px;
      margin: 2px;
      font-size: 10px;
      border-radius: 5px;
      text-decoration: none;
  }



  body {
      margin: 0;
      font-family: Arial, sans-serif;
  }
  
  .menu-container {
      position: fixed;
      top: 0;
      right: 0;
      background-color: #333;
      padding: 10px;
  }
  
  .menu-toggle {
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      z-index: 3;
  }
  
  .menu-toggle span {
      width: 30px;
      height: 3px;
      background-color: #fff;
      margin: 3px 0;
  }
  
  .menu {
      display: none;
      background: linear-gradient(#3E2723, #795548);
      position: absolute;
      top: 50px; /* Ubah jarak dari atas */
      right: 10px; /* Ubah jarak dari kanan */
      z-index: 2;
      border-radius: 5px;
      width: 150px; /* Atur lebar menu */
  }
  
  .menu a {
      text-decoration: none;
      color: #ffffff;
      font-size: 18px;
      padding: 10px;
      display: block;
      text-align: right; /* Pusatkan teks ke kanan */
  }
  
  .menu.active {
      display: flex; /* Menggunakan flex untuk menyusun link secara vertikal */
      flex-direction: column;
      overflow: hidden;
      transition: 1s;
      padding: 15px 0;
  }


}

@media (max-width:768px) {


   .banner img {
      width: 100%;
      height: 15vh;
      object-fit: cover;
      border-radius: 0px 0px 20px 20px;
   }

   .container .row-navbar {
      position: fixed;
      width: 100%;
      top: 0;
      color: white;
      transition: 0.8s;
   }

   .menu input {
      width: 50px;
      font-size: 10px;
      margin: 0 10px;
      padding: 5px;
      border: 1px solid #ccc;
      border-radius: 5px;
   }

   .scroll-nav {
      white-space: nowrap;
      overflow-x: auto;
   }

   .scroll-nav a {
      display: inline-block;
      color: rgb(255, 230, 230);
      background-color: rgba(187, 185, 185, 0.768);
      padding: 5px 30px;
      margin: 2px;
      font-size: 10px;
      border-radius: 5px;
      text-decoration: none;
   }

   #menu-btn {
      display: inline-block;
   }

   .header .flex .navbar {
      position: absolute;
      top: 99%;
      left: 0;
      right: 0;
      background-color: var(--black);
      padding: 1rem 2rem;
      border-top: .1rem solid var(--white);
      clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
      transition: .2s linear;
   }

   .header .flex .navbar.active {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
   }

   .header .flex .navbar a {
      display: block;
      width: 100%;
      margin: 1rem 0;
      padding: 1rem 0;
   }

}

@media (max-width:450px) {

   html {
      font-size: 50%;
   }

   .heading {
      font-size: 2.5rem;
   }

   .products .box-container {
      grid-template-columns: 1fr;
   }

   .orders .box-container {
      grid-template-columns: 1fr;
   }



}