* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', serif;

  .header {
    background-color: rgba(255, 255, 255, 0.7);

    .container {
      max-width: 1300px;
      margin: auto;
      padding: 0 25px;

      .navbar {
        display: flex;
        align-items: center;
        padding: 25px;
        justify-content: flex-end;
        gap: 20px;

        .nav-items {
          display: flex;
          align-items: center;
          gap: 10px;
        }

        .menu-icon {
          display: none;
          width: 30px;
          height: 30px;

          img {
            width: 100%;
          }
        }

        a {
          text-decoration: none;
          color: #555;
        }
      }

      #menu-toggle {
        display: none;
      }

      .hidden-nav-items {
        display: flex;
        flex-direction: column;
        background-color: #333;
        align-items: flex-end;
        gap: 10px;
        max-height: 0;
        transition: all 0.5s ease;

        a {
          color: #fff;
          text-decoration: none;
          margin-right: 50px;
        }
      }

      .headerContent {
        margin-top: 70px;
        display: flex;
        align-items: center;

        .headerContentItem {
          flex: 1;

          h1 {
            font-size: 50px;
            line-height: 60px;
            margin: 25px 0;
          }

          p {
            color: #555;
          }

          img {
            width: 100%;
            padding: 50px 0;
          }
        }
      }
    }
  }

  .categories {
    margin: 70px 0;

    .container {
      max-width: 1080px;
      margin: auto;
      padding: 0 25px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;

      img {
        flex-basis: 30%;
        min-width: 250px;
        margin-bottom: 30px;
      }
    }
  }

  .feature-products {
    max-width: 1080px;
    margin: auto;
    padding: 0 25px;
    display: flex;
    flex-direction: column;

    h2 {
      color: #555;
      line-height: 60px;
      text-align: center;
    }

    .customUnderlineContainer {
      display: flex;
      justify-content: center;
      margin-bottom: 80px;

      .customUnderline {
        width: 80px;
        height: 5px;
        background-color: #ff523b;
        border-radius: 5px;
      }
    }

    .product-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;

      .products-card {
        display: flex;
        flex-direction: column;
        min-width: 200px;
        padding: 10px;
        margin-bottom: 50px;
        flex-basis: calc(25% - 20px);
        cursor: pointer;
        transition: transform 0.5s;

        .product-title {
          color: #555;
        }

        .product-pricing {
          color: #555;
          font-size: 14px;
        }

        &:hover {
          transform: translateY(-5px);
        }
      }
    }
  }

  .smart-watch-banner {
    margin-top: 80px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 30px 0;

    .container {
      display: flex;
      flex-wrap: wrap;
      max-width: 1080px;
      margin: auto;
      padding: 0 25px;
      justify-content: space-around;
      align-items: center;

      .smart-watch-img-container {
        flex: 1;
        padding: 50px;

        img {
          width: 100%;
        }
      }

      .smart-watch-banner-content {
        flex: 1;

        .smart-watch-banner-title {
          color: #555;
        }

        .smart-watch-banner-Subtitle {
          font-size: 50px;
          line-height: 60px;
          margin: 25px 0;
        }

        .smart-watch-banner-description {
          color: #555;
          font-size: 14px;
        }

        .buyNowButton {
          background: #ff523b;
          color: #fff;
          margin: 30px 0;
          padding: 8px 30px;
          border-radius: 30px;
          border: none;
          cursor: pointer;

          &:hover {
            background-color: #563434;
          }
        }
      }
    }
  }

  .testimonialParentContainer {
    padding-top: 100px;

    .testimonialInnerContainer {
      max-width: 1080px;
      margin: auto;
      padding: 0 25px;
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap;

      .testimonialCards {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        cursor: pointer;
        padding: 40px 20px;
        box-shadow: 0 0 20px rgba(0,0,0,0.1);
        min-width: 250px;
        margin-bottom: 30px;
        flex-basis: calc(30% - 50px);

        .testimonialContent {
          font-size: 12px;
          margin: 12px 0;
          color: #777;
        }

        .ratings {
          padding-top: 20px;
          display: flex;
          align-items: center;
          gap: 4px;
        }

        .userImage {
          width: 50px;
          margin-top: 20px;
          border-radius: 50%;
        }

        h3 {
          font-weight: 600;
          color: #555;
          font-size: 16px;
        }

        &:hover {
          transform: translateY(-10px);
        }
      }
    }
  }

  .brandingContainer {
    margin: 100px auto;

    .brandingInnerContainer {
      display: flex;
      justify-content: space-around;
      max-width: 1080px;
      padding: 0 25px;
      margin: auto;
      flex-wrap: wrap;

      img {
        cursor: pointer;
        filter: grayscale(100%);

        &:hover {
          filter: grayscale(0%);
        }
      }
    }
  }

  .footer {
    background: #222831;
    color: #eeeeee;
    font-size: 14px;
    padding: 60px 0 20px;

    .footerInnerContainer {
      display: flex;
      align-items: center;
      justify-content: space-around;
      max-width: 1300px;
      margin: auto;
      padding: 0 25px;

      .footerColumn {
        min-width: 250px;
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
      }

      .footerColumn1 {
        flex-basis: 30%;

        h3 {
          color: #ff523b;
          margin-bottom: 20px;
          font-weight: 500;
        }

        p {
          color: #eeeeee;
        }

        .footerStoreContainer {
          display: flex;
          align-items: center;
          gap: 4px;
          margin-top: 20px;

          img {
            width: 140px;
            margin: 5px 0;
          }
        }
      }

      .footerColumn2,
      .footerColumn3 {
        flex: 1;
        align-items: center;

        h3 {
          color: #ff523b;
          margin-bottom: 20px;
          font-weight: 500;
        }

        p {
          color: #eeeeee;
          margin-bottom: 10px;
          cursor: pointer;
          transition: color 0.3s ease;

          &:hover {
            color: #ff523b;
          }
        }
      }
    }
  }

  .allProductsSection {
    display: flex;
    flex-direction: column;
    max-width: 1080px;
    padding: 0 25px;
    margin: auto;

    .allProductsSectionLabel {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 100px 0 50px;

      select {
        border: 1px solid #ff523b;
        padding: 5px;
        outline: none;
      }
    }

    .paginationButtonContainer {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 80px;

      .paginationButton {
        display: inline-block;
        border: 1px solid #ff523b;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 40px;
        cursor: pointer;

        &:hover {
          background-color: #ff523b;
          color: #fff;
        }
      }
    }
  }

  .product-details-container {
    margin-top: 80px;
    max-width: 1080px;
    margin: auto;
    padding: 0 25px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;

    .product-details-content {
      flex-basis: calc(50% - 50px);
      padding: 20px;
      min-width: 300px;
      display: flex;
      flex-direction: column;
    }

    .product-details-img-content {
      gap: 4px;

      .product-details-big-image {
        width: 100%;
      }

      .product-small-img-container-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .product-small-img-container {
          flex-basis: 24%;

          img {
            width: 100%;
          }
        }
      }
    }

    .product-details-text-content {
      p {
        color: #555;
      }

      h1 {
        font-size: 50px;
        line-height: 60px;
        margin: 25px 0;
      }

      h4 {
        margin: 20px 0;
        font-size: 22px;
        font-weight: bold;
        color: #555;
      }

      select {
        display: block;
        padding: 10px;
        margin-top: 20px;
        border: 1px solid #ff523b;
        outline: none;
        width: fit-content;
      }

      .addToCartButtonWrapper {
        display: flex;
        align-items: center;
        gap: 10px;

        input {
          width: 50px;
          height: 40px;
          padding-left: 10px;
          font-size: 20px;
          margin-right: 10px;
          border: 1px solid #ff523b;
          outline: none;
        }

        .addtoCartButton {
          display: inline-block;
          background: #ff523b;
          color: #fff;
          padding: 8px 30px;
          margin: 30px 0;
          border-radius: 30px;
          transition: background 0.5s;
          text-decoration: none;

          &:hover {
            background-color: #222831;
          }
        }
      }
    }
  }

  .cartsSectionsWrapper {
    margin: 80px auto;
    max-width: 1080px;
    padding: 0 25px;

    table {
      width: 100%;
      border-collapse: collapse;

      th {
        text-align: left;
        padding: 5px;
        color: #fff;
        background: #ff523b;
        font-weight: normal;

        &:last-child {
          text-align: right;
        }
      }

      td {
        padding: 10px 5px;

        .cart-info {
          display: flex;
          flex-wrap: wrap;

          img {
            width: 80px;
            height: 80px;
            margin-right: 10px;
          }

          .cart-info-details {
            display: flex;
            flex-direction: column;

            p,
            small {
              color: #555;
            }

            a {
              color: #ff523b;
              font-size: 12px;
              text-decoration: none;
              margin-top: 4px;
            }
          }
        }

        input {
          width: 40px;
          padding: 5px;
          outline: none;
        }

        &:last-child {
          text-align: right;
        }
      }
    }

    .totalPrice {
      display: flex;
      justify-content: flex-end;

      table {
        border-top: 3px solid #ff523b;
        max-width: 350px;
      }

      .checkoutBtn {
        display: inline-block;
        background: #ff523b;
        color: #fff;
        padding: 8px 30px;
        margin: 30px 0;
        border-radius: 30px;
        transition: background 0.5s;

        &:hover {
          background-color: #222831;
        }
      }
    }
  }

  .aboutContainer {
    text-align: center;
    max-width: 1080px;
    margin: 50px auto;
    background-color: #111;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 0 20px rgba(255, 165, 0, 0.2);

    h2 {
      font-size: 32px;
      color: orange;
      margin-bottom: 20px;
    }

    .imgContainrt {
      img {
        width: 100%;
        max-width: 500px;
        border-radius: 10px;
        margin: 15px 0;
      }
    }

    .aboutContent {
      p {
        color: #ddd;
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 25px;
      }
    }

    button {
      background-color: orangered;
      border: 2px solid white;
      color: white;
      padding: 10px 25px;
      border-radius: 25px;
      cursor: pointer;
      font-weight: bold;
      font-size: 16px;
      transition: 0.3s ease;

      &:hover {
        background-color: black;
      }
    }
  }

  /* Media queries */
  @media only screen and (max-width: 600px) {
    .headerContent {
      flex-direction: column;

      h1,
      p {
        text-align: center;
      }
    }

    .categories .container img {
      flex-basis: 100%;
    }

    .product-container .products-card {
      flex-basis: 100% !important;

      .product-title,
      .product-pricing {
        text-align: center;
      }

      div {
        display: flex;
        justify-content: center;
      }
    }

    .smart-watch-banner {
      .container {
        flex-direction: column;

        .smart-watch-banner-content {
          display: flex;
          flex-direction: column;
          align-items: center;
        }
      }
    }

    .testimonialParentContainer .testimonialInnerContainer .testimonialCards {
      flex-basis: 100%;
    }

    .footer .footerInnerContainer {
      flex-direction: column;

      .footerColumn1 {
        align-items: center;

        .footerStoreContainer {
          flex-direction: column;
        }
      }
    }
  }

  @media only screen and (max-width: 800px) {
    .header {
      .navbar {
        .nav-items {
          display: none !important;
        }

        .menu-icon {
          display: block !important;
        }
      }

      #menu-toggle:checked ~ .hidden-nav-items {
        max-height: 140px !important;
        padding: 10px 0 !important;
      }
    }
  }
}
