/* Extracted from views/partials/reviews.php */
    .reviews-container {
        margin-top: 2rem;
        padding-top: 2rem;
        border-top: 2px solid var(--border, #e9ecef);
    }

    .reviews-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: 1.5rem;
    }

    .reviews-header h3 {
        font-weight: 700;
        color: var(--text, #1a1a1a);
        margin: 0;
        font-size: 1.2rem;
    }

    .reviews-header h3 i {
        color: var(--primary, #f68b1e);
        margin-right: 8px;
    }

    .stars {
        display: inline-flex;
        gap: 2px;
        direction: ltr;
    }

    .stars .star {
        font-size: 1.1rem;
        color: #ddd;
        cursor: pointer;
        transition: color 0.2s ease;
    }

    .stars .star.active {
        color: #ffc107;
    }

    .stars .star.hover {
        color: #ffc107;
    }

    .stars .star.disabled {
        cursor: default;
    }

    .stars-lg .star {
        font-size: 1.8rem;
    }

    .stars-sm .star {
        font-size: 0.85rem;
    }

    .rating-summary {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        flex-wrap: wrap;
        background: var(--bg, #f8f9fa);
        padding: 1.2rem 1.5rem;
        border-radius: 12px;
        margin-bottom: 1.5rem;
        border: 1px solid var(--border, #e9ecef);
    }

    .rating-average {
        text-align: center;
        min-width: 80px;
    }

    .rating-average .number {
        font-size: 2.5rem;
        font-weight: 800;
        color: var(--primary, #f68b1e);
        line-height: 1;
    }

    .rating-average .stars {
        display: flex;
        justify-content: center;
        margin: 4px 0;
    }

    .rating-average .total {
        font-size: 0.8rem;
        color: var(--muted, #6c757d);
    }

    .rating-bars {
        flex: 1;
        min-width: 150px;
    }

    .rating-bar {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 4px;
    }

    .rating-bar .bar-label {
        font-size: 0.75rem;
        color: var(--muted, #6c757d);
        min-width: 20px;
    }

    .rating-bar .bar-track {
        flex: 1;
        height: 6px;
        background: #e9ecef;
        border-radius: 3px;
        overflow: hidden;
    }

    .rating-bar .bar-fill {
        height: 100%;
        background: #ffc107;
        border-radius: 3px;
        transition: width 0.5s ease;
    }

    .rating-bar .bar-count {
        font-size: 0.7rem;
        color: var(--muted, #6c757d);
        min-width: 25px;
        text-align: right;
    }

    .review-form-container {
        background: var(--bg, #f8f9fa);
        border-radius: 12px;
        padding: 1.5rem;
        margin-bottom: 1.5rem;
        border: 1px solid var(--border, #e9ecef);
    }

    .review-form-container .form-title {
        font-weight: 700;
        margin-bottom: 0.5rem;
        font-size: 1rem;
        color: var(--text, #1a1a1a);
    }

    .review-form-container .form-title i {
        color: var(--primary, #f68b1e);
        margin-right: 8px;
    }

    .review-form-container .rating-input {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 1rem;
        flex-wrap: wrap;
    }

    .review-form-container .rating-input label {
        font-weight: 600;
        font-size: 0.9rem;
        margin: 0;
        color: var(--text, #1a1a1a);
    }

    .review-form-container .form-control {
        border-radius: 10px;
        padding: 0.7rem 1rem;
        border: 2px solid var(--border, #e9ecef);
        font-family: inherit;
        transition: border-color 0.3s;
        width: 100%;
        background: white;
        color: var(--text, #1a1a1a);
        min-height: 44px;
    }

    .review-form-container .form-control:focus {
        border-color: var(--primary, #f68b1e);
        box-shadow: 0 0 0 3px rgba(246, 139, 30, 0.1);
        outline: none;
    }

    .review-form-container .form-control::placeholder {
        color: var(--muted, #6c757d);
    }

    .btn-submit-review {
        background: var(--primary, #f68b1e);
        border: none;
        color: white;
        padding: 0.7rem 2rem;
        border-radius: 10px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: inherit;
        font-size: 0.95rem;
    }

    .btn-submit-review:hover {
        background: var(--primary-dark, #d97817);
        transform: translateY(-2px);
        box-shadow: 0 4px 14px rgba(246, 139, 30, 0.3);
    }

    .review-item {
        padding: 1.2rem 0;
        border-bottom: 1px solid var(--border, #e9ecef);
    }

    .review-item:last-child {
        border-bottom: none;
    }

    .review-item .review-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        margin-bottom: 0.5rem;
    }

    .review-item .reviewer-name {
        font-weight: 600;
        color: var(--text, #1a1a1a);
        font-size: 0.95rem;
    }

    .review-item .reviewer-name i {
        color: var(--primary, #f68b1e);
        margin-right: 6px;
    }

    .review-item .review-date {
        font-size: 0.8rem;
        color: var(--muted, #6c757d);
    }

    .review-item .review-title {
        font-weight: 600;
        font-size: 1rem;
        margin: 0.3rem 0;
        color: var(--text, #1a1a1a);
    }

    .review-item .review-comment {
        color: var(--text, #1a1a1a);
        line-height: 1.6;
        margin: 0;
        font-size: 0.95rem;
    }

    .review-item .review-stars {
        display: inline-flex;
        gap: 2px;
        margin-left: 8px;
    }

    .review-item .review-stars .star {
        font-size: 0.9rem;
        color: #ffc107;
    }

    .review-message {
        padding: 1rem 1.2rem;
        border-radius: 10px;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 0.95rem;
    }

    .review-message.success {
        background: #d4edda;
        color: #155724;
        border: 1px solid #c3e6cb;
    }

    .review-message.error {
        background: #f8d7da;
        color: #721c24;
        border: 1px solid #f5c6cb;
    }

    .review-message.info {
        background: #d1ecf1;
        color: #0c5460;
        border: 1px solid #bee5eb;
    }

    .review-message i {
        font-size: 1.2rem;
        flex-shrink: 0;
    }

    .no-reviews {
        text-align: center;
        padding: 2.5rem 1rem;
        color: var(--muted, #6c757d);
    }

    .no-reviews i {
        font-size: 3rem;
        color: var(--border, #e9ecef);
        margin-bottom: 1rem;
        display: block;
    }

    .no-reviews h5 {
        color: var(--text, #1a1a1a);
        font-weight: 600;
        margin-bottom: 0.5rem;
    }

    .no-reviews p {
        margin: 0;
    }

    .btn-load-more {
        background: transparent;
        border: 2px solid var(--border, #e9ecef);
        color: var(--text, #1a1a1a);
        padding: 0.6rem 1.5rem;
        border-radius: 10px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        width: 100%;
        margin-top: 1rem;
        font-family: inherit;
        font-size: 0.95rem;
    }

    .btn-load-more:hover {
        border-color: var(--primary, #f68b1e);
        color: var(--primary, #f68b1e);
    }

    .reviews-loading {
        text-align: center;
        padding: 1rem;
        color: var(--muted, #6c757d);
    }

    .reviews-loading i {
        margin-right: 8px;
    }

    @media (max-width: 768px) {
        .rating-summary {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .rating-bars {
            width: 100%;
        }
        .reviews-header {
            flex-direction: column;
            gap: 0.5rem;
            text-align: center;
        }
        .review-item .review-header {
            flex-direction: column;
            gap: 0.3rem;
        }
        .review-form-container .rating-input {
            flex-direction: column;
            align-items: flex-start;
        }
        .rating-average .number {
            font-size: 2rem;
        }
        .stars-lg .star {
            font-size: 1.5rem;
        }
    }

    @media (max-width: 480px) {
        .review-form-container {
            padding: 1rem;
        }
        .btn-submit-review {
            width: 100%;
            justify-content: center;
        }
        .rating-average .number {
            font-size: 1.8rem;
        }
    }
