/* GABA3 — Apresentações "de cinema" (presentationStyles.js). Só transform/opacity, letras do
   próprio celular, paisagens WebP. Tamanhos em cqmin: a mesma peça serve a prévia, a tela
   cheia da chegada e o palco da sala. */

html body .gaba3-invite-card.invd-premium{
    --f-forte:"Anton","Bebas Neue","Oswald",Impact,"Haettenschweiler","Arial Narrow","Roboto Condensed","sans-serif-condensed",sans-serif;
    --f-script:"Dancing Script","Segoe Script","Brush Script MT","Lucida Handwriting",cursive;
    --f-elegante:"Playfair Display",Georgia,"Noto Serif","Times New Roman",serif;
    position:relative!important;display:block!important;overflow:hidden!important;
    width:100%!important;max-width:none!important;aspect-ratio:3/4;height:auto;
    padding:0!important;margin:0 auto!important;border:0!important;border-radius:18px;
    background:var(--p-escuro)!important;color:#fff;isolation:isolate;
    container-type:size;box-shadow:0 18px 50px rgba(0,0,0,.45);
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:center;
}
/* No palco e na tela cheia ocupa o espaço inteiro. */
html body .gaba3-invite-stage-host.has-persistent-invitation .gaba3-invite-card.invd-premium{
    aspect-ratio:auto!important;height:100%!important;min-height:100%!important;border-radius:0!important;padding:0!important;display:block!important;
}
html body .gaba3-celebration-stage .gaba3-invite-card.invd-premium{
    aspect-ratio:auto!important;width:min(100vw,620px)!important;height:min(100dvh,900px)!important;border-radius:0!important;
}
.invd-premium > *{position:absolute}
.invd-premium [hidden]{display:none!important}

/* ── Fundo: paisagem em movimento lento de câmera ── */
.invd-premium .invd-p-fundo{
    inset:-6%;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;
    animation:invdPCamera 20s ease-in-out infinite alternate;will-change:transform;
    /* Alegria = cor viva: paisagem mais saturada e luminosa. */
    filter:saturate(1.25) brightness(1.08) contrast(1.04);
}
.invd-premium .invd-p-fundo.sem-imagem{
    background:radial-gradient(130% 90% at 50% 110%,color-mix(in srgb,var(--p-a) 30%,var(--p-escuro)) 0%,var(--p-escuro) 55%,#03040b 100%);
}
.invd-pub-crianca .invd-p-fundo.sem-imagem{
    background:linear-gradient(180deg,#3fb5ff 0%,#8fdcff 45%,#d8f6ff 72%,#fff1a8 100%);
}
.invd-premium .invd-p-veu{
    inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.04) 62%,rgba(0,0,0,.4) 100%);
}
.invd-pub-crianca .invd-p-veu{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,30,70,.28) 100%)}
@keyframes invdPCamera{
    0%{transform:scale(1.04) translate3d(-1.5%,1%,0)}
    100%{transform:scale(1.16) translate3d(1.5%,-1.5%,0)}
}

/* ── Peças comuns ── */
.invd-premium .invd-p-centro{
    inset:18% 6% 16%;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:safe center;
    gap:1.8cqmin;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;
}
.invd-premium .invd-p-centro::-webkit-scrollbar{display:none}
/* Texto sobre paisagem clara: uma faixa translúcida garante a leitura sem apagar as cores. */
.invd-premium:not(.invd-estilo-cinta):not(.invd-estilo-cartaz) .invd-p-msg{
    padding:1.5cqmin 2.6cqmin;border-radius:2.4cqmin;background:rgba(0,0,0,.3);
    backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
/* Nada encolhe dentro da coluna (o texto não pode vazar por cima da linha seguinte). */
.invd-premium .invd-p-centro > *{flex-shrink:0}
.invd-premium .invd-p-vidro{
    background:rgba(8,6,18,.46);border:1px solid rgba(255,255,255,.2);border-radius:3.2cqmin;
    padding:3.4cqmin 4cqmin;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    box-shadow:0 2cqmin 6cqmin rgba(0,0,0,.35);
    animation:invdPSobe .8s .45s cubic-bezier(.2,.9,.25,1) both;
}
.invd-premium .invd-p-foto{
    position:relative;flex:none;width:17cqmin;height:17cqmin;border-radius:50%;overflow:hidden;
    border:.9cqmin solid var(--p-a);box-shadow:0 0 0 .5cqmin rgba(255,255,255,.35),0 0 5cqmin color-mix(in srgb,var(--p-a) 70%,transparent);
    display:grid;place-items:center;background:linear-gradient(140deg,var(--p-a),var(--p-b));
    animation:invdPPop .9s .3s cubic-bezier(.2,1.4,.4,1) both;
}
.invd-premium .invd-p-foto img{width:100%;height:100%;object-fit:cover;display:block}
.invd-premium .invd-p-foto span{font:900 7cqmin/1 var(--f-forte);color:#fff;letter-spacing:.02em;text-shadow:0 .4cqmin 1.2cqmin rgba(0,0,0,.35)}
.invd-premium .invd-p-nome{
    margin:0;font:italic 700 7.4cqmin/1.05 var(--f-elegante);color:var(--p-b);
    text-shadow:0 .5cqmin 2cqmin rgba(0,0,0,.55);overflow-wrap:anywhere;
    animation:invdPSobe .8s .7s cubic-bezier(.2,.9,.25,1) both;
}
html body .gaba3-invite-card.invd-premium .invd-p-msg{
    margin:0;max-width:100%;font:700 var(--p-msg,4.4cqmin)/1.42 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;
    color:#fff!important;text-shadow:0 .3cqmin 1.4cqmin rgba(0,0,0,.7);overflow-wrap:anywhere;white-space:pre-line;
    animation:invdPSobe .9s 1.1s cubic-bezier(.2,.9,.25,1) both;
}
@keyframes invdPSobe{0%{opacity:0;transform:translate3d(0,4cqmin,0)}100%{opacity:1;transform:none}}
@keyframes invdPPop{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}

/* ── CINTA: o nome passando em faixas gigantes que cruzam a tela ── */
.invd-estilo-cinta .invd-p-cinta{
    left:-30%;width:160%;z-index:3;overflow:hidden;white-space:nowrap;pointer-events:none;
    box-shadow:0 1.2cqmin 4cqmin rgba(0,0,0,.4);
}
.invd-estilo-cinta .invd-p-trilho{display:inline-flex;align-items:center;will-change:transform}
.invd-estilo-cinta .invd-p-trilho b{padding:0 2.6cqmin;font-weight:inherit}
.invd-estilo-cinta .invd-p-trilho i{display:inline-block;flex:none;width:2.2cqmin;height:2.2cqmin;background:currentColor;transform:rotate(45deg)}
.invd-estilo-cinta .invd-p-cinta-1{
    top:6%;padding:1.4cqmin 0;background:var(--p-a);color:var(--p-escuro);
    font:900 13cqmin/1 var(--f-forte);text-transform:uppercase;letter-spacing:.02em;
    transform:rotate(-7deg);animation:invdPCintaEntra .9s .1s cubic-bezier(.2,.9,.2,1) both;
}
.invd-estilo-cinta .invd-p-cinta-1 .invd-p-trilho{animation:invdPCorre 16s linear infinite}
.invd-estilo-cinta .invd-p-cinta-2{
    bottom:7%;padding:1.2cqmin 0;background:rgba(5,5,12,.72);color:transparent;
    -webkit-text-stroke:.35cqmin var(--p-b);font:900 11.5cqmin/1 var(--f-forte);text-transform:uppercase;letter-spacing:.04em;
    transform:rotate(5deg);animation:invdPCintaEntra .9s .35s cubic-bezier(.2,.9,.2,1) both;
}
.invd-estilo-cinta .invd-p-cinta-2 .invd-p-trilho{animation:invdPCorre 20s linear infinite reverse}
.invd-estilo-cinta .invd-p-cinta-2 .invd-p-trilho i{background:var(--p-b)}
.invd-estilo-cinta .invd-p-cinta-3{
    top:22%;padding:.7cqmin 0;background:var(--p-b);color:var(--p-escuro);opacity:.92;
    font:900 5.4cqmin/1 var(--f-forte);text-transform:uppercase;letter-spacing:.12em;
    transform:rotate(3deg);animation:invdPCintaEntra .9s .6s cubic-bezier(.2,.9,.2,1) both;
}
.invd-estilo-cinta .invd-p-cinta-3 .invd-p-trilho{animation:invdPCorre 11s linear infinite}
.invd-estilo-cinta .invd-p-centro{inset:28% 5% 20%;gap:1cqmin;padding:2.2cqmin 3cqmin}
.invd-estilo-cinta .invd-p-foto{width:12cqmin;height:12cqmin}
.invd-estilo-cinta .invd-p-nome{font-size:6.4cqmin}
@keyframes invdPCorre{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes invdPCintaEntra{0%{opacity:0;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0 0 0 0)}}

/* ── CINEMA: barras de filme, luz que varre a paisagem, título palavra por palavra ── */
.invd-estilo-filme .invd-p-barra{left:0;right:0;height:10%;z-index:6;background:#000;animation:invdPBarra 1.1s cubic-bezier(.6,0,.2,1) both}
.invd-estilo-filme .invd-p-barra-cima{top:0;transform-origin:top}
.invd-estilo-filme .invd-p-barra-baixo{bottom:0;transform-origin:bottom}
.invd-estilo-filme .invd-p-luz-varre{
    inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;
    background:linear-gradient(105deg,transparent 30%,rgba(255,236,190,.38) 48%,rgba(255,255,255,.12) 52%,transparent 68%);
    background-size:260% 100%;animation:invdPVarre 7s ease-in-out infinite;
}
.invd-estilo-filme .invd-p-poeira{inset:0;z-index:3;pointer-events:none}
.invd-estilo-filme .invd-p-poeira i{
    position:absolute;left:var(--x);bottom:-2%;width:calc(.7cqmin * var(--s));height:calc(.7cqmin * var(--s));border-radius:50%;
    background:#ffe9b5;box-shadow:0 0 1.4cqmin #ffd27a;opacity:0;
    animation:invdPPoeira calc(7s + var(--d)) linear infinite;animation-delay:calc(var(--d) * -2);
}
.invd-estilo-filme .invd-p-centro{inset:11% 5% 10%;gap:1.1cqmin}
.invd-estilo-filme .invd-p-titulo-filme{margin:0;font:900 12.5cqmin/.95 var(--f-forte);text-transform:uppercase;letter-spacing:.03em}
.invd-estilo-filme .invd-p-palavra{
    display:inline-block;color:transparent;
    background:linear-gradient(90deg,var(--p-b) 0%,#fff 30%,var(--p-a) 55%,var(--p-b) 80%);background-size:300% 100%;
    -webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 .5cqmin 1.6cqmin rgba(0,0,0,.6));
    animation:invdPPalavra 1s calc(.7s + var(--w) * .35s) cubic-bezier(.2,.8,.2,1) both,invdPBrilho 5s calc(2s + var(--w) * .2s) linear infinite;
}
.invd-estilo-filme .invd-p-script{font:700 8.6cqmin/1.05 var(--f-script);color:var(--p-a);text-shadow:0 0 3cqmin color-mix(in srgb,var(--p-a) 60%,transparent),0 .4cqmin 1cqmin rgba(0,0,0,.5);animation-delay:1.3s}
.invd-estilo-filme .invd-p-foto{width:12cqmin;height:12cqmin;animation-delay:1.5s}
.invd-estilo-filme .invd-p-msg{animation-delay:1.8s!important}
@keyframes invdPBarra{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes invdPVarre{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}
@keyframes invdPPoeira{0%{opacity:0;transform:translate3d(0,0,0)}15%{opacity:.85}100%{opacity:0;transform:translate3d(3cqmin,-95cqh,0)}}
@keyframes invdPPalavra{0%{opacity:0;letter-spacing:.6em;filter:blur(6px)}100%{opacity:1;letter-spacing:.03em;filter:blur(0) drop-shadow(0 .5cqmin 1.6cqmin rgba(0,0,0,.6))}}
@keyframes invdPBrilho{from{background-position:100% 0}to{background-position:-200% 0}}

/* ── LETRAS DE LUZ: o nome escrito com traço dourado, céu e faíscas ── */
.invd-estilo-luz .invd-p-ceu{inset:0;z-index:1;pointer-events:none}
.invd-estilo-luz .invd-p-ceu i{
    position:absolute;left:var(--x);top:var(--y);width:calc(.5cqmin * var(--s));height:calc(.5cqmin * var(--s));border-radius:50%;
    background:#fff;box-shadow:0 0 1cqmin #fff;animation:invdPPisca calc(2.4s + var(--d)) ease-in-out infinite;animation-delay:calc(var(--d) * -1);
}
.invd-estilo-luz .invd-p-centro{inset:10% 5% 9%;gap:1.4cqmin}
.invd-estilo-luz .invd-p-foto{width:15cqmin;height:15cqmin}
.invd-estilo-luz .invd-p-assinatura{position:relative;width:96%;height:auto;flex:none;overflow:visible;filter:drop-shadow(0 0 2.2cqmin color-mix(in srgb,var(--p-b) 75%,transparent))}
.invd-estilo-luz .invd-p-assinatura text{
    font:700 128px/1 var(--f-script);fill:var(--p-b);fill-opacity:0;stroke:var(--p-b);stroke-width:2.4;
    stroke-dasharray:2200;stroke-dashoffset:2200;stroke-linecap:round;stroke-linejoin:round;
    animation:invdPEscreve 2.6s .5s cubic-bezier(.45,.05,.3,1) forwards,invdPPreenche .9s 2.6s ease forwards;
}
.invd-estilo-luz .invd-p-titulo-luz{
    margin:0;font:700 4.6cqmin/1.2 var(--f-elegante);text-transform:uppercase;letter-spacing:.32em;color:#fff;
    text-shadow:0 0 2cqmin color-mix(in srgb,var(--p-a) 70%,transparent);animation:invdPSobe .9s 2.4s both;
}
.invd-estilo-luz .invd-p-msg{animation-delay:2.8s!important}
.invd-estilo-luz .invd-p-faiscas{left:50%;top:44%;width:0;height:0;z-index:4;pointer-events:none}
.invd-estilo-luz .invd-p-faiscas i{
    position:absolute;left:0;top:0;width:.6cqmin;height:calc(5cqmin * var(--s));border-radius:1cqmin;
    background:linear-gradient(var(--p-b),transparent);transform-origin:50% 0;opacity:0;
    transform:rotate(calc(var(--k) * 22.5deg)) translateY(0);
    animation:invdPFaisca 1.4s calc(2.9s + var(--k) * .02s) ease-out both;
}
@keyframes invdPPisca{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}
@keyframes invdPEscreve{to{stroke-dashoffset:0}}
@keyframes invdPPreenche{to{fill-opacity:1}}
@keyframes invdPFaisca{
    0%{opacity:0;transform:rotate(calc(var(--k) * 22.5deg)) translateY(0) scaleY(.2)}
    25%{opacity:1}
    100%{opacity:0;transform:rotate(calc(var(--k) * 22.5deg)) translateY(26cqmin) scaleY(1)}
}

/* ── CAPA DE REVISTA: nome enorme em camadas, foto de capa e selo ── */
.invd-estilo-revista .invd-p-fundo{filter:saturate(1.15) contrast(1.05)}
.invd-estilo-revista .invd-p-veu{background:linear-gradient(170deg,color-mix(in srgb,var(--p-escuro) 55%,transparent) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.65) 100%)}
.invd-estilo-revista .invd-p-bloco{z-index:2;pointer-events:none;opacity:.88}
.invd-estilo-revista .invd-p-bloco-1{left:-28%;top:-12%;width:78%;height:46%;background:var(--p-a);transform:rotate(-14deg);animation:invdPBlocoEsq 1s .1s cubic-bezier(.2,.9,.2,1) both}
.invd-estilo-revista .invd-p-bloco-2{right:-30%;bottom:-16%;width:80%;height:34%;background:var(--p-b);transform:rotate(-14deg);animation:invdPBlocoDir 1s .25s cubic-bezier(.2,.9,.2,1) both}
.invd-estilo-revista .invd-p-gigante{left:0;right:0;top:4%;z-index:3;pointer-events:none;white-space:nowrap}
.invd-estilo-revista .invd-p-gigante span{display:block;font:900 var(--p-giga,22cqmin)/.86 var(--f-forte);text-transform:uppercase;letter-spacing:-.01em}
.invd-estilo-revista .invd-p-gigante span:first-child{color:#fff;text-shadow:0 1cqmin 3cqmin rgba(0,0,0,.35);animation:invdPEntraDir 1s .3s cubic-bezier(.2,.9,.2,1) both}
.invd-estilo-revista .invd-p-gigante span:last-child{position:absolute;inset:0;color:transparent;-webkit-text-stroke:.35cqmin var(--p-escuro);transform:translate(1.4cqmin,1.4cqmin);animation:invdPEntraEsq 1s .45s cubic-bezier(.2,.9,.2,1) both}
.invd-estilo-revista .invd-p-centro{inset:27% 6% 5%;gap:1.4cqmin}
.invd-estilo-revista .invd-p-selo{
    display:inline-block;padding:1cqmin 2.6cqmin;background:var(--p-escuro);color:var(--p-b);
    font:900 6cqmin/1 var(--f-forte);text-transform:uppercase;letter-spacing:.06em;border:.5cqmin solid var(--p-b);
    transform:rotate(-4deg);animation:invdPCarimbo .7s .9s cubic-bezier(.2,1.5,.4,1) both;
}
.invd-estilo-revista .invd-p-foto{width:19cqmin;height:19cqmin;border-radius:2.4cqmin;border:1.2cqmin solid #fff;transform:rotate(3deg);box-shadow:0 2cqmin 5cqmin rgba(0,0,0,.5)}
.invd-estilo-revista .invd-p-nome{font:900 7cqmin/1 var(--f-forte);font-style:normal;text-transform:uppercase;letter-spacing:.04em;color:#fff}
@keyframes invdPBlocoEsq{0%{transform:translate3d(-60%,0,0) rotate(-14deg)}100%{transform:rotate(-14deg)}}
@keyframes invdPBlocoDir{0%{transform:translate3d(60%,0,0) rotate(-14deg)}100%{transform:rotate(-14deg)}}
@keyframes invdPEntraDir{0%{opacity:0;transform:translate3d(30%,0,0)}100%{opacity:1;transform:none}}
@keyframes invdPEntraEsq{0%{opacity:0;transform:translate(-30%,1.4cqmin)}100%{opacity:1;transform:translate(1.4cqmin,1.4cqmin)}}
@keyframes invdPCarimbo{0%{opacity:0;transform:rotate(-4deg) scale(2.4)}100%{opacity:1;transform:rotate(-4deg) scale(1)}}

/* ── Enfeites por público ── */
.invd-premium .invd-p-enfeite{inset:0;z-index:4;pointer-events:none;overflow:hidden}
/* Mulher: pétalas caindo */
.invd-p-petalas i{
    position:absolute;left:var(--x);top:-6%;width:calc(2.6cqmin * var(--s));height:calc(3.6cqmin * var(--s));
    border-radius:70% 0 70% 0;background:linear-gradient(140deg,var(--p-a),color-mix(in srgb,var(--p-a) 40%,#fff));opacity:.85;
    animation:invdPCai calc(8s + var(--d) * 2) linear infinite;animation-delay:calc(var(--d) * -3);
}
/* Homem: feixes de luz dourada girando devagar */
.invd-p-raios i{
    position:absolute;left:-10%;top:-30%;width:9cqmin;height:150%;transform-origin:50% 0;opacity:.13;
    background:linear-gradient(var(--p-a),transparent 80%);
    transform:rotate(calc(-38deg + var(--k) * 13deg));animation:invdPRaio 9s calc(var(--k) * -1.3s) ease-in-out infinite alternate;
}
/* Criança: balões subindo e confete */
.invd-p-baloes i{
    position:absolute;left:var(--x);bottom:-20%;width:calc(9cqmin * var(--s));height:calc(11cqmin * var(--s));
    border-radius:50% 50% 47% 47%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),transparent 30%),var(--cor,var(--p-a));
    opacity:.82;animation:invdPBalao calc(9s + var(--d) * 2) ease-in infinite;animation-delay:calc(var(--d) * -2.4);
}
.invd-p-baloes i::after{content:"";position:absolute;left:50%;top:100%;width:.3cqmin;height:9cqmin;background:rgba(255,255,255,.7)}
.invd-p-baloes i:nth-child(4n+1){--cor:var(--p-a)}
.invd-p-baloes i:nth-child(4n+2){--cor:var(--p-b)}
.invd-p-baloes i:nth-child(4n+3){--cor:var(--p-c)}
.invd-p-baloes i:nth-child(4n){--cor:#7cff6b}
.invd-p-confete i{
    position:absolute;left:var(--x);top:-4%;width:1.4cqmin;height:2.4cqmin;background:var(--cor,var(--p-a));
    animation:invdPConfete calc(4.5s + var(--d)) linear infinite;animation-delay:calc(var(--d) * -2);
}
.invd-p-confete i:nth-child(4n+1){--cor:var(--p-a)}
.invd-p-confete i:nth-child(4n+2){--cor:var(--p-b)}
.invd-p-confete i:nth-child(4n+3){--cor:var(--p-c)}
.invd-p-confete i:nth-child(4n){--cor:#7cff6b}
.invd-pub-crianca .invd-p-nome{color:#fff;-webkit-text-stroke:.25cqmin var(--p-escuro);font-family:var(--f-forte);font-style:normal;text-transform:uppercase;animation:invdPSobe .8s .7s both,invdPPula 1.4s 1.6s ease-in-out infinite}
/* Todos: bolhas de luz desfocadas */
.invd-p-bokeh i{
    position:absolute;left:var(--x);top:var(--y);width:calc(12cqmin * var(--s));height:calc(12cqmin * var(--s));border-radius:50%;
    background:radial-gradient(circle,color-mix(in srgb,var(--p-a) 55%,transparent),transparent 70%);opacity:.5;
    animation:invdPFlutua calc(9s + var(--d) * 2) ease-in-out infinite alternate;
}
@keyframes invdPCai{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(8cqmin,112cqh,0) rotate(540deg)}}
@keyframes invdPRaio{from{transform:rotate(calc(-38deg + var(--k) * 13deg))}to{transform:rotate(calc(-30deg + var(--k) * 13deg))}}
@keyframes invdPBalao{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(3cqmin,-60cqh,0)}100%{transform:translate3d(-2cqmin,-130cqh,0)}}
@keyframes invdPConfete{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(-6cqmin,110cqh,0) rotate(720deg)}}
@keyframes invdPPula{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6cqmin)}}
@keyframes invdPFlutua{from{transform:translate3d(0,0,0)}to{transform:translate3d(5cqmin,-6cqmin,0)}}

/* ── Convite: quando e onde ── */
.invd-premium .invd-p-info{
    margin:.4cqmin 0 0;padding:1.2cqmin 2.6cqmin;border:1px solid color-mix(in srgb,var(--p-b) 60%,transparent);
    background:rgba(0,0,0,.42);border-radius:10cqmin;font:800 3.6cqmin/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--p-b);letter-spacing:.02em;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4cqmin 1.6cqmin;
    animation:invdPSobe .9s 1.5s both;
}
.invd-premium .invd-p-info i{display:inline-block;width:1cqmin;height:1cqmin;border-radius:50%;background:currentColor;opacity:.7}

/* ── NEON: letreiro de luz numa parede escura, com tremidinha de lâmpada ── */
.invd-estilo-neon .invd-p-parede{
    inset:0;z-index:1;
    background:radial-gradient(90% 60% at 50% 40%,color-mix(in srgb,var(--p-a) 18%,#0b0b12) 0%,#06060a 70%),
        repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 2px,transparent 2px 9cqmin);
}
.invd-estilo-neon .invd-p-moldura-neon{
    inset:6%;z-index:2;border:.7cqmin solid var(--p-b);border-radius:4cqmin;
    box-shadow:0 0 1.5cqmin var(--p-b),0 0 5cqmin var(--p-b),inset 0 0 3cqmin color-mix(in srgb,var(--p-b) 60%,transparent);
    animation:invdPLiga 1.6s .2s steps(1,end) both,invdPTreme 6s 2s infinite;
}
.invd-estilo-neon .invd-p-centro{inset:11% 10% 10%}
.invd-estilo-neon .invd-p-neon-titulo{
    margin:0;font:700 6.4cqmin/1.1 var(--f-script);color:#fff;
    text-shadow:0 0 .6cqmin #fff,0 0 2cqmin var(--p-b),0 0 5cqmin var(--p-b),0 0 9cqmin var(--p-b);
    animation:invdPLiga 1.4s .5s steps(1,end) both;
}
.invd-estilo-neon .invd-p-neon-nome{
    margin:0;font:900 var(--p-neon,14cqmin)/1 var(--f-forte);text-transform:uppercase;letter-spacing:.04em;color:#fff;
    text-shadow:0 0 .8cqmin #fff,0 0 2.4cqmin var(--p-a),0 0 6cqmin var(--p-a),0 0 12cqmin var(--p-a);
    white-space:nowrap;animation:invdPLiga 1.8s .9s steps(1,end) both,invdPTreme 5s 3s infinite;
}
.invd-estilo-neon .invd-p-foto{width:14cqmin;height:14cqmin;border-color:var(--p-b);box-shadow:0 0 2cqmin var(--p-b),0 0 6cqmin var(--p-b)}
.invd-estilo-neon .invd-p-msg{animation-delay:2s!important}
@keyframes invdPLiga{0%{opacity:0}10%{opacity:1}14%{opacity:.15}22%{opacity:1}30%{opacity:.3}38%,100%{opacity:1}}
@keyframes invdPTreme{0%,92%,100%{opacity:1}93%{opacity:.55}95%{opacity:1}96%{opacity:.7}}

/* ── PALAVRAS GIGANTES: cada palavra do título explode na tela, uma depois da outra ── */
.invd-estilo-zoom .invd-p-voando{inset:0;z-index:6;pointer-events:none;display:grid;place-items:center}
.invd-estilo-zoom .invd-p-voando span{
    grid-area:1/1;font:900 22cqmin/1 var(--f-forte);text-transform:uppercase;color:#fff;opacity:0;
    text-shadow:0 0 4cqmin var(--p-a),0 1cqmin 2cqmin rgba(0,0,0,.6);white-space:nowrap;
    animation:invdPExplode .62s calc(.4s + var(--w) * .55s) cubic-bezier(.2,.8,.2,1) both;
}
.invd-estilo-zoom .invd-p-centro{inset:7% 6% 6%;gap:1.4cqmin;animation:invdPSobe .8s var(--p-fim,2s) both}
.invd-estilo-zoom .invd-p-foto{width:13cqmin;height:13cqmin}
.invd-estilo-zoom .invd-p-centro > *{animation-delay:calc(var(--p-fim,2s) + .2s)!important}
.invd-estilo-zoom .invd-p-zoom-titulo{
    margin:0;font:900 var(--p-zt,10cqmin)/1 var(--f-forte);text-transform:uppercase;color:var(--p-b);letter-spacing:.02em;
    text-shadow:0 .6cqmin 0 var(--p-escuro),0 0 3cqmin color-mix(in srgb,var(--p-a) 70%,transparent);
}
@keyframes invdPExplode{
    0%{opacity:0;transform:scale(3.2);filter:blur(8px)}
    35%{opacity:1;transform:scale(1);filter:blur(0)}
    75%{opacity:1;transform:scale(1.08)}
    100%{opacity:0;transform:scale(.4);filter:blur(4px)}
}

/* ── CARTAZ DE FESTA: sol de raios girando, faixa de título e nome em 3D ── */
.invd-estilo-cartaz .invd-p-sol{
    left:50%;top:44%;width:190cqmax;height:190cqmax;margin:-95cqmax 0 0 -95cqmax;z-index:1;
    background:repeating-conic-gradient(var(--p-a) 0deg 10deg,color-mix(in srgb,var(--p-a) 70%,var(--p-escuro)) 10deg 20deg);
    animation:invdPGira 40s linear infinite;
}
.invd-estilo-cartaz .invd-p-veu{background:radial-gradient(circle at 50% 44%,transparent 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.6) 100%)}
.invd-estilo-cartaz .invd-p-centro{inset:9% 6% 8%;gap:2cqmin}
.invd-estilo-cartaz .invd-p-faixa{margin:0;filter:drop-shadow(0 1cqmin 1.4cqmin rgba(0,0,0,.4));animation:invdPCarimbo .8s .3s cubic-bezier(.2,1.5,.4,1) both}
.invd-estilo-cartaz .invd-p-faixa span{
    display:inline-block;padding:1.6cqmin 7cqmin;background:var(--p-escuro);color:var(--p-b);
    font:900 6.4cqmin/1 var(--f-forte);text-transform:uppercase;letter-spacing:.05em;
    clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);
}
.invd-estilo-cartaz .invd-p-cartaz-nome{
    /* Nome comprido (ex.: "Maria Fernanda de los Ángeles…") quebra em linhas equilibradas e fica
       dentro da tela; antes ia numa linha só e cortava dos dois lados (2026-10-11). */
    margin:0;font:900 var(--p-cartaz,16cqmin)/.95 var(--f-forte);text-transform:uppercase;color:#fff;
    white-space:normal;text-wrap:balance;overflow-wrap:anywhere;max-width:92cqi;margin-inline:auto;
    text-shadow:.5cqmin .5cqmin 0 var(--p-c),1cqmin 1cqmin 0 var(--p-escuro),1.5cqmin 1.5cqmin 0 var(--p-escuro),2cqmin 2cqmin 2cqmin rgba(0,0,0,.45);
    animation:invdPPop .9s .6s cubic-bezier(.2,1.4,.4,1) both,invdPBalanca 3s 1.6s ease-in-out infinite;
}
.invd-estilo-cartaz .invd-p-foto{width:15cqmin;height:15cqmin;border-color:#fff}
.invd-estilo-cartaz .invd-p-msg{padding:2cqmin 3cqmin;background:rgba(0,0,0,.45);border-radius:2.4cqmin}
@keyframes invdPGira{to{transform:rotate(360deg)}}
@keyframes invdPBalanca{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}

/* ── ELEGANTE: moldura dourada que se desenha, brilhos lentos e letras finas ── */
.invd-estilo-elegante .invd-p-fundo{filter:saturate(.85) brightness(.8)}
.invd-estilo-elegante .invd-p-veu{background:radial-gradient(120% 90% at 50% 50%,rgba(0,0,0,.25),color-mix(in srgb,var(--p-escuro) 88%,transparent) 100%)}
.invd-estilo-elegante .invd-p-moldura{inset:5%;z-index:3;pointer-events:none}
.invd-estilo-elegante .invd-p-moldura i{position:absolute;background:linear-gradient(90deg,#b8862b,#ffe6a3,#b8862b)}
.invd-estilo-elegante .invd-p-moldura i:nth-child(1){left:0;top:0;height:.5cqmin;width:100%;transform-origin:left;animation:invdPTracoX 1s .2s ease-out both}
.invd-estilo-elegante .invd-p-moldura i:nth-child(2){right:0;top:0;width:.5cqmin;height:100%;transform-origin:top;background:linear-gradient(180deg,#b8862b,#ffe6a3,#b8862b);animation:invdPTracoY 1s .7s ease-out both}
.invd-estilo-elegante .invd-p-moldura i:nth-child(3){right:0;bottom:0;height:.5cqmin;width:100%;transform-origin:right;animation:invdPTracoX 1s 1.2s ease-out both}
.invd-estilo-elegante .invd-p-moldura i:nth-child(4){left:0;bottom:0;width:.5cqmin;height:100%;transform-origin:bottom;background:linear-gradient(180deg,#b8862b,#ffe6a3,#b8862b);animation:invdPTracoY 1s 1.7s ease-out both}
.invd-estilo-elegante .invd-p-moldura::before{content:"";position:absolute;inset:2cqmin;border:1px solid rgba(255,230,163,.45);animation:invdPSobe 1s 2s both}
.invd-estilo-elegante .invd-p-brilhos{inset:0;z-index:4;pointer-events:none}
.invd-estilo-elegante .invd-p-brilhos i{
    position:absolute;left:var(--x);top:var(--y);width:calc(1.2cqmin * var(--s));height:calc(1.2cqmin * var(--s));
    background:#ffe6a3;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
    animation:invdPPisca calc(3s + var(--d)) ease-in-out infinite;animation-delay:calc(var(--d) * -1);
}
.invd-estilo-elegante .invd-p-centro{inset:9% 10% 8%;gap:1.2cqmin}
.invd-estilo-elegante .invd-p-elegante-titulo{
    margin:0;font:600 5cqmin/1.25 var(--f-elegante);text-transform:uppercase;letter-spacing:.28em;color:#ffe6a3;
    animation:invdPSobe 1s .9s both;
}
.invd-estilo-elegante .invd-p-ornamento{
    display:block;width:34cqmin;height:2cqmin;flex:none;
    background:linear-gradient(90deg,transparent,#e9c46a 30%,transparent 50%,#e9c46a 70%,transparent),
        radial-gradient(circle,#ffe6a3 0 .9cqmin,transparent 1cqmin) center/2cqmin 2cqmin no-repeat;
    background-size:100% 1px,2cqmin 2cqmin;background-position:center,center;background-repeat:no-repeat;
    animation:invdPSobe 1s 1.1s both;
}
.invd-estilo-elegante .invd-p-foto{width:13cqmin;height:13cqmin;border-color:#e9c46a;box-shadow:0 0 0 .6cqmin rgba(233,196,106,.35),0 0 5cqmin rgba(233,196,106,.45)}
.invd-estilo-elegante .invd-p-elegante-nome{
    margin:0;font:700 10cqmin/1.05 var(--f-script);color:transparent;overflow-wrap:anywhere;
    background:linear-gradient(90deg,#b8862b,#fff1c1 40%,#e9c46a 60%,#b8862b);background-size:250% 100%;
    -webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 .4cqmin 1cqmin rgba(0,0,0,.5));
    animation:invdPSobe 1s 1.3s both,invdPBrilho 6s 2.5s linear infinite;
}
.invd-estilo-elegante .invd-p-msg{font-family:var(--f-elegante)!important;font-weight:600!important;animation-delay:1.7s!important}
@keyframes invdPTracoX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes invdPTracoY{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ── Enfeites por ocasião ── */
/* Casamento / amor: corações subindo */
.invd-p-coracoes i{
    position:absolute;left:var(--x);bottom:-8%;width:calc(3.4cqmin * var(--s));height:calc(3.4cqmin * var(--s));
    background:var(--p-a);opacity:.85;transform:rotate(45deg);
    animation:invdPCoracao calc(8s + var(--d) * 2) ease-in infinite;animation-delay:calc(var(--d) * -2.5);
}
.invd-p-coracoes i::before,.invd-p-coracoes i::after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit}
.invd-p-coracoes i::before{left:-50%;top:0}
.invd-p-coracoes i::after{left:0;top:-50%}
@keyframes invdPCoracao{0%{transform:translate3d(0,0,0) rotate(45deg) scale(.6);opacity:0}15%{opacity:.85}100%{transform:translate3d(4cqmin,-118cqh,0) rotate(45deg) scale(1.1);opacity:0}}
/* Natal: neve caindo e pisca-pisca no alto */
.invd-p-neve i{
    position:absolute;left:var(--x);top:-4%;width:calc(1.2cqmin * var(--s));height:calc(1.2cqmin * var(--s));border-radius:50%;
    background:#fff;box-shadow:0 0 1cqmin rgba(255,255,255,.8);opacity:.9;
    animation:invdPNeve calc(7s + var(--d) * 2) linear infinite;animation-delay:calc(var(--d) * -3);
}
@keyframes invdPNeve{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(3cqmin,55cqh,0)}100%{transform:translate3d(-2cqmin,110cqh,0)}}
.invd-p-pisca{top:0!important;bottom:auto!important;height:12%}
.invd-p-pisca::before{content:"";position:absolute;left:-2%;right:-2%;top:2cqmin;height:5cqmin;border-bottom:.35cqmin solid rgba(40,60,40,.9);border-radius:0 0 50% 50%}
.invd-p-pisca i{
    position:absolute;left:calc(var(--k) * 7.2% + 2%);top:calc(5.6cqmin + (var(--k) - 6.5) * (var(--k) - 6.5) * -.06cqmin);width:2.2cqmin;height:3cqmin;border-radius:45% 45% 50% 50%;
    background:var(--cor,#ff5252);box-shadow:0 0 2.4cqmin var(--cor,#ff5252);
    animation:invdPLampada 1.6s calc(var(--k) * .12s) ease-in-out infinite alternate;
}
.invd-p-pisca i:nth-child(4n+1){--cor:#ff5252}
.invd-p-pisca i:nth-child(4n+2){--cor:#ffd54f}
.invd-p-pisca i:nth-child(4n+3){--cor:#69f0ae}
.invd-p-pisca i:nth-child(4n){--cor:#40c4ff}
@keyframes invdPLampada{from{opacity:.35;filter:brightness(.7)}to{opacity:1;filter:brightness(1.3)}}
/* Ano Novo: fogos estourando no céu */
.invd-p-fogos i{position:absolute;left:var(--x);top:calc(var(--y) * .45 + 4%);width:0;height:0}
.invd-p-fogos i b{
    position:absolute;left:0;top:0;width:.8cqmin;height:5cqmin;border-radius:1cqmin;transform-origin:50% 0;
    background:linear-gradient(#fff,var(--cor,var(--p-a)) 35%,transparent);opacity:0;
    box-shadow:0 0 1.6cqmin var(--cor,var(--p-a));
    animation:invdPEstouro 2.4s calc(var(--d) * .8) ease-out infinite;
}
/* Festa de verdade: fogos de várias cores (vermelho, dourado, verde, azul, rosa, lilás). */
.invd-p-fogos i:nth-child(6n+1){--cor:#ff4d4d}
.invd-p-fogos i:nth-child(6n+2){--cor:#ffd54f}
.invd-p-fogos i:nth-child(6n+3){--cor:#4dff9a}
.invd-p-fogos i:nth-child(6n+4){--cor:#4dc3ff}
.invd-p-fogos i:nth-child(6n+5){--cor:#ff6ed8}
.invd-p-fogos i:nth-child(6n){--cor:#b98cff}
.invd-p-fogos-ouro i:nth-child(odd){--cor:#ffd54f}
.invd-p-fogos-ouro i:nth-child(even){--cor:#fff1b8}
.invd-p-fogos i b:nth-child(1){--r:0deg}.invd-p-fogos i b:nth-child(2){--r:30deg}.invd-p-fogos i b:nth-child(3){--r:60deg}
.invd-p-fogos i b:nth-child(4){--r:90deg}.invd-p-fogos i b:nth-child(5){--r:120deg}.invd-p-fogos i b:nth-child(6){--r:150deg}
.invd-p-fogos i b:nth-child(7){--r:180deg}.invd-p-fogos i b:nth-child(8){--r:210deg}.invd-p-fogos i b:nth-child(9){--r:240deg}
.invd-p-fogos i b:nth-child(10){--r:270deg}.invd-p-fogos i b:nth-child(11){--r:300deg}.invd-p-fogos i b:nth-child(12){--r:330deg}
@keyframes invdPEstouro{
    0%{opacity:0;transform:rotate(var(--r)) translateY(0) scaleY(.2)}
    12%{opacity:1}
    55%{opacity:.95;transform:rotate(var(--r)) translateY(12cqmin) scaleY(1)}
    100%{opacity:0;transform:rotate(var(--r)) translateY(17cqmin) scaleY(.6)}
}
/* Inauguração: fita vermelha com laço que se corta e abre */
.invd-p-fita{inset:auto 0 auto 0!important;top:46%!important;height:0;z-index:7!important;overflow:visible!important}
.invd-p-fita i{
    position:absolute;top:-1.6cqmin;height:3.2cqmin;width:52%;background:linear-gradient(180deg,#ff6b6b,#c62828 60%,#8e1b1b);
    box-shadow:0 .6cqmin 1.4cqmin rgba(0,0,0,.4);
}
.invd-p-fita i:nth-child(1){left:0;transform-origin:left;animation:invdPCortaEsq 1.2s 1.2s cubic-bezier(.6,0,.4,1) both}
.invd-p-fita i:nth-child(2){right:0;transform-origin:right;animation:invdPCortaDir 1.2s 1.2s cubic-bezier(.6,0,.4,1) both}
.invd-p-fita b{
    position:absolute;left:50%;top:-5cqmin;width:10cqmin;height:10cqmin;margin-left:-5cqmin;border-radius:50%;
    background:radial-gradient(circle,#ff8a80 0 22%,#c62828 24% 60%,transparent 62%);
    animation:invdPLaco 1.2s 1.1s ease-in both;
}
@keyframes invdPCortaEsq{0%{transform:none;opacity:1}100%{transform:rotate(-24deg) translateY(30cqmin);opacity:0}}
@keyframes invdPCortaDir{0%{transform:none;opacity:1}100%{transform:rotate(24deg) translateY(30cqmin);opacity:0}}
@keyframes invdPLaco{0%{transform:scale(1);opacity:1}100%{transform:scale(.2) translateY(40cqmin);opacity:0}}
/* Confete dourado (formatura, inauguração) */
.invd-p-confete-ouro i:nth-child(odd){--cor:#ffd54f}
.invd-p-confete-ouro i:nth-child(even){--cor:#fff3c4}

/* ── Luto (velório, missa, homenagem): cores tristes e sóbrias, nada de festa ── */
.invd-sobrio .invd-p-fundo{filter:grayscale(.7) brightness(.72) contrast(.95)!important}
.invd-sobrio .invd-p-fundo.sem-imagem{background:radial-gradient(120% 90% at 50% 100%,#2a3340 0%,#141a22 55%,#0a0d12 100%)}
.invd-sobrio .invd-p-veu{background:linear-gradient(180deg,rgba(12,16,22,.35),rgba(12,16,22,.25) 45%,rgba(12,16,22,.7))!important}
.invd-sobrio .invd-p-palavra,.invd-sobrio .invd-p-elegante-nome{animation-duration:1.6s,0s!important}
.invd-sobrio .invd-p-luz-varre{opacity:.35}
.invd-sobrio .invd-p-faiscas,.invd-sobrio .invd-p-poeira{display:none}
/* Luto em prata, nunca dourado de festa. */
.invd-sobrio .invd-p-moldura i{background:linear-gradient(90deg,#7d8794,#e3e8ee,#7d8794)!important}
.invd-sobrio .invd-p-moldura::before{border-color:rgba(220,228,236,.35)}
.invd-sobrio .invd-p-elegante-titulo{color:#dfe5ec}
.invd-sobrio .invd-p-ornamento{background:linear-gradient(90deg,transparent,#c7d0da 30%,transparent 50%,#c7d0da 70%,transparent);background-size:100% 1px;background-position:center;background-repeat:no-repeat}
.invd-sobrio .invd-p-elegante-nome{background-image:linear-gradient(90deg,#9aa4b0,#f2f5f8 40%,#c3ccd6 60%,#9aa4b0)}
.invd-sobrio .invd-p-brilhos i{background:#e6ebf0;opacity:.6}
.invd-sobrio .invd-p-foto{border-color:#c7d0da!important;box-shadow:0 0 0 .5cqmin rgba(220,228,236,.25)!important}
.invd-sobrio .invd-p-foto{filter:grayscale(.35)}
.invd-p-velas{top:auto!important;bottom:3%!important;height:16%;display:flex;justify-content:center;align-items:flex-end;gap:6cqmin}
.invd-p-velas i{position:relative;width:3.4cqmin;height:9cqmin;border-radius:.6cqmin .6cqmin .3cqmin .3cqmin;background:linear-gradient(90deg,#d9d4c7,#f5f1e6 50%,#cfc9bb)}
.invd-p-velas i:nth-child(2),.invd-p-velas i:nth-child(4){height:7cqmin}
.invd-p-velas i:nth-child(3){height:11cqmin}
.invd-p-velas b{
    position:absolute;left:50%;bottom:100%;width:2cqmin;height:3.6cqmin;margin-left:-1cqmin;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;
    background:radial-gradient(circle at 50% 70%,#fff8e1 0 22%,#ffcc66 40%,rgba(255,140,40,.6) 70%,transparent 72%);
    box-shadow:0 0 3cqmin 1cqmin rgba(255,190,90,.35);transform-origin:50% 100%;
    animation:invdPChama 1.8s ease-in-out infinite alternate;
}
.invd-p-velas i:nth-child(2n) b{animation-duration:2.3s}
.invd-p-luzinhas i{
    position:absolute;left:var(--x);bottom:-2%;width:calc(.6cqmin * var(--s));height:calc(.6cqmin * var(--s));border-radius:50%;
    background:#fff3d6;box-shadow:0 0 1.2cqmin #ffe0a0;opacity:0;
    animation:invdPPoeira calc(11s + var(--d) * 2) linear infinite;animation-delay:calc(var(--d) * -3);
}
@keyframes invdPChama{0%{transform:scale(1,1) rotate(-2deg)}100%{transform:scale(.92,1.08) rotate(2deg)}}

/* Quem pediu menos movimento: tudo aparece parado, sem laços infinitos. */
@media (prefers-reduced-motion:reduce){
    .invd-premium *,.invd-premium .invd-p-fundo{animation-duration:.01s!important;animation-iteration-count:1!important}
    .invd-premium .invd-p-enfeite{display:none}
    .invd-estilo-luz .invd-p-assinatura text{stroke-dashoffset:0;fill-opacity:1}
}
