/* ===== VCL Comex — camada de animações (overlay, não toca no bundle) ===== */

/* respeita quem prefere menos movimento */
@media (prefers-reduced-motion: reduce){
  .vcl-float,.vcl-shine::after,.vcl-badge-pop{animation:none !important}
}

/* flutuação suave do card do hero */
@keyframes vclFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
.vcl-float{animation:vclFloat 6.5s ease-in-out infinite;will-change:transform}

/* push-in cinematografico na FOTO REAL do hero (zoom lento p/ o container) */
.vcl-kenburns{transform-origin:66% 54%;animation:vclKen 15s ease-in-out infinite alternate;will-change:transform}
@keyframes vclKen{0%{transform:scale(1.02)}100%{transform:scale(1.11)}}

/* caixa interna da midia: clipa brilho/video, sem cortar os selos (que ficam fora dela) */
.vcl-media{position:relative;width:100%;border-radius:1.5rem}
/* brilho passando por cima do card (gloss sweep) */
.vcl-shine{position:relative;overflow:hidden}
.vcl-shine::after{
  content:"";position:absolute;top:-60%;left:-80%;width:55%;height:220%;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.10) 40%,rgba(255,255,255,.45) 50%,rgba(255,255,255,.10) 60%,transparent 100%);
  transform:rotate(8deg);pointer-events:none;
  animation:vclShine 6s ease-in-out 1.2s infinite;
}
@keyframes vclShine{
  0%{left:-80%}
  18%{left:140%}
  100%{left:140%}
}

/* parallax/tilt do card seguindo o mouse (suave) */
.vcl-tilt{transition:transform .25s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;will-change:transform}

/* pop dos selos */
@keyframes vclBadgePop{
  0%{opacity:0;transform:scale(.7) translateY(6px)}
  60%{opacity:1;transform:scale(1.06)}
  100%{opacity:1;transform:scale(1)}
}
.vcl-badge-pop{animation:vclBadgePop .6s cubic-bezier(.2,.8,.2,1) both}

/* shimmer no texto em degradê do título ("da China?") */
.gradient-text.vcl-shimmer{
  background-size:220% auto;
  animation:vclShimmer 5s linear infinite;
}
@keyframes vclShimmer{
  0%{background-position:0% center}
  100%{background-position:220% center}
}

/* cards de transporte: elevação + zoom na foto + brilho temático no hover */
.vcl-tcard{transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .4s ease;will-change:transform}
.vcl-tcard-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vcl-tcard-imgwrap img,.vcl-tcard-imgwrap video{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vcl-tcard:hover{transform:translateY(-12px)}
.vcl-tcard:hover .vcl-tcard-imgwrap img,.vcl-tcard:hover .vcl-tcard-imgwrap video{transform:scale(1.1)}
.vcl-tc-air:hover{box-shadow:0 26px 54px -12px rgba(56,132,255,.5);border-color:rgba(56,132,255,.65)!important}
.vcl-tc-sea:hover{box-shadow:0 26px 54px -12px rgba(255,60,60,.5);border-color:rgba(255,60,60,.65)!important}
.vcl-tc-road:hover{box-shadow:0 26px 54px -12px rgba(40,200,120,.5);border-color:rgba(40,200,120,.65)!important}
@media (prefers-reduced-motion: reduce){.vcl-tcard,.vcl-tcard-imgwrap img{transition:none}}

/* reveal de texto: aparece aos poucos ao rolar (não fica seco) */
.vcl-treveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1)}
.vcl-treveal.vcl-tin{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.vcl-treveal{opacity:1!important;transform:none!important}}
