#images {
  margin: 2em auto;
  position: relative;
  max-width: min(100%, 70em);
  width: max-content;
  display: flex;
  overflow: hidden;
  gap: 2em;
  user-select: none;
  cursor: pointer;
  border-bottom: solid #c7c5c5 2px;
  padding-bottom: 2em;
}
#images .img {
  height: 40vh;
  display: grid;
  place-items: center;
}
#images .img img {
  height: inherit;
  width: inherit;
  object-fit: contain;
}

#big-img {
  visibility: hidden;
  opacity: 0;
  transition-property: visibility, opacity;
  transition-duration: 0.75s;
  background-color: rgba(0, 0, 0, 0.6666666667);
  position: fixed;
  inset: 0;
  z-index: 200;
}
#big-img img {
  object-fit: contain;
  transition-property: filter;
  transition-duration: 0.75s;
  filter: blur(1em);
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 2em;
  max-width: 100%;
  max-height: 100%;
}
#big-img[show] {
  visibility: visible;
  opacity: 1;
}
#big-img[show] img {
  filter: blur(0);
}

.carousel {
  margin: 2em auto;
  display: grid;
  grid-template-columns: 2em 1fr 2em;
  grid-template-rows: auto auto;
  grid-template-areas: "left imgs right" "bubbles bubbles bubbles";
}
.carousel .imgs {
  grid-area: imgs;
  display: flex;
  overflow: hidden;
  gap: 1em;
}
.carousel .imgs .img {
  width: 100%;
  max-height: 50vh;
  display: grid;
  place-items: center;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  flex-shrink: 0;
}
.carousel .imgs .img:first-child {
  transition: margin-left 0.5s;
  margin-left: calc((-100% - 1em) * var(--i));
}
.carousel .imgs .img img {
  max-height: inherit;
  max-width: 100%;
  object-fit: contain;
  cursor: pointer;
}
.carousel button {
  align-self: center;
  position: relative;
  height: 4em;
  width: 2em;
  font-size: inherit;
  background: none;
  border: none;
  cursor: pointer;
}
.carousel button::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.5em;
  height: 1.5em;
  border: solid #F24333 0.5em;
  border-style: solid solid none none;
}
.carousel button.left {
  grid-area: left;
}
.carousel button.left::before {
  transform: translateX(25%) rotate(-135deg);
}
.carousel button.right {
  grid-area: right;
}
.carousel button.right::before {
  transform: translateX(-25%) rotate(45deg);
}
.carousel .bubbles {
  grid-area: bubbles;
  width: 100%;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.carousel .bubbles .bubble {
  width: 1em;
  height: 1em;
  border-radius: 0.5em;
  background-color: #F24333;
  opacity: 0.5;
  transition: opacity 0.5s;
  cursor: pointer;
}
.carousel .bubbles .bubble[selected] {
  opacity: 1;
}

#item {
  max-width: 50em;
  margin: auto;
}
#item .grid {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr auto auto;
  grid-template-areas: "name price-stock" "reserved price-stock" "desc price-stock";
  padding: 0 2em;
}
#item .grid .name {
  grid-area: name;
}
#item .grid .reserved {
  grid-area: reserved;
  color: #fb500d;
  font-style: italic;
  font-weight: bold;
  font-size: 90%;
  padding-bottom: 1em;
}
#item .grid .desc {
  grid-area: desc;
}
#item .grid .price-stock {
  grid-area: price-stock;
  display: flex;
  flex-direction: column;
  padding: 1em;
  border-left: solid black 1px;
  gap: 1em;
}
#item .grid .price-stock span {
  font-weight: bold;
}
#item .desc {
  white-space: pre-wrap;
}
#item .unavailable {
  font-size: 125%;
  font-style: italic;
  text-align: center;
  margin-top: 2em;
}

.related {
  margin: 2em auto 0 auto;
  border-radius: 1em;
  max-width: 80em;
  user-select: none;
}
.related .items {
  overflow-x: auto;
  display: flex;
  margin-top: 1em;
  gap: 0.5em;
  padding-bottom: 0.5em;
  cursor: pointer;
  scroll-snap-type: x mandatory;
}
.related .items.swiping {
  scroll-snap-type: none;
}
.related .items::-webkit-scrollbar {
  height: 0.5em;
}
.related .items::-webkit-scrollbar-track {
  background-color: white;
  border-radius: 0.25em;
}
.related .items::-webkit-scrollbar-thumb {
  background-color: #BA1B1D;
  border-radius: 0.25em;
}
.related .items::-webkit-scrollbar-thumb:hover {
  background-color: #ab191a;
}
.related .items .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  gap: 0.5em;
  scroll-snap-align: center;
}
.related .items .item img {
  max-height: 12em;
  object-fit: contain;
  pointer-events: none;
}
.related .items .item .name {
  text-align: center;
  width: max-content;
  max-width: 12em;
  padding: 0 0.4em;
}

.top-btns {
  display: grid;
  margin-top: 1em;
  gap: 1em;
  grid-template-columns: 1fr 1fr;
}
.top-btns .back-btn, .top-btns .edit-btn, .top-btns .cart-btn {
  font-family: inherit;
  font-size: inherit;
  border: none;
  cursor: pointer;
  padding: 0.5em 1em;
  background-color: #BA1B1D;
  position: relative;
  color: white;
  text-decoration: none;
  display: inline-grid;
  place-items: center;
  transition: padding 0.5s;
}
.top-btns .back-btn::before, .top-btns .edit-btn::before, .top-btns .cart-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.5em;
  height: 0.5em;
  border: white 2px;
  transition: transform 0.5s, opacity 0.5s;
  opacity: 0;
}
.top-btns .back-btn:disabled, .top-btns .edit-btn:disabled, .top-btns .cart-btn:disabled {
  color: #1a1a1a;
  background-color: #bdabaf;
}
.top-btns .back-btn {
  margin-right: auto;
}
.top-btns .back-btn::before {
  left: 1em;
  border-style: none none solid solid;
  transform: translate(25%, -50%) rotate(45deg);
}
.top-btns .back-btn:hover {
  padding-left: 2em;
}
.top-btns .back-btn:hover::before {
  opacity: 1;
  transform: translate(-25%, -50%) rotate(45deg);
}
.top-btns .edit-btn {
  margin-left: auto;
  grid-column-start: 2;
}
.top-btns .edit-btn::before {
  right: 1em;
  border-style: solid solid none none;
  transform: translate(-25%, -50%) rotate(45deg);
}
.top-btns .edit-btn:hover {
  padding-right: 2em;
}
.top-btns .edit-btn:hover::before {
  opacity: 1;
  transform: translate(25%, -50%) rotate(45deg);
}
.top-btns .cart-btn {
  margin-left: auto;
  grid-column-start: 2;
}
.top-btns .cart-btn::before {
  border-style: solid solid none none;
}
.top-btns .cart-btn::before, .top-btns .cart-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  border: none;
  background-color: white;
  transition: transform 0.5s, opacity 0.5s;
  transform: translate(calc(50% - 0.25em), -50%);
  opacity: 0;
}
.top-btns .cart-btn::before {
  width: 0.8em;
  height: 2px;
}
.top-btns .cart-btn::after {
  width: 2px;
  height: 0.8em;
}
.top-btns .cart-btn:hover {
  padding-right: 2em;
}
.top-btns .cart-btn:hover::before, .top-btns .cart-btn:hover::after {
  opacity: 1;
  transform: translate(50%, -50%);
}
.top-btns .cart-btn .del-txt {
  display: none;
}
.top-btns .cart-btn.in-cart .add-txt {
  display: none;
}
.top-btns .cart-btn.in-cart .del-txt {
  display: inline;
}
.top-btns .cart-btn.in-cart::after {
  content: none;
}

@media (max-width: 768px) {
  #item .grid {
    padding: 0;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto auto;
    grid-template-areas: "name" "reserved" "price-stock" "desc";
  }
  #item .grid .price-stock {
    /*span {
    	display: block;
    }*/
    grid-area: price-stock;
    flex-direction: row;
    justify-content: space-evenly;
    border-left: none;
    border-bottom: solid black 1px;
    margin-bottom: 2em;
  }
  .top-btns .back-btn {
    padding-left: 2em;
  }
  .top-btns .back-btn::before {
    opacity: 1;
    transform: translate(-25%, -50%) rotate(45deg);
  }
  .top-btns .cart-btn {
    padding-right: 2em;
  }
  .top-btns .cart-btn::before, .top-btns .cart-btn::after {
    opacity: 1;
    transform: translate(50%, -50%);
  }
  .top-btns .edit-btn {
    padding-right: 2em;
  }
  .top-btns .edit-btn::before {
    opacity: 1;
    transform: translate(25%, -50%) rotate(45deg);
  }
}

/*# sourceMappingURL=item.css.map */
