@layer utilities {
    .scrollbar-hide::-webkit-scrollbar {
        display: none;
    }

    .scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .ink-splash {
        position: relative;
        overflow: hidden;
    }

    .ink-splash::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        transition: width 0.6s, height 0.6s;
    }

    .ink-splash:active::after {
        width: 300px;
        height: 300px;
    }

    .scroll-animate {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.8s, transform 0.8s;
    }

    .scroll-animate.active {
        opacity: 1;
        transform: translateY(0);
    }

    .hexagon {
        clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    }

    .calligraphy {
        font-family: 'STKaiti', 'KaiTi', serif;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }

    .seal {
        position: relative;
    }

    .seal::after {
        content: '周易';
        position: absolute;
        bottom: -10px;
        right: -10px;
        width: 60px;
        height: 60px;
        background-color: #8B0000;
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'STKaiti', 'KaiTi', serif;
        font-size: 16px;
        transform: rotate(15deg);
        box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .cloud-pattern {
        background-image: url('../img/bg/cloud.jpg');
        background-size: cover;
        background-position: center;
        opacity: 0.1;
    }

    .hexagram-decoration {
        position: absolute;
        width: 100px;
        height: 100px;
        background-image: url('../img/bg/hexagram.jpg');
        background-size: contain;
        background-repeat: no-repeat;
        opacity: 0.2;
        z-index: 0;
    }

    .bagua-border {
        border-image: url('../img/bg/bagua.jpg') 30 round;
        border-width: 10px;
        border-style: solid;
    }

    .crimson-gradient {
        background: linear-gradient(135deg, #8B0000 0%, #5C0000 100%);
    }

    .gold-pattern {
        background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23D4AF37' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    .scroll-decoration {
        position: relative;
    }

    .scroll-decoration::before,
    .scroll-decoration::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        height: 20px;
        background: linear-gradient(to right, transparent, rgba(212, 175, 55, 0.3), transparent);
    }

    .scroll-decoration::before {
        top: 0;
    }

    .scroll-decoration::after {
        bottom: 0;
    }
}

.d-flex {
    display: flex;
}

.justify-content-between {
    justify-content: space-between;
}

.pagination {
    --tw-shadow-color: rgba(0, 0, 0, 0.25);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    display: inline-flex;
    border-radius: 0.375rem;
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.pagination span,
.pagination a {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    --tw-bg-opacity: 1;
    display: block;
    padding: .5rem 1rem;
    background-color: rgb(51 0 0 / var(--tw-bg-opacity, 1));
}

.pagination .active span {
    --tw-text-opacity: 1;
    background-color: rgb(212 175 55 / var(--tw-bg-opacity, 1));
    color: rgb(51 0 0 / var(--tw-text-opacity, 1));
}

@media (max-width: 573px)  {
    .testimonial-slider .testimonial-item p img {
        width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
