/* Convite do Prêmio Madalena Serejo na home (30/09/2026). Mesma linguagem da
   página do prêmio: preto profundo, champanhe claro, medalha protagonista. */
.pp { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 20px; pointer-events: none; }
.pp[hidden] { display: none; }
.pp, .pp * { box-sizing: border-box; }
.pp::before { content: ''; position: absolute; inset: 0; background: rgba(5,7,12,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; transition: opacity .8s ease; }
.pp.aberto::before { opacity: 1; }
.pp-cartao { position: relative; pointer-events: auto; width: min(420px, 100%); padding: 36px 32px 30px; border-radius: 28px; text-align: center; color: #f1ece2; overflow: hidden;
  background: radial-gradient(90% 60% at 50% 0%, rgba(220,192,138,.20), transparent 70%), linear-gradient(170deg, #121a33 0%, #070a13 100%);
  border: 1px solid rgba(239,227,194,.22); box-shadow: 0 40px 100px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.4);
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  opacity: 0; transform: translateY(40px) scale(.94); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.9,.2,1); }
.pp.aberto .pp-cartao { opacity: 1; transform: none; }
/* Saída: o cartão encolhe e sobe, abrindo a vista do site. */
.pp.saindo::before { opacity: 0; transition-duration: .7s; }
.pp.saindo .pp-cartao { opacity: 0; transform: translateY(-30px) scale(.82); filter: blur(6px); transition: opacity .7s ease, transform .8s cubic-bezier(.6,0,.4,1), filter .7s; }

.pp-fechar { position: absolute; z-index: 2; top: 14px; right: 14px; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #f1ece2; cursor: pointer; }
.pp-fechar:hover { background: rgba(255,255,255,.16); }
.pp svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* A medalha sempre pendurada pela fita, e a fita entra pela borda de cima do
   cartão (a imagem começa acima dela e o cartão corta). Nunca a moeda solta. */
.pp-medalha { position: relative; height: 290px; aspect-ratio: 320 / 570; margin: -72px auto 14px; transform-origin: 50% 0; filter: drop-shadow(0 22px 30px rgba(0,0,0,.55)); }
.pp-medalha img { width: 100%; height: 100%; display: block; }
.pp.aberto .pp-medalha { animation: pp-desce 1.6s .15s cubic-bezier(.16,1,.3,1) both, pp-balanca 3.4s 1.8s ease-in-out infinite alternate; }
@keyframes pp-desce { from { transform: translateY(-100%); } }
@keyframes pp-balanca { from { transform: rotate(-1.2deg); } to { transform: rotate(1.2deg); } }
.pp-brilho { position: absolute; inset: 0; mix-blend-mode: screen;
  -webkit-mask: url('/imagens/premio/medalha-320.webp') center / 100% 100% no-repeat; mask: url('/imagens/premio/medalha-320.webp') center / 100% 100% no-repeat;
  background: linear-gradient(115deg, transparent 38%, rgba(255,248,225,.75) 50%, transparent 62%); background-size: 260% 100%; background-position: 140% 0;
  animation: pp-brilho 3.6s 1.8s ease-in-out infinite; }
@keyframes pp-brilho { 0%, 50% { background-position: 140% 0; } 90%, 100% { background-position: -40% 0; } }
.pp-logo { width: 78%; height: auto; margin: 0 auto 6px; display: block; }
.pp-ano { margin: 0 0 16px; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #dcc08a; }
.pp-datas { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; margin: 0 0 22px; font-size: 13px; color: #a6acbc; }
.pp-datas b { color: #f1ece2; font-weight: 600; margin-left: 4px; }
.pp-botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; border-radius: 99px; background: #efe3c2; color: #05070c !important;
  font-weight: 700; font-size: 15px; letter-spacing: .03em; text-decoration: none !important; transition: background .25s, transform .25s; }
.pp-botao:hover { background: #f7ecc9; transform: translateY(-1px); }
.pp-nunca { margin-top: 14px; background: none; border: 0; color: #a6acbc; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pp-nunca:hover { color: #f1ece2; }
.pp-tempo { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(239,227,194,.12); }
.pp-tempo span { display: block; height: 100%; background: linear-gradient(90deg, #a88a55, #f7ecc9); transform-origin: left; transform: scaleX(1); }
@media (max-width: 480px) {
  .pp-cartao { padding: 30px 22px 26px; }
  .pp-ano { letter-spacing: .12em; }
  .pp-medalha { height: 250px; margin-top: -64px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-cartao, .pp::before { transition: none; }
  .pp.aberto .pp-medalha, .pp-brilho { animation: none; }
}
