/* My Love — paleta tirada da arte do cliente: coração vermelho, dourado do título e as cores dos galões */
:root {
    --vermelho: #D7132E; --vermelho-escuro: #9E0D22; --vermelho-claro: #FDECEF;
    --dourado: #C9962B; --dourado-claro: #F7EBCF;
    --azul: #1D3FA6; --azul-ceu: #6CC3E0; --rosa: #D1388F;
    --creme: #FFF9F3; --tinta: #2A1A1F; --cinza: #6B5E62; --linha: #EFE3E5;
}
body { font-family: 'Nunito', system-ui, sans-serif; color: var(--tinta); background: var(--creme); }
.logo-love { font-family: 'Kaushan Script', cursive; }
.titulo { font-family: 'Playfair Display', Georgia, serif; }
.text-vermelho { color: var(--vermelho); } .bg-vermelho { background: var(--vermelho); } .bg-vermelho-claro { background: var(--vermelho-claro); }
.text-dourado { color: var(--dourado); } .bg-dourado-claro { background: var(--dourado-claro); }
.text-cinza { color: var(--cinza); } .border-linha { border-color: var(--linha); } .bg-creme { background: var(--creme); }
.botao { transition: transform .15s ease, box-shadow .15s ease, background .15s ease, opacity .15s; }
.botao:active { transform: scale(.97); }
.botao-principal { background: linear-gradient(135deg, #EF2A45, var(--vermelho) 55%, var(--vermelho-escuro)); color: #fff; box-shadow: 0 10px 24px -12px rgba(215, 19, 46, .8); }
.botao-principal:hover { filter: brightness(1.05); }
.botao-contorno { border: 2px solid var(--vermelho); color: var(--vermelho); background: #fff; }
.botao-contorno:hover { background: var(--vermelho-claro); }
.campo { width: 100%; height: 2.875rem; padding: 0 .9rem; border-radius: .8rem; border: 1px solid var(--linha); background: #fff; font-weight: 400; outline: none; }
.campo:focus { border-color: var(--vermelho); box-shadow: 0 0 0 3px rgba(215, 19, 46, .12); }
textarea.campo { height: auto; padding: .7rem .9rem; }
.rotulo { display: block; font-size: .875rem; font-weight: 800; margin-bottom: .3rem; }
.cartao { background: #fff; border: 1px solid var(--linha); border-radius: 1.25rem; }
.sem-barra { scrollbar-width: none; } .sem-barra::-webkit-scrollbar { display: none; }
.hero-fundo { background: radial-gradient(ellipse at 85% 20%, rgba(215, 19, 46, .55), transparent 55%), radial-gradient(ellipse at 10% 100%, rgba(201, 150, 43, .25), transparent 50%), linear-gradient(135deg, #3A0D18 0%, #5A1222 55%, #2A0A12 100%); }
.faixa-galoes { background: linear-gradient(90deg, var(--azul) 0 33.3%, var(--azul-ceu) 33.3% 66.6%, var(--rosa) 66.6%); }
.rolar-fino::-webkit-scrollbar { height: 6px; width: 6px; } .rolar-fino::-webkit-scrollbar-thumb { background: #e5d5d8; border-radius: 9px; }
@keyframes pulso-leitor { 0%, 100% { box-shadow: 0 0 0 0 rgba(215, 19, 46, .35); } 50% { box-shadow: 0 0 0 6px rgba(215, 19, 46, 0); } }
.leitor:focus { animation: pulso-leitor 1.6s infinite; }
@keyframes aviso-entra { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }
.aviso-flutuante { animation: aviso-entra .2s ease-out; }
.menu-painel a.ativo { background: var(--vermelho-claro); color: var(--vermelho); font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .leitor:focus, .aviso-flutuante { animation: none; } }
