/* ==========================================================================
   ASSINATURA DA MARCA (rodapé) — "do traço ao ouro"  ·  JS: assets/js/assinatura.js
   ========================================================================== */

/* 04/11: sem halo ao fundo e sem a luz que seguia o mouse (ficava "marcada" numa caixa) — a pedido do cliente */
.footer-luxury .assinatura-bloco { position: relative; isolation: isolate; }

/* ---------- símbolo ---------- */
.assinatura__palco { width: clamp(150px, 15vw, 230px); margin: 0 auto 36px; }
.assinatura--pronta .assinatura__palco { cursor: pointer; }
.assinatura__simbolo { display: block; width: 100%; height: auto; overflow: visible; }

.assinatura__traco { stroke-width: .75; stroke-linejoin: round; opacity: 0; }
.assinatura--ativa .assinatura__traco { opacity: 1; }
.assinatura--ouro .assinatura__traco { opacity: 0; transition: opacity 1.6s ease .4s; }

.assinatura__ouro { opacity: 0; }
.assinatura--ouro .assinatura__ouro { opacity: 1; transition: opacity 1.3s cubic-bezier(.2, .6, .2, 1); }

.assinatura__pena { opacity: 0; }
.assinatura--ativa .assinatura__pena { opacity: 1; animation: assPena .5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.assinatura--ouro .assinatura__pena { opacity: 0; animation: none; }

.assinatura__reflexo { transform: translateX(-130px); }
.assinatura--ouro .assinatura__reflexo { animation: assReflexo 1.7s cubic-bezier(.4, 0, .2, 1) .5s both; }
.assinatura--ativa.assinatura--pronta .assinatura__reflexo { animation: assReflexoCalmo 8s cubic-bezier(.4, 0, .2, 1) 1s infinite; }


/* ---------- frase letra a letra ---------- */
.assinatura__sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.footer-luxury .assinatura__palavra { display: inline-block; white-space: nowrap; }
.footer-luxury .assinatura__letra { display: inline-block; opacity: 0; will-change: transform, opacity, filter; }
.assinatura--ativa .assinatura__letra {
  animation: assLetra 1.15s cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: calc(2.1s + var(--i) * 34ms);
}
/* "assinatura de excelência" em ouro, com a textura contínua ao longo da palavra */
.footer-luxury .assinatura__palavra--ouro .assinatura__letra {
  background: linear-gradient(100deg, #B8741F 0%, #E2A23B 16%, #FFF3AE 36%, #F2B84C 54%, #C9862B 70%, #F7D57A 86%, #B8741F 100%);
  background-size: 1000% 100%;
  background-position: calc(var(--j) * 10%) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
/* onda de luz percorrendo a frase depois de escrita */
.assinatura--ativa.assinatura--pronta .assinatura__letra {
  animation: assOnda 1.5s ease-in-out both;
  animation-delay: calc(var(--i) * 24ms);
}

/* ---------- linha dourada ---------- */
.footer-luxury .assinatura-bloco .footer-brand-line { width: 140px !important; transform: scaleX(0); transform-origin: center; }
.assinatura--ativa .footer-brand-line {
  animation: assLinha 1.3s cubic-bezier(.6, 0, .2, 1) both;
  animation-delay: calc(2.6s + var(--letras, 40) * 34ms);
}

@keyframes assPena { from { transform: scale(.85); } to { transform: scale(1.35); } }
@keyframes assReflexo { from { transform: translateX(-130px); } to { transform: translateX(215px); } }
@keyframes assReflexoCalmo { 0%, 72% { transform: translateX(-130px); } 100% { transform: translateX(215px); } }
@keyframes assLetra {
  0% { opacity: 0; transform: translateY(.5em) scale(1.18); filter: blur(10px); color: #FFE7A3; text-shadow: 0 0 22px rgba(251, 176, 23, .95); }
  55% { opacity: 1; filter: blur(0); color: #FFE7A3; text-shadow: 0 0 14px rgba(251, 176, 23, .7); }
  100% { opacity: 1; transform: none; filter: none; text-shadow: 0 0 0 rgba(251, 176, 23, 0); }
}
@keyframes assOnda {
  0%, 100% { opacity: 1; filter: brightness(1); }
  45% { opacity: 1; filter: brightness(1.9) drop-shadow(0 0 6px rgba(251, 176, 23, .65)); }
}
@keyframes assLinha { to { transform: scaleX(1); } }

/* já vista (em qualquer página): aparece pronta, sem tocar de novo — só o reflexo lento continua */
.assinatura--estatica .assinatura__letra { animation: none !important; opacity: 1; }
.assinatura--estatica .assinatura__ouro { opacity: 1; transition: none !important; }
.assinatura--estatica .assinatura__traco { opacity: 0 !important; transition: none !important; }
.assinatura--estatica .assinatura__pena { opacity: 0 !important; animation: none !important; }
.assinatura--estatica .assinatura__simbolo { animation: none !important; }
.footer-luxury .assinatura--estatica .footer-brand-line { animation: none !important; transform: none; }

/* celular: frase com respiro nas laterais */
@media (max-width: 480px) {
  .footer-luxury .footer-brand-tagline { font-size: 18px !important; letter-spacing: .09em !important; }
  .assinatura__palco { margin-bottom: 28px; }
}

/* reduzir movimento: estado final, sem animação nem partículas */
@media (prefers-reduced-motion: reduce) {
  .assinatura-bloco * { animation: none !important; transition: none !important; }
  .footer-luxury .assinatura__letra { opacity: 1; }
  .assinatura__ouro { opacity: 1; }
  .assinatura__traco, .assinatura__pena { opacity: 0 !important; }
  .footer-luxury .assinatura-bloco .footer-brand-line { transform: none; }
}
