.brewlab-content {padding-top:80px;padding-bottom:80px;}
.brewlab-content img {max-width:100%;height:auto;}
.brewlab-newsletter-notice {padding:14px 20px;text-align:center;background:#fff;color:#111;}
.footer-widget {margin-top:30px;}

}

/* Testimonial entrance fallback */
.testimonial-card-border {
    transition: transform .8s ease, opacity .8s ease, filter .8s ease;
}

/* WordPress/Webflow IX safety fallback */
.brewlab-runtime-fallback [data="onload-0ms"],
.brewlab-runtime-fallback [data-animate-heading="onscrol"],
.brewlab-runtime-fallback [data-animate-heading="onscrol-100"],
.brewlab-runtime-fallback .hero-text,
.brewlab-runtime-fallback [data-animate-text="slide-top"] {
    visibility: visible !important;
    opacity: 1 !important;
    filter: none !important;
}
.testimonial-card-border {
    transition: transform .8s ease, opacity .8s ease, filter .8s ease;
}

/* ---------------------------------------------------------
   BrewLab standalone WordPress interactions
   No Webflow JS/runtime required.
--------------------------------------------------------- */

/* Reveal animation targets by default. JS adds .brewlab-ready when active. */
[data-animate-heading="onscrol"],
[data-animate-heading="onscrol-100"],
[data-animate-text="slide-top"],
[data="onload-0ms"],
.hero-text {
    visibility: visible;
}

/* Testimonial carousel */
.testimonials-wrap {
    position: relative;
    min-height: 360px;
    overflow: visible;
}
.testimonials-wrap .testimonial-card-border {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    margin: 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(30px,0,0) !important;
    filter: blur(5px);
    transition:
        opacity .65s ease,
        transform .65s ease,
        filter .65s ease,
        visibility 0s linear .65s;
}
.testimonials-wrap .testimonial-card-border.is-active {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0,0,0) !important;
    filter: blur(0);
    transition:
        opacity .65s ease,
        transform .65s ease,
        filter .65s ease,
        visibility 0s;
}
.testimonials-wrap .testimonial-card-border.is-next {
    opacity: .18;
    visibility: visible;
    transform: translate3d(24px,0,0) !important;
    filter: blur(4px);
}
.brewlab-slider-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    position: relative;
    z-index: 5;
}
.brewlab-slider-button {
    appearance: none;
    border: 1px solid currentColor;
    background: transparent;
    border-radius: 999px;
    width: 44px;
    height: 44px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    transition: transform .25s ease, opacity .25s ease, background-color .25s ease;
}
.brewlab-slider-button:hover {
    transform: translateY(-2px);
}
.brewlab-slider-dots {
    display: flex;
    gap: 7px;
    align-items: center;
}
.brewlab-slider-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    cursor: pointer;
    opacity: .35;
}
.brewlab-slider-dot.is-active {
    opacity: 1;
}

/* Mobile menu */
.brewlab-menu-open .w-nav-menu {
    display: block !important;
}
.brewlab-menu-open .menu-button {
    z-index: 100;
}

/* Scroll reveal */
.brewlab-reveal {
    opacity: 0;
    transform: translate3d(0,28px,0);
    transition: opacity .75s ease, transform .75s ease;
}
.brewlab-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
}

/* Prevent a fixed carousel height from becoming too small on phones. */
@media (max-width: 767px) {
    .testimonials-wrap {
        min-height: 420px;
    }
}

/* ---------------------------------------------------------
   Directional reveal animations
   Restores the original design intent for left/right cards.
--------------------------------------------------------- */

.feature-card.is-left,
.feature-card.is-right {
    opacity: 0;
    will-change: transform, opacity;
    transition:
        opacity .8s cubic-bezier(.22,1,.36,1),
        transform .8s cubic-bezier(.22,1,.36,1);
}

.feature-card.is-left {
    transform: translate3d(-70px, 0, 0);
}

.feature-card.is-right {
    transform: translate3d(70px, 0, 0);
}

.feature-card.is-left.brewlab-direction-visible,
.feature-card.is-right.brewlab-direction-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Keep the four feature cards staggered rather than appearing together. */
.feature-card.is-left:nth-child(2),
.feature-card.is-right:nth-child(2) {
    transition-delay: .12s;
}

/* Directional reveal for product cards. */
.product-item {
    opacity: 0;
    will-change: transform, opacity;
    transition:
        opacity .75s cubic-bezier(.22,1,.36,1),
        transform .75s cubic-bezier(.22,1,.36,1);
}

.product-item.card-1 { transform: translate3d(-55px, 0, 0); }
.product-item.card-2 { transform: translate3d(0, 35px, 0); }
.product-item.card-3 { transform: translate3d(55px, 0, 0); }

.product-item.brewlab-direction-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
}

.product-item.card-2 { transition-delay: .10s; }
.product-item.card-3 { transition-delay: .20s; }

/* Gallery cards enter from alternating sides. */
.gallery-item {
    opacity: 0;
    will-change: transform, opacity;
    transition:
        opacity .7s cubic-bezier(.22,1,.36,1),
        transform .7s cubic-bezier(.22,1,.36,1);
}
.gallery-item:nth-child(odd) { transform: translate3d(-45px,0,0); }
.gallery-item:nth-child(even) { transform: translate3d(45px,0,0); }
.gallery-item.brewlab-direction-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
    .feature-card.is-left,
    .feature-card.is-right,
    .product-item,
    .gallery-item,
    .brewlab-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
