/* === Masonry grid: 3D tilt + depth on hover === */

.wp-block-minimly-child-masonry-grid > .wp-block-group {
    perspective: 1200px;
    perspective-origin: 50% 50%;
    transform-style: preserve-3d;
    cursor: pointer;
}

.masonry-tilt-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.85rem;
    transform-style: preserve-3d;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.is-tilting .masonry-tilt-inner {
    transition: none;
}

/* Image: clipped + sits at the back of the 3D scene */
.masonry-tilt-inner > .wp-block-image {
    overflow: hidden;
    margin: 0;
    transform: translateZ(0);
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.55s ease;
}

.masonry-tilt-inner > .wp-block-image img {
    display: block;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.masonry-tilt-inner > .wp-block-heading,
.masonry-tilt-inner > p {
    transform: translateZ(0);
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    margin: 0;
}

/* Hover state — card lifts layers in 3D */
.wp-block-minimly-child-masonry-grid > .wp-block-group:hover .masonry-tilt-inner > .wp-block-heading {
    transform: translateZ(60px);
}

.wp-block-minimly-child-masonry-grid > .wp-block-group:hover .masonry-tilt-inner > p {
    transform: translateZ(28px);
}

.wp-block-minimly-child-masonry-grid > .wp-block-group:hover .masonry-tilt-inner > .wp-block-image {
    transform: translateZ(-20px);
    box-shadow: 0 30px 60px -25px rgba(0, 0, 0, 0.4);
}

.wp-block-minimly-child-masonry-grid > .wp-block-group:hover .masonry-tilt-inner > .wp-block-image img {
    transform: scale(1.05);
}

/* Heading link: stretched click target + colour shift + thicker underline */
.masonry-tilt-inner > .wp-block-heading > a {
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    transition: color 0.4s ease,
                text-underline-offset 0.4s ease,
                text-decoration-thickness 0.4s ease;
}

.masonry-tilt-inner > .wp-block-heading > a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
}

.wp-block-minimly-child-masonry-grid > .wp-block-group:hover .masonry-tilt-inner > .wp-block-heading > a {
    color: var(--wp--preset--color--primary, #AD9841);
    text-decoration-color: var(--wp--preset--color--primary, #AD9841);
    text-underline-offset: 7px;
    text-decoration-thickness: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .masonry-tilt-inner,
    .masonry-tilt-inner > * {
        transform: none !important;
        transition: none !important;
    }
}
