ul,
ol {
  margin: 0;
  padding: 0;
}
button {
  border: none;
}

.box {
  border: 1px solid #c9ced4;
  border-radius: 5px;
  padding: 15px;
}
.box h4 {
  text-align: center;
  font-size: 16px;
  margin-bottom: 15px;
}

.auto-column {
  display: flex;
}
.auto-column .full {
  flex: 1;
}
.auto-column .half {
  flex: 0.5;
}
.auto-column .half:not(:last-child) {
  margin-right: 15px;
}
.auto-column .half.flex-spaced {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.auto-column .full:not(:last-child) {
  margin-right: 15px;
}
.loading-block {
  pointer-events: none;
  user-select: none;
}

.pay-method {
  display: none;
  margin-top: 15px;
}

.big-button {
  color: #fff;
  font-weight: bold;
  padding: 15px 20px;
  border-radius: 5px;
  font-size: 16px;
  width: 100%;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.25s;
}
.big-button.default {
  background-color: #2152cf;
}
.big-button.default:hover {
  background-color: #36c2ff;
}
.big-button.success {
  background-color: rgb(11, 164, 59);
}
.big-button.success:hover {
  background-color: rgb(9, 119, 44);
}

.big-button#cancel-subscription {
  background-color: rgba(0, 0, 0, 0.4);
}
.big-button#cancel-subscription:hover {
  background-color: rgb(215, 89, 89);
}
.big-button.copy {
  margin: 0 0 0 10px !important;
  height: 45px;
  padding: 5px;
  font-size: 12px;
  min-width: 100px;
  max-width: 100px;
}
.big-button.processed {
  pointer-events: none;
}
.big-button.processed,
.big-button.processed:hover {
  background-color: rgb(11, 164, 59);
}

.inputs-group {
  display: flex;
}
.inputs-group .input-group {
  flex: 1;
  margin-bottom: 0 !important;
}
.inputs-group .input-group:not(:last-child) {
  margin-right: 15px;
}
.input-group label {
  color: #32363b;
  display: block;
  margin-bottom: 5px;
}
.inputs-group:not(:last-child),
.input-group:not(:last-child) {
  margin-bottom: 15px;
}
.input-line {
  display: flex;
}
.input-group input,
.input-group select.combo-bookplay {
  border: 1px solid #dcdcdc !important;
  padding: 5px 10px;
  border-radius: 5px;
  height: 45px;
}
.input-group select.combo-bookplay {
  background-size: 5px 5px, 5px 5px, 1px 2em;
}
.input-group button {
  padding: 5px 10px;
  border-radius: 5px;
  height: 45px;
  background-color: transparent;
}
.input-group button:not(.big-button) {
  border: 1px solid #dcdcdc;
}

#sub-bill {
  margin-bottom: 30px;
}

#sub-bill .box {
  margin-top: 20px;
}
#sub-bill .pix img,
#sub-bill .pix object,
#sub-bill .bank_slip svg {
  height: 100%;
  width: 100%;
  padding: 5px;
  border-radius: 5px;
  overflow: hidden;
  background-color: #fff;
}

#sub-bill .credit_card .flip-card {
  margin-top: 0;
}

#sub-bill .credit_card .typable-barcode {
  font-size: 16px;
  font-weight: bold;
}

#sub-bill .credit_card .loading-box {
  display: none;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 100px;
}

#sub-bill .credit_card .instruction {
  flex-direction: column;
}
#sub-bill .credit_card #bill-message {
  font-size: 140%;
  margin-top: 5px;
}

#sub-bill .credit_card #bill-card-retry {
  margin-top: 15px;
}

#sub-bill.processing .credit_card .loading-box {
  display: inline-flex;
}
#sub-bill.processing .credit_card .instructions,
#sub-bill.processing .credit_card #bill-message {
  display: none;
}

#sub-bill .half,
#sub-bill .full {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#sub-bill .half {
  align-items: center;
  justify-content: center;
}

#sub-bill .typable-barcode {
  display: block;
  text-align: center;
  padding: 5px;
  color: #808080;
  background-color: rgba(0, 0, 0, 0.05);
  margin: 15px 0;
  word-break: break-all;
}

#sub-bill .table {
  margin-bottom: 0;
}
#sub-bill .table .header {
  padding: 5px;
  height: auto;
}
#sub-bill .table .table-line {
  padding: 10px 5px;
}
#sub-bill .table .header .label {
  font-size: 16px;
}
#sub-bill.good .table .header {
  background-color: rgb(11, 164, 59) !important;
}
#sub-bill.warning .table .header {
  background-color: rgb(234, 160, 70) !important;
}
#sub-bill.danger .table .header {
  background-color: rgb(231, 108, 108) !important;
}
#sub-bill .note {
  text-align: center;
  color: #808080;
  font-style: italic;
  margin: 20px 0 0;
}
#sub-bill .note button {
  padding: 0;
  color: #2152cf;
  background: transparent;
  font-weight: bold;
  cursor: pointer;
}

#sub-bill .instructions {
}
#sub-bill .instruction {
  display: flex;
  align-items: center;
  background-color: rgb(33 82 208 / 10%);
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: bold;
  color: #2152d0;
}
#sub-bill .instruction.danger {
  font-size: 20px;
  background-color: rgb(231, 108, 108);
}
#sub-bill .instruction.info {
  color: #808080;
  background-color: rgba(0, 0, 0, 0.05);
}
#sub-bill .instruction.danger span {
  width: 100%;
  color: #fff;
  text-align: center;
}
#sub-bill .instruction:not(:last-child) {
  margin-bottom: 10px;
}
#sub-bill .instruction .number {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #2152cf;
  width: 25px;
  height: 25px;
  min-width: 25px;
  min-height: 25px;
  border-radius: 50%;
  border: 1px solid #2152cf;
  margin-right: 10px;
}

.sub-status {
  position: relative;
  color: #808080;
  font-weight: bold;
  padding: 15px;
  text-align: center;
  margin-bottom: 30px;
  border-radius: 5px;
}
.sub-status h2 {
  font-weight: bold;
}
#sub-enabled {
  color: #808080;
}
#sub-enabled #assinatura-metodo img {
  width: 40px;
  margin-right: 5px;
}

#sub-disabled {
  color: #fff;
  background-color: rgb(215, 89, 89);
}

#user-not-ready .contato {
  margin-top: 20px;
}

#payment-box {
  margin-bottom: 30px;
}
#payment-box .payments {
  display: flex;
}
#payment-box .payments .methods {
  display: flex;
  width: 100%;
  list-style: none;
}
#payment-box .payments .methods .method {
  flex: 1;
  border-radius: 5px;
  height: 75px;
  font-weight: bold;
  overflow: hidden;
  color: #2152cf;
  user-select: none;
  border: 1px solid #2152cf;
  /* background-color: rgba(0, 0, 0, 0.05); */
  transition: background-color 0.25s;
}

#payment-box .payments .methods .method.active,
#payment-box .payments .methods .method:hover:not(.disabled) {
  color: #fff;
  background-color: #2152cf;
}
#payment-box .payments .methods .method.disabled {
  background-color: #fff;
  color: #c9ced4;
  border-color: #c9ced4;
  /* display: none; */
}
#payment-box .payments .methods .method button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background-color: transparent;
}
#payment-box .payments .methods .method.disabled button {
  opacity: 0.4;
  cursor: not-allowed;
}
#payment-box .payments .methods .method.disabled svg {
  color: #c9ced4;
}
#payment-box .payments .methods .method:not(:last-child) {
  margin-right: 15px;
}
#payment-box .payments .methods .method svg {
  color: #2152cf;
  margin-right: 10px;
}
#payment-box .payments .methods .method.active svg,
#payment-box .payments .methods .method:hover:not(.disabled) svg {
  color: #fff;
}
#payment-box .payments .methods .method.pix.active svg {
  color: #32bcad;
}

#payment-box .big-button {
  margin-top: 30px;
}

/* -------------- */
/* Flip Card Effect */
.flip-card {
  background-color: transparent;
  width: 300px;
  height: 200px;
  margin: 20px 0 15px;
  perspective: 1000px;
}

.flip-card .card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  color: #dcdcdc;
  font-size: 16px;

  background: rgb(23, 65, 172);
  background: linear-gradient(180deg, rgba(23, 65, 172, 1) 0%, rgba(33, 82, 207, 1) 100%);
}
.flip-card.flipped .card-inner,
.flip-card.enabled:hover .card-inner {
  transform: rotateY(180deg);
}
.flip-card .card-front,
.flip-card .card-verse {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.flip-card .magnetic {
  width: 50px;
  height: 35px;
  border-radius: 5px;
  background: #ccc;
  position: relative;
  margin-bottom: 10px;
}
.flip-card .magnetic::before {
  content: ' ';
  display: block;
  width: 70%;
  height: 60%;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: #dcdcdc;
  position: absolute;
  top: 20%;
}

.flip-card .numbered-label::before {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  content: attr(data-before);
  margin-bottom: 2px;
  font-size: 8px;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
  white-space: pre;
  display: block;
  opacity: 0.5;
}

.flip-card .card-front {
}
.flip-card .card-front .fixed {
  width: 80%;
  position: absolute;
  left: 10%;
  bottom: 30px;
}
.flip-card .card-front .fixed .magnetic {
  margin-bottom: 10px;
}

.flip-card .card-front .fixed .number {
  font-family: Consolas, Courier, monospace;
  font-size: 18px;
  clear: both;
  margin-bottom: 30px;
}
.flip-card .card-front .fixed .name {
  text-transform: uppercase;
  font-family: Consolas, Courier, monospace;
  max-height: 35px;
  position: absolute;
  bottom: 0;
  width: 185px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: horizontal;
  overflow: hidden;
  text-overflow: ellipsis;
}
.flip-card .card-front .fixed .expiration {
  font-family: Consolas, Courier, monospace;
  letter-spacing: 0;
  position: relative;
  float: right;
  width: 20%;
}

.flip-card .card-verse {
  transform: rotateY(180deg);
}
.flip-card .card-verse::after {
  content: ' ';
  display: block;
  background-color: #fff;
  background-image: linear-gradient(#fff, #fff);
  width: 78%;
  height: 16%;
  position: absolute;
  top: 40%;
  left: 2%;
}
.flip-card .card-verse .bar {
  background-color: #444;
  background-image: linear-gradient(#444, #333);
  width: 100%;
  height: 20%;
  position: absolute;
  top: 10%;
}

.flip-card .card-verse .code {
  position: absolute;
  top: 40%;
  right: 2%;
  width: 16%;
  font-size: 16px;
  text-align: center;
}

.flip-card .card-verse .magnetic {
  position: absolute;
  top: 66%;
  left: 2%;
}
.flip-card .card-verse .magnetic:after {
  content: 'Este cartão foi disponibilizado pelo Bookplay e possui licença para uso gratuito em qualquer lugar. Não vem com garantia. Para questões de suporte, por favor, visite: bookplay.com.br';
  position: absolute;
  left: 120%;
  top: 13%;
  color: #fff;
  font-size: 7px;
  width: 230px;
  opacity: 0.5;
}

/* -------------- */
/* Medias */
@media screen and (max-width: 667px) {
  .auto-column {
    flex-direction: column;
  }
  .auto-column .flex {
    display: flex;
  }
  .auto-column .half:not(:last-child) {
    margin: 0 0 15px 0;
  }
  .auto-column .full:not(:last-child) {
    margin: 0 0 15px 0;
  }

  .auto-column h4 {
    font-size: 18px;
  }

  .auto-column .half:not(:first-child) button {
    margin-top: 0;
  }

  #payment-box .payments .methods .method {
    height: auto;
  }
  #payment-box .payments .methods .method button {
    display: flex;
    flex-direction: column;
    padding: 10px;
  }

  #payment-box .payments .methods .method button svg {
    margin-right: 0;
    margin: 0 0 10px 0;
  }

  .flip-card {
  }
}

/* -------------- */
/* DARK MODE */
body.dark .big-button#cancel-subscription:not(:hover) {
  background-color: rgba(255, 255, 255, 0.1);
}
body.dark #payment-box .payments .methods .method:not(.active):not(:hover) {
  background-color: rgba(255, 255, 255, 0.05);
}

body.dark section label {
  color: rgb(229, 229, 231);
}

body.dark #sub-bill .typable-barcode,
body.dark #sub-bill .instruction.info {
  background-color: rgba(255, 255, 255, 0.05) !important;
}
