/* Viautonoma · Lenguaje visual pro-max compartido (páginas interiores) */

/* Hairline degradado bajo la navegación */
.nav{border-bottom:none !important}
.nav::after{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.5),rgba(6,182,212,.5),transparent)}
header.site{border-bottom:none !important;position:relative}
header.site::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.5),rgba(6,182,212,.5),transparent)}

/* Brillo que barre los botones primarios */
.btn-primary,header.site .btn,.cta-inner .btn{position:relative;overflow:hidden}
.btn-primary::after,header.site .btn::after,.cta-inner .btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s cubic-bezier(.22,1,.36,1)}
.btn-primary:hover::after,header.site .btn:hover::after,.cta-inner .btn:hover::after{left:130%}

/* Elevación al pasar el ratón en tarjetas */
.card,.tool,.step,.post-card,.persona,.precio-box,.cta-box{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s}
a.card:hover,a.tool:hover,.post-card:hover{transform:translateY(-5px)}
.step:hover,.persona:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.16)}

/* Borde degradado que se revela en tarjetas enlazables */
a.card,a.tool,.post-card{position:relative}
a.card::before,a.tool::before,.post-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,#06b6d4,#7c3aed 55%,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
a.card:hover::before,a.tool:hover::before,.post-card:hover::before{opacity:1}

/* Aparición suave al hacer scroll (las clases las añade /assets/ui.js) */
.pmx-rv{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.pmx-rv.pmx-on{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .btn-primary::after,header.site .btn::after,.cta-inner .btn::after{display:none}
  .card,.tool,.step,.post-card,.persona{transition:none}
  .pmx-rv{opacity:1;transform:none;transition:none}
}
