/* PR Assinatura MP — Frontend Styles
   Usa !important para sobrescrever temas escuros */

/* =============================================
   BOX PRINCIPAL — centralizado, fundo branco
   ============================================= */

.pr-mp-box {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 32px !important;
    max-width: 460px !important;
    width: 100% !important;
    text-align: center !important;
    font-family: inherit !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Todos os textos dentro do box — escuros e visíveis */
.pr-mp-box,
.pr-mp-box p,
.pr-mp-box h3,
.pr-mp-box label,
.pr-mp-box span,
.pr-mp-box li {
    color: #1e293b !important;
}

/* =============================================
   BOTÃO PRINCIPAL
   ============================================= */

.pr-mp-btn {
    display: inline-block !important;
    background: #009ee3 !important;
    color: #ffffff !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 12px !important;
    line-height: 1.4 !important;
}
.pr-mp-btn:hover  { background: #0077b5 !important; color: #fff !important; }
.pr-mp-btn:disabled { opacity: .6 !important; cursor: not-allowed !important; }

.pr-mp-link {
    display: block !important;
    margin-top: 14px !important;
    color: #475569 !important;
    font-size: .9rem !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
}
.pr-mp-link:hover { color: #1e293b !important; }

.pr-mp-separador {
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    margin: 20px 0 !important;
}

/* =============================================
   FORMULÁRIO DE CADASTRO INLINE
   ============================================= */

.pr-mp-cadastro-form {
    text-align: left !important;
}
.pr-mp-cadastro-form h3 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 0 18px !important;
    text-align: center !important;
}
.pr-mp-field {
    margin-bottom: 14px !important;
}
.pr-mp-field label {
    display: block !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 5px !important;
}
.pr-mp-field input[type="text"],
.pr-mp-field input[type="email"],
.pr-mp-field input[type="password"] {
    display: block !important;
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: .95rem !important;
    color: #1e293b !important;
    background: #f8fafc !important;
    box-sizing: border-box !important;
    transition: border-color .15s !important;
    outline: none !important;
}
.pr-mp-field input:focus {
    border-color: #009ee3 !important;
    background: #fff !important;
}
.pr-mp-cadastro-erro {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #fca5a5 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: .85rem !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}
.pr-mp-cadastro-sucesso {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: .85rem !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}
.pr-mp-btn-cadastro {
    width: 100% !important;
    text-align: center !important;
    padding: 13px !important;
    margin-top: 4px !important;
    font-size: .95rem !important;
}
.pr-mp-voltar-login {
    display: block !important;
    margin-top: 12px !important;
    font-size: .82rem !important;
    color: #64748b !important;
    text-align: center !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
}
.pr-mp-voltar-login:hover { color: #1e293b !important; }

/* =============================================
   SELETOR DE DIA DE COBRANÇA
   ============================================= */

.pr-mp-dia-selector {
    margin: 16px 0 !important;
    text-align: left !important;
}
.pr-mp-dia-selector > label {
    display: block !important;
    font-size: .9rem !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
}
.pr-mp-dia-opcoes {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}
.pr-mp-dia-opcao {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    transition: border-color .15s, background .15s !important;
    min-width: 72px !important;
    position: relative !important;
    background: #f8fafc !important;
}
.pr-mp-dia-opcao input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
.pr-mp-dia-opcao.selecionado {
    border-color: #009ee3 !important;
    background: #e0f2fe !important;
}
.pr-mp-dia-opcao:hover { border-color: #7dd3fc !important; }

.pr-mp-dia-num {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: #1e293b !important;
    line-height: 1 !important;
}
.pr-mp-dia-opcao.selecionado .pr-mp-dia-num { color: #0369a1 !important; }

.pr-mp-dia-sub {
    font-size: .7rem !important;
    color: #64748b !important;
    margin-top: 4px !important;
    text-align: center !important;
}
.pr-mp-dia-info {
    font-size: .9rem !important;
    color: #334155 !important;
    margin: 10px 0 !important;
    padding: 8px 12px !important;
    background: #e0f2fe !important;
    border-radius: 6px !important;
    border: 1px solid #7dd3fc !important;
}

.pr-mp-email-info {
    font-size: .85rem !important;
    color: #475569 !important;
    margin-top: 10px !important;
}
.pr-mp-expira {
    color: #475569 !important;
    font-size: .9rem !important;
}

/* =============================================
   STATUS PREMIUM
   ============================================= */

.pr-mp-status {
    padding: 10px 16px !important;
    border-radius: 6px !important;
    font-size: .95rem !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}
.pr-mp-status-ativo   { background: #dcfce7 !important; color: #166534 !important; }
.pr-mp-status-inativo { background: #fef3c7 !important; color: #92400e !important; }
.pr-mp-status-inativo a { color: #92400e !important; font-weight: 600 !important; }

/* =============================================
   PÁGINA DE ERRO — centralizada, texto claro
   (fundo escuro do Portal Revelação)
   ============================================= */

.pr-mp-erro-wrap {
    max-width: 580px !important;
    margin: 0 auto !important;
    padding: 24px 16px !important;
    font-family: inherit !important;
    text-align: center !important;
}

.pr-mp-erro-icone {
    font-size: 3.5rem !important;
    margin-bottom: 14px !important;
    line-height: 1 !important;
}

.pr-mp-erro-titulo {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    margin: 0 0 10px !important;
}

.pr-mp-erro-subtitulo {
    color: #cbd5e1 !important;
    font-size: 1rem !important;
    margin: 0 0 16px !important;
    line-height: 1.7 !important;
}

.pr-mp-erro-motivo-mp {
    display: inline-block !important;
    background: #fef9c3 !important;
    color: #854d0e !important;
    border: 1px solid #fde68a !important;
    border-radius: 6px !important;
    padding: 6px 16px !important;
    font-size: .88rem !important;
    margin-bottom: 18px !important;
}

.pr-mp-erro-acoes {
    margin-bottom: 28px !important;
}

.pr-mp-btn-retry {
    background: #2563eb !important;
    font-size: 1.05rem !important;
    padding: 15px 40px !important;
    margin-bottom: 8px !important;
}
.pr-mp-btn-retry:hover { background: #1d4ed8 !important; }

.pr-mp-erro-dia-info {
    font-size: .82rem !important;
    color: #94a3b8 !important;
    margin: 6px 0 0 !important;
}
.pr-mp-carregando-retry {
    font-size: .85rem !important;
    color: #94a3b8 !important;
    margin-top: 8px !important;
}

/* Card de motivos */
.pr-mp-erro-motivos {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 12px !important;
    padding: 20px 26px !important;
    margin: 0 0 20px !important;
    text-align: left !important;
}
.pr-mp-erro-motivos h3 {
    font-size: 1rem !important;
    color: #e2e8f0 !important;
    margin: 0 0 12px !important;
    font-weight: 700 !important;
}
.pr-mp-erro-motivos ul {
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    color: #94a3b8 !important;
    font-size: .92rem !important;
    line-height: 2 !important;
}
.pr-mp-erro-motivos li { color: #94a3b8 !important; }

/* Card PIX */
.pr-mp-erro-pix {
    background: #052e16 !important;
    border: 1px solid #166534 !important;
    border-radius: 12px !important;
    padding: 20px 26px !important;
    margin-bottom: 24px !important;
}
.pr-mp-erro-pix p {
    color: #86efac !important;
    margin: 0 0 14px !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
}
.pr-mp-btn-pix {
    background: #16a34a !important;
    padding: 12px 32px !important;
    margin-top: 0 !important;
}
.pr-mp-btn-pix:hover { background: #15803d !important; }

/* Contato */
.pr-mp-erro-contato {
    margin-bottom: 28px !important;
}
.pr-mp-erro-contato > p {
    font-size: .9rem !important;
    color: #94a3b8 !important;
    margin-bottom: 12px !important;
}
.pr-mp-erro-contato-links {
    display: flex !important;
    gap: 10px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}
.pr-mp-btn-contato {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 11px 22px !important;
    border-radius: 8px !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: opacity .2s !important;
    margin-top: 0 !important;
}
.pr-mp-btn-contato:hover { opacity: .85 !important; }
.pr-mp-btn-whatsapp { background: #25d366 !important; color: #fff !important; }
.pr-mp-btn-email    { background: #334155 !important; color: #e2e8f0 !important; }

/* Reforço de valor */
.pr-mp-erro-valor {
    border-top: 1px solid #334155 !important;
    padding-top: 22px !important;
    color: #94a3b8 !important;
    font-size: .95rem !important;
    line-height: 1.7 !important;
}
.pr-mp-erro-valor p { margin: 0 0 10px !important; color: #94a3b8 !important; }
.pr-mp-erro-valor strong { color: #e2e8f0 !important; }
.pr-mp-link-voltar {
    font-size: .85rem !important;
    color: #64748b !important;
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
}
.pr-mp-link-voltar:hover { color: #94a3b8 !important; }

/* =============================================
   Checkbox de fidelidade no checkout
   ============================================= */

.pr-mp-fidelidade-aviso {
    background: #fffbeb !important;
    border: 1.5px solid #fbbf24 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin: 14px 0 !important;
    text-align: left !important;
}
.pr-mp-fidelidade-aviso.pr-mp-fidelidade-erro {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
    animation: pr-shake .3s ease both !important;
}
@keyframes pr-shake {
    0%,100%{transform:translateX(0)}
    25%{transform:translateX(-6px)}
    75%{transform:translateX(6px)}
}
.pr-mp-fidelidade-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    color: #1e293b !important;
    font-size: .88rem !important;
    line-height: 1.5 !important;
}
.pr-mp-fidelidade-label input[type="checkbox"] {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    accent-color: #f59e0b !important;
}
.pr-mp-fidelidade-label strong { color: #92400e !important; }
.pr-mp-fidelidade-info {
    font-size: .78rem !important;
    color: #78716c !important;
    margin: 8px 0 0 26px !important;
    line-height: 1.5 !important;
}
