body {
  margin: 0;
}
/* -------- header- - - - -- - - - -- - -- */
#upperHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 2lvh;
  background-color: rgb(193, 193, 193);
}
#header-text-side {
  display: flex;
  align-items: center;
  gap: 12px;
}

#homeButton {
  width: 40px;
  height: 40px;
}
h2 {
  margin: 10 px;
}
#header-text {
  display: grid;
}
/* ------- --produktid eraldi, peavaade -- - - - - - - */

.categories {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;

  margin-bottom: 10lvh;
}
.categoryButtons {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin: 1lvh;
  padding: 8px 32px;
  border: 1px solid #0a0a0a;
  background-color: antiquewhite;
  color: #0a0a0a;

  font-size: 14px;
  font-weight: 500;
  border-radius: 999px; /* pill shape */
  cursor: pointer;

  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    font-size 0.3s ease-in-out;
}

/* Hide the native radio */
.categoryButtons input[type="radio"] {
  display: none;
}

/* Hover effect */
.categoryButtons:hover {
  font-size: 105%;
}

/* ✅ Selected state */
.categoryButtons:has(input[type="radio"]:checked) {
  background-color: #0a0a0a;
  color: antiquewhite;
  border-color: #0a0a0a;
}

main {
  min-height: 100vh;
  display: grid;
  align-items: center;
}
.allProductsWrapper {
  display: flex;
  gap: 50px;
  flex-flow: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: 30lvh;
  margin-left: 30lvh;
}
h5 {
  text-align: left;
  padding-left: 5px;
  font-family: monospace;
}
.productTitle {
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  text-align: center;
  font-size: large;
  padding-left: 5px;
  max-width: 200px;
}
.oneProduct {
  padding: 5px;
  display: grid;
  justify-items: left;
  min-width: 200px;
  border: 2px solid;
  background-color: rgb(255, 248, 235);
}
.oneProduct:hover {
  transform: scale(1.005);
  box-shadow: 1px 2px 2px rgb(0, 0, 0);
}
.productImage {
  justify-self: center;
}
.score {
  display: flex;
  align-items: center;
}

.heartLabel {
  display: none;
}

.heartInProduct {
  fill: none;
  stroke: #0a0a0a;
  transition:
    fill 0.2s ease,
    stroke 0.2s ease;
}

.heartInProduct.active {
  fill: red;
  stroke: red;
}

.buyButton {
  background-color: rgb(0, 208, 255);
  border: 1px solid;
  border-radius: 20px;
  font-size: 15px;
  padding: 8px;
  border-color: rgb(0, 101, 101);
}
.buyButton:hover {
  transform: scale(1.05);
}
.buyButton:active {
  background-color: white;
}
.remove {
  display: none;
}
/* - - - -- - -- -- --- -- detail vaade   -- - - -- - -- - - */
.detailWrapper {
  display: flex;
  background-color: aliceblue;
  margin: 0 2rem 0 2rem;
  gap: 10lvh;
}
.detailView {
  display: flex;
  font-size: 25px;
}

.addToCart {
  background-color: blue;
  color: white;
  font-size: 25px;
  border-radius: 5px;
  border: none;
}
#pictureDiv {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 3rem;
  min-width: 30lvh;
}
#pictureDiv img {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 20lvh;
}
#backButton {
  display: flex;
  max-height: 30px;
  margin: 2rem;
  font-size: 20px;
  background-color: aliceblue;
}
#backButton:hover {
  background-color: rgb(197, 228, 255);
}
.buttons {
  display: flex;
  gap: 10px;
  margin-bottom: 25px;
}
.addToLiked {
  background-color: rgb(255, 0, 195);
  color: white;
  font-size: 25px;
  border-radius: 5px;
  border: none;
}
.addToLiked:hover {
  background-color: rgb(192, 0, 147);
}
.addToCart:hover {
  background-color: rgb(2, 21, 141);
}
/* - - - -- - - -- - - - -- ---ostukorv - - -- - ---- - -----*/
img {
  max-width: 20lvh;
}
.cartWrapper {
  margin-right: 5lvh;
  margin-left: 5lvh;
}
.eseKorvis {
  display: flex;
  justify-content: space-between;
  background-color: rgb(255, 248, 235);
  border: 1px solid;
  margin: 1lvh;
}
.kakskordakolm {
  display: grid;
  grid-template-columns: 1fr 0.1fr;
  grid-auto-rows: auto;
  padding: 50px;
  background-color: aliceblue;
}
.osta {
  display: block;
  margin: 0 auto;
  width: 100vh;
  background-color: blue;
  color: white;
  font-size: 20px;
  border-radius: 5px;
  border: none;
  min-height: 50px;
}
.osta:hover {
  background-color: rgb(2, 21, 141);
}
.osta:active {
  background-color: rgb(0, 0, 0);
}
.cartButtons {
  padding-top: 50px;
  padding-right: 50px;
}
.leftSide {
  display: flex;
  padding: 10px;
  max-width: 50lvh;
}
#emptyCart {
  display: flex;
  font-size: large;
  justify-self: center;
}
.ostukorviFooter {
  display: grid;
}
#clearAll {
  background-color: red;
  border: none;
  padding: 10px;
  justify-content: center;
  margin: 0 30vh 0 30vh;
}

/* -- -- - ------- - - -Lemmikute vaade - - - --  -- - -*/
.favoritesWrapper {
  display: flex;
  gap: 20px;
  flex-flow: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: 20lvh;
  margin-left: 20lvh;
}
.favoriteAllText {
  padding: 0lvh 0lvh 10lvh 10lvh;
}
.favoriteTitle {
  font-size: 40px;
  font-family: "Franklin Gothic Medium", "Arial Narrow", Arial;
}
.noFavorites {
  display: flex;
  font-size: large;
  justify-self: center;
}
/* - - - - - -- FOOTER - - -- - - - -- - */
footer {
  margin-top: 4lvh;
  background-color: rgb(193, 193, 193);
  min-height: 40lvh;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15lvh;
}
