/* =========================
   PRYNT HERO SECTION
========================= */

.prynt-feature-section {

    position: relative;
    overflow: hidden;

    isolation: isolate;

    border-radius: 24px;

    border: 2px solid transparent;

    transition: var(--prynt-transition);

    box-shadow: 0 0 20px rgba(0,0,0,0.25);

}

/* Hover Entire Hero */
.prynt-feature-section:hover {

    border-color: var(--prynt-orange);

    transform: translateY(-4px);

    box-shadow: 0 0 35px rgba(228,123,2,0.30);
}

/* Dark Overlay */
.prynt-feature-section::before {

    content: "";

    position: absolute;

    inset: 2px;

    background: rgba(0,0,0,0.45);

    z-index: 1;

    pointer-events: none;
    border-radius: inherit;
}

/* Remove Inner Borders */
.prynt-feature-section .kt-row-layout-inner,
.prynt-feature-section .kt-row-column-wrap,
.prynt-feature-section .kt-row-column-wrap-inner,
.prynt-feature-section .wp-block-kadence-column,
.prynt-feature-section .kt-inside-inner-col {

    border: none !important;
    outline: none !important;
    box-shadow: none !important;

    background: transparent !important;

    position: relative;

    z-index: 2;
}
/* =========================
   PRYNT STEPS SECTION
========================= */

.prynt-steps-section .kt-inside-inner-col {

    background: rgba(17,17,17,0.88);

    border: 1px solid var(--prynt-border);

    border-radius: var(--prynt-radius-lg);

    padding: 28px 24px;

    transition: var(--prynt-transition);

    box-shadow: 0 0 18px rgba(0,0,0,0.25);
}

/* Hover */
.prynt-steps-section .kt-inside-inner-col:hover {

    transform: translateY(-8px);

    border-color: var(--prynt-orange);

    box-shadow: 0 0 28px rgba(228,123,2,0.28);
}

/* Images */
.prynt-steps-section img {

    border-radius: 16px;

    transition: var(--prynt-transition);
}

/* Image Hover */
.prynt-steps-section .kt-inside-inner-col:hover img {
    transform: scale(1.03);
}

/* Step Titles */
.prynt-steps-section h2,
.prynt-steps-section h3,
.prynt-steps-section h4 {

    color: var(--prynt-orange);
}

/* Paragraphs */
.prynt-steps-section p {

    color: var(--prynt-text);
}

/* =========================
   PRODUCT HOVER EFFECT
========================= */

.wc-block-grid__product,
.wc-block-product,
.woocommerce ul.products li.product,
.wp-block-woocommerce-product-template li {

    background: var(--prynt-bg) !important;

    border: 1px solid #222222 !important;

    border-radius: var(--prynt-radius-lg) !important;

    padding: 18px !important;

    transition: all 0.35s ease !important;

    overflow: hidden !important;
}

/* Hover */
.wc-block-grid__product:hover,
.wc-block-product:hover,
.woocommerce ul.products li.product:hover,
.wp-block-woocommerce-product-template li:hover {

    transform: translateY(-8px) !important;

    border-color: var(--prynt-orange) !important;

    box-shadow: 0 0 28px rgba(228,123,2,0.28) !important;
}

/* Images */
.wc-block-grid__product img,
.wc-block-product img,
.woocommerce ul.products li.product img,
.wp-block-woocommerce-product-template li img {

    border-radius: 18px !important;

    transition: transform 0.35s ease !important;
}

/* Image Hover */
.wc-block-grid__product:hover img,
.wc-block-product:hover img,
.woocommerce ul.products li.product:hover img,
.wp-block-woocommerce-product-template li:hover img {

    transform: scale(1.04) !important;
}

/* =========================
   FOOTER LINKS
========================= */

.site-footer a {

    color: var(--prynt-text);

    transition: var(--prynt-transition);
}

/* Footer Hover */
.site-footer a:hover {

    color: var(--prynt-orange) !important;

    padding-left: 4px;
}

/* =========================
   PRYNT FORGE SPARKS
========================= */

.home,
.post-type-archive-product {

    position: relative;

    overflow-x: hidden;
}

/* Spark Layer */
.home .site-main::before,
.post-type-archive-product .site-main::before {

    content: "";

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;

    z-index: 999;

    background:
    radial-gradient(circle, rgba(255,160,40,0.95) 1px, transparent 2px),
    radial-gradient(circle, rgba(255,210,120,0.75) 2px, transparent 3px),
    radial-gradient(circle, rgba(255,120,0,0.8) 1.5px, transparent 2.5px);

    background-size:
        180px 180px,
        260px 260px,
        320px 320px;

    animation:
        pryntSparksFloat 18s ease-in-out infinite alternate,
        pryntSparksDrift 26s linear infinite;

    opacity: 0.6;

    background-blend-mode: screen;
}

/* Floating Motion */
@keyframes pryntSparksFloat {

    0% {
        transform: translate3d(0,0,0) scale(1);
    }

    25% {
        transform: translate3d(-8px,-18px,0) scale(1.02);
    }

    50% {
        transform: translate3d(6px,-35px,0) scale(1);
    }

    75% {
        transform: translate3d(-4px,-20px,0) scale(0.98);
    }

    100% {
        transform: translate3d(10px,-45px,0) scale(1.01);
    }
}

@keyframes pryntSparksDrift {

    0% {

        background-position:
            0 0,
            0 0,
            0 0;
    }

    100% {

        background-position:
            120px -180px,
            -80px -260px,
            60px -320px;
    }
}