/* =============================================
   Google Reviews Section
   ============================================= */
.box-google-reviews {
    background: #F8F9FF;
    padding: 55px 0 64px;
}

@media (min-width: 992px) {
    .box-google-reviews {
        padding: 120px 0 64px;
    }
}

.box-google-reviews-bg {
    background: transparent;
}
.box-google-reviews-title {
    color: #0d1b2e;
    font-weight: 700;
    margin-bottom: 24px;
}

@media (min-width: 992px) {
    .box-google-reviews-title {
        font-size: 48px;
    }
}

.box-google-reviews-rate {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 38px;
    flex-wrap: wrap;
}
.box-google-reviews-logo {
    flex-shrink: 0;
}
.box-google-reviews-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 4px;
}
.box-google-reviews-star {
    color: #F9B228;
    fill: #F9B228;
}
.box-google-reviews-star--empty {
    color: #d0d8e4;
    fill: #d0d8e4;
}
.box-google-reviews-numbers {
    color: #0E2133;
    font-size: 14px;
    font-weight: 600;
}

.box-google-reviews-count-label{
    color: #3B4752;
}

.box-google-reviews-panel {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #E4E5EA;
    padding: 32px 20px;
    max-height: 914px;
}

@media (min-width: 992px) {
    .box-google-reviews-panel {
        padding: 32px;
        max-height: 746px;
    }
}

.box-google-reviews-panel::-webkit-scrollbar { width: 4px; }
.box-google-reviews-panel::-webkit-scrollbar-track { background: transparent; }
.box-google-reviews-panel::-webkit-scrollbar-thumb { background: #d0d8e4; border-radius: 4px; }

.box-google-reviews-panel-header {
    margin-bottom: 12px;
}
.box-google-reviews-panel-header-summary{
    padding-bottom: 16px;
    border-bottom: 1px solid #E4E5EA;
}

.box-google-reviews-panel-header span{
    font-size: 16px;
}

.box-google-reviews-panel-business{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
    
@media (min-width: 992px) {
    .box-google-reviews-panel-business{
        margin-bottom: 4px;
    }
}
.box-google-reviews-panel-business strong {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #111111;
    margin-bottom: 10px;
    line-height: 1.2;
}

@media (min-width: 992px) {
    .box-google-reviews-panel-business strong {
        font-size: 24px;
        margin-bottom: 0;
    }
}
.box-google-reviews-panel-business span {
    font-size: 16px;
    color: #595C72;
}
.box-google-reviews-panel-header .btn-outline-secondary {
    font-size: 14px;
    border: 1px solid #A3C6FD;
    color: #266DF6;
    border-radius: 20px;
    padding: 8px 18px;
    white-space: nowrap;
    background: #fff;
    transition: background .2s, color .2s;
    text-transform: none;
}
.box-google-reviews-panel-header .btn-outline-secondary:hover {
    background: #f0f4f9;
}
.box-google-reviews-panel-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.box-google-reviews-panel-score {
    font-size: 24px;
    font-weight: 700;
    color: #0d1b2e;
    line-height: 1;
}
.box-google-reviews-panel-stars {
    display: flex;
    gap: 2px;
}
.box-google-reviews-panel-count {
    font-size: 14px;
    color: #595C72;
}

.box-google-reviews-list{
    max-height: 380px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d0d8e4 transparent;
}

.box-google-reviews-panel-sort {
    display: flex;
    gap: 12px;
    flex-direction: column;
    font-size: 16px;
    color: #111111;
}
.box-google-reviews-panel-sort-buttons {
    display: flex;
    gap: 8px;
}
.btn-sort {
    border: 1px solid #A3C6FD;
    background: #F8F9FF;
    color: #266DF6;
    border-radius: 20px;
    padding: 8px 18px;
    font-size: 14px;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}

@media (min-width: 992px) {
    .btn-sort {
        flex-direction: row;
        align-items: center;
        font-size: 16px;
    }
}

.btn-sort.active {
    background: #266DF6;
    border-color: #266DF6;
    color: #fff;
}
.btn-sort:hover:not(.active) {
    background: #f0f4f9;
}

.box-google-reviews-item {
    padding: 14px 0 14px;
    border-bottom: 1px solid #edf0f4;
}
.box-google-reviews-item:last-child {
    border-bottom: none;
}
.box-google-reviews-item-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.box-google-reviews-avatar {
    width: 37px;
    height: 37px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.box-google-reviews-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.box-google-reviews-avatar-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
}
.box-google-reviews-item-meta {
    flex: 1;
}
.box-google-reviews-name {
    display: block;
    font-weight: 600;
    font-size: 16px;
    color: #111111;
}
.box-google-reviews-item-rating {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.box-google-reviews-item-date-container {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 8px;
}
.box-google-reviews-item-date {
    font-size: 12px;
    color: #595C72;
}
.box-google-reviews-badge {
    background: #fff;
    color: #00C383;
    border: 1px solid #56B4A2;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 6px;
    letter-spacing: 1.2px;
}
.box-google-reviews-comment {
    font-size: 15px;
    color: #595C72;
    margin: 0;
    line-height: 1.2;
}
.box-google-reviews-more {
    color: #1a6ef5;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    margin-left: 4px;
}
.box-google-reviews-more:hover { text-decoration: underline; }
.box-google-reviews-empty {
    text-align: center;
    color: #6b7a8d;
    padding: 24px 0;
    margin: 0;
}

.box-google-reviews-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 40px 0;
}
.box-google-reviews-loading span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1a6ef5;
    animation: grDot 1.2s infinite ease-in-out;
}
.box-google-reviews-loading span:nth-child(2) { animation-delay: .2s; }
.box-google-reviews-loading span:nth-child(3) { animation-delay: .4s; }
@keyframes grDot {
    0%, 80%, 100% { transform: scale(0.6); opacity: .5; }
    40% { transform: scale(1); opacity: 1; }
}
