.payments .cards .card {
  perspective: 1200px;
  color: #fff;
  margin-block-end: 1rem;
}
.payments .cards .card .inner {
  width: 100%;
  margin-bottom: 4px;
  transform-style: preserve-3d;
  transition: transform 0.7s cubic-bezier(0.2, 0.9, 0.3, 1);
  position: relative;
}
.payments .cards .card:hover .inner {
  transform: rotateY(180deg);
}
.payments .cards .card .inner > div {
  width: 100%;
  height: 100%;
  padding: 1.75rem;
  border-radius: 0.75rem;
  backface-visibility: hidden;
  overflow: hidden;
}
.payments .cards .card.visa .inner .front {
  background-color: var(--color-indigo-800);
}
.payments .cards .card.mastercard .inner .front {
  background-color: var(--color-rose-700);
}
.payments .cards .card.paypal  .inner .front{
  background-color: var(--color-blue-800);
}
.payments .cards .card .inner .front .header {
  margin-block-end: 2rem;
}
.payments .cards .card .inner .front .header .icon {
  width: 3rem;
  height: 2rem;
  background-color: #ffffff33;
  border-radius: 0.375rem;
}
.payments .cards .card .inner .front .header .icon::after {
  content: "";
  width: 1.5rem;
  height: 1rem;
  background-color: #ffffff66;
  border-radius: 0.25rem;
}
.payments .cards .card .inner .front .body .number {
  margin-block-end: 0.5rem;
  letter-spacing: 2px;
}
.payments .cards .card .inner .front .body div div p:first-child {
  color: var(--color-blue-100);
}
.payments .cards .card .inner .back {
  transform: rotateY(180deg);
  padding: 1rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    120deg,
    rgb(5, 16, 38),
    rgb(11, 18, 32) 45%,
    rgb(15, 23, 36)
  );
}
.payments .cards .card .inner .back > .header {
  height: 39px;
  margin-top: 6px;
  box-shadow: rgba(255, 255, 255, 0.02) 0px 6px 14px inset;
  background: linear-gradient(
    90deg,
    rgb(0, 0, 0),
    rgb(17, 17, 17) 40%,
    rgb(43, 43, 43)
  );
  border-radius: 3px;
}
.payments .cards .card .inner .back > .signature {
  color: rgba(255, 255, 255, 0.48);
  letter-spacing: 0.6px;
  margin-top: 8px;
  font-size: 10px;
}
.payments .cards .card .inner .back > .number {
  height: 30px;
  color: rgb(17, 24, 39);
  font-weight: 700;
  padding: 6px 8px;
  margin-top: 10px;
  position: relative;
  background: linear-gradient(90deg, rgb(248, 250, 252), rgb(238, 242, 246));
  border-radius: 4px;
  overflow: hidden;
}
.payments .cards .card .inner .back > .number .hide {
  background-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.06),
    rgba(0, 0, 0, 0.18),
    rgba(0, 0, 0, 0.06)
  );
  width: 100%;
  height: 12px;
  transform: skew(-10deg);
  border-radius: 2px;
}
.payments .cards .card .inner .back > .number .show {
  color: rgba(0, 0, 0, 0.85);
  margin-left: 8px;
  font-family: monospace;
  font-size: 0.9rem;
}
.payments .cards .card .inner .back > .cvv {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  margin-top: 12px;
}
.payments .cards .card .inner .back > .cvv .number {
  color: rgb(17, 24, 39);
  background: #fff;
  letter-spacing: 1px;
  text-align: center;
  font-weight: 700;
  border-radius: 6px;
  padding: 3px 9px;
}
