/* ===== Aniversariantes — cartaz animado (tela) e cartão para WhatsApp (public/aniversariantes.js) ===== */
#page-aniv>.people-module-hero{display:none}
.av-cartaz{--av-azul:#0B2E73;--av-azul2:#123F96;--av-am:#F5C400;position:relative;border-radius:22px;overflow:hidden;background:var(--av-azul);box-shadow:0 18px 40px rgba(11,46,115,.18);font-family:'Poppins',Inter,'Segoe UI',Arial,sans-serif;isolation:isolate}
.av-foto{position:relative;height:auto;aspect-ratio:1692/367;background:#0B2E73 url(images/aniversario-equipe.jpg) center top/cover no-repeat}
.av-foto::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,46,115,0) 55%,rgba(11,46,115,.85) 100%)}
.av-faixa{position:relative;margin-top:-70px;padding:22px 30px 26px;text-align:center;color:#fff;background:linear-gradient(180deg,var(--av-azul2),var(--av-azul));border-radius:46% 46% 0 0/40px 40px 0 0;z-index:2;overflow:hidden}
.av-logos{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px;position:relative;z-index:1}
.av-logos img{height:42px;width:auto;object-fit:contain}
.av-sep{width:2px;height:34px;background:rgba(255,255,255,.35);border-radius:2px}
.av-faixa h2{margin:0;font-size:46px;font-weight:800;letter-spacing:-.5px;line-height:1.1;position:relative;z-index:1}
.av-faixa h2 em{font-style:normal;color:var(--av-am)}
.av-faixa p{margin:8px 0 0;font-size:19px;opacity:.95;position:relative;z-index:1;display:inline-block}
.av-faixa p::after{content:'';display:block;width:70px;height:4px;border-radius:3px;background:var(--av-am);margin:8px auto 0 0}
.av-painel{background:#fff;margin:0 26px;border-radius:20px;padding:18px;position:relative;z-index:3;margin-top:-6px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.av-lista{display:grid;grid-auto-flow:column;gap:10px 22px}
.av-lista.c1{grid-auto-flow:row;grid-template-rows:none!important}
.av-lista.vazia{display:block;text-align:center;color:var(--m);font-size:17px;padding:22px}
.av-linha{display:grid;grid-template-columns:1fr auto minmax(140px,.62fr);gap:10px;align-items:center;animation:av-entra .55s ease both;animation-delay:calc(var(--i) * 70ms)}
.av-nome{background:#EAF1FD;border-radius:12px;padding:12px 16px;font-weight:700;font-size:17px;color:#0B2E73;line-height:1.2}
.av-nome em{display:inline-block;margin-left:8px;font-style:normal;font-size:12px;font-weight:800;color:#fff;background:#E5484D;padding:2px 9px;border-radius:20px;vertical-align:middle}
.av-dia{display:flex;align-items:center;gap:8px;background:var(--av-am);border-radius:12px;padding:6px 14px;color:#0B2E73;min-width:96px;justify-content:center}
.av-dia small{font-size:15px;font-weight:600}
.av-dia b{font-size:28px;font-weight:800;line-height:1}
.av-loja{background:#F1F5FC;border-radius:12px;padding:12px 14px;font-size:15px;color:#22345C}
.av-linha.hoje .av-nome{background:#FFF6CC;box-shadow:0 0 0 2px var(--av-am)}
.av-linha.hoje .av-dia{animation:av-pulsa 1.4s ease-in-out infinite}
.av-rodape{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px 150px 26px 30px;color:#fff;position:relative;min-height:96px}
.av-msg{font-family:'Dancing Script','Brush Script MT',cursive;font-size:34px;line-height:1.15;text-align:center}
.av-bolo{width:58px;height:58px;flex:none}
.av-presente{position:absolute;right:22px;bottom:-6px;width:118px;height:118px;animation:av-flutua 3.2s ease-in-out infinite}

/* Confete (na faixa) e balões (na foto) */
.av-conf{position:absolute;width:10px;height:16px;border-radius:2px;opacity:.9;z-index:0;animation:av-cai linear infinite}
.av-balao{position:absolute;width:70px;height:86px;border-radius:50% 50% 48% 48%;z-index:1;animation:av-flutua 4s ease-in-out infinite}
.av-balao::after{content:'';position:absolute;left:50%;top:100%;width:1.5px;height:70px;background:rgba(255,255,255,.65)}
.av-balao.b1,.av-balao.b4{background:radial-gradient(circle at 32% 28%,#8FB8FF,#1F55C9 62%)}
.av-balao.b2,.av-balao.b5{background:radial-gradient(circle at 32% 28%,#FFF0A3,#F2B705 62%)}
.av-balao.b3,.av-balao.b6{background:radial-gradient(circle at 32% 28%,#A9C8FF,#2E68E0 62%)}
.av-balao.b1{left:-14px;top:40px}.av-balao.b2{left:28px;top:150px;animation-delay:-1.2s}.av-balao.b3{left:-24px;top:200px;animation-delay:-2.1s}
.av-balao.b4{right:-12px;top:30px;animation-delay:-.6s}.av-balao.b5{right:36px;top:140px;animation-delay:-1.8s}.av-balao.b6{right:-20px;top:205px;animation-delay:-2.6s}
@keyframes av-cai{0%{transform:translateY(-40px) rotate(0)}100%{transform:translateY(260px) rotate(540deg)}}
@keyframes av-flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes av-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes av-pulsa{0%,100%{box-shadow:0 0 0 0 rgba(245,196,0,.7)}50%{box-shadow:0 0 0 8px rgba(245,196,0,0)}}
@media (prefers-reduced-motion:reduce){.av-conf,.av-balao,.av-presente,.av-linha,.av-linha.hoje .av-dia{animation:none}}

/* Cartão para WhatsApp: 1080 px, montado fora da tela e convertido em PNG (sem animação) */
.av-palco{position:fixed;left:-12000px;top:0;width:1080px;pointer-events:none}
.av-whats{width:1080px;border-radius:0;box-shadow:none}
.av-whats .av-foto{height:430px}
.av-whats .av-faixa{margin-top:-90px;padding:28px 34px 30px}
.av-whats .av-faixa h2{font-size:58px}
.av-whats .av-faixa p{font-size:24px}
.av-whats .av-logos img{height:54px}
.av-whats .av-painel{margin:0 34px;padding:22px}
.av-whats .av-nome{font-size:24px;padding:14px 18px}
.av-whats .av-dia b{font-size:36px}.av-whats .av-dia small{font-size:18px}
.av-whats .av-loja{font-size:20px}
.av-whats .av-lista.c2 .av-nome{font-size:19px}.av-whats .av-lista.c2 .av-loja{font-size:16px}.av-whats .av-lista.c2 .av-dia b{font-size:28px}
.av-whats .av-msg{font-size:42px}
.av-whats .av-conf,.av-whats .av-balao,.av-whats .av-presente,.av-whats .av-linha{animation:none}
.av-previa{border-radius:12px;overflow:hidden;border:1px solid var(--bd);background:#0B2E73}
.av-previa img{display:block;width:100%;height:auto}
.av-dica{font-size:13.5px;color:var(--m);margin:12px 2px 0;text-align:center}

@media (max-width:900px){ /* só o cartaz da tela: o cartão do WhatsApp tem 1080 px fixos */.av-tela .av-foto{height:200px}.av-tela .av-faixa{margin-top:-50px;padding:18px 16px 20px}.av-tela .av-faixa h2{font-size:28px}.av-tela .av-faixa p{font-size:15px}.av-tela .av-logos{gap:8px;flex-wrap:wrap}.av-tela .av-logos img{height:26px}.av-tela .av-sep{height:22px}.av-tela .av-painel{margin:0 10px;padding:12px}.av-tela .av-lista,.av-tela .av-lista.c2{grid-auto-flow:row;grid-template-rows:none!important}.av-tela .av-linha{grid-template-columns:1fr auto}.av-tela .av-loja{grid-column:1/-1;padding:6px 12px;font-size:13px}.av-tela .av-nome{font-size:15px}.av-tela .av-dia b{font-size:22px}.av-tela .av-rodape{padding:18px 16px 70px}.av-tela .av-msg{font-size:24px}.av-tela .av-presente{width:70px;height:70px}.av-tela .av-balao{width:44px;height:54px}
}
/* html2canvas desenha sombra "spread" como faixa grossa: no cartão usa borda, sem sombra */
.av-linha.hoje .av-nome{box-shadow:none;outline:2px solid var(--av-am);outline-offset:-2px}
.av-whats .av-painel{box-shadow:none}
.av-whats .av-linha.hoje .av-nome{outline:none;border:2px solid var(--av-am);padding:12px 16px}
.av-whats .av-rodape{padding:26px 170px 30px 40px;min-height:150px}
.av-whats .av-presente{bottom:14px;right:34px;width:120px;height:120px}
.av-presente-e{position:absolute;right:40px;bottom:22px;font-size:96px;line-height:1}

/* Foto da equipe das 4 marcas (images/aniversario-equipe.jpg): já tem balões, então os desenhados saem;
   a faixa avança pouco sobre a foto para não esconder o bolo */
.av-balao{display:none}
.av-faixa{margin-top:-34px}
.av-foto::after{background:linear-gradient(180deg,rgba(11,46,115,0) 70%,rgba(11,46,115,.6) 100%)}
.av-whats .av-foto{height:auto;aspect-ratio:1692/367}
.av-whats .av-faixa{margin-top:-30px}
@media (max-width:900px){.av-tela .av-foto{height:auto}.av-tela .av-faixa{margin-top:-20px}}
.av-whats .av-foto{aspect-ratio:auto;height:310px;background-position:center top}
.av-whats .av-faixa{margin-top:-24px}
