/*
 * Bait Fazal Private Reviews - Premium Review UI
 * White background + animated multi-color border + clean stars.
 */

.bfpr-review-section,
.bfpr-reviews,
.bfpr-review-card,
.bfpr-testimonial,
.bfpr-review-item {
    background: #fff !important;
    color: #1f2937;
}

.bfpr-review-card,
.bfpr-testimonial,
.bfpr-review-item {
    position: relative;
    isolation: isolate;
    border: 0 !important;
    border-radius: 24px !important;
    padding: 28px !important;
    overflow: visible !important;
    box-shadow: 0 10px 35px rgba(15, 23, 42, .08);
    transition: transform .35s ease, box-shadow .35s ease;
}

.bfpr-review-card::before,
.bfpr-testimonial::before,
.bfpr-review-item::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 26px;
    padding: 2px;
    background: linear-gradient(
        270deg,
        #ffb300,
        #ff4d6d,
        #8b5cf6,
        #06b6d4,
        #22c55e,
        #ffb300
    );
    background-size: 500% 500%;
    animation: bfprBorderFlow 6s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}

.bfpr-review-card::after,
.bfpr-testimonial::after,
.bfpr-review-item::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: #fff;
    z-index: -1;
}

@keyframes bfprBorderFlow {
    0%   { background-position: 100% 50%; }
    50%  { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

.bfpr-review-card:hover,
.bfpr-testimonial:hover,
.bfpr-review-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .13);
}

/* Clean five-star rating */
.bfpr-stars,
.bfpr-rating,
.bfpr-star-rating {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    line-height: 1;
}

.bfpr-stars .star,
.bfpr-rating .star,
.bfpr-star-rating .star,
.bfpr-stars span,
.bfpr-rating span {
    color: #f5b301 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    text-shadow: none !important;
}

.bfpr-star-button,
.bfpr-rating-select button {
    background: transparent !important;
    border: 0 !important;
    color: #d1d5db !important;
    cursor: pointer;
    font-size: 30px !important;
    padding: 2px !important;
    transition: color .2s ease, transform .2s ease;
}

.bfpr-star-button:hover,
.bfpr-star-button.active,
.bfpr-rating-select button:hover,
.bfpr-rating-select button.active {
    color: #f5b301 !important;
    transform: scale(1.12);
}

/* Review heading and auto-changing text */
.bfpr-review-title,
.bfpr-section-title {
    font-size: clamp(28px, 4vw, 42px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    color: #111827 !important;
}

.bfpr-review-subtitle,
.bfpr-changing-text,
.bfpr-review-description {
    font-size: clamp(18px, 2.2vw, 24px) !important;
    line-height: 1.65 !important;
    color: #4b5563 !important;
    font-weight: 500 !important;
}

/* Form */
.bfpr-review-form,
.bfpr-submit-review,
.bfpr-review-form-wrap {
    background: #fff !important;
    border-radius: 24px !important;
}

.bfpr-review-form input,
.bfpr-review-form textarea,
.bfpr-review-form select {
    width: 100%;
    background: #fff !important;
    color: #111827 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 13px 15px !important;
    outline: none;
    box-shadow: 0 3px 14px rgba(15,23,42,.04);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.bfpr-review-form input:focus,
.bfpr-review-form textarea:focus,
.bfpr-review-form select:focus {
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 4px rgba(139,92,246,.10);
}

.bfpr-review-submit,
.bfpr-review-form button[type="submit"] {
    border: 0 !important;
    border-radius: 14px !important;
    padding: 13px 24px !important;
    font-weight: 700 !important;
    cursor: pointer;
    color: #fff !important;
    background: linear-gradient(90deg, #7c3aed, #06b6d4, #7c3aed) !important;
    background-size: 200% auto !important;
    transition: background-position .35s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 8px 22px rgba(124,58,237,.22);
}

.bfpr-review-submit:hover,
.bfpr-review-form button[type="submit"]:hover {
    background-position: 100% 0 !important;
    transform: translateY(-2px);
}

/* Accessibility / reduced motion */
@media (prefers-reduced-motion: reduce) {
    .bfpr-review-card::before,
    .bfpr-testimonial::before,
    .bfpr-review-item::before {
        animation: none;
    }
    .bfpr-review-card,
    .bfpr-testimonial,
    .bfpr-review-item {
        transition: none;
    }
}
