/* Studio 28 Reviews Widget */
.s28-reviews {
    --s28-gap: 20px;
    --s28-visible: 3;
    width: 100%;
    position: relative;
    font-family: var(--wd-text-font, Cabin, Arial, Helvetica, sans-serif);
    color: var(--wd-text-color, #777);
}

.s28-reviews__heading {
    text-align: center;
    margin-bottom: 32px;
}

.s28-reviews__subtitle {
    margin-bottom: 6px;
    color: #2247CC;
    font-family: var(--wd-text-font, Cabin, Arial, Helvetica, sans-serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.s28-reviews__title {
    margin: 0;
    color: var(--wd-title-color, #242424);
    font-family: var(--wd-title-font, Lexend, Arial, Helvetica, sans-serif);
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
}

.s28-reviews__carousel {
    position: relative;
}

.s28-reviews__viewport {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.s28-reviews__track {
    display: flex;
    gap: var(--s28-gap);
    transition: transform .45s cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.s28-review-card {
    flex: 0 0 calc((100% - (var(--s28-visible) - 1) * var(--s28-gap)) / var(--s28-visible));
    min-width: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    background: #F7F7F7;
    border-radius: 10px;
    padding: 28px;
    box-shadow: none;
    border: 0;
}

.s28-review-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.s28-review-client {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.s28-review-client__photo {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.s28-review-client__name {
    min-width: 0;
    color: var(--wd-title-color, #242424);
    font-family: var(--wd-title-font, Lexend, Arial, Helvetica, sans-serif);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
}

.s28-review-stars {
    margin-top: 5px;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 2px;
    color: #F5A623;
    font-size: 15px;
    line-height: 1;
    letter-spacing: .02em;
    white-space: nowrap;
}

.s28-review-star {
    opacity: .22;
}

.s28-review-star.is-active {
    opacity: 1;
}

.s28-review-card__text {
    margin-bottom: 22px;
    color: var(--wd-text-color, #777);
    font-family: var(--wd-text-font, Cabin, Arial, Helvetica, sans-serif);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

.s28-review-card__text p {
    margin: 0;
}

.s28-review-product {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 12px;
    background: #FFF;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit;
    transition: transform .25s ease, background-color .25s ease;
}

.s28-review-product:hover {
    color: inherit;
    transform: translateY(-1px);
}

.s28-review-product__image-wrap {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--bgcolor-gray-100, #f7f7f7);
}

.s28-review-product__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.s28-review-product__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 3px;
}

.s28-review-product__title {
    color: var(--wd-entities-title-color, #333);
    font-family: var(--wd-entities-title-font, var(--wd-title-font, Lexend, Arial, Helvetica, sans-serif));
    font-size: 16px;
    font-weight: var(--wd-entities-title-font-weight, 400);
    line-height: 1.4;
}

.s28-review-product__price {
    color: var(--wd-primary-color, #2247CC);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.s28-review-product__price del {
    opacity: .55;
    margin-right: 5px;
}

.s28-review-product__link {
    margin-top: 2px;
    color: rgb(119, 119, 119);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}

/* WoodMart native carousel navigation.
   Markup uses the same wd-nav-arrows / wd-btn-arrow classes as the theme. */
.s28-reviews__nav {
    --wd-arrow-offset-h: -12px;
}

.s28-reviews__nav.wd-lock,
.s28-reviews__nav:has(.wd-lock) {
    pointer-events: none;
}

/* Verified customer label */
.s28-review-client__meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.s28-review-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: #4E8F58;
    font-family: var(--wd-text-font, Cabin, Arial, Helvetica, sans-serif);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
}

.s28-review-verified__icon {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    object-fit: contain;
}

@media (max-width: 1024px) {
    .s28-reviews__heading {
        margin-bottom: 28px;
    }

    .s28-reviews__title {
        font-size: 30px;
    }

    .s28-review-card {
        padding: 24px;
    }
}

@media (max-width: 768.98px) {

    .s28-reviews__title {
        font-size: 26px;
    }

    /* Mobile: siauriname kortelės zoną, kad WoodMart rodyklėms liktų daugiau oro. */
    .s28-reviews__viewport {
        padding-inline: 16px;
    }

    .s28-review-card {
        padding: 22px;
    }
}

@media (max-width: 576px) {
    .s28-reviews__carousel {
        display: block;
    }


    .s28-review-card__top {
        align-items: flex-start;
    }

    .s28-review-product__image-wrap {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }
}
