/* =========================================================
   OOTACAMUND V6 — CUSTOMER REVIEWS
   COMPLETE STYLE REPLACEMENT
   ========================================================= */


/* =========================================================
   MAIN REVIEWS SECTION
   ========================================================= */

.oota-reviews {
    width: 100%;
    box-sizing: border-box;

    padding: 45px 55px;

    background: #ffffff;

    border: 1px solid #e3e3e3;
    border-radius: 22px;

    margin-top: 40px;
}


/* Make everything inside respect the section width */

.oota-reviews *,
.oota-reviews *::before,
.oota-reviews *::after {
    box-sizing: border-box;
}


/* =========================================================
   REVIEWS HEADER
   ========================================================= */

.oota-reviews-header {
    margin-bottom: 32px;
}


.oota-reviews-eyebrow {
    display: block;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1.5px;

    color: #9a6b2f;

    margin-bottom: 10px;
}


.oota-reviews-header h2 {
    margin: 0 0 12px;

    font-size: 34px;
    line-height: 1.2;

    font-weight: 700;

    color: #26364a;
}


.oota-reviews-intro {
    margin: 0;

    font-size: 18px;
    line-height: 1.7;

    color: #667587;
}


/* =========================================================
   REVIEW SUMMARY
   ========================================================= */

.oota-review-summary {
    display: flex;
    align-items: center;

    gap: 24px;

    padding: 25px 0 30px;

    border-bottom: 1px solid #e6e6e6;

    margin-bottom: 25px;
}


.oota-review-score {
    min-width: 85px;
    height: 85px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 32px;
    font-weight: 700;

    color: #26364a;

    background: #f7f8fa;

    border-radius: 18px;
}


.oota-review-summary-details {
    display: flex;
    flex-direction: column;

    gap: 8px;
}


.oota-review-stars {
    color: #f39c12;
}


.oota-review-count {
    font-size: 15px;

    color: #667587;
}


/* =========================================================
   ACCORDION WRAPPER
   ========================================================= */

.oota-review-accordion {
    width: 100%;

    border: 1px solid #e2e5e8;

    border-radius: 18px;

    overflow: hidden;

    background: #ffffff;
}


/* =========================================================
   ACCORDION HEADER
   ========================================================= */

.oota-review-accordion-header {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 25px 30px;

    background: #fafbfc;

    border-bottom: 1px solid #e2e5e8;
}


.oota-review-accordion-text {
    display: flex;
    flex-direction: column;

    gap: 7px;
}


.oota-review-accordion-text strong {
    font-size: 19px;

    font-weight: 700;

    color: #26364a;
}


.oota-review-accordion-text span {
    font-size: 15px;

    line-height: 1.5;

    color: #667587;
}


/* =========================================================
   REVIEW TOGGLE BUTTON
   ========================================================= */

.oota-reviews button.oota-review-toggle,
button.oota-review-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 12px !important;

    min-height: 50px !important;

    padding: 0 24px !important;

    margin: 0 !important;

    background: #7a3479 !important;

    color: #ffffff !important;

    border: none !important;
    outline: none !important;

    box-shadow: none !important;

    border-radius: 12px !important;

    font-family: inherit !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        background 0.25s ease,
        transform 0.2s ease,
        box-shadow 0.25s ease !important;
}


/* =========================================================
   REMOVE ZAKRA / THEME BUTTON BORDER STATES
   ========================================================= */

.oota-reviews button.oota-review-toggle:hover,
.oota-reviews button.oota-review-toggle:active,
.oota-reviews button.oota-review-toggle:focus,
.oota-reviews button.oota-review-toggle:focus-visible,
.oota-reviews button.oota-review-toggle:visited {

    border: none !important;

    outline: none !important;

    box-shadow: none !important;

    text-decoration: none !important;

    color: #ffffff !important;
}


/* Hover */

.oota-reviews button.oota-review-toggle:hover {

    background: #642a63 !important;

    transform: translateY(-1px) !important;

    box-shadow: 0 8px 18px rgba(122, 52, 121, 0.22) !important;
}


/* Active click */

.oota-reviews button.oota-review-toggle:active {

    transform: translateY(0) !important;

    background: #572456 !important;
}


/*
---------------------------------------------------------
Keyboard accessibility

Mouse click will NOT show the ugly border.

Keyboard users will still get a clean focus indicator.
---------------------------------------------------------
*/

.oota-reviews button.oota-review-toggle:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}


.oota-reviews button.oota-review-toggle:focus-visible {

    outline: 2px solid #26364a !important;

    outline-offset: 3px !important;

    box-shadow: none !important;
}


/* =========================================================
   BUTTON CONTENT
   ========================================================= */

.oota-review-toggle-text {
    display: inline-block;

    color: inherit !important;
}


.oota-review-toggle-arrow {

    display: inline-block;

    font-size: 22px;

    line-height: 1;

    color: inherit !important;

    transition: transform 0.3s ease;
}


/* Rotate arrow when reviews are open */

.oota-review-toggle[aria-expanded="true"]
.oota-review-toggle-arrow {

    transform: rotate(180deg);
}


/* =========================================================
   REVIEW PANEL
   ========================================================= */

.oota-review-panel {

    width: 100%;

    background: #ffffff;
}


.oota-review-panel-inner {

    width: 100%;

    padding: 35px 40px 25px;
}


/* =========================================================
   REVIEW LIST
   ========================================================= */

.oota-review-panel-inner .commentlist {

    list-style: none;

    padding: 0;

    margin: 0;
}


.oota-review-panel-inner .commentlist li {

    margin: 0;

    padding: 0;
}


/* Individual review */

.oota-review-panel-inner .comment_container {

    padding: 25px 0;

    border-bottom: 1px solid #e6e8eb;
}


/* Last review */

.oota-review-panel-inner li:last-child
.comment_container {

    border-bottom: none;
}


/* =========================================================
   REVIEW AVATAR
   ========================================================= */

.oota-review-panel-inner .avatar {

    border-radius: 50%;

    width: 60px !important;

    height: 60px !important;
}


/* =========================================================
   REVIEW TEXT
   ========================================================= */

.oota-review-panel-inner .comment-text {

    margin-left: 85px !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;
}


.oota-review-panel-inner .meta {

    margin-bottom: 12px !important;

    color: #667587 !important;
}


.oota-review-panel-inner .description {

    margin-top: 12px;

    font-size: 16px;

    line-height: 1.7;

    color: #3f4d5c;
}


/* =========================================================
   NATIVE REVIEW FORM AREA
   ========================================================= */

.oota-native-review-area {

    margin-top: 45px;

    padding-top: 40px;

    border-top: 1px solid #e2e5e8;
}


/* Hide native review list */

.oota-native-review-area #comments,
.oota-native-review-area .woocommerce-Reviews-title,
.oota-native-review-area .woocommerce-noreviews {

    display: none !important;
}


/* Keep review form */

.oota-native-review-area #review_form_wrapper,
.oota-native-review-area #review_form,
.oota-native-review-area #respond {

    display: block !important;
}


/* =========================================================
   NO REVIEWS AREA
   ========================================================= */

.oota-no-reviews {

    display: flex;

    gap: 25px;

    padding: 35px;

    background: #fafbfc;

    border: 1px solid #e2e5e8;

    border-radius: 18px;
}


.oota-review-icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #f4e9f4;

    color: #7a3479;

    font-size: 26px;
}


.oota-no-reviews-content h3 {

    margin: 0 0 10px;

    color: #26364a;
}


.oota-no-reviews-content p {

    margin: 0;

    line-height: 1.7;

    color: #667587;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .oota-reviews {

        padding: 30px 20px;

        border-radius: 16px;
    }


    .oota-reviews-header h2 {

        font-size: 28px;
    }


    .oota-review-summary {

        align-items: flex-start;
    }


    .oota-review-accordion-header {

        flex-direction: column;

        align-items: flex-start;

        padding: 22px 20px;
    }


    .oota-reviews button.oota-review-toggle {

        width: 100% !important;

        min-height: 52px !important;
    }


    .oota-review-panel-inner {

        padding: 25px 20px;
    }


    .oota-review-panel-inner .comment-text {

        margin-left: 0 !important;

        margin-top: 20px;
    }


    .oota-no-reviews {

        flex-direction: column;

        padding: 25px 20px;
    }

}