/**
 * Reviews Plugin Frontend Styles
 * 
 * Styles for review posts on the frontend
 */

/* Review Rating Stars */
.review-rating-stars {
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    margin: 0 5px;
}

.review-rating-stars .star {
    color: #ddd;
    margin-right: 2px;
    transition: color 0.2s ease;
}

.review-rating-stars .star.full {
    color: #ffc107;
}

.review-rating-stars .star.half {
    color: #ffc107;
    position: relative;
}

.review-rating-stars .star.half::after {
    content: '★';
    position: absolute;
    left: 0;
    width: 50%;
    overflow: hidden;
    color: #ddd;
}

/* Review Verdict */
.review-verdict {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 4px;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9em;
    margin-left: 10px;
}

.review-verdict.recommended {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.review-verdict.conditional {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.review-verdict.not-recommended {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Pros and Cons */
.review-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 20px 0;
}

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

.review-pros,
.review-cons {
    background: #f8f9fa;
    border-radius: 6px;
    padding: 15px;
}

.review-pros {
    border-left: 4px solid #28a745;
}

.review-cons {
    border-left: 4px solid #dc3545;
}

.review-pros h4,
.review-cons h4 {
    margin: 0 0 10px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.review-pros h4 {
    color: #28a745;
}

.review-cons h4 {
    color: #dc3545;
}

.review-pros-list,
.review-cons-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.review-pros-list li,
.review-cons-list li {
    padding: 5px 0;
    border-bottom: 1px solid #e9ecef;
    position: relative;
    padding-left: 20px;
}

.review-pros-list li:last-child,
.review-cons-list li:last-child {
    border-bottom: none;
}

.review-pros-list li::before {
    content: '+';
    position: absolute;
    left: 0;
    color: #28a745;
    font-weight: bold;
}

.review-cons-list li::before {
    content: '-';
    position: absolute;
    left: 0;
    color: #dc3545;
    font-weight: bold;
}

/* FAQ Styles */
.review-faq {
    margin: 30px 0;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    overflow: hidden;
}

.review-faq-item {
    border-bottom: 1px solid #e9ecef;
}

.review-faq-item:last-child {
    border-bottom: none;
}

.review-faq-question {
    background: #f8f9fa;
    padding: 15px 20px;
    margin: 0;
    cursor: pointer;
    transition: background-color 0.2s ease;
    position: relative;
    padding-right: 50px;
}

.review-faq-question:hover {
    background: #e9ecef;
}

.review-faq-question.active {
    background: #007cba;
    color: white;
}

.review-faq-question::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2em;
    font-weight: bold;
    transition: transform 0.2s ease;
}

.review-faq-question.active::after {
    content: '-';
    transform: translateY(-50%) rotate(180deg);
}

.review-faq-answer {
    padding: 15px 20px;
    display: none;
    background: white;
}

.review-faq-answer p:last-child {
    margin-bottom: 0;
}

/* Product Info */
.review-product-info {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 20px;
    margin: 20px 0;
}

.review-product-info h3 {
    margin-top: 0;
    color: #495057;
    border-bottom: 2px solid #007cba;
    padding-bottom: 10px;
}

.review-product-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 15px;
}

.review-product-meta-item {
    display: flex;
    align-items: center;
}

.review-product-meta-label {
    font-weight: 600;
    margin-right: 10px;
    min-width: 80px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .review-rating-container {
        text-align: center;
        margin: 15px 0;
    }
    
    .review-rating-stars {
        display: block;
        margin: 10px 0;
    }
    
    .review-verdict {
        display: block;
        margin: 10px 0;
        text-align: center;
    }
    
    .review-product-meta {
        grid-template-columns: 1fr;
    }
} 