/* Carousel Styles */
.carousel {
    position: relative;
}

.comments-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20px);
    margin-bottom: var(--spc-40px);
    transition: transform 0.5s ease-in-out;
}

.comment-box {
    background: var(--gray-01);
    padding: var(--spc-30px);
    border-radius: 1.2rem;
    transition: all 0.3s ease;
    min-height: 150px;
    display: flex;
    align-items: center;
}

.comment-content {
    /* Ocupa todo o espaço do flexbox (comment-box) */
    width: 100%;
    height: 100%;
    /* Define o contexto para posicionamento absoluto do autor */
    position: relative;
    /* Adicione padding-bottom para dar espaço ao nome */
    padding-bottom: 25px; /* Ajuste este valor se for necessário mais espaço */
}

.comment-author {
    position: absolute;
    bottom: 0; /* Alinha na parte inferior */
    right: 0; /* Alinha no canto direito */
    text-align: right;
    width: 100%; /* Ocupa a largura toda para garantir o right: 0 */
    z-index: 1;
}

.comment-author p {
    font-size: 1.4rem; /* Um pouco menor que o texto */
    font-style: italic; /* Em itálico, como sugerido */
    font-weight: 600; /* Um pouco mais de destaque */
    color: var(--black-03); /* Cor escura, mas um pouco mais suave que o texto */
    margin: 0;
    line-height: 1.2;
}

/* .comment-box:hover {
    box-shadow: 0 0.4rem 0.6rem -0.1rem rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
} */

.comment-text {
    font-style: italic;
    color: var(--black-02);
    line-height: 1.5;
    margin: 0;
}

/* Carousel Navigation */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 4rem;
    height: 4rem;
    border: none;
    border-radius: 50%;
    background: var(--black-02);
    color: var(--gray-01);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    z-index: 10;
}

.carousel-btn:hover {
    background: var(--red-01);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
}

.carousel-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: translateY(-50%);
}

.carousel-btn:disabled:hover {
    background: var(--black-02);
    transform: translateY(-50%);
}

.carousel-btn-prev {
    left: -7rem;
}

.carousel-btn-next {
    right: -7rem;
}

.icon-chevron-left,
.icon-chevron-right {
    width: 2.4rem;
    height: 2.4rem;
}

/* Carousel Dots */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: var(--spc-30px);
}

.dot {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    border: none;
    background: var(--gray-02);
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active {
    background: var(--red-01);
    transform: scale(1.2);
}

.dot:hover {
    background: var(--red-02);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .comments-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .carousel-btn-prev {
        left: -7rem;
    }

    .carousel-btn-next {
        right: -7rem;
    }
}

@media (max-width: 768px) {
    .comments-grid {
        grid-template-columns: 1fr;
        gap: var(--spc-15px);
    }

    .carousel-btn {
        width: 3.5rem;
        height: 3.5rem;
    }

    .carousel-btn-prev {
        left: -7rem;
    }

    .carousel-btn-next {
        right: -7rem;
    }

    .icon-chevron-left,
    .icon-chevron-right {
        width: 2rem;
        height: 2rem;
    }

    .comment-box {
        padding: var(--spc-20px);
        min-height: 120px;
    }
}

@media (max-width: 480px) {
    .comments-section {
        padding: var(--spc-60px) var(--spc-40px);
    }

    .section-title {
        font-size: 3rem;
    }

    .section-subtitle {
        font-size: 1.6rem;
    }

    .carousel-btn,
    .carousel-btn:disabled {
        display: none;
    }
}

/* Estilos para a mensagem de fallback (Sem Comentários) */
.empty-comments-message {
    /* Centraliza o texto dentro da caixa */
    text-align: center;

    /* Garante que a caixa se espalhe pelas 3 colunas da grid */
    grid-column: 1 / -1;

    /* Estilização visual (ajuste as cores e fontes conforme suas variáveis) */
    padding: var(--spc-30px);
    border-radius: 1.2rem;
    background-color: var(--gray-01); /* Cor de fundo da caixa de comentário */
    border: 2px dashed var(--gray-02); /* Borda tracejada para destaque */
    color: var(--black-02);

    /* Garante um bom espaçamento interno e visualização */
    margin: 0 auto;
}

.empty-comments-message p {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.5;
    /* Coloca em itálico, como as mensagens de apoio */
    font-style: italic;
}

/* Ajuste para garantir que o contêiner da grid seja centralizado no modo fallback */
.comments-grid:has(.empty-comments-message) {
    /* Força o grid a agir como um flexbox para centralizar a caixa de mensagem, caso necessário */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px; /* Garante que a seção não encolha demais */
}
