@import url("https://fonts.googleapis.com/css2?family=Exo:wght@900&display=swap");
body, div, input {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

.main {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.fondo {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  background-color: #7699CE;
}
.fondo .brand {
  width: 40%;
  height: 100%;
  position: relative;
}
.fondo .brand .text {
  width: 100%;
  position: absolute;
  font-family: Exo;
  font-weight: bold;
  font-size: 350%;
  left: 50%;
  top: 50%;
  color: white;
  text-align: center;
  transform: translate(-50%, -50%);
}
.fondo .grid {
  display: grid;
  width: 60%;
  height: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}
.fondo .grid .element {
  border: 1px solid gray;
  overflow: hidden;
  position: relative;
  border: none;
}
.fondo .grid .element .price {
  font-family: "Exo";
  font-weight: bold;
  position: absolute;
  font-size: 500%;
  transform-origin: 50% 90%;
  transform: translate(-50%, -100%) rotate(-90deg);
  top: 55%;
  left: 100%;
  text-wrap: none;
  width: 150%;
  text-align: center;
  opacity: 0.25;
  color: white;
}
.fondo .grid .element .fake-item {
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  background-size: contain;
  width: 90%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.fondo .grid .element:nth-child(1), .fondo .grid .element:nth-child(5) {
  background-color: #9FBBE5;
}
.fondo .grid .element:nth-child(2), .fondo .grid .element:nth-child(6) {
  background-color: #97B6E4;
}
.fondo .grid .element:nth-child(3), .fondo .grid .element:nth-child(4) {
  background-color: #8AADE0;
}

.positionable {
  position: absolute;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s;
}

.pointer {
  width: 20px;
  height: 20px;
  border-radius: 100%;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.3);
}

.invisible {
  opacity: 0 !important;
  transition: opacity 0s !important;
}

.thumb, .index {
  background-color: rgba(255, 255, 255, 0.5);
  width: 30px;
  height: 30px;
}

.draggable {
  width: 25vw;
  height: 25vw;
  left: 50vw;
  top: 50vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  transition: opacity 0.5s;
  opacity: 1;
}

.dragging {
  z-index: 5;
}

.shirt-1 {
  background-image: url("/img/shirt-1.png");
}

.shirt-2 {
  background-image: url("/img/shirt-2.png");
}

.shirt-3 {
  background-image: url("/img/shirt-3.png");
}

.cart {
  height: 20vh;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
}
.cart .icon {
  width: 20vh;
  height: 20vh;
  background-color: #9FBBE5;
  border-radius: 100%;
  position: absolute;
  bottom: 20px;
  left: 20px;
}
.cart .icon img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
.cart .icon .counter {
  background-color: #FF4A1A;
  border-radius: 50px;
  padding: 5px 10px;
  color: white;
  font-family: "Exo";
  font-size: 200%;
  position: absolute;
  left: 80%;
  top: 80%;
  transform: translate(-50%, -100%);
}
.cart .wrapper {
  width: calc(100vw - 10vh - 20px);
  height: 20vh;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  left: calc(10vh + 20px);
  bottom: 20px;
}
.cart .wrapper .lista {
  width: calc(100vw - 10vh - 20px);
  height: 100%;
  position: absolute;
  left: -100%;
  background-color: #8AADE0;
  transition: left 0.2s;
  display: flex;
  padding-left: 10vw;
}
.cart .wrapper .lista .item {
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  position: relative;
}
.cart .wrapper .lista .item .counter {
  left: 50%;
  top: calc(100% - 10px);
  transform: translate(-50%, -100%);
  position: absolute;
  color: white;
  font-family: "Exo";
  font-size: 120%;
  border-radius: 50px;
}
.cart .wrapper.open .lista {
  left: 0;
}
