/* =========================================================
   Componente: Rating, Estrelas, Pros & Cons
   ========================================================= */

/* ── Estrelas ───────────────────────────────────────────── */
.stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    line-height: 1;
}

.star { font-size: 1rem; }
.star--full  { color: var(--color-gold); }
.star--half  { color: var(--color-gold); }
.star--empty { color: var(--color-border); }

/* ── Pros & Cons ────────────────────────────────────────── */
.pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
    border-radius: var(--radius-xl);
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.pros-cons__col {
    padding: var(--space-5);
}

.pros-cons__col--pros {
    background: linear-gradient(160deg, #f0fdf4, #dcfce7);
    border-right: 1px solid var(--color-border);
}

.pros-cons__col--cons {
    background: linear-gradient(160deg, #fff5f5, #fee2e2);
}

.pros-cons__title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-4);
}

.pros-cons__title--pros {
    color: var(--color-success);
}

.pros-cons__title--cons {
    color: var(--color-danger);
}

.pros-cons__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.pros-cons__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
}

.pros-cons__item svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.pros-cons__item--pro svg  { color: var(--color-success); }
.pros-cons__item--con svg  { color: var(--color-danger); }

@media (max-width: 600px) {
    .pros-cons {
        grid-template-columns: 1fr;
    }

    .pros-cons__col--pros {
        border-right: none;
        border-bottom: 1px solid var(--color-border);
    }
}

/* ── Widget de nota na sidebar ──────────────────────────── */
.widget-score {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: var(--font-bold);
    color: #fff;
}

.widget-score.score--excellent { background: var(--score-excellent); }
.widget-score.score--good      { background: var(--score-good); }
.widget-score.score--average   { background: var(--score-average); }
.widget-score.score--poor      { background: var(--score-poor); }

.widget-price {
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    color: var(--color-primary);
    display: block;
}

/* ── Widget lista de produtos (sidebar) ─────────────────── */
.widget-product-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.widget-product-list__item {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
}

.widget-product-list__thumb {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg-alt);
}

.widget-product-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.widget-product-list__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.widget-product-list__title {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--color-primary);
    text-decoration: none;
    line-height: var(--leading-snug);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color var(--transition-fast);
}

.widget-product-list__title:hover { color: var(--color-accent); }
