/* ==========================================================================
   PB Design System - Testimonial
   ========================================================================== */

.pb-root .testimonial {
    margin: 0;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    height: 250px;
    overflow: hidden;
    position: relative;
    gap: 0.25rem;
    background: var(--color-blanco);
    border: var(--border-gold);
    border-radius: var(--radio-xl);
    box-shadow: var(--shadow-bordoy);
}

.pb-root .testimonial__estrellas {
    font-size: 2rem;
    letter-spacing: .15em;
    color: var(--color-dorado);
    text-align: center;
    flex-shrink: 0;
}

.pb-root .testimonial__estrellas-visual {
    display: inline-block;
}

.pb-root .testimonial__texto-accesible {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.pb-root .testimonial__texto {
    margin: 0;
    font-family: var(--fuente-display);
    font-size: var(--fs-200);
    line-height: 1.5;
    color: var(--color-texto);
    text-align: left;
    overflow-y: auto;
    flex-grow: 1;
    padding: 0.5rem;
    scrollbar-width: thin;
    scrollbar-color: var(--color-dorado) transparent;
}

/* Barra de desplazamiento elegante */
.pb-root .testimonial__texto::-webkit-scrollbar {
    width: 4px;
}

.pb-root .testimonial__texto::-webkit-scrollbar-track {
    background: transparent;
}

.pb-root .testimonial__texto::-webkit-scrollbar-thumb {
    background-color: var(--color-dorado);
    border-radius: var(--radio-sm);
}

.pb-root .testimonial__autor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-family: var(--fuente-acento);
    color: var(--color-seleccion);
    flex-shrink: 0;
    margin-top: auto;
}

.pb-root .testimonial__autor a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
    transition: transform .25s ease;
}

.pb-root .testimonial__autor a:hover {
    transform: scale(1.05);
}

.pb-root .testimonial__autor span {
    display: grid;
    gap: .15rem;
    text-align: center;
}

.pb-root .testimonial__autor strong {
    font-size: 1.2rem;
}

.pb-root .testimonial__autor small {
    font-size: .9rem;
    color: var(--color-texto);
    opacity: .75;
}

.pb-root .testimonial--compacto {
    padding: var(--space-3);
    gap: var(--space-2);
}

.pb-root .testimonial--compacto .testimonial__texto {
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.15;
}

@media (max-width: 640px) {
    .pb-root .testimonial {
        height: 160px;
        padding: 0.8rem;
    }

    .pb-root .testimonial__autor strong {
        font-size: 1rem;
    }

    .pb-root .testimonial__autor small {
        font-size: 0.8rem;
    }
}