@media (hover: hover) and (pointer: fine) {
    .product-gallery-zoom {
        overflow: hidden;
    }

    .product-gallery-zoom-image {
        transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
        transition: transform 180ms ease-out;
        will-change: transform;
    }

    .product-gallery-zoom:hover .product-gallery-zoom-image {
        transform: scale(1.5);
    }
}

/* Image captions on blog, post and knowledge detail pages. */
article:is(.type-blog, .type-post, .type-kien-thuc) .prose figure figcaption,
article:is(.type-blog, .type-post, .type-kien-thuc) .prose .wp-caption figcaption.wp-caption-text {
    text-align: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

article:is(.type-blog, .type-post, .type-kien-thuc) .prose figure figcaption::before,
article:is(.type-blog, .type-post, .type-kien-thuc) .prose .wp-caption figcaption.wp-caption-text::before {
    content: none;
}

/* About page CEO decorative line animation */
.aboutTeam .ceo-line .ceo-line-horizontal {
    transform: scaleX(0);
}

.aboutTeam .ceo-line-left .ceo-line-horizontal {
    transform-origin: right center;
}

.aboutTeam .ceo-line-right .ceo-line-horizontal {
    transform-origin: left center;
}

.aboutTeam .ceo-line .ceo-line-vertical {
    transform: scaleY(0);
    transform-origin: top center;
}

.aboutTeam .ceo-line.animated .ceo-line-horizontal {
    animation: aboutCeoLineHorizontal 0.6s ease-out forwards;
}

.aboutTeam .ceo-line.animated .ceo-line-vertical {
    animation: aboutCeoLineVertical 0.7s ease-out 0.55s forwards;
}

@keyframes aboutCeoLineHorizontal {
    to {
        transform: scaleX(1);
    }
}

@keyframes aboutCeoLineVertical {
    to {
        transform: scaleY(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .aboutTeam .ceo-line .ceo-line-horizontal,
    .aboutTeam .ceo-line .ceo-line-vertical {
        transform: none;
        animation: none !important;
    }
}
