/*
 * TELAS DE ACESSO (01/10/2026) - login, recuperar a senha, redefinir a senha
 * e autocadastro: palco escuro com partículas (login_cena.js) e o cartão em
 * vidro à direita. Entra nas telas pelo partials/acesso-palco.
 *
 * Tudo aqui é prefixado com "lg-" e as cores são PRÓPRIAS da tela: o tema de
 * assets do login é sorteado a cada carga (BaseController), então nada pode
 * depender da cor primária do tema.
 *
 * COR E TOM: nenhuma cor da casa é fixa aqui - tudo sai das variáveis --lg-*
 * (em "r, g, b", para aceitar transparência). O partials/acesso-palco escreve
 * os valores da cor e do tom escolhidos em Configurações › Gerais › Telas de
 * Acesso (App\Libraries\VisualAcesso); os do :root abaixo são o padrão
 * (vermelho, escuro) e valem se a tela vier sem eles.
 *   --lg-a / --lg-forte / --lg-fundo   a cor viva, a do botão e a mais funda
 *   --lg-brilho / --lg-clara           luzes e fios; a versão clara da cor
 *   --lg-destaque                      links e ícones dentro do cartão
 *   --lg-base / --lg-topo              o fundo do palco
 *   --lg-vidro-a / --lg-vidro-b        o vidro do cartão;  --lg-sup  listas
 *   --lg-tinta                         texto do cartão: branco, ou quase preto no tom claro
 * O palco (legendas, rodapé) tem sempre texto branco: no tom claro ele fica na
 * cor, e só o cartão clareia.
 *
 * LEVEZA: o que se move no fundo anima só transform/opacity (fica com a placa
 * de vídeo, sem repintar a página). A classe .lg-leve, posta pelo
 * login_cena.js quando o aparelho não sustenta a taxa de quadros, desliga o
 * desfoque do vidro e a deriva das auroras.
 */

:root {
    --lg-a: 232, 64, 108;
    --lg-forte: 179, 33, 75;
    --lg-fundo: 123, 30, 58;
    --lg-brilho: 244, 104, 139;
    --lg-clara: 255, 143, 169;
    --lg-destaque: 255, 143, 169;
    --lg-aurora: 92, 34, 120;
    --lg-botao-fim: 232, 64, 108;
    --lg-botao-texto: 255, 255, 255;
    --lg-base: 9, 4, 7;
    --lg-topo: 17, 8, 14;
    --lg-vidro-a: 39, 23, 32;
    --lg-vidro-b: 17, 8, 14;
    --lg-vidro-alfa-a: .66;
    --lg-vidro-alfa-b: .78;
    --lg-sup: 29, 16, 23;
    --lg-tinta: 255, 255, 255;
    --lg-aviso: 255, 220, 171;
    --lg-sombra: .8;
    --lg-esquema: dark;
}

body.lg-corpo {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    background: rgb(var(--lg-base));
    color: #fff;
    overflow-x: hidden;
}

/* ------------------------------------------------------------------ fundo */

.lg-fundo {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: linear-gradient(160deg, rgb(var(--lg-topo)) 0%, rgb(var(--lg-base)) 55%, rgb(var(--lg-topo)) 100%);
}

/* Grade fina que some para as bordas: o "papel milimetrado" do laboratório. */
.lg-fundo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: radial-gradient(ellipse 62% 62% at 32% 50%, #000 0%, transparent 78%);
    mask-image: radial-gradient(ellipse 62% 62% at 32% 50%, #000 0%, transparent 78%);
}

.lg-fundo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: radial-gradient(ellipse at 40% 50%, transparent 50%, rgba(0, 0, 0, .6) 100%);
}

.lg-aurora {
    position: absolute;
    border-radius: 50%;
    will-change: transform;
}

.lg-aurora-1 {
    width: 78vmax;
    height: 78vmax;
    left: -20vmax;
    top: -26vmax;
    background: radial-gradient(closest-side, rgba(var(--lg-forte), .52), rgba(var(--lg-forte), 0));
    animation: lg-deriva-1 28s ease-in-out infinite alternate;
}

.lg-aurora-2 {
    width: 64vmax;
    height: 64vmax;
    right: -22vmax;
    bottom: -30vmax;
    background: radial-gradient(closest-side, rgba(var(--lg-aurora), .36), rgba(var(--lg-aurora), 0));
    animation: lg-deriva-2 34s ease-in-out infinite alternate;
}

.lg-aurora-3 {
    width: 46vmax;
    height: 46vmax;
    left: 16vw;
    top: 34vh;
    background: radial-gradient(closest-side, rgba(var(--lg-a), .17), rgba(var(--lg-a), 0));
    animation: lg-deriva-3 22s ease-in-out infinite alternate;
}

@keyframes lg-deriva-1 {
    to { transform: translate3d(9vmax, 7vmax, 0) scale(1.12); }
}

@keyframes lg-deriva-2 {
    to { transform: translate3d(-8vmax, -6vmax, 0) scale(1.15); }
}

@keyframes lg-deriva-3 {
    to { transform: translate3d(7vmax, -9vmax, 0) scale(.86); }
}

/* ------------------------------------------------------------------- cena */

.lg-cena {
    position: fixed;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.lg-cena.lg-pronta {
    opacity: 1;
}

/* ----------------------------------------------------------------- página */

.lg-pagina {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(430px, 37vw, 560px);
}

.lg-palco {
    position: relative;
    padding: 52px 56px;
    pointer-events: none;
    user-select: none;
}

.lg-lateral {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 32px clamp(20px, 3vw, 52px);
}

/* --------------------------------------------- legendas da formação (palco) */

.lg-indice {
    display: flex;
    gap: 8px;
    margin-bottom: 26px;
}

.lg-indice span {
    position: relative;
    width: 18px;
    height: 3px;
    border-radius: 3px;
    background: rgba(255, 255, 255, .16);
    overflow: hidden;
    transition: width .6s cubic-bezier(.2, .7, .2, 1);
}

.lg-indice span::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgb(var(--lg-brilho)), rgb(var(--lg-clara)));
    transform: scaleX(0);
    transform-origin: left center;
}

.lg-indice span.lg-ativa {
    width: 44px;
}

.lg-indice span.lg-ativa::after {
    animation: lg-encher var(--lg-duracao, 9s) linear forwards;
}

@keyframes lg-encher {
    to { transform: scaleX(1); }
}

.lg-legendas {
    position: relative;
    max-width: 560px;
    min-height: 150px;
}

.lg-legenda {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity .5s ease, transform .5s ease;
}

.lg-legenda.lg-ativa {
    opacity: 1;
    transform: none;
    transition: opacity .9s ease .35s, transform .9s cubic-bezier(.2, .7, .2, 1) .35s;
}

.lg-legenda-rotulo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: rgb(var(--lg-clara));
}

.lg-legenda-rotulo::before {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
}

.lg-legenda-rotulo small {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: none;
    color: rgba(255, 255, 255, .5);
}

.lg-legenda-frase {
    margin: 16px 0 0;
    font-size: clamp(22px, 2.15vw, 36px);
    font-weight: 300;
    line-height: 1.22;
    letter-spacing: -.01em;
    color: #fff;
    text-wrap: balance;
}

.lg-legenda-frase strong {
    font-weight: 600;
    background: linear-gradient(90deg, rgb(var(--lg-clara)), #fff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ----------------------------------------------------------------- cartão */

.lg-moldura {
    width: 100%;
    max-width: 440px;
    animation: lg-subir .9s cubic-bezier(.2, .7, .2, 1) both;
}

.lg-cartao {
    position: relative;
    padding: 38px 36px 30px;
    border-radius: 22px;
    background: linear-gradient(160deg, rgba(var(--lg-vidro-a), var(--lg-vidro-alfa-a)), rgba(var(--lg-vidro-b), var(--lg-vidro-alfa-b)));
    border: 1px solid rgba(var(--lg-tinta), .1);
    box-shadow:
        0 34px 90px -24px rgba(0, 0, 0, var(--lg-sombra)),
        0 0 0 1px rgba(0, 0, 0, .25),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
}

/* Borda que acende onde o mouse está (--lg-mx/--lg-my vêm do login_cena.js). */
.lg-cartao::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: radial-gradient(280px circle at var(--lg-mx, 50%) var(--lg-my, 0%), rgba(var(--lg-clara), .95), rgba(var(--lg-clara), 0) 62%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity .45s ease;
    pointer-events: none;
}

.lg-cartao::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(420px circle at var(--lg-mx, 50%) var(--lg-my, 0%), rgba(var(--lg-brilho), .09), rgba(var(--lg-brilho), 0) 60%);
    opacity: 0;
    transition: opacity .45s ease;
    pointer-events: none;
}

.lg-cartao:hover::before,
.lg-cartao:hover::after {
    opacity: 1;
}

.lg-cartao > * {
    position: relative;
    z-index: 1;
}

/* O formulário fica acima do que vem depois dele: a lista de um seletor aberto não some atrás do rodapé do cartão. */
.lg-cartao > form {
    z-index: 2;
}

/* Fio de luz no topo do vidro. */
.lg-cartao-fio {
    position: absolute !important;
    top: -1px;
    left: 18%;
    right: 18%;
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--lg-clara), 0), rgba(var(--lg-clara), .9), rgba(var(--lg-clara), 0));
}

.lg-cartao.lg-tremer {
    animation: lg-tremer .5s cubic-bezier(.36, .07, .19, .97);
}

@keyframes lg-tremer {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(3px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-6px, 0, 0); }
    40%, 60% { transform: translate3d(6px, 0, 0); }
}

@keyframes lg-subir {
    from { opacity: 0; transform: translate3d(0, 22px, 0); }
    to { opacity: 1; transform: none; }
}

/* Os blocos do cartão entram um depois do outro (--i é a posição na fila). */
.lg-entra {
    animation: lg-subir .7s cubic-bezier(.2, .7, .2, 1) both;
    animation-delay: calc(var(--i, 0) * 70ms + 280ms);
}

.lg-marca {
    text-align: center;
    margin-bottom: 26px;
}

.lg-marca img {
    height: 46px;
    width: auto;
    filter: drop-shadow(0 6px 22px rgba(var(--lg-brilho), .35));
}

.lg-titulo {
    margin: 0 0 4px;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -.01em;
    color: rgb(var(--lg-tinta));
}

.lg-subtitulo {
    margin: 0 0 24px;
    font-size: 13.5px;
    color: rgba(var(--lg-tinta), .58);
}

/*
 * Cabeçalho com selo (recuperar, redefinir, autocadastro): o ícone do
 * assunto ao lado do título. O anel do selo pulsa devagar (só transform e
 * opacity).
 */
.lg-cabecalho {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.lg-cabecalho .lg-subtitulo {
    margin-bottom: 0;
}

.lg-selo {
    position: relative;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    border: 1px solid rgba(var(--lg-clara), .3);
    background: linear-gradient(160deg, rgba(var(--lg-brilho), .24), rgba(var(--lg-brilho), .06));
    box-shadow: 0 12px 30px -12px rgba(var(--lg-brilho), .6), inset 0 1px 0 rgba(255, 255, 255, .14);
    font-size: 24px;
    color: rgb(var(--lg-destaque));
}

.lg-selo::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border: 1px solid rgba(var(--lg-clara), .55);
    animation: lg-selo-anel 2.8s ease-out infinite;
    pointer-events: none;
}

@keyframes lg-selo-anel {
    from { opacity: .9; transform: scale(1); }
    to { opacity: 0; transform: scale(1.45); }
}

/* A linha de baixo do cartão ("Voltar para o login" e afins). */
.lg-volta {
    margin: 20px 0 0;
    font-size: 13px;
    text-align: center;
    color: rgba(var(--lg-tinta), .55);
}

.lg-volta .lg-link {
    font-size: inherit;
    font-weight: 600;
}

.lg-cartao .form-label {
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(var(--lg-tinta), .74);
}

.lg-cartao .text-muted {
    color: rgba(var(--lg-tinta), .55) !important;
}

.lg-link {
    font-size: 12.5px;
    color: rgb(var(--lg-destaque));
    text-decoration: none;
    transition: color .2s ease;
}

.lg-link:hover,
.lg-link:focus-visible {
    color: rgb(var(--lg-tinta));
}

.lg-campo {
    position: relative;
}

.lg-campo-icone {
    position: absolute;
    top: 0;
    left: 15px;
    height: 48px;
    display: flex;
    align-items: center;
    font-size: 17px;
    color: rgba(var(--lg-tinta), .42);
    pointer-events: none;
    transition: color .25s ease;
}

.lg-campo:focus-within .lg-campo-icone {
    color: rgb(var(--lg-destaque));
}

/* Campo com ícone à esquerda (.lg-campo): o texto começa depois dele. */
.lg-campo .form-control {
    padding-left: 44px;
}

.lg-cartao .form-control {
    height: 48px;
    border-radius: 12px;
    border: 1px solid rgba(var(--lg-tinta), .12);
    background-color: rgba(var(--lg-tinta), .05);
    color: rgb(var(--lg-tinta));
    caret-color: rgb(var(--lg-destaque));
    transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.lg-cartao .form-control:hover {
    border-color: rgba(var(--lg-tinta), .22);
}

.lg-cartao .form-control:focus {
    border-color: rgba(var(--lg-brilho), .8);
    background-color: rgba(var(--lg-tinta), .075);
    box-shadow: 0 0 0 4px rgba(var(--lg-brilho), .16);
    color: rgb(var(--lg-tinta));
}

/*
 * Preenchimento automático do navegador: o Chrome pinta o campo de claro e
 * não deixa trocar o fundo. A transição "infinita" segura a cor do vidro.
 */
.lg-cartao .form-control:-webkit-autofill,
.lg-cartao .form-control:-webkit-autofill:hover,
.lg-cartao .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: rgb(var(--lg-tinta));
    caret-color: rgb(var(--lg-destaque));
    transition: background-color 99999s ease-in-out 0s, border-color .25s ease, box-shadow .25s ease;
}

.lg-cartao .form-control::placeholder {
    color: rgba(var(--lg-tinta), .34);
}

/* Campo travado (só leitura / desabilitado): o Bootstrap pintaria de cinza claro. */
.lg-cartao .form-control:disabled,
.lg-cartao .form-control[readonly] {
    border-color: rgba(var(--lg-tinta), .08);
    background-color: rgba(var(--lg-tinta), .025);
    color: rgba(var(--lg-tinta), .6);
    -webkit-text-fill-color: rgba(var(--lg-tinta), .6);
    opacity: 1;
}

/* <select>: a lista que o navegador abre também fica escura. */
.lg-cartao select.form-control,
.lg-cartao .form-select {
    color-scheme: var(--lg-esquema);
}

.lg-cartao select option {
    background: rgb(var(--lg-sup));
    color: rgb(var(--lg-tinta));
}

.lg-cartao .form-text {
    margin-top: 6px;
    font-size: 12px;
    color: rgba(var(--lg-tinta), .5);
}

/* Seletor com busca (Choices.js) no vidro. */
.lg-cartao .choices {
    margin-bottom: 0;
}

.lg-cartao .choices .choices__inner {
    min-height: 48px;
    padding: 9px 14px 5px;
    border-radius: 12px;
    border: 1px solid rgba(var(--lg-tinta), .12);
    background: rgba(var(--lg-tinta), .05);
    color: rgb(var(--lg-tinta));
}

.lg-cartao .choices.is-focused .choices__inner,
.lg-cartao .choices.is-open .choices__inner {
    border-color: rgba(var(--lg-brilho), .8);
    box-shadow: 0 0 0 4px rgba(var(--lg-brilho), .16);
}

.lg-cartao .choices .choices__list--single {
    padding: 4px 16px 4px 0;
}

.lg-cartao .choices .choices__list--single .choices__item,
.lg-cartao .choices .choices__placeholder {
    color: rgb(var(--lg-tinta));
    opacity: 1;
}

.lg-cartao .choices[data-type*="select-one"]::after {
    border-color: rgba(var(--lg-tinta), .6) transparent transparent;
}

.lg-cartao .choices[data-type*="select-one"].is-open::after {
    border-color: transparent transparent rgba(var(--lg-tinta), .6);
}

.lg-cartao .choices .choices__list--dropdown {
    margin-top: 6px;
    border: 1px solid rgba(var(--lg-tinta), .14);
    border-radius: 12px;
    background: rgb(var(--lg-sup));
    box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .9);
    color: rgb(var(--lg-tinta));
    overflow: hidden;
}

.lg-cartao .choices .choices__list--dropdown .choices__input {
    border-bottom: 1px solid rgba(var(--lg-tinta), .1);
    background: transparent;
    color: rgb(var(--lg-tinta));
}

.lg-cartao .choices .choices__list--dropdown .choices__item {
    color: rgba(var(--lg-tinta), .86);
}

.lg-cartao .choices .choices__list--dropdown .choices__item--selectable.is-highlighted {
    background: rgba(var(--lg-brilho), .2);
    color: rgb(var(--lg-tinta));
}

.lg-cartao .choices .choices__list--dropdown .choices__item--disabled {
    color: rgba(var(--lg-tinta), .4);
}

/* Aviso dentro do cartão (link vencido, por exemplo). */
.lg-cartao .alert-warning {
    border: 1px solid rgba(255, 196, 110, .32);
    border-radius: 12px;
    background: rgba(255, 196, 110, .1);
    color: rgb(var(--lg-aviso));
}

.lg-cartao .password-addon {
    height: 48px;
    padding: 0 14px;
    color: rgba(var(--lg-tinta), .5) !important;
}

.lg-cartao .password-addon:hover {
    color: rgb(var(--lg-tinta)) !important;
}

.lg-divisor {
    height: 1px;
    margin: 4px 0 20px;
    background: linear-gradient(90deg, rgba(var(--lg-tinta), 0), rgba(var(--lg-tinta), .16), rgba(var(--lg-tinta), 0));
}

.lg-botao {
    position: relative;
    width: 100%;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    color: rgb(var(--lg-botao-texto));
    background: linear-gradient(135deg, rgb(var(--lg-fundo)) 0%, rgb(var(--lg-forte)) 52%, rgb(var(--lg-botao-fim)) 100%);
    box-shadow: 0 14px 30px -12px rgba(var(--lg-a), .75), inset 0 1px 0 rgba(255, 255, 255, .24);
    overflow: hidden;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Reflexo que atravessa o botão no hover. */
.lg-botao::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -60%;
    width: 45%;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .28), rgba(255, 255, 255, 0));
    transform: skewX(-18deg);
    pointer-events: none;
}

.lg-botao:hover:not(:disabled) {
    transform: translate3d(0, -1px, 0);
    filter: brightness(1.08);
    box-shadow: 0 18px 36px -12px rgba(var(--lg-a), .9), inset 0 1px 0 rgba(255, 255, 255, .28);
}

.lg-botao:hover:not(:disabled)::after {
    left: 120%;
    transition: left .7s ease;
}

.lg-botao:active:not(:disabled) {
    transform: scale(.985);
}

.lg-botao:focus-visible {
    outline: 2px solid rgb(var(--lg-clara));
    outline-offset: 3px;
}

.lg-botao:disabled {
    cursor: default;
    opacity: .72;
    filter: saturate(.75) brightness(.9);
}

/* O botão também pode ser um link (<a class="lg-botao">). */
a.lg-botao,
a.lg-botao:hover,
a.lg-botao:focus {
    color: rgb(var(--lg-botao-texto));
    text-decoration: none;
}

.lg-botao i {
    font-size: 18px;
    transition: transform .25s ease;
}

.lg-botao:hover:not(:disabled) i {
    transform: translate3d(3px, 0, 0);
}

/* Botão "Criar atalho" (partials/botao_criar_atalho) dentro do vidro. */
.lg-cartao .btn-soft-primary {
    border-color: rgba(var(--lg-tinta), .12);
    border-radius: 12px;
    background: rgba(var(--lg-tinta), .06);
    color: rgb(var(--lg-tinta));
}

.lg-cartao .btn-soft-primary:hover,
.lg-cartao .btn-soft-primary:focus {
    border-color: rgba(var(--lg-tinta), .22);
    background: rgba(var(--lg-tinta), .12);
    color: rgb(var(--lg-tinta));
}

.lg-rodape {
    margin: 0;
    font-size: 12px;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .4);
    text-align: center;
}

/* ------------------------------------------------- telas menores e celular */

@media (max-width: 991.98px) {
    .lg-pagina {
        grid-template-columns: minmax(0, 1fr);
    }

    .lg-palco {
        display: none;
    }

    .lg-lateral {
        padding: 28px 18px;
    }

    /* A formação fica ATRÁS do cartão: vidro mais fechado para o texto ler bem. */
    .lg-cartao {
        padding: 32px 24px 26px;
        background: linear-gradient(160deg, rgba(var(--lg-vidro-a), .9), rgba(var(--lg-vidro-b), .94));
    }
}

@media (max-height: 700px) and (min-width: 992px) {
    .lg-lateral {
        gap: 14px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .lg-cartao {
        padding: 28px 32px 24px;
    }

    .lg-marca {
        margin-bottom: 18px;
    }

    .lg-subtitulo {
        margin-bottom: 18px;
    }
}

/* ------------------------------------- aparelho modesto e movimento reduzido */

.lg-leve .lg-cartao {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: linear-gradient(160deg, rgba(var(--lg-vidro-a), .95), rgba(var(--lg-vidro-b), .96));
}

.lg-leve .lg-aurora {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .lg-aurora,
    .lg-moldura,
    .lg-entra,
    .lg-selo::after,
    .lg-cartao.lg-tremer,
    .lg-indice span.lg-ativa::after {
        animation: none;
    }

    .lg-indice span.lg-ativa::after {
        transform: none;
    }

    .lg-cena,
    .lg-legenda,
    .lg-legenda.lg-ativa,
    .lg-botao,
    .lg-botao::after {
        transition: none;
    }
}
