/* =====================================================================
   Static-clone overrides
   This theme (Shopify "Sunfoxes"-family) is almost entirely CSS-driven,
   but a handful of things are only ever revealed/laid out by JS at
   runtime. These rules restore the "settled" look shown once the page
   has fully loaded, without needing any JavaScript.
   ===================================================================== */

/* 1) Hero video slide: the theme fades slide text in only once Swiper
   marks the active slide (`.swiper-slide-active`) -- which we've added
   statically to the single slide -- and the .opacity-0 utility class on
   the header / scroll-to-top button is likewise only ever removed by
   JS once the page finishes loading. Both are handled by adding
   `opacity-100`/`swiper-slide-active` directly in the HTML; nothing
   further is needed here for those.

   2) Judge.me review carousel: the widget's own inline <style> sets
   `.jdgm-carousel{display:none}` until its JS shows it, and without JS
   the individual review cards would otherwise just stack in normal
   block flow instead of side-by-side. */
.jdgm-carousel {
    display: block !important;
}
.jdgm-carousel__item-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    overflow: hidden;
}
.jdgm-carousel-item {
    flex: 0 0 calc(33.333% - 16px);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    text-align: center;
    min-height: 260px;
}
/* This is a carousel widget (only a "page" of reviews shows at a time);
   statically we show just the first page/3 cards to match its normal
   at-rest appearance. */
.jdgm-carousel-item:nth-child(n+4) {
    display: none;
}
@media (max-width: 990px) {
    .jdgm-carousel-item {
        flex: 0 0 100%;
    }
    .jdgm-carousel-item:nth-child(n+2) {
        display: none;
    }
}
.jdgm-carousel-item__review-rating {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}
.jdgm-star {
    color: #399;
    font-size: 18px;
}
.jdgm-star.jdgm--off {
    color: #d8d8d8;
}
.jdgm-carousel-item__review-title {
    font-weight: 700;
    margin-bottom: 8px;
    color: #192e2e;
}
.jdgm-carousel-item__review-body {
    color: #475858;
    font-size: 15px;
    line-height: 1.5;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}
.jdgm-carousel-item__review-body p {
    margin: 0;
}
.jdgm-carousel-item__reviewer-name-wrapper {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #eee;
}
.jdgm-carousel-item__reviewer-name {
    font-weight: 600;
    color: #192e2e;
    font-size: 14px;
}
/* Note: the widget's own inline <style> (kept in the page as captured)
   already floats these arrows to the left/right of the row and pulls
   them up with a negative margin-top to vertically center on the card
   row -- we only need to give them a visible circular chevron look. */
.jdgm-carousel__left-arrow,
.jdgm-carousel__right-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #ddd;
    position: relative;
    cursor: pointer;
}
.jdgm-carousel__left-arrow:before,
.jdgm-carousel__right-arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #192e2e;
    border-right: 2px solid #192e2e;
}
.jdgm-carousel__left-arrow:before {
    transform: translate(-30%, -50%) rotate(-135deg);
}
.jdgm-carousel__right-arrow:before {
    transform: translate(-70%, -50%) rotate(45deg);
}
