.cookie{
  position:fixed;
  bottom: 20px;
  margin: auto;
  text-align: center;
  width: 50vw;
  padding: 5px;
  background-color: var(--black);
  border: 3pt solid var(--black);
  border-radius: 7pt;
  color: var(--white);
  z-index: 100;
  button:hover{
    color: var(--white);
    border: 2pt solid var(--white) !important;
    background-color: var(--black) !important;
  }
}
body {
  font-family: sans-serif;
  /* background-image: linear-gradient(
      rgba(249, 249, 249, 0.5),
      rgba(249, 249, 249, 0.5)
    ),
    url(bg.jpg);
  background-repeat: repeat;
*/}
* {
  margin: 0;
}
/* Common elements */

input[type="text"],
input[type="password"],
input[type="number"],
details {
  width: fit-content;
  font: inherit;
  border: 2pt solid var(--black);
  border-radius: 15pt;
  padding: 5pt;
  margin: auto;
}
textarea {
  min-width: 174pt;
  min-height: 75pt;
}

button,
input[type="submit"] {
  font: inherit;
  border-radius: 3pt;
  margin: 3pt;
  min-width: 44pt;
  min-height: 28pt;
  border: 2pt solid var(--black);
  background-color: var(--white);
  &:hover {
    background-color: rgb(from var(--black) r g b / 0.25);
    border-color: rgb(from var(--black) r g b / 0.25);
    cursor: pointer;
  }
  &:active {
    border-color: rgb(from var(--black) 0.4 4 0.4 / 0.1);
    background-color: rgb(from var(--black) 0.4 4 0.4 / 0.1);
  }
}

details {
  padding: 10pt;
  margin: 5pt;
  background-color: var(--white);
  summary {
    cursor: pointer;
  }
  ul {
    list-style: none;
    margin: auto;
    padding-left: 20pt;
  }
}

/* Page specifics */
main.uppages {
  text-align: center;
  form {
    margin: auto;
  }
}
#leftaccountpage {
  float: left;
  margin-left: 10%;
}
#orderstable {
  background-color: lightgrey;
  padding: 10pt;
  border: 3pt solid var(--black);
  border-radius: 20pt;
  margin: 3pt;
}

#rightaccountpage {
  float: right;
  margin-right: 10%;
}

#thing {
  @media only screen and (max-width: 740px) {
    display: flex;
    justify-content: space-around;
    flex-flow: row;
    margin: 0 !important;
  }
  padding-top: 5pt;
  margin-top: auto;
  margin-bottom: auto;
  height: fit-content;
  width: fit-content;
}
img#logo {
  height: 70pt;
}
h1 {
  font-size: var(--step-3);
  margin-left: 5%;
}
/*
TODO
- Relative colours



*/
div#box {
  display: grid;
  grid-template-columns: repeat(auto-fit, 7rem);
  row-gap: 0;
  column-gap: 13rem;
  div.card {
    margin: 5pt;
    margin-left: clamp(2rem, 2rem, 10rem);
    background-color: var(--white);
    width: calc(var(--step-5) * 7 * 0.7);
    padding: 5pt;
    border-radius: 20pt;
    border: 2pt solid var(--black);
    .title {
      font-size: var(--step-2);
    }
    .price {
      font-size: var(--step-2);
    }
    .rating {
      font-size: var(--step-0);
      display: flex;
    }
    button#rating.rating {
      width: 44pt;
      height: 44pt;
      display: unset !important;
      text-align: center !important;
    }
    .des {
      font-size: var(--step--1);
    }

    .comments {
      font-size: var(--step--1);
      div.area {
        font: inherit;
        textarea {
          font: inherit;
          background-color: rgb(from var(--black) 0.4 4 0.4 / 0.1);
          border-color: rgb(from var(--black) 0.4 4 0.4 / 0.1);
          max-width: 164pt;
          border-radius: 1pt;
          border-style: solid;
          min-width: 164pt;
          min-height: 54pt;
        }
      }
      margin: 1rem 0;
      width: 100%;
      margin-right: 10pt;
      .decomments.empty {
        summary {
          list-style-type: none;
        }
      }
      .comment {
        border: 2pt solid var(--black);
        border-radius: 10pt;
        margin-top: 5pt;
        padding: 8pt;
        background-color: rgb(from var(--black) 0.4 4 0.4 / 0.1);
        p {
          margin-bottom: 3pt;
          margin: 0.5rem 0;
          overflow-wrap: break-word; /* Breaks long words */
          word-wrap: break-word; /* Legacy support */
          word-break: break-word; /* Breaks words at arbitrary points if needed */
          hyphens: auto; /* Adds hyphens where appropriate */
          max-width: 100%; /* Ensures content doesn't exceed container */
        }
        strong {
          color: var(--black);
          display: inline-block;
          margin-right: 0.5rem;
          max-width: 100%; /* Prevents username from overflowing */
          overflow-wrap: break-word;
          word-wrap: break-word;
        }
      }
    }
  }
}

aside {
  position: fixed;
  right: 0;
  bottom: 0;
  background-color: var(--white);
  border: 2pt solid var(--black);
  padding: 10pt;
  margin: 15pt;
  border-radius: 20pt;
  h2 {
    margin: 0pt;
    border-bottom: 3pt solid var(--black);
  }
  .outer {
    display: flex;
    justify-content: space-between;
  }
  /* div#product.outer:hover{
    cursor: pointer;
    text-decoration: line-through solid 0.2rem var(--darkred);
  } */
}
/* #nav:first-of-type > div:last-child { order: -1; } */
#header > #nav {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(4, 0.2fr);
  @media only screen and (max-width: 740px) {
    display: flex !important;
    flex-wrap: wrap !important;
    .thing {
      margin-left: 0;
    }
  }
  .thing {
    display: flex;
    margin-left: 10pt;
    flex-direction: column;
  }
  form#search-form {
    @media only screen and (max-width:740px) {
      display: block !important;
    }
    display: flex;
    margin-top: auto;
    margin-bottom: auto;
    #thing {
      display: flex;
      flex-direction: column;
      margin-left: 5pt;
    }
    button#search {
      height: 30pt;
      width: 30pt;
      margin: auto;
    }
  }
  a,
  button {
    font: inherit;
    color: var(--black);
    border-radius: 10pt;
    min-width: 20pt;
    text-align: center;
    width: 20pt;
    height: 20pt;
    display: block;
    min-height: 10pt;
    border: 3pt solid var(--black);
    background-color: var(--white);
    margin-left: 10pt;
  }
  label {
    text-align: center;
    margin: 5pt;
    font-weight: bold;
  }
}
main {
  color: var(--black);
  margin: 0pt;
  font-family: sans-serif;
}
:root {
  /* CMYK */
  --magenta: #ff80ff;
  --cyan: #80ffff;
  --yellow: #5be556;
  --darkyellow: #d9d96c;
  --lightyellow: #ffff66;
  --black: #333333;
  --red: #ed8463;
  --green: #73ff73;
  --darkred: #d86969;
  --white: white;
  --btn-border: "border: 3pt solid var(--black);";
}
strong.sum {
  color: #00808e;
}
button.checkout {
  border: 2pt solid #00808e;
  background-color: #00808e;
}
button.commentadd {
  border: 2pt solid #4a90e2;
  background-color: #4a90e2;
}

button.cartadd {
  background-color: var(--green);
  border: 2pt solid var(--green);
}
button.cartremove {
  background-color: var(--red);
  border: 2pt solid var(--red);
}
table#yp {
  margin: 10pt;
  font-family: sans-serif;
}

div#header {
  @media only screen and (max-width: 740px) {
    border: unset;
    .text{
      height: fit-content !important;
      width: fit-content !important;
    }
    h1{
      display: none !important;
    }
    display: block !important;
  }
  padding-right: calc(2rem + 1vw);
  padding-left: calc(2rem + 1vw);
  border-bottom-left-radius: 10pt;
  border-bottom-right-radius: 10pt;
  display: flex;
  background-color: RGB(204, 204, 204);
  justify-content: space-between;
  div#nav {
    button {
      display: flex;
      flex: 2;
    }
  }
}
button.down {
  display: none;
}
.done {
  form {
    display: unset !important;
    width: auto !important;
  }
  button {
    margin-top: auto;
    display: unset !important;
  }
}
div#popup {
  position: fixed;
  background-color: white;
  border: 2pt var(--black) solid;
  padding: 10pt;
  margin-top: 10%;
  margin-left: 25%;
  margin-right: 25%;
  text-align: center;
  border-radius: 15pt;

  z-index: 10;
  :has(#box) {
    width: 50%;
    height: 50%;
    margin-right: auto !important;
  }
  #box {
    font-size: 40pt;
    display: flex;
    justify-content: center;
  }

  p {
    font-size: 20pt;
    margin-top: 3pt;
    margin-bottom: 10pt;
    border-radius: 10pt;
    margin-left: 10pt;
    margin-right: 10pt;
    text-align: center;
    text {
      font-size: large;
    }
  }
}
#bg {
  position: fixed;
  z-index: 0;
  background-color: rgba(19, 19, 19, 0.5);
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
details[disabled] summary,
details.disabled summary {
  pointer-events: none; /* prevents click events */
  user-select: none; /* prevents text selection */
}
form#grid {
  display: grid;
  max-width: min-content;
}
p#Error,
.error {
  color: var(--darkred);
  font-weight: bold;
  font-size: large;
}
/* div.del {
  position: fixed;
  background-color: white;
  border: 3pt var(--black) solid;
  padding: 80pt;
  margin-top: 4%;
  margin-left: 35%;
  text-align: center;
  border-radius: 15pt;
  z-index: 20;
}
.ass {
  display: none;
} */
