/* ==========================================================================
   "O QUE DIZEM NO GOOGLE" — faixa da home
   --------------------------------------------------------------------------
   Uma faixa por hotel: nota grande à esquerda, nome e link à direita e os
   comentários em cards abaixo. Sem chave da Places API a linha de cards não
   é impressa e sobra só o cabeçalho com a nota — por isso o modificador
   .qs-gr-hotel--so-nota, que fecha o espaço que os cards deixariam.

   Fundo: --surface-blue, para a seção não encostar no branco do #hoteis
   logo acima nem no cinza do #map logo abaixo.

   Markup: parts/home-google-reviews.php
   Breakpoints do tema: 1220 / 970 / 680.
   ========================================================================== */

#google-reviews.qs-sec {
    margin-bottom: 0px;
    padding: 72px 0px;
    background-color: var(--surface-blue);
}

/* o tema dá margem a p/ul/li dentro de .block; aqui o espaçamento é do flex */
#google-reviews p,
#google-reviews ul,
#google-reviews li {
    margin: 0px;
    padding: 0px;
    line-height: 1.5;
}

.qs-gr-hoteis {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 28px;
    text-align: left;
}

.qs-gr-hotel {
    padding: 22px 24px 24px 24px;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background: #FFFFFF;
}

.qs-gr-hotel--so-nota { padding-bottom: 22px; }


/* ==========================================================================
   CABECALHO — nota do hotel
   ========================================================================== */

.qs-gr-head {
    display: flex;
    align-items: center;
    gap: 18px;
}

.qs-gr-hotel .qs-gr-cards { margin-top: 22px !important; }

.qs-gr-nota {
    display: flex;
    align-items: center;
    gap: 12px;
}

.qs-gr-nota b {
    font-size: 38px;
    line-height: 1;
    font-weight: 700;
    color: var(--darkblue, #123A5E);
}

.qs-gr-nota > span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.qs-gr-nota small {
    color: var(--gray, #6B7885);
    font-size: 13px;
}

.qs-gr-estrelas {
    display: inline-block;
    color: var(--yellow, #FBB343);
    font-size: 14px;
    letter-spacing: 2px;
    white-space: nowrap;
}

.qs-gr-hotel-nome {
    margin-left: auto;
    text-align: right;
}

.qs-gr-hotel-nome h3 {
    margin: 0px 0px 4px 0px !important;
    padding: 0px !important;
    font-size: 17px;
    line-height: 1.3;
}

.qs-gr-hotel-nome h3 a { color: inherit; }

.qs-gr-link {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: var(--blue, #1A72B8);
}

.qs-gr-link i { font-size: 11px; }

.qs-gr-link:hover,
.qs-gr-hotel-nome h3 a:hover { text-decoration: underline; }


/* ==========================================================================
   CARDS DE COMENTARIO
   ========================================================================== */

.qs-gr-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 16px;
    list-style: none !important;
}

.qs-gr-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background: var(--surface, #F6F8FA);
}

.qs-gr-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.qs-gr-avatar {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

/* sem foto no perfil: círculo com a inicial, no lugar do quadrado quebrado */
.qs-gr-avatar--letra {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-blue, #EEF4F9);
    color: var(--darkblue, #123A5E);
    font-size: 16px;
    font-weight: 700;
}

.qs-gr-card-autor {
    display: flex;
    flex-direction: column;
    min-width: 0px;   /* deixa o nome longo truncar em vez de esticar o card */
}

.qs-gr-card-autor strong {
    overflow: hidden;
    font-size: 14px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qs-gr-card-autor small {
    color: var(--gray, #6B7885);
    font-size: 12px;
}

.qs-gr-card-estrelas { font-size: 13px; }

/* o texto do hóspede vai inteiro no HTML; o corte é só visual, e quem quiser
   ler o resto tem o link para a avaliação no Google logo abaixo */
.qs-gr-card-texto {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    color: var(--gray, #6B7885);
    font-size: 14px;
    line-height: 1.7 !important;
}

.qs-gr-card-link {
    margin-top: auto;   /* gruda no rodapé mesmo com textos de tamanhos diferentes */
    font-size: 13px;
    font-weight: 600;
    color: var(--blue, #1A72B8);
}

.qs-gr-card-link:hover { text-decoration: underline; }

.qs-gr-fonte {
    margin-top: 24px !important;
    color: var(--gray, #6B7885);
    font-size: 13px;
    text-align: center;
}

.qs-gr-fonte i { margin-right: 6px; }


/* ==========================================================================
   RESPONSIVO
   ========================================================================== */

@media (max-width: 970px) {
    #google-reviews.qs-sec { padding: 56px 0px; }

    .qs-gr-head {
        flex-wrap: wrap;
        gap: 12px;
    }

    .qs-gr-hotel-nome {
        margin-left: 0px;
        text-align: left;
        flex: 1 1 100%;
        order: -1;   /* o nome do hotel vem antes da nota quando quebra a linha */
    }

    .qs-gr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    #google-reviews.qs-sec { padding: 44px 0px; }

    .qs-gr-hotel { padding: 18px 16px 20px 16px; }

    .qs-gr-nota b { font-size: 32px; }

    /* empilhar 6 cards vira uma coluna sem fim: no celular eles viram uma
       fileira que corre para o lado, com encaixe, como no resto do site */
    .qs-gr-cards {
        display: flex;
        overflow-x: auto;
        margin: 22px -16px 0px -16px !important;
        padding: 0px 16px 4px 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .qs-gr-card {
        flex: 0 0 82%;
        scroll-snap-align: start;
    }

    .qs-gr-card-texto { -webkit-line-clamp: 9; }
}
