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

body {
  height: 100dvh;
  width: 100%;

  background: linear-gradient(130deg, rgb(237, 174, 57), rgb(235, 192, 113));
}

.principal {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;

  max-width: 450px;
  margin: 0px auto;
  width: 100%;
}

.cartas {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 10px;

  flex-wrap: wrap;
}

.carta {
  width: 65px;
  height: 75px;
  margin: 10px;

  perspective: 1000px;
}

.carta .frente,
.carta .verso {
  border: 3px solid white;
  box-shadow: 0px 0px 1px 2px rgb(220, 95, 54);
  border-radius: 5px;
  position: absolute;
  width: 100%;
  height: 100%;

  backface-visibility: hidden;
}

.carta .verso {
  background-color: rgb(243, 107, 61);
}

.carta .frente {
  background-color: rgba(0, 0, 255);
  display: flex;
  align-items: center;
  justify-content: center;

  transform: rotateY(180deg);
}

.carta .virar {
  width: 100%;
  height: 100%;
  cursor: pointer;

  transform-style: preserve-3d;
  transition: 600ms ease-in-out;
}

.carta .virar.ativo {
  transform: rotateY(180deg);
}

.informacoes {
  display: flex;
  justify-content: space-around;
  align-items: center;

  gap: 10px;
  padding: 10px 10px;

  width: 280px;
  background-color: rgb(255, 210, 127);
  margin: 10px auto;
  border-radius: 30px;

  box-shadow: 0px 0px 3px 1px rgb(196, 59, 59);
  font-size: 20px;
}

.informacoes > div {
  display: flex;
  align-items: center;
}

.informacoes .coracao {
  margin-right: 10px;
  background-color: red;
  width: 15px;
  height: 15px;
}

.informacoes .coracao::after,
.informacoes .coracao::before {
  background-color: red;
}

.informacoes .coracao::before {
  top: -7px;
}
.informacoes .coracao::after {
  left: 7px;
}

.informacoes .estrela {
  margin-right: 2px;
  width: 30px;
  height: 30px;
}

.informacoes .relogio {
  margin-right: 5px;
  font-size: 25px;
}

.botoes {
  display: flex;
  flex-wrap: wrap;

  justify-content: space-evenly;
  align-items: center;

  max-width: 300px;
  width: 100%;
}

.btn {
  width: 130px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 5px;
  padding: 12px 0px;

  background-color: rgb(255, 210, 127);
  margin: 10px auto;
  border-radius: 30px;

  box-shadow: 0px 0px 2px 1px rgb(196, 59, 59);
  border: 1px solid rgb(243, 131, 50);
  font-size: 16px;

  color: #573d19;

  font-weight: 700;
  cursor: pointer;
}

#modal-mensagem {
  position: absolute;

  border: none;
  border-radius: 20px;

  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);
}

.modal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  width: 250px;
  padding: 20px 10px;
  background-color: rgb(255, 210, 127);

  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
  gap: 10px;
}

.modal .botoes {
  flex-direction: column;
}

.modal .btn {
  width: 160px;
}
