/* [1.5.911] Movimento do site (handoff do titular, dist/design_handoff_site_projeto_videoclipe/movimento-site.css).
   Carregado em todo o painel do artista (rmbz_vip_v2_assets). A primeira parte é o ficheiro do handoff tal como veio:
   curvas, sombras, a bolacha (--cookie), as animações e as classes utilitárias m-*. A segunda aplica-o a todas as
   secções do painel sem mudar o resto do desenho delas: sombra nos cartões, entrada em cascata ao abrir uma secção e
   toque nos botões. Com prefers-reduced-motion as animações ficam de 1 ms (tratado no próprio ficheiro). */

/* ── 1. Ficheiro do handoff ── */
:root{
  --k:1;
  --spring-fast:cubic-bezier(.42,1.67,.21,.9);
  --spring:cubic-bezier(.38,1.21,.22,1);
  --spring-slow:cubic-bezier(.39,1.29,.35,.98);
  --ease-effect:cubic-bezier(.34,.8,.34,1);
  --shadow-card:0 2px 6px rgba(29,28,24,.05),0 18px 40px -14px rgba(29,28,24,.16);
  --shadow-brand:0 2px 6px rgba(165,107,0,.10),0 18px 40px -12px rgba(165,107,0,.32);
  --shadow-success:0 2px 6px rgba(7,150,108,.10),0 18px 40px -12px rgba(7,150,108,.30);
  --shadow-info:0 2px 6px rgba(49,111,211,.10),0 18px 40px -12px rgba(49,111,211,.30);
  /* bolacha de 9 ondas (MaterialShapes.Cookie9Sided aproximada) */
  --cookie:polygon(100.0% 50.0%,98.1% 54.2%,93.3% 57.6%,88.4% 60.3%,85.7% 63.0%,86.0% 66.8%,88.1% 72.0%,89.5% 77.7%,88.3% 82.1%,84.1% 84.1%,78.3% 83.7%,72.8% 82.6%,69.0% 82.9%,66.8% 86.0%,65.0% 91.3%,62.5% 96.6%,58.7% 99.2%,54.2% 98.1%,50.0% 94.0%,46.5% 89.6%,43.4% 87.4%,39.7% 88.4%,35.0% 91.3%,29.6% 93.7%,25.0% 93.3%,22.3% 89.5%,21.7% 83.7%,21.9% 78.1%,20.9% 74.4%,17.4% 72.8%,11.9% 72.0%,6.3% 70.4%,3.0% 67.1%,3.4% 62.5%,6.7% 57.6%,10.4% 53.5%,12.0% 50.0%,10.4% 46.5%,6.7% 42.4%,3.4% 37.5%,3.0% 32.9%,6.3% 29.6%,11.9% 28.0%,17.4% 27.2%,20.9% 25.6%,21.9% 21.9%,21.7% 16.3%,22.3% 10.5%,25.0% 6.7%,29.6% 6.3%,35.0% 8.7%,39.7% 11.6%,43.4% 12.6%,46.5% 10.4%,50.0% 6.0%,54.2% 1.9%,58.7% 0.8%,62.5% 3.4%,65.0% 8.7%,66.8% 14.0%,69.0% 17.1%,72.8% 17.4%,78.3% 16.3%,84.1% 15.9%,88.3% 17.9%,89.5% 22.3%,88.1% 28.0%,86.0% 33.2%,85.7% 37.0%,88.4% 39.7%,93.3% 42.4%,98.1% 45.8%)
}
@media (prefers-reduced-motion:reduce){*{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}

@keyframes m-spin{to{transform:rotate(360deg)}}
@keyframes m-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes m-live{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@keyframes m-pop{0%{transform:scale(.4) rotate(-30deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes m-sheen{0%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(420%) skewX(-18deg)}}
@keyframes m-ring{0%{box-shadow:0 0 0 2px var(--bg),0 0 0 2px rgba(196,45,53,.35)}100%{box-shadow:0 0 0 2px var(--bg),0 0 0 7px rgba(196,45,53,0)}}
@keyframes m-msg{0%{opacity:0;transform:translateY(8px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes m-rise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
@keyframes m-morph{0%{border-radius:30%;transform:rotate(0) scale(1)}25%{border-radius:50% 20% 50% 20%;transform:rotate(90deg) scale(.85)}50%{border-radius:50%;transform:rotate(180deg) scale(1)}75%{border-radius:20% 50% 20% 50%;transform:rotate(270deg) scale(.85)}100%{border-radius:30%;transform:rotate(360deg) scale(1)}}

/* utilitários */
.m-cookie{clip-path:var(--cookie)}
.m-spin{animation:m-spin calc(14s*var(--k)) linear infinite}
.m-spin-slow{animation:m-spin calc(26s*var(--k)) linear infinite}
.m-breathe{animation:m-breathe calc(2.4s*var(--k)) ease-in-out infinite}
.m-live{animation:m-live calc(1.6s*var(--k)) ease-in-out infinite}
.m-pop{animation:m-pop calc(450ms*var(--k)) var(--spring-fast)}
.m-rise{animation:m-rise calc(500ms*var(--k)) var(--spring) both}
.m-rise:nth-child(2){animation-delay:80ms}.m-rise:nth-child(3){animation-delay:160ms}.m-rise:nth-child(4){animation-delay:240ms}.m-rise:nth-child(5){animation-delay:320ms}
.m-msg{animation:m-msg calc(350ms*var(--k)) var(--spring)}
.m-ring{animation:m-ring calc(1.8s*var(--k)) ease-out infinite}
.m-press{transition:transform calc(150ms*var(--k)) var(--ease-effect)}.m-press:active{transform:scale(.96)}
.m-sheen{position:absolute;inset:0 auto 0 0;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);pointer-events:none;animation:m-sheen calc(1.4s*var(--k)) var(--ease-effect) .4s 1 both}
.m-card{border-radius:32px;box-shadow:var(--shadow-card)}

/* ── 2. Todo o painel do artista ── */
/* Sombra dos cartões grandes (a borda e o raio de cada secção ficam como estão). No tema escuro a sombra quase não se
   vê sobre o preto, como no protótipo. */
#rmbz-vip .card{ box-shadow:var(--shadow-card); }
#rmbz-vip .release-license-box>.card{ box-shadow:none; }

/* Ao abrir uma secção, os cartões entram a subir, desfasados 80 ms (os seis primeiros; os outros entram juntos). */
#rmbz-vip .sect.on .card{ animation:m-rise calc(500ms*var(--k)) var(--spring) backwards; }
#rmbz-vip .sect.on .card:nth-child(2){ animation-delay:80ms; }
#rmbz-vip .sect.on .card:nth-child(3){ animation-delay:160ms; }
#rmbz-vip .sect.on .card:nth-child(4){ animation-delay:240ms; }
#rmbz-vip .sect.on .card:nth-child(5){ animation-delay:320ms; }
#rmbz-vip .sect.on .card:nth-child(6){ animation-delay:400ms; }

/* Toque: os botões encolhem um pouco ao carregar. Usa a propriedade scale (separada de transform), para não mexer nas
   transformações nem nas transições que cada botão já tem. */
#rmbz-vip :is(button, .btn, a.btn, [role="button"]):not(:disabled):not([aria-disabled="true"]):active{ scale:.97; }

/* Por trás do ecrã de carregamento as entradas esperam, para não correrem sem se verem. */
html.rmbz-vip-loading #rmbz-vip .sect.on .card{ animation-play-state:paused; }
