.popup-button, .popup-button div {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  z-index: 10;
}
.popup-button label {
  box-sizing: border-box;
}

/* Botão que ativa o popup */
label.open-popup {
  width: 62px;
  height: 62px;
  padding: 0px 30px;
  background-color: var(--popup-btn-bg-color);
  color: var(--popup-btn-color);
  border-radius: var(--popup-btn-radius);

  font-size: var(--popup-btn-size);
  
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  cursor: pointer;
}
label.open-popup::after {
  content: var(--popup-btn-content);
}

/* Fundo quando popup ativo */
label.bg-close-popup {
  background-color: var(--active-popup-bg-color);
  cursor: default;
}

/* Container do popup */
.popup-container {
  border-radius: var(--popup-container-radius);
  overflow: hidden;
}
.popup-container .popup-content {
  padding: var(--popup-content-padding);
  overflow-y: scroll;
}
.popup-container .popup-content h3 {
  font-size: var(--popup-title-size);
  margin-bottom: 64px;
  margin-top: 0;
}
.popup-container .popup-content p {
  font-size: var(--popup-content-size);
}

/* Botão "x" que desativa o popup */
label.x-close-popup {
  border-top-left-radius: var(--popup-close-radius-tl);
  border-top-right-radius: var(--popup-close-radius-tr);
  border-bottom-left-radius: var(--popup-close-radius-bl);
  border-bottom-right-radius: var(--popup-close-radius-br);

  display: flex;
  align-items: center;
  justify-content: center;

  font-weight: 900;
  cursor: pointer;
}


/* ~~~ CONFIGURAÇÕES IMPORTANTES ~~~ */

/* Fundo */
label.bg-close-popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 140vw;
  height: 140vh;
  z-index: 1;
}
input.bg-close-popup:checked ~ .popup-container, 
input.bg-close-popup:checked ~ label.bg-close-popup, 
input.bg-close-popup:checked ~ label.x-close-popup {
  display: none;
  padding-left: 255px;
}

/* Botão "x" que desativa o popup */
label.x-close-popup {
  color: var(--popup-close-color);
  background: none;
  background-size: var(--popup-close-bg-size);
  position: fixed;
  top: calc(50% - (var(--popup-container-height) / 2) + var(--popup-close-mt));
  left: calc(50% + ((var(--popup-container-width) / 2) - var(--popup-close-width) - var(--popup-close-mr)));
  width: var(--popup-close-width);
  height: var(--popup-close-height);
  transform-origin: top right;
  box-sizing: border-box;
  z-index: 14;
  padding-left: 255px;
}
label.x-close-popup::after {
  font-size: var(--popup-close-size);
  content: var(--popup-close-content);
}
input.x-close-popup:checked ~ .popup-container,  
input.x-close-popup:checked ~ label.bg-close-popup,
input.x-close-popup:checked ~ label.x-close-popup {
  display: none;
}

/* Container do popup */
.popup-container {
  color: var(--popup-container-color);
  background-color: #8956BC;
  width: 640px;
  height: var(--popup-container-height);
  position: fixed;
  top: calc(50% - (var(--popup-container-height) / 2));
  left: calc(50% - (var(--popup-container-width) / 2));
}
.popup-container .popup-content {
  margin-top: calc(var(--popup-close-height) + var(--popup-close-mt) + var(--popup-content-mt) + var(--popup-close-mb));
  margin-left: var(--popup-content-ml);
  margin-right: var(--popup-content-mr);
  height: calc(var(--popup-container-height) - var(--popup-close-height) - var(--popup-close-mt) - var(--popup-close-mb) - var(--popup-content-mt) - var(--popup-content-mb));
  background-color: var(--popup-content-color);
}