/* Background overlay */
.custom-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

/* Modal content box */
.custom-modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%; /* Aumenta a largura do modal */
  max-width: 1400px; /* Garante um tamanho máximo */
  height: 750px; /* Aumenta a altura */
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

/* Fullscreen modal */
.custom-modal-content.fullscreen {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
}

/* Modal header */
.custom-modal-header {
  background: #333;
  color: #fff;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  overflow: hidden; /* Evita deformação do texto */
  text-overflow: ellipsis;
}

/* Botões no header */
.custom-modal-header .buttons {
  display: flex;
  gap: 5px;
}

.custom-modal-header .buttons button {
  background: #555;
  color: #fff;
  border: none;
  padding: 5px;
  cursor: pointer;
  border-radius: 3px;
  font-size: 12px;
  font-weight: bold;
}

.custom-modal-header .buttons button:hover {
  background: #777;
}

/* Modal body */
.custom-modal-body {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.custom-modal-body > div:not(.custom-spinner) {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
}

/* Disable body scrolling */
body.custom-modal-open {
  overflow: hidden;
}

/* Spinner */
.custom-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 8px solid #f3f3f3;
  border-top: 8px solid #333;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  z-index: 1000;
  display: none;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.page-card-container {
  display: flex;
  align-items: flex-start;
  gap: 20px; /* Espaço entre imagem e texto */
  border: 1px solid #ddd; /* Borda para separar itens */
  padding: 15px; /* Espaço interno */
  background-color: #f9f9f9; /* Fundo claro */
  border-radius: 8px; /* Cantos arredondados */
}

.page-card-image img {
  max-width: 150px;
  height: auto;
  border: 1px solid #ccc; /* Borda ao redor da imagem */
  border-radius: 4px;
}

.page-card-text {
flex: 1; /* Faz o texto ocupar o espaço restante */
display: flex; /* Ativa o modelo flexbox */
flex-direction: column; /* Organiza os itens verticalmente */
justify-content: flex-start; /* Inicia os itens no topo */
gap: 10px; /* Espaçamento entre os parágrafos */
height: 100%; /* Garante que ocupe toda a altura disponível */
}

.page-card-text h5 {
  margin: 0 0 10px; /* Espaço entre o título e o restante do texto */
}

.page-card-text p {
  margin: 0;
  font-size: 14px;
  color: #555; /* Cor do texto */
}

.page-card-title-separator {
  font-size: 18px; /* Tamanho do título */
  font-weight: bold;
  color: #333; /* Cor do título */
  margin-bottom: 10px; /* Espaçamento entre o título e o card */
  padding-bottom: 5px; /* Espaço abaixo do texto */
  border-bottom: 2px solid #ccc; /* Linha separadora abaixo do título */
  display: inline-block; /* Linha separadora apenas no comprimento do texto */
}

.page-card-bottom-text {
margin-top: auto; /* Empurra este elemento para o final */
font-size: 14px; /* Mantém a consistência */
color: #333; /* Cor diferenciada */
font-weight: bold; /* Estilo de negrito */
}

