.center-container,
header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--background-color);
    width: 100%;
    /* Garante que o contêiner pai ocupe toda a largura disponível */
}

/* Estilos padrão (mobile-first) */
.navbar-custom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
    /* Ajuste para dispositivos móveis */
    margin: 0 auto;
    max-width: 720px;
    /* Largura máxima padrão */
}

/* Breakpoints para telas pequenas (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .navbar-custom {
        max-width: 550px;
        /* Largura máxima padrão */
    }
}

/* Breakpoints para tablets (768px and up) */
@media (min-width: 768px) {
    .navbar-custom {
        max-width: 400px;
        /* Largura máxima padrão */
    }
}

/* Breakpoints para desktops (992px and up) */
@media (min-width: 992px) {
    .navbar-custom {
        max-width: 500px;
        /* Largura máxima padrão */
    }
}

/* Breakpoints para large desktops (1200px and up) */
@media (min-width: 1200px) {
    .navbar-custom {
        max-width: 600px;
        /* Largura máxima padrão */
    }
}

@media (min-width: 1400px) {
    .navbar-custom {
        max-width: 720px;
        /* Largura máxima padrão */
    }
}

.logo {
    display: inline-block;
    vertical-align: top;
}

.navbar-links {
    display: flex;
    align-items: center;
}

.nav-link {
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    border: none;
    margin-left: 15px;
    padding: 10px 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: white;
    border-radius: 10px;
}

.nav-link i {
    margin-right: 5px;
}

.spacing {
    margin-right: 5px;
}

.menu-icon {
    display: none;
    color: #FFF;
    font-weight: bold;
    font-size: 30px;
    cursor: pointer;
    margin-left: 12px;
}


@media screen and (max-width: 800px) {
    .navbar-custom {
        width: 100%;
        padding: 1rem;
    }
}



.fullscreen-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1A1A1A;
    z-index: 2000;
    overflow-y: auto;
}

.fullscreen-menu.active {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fullscreen-container {
    display: none;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 600px;
    /* Esta largura máxima deve corresponder ao contêiner principal */
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
}

.fullscreen-container.active {
    display: flex;
}

.fullscreen-navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 600px;
    padding: 10px 0;
    /* Ajuste o padding horizontal se necessário */
    box-sizing: border-box;
}

.navbar-logo,
.close-menu {
    flex: 0 0 auto;
    /* Não permite que logo e botão de fechar cresçam além do conteúdo */
}

.navbar-logo {
    height: auto;
    max-height: 40px;
}

.close-menu {
    font-size: 30px;
    color: white;
    background: none;
    border: none;
    cursor: pointer;
}

.menu-content {
    width: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.menu-list {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-list li {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid #333;
    padding: 12px 0;
    width: 100%;
    /* Assegura que cada item ocupe todo o espaço disponível */
}

.menu-list li a {
    color: white;
    font-size: 20px;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.menu-list li a:hover {
    color: #aaaaaa;
    cursor: pointer;
}

.material-icons {
    font-size: 24px;
    margin-right: 1rem;
    color: white;
}

.btn-entrar {
    width: 100%;
    padding: 12px 24px;
    font-size: 20px;
    color: white;
    background-color: var(--secondary-color);
    border-radius: 20px;
    margin: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    border: none;
}

.btn-entrar:hover,
.btn-entrar:focus {
    background-color: var(--primary-color);
    color: white;
    cursor: pointer;
}

.btn-entrar .material-icons {
    margin-right: 5px;
}

@media screen and (max-width: 600px) {

    .fullscreen-container,
    .fullscreen-navbar,
    .menu-content {
        padding-left: 20px;
        padding-right: 20px;
    }
}



body {
    font-family: 'Poppins', sans-serif;
}

.modal-content {
    font-family: 'Poppins', sans-serif;
}

#checkoutModal,
#existingUserModal,
#registrationModal {
    font-family: 'Poppins', sans-serif;
    padding: 0.8rem;
}

/* Estilos específicos para o modal de checkout */
#checkoutModal .modal-dialog {
    max-width: 100%;
}

#checkoutModal .modal-content {
    max-width: 350px;
    width: 100%;
    background: #fff;
    border-radius: 20px;
    /* Borda arredondada */
    border: none;
    /* Sem borda externa */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Sombra sutil */
}

#checkoutModal .modal-header {
    background-color: #F8F9FA;
    border-bottom: 1px solid #E0E0E0;
    /* Linha de separação mais sutil */
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 16px 24px;
    /* Espaçamento interno */
}

#checkoutModal .modal-title {
    font-size: 16px;
    color: #000;
    font-weight: bold;
}

#checkoutModal .btn-close {
    border: none;
    color: #fff;
}

#checkoutModal .modal-body {
    padding: 15px 24px 0px 24px;
    font-size: 14px;
    /* Tamanho de fonte para o corpo do modal */
    line-height: 1.5;
    /* Espaçamento entre linhas */
}

#checkoutModal .modal-body p {
    margin-bottom: 15px;
    /* Espaçamento entre parágrafos */
    color: #868789;
}

#checkoutModal .input-group-text {
    background: transparent;
    /* Fundo transparente para o ícone do país */
    border: none;
    /* Sem borda no ícone */
}

#checkoutModal #telInput {
    height: 48px;
    /* Altura do campo de entrada */
    border-radius: 10px;
    /* Bordas arredondadas para o campo de entrada */
    border: 1px solid #ced4da;
}

#checkoutModal .modal-footer {
    padding: 0px 20px 20px 20px;
    border-top: none;
    background-color: #fff;
    /* Fundo branco para o rodapé */
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

#checkoutModal .btn-success {
    width: 100%;
    /* O botão ocupa toda a largura do modal */
    background: linear-gradient(to right, #32cd33, #33ee11);
    border-radius: 10px;
    /* Bordas arredondadas para o botão */
    padding: 12px 0;
    /* Espaçamento interno para o botão */
    font-size: 16px;
    /* Tamanho da fonte do botão */
    border: none;
    /* Sem borda no botão */
}

#checkoutModal .btn-success:hover {
    background-color: #218838;
    /* Cor do botão ao passar o mouse */
}

/* Mensagem de Alerta */
#checkoutModal .alert-message {
    display: flex;
    align-items: center;
    background-color: #FFECE5;
    padding: 14px 10px;
    border-radius: 5px;
    color: #000;
    font-size: 14px;
    margin-bottom: 0.25rem;
}

#checkoutModal .alert-icon-container {
    margin-right: 10px;
    /* Espaço entre ícone e texto */
}

#checkoutModal .alert-icon {
    font-size: 24px;
    color: #FF6E0E;
}

#checkoutModal .alert-text-container {
    font-size: 0.7rem;
    flex-grow: 1;
    line-height: 1.2;
}

#checkoutModal .alert-message .highlight {
    font-weight: bold;
    /* Torna o texto em negrito */
    color: #000;
    /* Azul brilhante */
}

/* Mensagem de Alerta */
#checkoutModal .alert-message-danger {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #FF0000;
    padding: 10px;
    border-radius: 5px;
    color: #fff;
    font-size: 14px;
    margin-bottom: 0.6rem;
    text-align: center;
}

#checkoutModal .alert-header-danger {
    display: flex;
    align-items: center;
    justify-content: center;
}

#checkoutModal .alert-icon-container-danger {
    display: flex;
    align-items: center;
    margin-right: 5px;
    /* Espaço entre ícone e texto */
}

#checkoutModal .alert-icon-danger {
    font-size: 24px;
    color: #FFFF00;
}

#checkoutModal .alert-title-danger {
    color: #FFFF00;
    font-size: 1rem;
    font-weight: bold;
}

#checkoutModal .alert-description-danger {
    font-size: 0.7rem;
    line-height: 1.3;
    margin-top: 5px;
}

#checkoutModal .alert-message-danger .highlight-danger {
    font-weight: bold;
    /* Torna o texto em negrito */
    color: #FFFFFF;
}

.bold {
    font-weight: bold;
}

/* Campo de telefone */
/* Animação de vibração */
@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    50% {
        transform: translateX(5px);
    }

    75% {
        transform: translateX(-5px);
    }

    100% {
        transform: translateX(0);
    }
}

/* Aplica a animação ao alerta */
#checkoutModal .telefone-danger {
    display: flex;
    /* Usa flexbox para alinhar ícone e texto */
    align-items: center;
    /* Centraliza verticalmente o conteúdo */
    background-color: #FFD1D3;
    /* Cor de fundo semelhante ao exemplo */
    padding: 10px;
    /* Espaçamento interno para estética */
    border-radius: 5px;
    /* Bordas arredondadas */
    margin-bottom: 0.5rem;
    animation: shake 3s ease infinite;
    /* Aplica a animação shake */
}

#checkoutModal .telefone-danger .material-symbols-outlined {
    font-size: 24px;
    /* Tamanho do ícone */
    margin-right: 10px;
    /* Espaçamento entre ícone e texto */
    color: #A62121;
}

#checkoutModal .tel-danger {
    margin: 0;
    /* Remove margens padrão do parágrafo */
    color: #A62121;
    /* Cor de texto para destacar a mensagem */
}

#checkoutModal .telefone-danger .tel-text-danger {
    margin-bottom: 0;
    color: #A62121;
    font-size: 0.7rem;
}

/* Mensagem */
#checkoutModal .termo-pagamento {
    padding: 10px;
}

/* Button Concluir Compra */
#checkoutModal #verifyTel {
    font-weight: bold;
    /* Deixa todo o conteúdo do botão em negrito */
}

#checkoutModal .material-symbols-outlined {
    font-size: 24px;
    /* Ajusta o tamanho do ícone, se necessário */
    vertical-align: middle;
    /* Alinha verticalmente o ícone com o texto */
}

/* Campos no modal de checkout */
#checkoutModal .form-field-container {
    position: relative;
    /* Posicionamento relativo para rótulo flutuante */
    border: 1px solid #ced4da;
    /* Borda ao redor do contêiner */
    border-radius: 8px;
    /* Bordas arredondadas */
    padding: 5px 10px 5px 10px;
    /* Espaçamento ao redor do input */
    margin-bottom: 0.8rem;
    /* Espaço entre os campos */
    background: #fff;
    /* Fundo branco */
}

#checkoutModal .form-field-container::before {
    content: '';
    /* Cria a lacuna na parte superior para o rótulo */
    position: absolute;
    top: -1px;
    /* Alinha com a borda superior do contêiner */
    left: 50%;
    /* Centraliza horizontalmente */
    transform: translateX(-50%);
    /* Centraliza ao meio */
    background: #fff;
    /* Fundo branco para cobrir a borda */
    width: 60px;
    /* Largura da lacuna */
    height: 12px;
    /* Altura da lacuna para o rótulo */
    z-index: 1;
    /* Sobrepõe a borda */
}

/* Rótulo flutuante sobre a borda */
#checkoutModal .form-field-label {
    position: absolute;
    /* Posição acima da borda */
    top: -10px;
    /* Alinha acima da borda superior do contêiner */
    left: 50%;
    /* Centraliza horizontalmente */
    transform: translateX(-50%);
    /* Ajusta ao centro */
    background: #fff;
    /* Fundo branco para cobrir a borda */
    padding: 0 5px;
    /* Pequeno preenchimento para destacar o texto */
    font-size: 12px;
    color: #808080;
    z-index: 2;
    /* Fica acima da lacuna */
}

/* Campo de entrada com texto centralizado */
#checkoutModal .form-field-input {
    width: 100%;
    /* Ocupar todo o espaço disponível */
    height: 3rem;
    border: none;
    /* Sem borda no input */
    outline: none;
    /* Sem estilo de foco padrão */
    font-size: 1.2rem;
    color: #1A1f24;
    background: #fff;
    text-align: center;
    /* Centraliza o texto */
}

#checkoutModal .form-field-input::placeholder {
    color: #ccc;
    text-align: center;
    /* Centraliza o texto do espaço reservado */
    font-size: 1.2rem;
}

#checkoutModal .color-yellow {
    color: #FFD700;
}

@media (max-width: 768px) {
    #checkoutModal .modal-content {
        width: 100%;
    }
}



.radio-group {
    background-color: #F2F2F2;
    padding: 10px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-radius: 5px;
}

.custom-radio {
    display: flex;
    align-items: center;
}

.custom-radio input {
    display: none;
}

.custom-radio label {
    position: relative;
    padding-left: 30px;
    /* Ajustado para acomodar a bolinha maior */
    cursor: pointer;
    font-size: 14px;
    /* Reduzido de 16px */
    color: #333;
    font-weight: bold;
}

.custom-radio label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    /* Aumentado de 18px */
    height: 22px;
    /* Aumentado de 18px */
    border-radius: 50%;
    border: 2px solid #ff6600;
    background-color: #fff;
}

.custom-radio input:checked+label:before {
    background-color: #ff6600;
}

.custom-radio label:after {
    content: '';
    position: absolute;
    left: 5px;
    /* Ajustado para centralizar */
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 12px;
    /* Mantido */
    height: 12px;
    /* Mantido */
    border-radius: 50%;
    background-color: #fff;
    transition: transform 0.2s ease;
}

.custom-radio input:checked+label:after {
    transform: translateY(-50%) scale(1);
}

@media (max-width: 768px) {
    .custom-radio label {
        font-size: 0.8rem;
        padding-left: 25px;
        /* Ajustado para tamanhos menores */
    }

    .custom-radio label:before {
        width: 18px;
        /* Ajustado para tamanhos menores */
        height: 18px;
        /* Ajustado para tamanhos menores */
    }

    .custom-radio label:after {
        width: 10px;
        /* Ajustado para tamanhos menores */
        height: 10px;
        /* Ajustado para tamanhos menores */
        left: 4px;
        /* Ajustado para centralizar em tamanhos menores */
    }
}


.iti__country-list {
    border-radius: 10px;
}

.iti__flag-box,
.iti__country-name {
    font-size: 0.9rem;
    margin-left: 0.5rem;
}

.iti-mobile .iti__country {
    padding: 10px 10px 10px 25px;
}

.iti__country {
    background-color: #f0f0f0;
    /* Cinza bem claro */
    color: #000;
    /* Texto preto */
    opacity: 1;
    border-radius: 10px;
    /* Bordas levemente arredondadas */
    padding: 5px 10px;
    /* Espaçamento interno para estética */
    margin: 2px 0;
    /* Margem entre os itens */
    list-style: none;
    /* Remove o marcador padrão dos itens da lista */
    cursor: pointer;
    /* Muda o cursor para indicar que o item é clicável */
    max-width: 100%;
    margin: 0.5rem;
}

.iti__country:hover {
    background-color: #ccc;
    /* Cinza um pouco mais escuro ao passar o mouse */
}

.iti__country:active {
    background-color: #ccc;
}



#resultadoModal .modal-header {
    background-color: #F8F9FA;
    border-bottom: 1px solid #E0E0E0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 16px 24px;
}

#resultadoModal .modal-title {
    font-size: 16px;
    color: #000;
    font-weight: bold;
}

#resultadoModal .btn-close {
    border: none;
    color: #fff;
}

#resultadoModal .modal-body {
    padding: 20px 27px 0px 29px;
    font-size: 14px;
    line-height: 1.5;
}

#resultadoModal .campaign-item {
    background-color: #E6E6E6;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 1.5rem;
    box-shadow: none;
}

#resultadoModal .campaign-title,
#resultNumbersModal .campaign-title {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 1rem;
    color: #333;
    margin: 0 0 0.3rem 0.6rem;
}

#resultadoModal .campaign-title i {
    font-size: 24px;
    margin-right: 10px;
    color: #000;
}

#resultadoModal .campaign-content {
    background-color: #FFFFFF;
    padding: 10px 10px 10px 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
}

#resultadoModal img {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    margin-right: 10px;
}

#resultadoModal .campaign-details {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-size: 0.7rem;
}

#resultadoModal .campaign-details span {
    display: flex;
    align-items: center;
    background-color: #333;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    border-radius: 10px;
}

#resultadoModal .campaign-details span:nth-child(1),
#resultadoModal .campaign-details span:nth-child(2) {
    width: 65%;
}

#resultadoModal .campaign-details span:nth-child(3) {
    width: 100%;
}

#resultadoModal .campaign-details span i {
    font-size: 1rem;
    margin-right: 5px;
    color: white;
}

#resultadoModal .campaign-content {
    position: relative;
    /* Necessário para o posicionamento absoluto do banner */
}

#resultadoModal .banner-pago {
    position: absolute;
    top: -7px;
    right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    /* Remove background color */
    color: white;
    font-weight: bold;
    text-align: center;
    z-index: 10;
}

#resultadoModal .banner-pago svg {
    width: 55px;
    height: 45px;
}

#resultadoModal .banner-pago span {
    position: absolute;
    top: 40%;
    left: 45%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 0.7rem;
}

#resultadoModal .btn {
    width: 100%;
    border-radius: 10px;
    padding: 12px 0;
    font-size: 16px;
    border: none;
    margin-top: 10px;
}

#resultadoModal .btn-primary {
    display: flex;
    justify-content: center;
    gap: 5px;
    background-color: #000;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
}

#resultadoModal .btn-success {
    background-color: #32cd33;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
}

#resultadoModal .bg-premiada {
    background-color: #CDFECC;
    /* Verde claro */
}

@media (max-width: 768px) {
    #resultadoModal .modal-body {
        padding: 20px 10px 0px 10px;
        font-size: 14px;
        line-height: 1.5;
    }

    #resultadoModal .material-symbols-outlined {
        font-size: 1.3rem;
    }

    #resultadoModal .btn {
        font-size: 0.8rem;
    }
}



#resultNumbersModal .modal-header {
    background-color: #F8F9FA;
    border-bottom: 1px solid #E0E0E0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 16px 24px;
}

#resultNumbersModal .modal-title {
    font-size: 16px;
    color: #000;
    font-weight: bold;
}

#resultNumbersModal .btn-close {
    border: none;
    color: #fff;
}

#resultNumbersModal .modal-body {
    padding: 20px 27px 0px 25px;
    font-size: 14px;
    line-height: 1.5;
}

#resultNumbersModal .alert {
    display: flex;
    align-items: center;
    background-color: #DFF0D8;
    padding: 10px;
    border-radius: 5px;
    color: #3C763D;
    font-size: 14px;
    margin-bottom: 20px;
}

#resultNumbersModal .section-title {
    font-weight: bold;
    font-size: 0.9rem;
    color: #333;
    margin-bottom: 10px;
    margin-top: 0.5rem;
    text-align: center;
}

#resultNumbersModal .numbers-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}

#resultNumbersModal .numbers-container span {
    background-color: #32cd32;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    display: inline-block;
    margin: 2px;
}

@media (max-width: 768px) {
    #resultNumbersModal .modal-body {
        padding: 20px 10px 0px 10px;
    }
}



body.modal-open {
    overflow: hidden;
}

.modal ::-webkit-scrollbar-track {
    background: #E6E6E6;
}

.modal ::-webkit-scrollbar-thumb {
    border: none;
}

/* CSS para limitar a altura dos modais e permitir rolagem */
#resultadoModal .modal-dialog,
#resultNumbersModal .modal-dialog {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#resultadoModal .modal-content,
#resultNumbersModal .modal-content {
    border-radius: 20px;
    height: 80%;
    width: 90%;
    overflow-y: auto;
}

#resultadoModal .modal-body,
#resultNumbersModal .modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 150px);
    /* Ajuste conforme necessário */
}

#resultadoModal .limited-height,
#resultNumbersModal .limited-height {
    max-height: 300px;
    /* Ajuste conforme necessário */
    overflow-y: auto;
}

.section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
    /* Centraliza o título */
}

.section-title .material-icons-outlined {
    margin-right: 0.5rem;
}

.alert img {
    width: 60px;
    /* Aumenta o tamanho da imagem */
    position: relative;
    top: 10px;
    /* Ajuste conforme necessário para posicionar a imagem */
}

.alert div {
    display: inline-block;
    vertical-align: middle;
}

#resultadoModal .emoji-img,
#resultNumbersModal .emoji-img {
    width: 150px;
    height: 110px;
    margin-right: -20px;
    margin-top: -33px;
    position: relative;
    z-index: 1;
    box-shadow: none;

}

#resultadoModal .alert-success,
#resultNumbersModal .alert-success,
#pagamentosModal .alert-success,
#resultadoModal .alert-warning,
#resultNumbersModal .alert-warning,
#pagamentosModal .alert-warning {
    display: flex;
    flex-direction: column;
    padding: 1rem 0 1rem 4rem;
    font-size: 1rem;
    line-height: 1.05;
    margin-left: -2.5rem;
    color: #000;
    border: none;
}

#resultadoModal .alert-success,
#resultNumbersModal .alert-success {
    background-color: #CDFECC;
    padding-right: 1rem;
}

#resultadoModal .alert-warning,
#resultNumbersModal .alert-warning {
    background-color: #FFD3D2;
    padding-right: 1rem;
}

#resultadoModal .alert-warning .bold,
#resultNumbersModal .alert-warning .bold {
    font-weight: bold;
    color: #9F5859;
}

#resultadoModal .alert-success .bold,
#resultNumbersModal .alert-success .bold {
    font-weight: bold;
    color: #088330;
}

#resultadoModal .campaign-details,
#resultNumbersModal .campaign-details {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

#resultadoModal .campaign-detail-item,
#resultNumbersModal .campaign-detail-item {
    background-color: black;
    color: white;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    align-items: center;
}

#resultadoModal .campaign-detail-item i,
#resultNumbersModal .campaign-detail-item i {
    margin-right: 5px;
}

#resultadoModal .alert-text,
#resultNumbersModal .alert-text {
    font-size: 0.9rem;
}

@media (max-width: 768px) {

    #resultadoModal .alert-text,
    #resultNumbersModal .alert-text {
        font-size: 0.65rem;
    }

    #resultadoModal .campaign-title,
    #resultNumbersModal .campaign-title {
        margin-left: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 0.8rem;
    }

    #resultadoModal .campaign-title i,
    #resultNumbersModal .campaign-title i {
        font-size: 1.2rem;
    }

    #resultadoModal .alert-success,
    #resultNumbersModal .alert-success,
    #resultadoModal .alert-warning,
    #resultNumbersModal .alert-warning {
        padding: 0.8rem 1rem 0rem 3rem;
        font-size: 0.7rem;
        line-height: 1.05;
        margin-left: -2rem;
        margin-bottom: 1rem;
    }

    #resultadoModal .alert-success {
        background-color: #CDFECC;
    }

    #resultadoModal img,
    #resultNumbersModal img {
        width: 90px;
        height: 90px;
        margin-right: 5px;
        margin-bottom: 0.5rem;
        object-fit: cover;
    }

    #resultadoModal .campaign-detail-item,
    #resultNumbersModal .campaign-detail-item {
        font-size: 0.5rem;
    }

    #resultadoModal .campaign-details,
    #resultNumbersModal .campaign-details {
        display: flex;
        flex-wrap: wrap;
        gap: 0.1rem;
    }

    #resultadoModal .campaign-details span,
    #resultNumbersModal .campaign-details span {
        font-size: 0.5rem;
    }

    #resultadoModal .campaign-details span i,
    #resultNumbersModal .campaign-details span i {
        font-size: 0.8rem;
    }
}

/* CSS para garantir que todos os bilhetes tenham o mesmo tamanho */
#resultadoModal .numbers-container span,
#resultNumbersModal .numbers-container span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    width: 100px;
    /* Largura fixa */
    height: 30px;
    /* Altura fixa */
    background: linear-gradient(to right, #30D030, #31EC14);
    /* Degradê para a direita */
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 16px;
    /* Fonte maior */
    text-align: center;
    line-height: 30px;
    /* Centraliza o texto verticalmente */
    margin: 2px;
}

/* Estilos para a div pai */
#resultNumbersModal .section-title-container {
    padding: 10px;
    border-radius: 20px;
    margin-bottom: 0.5rem;
}

body.modal-open {
    overflow: hidden;
}

/* Limita a altura dos modais e permite rolagem */
#resultadoModal .modal-dialog,
#resultNumbersModal .modal-dialog {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#resultadoModal .modal-content,
#resultNumbersModal .modal-content {
    border-radius: 20px;
    height: 80%;
    width: 90%;
    overflow-y: auto;
}

#resultadoModal .modal-body,
#resultNumbersModal .modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 150px);
    /* Ajuste conforme necessário */
}

/* Ajustes para a seção "Esses são os seus Bilhetes" */
#resultNumbersModal .numbers-container span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    width: 80px;
    /* Reduz a largura */
    height: 30px;
    /* Altura fixa */
    background: linear-gradient(to right, #30D030, #31EC14);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    /* Fonte menor */
    text-align: center;
    margin: 2px;
}

/* Ajustes para garantir 4 fileiras */
#resultNumbersModal .numbers-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 5px;
    justify-content: center;
    align-items: center;
}

/* Estilos específicos para dispositivos móveis */
@media (max-width: 768px) {
    #resultNumbersModal .numbers-container span {
        width: 60px;
        /* Reduz ainda mais a largura para dispositivos móveis */
        font-size: 0.7rem;
        height: 25px;
        /* Altura ajustada para dispositivos móveis */
    }

    #resultNumbersModal .numbers-container {
        grid-template-columns: repeat(auto-fill, minmax(60px, 0fr));
        gap: 5px;
    }
}



/* Contêiner para os bilhetes premiados */
#premiadosSection {
    display: none;
    /* Inicialmente oculto */
    background-color: #CDFFCC;
    border-radius: 20px;
    padding: 0 0 0.5rem 0;
    margin-bottom: 1rem;
    text-align: center;
    margin-top: 1rem;
}

#premiadosSection .section-title {
    position: relative;
    top: -10px;
    background-color: #009900;
    /* Fundo verde escuro */
    color: white;
    /* Texto branco */
    border-radius: 10px;
    padding: 5px 0;
    font-weight: bold;
    font-size: 0.8rem;
    margin: 0 1rem;
}

#premiadosSection .numbers-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0px;
    margin-bottom: 0.5rem;
}

.bold-success {
    font-weight: bold;
    color: #0E963C;
}

body.modal-open .center-container,
body.modal-open .fullscreen-container,
body.modal-open .container {
    filter: blur(5px);
    /* Aplica um desfoque de 5px ao fundo */
    background-color: rgba(0, 0, 0, 1);
    transition: filter 0.3s ease-in-out;
    /* Suaviza a transição do desfoque */
}

/* Estilos adicionais para garantir que o desfoque seja aplicado corretamente */
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    /* Torna o fundo mais escuro para destacar o modal */
    transition: opacity 0.3s ease-in-out;
}



#pagamentosModal .modal-header {
    background-color: #F8F9FA;
    border-bottom: 1px solid #E0E0E0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding: 16px 24px;
}

#pagamentosModal .modal-title {
    font-size: 16px;
    color: #000;
    font-weight: bold;
}

#pagamentosModal .btn-close {
    border: none;
    color: #fff;
}

#pagamentosModal .modal-body {
    padding: 20px 27px 0px 25px;
    font-size: 14px;
    line-height: 1.5;
}

#pagamentosModal .campaign-item {
    background-color: #333333;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 1.5rem;
    box-shadow: none;
}

#pagamentosModal .campaign-title {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    margin: 0 0 0.3rem 0.6rem;
    font-size: 1rem;
}

#pagamentosModal .bg-premiada .campaign-title {
    color: #000;
}

#pagamentosModal .campaign-title i {
    font-size: 24px;
    margin-right: 10px;
    color: #fff;
}

#pagamentosModal .bg-premiada .campaign-title i {
    color: #000;
}

#pagamentosModal .campaign-content {
    background-color: #FFFFFF;
    padding: 10px 10px 1px 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
}

#pagamentosModal img {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    margin-right: 10px;
}

#pagamentosModal .campaign-details {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-size: 0.7rem;
}

#pagamentosModal .campaign-details span {
    display: flex;
    align-items: center;
    background-color: #333;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    border-radius: 10px;
}

#pagamentosModal .campaign-details span:nth-child(1),
#pagamentosModal .campaign-details span:nth-child(2) {
    width: 65%;
}

#pagamentosModal .campaign-details span:nth-child(3) {
    width: 100%;
}

#pagamentosModal .campaign-details span i {
    font-size: 1rem;
    margin-right: 5px;
    color: white;
}

#pagamentosModal .campaign-content {
    position: relative;
}

#pagamentosModal .banner-pago {
    position: absolute;
    top: -7px;
    right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: white;
    font-weight: bold;
    text-align: center;
    z-index: 10;
}

#pagamentosModal .banner-pago svg {
    width: 55px;
    height: 45px;
}

#pagamentosModal .banner-pago span {
    position: absolute;
    top: 40%;
    left: 45%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 0.7rem;
}

#pagamentosModal .btn {
    width: 100%;
    border-radius: 10px;
    padding: 12px 0;
    font-size: 16px;
    border: none;
    margin-top: 10px;
}

#pagamentosModal .btn-primary {
    display: flex;
    justify-content: center;
    gap: 5px;
    background-color: #32cd33;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
}

#pagamentosModal .btn-success {
    background-color: #000;
    display: flex;
    justify-content: center;
    gap: 5px;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    #pagamentosModal .modal-body {
        padding: 20px 10px 0px 10px;
    }

    #pagamentosModal .material-symbols-outlined {
        font-size: 1.3rem;
    }

    #pagamentosModal .btn {
        font-size: 0.8rem;
    }
}



#pagamentosModal .modal-dialog {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#pagamentosModal .modal-content {
    border-radius: 20px;
    height: 80%;
    width: 90%;
    overflow-y: auto;
}

#pagamentosModal .modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 150px);
    /* Ajuste conforme necessário */
}

#pagamentosModal .limited-height {
    max-height: 300px;
    /* Ajuste conforme necessário */
    overflow-y: auto;
}

#pagamentosModal .section-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
}

#pagamentosModal .section-title .material-icons-outlined {
    margin-right: 0.5rem;
}

#pagamentosModal .alert-success {
    background-color: #CDFFCC;
}

#pagamentosModal .alert-warning {
    background-color: #FFD3D2;
}

#pagamentosModal .bold {
    font-weight: bold;
    color: #9F5859;
}

#pagamentosModal .campaign-details {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

#pagamentosModal .campaign-detail-item {
    background-color: black;
    color: white;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    align-items: center;
}

#pagamentosModal .campaign-detail-item {
    background-color: black;
    color: white;
    padding: 5px;
    border-radius: 5px;
    display: flex;
    align-items: center;
}

#pagamentosModal .campaign-detail-item i {
    margin-right: 5px;
}

#pagamentosModal .alert-text {
    font-size: 0.9rem;
}

#pagamentosModal .bg-premiada {
    background-color: #CDFECC;
    /* Verde claro */
    color: #000;
}

@media (max-width: 768px) {
    #pagamentosModal .alert-text {
        font-size: 0.65rem;
    }

    #pagamentosModal .campaign-title {
        margin-left: 0.5rem;
        margin-bottom: 0.5rem;
        font-size: 0.8rem;
    }

    #pagamentosModal .campaign-title i {
        font-size: 1.2rem;
    }

    #pagamentosModal .alert-success,
    #pagamentosModal .alert-warning {
        padding: 0.8rem 1rem 0rem 3rem;
        font-size: 0.7rem;
        line-height: 1.05;
        margin-left: -2rem;
        margin-bottom: 1rem;
    }

    #pagamentosModal .alert-success {
        background-color: #DFF2BF;
    }

    #pagamentosModal img {
        width: 90px;
        height: 90px;
        margin-right: 5px;
        margin-bottom: 0.5rem;
        object-fit: cover;
    }

    #pagamentosModal .campaign-detail-item {
        font-size: 0.5rem;
    }

    #pagamentosModal .campaign-details {
        display: flex;
        flex-wrap: wrap;
        gap: 0.1rem;
    }

    #pagamentosModal .campaign-details span {
        font-size: 0.5rem;
    }

    #pagamentosModal .campaign-details span i {
        font-size: 0.8rem;
    }
}

/* CSS para garantir que todos os bilhetes tenham o mesmo tamanho */
#pagamentosModal .numbers-container span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    width: 100px;
    /* Largura fixa */
    height: 30px;
    /* Altura fixa */
    background: linear-gradient(to right, #30D030, #31EC14);
    /* Degradê para a direita */
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 16px;
    /* Fonte maior */
    text-align: center;
    line-height: 30px;
    /* Centraliza o texto verticalmente */
    margin: 2px;
}

#pagamentosModal .emoji-img {
    width: 150px;
    height: 110px;
    margin-right: -20px;
    margin-top: -33px;
    position: relative;
    z-index: 1;
    box-shadow: none;
}

#pagamentosModal img {
    margin-bottom: 0.5rem;
    object-fit: cover;
    border-radius: 10px;
}

#pagamentosModal .alert-success {
    background-color: #CDFECC;
}

#pagamentosModal .alert-warning {
    background-color: #FFD3D2;
    border: none;
}

#pagamentosModal .alert-text {
    font-size: 0.9rem;
    color: #000;
}

#pagamentosModal .bold-success {
    font-weight: bold;
    color: #088330;
}

#pagamentosModal .bold {
    font-weight: bold;
    color: #9F5859;
}

@media (max-width: 768px) {
    #pagamentosModal .alert-text {
        font-size: 0.65rem;
    }
}



body.modal-open .center-container,
body.modal-open .fullscreen-container,
body.modal-open .container {
    background-color: transparent;
}

/* Aplica o desfoque ao fundo quando o modal estiver aberto */
body.modal-open .center-container,
body.modal-open .fullscreen-container,
body.modal-open .container {
    filter: blur(5px);
    /* Aplica um desfoque de 5px ao fundo */
    background-color: rgba(0, 0, 0, 0.1);
    /* Adiciona uma leve sombra escura */
    transition: filter 0.3s ease-in-out;
    /* Suaviza a transição do desfoque */
}

/* Estilos adicionais para garantir que o desfoque seja aplicado corretamente */
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    /* Torna o fundo mais escuro para destacar o modal */
    transition: opacity 0.3s ease-in-out;
}
