:root {
    --background: hsl(0, 0%, 100%);
    --font: "Plein", serif;
    --topbar-background: hsl(0, 0%, 89%);
    --buy: hsl(120, 83%, 29%);
}

body {
    background-color: var(--background);
}


h1,h2,h3,h4,p,div,button{
    font-family: var(--font);
}

#Topbar {
    height: 7%;
    width: 100%;
    left: 0%;
    top: 0%;
    display: flex;
    position: fixed;
    background-color: var(--topbar-background);
    justify-content: right;
    align-items: center;
    z-index: 999;
}

#Title {
    position: fixed;
    left: 3%;
    font-size: 2vh;
}

#CenterTitle {
    position: sticky;
    font-size: 4vh;
    top: 8%;
}

#CenterContent {
    display: flex;
    position: fixed;
    width: 100%;
    height: 80%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: 0.1s;
}

.TopbarNavigator {
    height: 100%;
    width: 80px;
    background-color: hsla(0, 0%, 0%, 0);
    border: none;
    transition: 0.2s;
}

.TopbarNavigator:hover {
    background-color: var(--topbar-background);
}

.ItemDisplay {
  position: relative;
  overflow: hidden;
  height: 20vh;
  aspect-ratio: 192/108;
  background-color: var(--topbar-background);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
  border-radius: 2.2vw;
}


.ItemImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 2vw;
  transition: 0.2s;
}

.item-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 180ms ease, transform 180ms ease;
  background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.45) 100%);
  gap: 8px;
  border-radius: inherit;
}

.overlay-inner {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 90%;
}

.product-name {
  color: var(--background);
  font-weight: 600;
  font-size: 1.6vh;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.add-btn {
  margin-left: auto;
  background: var(--buy);
  color: var(--background);
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  pointer-events: auto;
  font-weight: 600;
}

.ItemDisplay:hover .item-overlay,
.ItemDisplay:focus-within .item-overlay,
.ItemDisplay.show-overlay .item-overlay {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ItemDisplay:hover .ItemImage,
.ItemDisplay:focus-within .ItemImage,
.ItemDisplay.show-overlay .ItemImage {
  filter: brightness(70%);
  transform: scale(1.02);
}