/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Global
# Widgets
# Review Tab
# Edit Review Model
# Pagination
# Success and Error Message
# Square Rating
# Square Half Rating Box
# Themes Specific
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Global
--------------------------------------------------------------*/

.stars {
    display: inline-block;
}

[class*="bupr-col-"] {
    float: inline-start;
    padding: 10px 0;
}

.bupr-col-1 {
    width: 8.33%;
}

.bupr-col-2 {
    width: 16.66%;
}

.bupr-col-3 {
    width: 25%;
}

.bupr-col-4 {
    width: 33.33%;
}

.bupr-col-5 {
    width: 41.66%;
}

.bupr-col-6 {
    width: 50%;
}

.bupr-col-7 {
    width: 58.33%;
}

.bupr-col-8 {
    width: 66.66%;
}

.bupr-col-9 {
    width: 75%;
}

.bupr-col-10 {
    width: 83.33%;
}

.bupr-col-11 {
    width: 91.66%;
}

.bupr-col-12 {
    width: 100%;
}

.bupr-row {
    clear: both;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    overflow: hidden;
    padding: 15px 0;
    display: block;
}

.bupr-row:first-child {
    padding-top: 0;
}

.bupr-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.bp-nouveau .bupr-row {
    margin-bottom: 20px;
    padding: 15px;
    background: #fff;
    border: 0;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.16);
}

.bupr-review-full-description {
    display: none;
    padding-top: 20px;
}

.bupr-criteria-label {
    word-break: break-word;
}

.bupr-criteria-label span {
    display: inline;
    width: 50%;
    height: 40px;
}

@media only screen and (max-width: 768px) {
    [class*="bupr-col-"] {
        width: 100%;
    }

    .bupr-criteria-label span {
        display: inline;
        width: 100%;
        clear: inline-start;
    }
}

.sel {
    color: red;
}

.bupr-accept-button,
.bupr-deny-button {
    float: inline-start;
    margin-inline-end: 5px;
}

.bupr-pagination {
    border-bottom: 0;
    clear: both;
}

.single-headers #bupr-add-review-btn {
    list-style: none;
    margin: 10px 10px 0 0;
}

.single-headers .bb-enable-cover-img .member-header-actions>#bupr-add-review-btn {
    margin: 5px 10px 10px 0;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

.bupr_members_review_setting ul.bupr-member-main li.bupr-members,
.widget ul#bp-member-rating li {
    /*border-bottom: 1px solid rgba(0, 0, 0, 0.1);*/
    height: auto;
    width: 100%;
    position: relative;
    display: block;
    margin: 0;
    padding: .5em 0;
}

ul.bupr-member-main {
    margin: 0;
    list-style: none;
    padding: 0px;
}

.bupr_members_review_setting ul.bupr-member-main li:first-child,
.widget ul#bp-member-rating li:first-child {
    padding-top: 0;
}

.bupr_members_review_setting ul.bupr-member-main li:last-child,
.widget ul#bp-member-rating li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.widget ul#bp-member-rating .item-avatar,
ul.bupr-member-main li.bupr-members img.avatar {
    width: 50px;
    height: 50px;
    float: inline-start;
}

.widget ul#bp-member-rating .item,
ul.bupr-member-main li.bupr-members .bupr-content-widget {
    margin-inline-start: 70px;
}

ul.bupr-member-main li.bupr-members.bupr-hide .bupr-content-widget {
    margin-inline-start: 0px;
}

ul.bupr-member-main li.bupr-members .bupr-meta {
    display: block;
    font-size: 90%;
    line-height: normal;
    margin-top: 5px;
}

.bupr-modal-msg {
    margin: 50px 0px;
    text-align: center;
}


/*--------------------------------------------------------------
# Review Tab
--------------------------------------------------------------*/

.bupr-members-profiles {
    text-align: center;
    width: 80px;
    float: inline-start;
    text-align: start;
}

.bupr-members-profiles img.avatar {
    max-width: 50px;
    max-height: 50px;
}

.bupr-members-profiles .reviewer h4 {
    text-transform: capitalize;
    margin: 10px 0 0;
    font-size: 80%;
}

.bupr-members-content {
    margin-inline-start: 100px;
}

.bupr-members-content .review-subject h4 {
    margin: 5px 0px;
}


/*--------------------------------------------------------------
# Edit Review Model
--------------------------------------------------------------*/

.bupr-review-modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: visibility 0s linear 0.25s, opacity 0.25s 0s, -webkit-transform 0.25s;
    transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
    z-index: 9999999;
}

.bupr-review-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: var(--bupr-card-bg, #fff);
    color: var(--bupr-text, inherit);
    padding: 1rem 1.5rem;
    max-width: 30rem;
    width: -webkit-calc(100% - 30px);
    width: calc(100% - 30px);
    margin: auto;
    border-radius: 8px;
}

/* Scoped under the modal ID so the reset wins over theme button chrome (e.g. BuddyX #buddypress button) without !important. */
#bupr-edit-review-modal .bupr-review-modal-close-button {
    float: inline-end;
    width: 1.75rem;
    height: 1.75rem;
    min-width: 0;
    padding: 0;
    margin: 0;
    line-height: 1.75rem;
    font-size: 1.5rem;
    text-align: center;
    text-transform: none;
    text-shadow: none;
    letter-spacing: normal;
    cursor: pointer;
    border: 0;
    box-shadow: none;
    background: transparent;
    color: var(--bupr-text-muted, #666);
    border-radius: 0.25rem;
    -webkit-transition: background-color .2s, color .2s, -webkit-transform .2s;
    transition: background-color .2s, color .2s, transform .2s;
}

#bupr-edit-review-modal .bupr-review-modal-close-button:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    background: var(--bupr-chip-bg-hover, rgba(0, 0, 0, 0.06));
    color: var(--bupr-text, #1d2327);
}

#bupr-edit-review-modal .bupr-review-modal-close-button:active {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
}

#bupr-edit-review-modal .bupr-review-modal-close-button:focus-visible {
    outline: 2px solid var(--bupr-focus, #2271b1);
    outline-offset: 2px;
}

.bupr-show-modal {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1.0);
    -ms-transform: scale(1.0);
    transform: scale(1.0);
    -webkit-transition: visibility 0s linear 0s, opacity 0.25s 0s, -webkit-transform 0.25s;
    transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}

.bupr-edit-review-button-wrapper {
    text-align: end;
    margin-bottom: 10px;
}

.bp-member-reviews .bupr-row {
    position: relative;
    padding-inline-end: 160px;
}

.bp-member-reviews .bupr-row .bupr-edit-review-button-wrapper {
    position: absolute;
    inset-inline-end: 15px;
}

@media only screen and (max-width: 480px) {
    .bp-member-reviews .bupr-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-inline-end: 15px;
    }

    .bp-member-reviews .bupr-row .bupr-edit-review-button-wrapper {
        position: static;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin: 15px 0 0;
    }
}

button.bupr-edit-review-button {
    padding: 10px;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-inline-start: auto;
}

.bupr-review-modal-content button#bupr_upodate_review {
    text-align: center;
    margin: auto;
    width: 100%;
    margin-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}


/*--------------------------------------------------------------
# Pagination
--------------------------------------------------------------*/

.bupr-posts-pagination {
    margin: 15px 0;
    text-align: end;
}

.bupr-posts-pagination span {
    border: 1px solid hsl(0, 0%, 50%);
    border-radius: 5px;
    margin: 0 5px;
    padding: 5px 10px;
}

.bupr-posts-pagination .page-numbers {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    margin: 0px 0px;
    padding: 0;
    background: #fff;
    display: inline-block;
    height: 32px;
    width: 32px;
    text-align: center;
    line-height: 32px;
    font-size: 80%;
    font-weight: bold;
}

.bupr-posts-pagination .next.page-numbers,
.bupr-posts-pagination .prev.page-numbers {
    width: auto;
    padding: 0 10px;
}

.bupr-single-reivew {
    margin-top: 20px;
}

.no-count {
    margin-inline-start: 3px;
}

#bupr_success_review p {
    display: none;
}

.bupr-save-reivew-spinner {
    display: none;
    float: inline-start;
    margin-inline-start: 10px;
    margin-top: 8px
}

.bupr-error-fields {
    display: none;
    font-size: 12px;
    color: red;
}

.bupr-review-error-fields {
    display: none;
    font-size: 14px;
    color: red;
}


/*--------------------------------------------------------------
# Success and Error Message
--------------------------------------------------------------*/

.bupr-error {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    background-color: hsl(0, 43%, 91%);
    border-color: hsl(350, 44%, 86%);
    color: hsl(1, 44%, 46%);
    margin-top: 10px;
}


/*--------------------------------------------------------------
# Square Rating
--------------------------------------------------------------*/

.br-theme-bars-square .bupr-rating-widget {
    height: 15px;
    white-space: nowrap;
}

.br-theme-bars-square .bupr-rating-widget a {
    display: block;
    width: 28px;
    height: 28px;
    float: inline-start;
    border: 2px solid #8a9bc4;
    background-color: white;
    margin: 2px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    line-height: 2;
    text-align: center;
    color: #5a6b96;
    font-weight: 600;
}

.br-theme-bars-square .bupr-rating-widget a:focus-visible {
    outline: 2px solid var(--bupr-focus, #2271b1);
    outline-offset: 2px;
}

.br-theme-bars-square .bupr-rating-widget a.bupr-square-selected {
    border: 2px solid #1a56db;
    color: #1a56db;
}

.br-theme-bars-square .br-readonly a {
    cursor: default;
}

.br-theme-bars-square .br-readonly a.bupr-square-selected {
    border: 2px solid #2c5fd0;
    color: #2c5fd0;
}

@media print {
    .br-theme-bars-square .bupr-rating-widget a {
        border: 2px solid #b3b3b3;
        color: #b3b3b3;
    }
}


/*--------------------------------------------------------------
# Square Half Rating Box
--------------------------------------------------------------*/

.br-theme-bars-square .br-readonly a.bupr-square-half {
    border-top: 2px solid #2c5fd0;
    border-inline-start: 2px solid #2c5fd0;
    color: #2c5fd0;
}

.br-theme-bars-square .bupr-rating-widget a.bupr-square-half {
    border-top: 2px solid #1a56db;
    border-inline-start: 2px solid #1a56db;
    color: #1a56db;
}

.item-header-content .activity {
    margin-bottom: 10px;
}

.success_review_msg {
    color: #4F8A10;
    background-color: #DFF2BF;
    font-weight: 700;
    margin-top: 3px;
    text-decoration: none;
    margin-bottom: 1.75em;
    border-radius: 5px;
}

.success_review_msg p {
    padding: 10px 15px;
    margin: 0;
}

.bupr-star-rate {
    margin-inline-end: 0px;
}

.bupr-bp-member-review-no-popup-add-block #review_desc,
#review_desc {
    width: 100%;
    padding: 10px;
}

.bupr-bp-member-review-no-popup-add-block #bupr_save_review {
    width: 100%;
    margin: 0;
    max-width: 160px;
    height: auto;
    float: inline-start;
}

.bp-member-add-form:after {
    content: "";
    display: table;
    clear: both;
}

.bp-member-add-form input[type="checkbox"]#bupr_anonymous_review {
    vertical-align: middle;
    margin: 0 5px 0 0;
}

.add_review_msg {
    display: none;
}

.success_review_msg {
    display: none;
}

#bupr-view-review-btn {
    width: 100%;
}


/* Left-aligned review container for single member profile */
.bupr-member-review-wrapper {
    margin: 10px 0;
    text-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* Align stars and text vertically */
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    /* Keep items left-aligned */
}

.bupr-member-review-stars {
    display: inline-block;
    margin-inline-end: 10px;
    position: relative;
    /* For the tooltip */
}

.bupr-member-tooltip::before {
    content: attr(data-tooltip);
    /* Get the tooltip content from the custom attribute */
    position: absolute;
    bottom: 150%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

.bupr-member-tooltip:hover::before {
    opacity: 1;
    visibility: visible;
}

.bupr-member-rating-text {
    font-size: 14px;
    color: #555;
    margin-inline-start: 5px;
}

/* Disable alignment when legacy template is used, but exclude when body contains 'youzify' */
body.bp-legacy:not([class*="youzify"]) .bupr-directory-review-parent-container {
    display: block;
    /* Disable flexbox alignment */
}

/* Parent container to center the review block */
.bupr-directory-review-parent-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 10px 0;
}

/* Directory-specific styles */
.bupr-directory-review-wrapper {
    margin: 0;
    text-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* Align stars and text vertically */
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    /* Keep items on a single line */
}

.bp-list.grid .bupr-directory-review-wrapper {
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bp-list:not(.grid) .bupr-directory-review-wrapper {
    display: block;
}

.bupr-directory-review-stars {
    display: inline-block;
    margin-inline-end: 10px;
    position: relative;
    /* For the tooltip */
}

.bupr-directory-tooltip::before {
    content: attr(data-tooltip);
    /* Get the tooltip content from the custom attribute */
    position: absolute;
    bottom: 150%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

.bupr-directory-tooltip:hover::before {
    opacity: 1;
    visibility: visible;
}

.bupr-directory-rating-text {
    font-size: 14px;
    color: #555;
    margin-inline-start: 5px;
}


.kleo-masonry-item .member-review-stars {
    text-align: center;
}

.widget.bupr_members_review_setting {
    overflow: hidden;
}

.posted-on.list {
    padding-top: 10px;
}


/*--------------------------------------------------------------
# Themes Specific
--------------------------------------------------------------*/

.widget-area .widget.buddypress div.item-options#bp-member-rating-list-options a {
    margin: 0;
}

.bp-nouveau .widget-area .widget.buddypress #bp-member-rating div.item {
    padding: 0;
}

.bb-grid .widget.buddypress div.item-options#bp-member-rating-list-options a {
    margin-inline-end: 1.25rem;
    margin-top: 10px;
}

.kleo-page .widget.buddypress #bp-member-rating div.item-avatar img.avatar {
    width: 50px;
    height: 50px;
    margin: 0;
    border-radius: 0;
}

.rating-sec {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.rating-num {
    margin: 0 10px;
    font-weight: bold;
}

.rating-sec .posted-on.list {
    padding: 0px;
}

.bupr-full-description {
    word-break: break-all;
}

.description {
    font-style: italic;
    margin-bottom: 10px;
}

.description p {
    margin: 0px;
}

li#bupr-add-review-btn a.add-review {
    margin: 0;
    display: inline-block;
}

/* Youzify Plugin Support */

body[class*="youzify"] .youzify-head-content .bupr-member-review-wrapper {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

body[class*="youzify"].reviews .youzify-page-main-content .youzify-main-column div#subnav.item-list-tabs {
    margin: 0;
}

body[class*="youzify"].reviews .youzify-page-main-content .bupr-bp-member-reviews-block .bp-member-reviews,
body[class*="youzify"].add-review .youzify-page-main-content .youzify-main-column .bupr-bp-member-review-no-popup-add-block {
    padding: 30px;
    border-top: 1px solid #eee;
    background-color: var(--reign-site-sections-bg-color);
    background-color: var(--yzfy-card-bg-color);
    margin: 0;
}

body[class*="youzify"] .youzify-page-main-content #bupr-reiew-edit button.bupr-edit-review-button,
body[class*="youzify"].add-review .youzify-page-main-content button#bupr_save_review {
    color: #fff;
}

body[class*="youzify"] .youzify-page-main-content .bupr-bp-member-review-no-popup-add-block #review_desc,
#review_desc {
    margin-top: 15px;
}

.youzify .bupr-save-reivew-spinner {
    display: none;
}

/* Adjust spacing for the Add Review button when Youzify is active */
body[class*="youzify"] #bupr-add-review-btn .add-review.button {
    padding: 12px 20px;
    /* Adjust padding */
    margin-top: 15px;
    /* Adjust margin if needed */
    display: inline-block;
    text-align: center;
    border-radius: 8px;
    /* Optional: Add border radius for a rounded look */
    background-color: var(--yzfy-scheme-color) !important;
    color: var(--yzfy-scheme-text-color) !important;
    /* Optional: Set a background color */
    /* Optional: Set text color */
}

/* Optionally, adjust the button's hover state */
body[class*="youzify"] #bupr-add-review-btn .add-review.button:hover {
    background-color: #005177;
    /* Darken the background on hover */
}

.olympus-theme .bgr-submit-review,
.olympus-theme .bgr-submit-review:hover {
    color: inherit;
}

body[class*="youzify"] .bupr-member-tooltip .bupr-member-rating-text {
    color: var(--yzfy-scheme-text-color) !important;
}

@media only screen and (max-width: 480px) {
    .bupr-members-profiles {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 10px;
        float: none;
        width: 100%;
        margin-bottom: 10px;
    }

    .bupr-members-profiles .reviewer h4,
    .bupr-members-content {
        margin: 0;
    }

    .rating-num {
        margin-inline-start: 0;
    }

    .rating-star {
        margin-inline-end: 10px;
    }

    body[class*="youzify"] .youzify-page-main-content .bupr-criteria-label {
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 768px) {
    .multi-review {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .bupr-member-review-wrapper {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media only screen and (max-width: 480px) {
    .multi-review {
        display: inline-block;
    }
}

.youzify-tabs-list-gradient .youzify-default-subnav li#reviews-view-personal-li a i::before,
.youzify-tabs-list-gradient .youzify-default-subnav li#reviews-add-review-personal-li a i::before {
    content: "\f005";
}

.bupr-youzify-show-modal #youzify-profile-navmenu,
.bupr-youzify-show-modal .youzify-header-cover>img,
.bupr-youzify-show-modal .youzify-header-overlay .youzify-header-cover:before,
.bupr-youzify-show-modal .youzify-header-pattern .youzify-header-cover:after,
.bupr-youzify-show-modal .youzify-hdr-v1 .youzify-cover-content .youzify-inner-content {
    z-index: 0;
}

/*--------------------------------------------------------------
# BuddyBoss Theme Specific
--------------------------------------------------------------*/

.buddyboss-theme .members-directory-wrapper .members .member-review-stars {
    text-align: center;
}

.buddyboss-theme .member-header-actions-wrap .member-header-actions.action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
}

.rating {
    color: red;
}

#bupr-reiew-edit button.bupr-edit-review-button {
    padding: 6px 15px;
}

.bp-member-add-form button#bupr_save_review {
    display: inline-block;
    max-width: 180px;
    font-size: 16px;
    font-weight: normal;
}

/*--------------------------------------------------------------
# Owner Reply Section
--------------------------------------------------------------*/

.bupr-reply-section {
    margin-top: 15px;
    clear: both;
}

.bupr-owner-reply {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-inline-start: 4px solid var(--bupr-accent, #007cba);
    padding: 15px;
    margin-top: 10px;
    border-start-end-radius: 8px;
    border-end-end-radius: 8px;
}

.bupr-reply-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.bupr-reply-header img.avatar {
    border-radius: 50%;
    width: 32px;
    height: 32px;
}

.bupr-reply-author {
    font-weight: 600;
    color: #1d2327;
}

.bupr-reply-badge {
    background: var(--bupr-accent, #007cba);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    text-transform: uppercase;
    font-weight: 600;
}

.bupr-reply-date {
    color: #666;
    font-size: 12px;
}

.bupr-reply-content {
    font-style: italic;
    color: #333;
}

.bupr-reply-content p {
    margin: 0;
}

.bupr-reply-form-wrapper {
    margin-top: 10px;
}

.bupr-show-reply-form {
    background: transparent;
    border: 1px dashed var(--bupr-accent, #007cba);
    color: var(--bupr-accent, #007cba);
    padding: 8px 16px;
    cursor: pointer;
    border-radius: 4px;
    font-size: 13px;
}

.bupr-show-reply-form:hover {
    background: #f0f7fc;
}

.bupr-reply-form {
    margin-top: 10px;
}

.bupr-reply-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    resize: vertical;
    min-height: 80px;
}

.bupr-reply-textarea:focus {
    border-color: var(--bupr-accent, #007cba);
    /* rgba() first as the fallback; color-mix tints the accent on browsers that support it. */
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--bupr-accent, #007cba) 15%, transparent);
}

.bupr-reply-textarea:focus:not(:focus-visible) {
    outline: none;
}

.bupr-reply-textarea:focus-visible {
    outline: 2px solid var(--bupr-focus, #007cba);
    outline-offset: 2px;
}

.bupr-reply-actions {
    margin-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bupr-submit-reply {
    background: var(--bupr-accent, #007cba);
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
}

.bupr-submit-reply:hover {
    background: #005a87;
}

.bupr-cancel-reply {
    background: #f0f0f1;
    color: #50575e;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
}

.bupr-cancel-reply:hover {
    background: #dcdcde;
}

.bupr-reply-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-top-color: var(--bupr-accent, #007cba);
    border-radius: 50%;
    -webkit-animation: bupr-spin 1s linear infinite;
    animation: bupr-spin 1s linear infinite;
}

/*--------------------------------------------------------------
# Report Review Section
--------------------------------------------------------------*/

.bupr-report-section {
    position: absolute;
    inset-inline-end: 15px;
    top: 15px;
}

.bp-member-reviews .bupr-row {
    position: relative;
}

.bupr-report-button {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    padding: 6px 12px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #666;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.bupr-report-button:hover {
    background: #fff0f0;
    border-color: #dc3232;
    color: #dc3232;
}

.bupr-report-button .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.bupr-report-text {
    font-weight: 500;
}

/* Report Success Message */
.bupr-report-success {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
    color: #46b450;
    font-size: 12px;
    font-weight: 500;
    padding: 6px 12px;
    background: #ecfdf5;
    border-radius: 4px;
    border: 1px solid #d4edda;
}

.bupr-report-success .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Legacy support for old class names */
.bupr-flag-section { position: absolute; inset-inline-end: 15px; top: 15px; }
.bupr-flag-button { background: #f8f9fa; border: 1px solid #ddd; border-radius: 4px; cursor: pointer; padding: 6px 12px; }
.bupr-flag-success { display: inline-flex; align-items: center; gap: 4px; color: #46b450; font-size: 12px; }

/* Flag Modal */
.bupr-flag-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bupr-flag-modal-content {
    background: #fff;
    border-radius: 8px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.bupr-flag-modal-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #ddd;
}

.bupr-flag-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: #1d2327;
}

.bupr-flag-modal-close {
    background: transparent;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    line-height: 1;
}

.bupr-flag-modal-close:hover {
    color: #dc3232;
}

.bupr-flag-modal-body {
    padding: 20px;
}

.bupr-flag-modal-body p {
    margin: 0 0 15px;
    color: #50575e;
}

.bupr-flag-reasons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
}

.bupr-flag-reason-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: #f9f9f9;
    border-radius: 4px;
    cursor: pointer;
    -webkit-transition: background 0.2s;
    transition: background 0.2s;
}

.bupr-flag-reason-option:hover {
    background: #f0f0f1;
}

.bupr-flag-reason-option input[type="radio"] {
    margin: 0;
}

.bupr-flag-modal-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #ddd;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bupr-flag-submit {
    background: #dc3232;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
}

.bupr-flag-submit:hover {
    background: #a00;
}

.bupr-flag-cancel {
    background: #f0f0f1;
    color: #50575e;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
}

.bupr-flag-cancel:hover {
    background: #dcdcde;
}

.bupr-flag-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-top-color: #dc3232;
    border-radius: 50%;
    -webkit-animation: bupr-spin 1s linear infinite;
    animation: bupr-spin 1s linear infinite;
}

@-webkit-keyframes bupr-spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes bupr-spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Responsive adjustments for report and reply */
@media only screen and (max-width: 480px) {
    .bupr-report-section,
    .bupr-flag-section {
        position: static;
        margin-top: 10px;
    }

    .bupr-reply-header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .bupr-reply-actions {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .bupr-reply-actions button {
        width: 100%;
    }
}

/* ─── Front-end toast (replaces native alert(), 3.8.0) ─────────────── */
.bupr-front-toast-host {
    position: fixed;
    inset-inline-end: 24px;
    bottom: 24px;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.bupr-front-toast {
    background: #1e293b;
    color: #fff;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    min-width: 220px;
    max-width: 360px;
    pointer-events: auto;
    transform: translateY(8px);
    opacity: 0;
    transition: opacity 0.2s, transform 0.2s;
}

.bupr-front-toast--visible {
    opacity: 1;
    transform: translateY(0);
}

.bupr-front-toast--success {
    background: #16a34a;
}

.bupr-front-toast--error {
    background: #dc2626;
}

/*--------------------------------------------------------------
# Design tokens (light default)
# Light mode reads these --bupr-* tokens the same way dark mode does, so a
# theme/site can override any surface by setting --bupr-* (or the underlying
# theme variable). The dark-mode block below re-points the same tokens to the
# dark palette.
#
# THEME BRIDGE - the fallback order is deliberate, do not shorten it:
#   1. --bx-color-*                 BuddyX / BuddyX Pro (5.1.4 verified).
#   2. --reign-*                    Reign 8+ (8.0.4 verified).
#   3. --wp--preset--color--*       Any other theme.json theme.
#   4. a literal                    Themes that expose none of the above.
#
# Tiers 2-3 exist because Reign 8.0.0 REMOVED --bx-color-* emission - Reign
# owns a separate token system and treats --reign-* as its single source of
# truth. Measured live on Reign 8.0.4 master: every --bx-color-* is empty, so
# before this chain every token on a Reign site collapsed to the hardcoded
# literal and the plugin ignored the site palette completely.
#
# Reign is given its own tier rather than being left to tier 3 because its
# names are semantically precise where the generic presets are silent: there
# is no preset for a border colour, but --reign-form-border-color (#e3e3e3)
# is exactly that. Tier 3 then catches every other block theme. On Reign the
# two tiers agree for bg/text/accent anyway (Reign's theme.json bridge aliases
# the presets to --reign-*: primary #1d76da == --reign-colors-theme).
#
# Only bg/field/border/text/accent get a mapping. --wp--preset--color--* has
# NO concept of "muted" or "subtle", and Reign's nearest name (--reign-color-
# gray #404855) equals its body text, so mapping muted to it would collapse
# muted into --bupr-text. Those two keep their literal on purpose. Do not
# "complete" the chain for them.
--------------------------------------------------------------*/
:root {
    --bupr-card-bg: var(--bx-color-bg-elevated, var(--reign-site-sections-bg-color, var(--wp--preset--color--base, #fff)));
    --bupr-chip-bg: var(--bx-color-bg-muted, #f9f9f9);
    --bupr-chip-bg-hover: var(--bx-color-bg-subtle, #f0f0f1);
    --bupr-field-bg: var(--bx-color-bg, var(--reign-form-background-color, var(--wp--preset--color--base, #fff)));
    --bupr-text: var(--bx-color-fg, var(--wp--preset--color--contrast, #1d2327));
    --bupr-text-muted: var(--bx-color-fg-muted, #50575e);
    --bupr-text-subtle: var(--bx-color-fg-subtle, #666);
    --bupr-border: var(--bx-color-border, var(--reign-form-border-color, rgba(0, 0, 0, 0.1)));
    --bupr-reply-bg: var(--bx-color-bg-muted, #f8f9fa);
    --bupr-reply-hover-bg: #f0f7fc;
    --bupr-success-bg: #ecfdf5;
    --bupr-success-fg: #46b450;
    --bupr-success-border: #d4edda;
    --bupr-danger-bg: #fff0f0;
    --bupr-danger-fg: #dc3232;
    --bupr-danger-border: #f5c6cb;
    --bupr-accent: var(--bx-color-accent, var(--reign-colors-theme, var(--wp--preset--color--primary, #007cba)));
    --bupr-focus: var(--bx-color-accent, var(--reign-colors-theme, var(--wp--preset--color--primary, #2271b1)));
}

/*--------------------------------------------------------------
# Dark mode
# BuddyX 5.1+ / BuddyX Pro / Reign expose dark mode as
# html[data-bx-mode="dark"]. Older builds toggle body.buddyx-dark-theme
# (LearnDash focus mode), body.dark-mode (legacy BuddyX) or body.dark-scheme
# (Reign customizer). Dark mode is keyed ONLY off these explicit class/attr
# signals - never the OS-level prefers-color-scheme (owner standing decision:
# the theme, not the OS, owns the dark toggle). Each trigger only sets the
# --bupr-* tokens below; the component rules that consume them are written
# once and fall back to the exact light values, so light mode is unchanged.
# Reign exposes no --bx-color-* vars, so every dark fallback is a dark literal.
--------------------------------------------------------------*/
html[data-bx-mode="dark"],
body.buddyx-dark-theme,
body.dark-mode,
body.dark-scheme {
    --bupr-card-bg: var(--bx-color-bg-elevated, #1e1e1e);
    --bupr-chip-bg: var(--bx-color-bg-muted, #272727);
    --bupr-chip-bg-hover: var(--bx-color-bg-subtle, #313131);
    --bupr-field-bg: var(--bx-color-bg, #161616);
    --bupr-text: var(--bx-color-fg, #e6e6e6);
    --bupr-text-muted: var(--bx-color-fg-muted, #a6a6a6);
    --bupr-text-subtle: var(--bx-color-fg-subtle, #8a8a8a);
    --bupr-border: var(--bx-color-border, rgba(255, 255, 255, 0.15));
    --bupr-reply-bg: var(--bx-color-bg-muted, #232323);
    --bupr-reply-hover-bg: rgba(0, 124, 186, 0.15);
    --bupr-success-bg: rgba(70, 180, 80, 0.15);
    --bupr-success-fg: #7fd58b;
    --bupr-success-border: rgba(70, 180, 80, 0.4);
    --bupr-danger-bg: rgba(220, 50, 50, 0.15);
    --bupr-danger-fg: #ff8a8a;
    --bupr-danger-border: rgba(220, 50, 50, 0.4);
}

/* Review rows: dividers + inherited text. Fallbacks equal the light values. */
.bupr-row {
    border-color: var(--bupr-border, rgba(0, 0, 0, 0.1));
}

/* Review cards (profile tab + nouveau listings). */
.bp-nouveau .bupr-row {
    background: var(--bupr-card-bg, #fff);
    color: var(--bupr-text, inherit);
}

/* Edit / flag review popups. */
.bupr-review-modal-content {
    background-color: var(--bupr-card-bg, white);
    color: var(--bupr-text, inherit);
}

.bupr-flag-modal-content {
    background: var(--bupr-card-bg, #fff);
    color: var(--bupr-text, inherit);
}

/* Flag modal chrome. */
.bupr-flag-modal-header,
.bupr-flag-modal-footer {
    border-color: var(--bupr-border, #ddd);
}

.bupr-flag-modal-header h3 {
    color: var(--bupr-text, #1d2327);
}

.bupr-flag-modal-close {
    color: var(--bupr-text-muted, #666);
}

.bupr-flag-modal-body p {
    color: var(--bupr-text-muted, #50575e);
}

.bupr-flag-reason-option {
    background: var(--bupr-chip-bg, #f9f9f9);
    color: var(--bupr-text, inherit);
}

.bupr-flag-reason-option:hover {
    background: var(--bupr-chip-bg-hover, #f0f0f1);
}

/* Neutral (cancel) buttons in flag modal + reply form. */
.bupr-flag-cancel,
.bupr-cancel-reply {
    background: var(--bupr-chip-bg, #f0f0f1);
    color: var(--bupr-text, #50575e);
}

.bupr-flag-cancel:hover,
.bupr-cancel-reply:hover {
    background: var(--bupr-chip-bg-hover, #dcdcde);
}

/* Owner reply block. */
.bupr-owner-reply {
    background: var(--bupr-reply-bg, linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%));
}

.bupr-reply-author {
    color: var(--bupr-text, #1d2327);
}

.bupr-reply-content {
    color: var(--bupr-text-muted, #333);
}

.bupr-reply-date {
    color: var(--bupr-text-subtle, #666);
}

.bupr-reply-textarea {
    background: var(--bupr-field-bg, #fff);
    color: var(--bupr-text, inherit);
    border-color: var(--bupr-border, #ddd);
}

.bupr-show-reply-form:hover {
    background: var(--bupr-reply-hover-bg, #f0f7fc);
}

/* Report / flag trigger buttons. */
.bupr-report-button,
.bupr-flag-button {
    background: var(--bupr-chip-bg, #f8f9fa);
    border-color: var(--bupr-border, #ddd);
    color: var(--bupr-text-muted, #666);
}

.bupr-report-button:hover {
    background: var(--bupr-danger-bg, #fff0f0);
    border-color: #dc3232;
    color: var(--bupr-danger-fg, #dc3232);
}

/* Report success chip. */
.bupr-report-success {
    background: var(--bupr-success-bg, #ecfdf5);
    border-color: var(--bupr-success-border, #d4edda);
    color: var(--bupr-success-fg, #46b450);
}

/* Inline success / error notices (add-review form + submit confirmation). */
.success_review_msg {
    background-color: var(--bupr-success-bg, #DFF2BF);
    color: var(--bupr-success-fg, #4F8A10);
}

.bupr-error {
    background-color: var(--bupr-danger-bg, hsl(0, 43%, 91%));
    border-color: var(--bupr-danger-border, hsl(350, 44%, 86%));
    color: var(--bupr-danger-fg, hsl(1, 44%, 46%));
}

/* Rating widget squares. */
.br-theme-bars-square .bupr-rating-widget a {
    background-color: var(--bupr-chip-bg, white);
}

/* Pagination chips. */
.bupr-posts-pagination .page-numbers {
    background: var(--bupr-chip-bg, #fff);
    color: var(--bupr-text, inherit);
    border-color: var(--bupr-border, rgba(0, 0, 0, 0.1));
}

/*--------------------------------------------------------------
# Merged from legacy bupr-reviews.css (3.8.0 consolidation)
# The old file mixed live review-list/add-form styles with a dead modal
# system (.modal/.close/@keyframes animatetop/#bupr_review_success_msg/
# .review-types/.bupr-success) that no template renders. Only the live
# rules are kept here, ported to --bupr-* tokens + logical properties +
# focus-visible. bupr-reviews.css is now a deprecation stub and no longer
# enqueued (see includes/bupr-scripts.php).
--------------------------------------------------------------*/
#bp-member-reviews-list {
    width: 100%;
}

.bp-member-reviews {
    margin-top: 25px;
}

.bp-member-add-form textarea {
    width: 100%;
    padding: 10px;
    background: var(--bupr-field-bg, #fff);
    color: var(--bupr-text, inherit);
    border-color: var(--bupr-border, #ddd);
}

.bp-member-add-form input {
    width: 100%;
    margin-inline-end: 5px;
}

.bp-member-add-form button {
    width: 100%;
    display: block;
    margin: 0 auto;
}

#bupr_member_review_id {
    padding: 10px;
    padding-inline-start: 10px;
    max-width: 300px;
    width: 100%;
    border: 1px var(--bupr-border, #e3e3e3) solid;
    background: var(--bupr-field-bg, #fff);
    color: var(--bupr-text, inherit);
    font-family: inherit;
}

.bp-member-add-form p {
    text-align: start;
    margin: 10px 0;
}

.bp-member-add-form p button {
    width: 100%;
}

/* Add float to the shared .bupr-criteria-label span (definition above adds size). */
.bupr-criteria-label span {
    float: inline-start;
}

.bupr-add-review {
    margin-inline-start: 5px;
}

.bupr-bp-member-review-no-popup-add-block {
    display: block;
}

.bupr-multi-review {
    margin: 15px;
}

.multi-review {
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 10px 0 0;
    background: transparent;
}

.multi-review > div {
    padding: 0px;
}

.bupr-directory-tooltip span.bupr-star-rate {
    font-size: 15px;
}

.bupr-error {
    width: 90%;
    padding: 10px;
    border-radius: 5px;
    background-color: var(--bupr-danger-bg, hsl(0, 43%, 91%));
    border-color: var(--bupr-danger-border, hsl(350, 44%, 86%));
    color: var(--bupr-danger-fg, hsl(1, 44%, 46%));
}

.bupr-review-description a {
    margin: 10px 0;
    display: inline-block;
    text-decoration: underline;
}

.bupr_not_give_review p {
    padding: 10px;
    font-weight: 500;
    font-size: 20px;
    color: #e84242;
}

/* Hide the BuddyBoss default more-actions button on the reviews list. */
.members-list li .more-action-button {
    display: none;
}

/*--------------------------------------------------------------
# Interactive states (STATE-1)
# Consistent keyboard :focus-visible, :disabled and :active press feedback
# for every interactive control. Focus rings use the --bupr-focus token.
--------------------------------------------------------------*/
.bupr-pagination a:focus-visible,
.bupr-edit-review-button:focus-visible,
.bupr-report-button:focus-visible,
.bupr-flag-submit:focus-visible,
.bupr-flag-cancel:focus-visible,
.bupr-flag-modal-close:focus-visible,
.bupr-submit-reply:focus-visible,
.bupr-flag-reason-option:focus-visible,
.bp-member-add-form button:focus-visible,
#bupr_save_review:focus-visible {
    outline: 2px solid var(--bupr-focus, #2271b1);
    outline-offset: 2px;
}

.bupr-edit-review-button:active,
.bupr-report-button:active,
.bupr-flag-submit:active,
.bupr-flag-cancel:active,
.bupr-submit-reply:active,
.bp-member-add-form button:active,
#bupr_save_review:active {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
}

.bupr-flag-reason-option:active {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}

.bupr-edit-review-button:disabled,
.bupr-report-button:disabled,
.bupr-flag-submit:disabled,
.bupr-flag-cancel:disabled,
.bupr-submit-reply:disabled,
.bp-member-add-form button:disabled,
#bupr_save_review:disabled,
.bupr-edit-review-button[disabled],
.bp-member-add-form button[disabled],
#bupr_save_review[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
    -webkit-transform: none;
    transform: none;
    pointer-events: none;
}

/* ACCESS-1: keyboard focus ring for the star rating radios. */
.member_stars:focus-visible,
.member-edit-stars:focus-visible {
    outline: 2px solid var(--bupr-focus, #2271b1);
    outline-offset: 2px;
    border-radius: 2px;
}
