/* ============================================================
   Animaciones de marca (estilo Convoy)
   Reveal al scroll: fade + 20px arriba + blur→enfoque.
   Solo actúa con JS activo (html.cm-anim-on) y sin
   prefers-reduced-motion (el JS no se inicia en ese caso).
   ============================================================ */

html.cm-anim-on .cm-anim{
	opacity:0;
	transform:translate3d(0,20px,0);
	filter:blur(6px);
	transition:
		opacity .8s cubic-bezier(.22,1,.36,1),
		transform .8s cubic-bezier(.22,1,.36,1),
		filter .8s cubic-bezier(.22,1,.36,1);
	will-change:opacity,transform,filter;
}
html.cm-anim-on .cm-anim.cm-in{
	opacity:1;
	transform:none;
	filter:none;
	will-change:auto;
}

/* ------------------------------------------------------------
   Micro-transiciones hover (0.3s, easing easeInOutCubic suave)
   ------------------------------------------------------------ */

/* enlaces, pills y botones */
a.button,
.cm-btn,
.cm-hmenu ul.mfn-header-menu>li>a,
.bg-pills a,
.cm-pg .pager .pages a,
.cm-pg.cm-single .share-simple-wrapper .icons a,
.cm-pg .woocommerce-MyAccount-navigation li a,
.cm-pg a.cm-post-cta-btn,
.cm-pg .wc-block-components-button:not(.is-link),
.mfn-footer a{
	transition:background-color .3s cubic-bezier(.645,.045,.355,1),
		color .3s cubic-bezier(.645,.045,.355,1),
		border-color .3s cubic-bezier(.645,.045,.355,1),
		opacity .3s cubic-bezier(.645,.045,.355,1) !important;
}

/* tarjetas: levantamiento sutil */
.cm-pg .cm-card,
.cm-pg .mo-bcard,
.cm-pg .post-related .mcb-column-inner,
.imasc-pack,
.imasc-packs .pack{
	transition:transform .45s cubic-bezier(.22,1,.36,1),
		box-shadow .45s cubic-bezier(.22,1,.36,1);
}
.cm-pg .cm-card:hover,
.cm-pg .mo-bcard:hover,
.imasc-pack:hover,
.imasc-packs .pack:hover{
	transform:translateY(-4px);
}

/* imágenes de tarjetas de blog: zoom muy leve */
.cm-pg .post-item .image_frame,
.cm-pg .post-related .image_frame,
.bg-grid .post-item .image_frame{
	overflow:hidden;
}
.cm-pg .post-item .image_frame img,
.cm-pg .post-related .image_frame img,
.bg-grid .post-item .image_frame img{
	transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.cm-pg .post-item:hover .image_frame img,
.cm-pg .post-related:hover .image_frame img,
.bg-grid .post-item:hover .image_frame img{
	transform:scale(1.04);
}

/* accesibilidad: si el usuario pide menos movimiento, nada se mueve */
@media (prefers-reduced-motion: reduce){
	html.cm-anim-on .cm-anim{opacity:1;transform:none;filter:none;transition:none;}
	*{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}
