@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Kumbh+Sans:wght@100..900&display=swap");
:root {
   --orange: hsl(26, 100%, 55%);
   --Pale_orange: hsl(24, 69%, 72%);
   --Very_dark_blue: hsl(220, 13%, 13%);
   --Dark_grayish_blue: hsl(219, 9%, 45%);
   --Grayish_blue: hsl(220, 14%, 75%);
   --Light_grayish_blue: hsl(223, 64%, 98%);
   --White: hsl(0, 0%, 100%);
   --Black: hsl(0, 0%, 0%); /*(with 75% opacity for lightbox background)*/
}
* {
   padding: 0;
   margin: 0;
   box-sizing: border-box;
   font-family: "Inter", sans-serif;
   list-style: none;
}

body {
   min-height: 100%;
}

/* Header */
header {
   display: flex;
   justify-content: space-between;
   margin: 1px 190px;
   height: 110px;
   border-bottom: 1px solid var(--Dark_grayish_blue);
}
header .left {
   display: flex;
   align-items: center;
   gap: 40px;
}
.left .fa-bars {
   display: none;
}
.left img {
   width: 140px;
   height: 19px;
}
nav div .fa-xmark {
   display: none;
}
.left ul {
   display: flex;
   align-items: center;
   gap: 20px;
   color: var(--Dark_grayish_blue);
}
ul li {
   cursor: pointer;
   padding: 45px 0px;
}
ul li:hover {
   border-bottom: 5px solid var(--orange);
   color: var(--Black);
}

.right {
   display: flex;
   align-items: center;
   gap: 30px;
}
.right {
   cursor: pointer;
}

.cart-wrapper {
   position: relative;
}
.cart-count {
   position: absolute;
   top: -8px;
   right: -8px;
   background-color: var(--orange);
   color: var(--White);
   font-size: 10px;
   font-weight: 700;
   padding: 2px 6px;
   border-radius: 10px;
   display: none;
}
.cart-wrapper #icon-cart {
   width: 25px;
}

.right img:last-child {
   width: 40px;
}

.cart-container {
   display: none;
   position: absolute;
   top: 100px;
   right: 150px;
   background-color: var(--White);
   width: 320px;
   height: 200px;
   box-shadow: 0px 0px 5px var(--Grayish_blue);
   border-radius: 10px;
}
.cart-container .box-title {
   margin: 15px;
   font-weight: 600;
}
.cart-container .cart-empty {
   /* display: none; */
   content: "Your cart is empty";
   margin: 60px 80px;
   color: var(--Dark_grayish_blue);
}

.cart-content {
   display: none;
   height: 100px;
   width: 320px;
}
.cart-product {
   display: flex;
   /* justify-content: space-between; */
   align-items: center;
   margin-bottom: 10px;
}
.cart-product img {
   border-radius: 5px;
   margin: 10px;
   width: 50px;
}
.cart-product p {
   color: var(--Dark_grayish_blue);
   font-size: 14px;
   margin-right: 15px;
}
.cart-product i {
   color: rgb(174, 171, 171);
   cursor: pointer;
}
.cart-content button {
   cursor: pointer;
   background-color: var(--orange);
   border-radius: 5px;
   border: none;
   width: 200px;
   height: 40px;
   text-align: center;
   color: var(--Black);
   font-weight: 600;
   margin-left: 15px;
   width: 90%;
}
.addition {
   color: var(--Black);
   font-weight: 600;
}
/* Main */
main {
   display: flex;
   margin: 50px 250px 50px;
   gap: 80px;
}
.product-image .box-image {
   margin-bottom: 20px;
   display: flex;
   overflow: hidden;
   width: 400px;
   position: relative;
}
.product-image .box-image img {
   border-radius: 15px;
   width: 400px;
   display: none;
   cursor: pointer;
}
.product-image .box-image img:first-child {
   display: block;
}

.product-image .thumbnail-image {
   display: flex;
   gap: 23px;
}
.product-image .thumbnail-image img {
   cursor: pointer;
   width: 80px;
   border-radius: 10px;
   opacity: 0.7;
   transition: opacity 0.3s ease;
}
.product-image .thumbnail-image img.active {
   border: 4px solid var(--orange);
   opacity: 0.5;
}

.product-description {
   display: block;
   margin: 50px;
}
.product-description .name_product {
   color: var(--Dark_grayish_blue);
   margin-bottom: 10px;
   font-weight: 600;
}
.product-description h1 {
   color: var(--Very_dark_blue);
   margin-bottom: 30px;
   font-size: 36px;
}
.product-description .sneaker_description {
   color: var(--Dark_grayish_blue);
   font-size: 14px;
   margin-bottom: 20px;
}
.price {
   margin-bottom: 20px;
}
.product-description .sneaker_price {
   color: var(--Black);
   font-size: 20px;
   font-weight: 700;
   margin-bottom: 10px;
}
.product-description .sneaker_price small {
   background-color: var(--Black);
   color: var(--White);
   padding: 5px;
   font-size: 11px;
   border-radius: 5px;
   margin-left: 10px;
}
.product-description .regular_price {
   color: var(--Dark_grayish_blue);
   font-size: 12px;
   text-decoration: line-through;
   font-weight: 600;
}
form {
   display: flex;
   align-items: center;
}
.buttons {
   display: flex;
   border-radius: 15px;
}
form input {
   width: 50px;
   height: 40px;
   background-color: var(--Light_grayish_blue);
   border-radius: 0px;
   border: none;
   color: var(--orange);
   font-size: 20px;
   font-weight: 700;
   cursor: pointer;
}
form input:hover {
   color: var(--Pale_orange);
}
form p {
   padding: 10px;
   background-color: var(--Light_grayish_blue);
   border: none;
   font-size: 14px;
   font-weight: 600;
}
form button {
   cursor: pointer;
   background-color: var(--orange);
   border-radius: 5px;
   border: none;
   width: 200px;
   height: 40px;
   text-align: center;
   color: var(--Black);
   font-weight: 600;
   margin-left: 15px;
}
form button:hover {
   background-color: var(--Pale_orange);
}
form button .cart-btn {
   width: 15px;
   margin-right: 10px;
}

/* Lightbox Gallery */
.lightbox {
   display: none;
   justify-content: center;
   align-items: center;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.8);
   z-index: 1000;
}
.lightbox.active {
   display: flex;
   justify-content: center;
   align-items: center;
}
.lightbox-content {
   position: relative;
   width: 500px;
}
.lightbox-images {
   position: relative;
   margin-bottom: 20px;
}
.lightbox-images img {
   width: 100%;
   border-radius: 15px;
   display: none;
}
.lightbox-images img:first-child {
   display: block;
}

.lightbox-thumbnails {
   display: flex;
   justify-content: center;
   gap: 20px;
}
.lightbox-thumbnails img {
   width: 80px;
   border-radius: 10px;
   cursor: pointer;
   opacity: 0.7;
   transition: opacity 0.3s ease;
}
.lightbox-thumbnails img:hover {
   opacity: 1;
}
.lightbox-thumbnails img.active {
   border: 4px solid var(--orange);
   opacity: 0.5;
}

.close-lightbox {
   position: absolute;
   top: -40px;
   right: 0;
   background: none;
   border: none;
   color: var(--White);
   font-size: 30px;
   cursor: pointer;
}
.close-lightbox:hover {
   color: var(--orange);
}
.prev-btn,
.next-btn {
   position: absolute;
   top: 42%;
   transform: translateY(-50%);
   background-color: var(--White);
   border: none;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   cursor: pointer;
   font-size: 20px;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 1001;
}
.prev-btn {
   left: -20px;
}
.next-btn {
   right: -20px;
}
.prev-btn:hover,
.next-btn:hover {
   color: var(--orange);
}

i {
   display: none;
}

@media (max-width: 376px) {
   body {
      min-height: 100vh;
      width: 100%;
      overflow-x: hidden;
   }
   header {
      display: flex;
      justify-content: space-between;
      margin: 0;
      padding: 0 20px;
      border-bottom: 0;
      height: 80px;
   }

   header .left {
      display: flex;
      align-items: center;
      gap: 20px;
      height: 80px;
   }

   .left i {
      margin-left: 10px;
      color: var(--Dark_grayish_blue);
      font-size: 24px;
   }
   .left img {
      width: 120px;
      height: 16px;
   }

   header .left nav {
      display: none;
      flex-direction: column;
      position: fixed;
      top: 0;
      left: 0;
      width: 70%;
      height: 100%;
      background-color: var(--White);
      z-index: 1001;
      padding: 20px;
   }

   nav i.fa-xmark {
      margin: 20px;
      height: 18px;
      color: var(--Dark_grayish_blue);
   }

   .left .fa-bars {
      display: initial;
   }
   nav div .fa-xmark {
      display: block;
   }

   .left ul {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
      color: var(--Dark_grayish_blue);
      height: 100%;
      width: 100%;
      margin: 20px 0;
   }

   ul li {
      color: var(--Black);
      font-weight: 600;
      font-size: 16px;
      padding: 0;
   }

   .cart-container {
      position: absolute;
      top: 80px;
      right: 20px;
      width: 320px;
      height: 250px;
      z-index: 12;
   }

   main {
      display: block;
      margin: 0;
      padding: 0;
      width: 100%;
      position: relative;
   }

   .product-image {
      display: none;
   }

   .lightbox {
      display: block;
      position: relative;
      width: 100%;
      height: auto;
      background: none;
      margin-bottom: 20px;
   }

   .lightbox-content {
      width: 100%;
      height: auto;
   }

   .lightbox-images {
      width: 100%;
      position: relative;
   }

   .lightbox-images img {
      width: 100%;
      height: auto;
      border-radius: 0;
      display: none;
   }

   .lightbox-images img:first-child {
      display: block;
   }

   .lightbox-thumbnails {
      display: none;
   }

   .close-lightbox {
      display: none;
   }

   .prev-btn,
   .next-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background-color: var(--White);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
   }

   .prev-btn {
      left: 10px;
   }

   .next-btn {
      right: 10px;
   }

   .product-description {
      margin: 20px;
      padding: 0 10px;
   }

   .product-description .name_product {
      font-size: 14px;
      margin-bottom: 15px;
   }

   .product-description h1 {
      font-size: 28px;
      margin-bottom: 15px;
   }

   .product-description .sneaker_description {
      font-size: 15px;
      line-height: 25px;
      margin-bottom: 25px;
   }

   .price {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 25px;
   }

   form {
      display: block;
   }

   .buttons {
      display: flex;
      width: 100%;
      margin-bottom: 15px;
      background-color: var(--Light_grayish_blue);
      border-radius: 10px;
      height: 50px;
   }

   .buttons input {
      width: 50px;
      height: 50px;
      font-size: 24px;
   }

   .buttons p {
      flex: 1;
      text-align: center;
      line-height: 50px;
      font-size: 16px;
   }

   form button {
      width: 100%;
      height: 50px;
      margin: 0;
      font-size: 16px;
   }
}
