/*
 * Affatus Theme — template-login.css
 * Estética: épico bíblico à luz de vela
 */

/* ── Layout ─────────────────────────────────────────────────── */
.aff-login-body {
    overflow: hidden;
    height: 100vh;
}

.aff-login-wrap {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(ellipse 100% 80% at 50% 110%, rgba(212,169,106,0.06) 0%, transparent 60%),
        radial-gradient(ellipse 60% 60% at 10% 90%, rgba(139,26,26,0.08) 0%, transparent 50%),
        var(--aff-fundo);
}

/* ── Vinheta ─────────────────────────────────────────────────── */
.aff-vinheta {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 130% 130% at 50% 50%, transparent 30%, rgba(12,9,5,0.85) 100%);
    z-index: 1;
}

/* ── Partículas de brasa ────────────────────────────────────── */
.aff-embers {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 2;
}
.aff-ember {
    position: absolute;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: var(--aff-ouro);
    animation: aff-ember linear infinite;
    opacity: 0;
}

/* ── Centro ─────────────────────────────────────────────────── */
.aff-login-center {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 24px;
    max-width: 520px;
    width: 100%;
    animation: aff-fade-up 1.2s var(--aff-ease) both;
}

/* ── Ornamentos ─────────────────────────────────────────────── */
.aff-ornament {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 220px;
    margin: 0 auto 28px;
}
.aff-ornament--bottom { margin: 28px auto 0; }

.aff-ornament-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--aff-ouro-dim), transparent);
}
.aff-ornament-diamond {
    width: 7px;
    height: 7px;
    background: var(--aff-ouro-dim);
    transform: rotate(45deg);
    flex-shrink: 0;
}

/* ── Título ─────────────────────────────────────────────────── */
.aff-login-logo {
    margin-bottom: 24px;
}
.aff-login-title {
    font-family: var(--aff-ft);
    font-size: clamp(48px, 10vw, 80px);
    font-weight: 900;
    color: var(--aff-ouro);
    letter-spacing: 6px;
    line-height: 1;
    margin: 0 0 10px;
    text-shadow: 0 0 60px rgba(212,169,106,0.25);
    animation: aff-flicker 6s ease-in-out infinite;
}
.aff-login-tagline {
    font-family: var(--aff-fu);
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--aff-texto-3);
    text-transform: uppercase;
    margin: 0;
}

/* ── Versículo ───────────────────────────────────────────────── */
.aff-login-verse {
    font-family: var(--aff-fq);
    font-style: italic;
    font-size: 15px;
    color: var(--aff-texto-2);
    line-height: 1.65;
    margin: 0 0 24px;
    padding: 0 16px;
}
.aff-login-verse p { margin: 0 0 6px; }
.aff-login-verse cite {
    font-family: var(--aff-fu);
    font-style: normal;
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--aff-ouro-dim);
}

/* ── Divisor ─────────────────────────────────────────────────── */
.aff-divider {
    width: 1px;
    height: 32px;
    background: linear-gradient(to bottom, var(--aff-ouro-dim), transparent);
    margin: 0 auto 24px;
}

/* ── Caixa de login ─────────────────────────────────────────── */
.aff-login-box {
    width: 100%;
    max-width: 340px;
}
.aff-login-prompt {
    font-family: var(--aff-fu);
    font-size: 11px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--aff-texto-3);
    margin: 0 0 20px;
}

/* ── Botão Google ────────────────────────────────────────────── */
.aff-google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 16px 24px;
    background: rgba(26, 18, 8, 0.9);
    border: 1px solid var(--aff-borda);
    border-radius: var(--aff-r-md);
    color: var(--aff-texto);
    font-family: var(--aff-fu);
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s var(--aff-ease);
    backdrop-filter: blur(8px);
}
.aff-google-btn:hover {
    border-color: var(--aff-ouro);
    background: rgba(212,169,106,0.08);
    box-shadow: 0 0 24px rgba(212,169,106,0.10);
}
.aff-google-btn:active {
    transform: scale(0.98);
}
.aff-google-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ── Status ─────────────────────────────────────────────────── */
.aff-login-status {
    font-family: var(--aff-fu);
    font-size: 12px;
    letter-spacing: 1px;
    color: var(--aff-texto-2);
    margin: 14px 0 0;
    min-height: 20px;
    transition: opacity 0.3s;
}
.aff-login-status.erro { color: #e07060; }

/* ── Não configurado ─────────────────────────────────────────── */
.aff-login-unconfigured {
    text-align: center;
    color: var(--aff-texto-2);
    font-size: 15px;
}
.aff-login-unconfigured p { margin-bottom: 16px; }

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width: 480px) {
    .aff-login-verse { font-size: 14px; }
    .aff-login-title { letter-spacing: 3px; }
}
