/* Suite Talk — Review Pages: scoped frontend grid styles.
   All visual values are driven by CSS custom properties set inline per grid instance. */
.suite-review-grid {
    max-width: var(--suite-review-max-width, 1200px);
    width: var(--suite-review-width, 100%);
    margin: var(--suite-review-margin, 0 auto);
    box-sizing: border-box;
}
.suite-review-grid * {
    box-sizing: border-box;
}
.suite-review-grid__empty {
    text-align: center;
    color: #94a3b8;
    padding: 20px;
}
.suite-review-grid__list {
    display: grid;
    grid-template-columns: repeat(var(--suite-review-cols-desktop, 2), 1fr);
    column-gap: var(--suite-review-col-gap, 20px);
    row-gap: var(--suite-review-row-gap, 20px);
}
@media (max-width: 1024px) {
    .suite-review-grid__list {
        grid-template-columns: repeat(var(--suite-review-cols-tablet, 2), 1fr);
    }
}
@media (max-width: 640px) {
    .suite-review-grid__list {
        grid-template-columns: repeat(var(--suite-review-cols-mobile, 1), 1fr);
    }
}
.suite-review-card {
    background: var(--suite-review-bg, #F8F8F8);
    border: var(--suite-review-border-width, 0) solid var(--suite-review-border-color, transparent);
    border-radius: var(--suite-review-radius, 8px);
    box-shadow: var(--suite-review-shadow, none);
    padding: var(--suite-review-padding, 24px);
    min-height: var(--suite-review-min-height, auto);
    display: flex;
    flex-direction: column;
    align-items: var(--suite-review-content-align, flex-start);
    justify-content: var(--suite-review-content-justify, space-between);
    text-align: var(--suite-review-content-text-align, left);
    width: 100%;
    overflow-wrap: break-word;
}
.suite-review-card__title {
    display: var(--suite-review-title-display, block);
    font-family: var(--suite-review-title-font, inherit), inherit;
    font-size: var(--suite-review-title-size, 15px);
    font-weight: var(--suite-review-title-weight, 600);
    color: var(--suite-review-title-color, #111);
    text-align: var(--suite-review-title-align, left);
    text-transform: var(--suite-review-title-transform, none);
    margin: 0 0 var(--suite-review-title-margin, 8px);
    width: 100%;
}
.suite-review-card__body {
    font-family: var(--suite-review-body-font, inherit), inherit;
    font-size: var(--suite-review-body-size, 14px);
    font-weight: var(--suite-review-body-weight, 400);
    color: var(--suite-review-body-color, #333);
    text-align: var(--suite-review-body-align, left);
    line-height: var(--suite-review-body-line-height, 1.6);
    letter-spacing: var(--suite-review-body-letter-spacing, 0);
    margin: 0 0 var(--suite-review-body-margin, 16px);
    width: 100%;
    flex: 1 0 auto;
}
.suite-review-card__meta {
    display: flex;
    flex-direction: var(--suite-review-meta-direction, row);
    justify-content: var(--suite-review-meta-justify, space-between);
    align-items: center;
    gap: 10px;
    width: 100%;
    flex-wrap: wrap;
}
.suite-review-card__stars {
    display: inline-flex;
    align-items: center;
    font-size: var(--suite-review-star-size, 14px);
    line-height: 1;
    justify-content: var(--suite-review-star-align, flex-start);
}
.suite-review-card__stars .star {
    color: var(--suite-review-star-empty-color, #ddd);
}
.suite-review-card__stars .star:not(:last-child) {
    margin-right: var(--suite-review-star-spacing, 2px);
}
.suite-review-card__stars .star.is-filled {
    color: var(--suite-review-star-color, #F2C200);
}
.suite-review-card__author {
    font-family: var(--suite-review-author-font, inherit), inherit;
    font-size: var(--suite-review-author-size, 13px);
    font-weight: var(--suite-review-author-weight, 600);
    color: var(--suite-review-author-color, #D6336C);
    text-align: var(--suite-review-author-align, left);
    text-transform: var(--suite-review-author-transform, none);
}
.suite-review-card__source {
    font-family: var(--suite-review-source-font, inherit), inherit;
    font-size: var(--suite-review-source-size, 12px);
    font-weight: var(--suite-review-source-weight, 500);
    color: var(--suite-review-source-color, #888);
    display: inline-block;
}
.suite-review-card__source--inline {
    margin-left: 6px;
    opacity: .75;
}

/* Source label lives in 4 always-rendered slots; only the slot matching the
   grid's data-show-source / data-source-position attributes is shown. This
   lets the admin preview toggle position/visibility instantly, without a
   server round-trip or markup re-render. */
.suite-review-grid .suite-review-card__source {
    display: none;
}
.suite-review-grid[data-show-source="1"][data-source-position="above_title"] .suite-review-card__source[data-slot="above_title"],
.suite-review-grid[data-show-source="1"][data-source-position="below_title"] .suite-review-card__source[data-slot="below_title"],
.suite-review-grid[data-show-source="1"][data-source-position="below_review"] .suite-review-card__source[data-slot="below_review"],
.suite-review-grid[data-show-source="1"][data-source-position="beside_author"] .suite-review-card__source[data-slot="beside_author"] {
    display: inline-block;
}
