:root {
  --rd-carts-font: 'Inter';
  --rd-carts-gap: 20px;
  --rd-carts-border-color: rgb(228, 228, 228);
  --rd-carts-border-color-hover: rgb(219, 14, 24);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

input,
textarea,
select,
button {
  font-family: var(--rd-banner-font), sans-serif;
}

.rd-carts {
  font-family: var(--rd-carts-font), sans-serif;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  width: 100%;
}

.rd-carts__item {
  display: flex;
  gap: var(--rd-carts-gap);
  flex: 1 1 calc((100% - 28px) / 3);
  border: 1px solid var(--rd-carts-border-color);
  border-radius: 30px;
  cursor: pointer;
  padding: var(--rd-carts-gap);
  transition: all 0.2s;
  overflow: hidden;
}

.rd-carts__item:hover {
  border-color: var(--rd-carts-border-color-hover);
}

.rd-carts__item.active {
  border-color: var(--rd-carts-border-color-hover);
  cursor: pointer;
}

.rd-carts__item.disabled {
  pointer-events: none;
}

.rd-carts__cart {
  display: block;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 250 / 230;
  background: url("../images/cart.png") no-repeat center center / contain;
  transition: all .2s, transform 1s;
  transform: translateX(calc(-100% - var(--rd-carts-gap)));
}

.no-webp .rd-carts__cart {
  background: url("../images/cart.png") no-repeat center center / contain;
}

.webp .rd-carts__cart {
  background: url("../images/cart.webp") no-repeat center center / contain;
}

.rd-carts__cart--sale {
  background: url("../images/cart-sale.png") no-repeat center center / contain;
}

.no-webp .rd-carts__cart--sale {
  background: url("../images/cart-sale.png") no-repeat center center / contain;
}

.webp .rd-carts__cart--sale {
  background: url("../images/cart-sale.webp") no-repeat center center / contain;
}

.rd-carts__item:not(.active):hover .rd-carts__cart {
  background: url("../images/cart-active.png") no-repeat center center / contain;
}

.no-webp .rd-carts__item:not(.active):hover .rd-carts__cart {
  background: url("../images/cart-active.png") no-repeat center center / contain;
}

.webp .rd-carts__item:not(.active):hover .rd-carts__cart {
  background: url("../images/cart-active.webp") no-repeat center center / contain;
}

.rd-carts__item.active .rd-carts__cart {
  transform: translateX(0);
}

@media (max-width: 639px) {
  .rd-carts {
    max-width: 400px;
  }
  .rd-carts__item {
    flex: 1 1 calc((100% - 14px) / 2);
  }
}

@media (max-width: 479px) {
  :root {
    --rd-carts-gap: 10px;
  }

  .rd-carts__item {
    border-radius: 10px;
  }
}