@import url("https://fonts.googleapis.com/css2?family=Montserrat&display=swap");

html {
  font-size: 62.5%;
  box-sizing: border-box;
}
body,
#root {
  height: 100vh;
  margin: 0;
}
body,
input,
select,
button,
textarea {
  font-family: Montserrat, Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
}

.grid-container {
  display: grid;
  grid-template-areas:
    "header"
    "main"
    "footer";
  grid-template-rows: 5rem 1fr 5rem;
  grid-template-columns: 1fr;
  height: 100%;
}
a {
  text-decoration: none;
}
a:hover {
  color: #ff8000;
}
header {
  grid-area: header;
  background-color: #203040;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem;
}
header a {
  color: #ffffff;
  text-decoration: none;
}
main {
  grid-area: main;
}
footer {
  grid-area: footer;
  background-color: #203040;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content {
  display: flex;
  flex-wrap: wrap;
}
.main {
  flex: 3 60rem;
}
.sidebar {
  flex: 1 20rem;
}

/* products */
.products {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.products li {
  flex: 0 1 29rem;
  height: 47rem;
  padding: 1rem;
}
.product {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.product img {
  max-width: 37rem;
  max-height: 37rem;
}
.product-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.product-price div,
.product-price button {
  text-align: center;
  flex: 1;
}
.product-price div {
  font-size: 2rem;
}
.button {
  padding: 1rem;
  border: 0.1rem #c0c0c0 solid;
  background-color: #f0f0f0;
  cursor: pointer;
}
.button:hover {
  border: 0.1rem #808080 solid;
}
.button.primary {
  background-color: #f0c040;
}
/* Filter */
.filter {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  margin: 1rem;
  border-bottom: 0.1rem #c0c0c0 solid;
}
.filter div {
  flex: 1;
}
/* Index.css */
.cart {
  padding: 1rem;
  margin: 1rem;
  display: flex;
}
.cart-header {
  border-bottom: 0.1rem #c0c0c0 solid;
}
.cart-items {
  padding: 0;
  width: 100%;
  list-style-type: none;
}
.cart-items img {
  width: 5rem;
}
.cart-items li {
  display: flex;
}
.cart-items li div {
  padding: 0.5rem;
}
.cart-items li div:last-child {
  flex: 1;
}
.right {
  text-align: right;
}
.total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.total > div {
  font-size: 2rem;
}
.total > div,
.total > button {
  flex: 1;
}
/* Checkout form */
form {
  width: 100%;
}
.form-container {
  width: 100%;
  padding: 0;
  list-style-type: none;
}
.form-container li {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}
input {
  padding: 1rem;
  border: 0.1rem #c0c0c0 solid;
}
/* Product Details */
.product-details {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-height: 96vh;
}
.product-details img {
  max-height: 100vh;
  max-width: 46rem;
  margin: 0 auto;
}
.product-details-description {
  flex: 1 1;
  margin: 1rem;
}
.close-modal {
  position: absolute;
  right: 1rem;
  top: 2.5rem;
  z-index: 1000;
}

/* Order Details */

.order-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.order-details li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.order-details li div {
  padding: 10px;
}
.order-details .items {
  text-align: right;
  padding: 0;
}
.success-message {
  color: green;
}
/* Orders */
.orders {
  width: 100%;
  padding: 10px;
}
tbody > tr:nth-child(odd) {
  background-color: #f0f0f0;
}
td {
  padding: 5px;
}
th {
  text-align: left;
}
