/* =========================================================
   FINDINMOZ — Shine hover único global v66
   Decisão v53:
   - Removido completamente o shine estático.
   - Classe oficial activa: shine_hover.
   - O efeito só aparece ao aproximar/focar e regressa ao retirar o mouse.
   - Mantém avaliações/estrelinhas sem shine.
   - Reforça pulse contínuo do logotipo/foto sem zoom.
   - Footer usa motor isolado em css/findinmoz-footer-premium.css com classe shine_hove_footer.
   ========================================================= */

:root{
  --fim-shine-hover-duration:.62s;
}

html body .shine_hover{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

html body .shine_hover > :not(.fim-shine-hover-layer){
  position:relative!important;
  z-index:6!important;
}

/* Neutraliza pseudo-raios antigos apenas nos elementos oficiais do novo motor. */
html body .shine_hover.shine_hover.shine_hover.shine_hover::before,
html body .shine_hover.shine_hover.shine_hover.shine_hover::after{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
  transition:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}


html body .fim-shine-hover-layer{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  z-index:3!important;
  opacity:0!important;
  overflow:hidden!important;
  mix-blend-mode:screen!important;
  background-repeat:no-repeat!important;
  background-image:linear-gradient(112deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 27%,
    rgba(255,255,255,.18) 37%,
    rgba(255,255,255,.72) 44%,
    rgba(255,255,255,1) 49%,
    rgba(32,196,168,.30) 53%,
    rgba(255,255,255,.32) 61%,
    rgba(255,255,255,0) 72%,
    rgba(255,255,255,0) 100%)!important;
  background-size:225% 100%!important;
  background-position:165% 0!important;
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
  transition:
    background-position var(--fim-shine-hover-duration) cubic-bezier(.22,.61,.36,1),
    opacity .18s ease .40s!important;
}

html body .shine_hover:hover > .fim-shine-hover-layer,
html body .shine_hover:focus-visible > .fim-shine-hover-layer,
html body .shine_hover.is-shine-hover > .fim-shine-hover-layer{
  opacity:.98!important;
  background-position:-78% 0!important;
  transition:
    background-position var(--fim-shine-hover-duration) cubic-bezier(.22,.61,.36,1),
    opacity .05s ease!important;
}

/* Alvos que nunca devem receber shine. */
html body .rating,
html body .rating *,
html body .stars,
html body .stars *{
  overflow:visible!important;
  isolation:auto!important;
  contain:none!important;
}
html body .rating .fim-shine-hover-layer,
html body .stars .fim-shine-hover-layer{
  display:none!important;
}
html body .rating::before,
html body .rating::after,
html body .stars::before,
html body .stars::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  transition:none!important;
  background:none!important;
  opacity:0!important;
}

/* Pulse contínuo do logotipo/foto do perfil — sem zoom e sem shine. */






/* Mantém o pseudo-elemento antigo do raio do logo desligado; o pulse é no próprio ring. */


@keyframes fimProfileLogoSoftPulseV53{
  0%,100%{
    box-shadow:0 18px 42px rgba(0,0,0,.18), 0 0 0 rgba(32,196,168,0), inset 0 1px 0 rgba(255,255,255,.14);
    filter:saturate(1);
  }
  50%{
    box-shadow:0 22px 50px rgba(0,0,0,.20), 0 0 30px rgba(32,196,168,.18), inset 0 1px 0 rgba(255,255,255,.22);
    filter:saturate(1.045);
  }
}

@media (prefers-reduced-motion:reduce){
  html body .fim-shine-hover-layer{
    display:none!important;
  }
  
}


/* v60 — CTAs/badges/chips/pills clicáveis: hover shine universal sem static. */
html body a.shine_hover[class*="badge"],
html body a.shine_hover[class*="Badge"],
html body a.shine_hover[class*="pill"],
html body a.shine_hover[class*="Pill"],
html body a.shine_hover[class*="chip"],
html body a.shine_hover[class*="Chip"],
html body a.shine_hover[class*="tag"],
html body a.shine_hover[class*="Tag"],
html body a.shine_hover[class*="selo"],
html body a.shine_hover[class*="Selo"],
html body a.shine_hover[class*="kicker"],
html body a.shine_hover[class*="Kicker"],
html body a.shine_hover[class*="label"],
html body a.shine_hover[class*="Label"],
html body .fblog-tags a.shine_hover,
html body .fim-profession-chip.shine_hover{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border-radius:999px;
}

html body a.shine_hover[class*="badge"] .fim-shine-hover-layer,
html body a.shine_hover[class*="Badge"] .fim-shine-hover-layer,
html body a.shine_hover[class*="pill"] .fim-shine-hover-layer,
html body a.shine_hover[class*="Pill"] .fim-shine-hover-layer,
html body a.shine_hover[class*="chip"] .fim-shine-hover-layer,
html body a.shine_hover[class*="Chip"] .fim-shine-hover-layer,
html body .fblog-tags a.shine_hover .fim-shine-hover-layer,
html body .fim-profession-chip.shine_hover .fim-shine-hover-layer{
  border-radius:inherit!important;
}


/* v60 — CTAs institucionais e footer com o mesmo motor de shine_hover. */
html body :where(.fim-faq-hero-actions-v22 a,.fim-faq-cta-actions-v22 a,.fim-contact-hero-actions-v22 a,.fim-footer-top-actions a).shine_hover{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body :where(.fim-faq-hero-actions-v22 a,.fim-faq-cta-actions-v22 a,.fim-contact-hero-actions-v22 a,.fim-footer-top-actions a).shine_hover > .fim-shine-hover-layer{
  border-radius:inherit!important;
}


/* v62 — Footer: usa apenas o motor global de shine_hover.
   Sem wrappers ou camadas visuais fixas no HTML para não borrar os CTAs. */
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover > .fim-shine-hover-layer{
  border-radius:inherit!important;
}

/* v66 — Footer sem CSS inline: o motor shine_hover vence por ser carregado por último. */
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover > .fim-shine-hover-layer{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  z-index:3!important;
}


/* =========================================================
   v65 — Correcção específica do footer sem depender de JS.
   Motivo: no footer a classe shine_hover chegava ao HTML, mas a
   camada criada por JS podia não actuar por ordem/ciclo do DOM.
   Esta regra usa o próprio ::after do CTA, é invisível em repouso
   e só aparece no hover/focus, sem alterar o visual parado.
   ========================================================= */
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  contain:paint!important;
}

html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover > .fim-shine-hover-layer{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover > i,
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover > span{
  position:relative!important;
  z-index:4!important;
}

html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover::before{
  content:none!important;
  display:none!important;
}

html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  z-index:3!important;
  opacity:0!important;
  visibility:visible!important;
  background-repeat:no-repeat!important;
  background-image:linear-gradient(112deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 26%,
    rgba(255,255,255,.16) 36%,
    rgba(255,255,255,.70) 44%,
    rgba(255,255,255,.98) 49%,
    rgba(32,196,168,.28) 54%,
    rgba(255,255,255,.24) 62%,
    rgba(255,255,255,0) 74%,
    rgba(255,255,255,0) 100%)!important;
  background-size:225% 100%!important;
  background-position:166% 0!important;
  mix-blend-mode:screen!important;
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
  transition:
    background-position var(--fim-shine-hover-duration,.62s) cubic-bezier(.22,.61,.36,1),
    opacity .18s ease .28s!important;
}

html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover:hover::after,
html body .fim-footer-premium-v22 .fim-footer-top-actions a.shine_hover:focus-visible::after{
  opacity:.98!important;
  background-position:-78% 0!important;
  transition:
    background-position var(--fim-shine-hover-duration,.62s) cubic-bezier(.22,.61,.36,1),
    opacity .05s ease!important;
}
