

.wp-block-aiges-blocks-google-reviews {
    --bg-color: #f8f9fc;
    --card-bg: #ffffff;
    --text-main: #202124;
    --text-muted: #5f6368;
    --link-color: #1a73e8;
    --star-color: #fbbc04;
    --border: #e0e6ed;

    background: #fff; /*margin: 0; padding: 1.25rem;*/ /*20px;*/
}

.grba_google-reviews-widget {
    position: relative; display: flex; align-items: center; margin: 0 auto; /*max-width: 1200px;*/ 
    width: calc(100% - 12px); /*margin: 0 6px; /* for firefox mobile, prevent horizontal scrollbar */
}

.grba_google-reviews-widget:not(.custom_font) {
    font-family: /*system-ui,*/ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.grba_google-reviews-widget:not(.custom_size) {
    font-size: 1rem;
}

.grba_nav-arrow {
    background: #fff;
    border: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 18px;

    display: flex; align-items: center; justify-content: center;
    position: absolute; z-index: 10; border-radius: 50%; width: 40px; height: 40px;
    cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); transition: 0.2s;
}

.grba_nav-arrow > * { user-select: none; pointer-events: none; }

.grba_nav-arrow svg { display: block; height: 18px; width: 18px; }

.grba_nav-prev { left: -20px; }
.grba_nav-next { right: -20px; }

.grba_google-reviews-widget:not(.has_prev) > .grba_nav-prev { visibility: hidden; opacity: 0; }
.grba_google-reviews-widget:not(.has_next) > .grba_nav-next { visibility: hidden; opacity: 0; }

.grba_google-reviews-list {
    padding: .625em 0; /*10px 0;*/

    display: flex; gap: var(--gap); /*20px;*/
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
    -ms-overflow-style: none; scrollbar-width: none;
    hyphens: auto; /* word-break: break-word; */
}

.grba_review-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.25em; /*20px;*/

    box-sizing: border-box; display: flex; flex: 0 0 calc(25% - 15px); flex-direction: column;
    scroll-snap-align: start; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.grba_review-head {
    margin-bottom: .75em; /*12px;*/
}
.grba_review-userinfo {
    gap: .75em; /*12px;*/ margin-bottom: .75em; /*12px;*/
    display: flex; align-items: flex-start; /*center;*/ /*flex-wrap: wrap;*/
}

.grba-review-avatar-wrapper { flex-shrink: 0; }
.grba-review-avatar-wrapper > img {
    width: 40px; height: 40px; display: block;
}

.grba_review-meta { display: flex; flex-direction: column; }

.grba_review-name {
    color: var(--text-main);
    font-weight: 500;
    font-size: .9375em; /*15px;*/
}

.grba_review-date {
    font-size: .75em; /*12px;*/
    color: var(--text-muted);
    font-weight: 500;
}

.grba_review-stars {
    width: 100%; /*color: var(--star-color); margin-bottom: 12px; font-size: 14px;*/
}

.grba_review-star > svg {
    margin: 0; fill: #fbc02d;
    width: 16px; height: 16px;
}

.grba_review-body { margin: 0; padding: 0; }

.grba_review-comment {
    color: var(--text-main);
    line-height: 1.5;
    flex-grow: 1;
    display: -webkit-box;
    /*line-clamp: 4;
    -webkit-line-clamp: 4;*/
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    margin-bottom: .5em; /*8px;*/
    /*font-weight: 400;*/
    padding: 0 !important; /* for editor */
}


.grba_google-reviews-widget:not(.custom_size) .grba_review-comment {
    font-size: .875em; /*14px;*/
}

.grba_review-comment:has(.grba_review-comment-more[hidden])::after {
    content: "..."; display: inline-block; margin-left: 0; cursor: text;
}

.grba_read-more-trigger {
    font-size: .875em; /*14px;*/
    color: var(--link-color);

    background: none; border: none; padding: 0; cursor: pointer;
    text-decoration: underline; text-align: left; /*margin-top: auto;*/
}

/* Modal */
.ags_reviews_overlay {
    --text-main: #202124;
    --text-muted: #5f6368;
    padding: 1.25rem; /*20px; */

    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center;
    z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.3s;
    box-sizing: border-box;
}
.ags_reviews_overlay:not(.custom_font) {
    font-family: /*system-ui,*/ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.ags_reviews_overlay:not(.custom_size) {
    font-size: 1rem;
}

.ags_reviews_overlay:not(.custom_size) .grba_review-comment {
    font-size: .875em; /*14px;*/
}

.ags_reviews_overlay.overlay-open { opacity: 1; pointer-events: auto; }
.ags_reviews_modal-content {
    border-radius: 12px;
    padding: 1.5em; /*24px;*/

    background: #fff; width: 100%; max-width: 500px;
    max-height: 100%; box-sizing: border-box; display: flex;
    position: relative; box-shadow: 0 10px 25px rgba(0,0,0,0.2); max-height: 90vh; overflow-y: auto;
}
.ags_reviews_modal-close {
    font-size: 1.5em; /*24px; */
    color: var(--text-muted);

    position: absolute; top: 16px; right: 16px; background: none; border: none;
    cursor: pointer;
}
/*.ags_reviews_modal-comment { font-size: 15px; line-height: 1.6; color: var(--text-main); margin-top: 16px; white-space: pre-wrap; }*/
.ags_reviews_modal-review { display: grid; }
.ags_reviews_modal-content .grba_review-body { overflow-y: auto; }
.ags_reviews_modal-content .grba_review-body p { white-space: pre-line; }


@media (max-width: 900px) {
    .grba_review-card { flex: 0 0 calc(50% - 10px); }
}


@media (max-width: 482px) {
    .grba_review-card { flex: 0 0 100%; }
}
