/* Prizmabl Reviews – Frontend Grid */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&display=swap');

.prizmabl-reviews-section {
    font-family:'Sora',-apple-system,sans-serif;
    max-width:1200px;
    margin:0 auto;
    padding:48px 20px;
}

/* ── Header ── */
.prizmabl-reviews-header {
    text-align:center;
    margin-bottom:40px;
}
.prizmabl-reviews-title {
    font-size:clamp(26px, 4vw, 38px);
    font-weight:800;
    color:#1a1a2e;
    margin:0 0 14px;
    letter-spacing:-1px;
    line-height:1.2;
}
.prizmabl-reviews-summary {
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:2px solid #ede9ff;
    border-radius:50px;
    padding:8px 20px;
    box-shadow:0 4px 20px rgba(108,92,231,.1);
}
.prizmabl-summary-stars { display:flex; gap:2px; }
.prizmabl-summary-stars .star-on  { color:#f9a825; font-size:18px; }
.prizmabl-summary-stars .star-off { color:#dfe6e9; font-size:18px; }
.prizmabl-summary-avg {
    font-size:18px; font-weight:800; color:#6C5CE7;
    line-height:1;
}
.prizmabl-summary-count {
    font-size:13px; color:#636e72; font-weight:600;
}

/* ── Grid ── */
.prizmabl-reviews-grid {
    display:grid;
    gap:20px;
}
.prizmabl-grid--cols-1 { grid-template-columns:1fr; }
.prizmabl-grid--cols-2 { grid-template-columns:repeat(2, 1fr); }
.prizmabl-grid--cols-3 { grid-template-columns:repeat(3, 1fr); }
.prizmabl-grid--cols-4 { grid-template-columns:repeat(4, 1fr); }

@media(max-width:900px) {
    .prizmabl-grid--cols-3, .prizmabl-grid--cols-4 { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:580px) {
    .prizmabl-reviews-grid { grid-template-columns:1fr !important; }
}

/* ── Card ── */
.prizmabl-review-card {
    background:#ffffff;
    border-radius:20px;
    padding:28px;
    box-shadow:0 2px 16px rgba(108,92,231,.08), 0 1px 3px rgba(0,0,0,.05);
    border:1px solid #f0f2f7;
    display:flex; flex-direction:column; gap:18px;
    position:relative;
    transition:transform .25s ease, box-shadow .25s ease;
    overflow:hidden;
}
.prizmabl-review-card::before {
    content:'❝';
    position:absolute;
    top:16px; right:20px;
    font-size:48px;
    color:#ede9ff;
    line-height:1;
    font-family:Georgia,serif;
    pointer-events:none;
}
.prizmabl-review-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 40px rgba(108,92,231,.16), 0 2px 8px rgba(0,0,0,.06);
}

/* Rating-based accent */
.prizmabl-review-card[data-rating="5"] { border-top:3px solid #6C5CE7; }
.prizmabl-review-card[data-rating="4"] { border-top:3px solid #00b894; }
.prizmabl-review-card[data-rating="3"] { border-top:3px solid #fdcb6e; }
.prizmabl-review-card[data-rating="2"],
.prizmabl-review-card[data-rating="1"] { border-top:3px solid #e17055; }

/* Top row */
.prizmabl-review-card__top {
    display:flex; align-items:center; justify-content:space-between;
}
.prizmabl-review-card__date {
    font-size:11px; color:#b2bec3; font-weight:600;
}

/* Stars */
.prizmabl-stars { display:inline-flex; gap:2px; }
.prizmabl-stars .star { font-size:16px; line-height:1; }
.prizmabl-stars .star--filled { color:#f9a825; }
.prizmabl-stars .star--empty  { color:#dfe6e9; }
.prizmabl-stars--lg .star { font-size:24px; }

/* Comment */
.prizmabl-review-card__comment {
    font-size:14px;
    color:#2d3436;
    line-height:1.75;
    flex:1;
    border:none;
    padding:0;
    margin:0;
    quotes:none;
    font-style:normal;
}

/* Author */
.prizmabl-review-card__author {
    display:flex; align-items:center; gap:12px;
    padding-top:16px;
    border-top:1px solid #f0f2f7;
}
.prizmabl-review-card__avatar {
    width:40px; height:40px;
    border-radius:50%;
    background:linear-gradient(135deg,#6C5CE7,#a29bfe);
    display:flex; align-items:center; justify-content:center;
    color:white; font-size:14px; font-weight:800;
    flex-shrink:0;
}
.prizmabl-review-card__author-info {
    display:flex; flex-direction:column; gap:2px;
}
.prizmabl-review-card__name {
    font-size:14px; font-weight:700; color:#2d3436;
}
.prizmabl-review-card__verified {
    font-size:11px; color:#00b894; font-weight:600;
}

/* Products */
.prizmabl-review-card__products {
    background:#fafbff;
    border-radius:10px;
    padding:10px 14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.prizmabl-review-card__products-label {
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
    color:#a29bfe;
}
.prizmabl-review-card__product-tags {
    display:flex; flex-wrap:wrap; gap:6px;
}
.prizmabl-review-card__product-tag {
    background:white;
    border:1px solid #ede9ff;
    border-radius:16px;
    padding:3px 12px;
    font-size:11px; font-weight:600; color:#636e72;
    display:flex; align-items:center; gap:4px;
}
.prizmabl-review-card__product-tag em {
    font-style:normal;
    background:#ede9ff; color:#6C5CE7;
    border-radius:8px; padding:1px 6px;
    font-size:10px; font-weight:800;
}

/* Empty */
.prizmabl-no-reviews {
    text-align:center; padding:60px 20px;
    color:#b2bec3;
}
.prizmabl-no-reviews__icon { font-size:48px; display:block; margin-bottom:16px; }
.prizmabl-no-reviews p { font-size:15px; }
