/* CK Schema Rating Styles */
.cks-rating-widget {
    margin: 20px 0;
    padding: 15px;
    display: inline-block;
}

.cks-stars {
    display: inline-flex;
    gap: 2px;
}

.cks-star {
    font-size: 24px;
    color: #ddd;
    cursor: default;
    transition: color 0.2s;
    line-height: 1;
}

.cks-star-filled {
    color: #ffb400;
}

.cks-star-interactive {
    cursor: pointer;
}

.cks-star-interactive:hover,
.cks-star-interactive:hover ~ .cks-star-interactive {
    color: #ffb400;
}

.cks-stars:hover .cks-star-interactive {
    color: #ddd;
}

.cks-stars:hover .cks-star-interactive:hover,
.cks-stars .cks-star-interactive:hover ~ .cks-star-interactive {
    color: #ffb400;
}

/* Reverse hover - light up stars from left to hovered */
.cks-stars:hover .cks-star-interactive {
    color: #ffb400;
}

.cks-stars:hover .cks-star-interactive:hover ~ .cks-star-interactive {
    color: #ddd;
}

.cks-rating-info {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
    font-size: 14px;
    color: #666;
    vertical-align: super;
}

.cks-rating-avg {
    font-weight: 600;
}

.cks-rating-message {
    margin-top: 8px;
    font-size: 13px;
    color: #00a32a;
}

.cks-rating-message.error {
    color: #d63638;
}

/* Breakdown */
.cks-rating-breakdown {
    max-width: 400px;
    margin: 15px 0;
}

.cks-breakdown-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.cks-breakdown-label {
    min-width: 40px;
    font-size: 13px;
    color: #666;
    text-align: right;
}

.cks-breakdown-bar {
    flex: 1;
    height: 12px;
    background: #eee;
    border-radius: 6px;
    overflow: hidden;
}

.cks-breakdown-fill {
    height: 100%;
    background: #ffb400;
    border-radius: 6px;
    transition: width 0.3s;
}

.cks-breakdown-count {
    min-width: 30px;
    font-size: 13px;
    color: #999;
}
