/* ============================================================
   Google Reviews Module — gmap_reviews.css
   ============================================================ */

/* --- Stars: colour & no italic ----------------------------- */
.g-review i,
.review-thumb .review i,
.greview-badge-col .g-review i {
    color: rgb(252, 191, 2);
    font-style: normal;
}

.fas.fa-star:before {
    content: '\e902' !important;
    font-family: icomoon !important;
    font-style: normal;
}

/* ============================================================
   Strip: badge left, cards fill remaining space
   ============================================================ */

.greview-strip {
    display: flex;
    align-items: stretch;
    gap: 16px;
    margin-top: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* --- Badge column ------------------------------------------ */

.greview-badge-col {
    width: auto;
    min-width: 160px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 24px;
    border: 1px solid #ddd;
    background: #fff;
}

.greview-badge-col img {
    width: 90px;
    margin-bottom: 8px;
}

.greview-badge-col .g-score {
    font-size: 2rem;
    font-weight: 700;
    color: #212529;
    line-height: 1;
    margin-bottom: 4px;
}

.greview-badge-col .g-review {
    line-height: 1;
    margin-bottom: 2px;
}

.greview-badge-col .g-review i {
    font-size: 15px;
    font-style: normal;
}

.g-rating-total {
    font-size: 12px;
    color: #495057;
    margin-top: 6px;
    margin-bottom: 8px;
    line-height: 1.3;
}

.g-rating-total strong {
    color: #212529;
    font-size: 13px;
}

.greview-badge-col .btn-sm.btn.g-maps-btn {
	padding:12px 20px;
    margin-top: 14px;
    margin-bottom: 4px;
    font-size: 13px!important;
    white-space: nowrap;
    width: auto;
}

.greview-badge-col .g-internal-link {
    display: block;
    margin-top: 7px;
    font-size: 12px;
    color: #495057;
    text-decoration: underline;
    text-align: center;
    line-height: 1.3;
}

.greview-badge-col .g-internal-link:hover {
    color: #212529;
}

/* --- Cards row: equal children, no fixed width ------------- */

.greview-cards {
    display: flex;
    gap: 12px;
    flex-grow: 1;
    align-items: stretch;
    overflow: hidden;
    min-width: 0;
}

.greview-cards .review-thumb {
    flex: 1 1 0;
    min-width: 0;
    border: 1px solid #ddd;
    padding: 20px;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-sizing: border-box;
}

/* --- Author row -------------------------------------------- */

.review-author {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.reviewer-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.author-info {
    overflow: hidden;
    min-width: 0;
}

.review-thumb .name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #212529;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    max-width: 100%;
}

.review-thumb .name:hover {
    text-decoration: underline;
}

.review-thumb .review {
    line-height: 1.2;
    margin: 2px 0;
}

.review-thumb .review i {
    font-size: 13px;
    font-style: normal;
    color: rgb(252, 191, 2);
}

.review-date {
    font-size: 12px;
    color: #6c757d;
    display: block;
    margin-top: 1px;
}

/* --- Review text ------------------------------------------- */

.content-review {
    font-size: 14px;
    line-height: 1.55;
    color: #343a40;
    flex-grow: 1;
    word-break: break-word;
}

.content-review .full-text {
    display: none;
}

.content-review .full-text.open {
    display: inline;
}

.content-review .short-text.hidden {
    display: none;
}

.read-more-link {
    display: inline-block;
    background: none;
    margin-top: 5px;
    font-size: 13px;
    color: #B55C5C;
    text-decoration: underline;
    font-weight: 500;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}

/* ============================================================
   Responsive
   ============================================================ */

/* Tablet: badge goes horizontal, cards stay in row but can scroll */
@media (max-width: 900px) {
    .greview-strip {
        flex-direction: column;
        gap: 12px;
    }

    .greview-badge-col {
        width: 100%;
        min-width: unset;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 10px 20px;
        padding: 14px 16px;
        text-align: left;
    }

    .greview-badge-col img {
        width: 120px;
        margin-bottom: 0;
    }

    .greview-badge-col .g-score {
        font-size: 1.6rem;
    }

    .greview-badge-col .g-maps-btn {
        width: auto;
    }

    .g-rating-total {
        margin: 0;
    }

    /* Cards scroll horizontally on tablet */
    .greview-cards {
        overflow-x: auto;
        scrollbar-width: thin;
        scrollbar-color: #ddd transparent;
        -webkit-overflow-scrolling: touch;
    }

    .greview-cards .review-thumb {
        flex: 0 0 44vw;
    }
}

/* Mobile: single swipeable cards */
@media (max-width: 600px) {
    .greview-badge-col {
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    .greview-badge-col .g-maps-btn {
        width: auto;
    }

    .greview-cards .review-thumb {
        flex: 0 0 82vw;
    }
    .greview-badge-col .btn-sm.btn.g-maps-btn{margin: 0}
}

/* ============================================================
   Sidebar (column-left / column-right)
   ============================================================ */

#column-left .greview-strip,
#column-right .greview-strip {
    flex-direction: column;
}

#column-left .greview-badge-col,
#column-right .greview-badge-col {
    width: 100%;
    min-width: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    padding: 12px;
}

#column-left .greview-badge-col img,
#column-right .greview-badge-col img {
    width: 60px;
    margin-bottom: 0;
}
